Revision: 201007
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Mar 2010 09:28:42 +0200
changeset 21 92ab7f8d0eab
parent 4 c84cf270c54f
child 22 6bb1b21d2484
Revision: 201007 Kit: 201011
group/bld.inf
layers.sysdef.xml
phone.pro
phone_plat/3d_ringing_tone_enabler_api/inc/c3dringingtoneinterface.h
phone_plat/dialer_keypad_api/inc/cvideodtmfdialer.h
phone_plat/group/bld.inf
phone_plat/phone_application_commands_api/group/bld.inf
phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh
phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h
phone_plat/telephony_device_mode_api/group/bld.inf
phone_plat/telephony_mediator_api/inc/mediatoreventsfromtelephonyapi.h
phone_plat/telephony_menu_extension_api/group/bld.inf
phone_plat/telephony_menu_extension_api/inc/xqteluicommandextension.h
phone_plat/tsrc/group/bld.inf
phone_plat/video_telephony_control_mediator_api/group/bld.inf
phone_plat/video_telephony_control_mediator_api/inc/videotelcontrolmediatorapi.h
phoneapp/Blacklist/group/bld.inf
phoneapp/Blacklist/src/CPhoneAnimDll.cpp
phoneapp/Blacklist/src/CPhoneBlacklistAnim.cpp
phoneapp/group/bld.inf
phoneapp/phonemediatorcenter/group/phonemediatorcenter.mmp
phoneapp/phonemediatorcenter/inc/cphonedataportmessage.h
phoneapp/phonemediatorcenter/inc/cphonemediatorcommandlistener.h
phoneapp/phonemediatorcenter/inc/cphonemediatorfactory.h
phoneapp/phonemediatorcenter/inc/cphonemediatormessagefactory.h
phoneapp/phonemediatorcenter/inc/cphonemediatorsender.h
phoneapp/phonemediatorcenter/src/cphonecontinueemergencycallcommand.cpp
phoneapp/phonemediatorcenter/src/cphonedataportmessage.cpp
phoneapp/phonemediatorcenter/src/cphonemediatorcommandlistener.cpp
phoneapp/phonemediatorcenter/src/cphonemediatorfactory.cpp
phoneapp/phonemediatorcenter/src/cphonemediatormessagefactory.cpp
phoneapp/phonemediatorcenter/src/cphonemediatorsender.cpp
phoneapp/phonemediatorcenter/src/cphonereleasecommand.cpp
phoneapp/phonemediatorcenter/src/cphoneswitchtovideoorvoicecommand.cpp
phoneapp/phonemediatorcenter/src/cphoneterminateallconnectionscommand.cpp
phoneapp/phoneringingtoneplayer/bwins/PhoneRingingtonePlayeru.def
phoneapp/phoneringingtoneplayer/eabi/PhoneRingingtonePlayeru.def
phoneapp/phoneringingtoneplayer/group/bld.inf
phoneapp/phoneringingtoneplayer/group/phoneringingtoneplayer.mmp
phoneapp/phoneringingtoneplayer/inc/cphoneaudioplayer.h
phoneapp/phoneringingtoneplayer/inc/cphoneringingtone.h
phoneapp/phoneringingtoneplayer/inc/cphoneringingtonecontroller.h
phoneapp/phoneringingtoneplayer/inc/cphoneringingtoneplayer.h
phoneapp/phoneringingtoneplayer/inc/cphonettsplayer.h
phoneapp/phoneringingtoneplayer/inc/mphoneaudioplayerobserver.h
phoneapp/phoneringingtoneplayer/inc/mphonecoveruiobserver.h
phoneapp/phoneringingtoneplayer/inc/mphoneringingtoneobserver.h
phoneapp/phoneringingtoneplayer/inc/mphonevideoplayer.h
phoneapp/phoneringingtoneplayer/inc/mphonevideoplayerobserver.h
phoneapp/phoneringingtoneplayer/src/cphoneaudioplayer.cpp
phoneapp/phoneringingtoneplayer/src/cphoneringingtone.cpp
phoneapp/phoneringingtoneplayer/src/cphoneringingtonecontroller.cpp
phoneapp/phoneringingtoneplayer/src/cphoneringingtoneplayer.cpp
phoneapp/phoneringingtoneplayer/src/cphonettsplayer.cpp
phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/main.cpp
phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/sample.mp3
phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.cpp
phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.h
phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.pro
phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer_armv5_urel.sis
phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/bwins/ut_cphoneringingtonecontrolleru.def
phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/bld.inf
phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/ut_cphoneringingtonecontroller.mmp
phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/mocks/mock_cphoneringingtoneplayer.cpp
phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/mocks/mock_cphonettsplayer.cpp
phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller.cpp
phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller.h
phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller_dllmain.cpp
phoneapp/phonestringloader/bwins/phonestringloaderu.def
phoneapp/phonestringloader/eabi/phonestringloaderu.def
phoneapp/phonestringloader/phonestringloader.pri
phoneapp/phonestringloader/phonestringloader.pro
phoneapp/phonestringloader/src/stringloader.cpp
phoneapp/phonestringloader/tsrc/runtests.bat
phoneapp/phonestringloader/tsrc/unit.pro
phoneapp/phonestringloader/tsrc/ut_phonestringloader/phoneresourceadapter.h
phoneapp/phonestringloader/tsrc/ut_phonestringloader/unit_tests.cpp
phoneapp/phonestringloader/tsrc/ut_phonestringloader/ut_phonestringloader.pro
phoneapp/phoneui/aif/phoneuiaif.rss
phoneapp/phoneui/group/bld.inf
phoneapp/phoneui/group/commonphoneapp_icons_aif_bitmaps.mk
phoneapp/phoneui/group/commonphoneapp_icons_aif_scalable.mk
phoneapp/phoneui/group/commonphoneapp_icons_scalable.mk
phoneapp/phoneui/group/iconlist.txt
phoneapp/phoneui/group/phoneui.mmp
phoneapp/phoneui/group/phoneui_stub.pkg
phoneapp/phoneui/group/phoneui_stub.sis
phoneapp/phoneui/help/data/xhtml.zip
phoneapp/phoneui/help/group/bld.inf
phoneapp/phoneui/help/inc/incl.hlp.hrh
phoneapp/phoneui/help/rom/phoneuihelps_variant.iby
phoneapp/phoneui/inc/cphoneapplication.h
phoneapp/phoneui/inc/cphoneappui.h
phoneapp/phoneui/inc/cphonedocument.h
phoneapp/phoneui/loc/basiccallhandling.loc
phoneapp/phoneui/loc/callheadertexts.loc
phoneapp/phoneui/loc/callterminationnote.loc
phoneapp/phoneui/loc/dialer.loc
phoneapp/phoneui/loc/dtmfsignalling.loc
phoneapp/phoneui/loc/incallmenuandsoftkeys.loc
phoneapp/phoneui/loc/incalloperations.loc
phoneapp/phoneui/loc/mobileoriginatedcalls.loc
phoneapp/phoneui/loc/multicallhandling.loc
phoneapp/phoneui/loc/numberentry.loc
phoneapp/phoneui/loc/phone.loc
phoneapp/phoneui/loc/voip.loc
phoneapp/phoneui/rom/phoneui.iby
phoneapp/phoneui/rom/phoneuiresources.iby
phoneapp/phoneui/rom/phoneuiresourcesvoip.iby
phoneapp/phoneui/src/cphoneapplication.cpp
phoneapp/phoneui/src/cphoneappui.cpp
phoneapp/phoneui/src/cphonedocument.cpp
phoneapp/phoneui/srcdata/callhandlingui.rss
phoneapp/phoneui/srcdata/phoneui.hrh
phoneapp/phoneui/srcdata/phoneui.pan
phoneapp/phoneui/srcdata/phoneui.rh
phoneapp/phoneui/srcdata/phoneui.rss
phoneapp/phoneui/srcdata/phoneui_reg.rss
phoneapp/phoneui/srcdata/phoneuitouch.rss
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/Bmarm/3dringingtoneinterface_testsU.DEF
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/Bwins/3dringingtoneinterface_testsU.DEF
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/EABI/3dringingtoneinterface_testsU.def
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/3dringingtoneinterface_tests.mmp
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/3dringingtoneinterface_tests.pkg
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/3dringingtoneinterface_tests.sis
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/bld.inf
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/inc/3dringingtoneinterface_tests.h
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/init/3dringingtoneinterface_tests.ini
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/src/3dringingtoneinterface_tests.cpp
phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/src/3dringingtoneinterface_testsCases.cpp
phoneapp/phoneui/tsrc/public/basic/group/bld.inf
phoneapp/phoneui2/graphics/qgn_indi_button_swap.svg
phoneapp/phoneui2/graphics/qtg_large_comp_message.svg
phoneapp/phoneui2/graphics/qtg_large_tb_contacts.svg
phoneapp/phoneui2/graphics/qtg_large_tb_dialler.svg
phoneapp/phoneui2/graphics/qtg_large_tb_join.svg
phoneapp/phoneui2/graphics/qtg_large_tb_loudsp_mute.svg
phoneapp/phoneui2/graphics/qtg_large_tb_loudsp_unmute.svg
phoneapp/phoneui2/graphics/qtg_large_tb_mute.svg
phoneapp/phoneui2/graphics/qtg_large_tb_silence.svg
phoneapp/phoneui2/graphics/qtg_large_tb_unmute.svg
phoneapp/phoneui2/graphics/qtg_mono_answer_call.svg
phoneapp/phoneui2/graphics/qtg_mono_drop_call.svg
phoneapp/phoneui2/graphics/qtg_mono_end_call.svg
phoneapp/phoneui2/graphics/qtg_mono_hold_call.svg
phoneapp/phoneui2/graphics/qtg_mono_join_call.svg
phoneapp/phoneui2/graphics/qtg_mono_private_call.svg
phoneapp/phoneui2/graphics/qtg_mono_reject_call.svg
phoneapp/phoneui2/graphics/qtg_mono_replace_call.svg
phoneapp/phoneui2/graphics/resources.qrc
phoneapp/phoneui2/inc/hbphonemainwindow.h
phoneapp/phoneui2/inc/phoneuicommandadapter.h
phoneapp/phoneui2/inc/phoneuihousehold.h
phoneapp/phoneui2/inc/phoneuihousehold_p.h
phoneapp/phoneui2/inc/phoneuikeyeventadapter.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/phoneuiresources.iby
phoneapp/phoneui2/src/hbphonemainwindow.cpp
phoneapp/phoneui2/src/main.cpp
phoneapp/phoneui2/src/phoneuicommandadapter.cpp
phoneapp/phoneui2/src/phoneuihousehold.cpp
phoneapp/phoneui2/src/phoneuihousehold_p.cpp
phoneapp/phoneui2/src/phoneuikeyeventadapter.cpp
phoneapp/phoneui2/srcdata/phoneui.hrh
phoneapp/phoneui2/srcdata/phoneui.pan
phoneapp/phoneui2/tsrc/ut_phonemainwindow/common.pri
phoneapp/phoneui2/tsrc/ut_phonemainwindow/hbglobal_p.h
phoneapp/phoneui2/tsrc/ut_phonemainwindow/phoneuihousehold_stub.cpp
phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.cpp
phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.pro
phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/cphoneuicontroller_stub.cpp
phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/cphoneuicontroller_stub.h
phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/unit_tests.cpp
phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/ut_phoneuicommandadapter.pro
phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/cphoneuicontroller_stub.cpp
phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/cphoneuicontroller_stub.h
phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/unit_tests.cpp
phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/ut_phoneuikeyeventadapter.pro
phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def
phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def
phoneapp/phoneuicontrol/group/phoneuicontrol.mmp
phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h
phoneapp/phoneuicontrol/inc/cphoneremotecontrolhandler.h
phoneapp/phoneuicontrol/inc/cphonestate.h
phoneapp/phoneuicontrol/inc/cphonestatehandle.h
phoneapp/phoneuicontrol/inc/cphonestateidle.h
phoneapp/phoneuicontrol/inc/cphonestateincall.h
phoneapp/phoneuicontrol/inc/cphonestatestartup.h
phoneapp/phoneuicontrol/inc/cphoneuicontroller.h
phoneapp/phoneuicontrol/inc/mphonedivertif.h
phoneapp/phoneuicontrol/inc/mphoneuistatemachinefactory.h
phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h
phoneapp/phoneuicontrol/src/cphonebtaadisconnecthandler.cpp
phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp
phoneapp/phoneuicontrol/src/cphonecbamanager.cpp
phoneapp/phoneuicontrol/src/cphonedtmfwaitchartimer.cpp
phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp
phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp
phoneapp/phoneuicontrol/src/cphonereconnectquery.cpp
phoneapp/phoneuicontrol/src/cphonestate.cpp
phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp
phoneapp/phoneuicontrol/src/cphonestatehandle.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/cphoneuicontroller.cpp
phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp
phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def
phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def
phoneapp/phoneuiqtviewadapter/inc/mphonebuttoncustomization.h
phoneapp/phoneuiqtviewadapter/inc/mphonedialercontroller.h
phoneapp/phoneuiqtviewadapter/inc/mphoneviewblockingdialogobserver.h
phoneapp/phoneuiqtviewadapter/inc/mphoneviewcommandhandle.h
phoneapp/phoneuiqtviewadapter/inc/mphoneviewcustomization.h
phoneapp/phoneuiqtviewadapter/inc/phonebubblewrapper.h
phoneapp/phoneuiqtviewadapter/inc/phonecommandextensionwrapper.h
phoneapp/phoneuiqtviewadapter/inc/phonenotecontroller.h
phoneapp/phoneuiqtviewadapter/inc/phoneresourceadapter.h
phoneapp/phoneuiqtviewadapter/inc/phoneuicommandcontroller.h
phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h
phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h
phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h
phoneapp/phoneuiqtviewadapter/inc/telephonyservice.h
phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri
phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro
phoneapp/phoneuiqtviewadapter/src/phonebubblewrapper.cpp
phoneapp/phoneuiqtviewadapter/src/phonecommandextensionwrapper.cpp
phoneapp/phoneuiqtviewadapter/src/phonenotecontroller.cpp
phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp
phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp
phoneapp/phoneuiqtviewadapter/src/phoneuiqtbuttonscontroller.cpp
phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp
phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp
phoneapp/phoneuiqtviewadapter/tsrc/runtests.bat
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_phonecommandextensionwrapper/menuextension_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/menuextension_stub.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/ut_phonecommandextensionwrapper.pro
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/xqpluginloader_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phonenotecontroller/unit_tests.cpp
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/phonecommandextensionwrapper_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/phoneuiqtbuttonscontroller_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/unit_tests.cpp
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/cphonemediatorfactory_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/cphonemediatorsender_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/cphoneringingtonecontroller_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper.h
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonenotecontroller_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phoneuiqtbuttonscontroller_stub.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp
phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.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/group/phoneuistates.mmp
phoneapp/phoneuistates/inc/cphoneconference.h
phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h
phoneapp/phoneuistates/inc/cphoneconferenceandwaitingandcallsetup.h
phoneapp/phoneuistates/inc/cphoneemergency.h
phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h
phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h
phoneapp/phoneuistates/inc/cphonegsmincall.h
phoneapp/phoneuistates/inc/cphoneresourceresolvergsm.h
phoneapp/phoneuistates/inc/cphonesingleandwaiting.h
phoneapp/phoneuistates/inc/cphonesinglecall.h
phoneapp/phoneuistates/inc/cphonestatemachinegsm.h
phoneapp/phoneuistates/inc/cphonetwosinglesandwaiting.h
phoneapp/phoneuistates/inc/cphoneuistatemachinefactorygsm.h
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/cphonegsmincall.cpp
phoneapp/phoneuistates/src/cphoneidle.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/cphonestartup.cpp
phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp
phoneapp/phoneuistates/src/cphonetwosingles.cpp
phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp
phoneapp/phoneuistates/src/cphoneuistatemachinefactorygsm.cpp
phoneapp/phoneuiutils/bwins/phoneuiutilsu.def
phoneapp/phoneuiutils/eabi/phoneuiutilsu.def
phoneapp/phoneuiutils/group/phoneuiutils.mmp
phoneapp/phoneuiutils/inc/cphonecenrepproxy.h
phoneapp/phoneuiutils/inc/cphoneclearblacklist.h
phoneapp/phoneuiutils/inc/cphonekeys.h
phoneapp/phoneuiutils/inc/cphonelogger.h
phoneapp/phoneuiutils/inc/cphonerecoverysystem.h
phoneapp/phoneuiutils/inc/cphoneresourceresolverbase.h
phoneapp/phoneuiutils/inc/ctelerecoverysystem.inl
phoneapp/phoneuiutils/inc/phoneconstants.h
phoneapp/phoneuiutils/inc/phonelogger.h
phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h
phoneapp/phoneuiutils/inc/phonemediatorpackagetypes.h
phoneapp/phoneuiutils/inc/phoneresourceids.h
phoneapp/phoneuiutils/inc/phonerssbase.h
phoneapp/phoneuiutils/inc/phonestatestrings.h
phoneapp/phoneuiutils/inc/phonestatestringsgsm.h
phoneapp/phoneuiutils/inc/tphonecmdparamcallheaderdata.h
phoneapp/phoneuiutils/inc/tphonecmdparamincallindicatordata.h
phoneapp/phoneuiutils/inc/tphonecmdparamquery.h
phoneapp/phoneuiutils/inc/tphonecmdparamspeeddial.h
phoneapp/phoneuiutils/src/cphoneLogger.cpp
phoneapp/phoneuiutils/src/cphonecallthememonitor.cpp
phoneapp/phoneuiutils/src/cphonecenrepeventhandler.cpp
phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp
phoneapp/phoneuiutils/src/cphoneclearblacklist.cpp
phoneapp/phoneuiutils/src/cphonelangsettingmonitor.cpp
phoneapp/phoneuiutils/src/cphonemainerrormessageshandler.cpp
phoneapp/phoneuiutils/src/cphonemainresourceresolver.cpp
phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp
phoneapp/phoneuiutils/src/cphoneqwertyhandler.cpp
phoneapp/phoneuiutils/src/cphoneqwertymodemonitor.cpp
phoneapp/phoneuiutils/src/cphonerecoverysystem.cpp
phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp
phoneapp/phoneuiutils/src/ctelerecoverysystem.cpp
phoneapp/phoneuiutils/src/ctelewaitingidle.cpp
phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp
phoneapp/phoneuiutils/src/phonestatestrings.cpp
phoneapp/phoneuiutils/src/phonestatestringsgsm.cpp
phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp
phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp
phoneapp/phoneuiutils/src/tphonecmdparamkeycapture.cpp
phoneapp/phoneuiutils/src/tphonecmdparammessageeditor.cpp
phoneapp/phoneuiutils/src/tphonecmdparamnote.cpp
phoneapp/phoneuiutils/src/tphonecmdparamprogressnote.cpp
phoneapp/phoneuiutils/src/tphonecmdparamquery.cpp
phoneapp/phoneuiutils/src/tphonecmdparamreconnectquery.cpp
phoneapp/phoneuiutils/src/tphonecmdparamsingleitemfetch.cpp
phoneapp/phoneuiutils/src/tphonecmdparamspeeddial.cpp
phoneapp/phoneuiutils/src/tphonecmdparamstring.cpp
phoneapp/phoneuiutils/src/tphonecommandparam.cpp
phoneapp/phoneuiutils/src/tphonetouchbuttonconfig.cpp
phoneapp/phoneuiview/bwins/phoneuiviewu.def
phoneapp/phoneuiview/eabi/phoneuiviewu.def
phoneapp/phoneuiview/group/bld.inf
phoneapp/phoneuiview/group/phoneuiview.mmp
phoneapp/phoneuiview/group/phoneuiview_stub.pkg
phoneapp/phoneuiview/group/phoneuiview_stub.sis
phoneapp/phoneuiview/inc/c3dringingtoneinterface.h
phoneapp/phoneuiview/inc/c3dringingtoneinterface.inl
phoneapp/phoneuiview/inc/cphoneapplicationexit.h
phoneapp/phoneuiview/inc/cphoneaudiocontroller.h
phoneapp/phoneuiview/inc/cphoneaudioplayer.h
phoneapp/phoneuiview/inc/cphonebubblemapping.h
phoneapp/phoneuiview/inc/cphonebubblewrapper.h
phoneapp/phoneuiview/inc/cphonebuttonscontroller.h
phoneapp/phoneuiview/inc/cphonecallheadertextanimation.h
phoneapp/phoneuiview/inc/cphonecontactcontroller.h
phoneapp/phoneuiview/inc/cphonedialercontroller.h
phoneapp/phoneuiview/inc/cphonedialercontroller.inl
phoneapp/phoneuiview/inc/cphonedialerview.h
phoneapp/phoneuiview/inc/cphonedtmfnumberlistquery.h
phoneapp/phoneuiview/inc/cphonedtmfsendingnote.h
phoneapp/phoneuiview/inc/cphoneincallindicator.h
phoneapp/phoneuiview/inc/cphonekeycapturecontroller.h
phoneapp/phoneuiview/inc/cphonelistquerydialog.h
phoneapp/phoneuiview/inc/cphonemenucontroller.h
phoneapp/phoneuiview/inc/cphonenote.h
phoneapp/phoneuiview/inc/cphonenotecontroller.h
phoneapp/phoneuiview/inc/cphonenumberentry.h
phoneapp/phoneuiview/inc/cphoneprogressnote.h
phoneapp/phoneuiview/inc/cphonequerycontroller.h
phoneapp/phoneuiview/inc/cphonequerydialog.h
phoneapp/phoneuiview/inc/cphoneringingtone.h
phoneapp/phoneuiview/inc/cphoneringingtoneplayerao.h
phoneapp/phoneuiview/inc/cphonesingleitemfetch.h
phoneapp/phoneuiview/inc/cphonestatuspane.h
phoneapp/phoneuiview/inc/cphonetextquery.h
phoneapp/phoneuiview/inc/cphonetoolbarcontroller.h
phoneapp/phoneuiview/inc/cphoneuidisablednote.h
phoneapp/phoneuiview/inc/cphonevideoplayer.h
phoneapp/phoneuiview/inc/cphoneview.h
phoneapp/phoneuiview/inc/cphoneviewcontroller.h
phoneapp/phoneuiview/inc/cphonevmbxhandler.h
phoneapp/phoneuiview/inc/mphoneaudioplayerobserver.h
phoneapp/phoneuiview/inc/mphonebuttoncustomization.h
phoneapp/phoneuiview/inc/mphonecoveruiobserver.h
phoneapp/phoneuiview/inc/mphonedialercontroller.h
phoneapp/phoneuiview/inc/mphonedisplayprovider.h
phoneapp/phoneuiview/inc/mphonenumberentry.h
phoneapp/phoneuiview/inc/mphonenumberentrychangedhandler.h
phoneapp/phoneuiview/inc/mphonequeryobserver.h
phoneapp/phoneuiview/inc/mphoneringingtoneobserver.h
phoneapp/phoneuiview/inc/mphonestatuspane.h
phoneapp/phoneuiview/inc/mphonestatuspaneobserver.h
phoneapp/phoneuiview/inc/mphonevideoplayer.h
phoneapp/phoneuiview/inc/mphonevideoplayerobserver.h
phoneapp/phoneuiview/inc/mphoneviewblockingdialogobserver.h
phoneapp/phoneuiview/inc/mphoneviewcommandhandle.h
phoneapp/phoneuiview/inc/mphoneviewcustomization.h
phoneapp/phoneuiview/inc/mphoneviewobserver.h
phoneapp/phoneuiview/inc/phonebubbleextension.h
phoneapp/phoneuiview/inc/phonebubbleextensiondata.h
phoneapp/phoneuiview/inc/phonebubbleextensionmanager.h
phoneapp/phoneuiview/inc/phoneviewcommanddefinitions.h
phoneapp/phoneuiview/src/cphoneapplicationexit.cpp
phoneapp/phoneuiview/src/cphoneaudiocontroller.cpp
phoneapp/phoneuiview/src/cphoneaudioplayer.cpp
phoneapp/phoneuiview/src/cphonebubblemapping.cpp
phoneapp/phoneuiview/src/cphonebubblewrapper.cpp
phoneapp/phoneuiview/src/cphonebuttonscontroller.cpp
phoneapp/phoneuiview/src/cphonecallheadertextanimation.cpp
phoneapp/phoneuiview/src/cphonecontactcontroller.cpp
phoneapp/phoneuiview/src/cphonedialercontroller.cpp
phoneapp/phoneuiview/src/cphonedialerview.cpp
phoneapp/phoneuiview/src/cphonedtmfnumberlistquery.cpp
phoneapp/phoneuiview/src/cphonedtmfsendingnote.cpp
phoneapp/phoneuiview/src/cphoneincallindicator.cpp
phoneapp/phoneuiview/src/cphonekeycapturecontroller.cpp
phoneapp/phoneuiview/src/cphonelistquerydialog.cpp
phoneapp/phoneuiview/src/cphonemenucontroller.cpp
phoneapp/phoneuiview/src/cphonenote.cpp
phoneapp/phoneuiview/src/cphonenotecontroller.cpp
phoneapp/phoneuiview/src/cphonenumberentry.cpp
phoneapp/phoneuiview/src/cphoneprogressnote.cpp
phoneapp/phoneuiview/src/cphonequerycontroller.cpp
phoneapp/phoneuiview/src/cphonequerydialog.cpp
phoneapp/phoneuiview/src/cphoneringingtone.cpp
phoneapp/phoneuiview/src/cphoneringingtoneplayerao.cpp
phoneapp/phoneuiview/src/cphonesingleitemfetch.cpp
phoneapp/phoneuiview/src/cphonestatuspane.cpp
phoneapp/phoneuiview/src/cphonetextquery.cpp
phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp
phoneapp/phoneuiview/src/cphoneuidisablednote.cpp
phoneapp/phoneuiview/src/cphonevideoplayer.cpp
phoneapp/phoneuiview/src/cphoneview.cpp
phoneapp/phoneuiview/src/cphoneviewcontroller.cpp
phoneapp/phoneuiview/src/cphonevmbxhandler.cpp
phoneapp/phoneuiview/src/phonebubbleextension.cpp
phoneapp/phoneuiview/src/phonebubbleextensiondata.cpp
phoneapp/phoneuiview/src/phonebubbleextensionmanager.cpp
phoneapp/phoneuiview2/bwins/phoneuiqtviewu.def
phoneapp/phoneuiview2/eabi/phoneuiqtviewu.def
phoneapp/phoneuiview2/inc/phoneaction.h
phoneapp/phoneuiview2/inc/phoneuiqtview.h
phoneapp/phoneuiview2/inc/phoneuiqtviewif.h
phoneapp/phoneuiview2/phoneuiqtview.pri
phoneapp/phoneuiview2/phoneuiview2.pro
phoneapp/phoneuiview2/src/phoneaction.cpp
phoneapp/phoneuiview2/src/phoneuiqtview.cpp
phoneapp/phoneuiview2/tsrc/runtests.bat
phoneapp/phoneuiview2/tsrc/unit.pro
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbtoolbar.cpp
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbtoolbar.h
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbvolumesliderpopup.cpp
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbvolumesliderpopup.h
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/unit_tests.cpp
phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/ut_phoneuiqtview.pro
phoneapp/phoneuivoipextension/group/phoneuivoipextension.mmp
phoneapp/phoneuivoipextension/inc/cphonecustomizationvoip.h
phoneapp/phoneuivoipextension/inc/cphoneextensionhandler.h
phoneapp/phoneuivoipextension/inc/cphoneresourceresolvervoip.h
phoneapp/phoneuivoipextension/inc/cphoneuistatemachinefactoryvoip.h
phoneapp/phoneuivoipextension/inc/cphonevcchandler.h
phoneapp/phoneuivoipextension/inc/cphonevoiperrormessageshandler.h
phoneapp/phoneuivoipextension/inc/tphonetouchpanewrapper.h
phoneapp/phoneuivoipextension/src/cphonecallforwardqueryhandler.cpp
phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp
phoneapp/phoneuivoipextension/src/cphoneextensionhandler.cpp
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/cphonestateutilsvoip.cpp
phoneapp/phoneuivoipextension/src/cphonetransferdialercontroller.cpp
phoneapp/phoneuivoipextension/src/cphoneuistatemachinefactoryvoip.cpp
phoneapp/phoneuivoipextension/src/cphoneunattendedtransfercmdhandler.cpp
phoneapp/phoneuivoipextension/src/cphonevcchandler.cpp
phoneapp/phoneuivoipextension/src/cphonevoiperrormessageshandler.cpp
phoneapp/phoneuivoipextension/src/tphonecmdparamselector.cpp
phoneapp/phoneuivoipextension/src/tphonetouchpanewrapper.cpp
phoneapp/phoneuivoipextension/srcdata/phoneuivoip.rss
phoneapp/silenceactionplugin/group/bld.inf
phoneapp/silenceactionplugin/inc/silenceaction.h
phoneapp/silenceactionplugin/inc/silenceactionplugin.h
phoneapp/silenceactionplugin/rom/silenceactionplugin.iby
phoneapp/silenceactionplugin/src/silenceaction.cpp
phoneapp/silenceactionplugin/src/silenceactionplugin.cpp
phoneengine/PhoneCntFinder/BWINS/PHONECNTFINDERU.DEF
phoneengine/PhoneCntFinder/ContactService/inc/CPhCntAIWService.h
phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContact.h
phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactManager.h
phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactStores.h
phoneengine/PhoneCntFinder/ContactService/inc/CPhCntMatcherImpl.h
phoneengine/PhoneCntFinder/ContactService/inc/CPhCntService.h
phoneengine/PhoneCntFinder/ContactService/inc/CPhCntSingleItemFetchService.h
phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactFetchObserver.h
phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactFetcherObserver.h
phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactManager.h
phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactStores.h
phoneengine/PhoneCntFinder/ContactService/inc/MPhCntPhonebookServices.h
phoneengine/PhoneCntFinder/ContactService/inc/MPhCntService.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntasynctosync.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactdataselection.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactdataselectionimpl.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactfieldsresolver.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactlinkarrayfetch.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactmatchstrategy.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactstoreuris.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntfetchcontact.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntfoundcontacts.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntmatchcontact.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntmatchervoipimpl.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntphonebookservices.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialcontactlinkfetch.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntstoreloaderimpl.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntvoipcontactmatchstrategy.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntvpbkcontactid.h
phoneengine/PhoneCntFinder/ContactService/inc/cphcntvpbkthumbnailloader.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntaiwservice.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntcontactfields.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntcontactmatchstrategy.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntcontactstoreeventobserver.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntservicerequestparam.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntservicerequestparamfactory.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntserviceresult.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntstoreloader.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntstoreloaderobserver.h
phoneengine/PhoneCntFinder/ContactService/inc/mphcntvoipcontactfinder.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntaiwserviceobserver.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactfield.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactlinkresult.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactstorestate.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactutil.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntnullserviceresult.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntnumber.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntservicerequestparamfactory.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntservicerequestparams.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntsipuri.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcnttxttospeech.h
phoneengine/PhoneCntFinder/ContactService/inc/tphcntvoipmatchArray.h
phoneengine/PhoneCntFinder/ContactService/src/CPhCntAIWService.cpp
phoneengine/PhoneCntFinder/ContactService/src/CPhCntContact.cpp
phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactManager.cpp
phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactStores.cpp
phoneengine/PhoneCntFinder/ContactService/src/CPhCntMatcherImpl.cpp
phoneengine/PhoneCntFinder/ContactService/src/CPhCntService.cpp
phoneengine/PhoneCntFinder/ContactService/src/CPhCntSingleItemFetchService.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntasynctosync.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactdataselectionimpl.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactfieldsresolver.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactlinkarrayfetch.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactmatchstrategy.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactstoreuris.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntfetchcontact.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntfoundcontacts.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntmatchcontact.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntmatchervoipimpl.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntphonebookservices.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialcontactlinkfetch.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialimpl.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntstoreloaderimpl.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntvoipcontactmatchstrategy.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntvpbkcontactid.cpp
phoneengine/PhoneCntFinder/ContactService/src/cphcntvpbkthumbnailloader.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntaiwserviceobserver.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactfield.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactlinkresult.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactstorestate.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactutil.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntnullserviceresult.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntnumber.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntservicerequestfactory.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntservicerequestparamfactory.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntservicerequestparams.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntsipuri.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcnttxttospeech.cpp
phoneengine/PhoneCntFinder/ContactService/src/tphcntvoipmatchArray.cpp
phoneengine/PhoneCntFinder/Group/bld.inf
phoneengine/PhoneCntFinder/Group/phonecntfinder.mmp
phoneengine/PhoneCntFinder/Group/phonecntfinder.pkg
phoneengine/PhoneCntFinder/Group/phonecntfinder_stub.SIS
phoneengine/PhoneCntFinder/Group/phonecntfinder_stub.pkg
phoneengine/PhoneCntFinder/eabi/phonecntfinderu.def
phoneengine/PhoneCntFinder/inc/CPhCntMatch.h
phoneengine/PhoneCntFinder/inc/CPhCntMatchItem.h
phoneengine/PhoneCntFinder/inc/CPhCntMatchItem.inl
phoneengine/PhoneCntFinder/inc/CPhCntMatcher.h
phoneengine/PhoneCntFinder/inc/CPhoneCntFactory.h
phoneengine/PhoneCntFinder/inc/CPhoneCntFactoryImpl.h
phoneengine/PhoneCntFinder/inc/CPhoneCntNumberParser.h
phoneengine/PhoneCntFinder/inc/CPhoneCntPbkOwner.h
phoneengine/PhoneCntFinder/inc/CPhoneCntSaveAddToName.h
phoneengine/PhoneCntFinder/inc/CPhoneRawMatchNumberExtractor.h
phoneengine/PhoneCntFinder/inc/MPhCntMatch.h
phoneengine/PhoneCntFinder/inc/MPhoneCntPbkOwner.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntMmiSecurity.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntMmiSecurityImpl.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntProfileEngine.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntProfileEngineImpl.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntRfsHandler.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntRfsHandlerImpl.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntSingleItemFetch.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntSingleItemFetchImpl.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntSpeedDialMonitor.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntThumbnailLoader.h
phoneengine/PhoneCntFinder/inc/Misc/CPhCntThumbnailLoaderImpl.h
phoneengine/PhoneCntFinder/inc/Misc/MPhCntThumbnailLoaderObserver.h
phoneengine/PhoneCntFinder/inc/PhCntPanic.h
phoneengine/PhoneCntFinder/inc/PhCntTrace.h
phoneengine/PhoneCntFinder/inc/cphcntcontactid.h
phoneengine/PhoneCntFinder/inc/cphcntpbkcontactid.h
phoneengine/PhoneCntFinder/inc/cphcntpbksaveaddtoname.h
phoneengine/PhoneCntFinder/inc/cphcntpbkthumbnailloader.h
phoneengine/PhoneCntFinder/inc/cphcntthumbnailloaderbase.h
phoneengine/PhoneCntFinder/inc/mphcntthumbnailloader.h
phoneengine/PhoneCntFinder/rom/PhoneCntFinder.iby
phoneengine/PhoneCntFinder/src/CPhoneCntFactoryImpl.cpp
phoneengine/PhoneCntFinder/src/CPhoneCntNumberParser.cpp
phoneengine/PhoneCntFinder/src/CPhoneCntPbkOwner.cpp
phoneengine/PhoneCntFinder/src/CPhoneCntSaveAddToName.cpp
phoneengine/PhoneCntFinder/src/CPhoneRawMatchNumberExtractor.cpp
phoneengine/PhoneCntFinder/src/Misc/CPhCntMmiSecurityImpl.cpp
phoneengine/PhoneCntFinder/src/Misc/CPhCntProfileEngineImpl.cpp
phoneengine/PhoneCntFinder/src/Misc/CPhCntRfsHandlerImpl.cpp
phoneengine/PhoneCntFinder/src/Misc/CPhCntThumbnailLoaderImpl.cpp
phoneengine/PhoneCntFinder/src/PhCntPanic.cpp
phoneengine/PhoneCntFinder/src/cphcntthumbnailloaderbase.cpp
phoneengine/audiohandling/data/defaultbeep.rss
phoneengine/audiohandling/group/audiohandling.mmp
phoneengine/audiohandling/inc/audiodataproxy.h
phoneengine/audiohandling/inc/cpeaudiodtmftoneplayer.h
phoneengine/audiohandling/inc/cpeaudiofactory.h
phoneengine/audiohandling/inc/cpeaudioinbandtoneplayer.h
phoneengine/audiohandling/inc/cpegsmaudiodata.h
phoneengine/audiohandling/inc/defaultbeep.rh
phoneengine/audiohandling/src/cpeaudiodata.cpp
phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp
phoneengine/audiohandling/src/cpeaudiofactory.cpp
phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp
phoneengine/audiohandling/src/cpeaudioroutingmonitor.cpp
phoneengine/audiohandling/src/cpecallaudioroutinghandler.cpp
phoneengine/audiohandling/src/cpegsmaudiodata.cpp
phoneengine/callhandling/group/callhandling.mmp
phoneengine/callhandling/inc/cpecallhandling.h
phoneengine/callhandling/inc/cpeconferencecall.h
phoneengine/callhandling/inc/cpegprstermination.h
phoneengine/callhandling/inc/cpesinglecall.h
phoneengine/callhandling/inc/cpesinglecallobserver.h
phoneengine/callhandling/inc/cpesupplementaryservicesmonitor.h
phoneengine/callhandling/inc/mpecallhandling.h
phoneengine/callhandling/inc/tpematcher.h
phoneengine/callhandling/src/cpecallhandling.cpp
phoneengine/callhandling/src/cpeconferencecall.cpp
phoneengine/callhandling/src/cpegprstermination.cpp
phoneengine/callhandling/src/cpesinglecall.cpp
phoneengine/callhandling/src/cpesinglecallobserver.cpp
phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp
phoneengine/callhandling/src/cpevideocallhandling.cpp
phoneengine/callhandling/src/tpematcher.cpp
phoneengine/contacthandling/bwins/contacthandlingu.def
phoneengine/contacthandling/data/contacthandling_stub.pkg
phoneengine/contacthandling/data/contacthandling_stub.sis
phoneengine/contacthandling/eabi/contacthandlingu.def
phoneengine/contacthandling/group/bld.inf
phoneengine/contacthandling/group/contacthandling.mmp
phoneengine/contacthandling/inc/cpecontactextensionwrapper.h
phoneengine/contacthandling/inc/cpecontacthandling.h
phoneengine/contacthandling/inc/cpecontacthandlingdummy.h
phoneengine/contacthandling/inc/cpecontacthandlingproxy.h
phoneengine/contacthandling/inc/cpecontactmatch.h
phoneengine/contacthandling/inc/mpecontacthandling.h
phoneengine/contacthandling/src/cpecontactextensionwrapper.cpp
phoneengine/contacthandling/src/cpecontacthandling.cpp
phoneengine/contacthandling/src/cpecontacthandlingdummy.cpp
phoneengine/contacthandling/src/cpecontacthandlingproxy.cpp
phoneengine/contacthandling/src/cpecontactmatch.cpp
phoneengine/contacthandling/src/pecontacthandlingpanic.cpp
phoneengine/contacthandling2/bwins/contacthandlingu.def
phoneengine/contacthandling2/data/contacthandling_stub.pkg
phoneengine/contacthandling2/data/contacthandling_stub.sis
phoneengine/contacthandling2/eabi/contacthandlingu.def
phoneengine/contacthandling2/group/bld.inf
phoneengine/contacthandling2/group/contacthandling.mmp
phoneengine/contacthandling2/inc/cpecontacthandling.h
phoneengine/contacthandling2/inc/cpecontacthandlingdummy.h
phoneengine/contacthandling2/inc/cpecontacthandlingproxy.h
phoneengine/contacthandling2/inc/cpecontactmatch.h
phoneengine/contacthandling2/inc/mpecontacthandling.h
phoneengine/contacthandling2/src/cpecontacthandling.cpp
phoneengine/contacthandling2/src/cpecontacthandlingdummy.cpp
phoneengine/contacthandling2/src/cpecontacthandlingproxy.cpp
phoneengine/contacthandling2/src/cpecontactmatch.cpp
phoneengine/contacthandling2/src/pecontacthandlingpanic.cpp
phoneengine/contacthandling2/tsrc/run_auto_tests.bat
phoneengine/engineinfo/group/engineinfo.mmp
phoneengine/engineinfo/inc/cpeengineinfoimpl.h
phoneengine/engineinfo/inc/cperemoteinfo.h
phoneengine/engineinfo/inc/mpedatastore.h
phoneengine/engineinfo/inc/mpeengineinfo.h
phoneengine/engineinfo/src/cpeengineinfoimpl.cpp
phoneengine/engineinfo/src/cperemoteinfo.cpp
phoneengine/group/bld.inf
phoneengine/loghandling/group/loghandling.mmp
phoneengine/loghandling/src/cpelogevent.cpp
phoneengine/loghandling/src/cpelogexternaldata.cpp
phoneengine/loghandling/src/cpeloghandling.cpp
phoneengine/loghandling/src/cpeloginfo.cpp
phoneengine/loghandling/tsrc/mocks/mock_centralrepository.cpp
phoneengine/loghandling/tsrc/mocks/mock_cpeloghandling.cpp
phoneengine/loghandling/tsrc/mocks/mock_cpeloghandlingcommand.cpp
phoneengine/loghandling/tsrc/mocks/mock_cpeloginfo.cpp
phoneengine/loghandling/tsrc/run_auto_tests.bat
phoneengine/loghandling/tsrc/ut_cpelogevent/bwins/ut_cpelogeventu.def
phoneengine/loghandling/tsrc/ut_cpelogevent/group/bld.inf
phoneengine/loghandling/tsrc/ut_cpelogevent/group/ut_cpelogevent.mmp
phoneengine/loghandling/tsrc/ut_cpelogevent/src/testdefs.h
phoneengine/loghandling/tsrc/ut_cpelogevent/src/ut_cpelogevent.cpp
phoneengine/loghandling/tsrc/ut_cpelogevent/src/ut_cpelogevent.h
phoneengine/loghandling/tsrc/ut_cpelogevent/src/ut_cpelogevent_dllmain.cpp
phoneengine/loghandling/tsrc/ut_cpelogexternaldata/bwins/ut_cpelogexternaldatau.def
phoneengine/loghandling/tsrc/ut_cpelogexternaldata/group/bld.inf
phoneengine/loghandling/tsrc/ut_cpelogexternaldata/group/ut_cpelogexternaldata.mmp
phoneengine/loghandling/tsrc/ut_cpelogexternaldata/src/ut_cpelogexternaldata.cpp
phoneengine/loghandling/tsrc/ut_cpelogexternaldata/src/ut_cpelogexternaldata.h
phoneengine/loghandling/tsrc/ut_cpelogexternaldata/src/ut_cpelogexternaldata_dllmain.cpp
phoneengine/loghandling/tsrc/ut_cpeloginfo/bwins/ut_cpeloginfou.def
phoneengine/loghandling/tsrc/ut_cpeloginfo/group/bld.inf
phoneengine/loghandling/tsrc/ut_cpeloginfo/group/ut_cpeloginfo.mmp
phoneengine/loghandling/tsrc/ut_cpeloginfo/src/testdefs.h
phoneengine/loghandling/tsrc/ut_cpeloginfo/src/ut_cpeloginfo.cpp
phoneengine/loghandling/tsrc/ut_cpeloginfo/src/ut_cpeloginfo.h
phoneengine/loghandling/tsrc/ut_cpeloginfo/src/ut_cpeloginfo_dllmain.cpp
phoneengine/parserrecognizer/bwins/parserrecognizeru.def
phoneengine/parserrecognizer/eabi/parserrecognizeru.def
phoneengine/parserrecognizer/inc/parserrecognizer.h
phoneengine/parserrecognizer/parserrecognizer.pri
phoneengine/parserrecognizer/parserrecognizer.pro
phoneengine/parserrecognizer/src/parserrecognizer.cpp
phoneengine/parserrecognizer/tsrc/README.txt
phoneengine/parserrecognizer/tsrc/runtests.bat
phoneengine/parserrecognizer/tsrc/unit.pro
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/README.txt
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/moc_parserrecognizer.cpp
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/moc_xqservicerequest.cpp
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/unit_tests.cpp
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/unit_tests.moc
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/ut_parserrecognizer.pro
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/ut_parserrecognizer_0xE31F4ECF.mmp
phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/xqservicerequest.h
phoneengine/phonecntfinder2/api_headers.pri
phoneengine/phonecntfinder2/bwins/phonecntfinderu.def
phoneengine/phonecntfinder2/eabi/phonecntfinderu.def
phoneengine/phonecntfinder2/inc/cphcntcontactid.h
phoneengine/phonecntfinder2/inc/cphcntcontactidimpl2.h
phoneengine/phonecntfinder2/inc/cphcntfactoryimpl2.h
phoneengine/phonecntfinder2/inc/cphcntmatch2.h
phoneengine/phonecntfinder2/inc/cphcntmatcher.h
phoneengine/phonecntfinder2/inc/cphcntmatcherimpl2.h
phoneengine/phonecntfinder2/inc/cphcntpbkcontactid.h
phoneengine/phonecntfinder2/inc/cphonecntfactory.h
phoneengine/phonecntfinder2/inc/mphcntmatch.h
phoneengine/phonecntfinder2/inc/phcntpanic.h
phoneengine/phonecntfinder2/inc/phcnttrace.h
phoneengine/phonecntfinder2/inc/qcontactfields.h
phoneengine/phonecntfinder2/phonecntfinder.pkg
phoneengine/phonecntfinder2/phonecntfinder2.pro
phoneengine/phonecntfinder2/rom/phonecntfinder.iby
phoneengine/phonecntfinder2/src/cphcntcontactidimpl2.cpp
phoneengine/phonecntfinder2/src/cphcntfactoryimpl2.cpp
phoneengine/phonecntfinder2/src/cphcntmatch2.cpp
phoneengine/phonecntfinder2/src/cphcntmatcherimpl2.cpp
phoneengine/phonecntfinder2/src/phcntpanic.cpp
phoneengine/phonecntfinder2/tsrc/common.pri
phoneengine/phonecntfinder2/tsrc/mocks/qcontact.h
phoneengine/phonecntfinder2/tsrc/mocks/qcontact_stub.cpp
phoneengine/phonecntfinder2/tsrc/mocks/qcontactdetail.h
phoneengine/phonecntfinder2/tsrc/mocks/qcontactdetail_stub.cpp
phoneengine/phonecntfinder2/tsrc/mocks/qcontactdetailfilter.h
phoneengine/phonecntfinder2/tsrc/mocks/qcontactfilter.h
phoneengine/phonecntfinder2/tsrc/mocks/qcontactmanager.h
phoneengine/phonecntfinder2/tsrc/mocks/qcontactmanager_moc.cpp
phoneengine/phonecntfinder2/tsrc/mocks/qcontactmanager_moc.h
phoneengine/phonecntfinder2/tsrc/mocks/qcontactname.h
phoneengine/phonecntfinder2/tsrc/mocks/qcontactphonenumber.h
phoneengine/phonecntfinder2/tsrc/mocks/qcontactsortorder.h
phoneengine/phonecntfinder2/tsrc/runtests.bat
phoneengine/phonecntfinder2/tsrc/u_cphcntcontactidimpl2/testcphcntcontactidimpl2.pro
phoneengine/phonecntfinder2/tsrc/u_cphcntcontactidimpl2/u_cphcntcontactidimpl2.cpp
phoneengine/phonecntfinder2/tsrc/u_cphcntfactoryimpl2/testfactoryimpl2.pro
phoneengine/phonecntfinder2/tsrc/u_cphcntfactoryimpl2/u_cphcntfactoryimpl2.cpp
phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro
phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/u_cphcntmatch2.cpp
phoneengine/phonecntfinder2/tsrc/u_cphcntmatcherimpl2/testmatcherimpl2.pro
phoneengine/phonecntfinder2/tsrc/u_cphcntmatcherimpl2/u_cphcntmatcherimpl2.cpp
phoneengine/phonemodel/api_headers.pri
phoneengine/phonemodel/conf/s60telephony.confml
phoneengine/phonemodel/group/backup_registration.xml
phoneengine/phonemodel/group/bld.inf
phoneengine/phonemodel/group/phonemodel.mmp
phoneengine/phonemodel/inc/cpeactivestarter.h
phoneengine/phonemodel/inc/cpecalldurationdisplaysettingmonitor.h
phoneengine/phonemodel/inc/cpecenrepmonitor.h
phoneengine/phonemodel/inc/cpeclientcallrequestmonitor.h
phoneengine/phonemodel/inc/cpeclientcommandhandlermonitor.h
phoneengine/phonemodel/inc/cpeclientemergencycallmonitor.h
phoneengine/phonemodel/inc/cpeclientservices.h
phoneengine/phonemodel/inc/cpedevicemodehandler.h
phoneengine/phonemodel/inc/cpeincallearvolumesettingmonitor.h
phoneengine/phonemodel/inc/cpeincallloudspeakervolumesettingmonitor.h
phoneengine/phonemodel/inc/cpemanualcallcontrolhandler.h
phoneengine/phonemodel/inc/cpemessagehandler.h
phoneengine/phonemodel/inc/cpeparseremergencynumberhandler.h
phoneengine/phonemodel/inc/cpeparsermanufacturerhandler.h
phoneengine/phonemodel/inc/cpeparsermischandler.h
phoneengine/phonemodel/inc/cpeparserphonenumberhandler.h
phoneengine/phonemodel/inc/cpeparsersimcontrolhandler.h
phoneengine/phonemodel/inc/cpeparsersscallhandler.h
phoneengine/phonemodel/inc/cpeparsersshandler.h
phoneengine/phonemodel/inc/cpeparservoipnumberhandler.h
phoneengine/phonemodel/inc/cpepcnparserprocedurehandler.h
phoneengine/phonemodel/inc/cpephonemodel.h
phoneengine/phonemodel/inc/cpepubsubmonitor.h
phoneengine/phonemodel/inc/cpesettingscommand.h
phoneengine/phonemodel/inc/cpesimstatemonitor.h
phoneengine/phonemodel/inc/mpecallcontrolif.h
phoneengine/phonemodel/inc/mpecallsettersif.h
phoneengine/phonemodel/inc/pevirtualengine.h
phoneengine/phonemodel/inc/telephonyvariant.hrh
phoneengine/phonemodel/inc/telinternalpskeys.h
phoneengine/phonemodel/phonemodel.pro
phoneengine/phonemodel/rom/phonengengine.iby
phoneengine/phonemodel/src/cpeaccessorymodemonitor.cpp
phoneengine/phonemodel/src/cpeactivestarter.cpp
phoneengine/phonemodel/src/cpecalldurationdisplaysettingmonitor.cpp
phoneengine/phonemodel/src/cpeclientcallrequestmonitor.cpp
phoneengine/phonemodel/src/cpeclientcommandhandlermonitor.cpp
phoneengine/phonemodel/src/cpeclientemergencycallmonitor.cpp
phoneengine/phonemodel/src/cpeclientservices.cpp
phoneengine/phonemodel/src/cpeexternaldatahandler.cpp
phoneengine/phonemodel/src/cpemanualcallcontrolhandler.cpp
phoneengine/phonemodel/src/cpemessagehandler.cpp
phoneengine/phonemodel/src/cpenetworkregistrationstatusmonitor.cpp
phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp
phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp
phoneengine/phonemodel/src/cpeparsersimcontrolhandler.cpp
phoneengine/phonemodel/src/cpeparsersshandler.cpp
phoneengine/phonemodel/src/cpeparservoipnumberhandler.cpp
phoneengine/phonemodel/src/cpepcnparserprocedurehandler.cpp
phoneengine/phonemodel/src/cpephonemodel.cpp
phoneengine/phonemodel/src/cpeprofilesettingmonitor.cpp
phoneengine/phonemodel/src/cpesettingscommand.cpp
phoneengine/phonemodel/src/cpesimstatemonitor.cpp
phoneengine/phoneservices/bwins/phoneservicesu.def
phoneengine/phoneservices/eabi/phoneservicesu.def
phoneengine/phoneservices/inc/dialservice.h
phoneengine/phoneservices/inc/dtmfservice.h
phoneengine/phoneservices/inc/phoneservices.h
phoneengine/phoneservices/phoneservices.pri
phoneengine/phoneservices/phoneservices.pro
phoneengine/phoneservices/src/dialservice.cpp
phoneengine/phoneservices/src/dtmfservice.cpp
phoneengine/phoneservices/src/phoneservices.cpp
phoneengine/phoneservices/tsrc/runtests.bat
phoneengine/phoneservices/tsrc/unit.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/unit_tests.cpp
phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro
phoneengine/servicehandling/eabi/peservicehandlingu.def
phoneengine/servicehandling/group/peservicehandling.mmp
phoneengine/servicehandling/inc/cpeservicehandling.h
phoneengine/servicehandling/inc/mpeservicehandling.h
phoneengine/servicehandling/src/cpeservicehandling.cpp
phoneplugins/csplugin/Makefile
phoneplugins/csplugin/Makefile_0xE35130c6.mk
phoneplugins/csplugin/bld.inf
phoneplugins/csplugin/csplugin.loc
phoneplugins/csplugin/csplugin.rss
phoneplugins/csplugin/csplugin_0xE35130c6.mmp
phoneplugins/csplugin/csplugin_armv5_udeb.pkg
phoneplugins/csplugin/csplugin_armv5_urel.pkg
phoneplugins/csplugin/csplugin_armv6_udeb.pkg
phoneplugins/csplugin/csplugin_armv6_urel.pkg
phoneplugins/csplugin/csplugin_gcce_udeb.pkg
phoneplugins/csplugin/csplugin_gcce_urel.pkg
phoneplugins/csplugin/csplugin_reg.rss
phoneplugins/csplugin/data/102828e3.rss
phoneplugins/csplugin/data/csplugin_stub.pkg
phoneplugins/csplugin/data/csplugin_stub.sis
phoneplugins/csplugin/group/bld.inf
phoneplugins/csplugin/group/csplugin.mmp
phoneplugins/csplugin/group/csplugin_UID_.cpp
phoneplugins/csplugin/inc/cspaudiohandler.h
phoneplugins/csplugin/inc/cspaudiostreams.h
phoneplugins/csplugin/inc/cspcall.h
phoneplugins/csplugin/inc/cspcalladdedhandler.h
phoneplugins/csplugin/inc/cspcallarray.h
phoneplugins/csplugin/inc/cspcallcommandhandler.h
phoneplugins/csplugin/inc/cspcallinfomonitor.h
phoneplugins/csplugin/inc/cspcenreplistener.h
phoneplugins/csplugin/inc/cspcipheringstatusmonitor.h
phoneplugins/csplugin/inc/cspclientvideocall.h
phoneplugins/csplugin/inc/cspclientvoicecall.h
phoneplugins/csplugin/inc/cspconferencecall.h
phoneplugins/csplugin/inc/cspconsts.h
phoneplugins/csplugin/inc/cspdevsound.h
phoneplugins/csplugin/inc/cspdtmfprovider.h
phoneplugins/csplugin/inc/cspetelcallcapsmonitor.h
phoneplugins/csplugin/inc/cspetelcalleventmonitor.h
phoneplugins/csplugin/inc/cspetelcallrequester.h
phoneplugins/csplugin/inc/cspetelcallstatusmonitor.h
phoneplugins/csplugin/inc/cspetelcallwaitingrequester.h
phoneplugins/csplugin/inc/cspetelconferencecallrequester.h
phoneplugins/csplugin/inc/cspetelconferencecapsmonitor.h
phoneplugins/csplugin/inc/cspetelconferenceeventmonitor.h
phoneplugins/csplugin/inc/cspetelconferencestatusmonitor.h
phoneplugins/csplugin/inc/cspeteldtmfmonitor.h
phoneplugins/csplugin/inc/cspeteldtmfstopmonitor.h
phoneplugins/csplugin/inc/cspetelincomingcallmonitor.h
phoneplugins/csplugin/inc/cspetellinestatusmonitor.h
phoneplugins/csplugin/inc/cspetelvideocallcapsmonitor.h
phoneplugins/csplugin/inc/cspforwardprovider.h
phoneplugins/csplugin/inc/csplogger.h
phoneplugins/csplugin/inc/cspmicrophone.h
phoneplugins/csplugin/inc/csppanic.pan
phoneplugins/csplugin/inc/csppubsublistener.h
phoneplugins/csplugin/inc/cspremotealertingtonelistener.h
phoneplugins/csplugin/inc/csprovider.h
phoneplugins/csplugin/inc/cspservicesettingshandler.h
phoneplugins/csplugin/inc/cspspeaker.h
phoneplugins/csplugin/inc/cspsssettingshandler.h
phoneplugins/csplugin/inc/cspsupplementaryservicesmonitor.h
phoneplugins/csplugin/inc/csptimer.h
phoneplugins/csplugin/inc/csptransferprovider.h
phoneplugins/csplugin/inc/cspuuimessagesender.h
phoneplugins/csplugin/inc/cspuuimonitor.h
phoneplugins/csplugin/inc/cspvideocall.h
phoneplugins/csplugin/inc/cspvideocallconnectionhandler.h
phoneplugins/csplugin/inc/cspvoicecall.h
phoneplugins/csplugin/inc/mcspaudiostreamobserver.h
phoneplugins/csplugin/inc/mcspcalladdedobserver.h
phoneplugins/csplugin/inc/mcspcallcommandhandling.h
phoneplugins/csplugin/inc/mcspcallerrorobserver.h
phoneplugins/csplugin/inc/mcspcallinformation.h
phoneplugins/csplugin/inc/mcspcallobserver.h
phoneplugins/csplugin/inc/mcspcenrepobserver.h
phoneplugins/csplugin/inc/mcspcommoninfo.h
phoneplugins/csplugin/inc/mcspconferencestatusobserver.h
phoneplugins/csplugin/inc/mcspdevsoundobserver.h
phoneplugins/csplugin/inc/mcspincomingcallobserver.h
phoneplugins/csplugin/inc/mcsplinestatusobserver.h
phoneplugins/csplugin/inc/mcsppubsubobserver.h
phoneplugins/csplugin/inc/mcspremotealertingtoneobserver.h
phoneplugins/csplugin/inc/mcspsecuritysettingobserver.h
phoneplugins/csplugin/inc/mcsptimerobserver.h
phoneplugins/csplugin/inc/mcspuusmessageobserver.h
phoneplugins/csplugin/inc/rcsplinecontainer.h
phoneplugins/csplugin/inc/tcspskypeidparser.h
phoneplugins/csplugin/rom/csplugin.iby
phoneplugins/csplugin/src/cspaudiohandler.cpp
phoneplugins/csplugin/src/cspaudiostreams.cpp
phoneplugins/csplugin/src/cspcall.cpp
phoneplugins/csplugin/src/cspcalladdedhandler.cpp
phoneplugins/csplugin/src/cspcallarray.cpp
phoneplugins/csplugin/src/cspcallcommandhandler.cpp
phoneplugins/csplugin/src/cspcallinfomonitor.cpp
phoneplugins/csplugin/src/cspcenreplistener.cpp
phoneplugins/csplugin/src/cspcipheringstatusmonitor.cpp
phoneplugins/csplugin/src/cspclientvideocall.cpp
phoneplugins/csplugin/src/cspclientvoicecall.cpp
phoneplugins/csplugin/src/cspconferencecall.cpp
phoneplugins/csplugin/src/cspdevsound.cpp
phoneplugins/csplugin/src/cspdtmfprovider.cpp
phoneplugins/csplugin/src/cspetelcallcapsmonitor.cpp
phoneplugins/csplugin/src/cspetelcalleventmonitor.cpp
phoneplugins/csplugin/src/cspetelcallrequester.cpp
phoneplugins/csplugin/src/cspetelcallstatusmonitor.cpp
phoneplugins/csplugin/src/cspetelcallwaitingrequester.cpp
phoneplugins/csplugin/src/cspetelconferencecallrequester.cpp
phoneplugins/csplugin/src/cspetelconferencecapsmonitor.cpp
phoneplugins/csplugin/src/cspetelconferenceeventmonitor.cpp
phoneplugins/csplugin/src/cspetelconferencestatusmonitor.cpp
phoneplugins/csplugin/src/cspeteldtmfmonitor.cpp
phoneplugins/csplugin/src/cspeteldtmfstopmonitor.cpp
phoneplugins/csplugin/src/cspetelincomingcallmonitor.cpp
phoneplugins/csplugin/src/cspetellinestatusmonitor.cpp
phoneplugins/csplugin/src/cspetelvideocallcapsmonitor.cpp
phoneplugins/csplugin/src/cspforwardprovider.cpp
phoneplugins/csplugin/src/cspmicrophone.cpp
phoneplugins/csplugin/src/csppanic.cpp
phoneplugins/csplugin/src/cspproxy.cpp
phoneplugins/csplugin/src/csppubsublistener.cpp
phoneplugins/csplugin/src/cspremotealertingtonelistener.cpp
phoneplugins/csplugin/src/csprovider.cpp
phoneplugins/csplugin/src/cspservicesettingshandler.cpp
phoneplugins/csplugin/src/cspspeaker.cpp
phoneplugins/csplugin/src/cspsssettingshandler.cpp
phoneplugins/csplugin/src/cspsupplementaryservicesmonitor.cpp
phoneplugins/csplugin/src/csptimer.cpp
phoneplugins/csplugin/src/csptransferprovider.cpp
phoneplugins/csplugin/src/cspuuimessagesender.cpp
phoneplugins/csplugin/src/cspuuimonitor.cpp
phoneplugins/csplugin/src/cspvideocall.cpp
phoneplugins/csplugin/src/cspvideocallconnectionhandler.cpp
phoneplugins/csplugin/src/cspvoicecall.cpp
phoneplugins/csplugin/src/rcsplinecontainer.cpp
phoneplugins/csplugin/src/tcspskypeidparser.cpp
phoneplugins/group/bld.inf
phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pri
phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pro
phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidget.h
phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidgetplugin.h
phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.manifest
phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.s60xml
phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.xml
phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer.svg
phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg
phoneplugins/hsdialerwidgetplugin/src/hsdialerwidget.cpp
phoneplugins/hsdialerwidgetplugin/src/hsdialerwidgetplugin.cpp
phoneplugins/infowidgetprovider/inc/infowidgetlogging.h
phoneplugins/infowidgetprovider/inc/infowidgetprovider.h
phoneplugins/infowidgetprovider/infowidget/inc/infowidget.h
phoneplugins/infowidgetprovider/infowidget/inc/infowidgetengine.h
phoneplugins/infowidgetprovider/infowidget/inc/infowidgetlayoutmanager.h
phoneplugins/infowidgetprovider/infowidget/inc/infowidgetlinehandler.h
phoneplugins/infowidgetprovider/infowidget/inc/infowidgetnetworkhandler.h
phoneplugins/infowidgetprovider/infowidget/inc/infowidgetpreferences.h
phoneplugins/infowidgetprovider/infowidget/inc/infowidgetsathandler.h
phoneplugins/infowidgetprovider/infowidget/src/infowidget.cpp
phoneplugins/infowidgetprovider/infowidget/src/infowidgetengine.cpp
phoneplugins/infowidgetprovider/infowidget/src/infowidgetengine_s.cpp
phoneplugins/infowidgetprovider/infowidget/src/infowidgetlayoutmanager.cpp
phoneplugins/infowidgetprovider/infowidget/src/infowidgetlinehandler.cpp
phoneplugins/infowidgetprovider/infowidget/src/infowidgetnetworkhandler.cpp
phoneplugins/infowidgetprovider/infowidget/src/infowidgetpreferences.cpp
phoneplugins/infowidgetprovider/infowidget/src/infowidgetpreferences_s.cpp
phoneplugins/infowidgetprovider/infowidget/src/infowidgetsathandler.cpp
phoneplugins/infowidgetprovider/infowidgetprovider.pri
phoneplugins/infowidgetprovider/infowidgetprovider.pro
phoneplugins/infowidgetprovider/infowidgetprovider.qrc
phoneplugins/infowidgetprovider/infowidgetprovider_hw.pkg
phoneplugins/infowidgetprovider/infowidgetprovider_installs_win32.pri
phoneplugins/infowidgetprovider/resource/infowidget.png
phoneplugins/infowidgetprovider/resource/infowidgetprovider.manifest
phoneplugins/infowidgetprovider/resource/infowidgetprovider.s60xml
phoneplugins/infowidgetprovider/resource/infowidgetprovider.xml
phoneplugins/infowidgetprovider/resource/qgn_prop_network_2g.svg
phoneplugins/infowidgetprovider/resource/qgn_prop_pb_call.svg
phoneplugins/infowidgetprovider/resource/qgn_prop_pb_sim.svg
phoneplugins/infowidgetprovider/resource/qgn_stat_zone_home_uni.svg
phoneplugins/infowidgetprovider/rom/infowidgetprovider.iby
phoneplugins/infowidgetprovider/rom/infowidgetprovider_resources.iby
phoneplugins/infowidgetprovider/src/infowidgetprovider.cpp
phoneplugins/infowidgetprovider/tsrc/common/qtestmains60.h
phoneplugins/infowidgetprovider/tsrc/mocks/mock_infowidget.cpp
phoneplugins/infowidgetprovider/tsrc/mocks/mock_infowidgetnetworkhandler.cpp
phoneplugins/infowidgetprovider/tsrc/mocks/mock_networkhandlingproxy.cpp
phoneplugins/infowidgetprovider/tsrc/mocks/mock_xqsettingskey.cpp
phoneplugins/infowidgetprovider/tsrc/mocks/mock_xqsettingsmanager.cpp
phoneplugins/infowidgetprovider/tsrc/ut_infowidget/inc/ut_infowidget.h
phoneplugins/infowidgetprovider/tsrc/ut_infowidget/run_auto_tests_qt.bat
phoneplugins/infowidgetprovider/tsrc/ut_infowidget/src/ut_infowidget.cpp
phoneplugins/infowidgetprovider/tsrc/ut_infowidget/ut_infowidget.pro
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetengine/inc/ut_infowidgetengine.h
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetengine/src/ut_infowidgetengine.cpp
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetengine/ut_infowidgetengine.pro
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/inc/ut_infowidgetlayoutmanager.h
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/src/ut_infowidgetlayoutmanager.cpp
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/ut_infowidgetlayoutmanager.pro
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/inc/ut_infowidgetnetworkhandler.h
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetpreferences/inc/ut_infowidgetpreferences.h
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetpreferences/src/ut_infowidgetpreferences.cpp
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetpreferences/ut_infowidgetpreferences.pro
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetprovider/inc/ut_infowidgetprovider.h
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetprovider/src/ut_infowidgetprovider.cpp
phoneplugins/infowidgetprovider/tsrc/ut_infowidgetprovider/ut_infowidgetprovider.pro
phoneplugins/telbranding/data/102078FA.rss
phoneplugins/telbranding/group/bld.inf
phoneplugins/telbranding/group/telbranding.mmp
phoneplugins/telbranding/group/telbrandingconstants.hrh
phoneplugins/telbranding/inc/telbranding.h
phoneplugins/telbranding/inc/telbrandingbubble.h
phoneplugins/telbranding/inc/telbrandingcallindicator.h
phoneplugins/telbranding/inc/telbrandingimage.h
phoneplugins/telbranding/inc/telbrandingserverhandler.h
phoneplugins/telbranding/inc/telbrandingsettingshandler.h
phoneplugins/telbranding/rom/telbranding.iby
phoneplugins/telbranding/sis/telbranding.pkg
phoneplugins/telbranding/src/telbranding.cpp
phoneplugins/telbranding/src/telbrandingbubble.cpp
phoneplugins/telbranding/src/telbrandingcallindicator.cpp
phoneplugins/telbranding/src/telbrandingimage.cpp
phoneplugins/telbranding/src/telbrandingproxy.cpp
phoneplugins/telbranding/src/telbrandingserverhandler.cpp
phoneplugins/telbranding/src/telbrandingsettingshandler.cpp
phonesettings/aiwcallimageplugin/data/102823d0.rss
phonesettings/aiwcallimageplugin/data/aiwcallimageplugin.pkg
phonesettings/aiwcallimageplugin/data/aiwcallimageplugin.rss
phonesettings/aiwcallimageplugin/data/aiwcallimageplugin_stub.SIS
phonesettings/aiwcallimageplugin/data/aiwcallimageplugin_stub.pkg
phonesettings/aiwcallimageplugin/group/aiwcallimageplugin.mmp
phonesettings/aiwcallimageplugin/group/bld.inf
phonesettings/aiwcallimageplugin/inc/aiwcallimageplugin.h
phonesettings/aiwcallimageplugin/inc/aiwcallimageplugin.hrh
phonesettings/aiwcallimageplugin/loc/aiwcallimageplugin.loc
phonesettings/aiwcallimageplugin/rom/aiwcallimageplugin.iby
phonesettings/aiwcallimageplugin/rom/aiwcallimagepluginresources.iby
phonesettings/aiwcallimageplugin/src/aiwcallimageplugin.cpp
phonesettings/aiwcallimageplugin/src/aiwcallimagepluginmain.cpp
phonesettings/cpphonesettingsplugins/barringplugin/barringplugin.pro
phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugin.h
phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugingroup.h
phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugin.cpp
phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugingroup.cpp
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/qtestmains60.h
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.cpp
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.h
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.pro
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/qtestmains60.h
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.cpp
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.h
phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.pro
phonesettings/cpphonesettingsplugins/bwins/cptelephonyutilsu.def
phonesettings/cpphonesettingsplugins/callsplugin/callsplugin.pro
phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugin.cpp
phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugin.h
phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp
phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.h
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/qtestmains60.h
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.cpp
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.h
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.pro
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/qtestmains60.h
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.cpp
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.h
phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pri
phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/qtestmains60.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/qtestmains60.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/qtestmains60.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.cpp
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.h
phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.pro
phonesettings/cpphonesettingsplugins/cpphonesettingsplugins.pro
phonesettings/cpphonesettingsplugins/cpplugincommon.pri
phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro
phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpphonenotes.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpplugincommon.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cppluginlogging.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cptelephonyutilsdefs.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpphonenotes.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon_s.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.pro
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/qtestmains60.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.cpp
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.h
phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro
phonesettings/cpphonesettingsplugins/divertplugin/divertplugin.pro
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertitemdata.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertitemdata.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugin.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugin.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectioncustomitem.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectioncustomitem.h
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectionitem.cpp
phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectionitem.h
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.cpp
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.h
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.pro
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.cpp
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.h
phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.pro
phonesettings/cpphonesettingsplugins/eabi/cptelephonyutilsu.def
phonesettings/cpphonesettingsplugins/rom/cpphonesettingsplugins.iby
phonesettings/cpphonesettingsplugins/rom/cpphonesettingsplugins_resources.iby
phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.cpp
phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.h
phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.cpp
phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.h
phonesettings/cpphonesettingsplugins/telephonyplugin/telephonyplugin.pro
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/run_auto_tests_qt.bat
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.cpp
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.h
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.pro
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/qtestmains60ui.h
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.cpp
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.h
phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.pro
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbarringplugin.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbarringplugingroup.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbasesettingview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpcallsplugin.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpcallsplugingroup.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpdivertselectionitem.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkplugin.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginform.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkplugingroup.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpphonenotes.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpplugincommon.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpsettingformentryitemdata.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpsettingformentryitemdataimpl.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpsettingformitemdata.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cptelephonypluginview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbabstractitemview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbaction.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbdataform.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbdialog.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbicon.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblabel.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblistview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblistwidget.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblistwidgetitem.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbpopup.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbscrollarea.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbview.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidget.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidgetbase.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper_p.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcallwaitingwrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcallwaitingwrapper_p.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcliwrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcliwrapper_p.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetnetworkwrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetnetworkwrapper_p.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetwrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_qaction.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_qobject.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_sssettingswrapper.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_xqsettingskey.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_xqsettingsmanager.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_xqsysinfo.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/qtestmains60.h
phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.cpp
phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.h
phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.pro
phonesettings/group/bld.inf
phonesettings/pslncallimageplugin/Data/102818EE.rss
phonesettings/pslncallimageplugin/Data/PslnCallImagePluginRsc.rss
phonesettings/pslncallimageplugin/Data/pslncallimageplugin.pkg
phonesettings/pslncallimageplugin/Data/pslncallimageplugin_stub.SIS
phonesettings/pslncallimageplugin/Data/pslncallimageplugin_stub.pkg
phonesettings/pslncallimageplugin/Group/PslnCallImagePlugin.mmp
phonesettings/pslncallimageplugin/Group/PslnCallImagePluginIcons.mk
phonesettings/pslncallimageplugin/Group/bld.inf
phonesettings/pslncallimageplugin/Logger/PslnCallImagePluginLogger.h
phonesettings/pslncallimageplugin/Logger/PslnCallImagePluginLoggingConf.h
phonesettings/pslncallimageplugin/inc/PslnCallImagePlugin.h
phonesettings/pslncallimageplugin/inc/PslnCallImagePluginContainer.h
phonesettings/pslncallimageplugin/inc/PslnCallImagePluginDRM.h
phonesettings/pslncallimageplugin/loc/pslncallimageplugin.loc
phonesettings/pslncallimageplugin/rom/PslnCallImagePlugin.iby
phonesettings/pslncallimageplugin/rom/PslnCallImagePluginResources.iby
phonesettings/pslncallimageplugin/src/PslnCallImagePlugin.cpp
phonesettings/pslncallimageplugin/src/PslnCallImagePluginContainer.cpp
phonesettings/pslncallimageplugin/src/PslnCallImagePluginDRM.cpp
phonesettings/pslncallimageplugin/src/PslnCallImagePluginImplementationTable.cpp
phoneuis/BubbleManager/BMARM/BUBBLEMANAGERU.DEF
phoneuis/BubbleManager/BWINS/BUBBLEMANAGERU.DEF
phoneuis/BubbleManager/Data/BubbleManager.rss
phoneuis/BubbleManager/Data/bubblemanager_stub.SIS
phoneuis/BubbleManager/Group/Bubblemanager.mmp
phoneuis/BubbleManager/Group/bld.inf
phoneuis/BubbleManager/Group/iconlist.txt
phoneuis/BubbleManager/Inc/BMBubbleDebug.h
phoneuis/BubbleManager/Inc/BMBubbleHeader.h
phoneuis/BubbleManager/Inc/BMBubbleIconIndex.h
phoneuis/BubbleManager/Inc/BMBubbleImage.h
phoneuis/BubbleManager/Inc/BMBubbleImageManager.h
phoneuis/BubbleManager/Inc/BMBubbleManager.h
phoneuis/BubbleManager/Inc/BMBubbleOutlook.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookBottom.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomCnap.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomImCnap.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomImage.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomRiCnap.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomRight.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomText.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookConference.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookFiveLined.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookHide.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookMiddle.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookMiddleCnap.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookNE.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookOneLined.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookThreeLined.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookTopLeft.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookTopRight.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookTwoLined.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookVideo.h
phoneuis/BubbleManager/Inc/BMBubbleOutlookVideoCnap.h
phoneuis/BubbleManager/Inc/BMBubblePlace.h
phoneuis/BubbleManager/Inc/BMBubbleSkinBitmap.h
phoneuis/BubbleManager/Inc/BMBubbleVideoContainer.h
phoneuis/BubbleManager/Inc/BMCallHeader.h
phoneuis/BubbleManager/Inc/BMCallObjectManager.h
phoneuis/BubbleManager/Inc/BMCallObjectUtils.h
phoneuis/BubbleManager/Inc/BMCallStatusAnim.h
phoneuis/BubbleManager/Inc/BMCallStatusAnimBig.h
phoneuis/BubbleManager/Inc/BMCallStatusAnimSmall.h
phoneuis/BubbleManager/Inc/BMCallStatusIndi.h
phoneuis/BubbleManager/Inc/BMCallStatusIndiBig.h
phoneuis/BubbleManager/Inc/BMCallStatusIndiSmall.h
phoneuis/BubbleManager/Inc/BMConfHeader.h
phoneuis/BubbleManager/Inc/BMConfPane.h
phoneuis/BubbleManager/Inc/BMCustomManager.h
phoneuis/BubbleManager/Inc/BMDefaultManager.h
phoneuis/BubbleManager/Inc/BMImageReader.h
phoneuis/BubbleManager/Inc/BMImageReaderObserver.h
phoneuis/BubbleManager/Inc/BMMainPaneControl.h
phoneuis/BubbleManager/Inc/BMMediaReader.h
phoneuis/BubbleManager/Inc/BMMediaReaderFactory.h
phoneuis/BubbleManager/Inc/BMMediaReaderInterface.h
phoneuis/BubbleManager/Inc/BMMediaReaderObserver.h
phoneuis/BubbleManager/Inc/BMNumberTypeIcon.h
phoneuis/BubbleManager/Inc/BMPanic.h
phoneuis/BubbleManager/Inc/BMResourceManager.h
phoneuis/BubbleManager/Inc/BMTouchPane.h
phoneuis/BubbleManager/Inc/BMTouchPane.rh
phoneuis/BubbleManager/Inc/BMTouchPaneButton.h
phoneuis/BubbleManager/Inc/BMTouchPaneInterface.h
phoneuis/BubbleManager/Inc/BMTrace.h
phoneuis/BubbleManager/Inc/BMUtils.h
phoneuis/BubbleManager/Inc/BMVideoController.h
phoneuis/BubbleManager/Inc/BMVideoPlaybackObserver.h
phoneuis/BubbleManager/Inc/BMVideoPlayer.h
phoneuis/BubbleManager/Inc/BMVideoPlayerObserver.h
phoneuis/BubbleManager/Inc/BubbleManagerPaths.h
phoneuis/BubbleManager/Src/BMBubbleHeader.cpp
phoneuis/BubbleManager/Src/BMBubbleImage.cpp
phoneuis/BubbleManager/Src/BMBubbleImageManager.cpp
phoneuis/BubbleManager/Src/BMBubbleManager.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlook.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookBottom.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookBottomCnap.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookBottomImCnap.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookBottomImage.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookBottomRiCnap.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookBottomRight.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookBottomText.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookConference.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookFiveLined.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookHide.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookMiddle.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookMiddleCnap.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookNE.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookOneLined.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookThreeLined.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookTopLeft.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookTopRight.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookTwoLined.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookVideo.cpp
phoneuis/BubbleManager/Src/BMBubbleOutlookVideoCnap.cpp
phoneuis/BubbleManager/Src/BMBubblePlace.cpp
phoneuis/BubbleManager/Src/BMBubbleSkinBitmap.cpp
phoneuis/BubbleManager/Src/BMBubbleVideoContainer.cpp
phoneuis/BubbleManager/Src/BMCallHeader.cpp
phoneuis/BubbleManager/Src/BMCallObjectManager.cpp
phoneuis/BubbleManager/Src/BMCallObjectUtils.cpp
phoneuis/BubbleManager/Src/BMCallStatusAnim.cpp
phoneuis/BubbleManager/Src/BMCallStatusAnimBig.cpp
phoneuis/BubbleManager/Src/BMCallStatusAnimSmall.cpp
phoneuis/BubbleManager/Src/BMCallStatusIndi.cpp
phoneuis/BubbleManager/Src/BMCallStatusIndiBig.cpp
phoneuis/BubbleManager/Src/BMCallStatusIndiSmall.cpp
phoneuis/BubbleManager/Src/BMConfHeader.cpp
phoneuis/BubbleManager/Src/BMConfPane.cpp
phoneuis/BubbleManager/Src/BMCustomManager.cpp
phoneuis/BubbleManager/Src/BMDefaultManager.cpp
phoneuis/BubbleManager/Src/BMImageReader.cpp
phoneuis/BubbleManager/Src/BMMainPaneControl.cpp
phoneuis/BubbleManager/Src/BMMediaReader.cpp
phoneuis/BubbleManager/Src/BMMediaReaderFactory.cpp
phoneuis/BubbleManager/Src/BMNumberTypeIcon.cpp
phoneuis/BubbleManager/Src/BMPanic.cpp
phoneuis/BubbleManager/Src/BMResourceManager.cpp
phoneuis/BubbleManager/Src/BMTouchPane.cpp
phoneuis/BubbleManager/Src/BMTouchPaneButton.cpp
phoneuis/BubbleManager/Src/BMUtils.cpp
phoneuis/BubbleManager/Src/BMVideoController.cpp
phoneuis/BubbleManager/Src/BMVideoPlayer.cpp
phoneuis/BubbleManager/bmcustomization/bwins/bmcustomizationu.def
phoneuis/BubbleManager/bmcustomization/eabi/bmcustomizationu.def
phoneuis/BubbleManager/bmcustomization/group/bld.inf
phoneuis/BubbleManager/bmcustomization/group/bmcustomization.mmp
phoneuis/BubbleManager/bmcustomization/rom/bmcustomization.iby
phoneuis/BubbleManager/bmcustomization/src/telbubbleanim.cpp
phoneuis/BubbleManager/bmcustomization/src/telbubblecallimage.cpp
phoneuis/BubbleManager/bmcustomization/src/telbubblecustomelement.cpp
phoneuis/BubbleManager/bmcustomization/src/telbubbleimage.cpp
phoneuis/BubbleManager/bmcustomization/src/telbubblelabel.cpp
phoneuis/BubbleManager/eabi/bubblemanageru.def
phoneuis/BubbleManager/laf/BMLayout.cpp
phoneuis/BubbleManager/laf/BMLayout.h
phoneuis/BubbleManager/laf/BMLayout2.cpp
phoneuis/BubbleManager/laf/BMLayout2.h
phoneuis/BubbleManager/laf/BMLayout3.cpp
phoneuis/BubbleManager/laf/BMLayout3.h
phoneuis/BubbleManager/laf/BMLayout4.cpp
phoneuis/BubbleManager/laf/BMLayout4.h
phoneuis/BubbleManager/laf/BMLayout6.cpp
phoneuis/BubbleManager/laf/BMLayout6.h
phoneuis/BubbleManager/rom/Bubblemanager.iby
phoneuis/ConnectUtil/data/101F8625.rss
phoneuis/ConnectUtil/data/connectutil.rss
phoneuis/ConnectUtil/data/connectutil_stub.SIS
phoneuis/ConnectUtil/data/connectutil_stub.pkg
phoneuis/ConnectUtil/group/ConnectUtil.mmp
phoneuis/ConnectUtil/group/bld.inf
phoneuis/ConnectUtil/inc/CCoUtlActive.h
phoneuis/ConnectUtil/inc/CCoUtlImplementation.h
phoneuis/ConnectUtil/inc/CCoUtlInterface.h
phoneuis/ConnectUtil/inc/CCoUtlInterface.inl
phoneuis/ConnectUtil/inc/CoUtlInterface.hrh
phoneuis/ConnectUtil/loc/connectutil.loc
phoneuis/ConnectUtil/rom/connectutil.iby
phoneuis/ConnectUtil/rom/connectutilResources.iby
phoneuis/ConnectUtil/src/CCoUtlActive.cpp
phoneuis/ConnectUtil/src/CCoUtlImplementation.cpp
phoneuis/ConnectUtil/src/CoUtlMain.cpp
phoneuis/TelephonyDeviceMode/group/TelephonyDeviceMode.mmp
phoneuis/TelephonyDeviceMode/group/bld.inf
phoneuis/TelephonyDeviceMode/inc/CTelDMAudioAccessoryListener.h
phoneuis/TelephonyDeviceMode/inc/CTelDMCallStateListener.h
phoneuis/TelephonyDeviceMode/inc/CTelDMCommandHandler.h
phoneuis/TelephonyDeviceMode/inc/CTelDMDebug.h
phoneuis/TelephonyDeviceMode/inc/CTelDMHandlerImpl.h
phoneuis/TelephonyDeviceMode/src/CTelDMAudioAccessoryListener.cpp
phoneuis/TelephonyDeviceMode/src/CTelDMCallStateListener.cpp
phoneuis/TelephonyDeviceMode/src/CTelDMCommandHandler.cpp
phoneuis/TelephonyDeviceMode/src/CTelDMGripHandler.cpp
phoneuis/TelephonyDeviceMode/src/CTelDMHandlerImpl.cpp
phoneuis/Ussd/aif/UssdAif.rss
phoneuis/Ussd/data/Ussd.pkg
phoneuis/Ussd/data/Ussd_caption.rss
phoneuis/Ussd/data/Ussd_reg.rss
phoneuis/Ussd/data/Ussd_stub.pkg
phoneuis/Ussd/data/ussd.rss
phoneuis/Ussd/data/ussd_stub.SIS
phoneuis/Ussd/group/bld.inf
phoneuis/Ussd/group/ussd.mmp
phoneuis/Ussd/group/ussd_icons_aif_bitmaps.mk
phoneuis/Ussd/group/ussd_icons_aif_bitmaps_dc.mk
phoneuis/Ussd/group/ussd_icons_aif_scalable.mk
phoneuis/Ussd/group/ussd_icons_aif_scalable_dc.mk
phoneuis/Ussd/help/data/xhtml.zip
phoneuis/Ussd/help/group/bld.inf
phoneuis/Ussd/help/inc/ussd.hlp.hrh
phoneuis/Ussd/help/rom/ussdhelps_variant.iby
phoneuis/Ussd/inc/UssdApp.h
phoneuis/Ussd/inc/UssdAppUi.h
phoneuis/Ussd/inc/UssdComms.h
phoneuis/Ussd/inc/UssdContainer.h
phoneuis/Ussd/inc/UssdDocument.h
phoneuis/Ussd/inc/UssdEditorLines.h
phoneuis/Ussd/inc/UssdLayout.h
phoneuis/Ussd/inc/UssdNaviPane.h
phoneuis/Ussd/inc/UssdVariant.hrh
phoneuis/Ussd/inc/ussd.hlp.hrh
phoneuis/Ussd/inc/ussd.hrh
phoneuis/Ussd/loc/ussd.loc
phoneuis/Ussd/rom/Ussd.iby
phoneuis/Ussd/rom/UssdResources.iby
phoneuis/Ussd/src/UssdApp.cpp
phoneuis/Ussd/src/UssdAppUi.cpp
phoneuis/Ussd/src/UssdComms.cpp
phoneuis/Ussd/src/UssdContainer.cpp
phoneuis/Ussd/src/UssdDocument.cpp
phoneuis/Ussd/src/UssdEditorLines.cpp
phoneuis/Ussd/src/UssdLayout.cpp
phoneuis/Ussd/src/UssdNaviPane.cpp
phoneuis/bubblemanager2/bubblecore/bubblecore.pro
phoneuis/bubblemanager2/bubblecore/bubblecore.qrc
phoneuis/bubblemanager2/bubblecore/bwins/bubblecoreu.def
phoneuis/bubblemanager2/bubblecore/eabi/bubblecoreu.def
phoneuis/bubblemanager2/bubblecore/resources/qgn_indi_call_muted.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_b.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_bl.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_br.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_c.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_l.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_r.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_t.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_tl.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_tr.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_b.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_bl.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_br.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_c.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_l.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_r.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_t.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_tl.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_tr.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_b.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_bl.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_br.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_c.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_l.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_r.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_t.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_tl.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_tr.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_b.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_bl.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_br.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_c.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_l.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_r.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_t.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_tl.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_tr.svg
phoneuis/bubblemanager2/bubblecore/resources/qtg_large_avatar.svg
phoneuis/bubblemanager2/bubblecore/src/bubblebuttonstyle.cpp
phoneuis/bubblemanager2/bubblecore/src/bubblebuttonstyle.h
phoneuis/bubblemanager2/bubblecore/src/bubblecollapsedhandler.cpp
phoneuis/bubblemanager2/bubblecore/src/bubblecollapsedhandler.h
phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.h
phoneuis/bubblemanager2/bubblecore/src/bubbleconferenceheader.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleconferenceheader.h
phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.cpp
phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.h
phoneuis/bubblemanager2/bubblecore/src/bubblecore.pri
phoneuis/bubblemanager2/bubblecore/src/bubbleexpandedhandler.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleexpandedhandler.h
phoneuis/bubblemanager2/bubblecore/src/bubblehandler.cpp
phoneuis/bubblemanager2/bubblecore/src/bubblehandler.h
phoneuis/bubblemanager2/bubblecore/src/bubbleheader.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleheader.h
phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.h
phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.h
phoneuis/bubblemanager2/bubblecore/src/bubblemanager2.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.h
phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistmodel.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistmodel.h
phoneuis/bubblemanager2/bubblecore/src/bubblestyleoption.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleutils.cpp
phoneuis/bubblemanager2/bubblecore/src/bubbleutils.h
phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.cpp
phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.h
phoneuis/bubblemanager2/bubblemanager2.pro
phoneuis/bubblemanager2/bubblestyle/bubblestyle.pro
phoneuis/bubblemanager2/bubblestyle/bubblestyle.qrc
phoneuis/bubblemanager2/bubblestyle/layout/bubbleheadingwidget.css
phoneuis/bubblemanager2/bubblestyle/layout/bubbleheadingwidget.widgetml
phoneuis/bubblemanager2/bubblestyle/layout/bubbleparticipantlistitem.css
phoneuis/bubblemanager2/bubblestyle/layout/bubbleparticipantlistitem.widgetml
phoneuis/bubblemanager2/bubblestyle/resources/pri_large_green_handset.svg
phoneuis/bubblemanager2/bubblestyle/resources/pri_large_red_handset.svg
phoneuis/bubblemanager2/bubblestyle/resources/pri_large_yellow_handset.svg
phoneuis/bubblemanager2/bubblestyle/resources/qgn_indi_call_diverted.svg
phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_video_dialled_call.svg
phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_video_missed_call.svg
phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_video_received_call.svg
phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_voip_dialled_call.svg
phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_voip_missed_call.svg
phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_voip_received_call.svg
phoneuis/bubblemanager2/bubblestyle/src/bubbleanimiconitem.cpp
phoneuis/bubblemanager2/bubblestyle/src/bubbleanimiconitem.h
phoneuis/bubblemanager2/bubblestyle/src/bubblestyle.pri
phoneuis/bubblemanager2/bubblestyle/src/bubblestyleplugin.cpp
phoneuis/bubblemanager2/bubblestyle/src/bubblestyleplugin.h
phoneuis/bubblemanager2/inc/api_headers.pri
phoneuis/bubblemanager2/inc/bubblemanager2.h
phoneuis/bubblemanager2/inc/bubblemanagerif.h
phoneuis/bubblemanager2/inc/bubbleprimitives.h
phoneuis/bubblemanager2/inc/bubblestyleoption.h
phoneuis/bubblemanager2/rom/bubblemanager.iby
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.pro
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.qrc
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester.h
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbledata.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbledata.h
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbletester.pro
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbletester.qrc
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/main.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.h
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.ui
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/testdata.xml
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.h
phoneuis/bubblemanager2/tsrc/bubbletest2/main.cpp
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/contactpic.jpg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/contactpic2.jpg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/contactpic3.png
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_contacts.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_dialler.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_join.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_loudsp_mute.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_loudsp_unmute.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_message.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_mute.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_silence.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_unmute.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_answer_call.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_drop_call.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_end_call.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_hold_call.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_join_call.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_private_call.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_reject_call.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_replace_call.svg
phoneuis/bubblemanager2/tsrc/bubbletest2/sis/bubbletest2.pkg
phoneuis/bubblemanager2/tsrc/bubbletest2/sis/sisTool.pl
phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.cpp
phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.pro
phoneuis/bubblemanager2/tsrc/unit/runall.cmd
phoneuis/bubblemanager2/tsrc/unit/runtest.cmd
phoneuis/bubblemanager2/tsrc/unit/runtest_w32.cmd
phoneuis/bubblemanager2/tsrc/unit/shared/bubbletest.h
phoneuis/bubblemanager2/tsrc/unit/unit.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/data/qtg_indi_call_connect.svg
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/data/qtg_indi_call_wait.svg
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/ut_bubbleanimiconitem.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/ut_bubbleanimiconitem.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/ut_bubbleanimiconitem.qrc
phoneuis/bubblemanager2/tsrc/unit/ut_bubblebuttonstyle/ut_bubblebuttonstyle.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubblebuttonstyle/ut_bubblebuttonstyle.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleconferenceheader/ut_bubbleconferenceheader.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleconferenceheader/ut_bubbleconferenceheader.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheader/ut_bubbleheader.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheader/ut_bubbleheader.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/data/pixmap.png
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/data/pixmap_wide.png
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/data/vector.svg
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.qrc
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubblepartlistmodel/ut_bubblepartlistmodel.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubblepartlistmodel/ut_bubblepartlistmodel.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubblestyleoption/ut_bubblestyleoption.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubblestyleoption/ut_bubblestyleoption.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubblestyleplugin/ut_bubblestyleplugin.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubblestyleplugin/ut_bubblestyleplugin.pro
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.cpp
phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.pro
phoneuis/dialer/bwins/dialeru.def
phoneuis/dialer/data/dialer.pkg
phoneuis/dialer/data/dialer.rss
phoneuis/dialer/data/dialer_stub.pkg
phoneuis/dialer/data/dialer_stub.sis
phoneuis/dialer/eabi/dialeru.def
phoneuis/dialer/group/bld.inf
phoneuis/dialer/group/dialer.mmp
phoneuis/dialer/group/dialer_icons.mk
phoneuis/dialer/group/dialerstub.mmp
phoneuis/dialer/group/iconlist.txt
phoneuis/dialer/inc/cdialer.h
phoneuis/dialer/inc/cdialercontainerbase.h
phoneuis/dialer/inc/cdialerkeypadbutton.h
phoneuis/dialer/inc/cdialerkeypadcontainer.h
phoneuis/dialer/inc/cdialernumberentry.h
phoneuis/dialer/inc/cdialertoolbar.h
phoneuis/dialer/inc/cdialervideocontainer.h
phoneuis/dialer/inc/dialer.hrh
phoneuis/dialer/inc/dialercommon.h
phoneuis/dialer/inc/dialertrace.h
phoneuis/dialer/inc/mnumberentry.h
phoneuis/dialer/rom/dialer.iby
phoneuis/dialer/src/cdialer.cpp
phoneuis/dialer/src/cdialercontainerbase.cpp
phoneuis/dialer/src/cdialerkeypadcontainer.cpp
phoneuis/dialer/src/cdialernumberentry.cpp
phoneuis/dialer/src/cdialerstub.cpp
phoneuis/dialer/src/cdialervideocontainer.cpp
phoneuis/dialer/src/cvideodtmfdialer.cpp
phoneuis/dialer/src/cvideodtmfdialerstub.cpp
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/Bwins/T_VideoDtmfDialeru.def
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/EABI/T_VideoDtmfDialeru.def
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/conf/ui_T_VideoDtmfDialer.cfg
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/group/T_VideoDtmfDialer.mmp
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/group/T_VideoDtmfDialer.pkg
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/group/T_VideoDtmfDialer.sis
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/group/bld.inf
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/inc/T_VideoDtmfDialer.h
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/inc/T_VideoDtmfDialer.pan
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/inc/T_VideoDtmfDialerAppView.h
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/init/T_VideoDtmfDialer.ini
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/src/T_VideoDtmfDialer.cpp
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/src/T_VideoDtmfDialerAppView.cpp
phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/src/T_VideoDtmfDialerBlocks.cpp
phoneuis/dialer/tsrc/public/basic/group/bld.inf
phoneuis/group/bld.inf
phoneuis/vmbx/aif/vmaif.rss
phoneuis/vmbx/group/bld.inf
phoneuis/vmbx/group/icons.mk
phoneuis/vmbx/group/icons_aif_bitmaps.mk
phoneuis/vmbx/group/icons_aif_bitmaps_dc.mk
phoneuis/vmbx/group/icons_aif_scalable.mk
phoneuis/vmbx/group/icons_aif_scalable_dc.mk
phoneuis/vmbx/group/icons_dc.mk
phoneuis/vmbx/group/vm.SIS
phoneuis/vmbx/group/vm.mmp
phoneuis/vmbx/group/vm.pkg
phoneuis/vmbx/group/vm_stub.SIS
phoneuis/vmbx/group/vm_stub.pkg
phoneuis/vmbx/gsvmbxplugin/data/2000B4D6.rss
phoneuis/vmbx/gsvmbxplugin/data/gsvmbxpluginrsc.rss
phoneuis/vmbx/gsvmbxplugin/group/bld.inf
phoneuis/vmbx/gsvmbxplugin/group/gsvmbxplugin.mmp
phoneuis/vmbx/gsvmbxplugin/group/gsvmbxpluginicons.mk
phoneuis/vmbx/gsvmbxplugin/inc/gsvmbxplugin.h
phoneuis/vmbx/gsvmbxplugin/loc/gsvmbxplugin.loc
phoneuis/vmbx/gsvmbxplugin/src/gsvmbxplugin.cpp
phoneuis/vmbx/gsvmbxplugin/src/gsvmbxpluginimplementationtable.cpp
phoneuis/vmbx/help/data/xhtml.zip
phoneuis/vmbx/help/group/bld.inf
phoneuis/vmbx/help/inc/smsvo.hlp.hrh
phoneuis/vmbx/help/rom/vmbxhelps_variant.iby
phoneuis/vmbx/inc/VMBLogger.h
phoneuis/vmbx/inc/VmApp.h
phoneuis/vmbx/inc/VmAppUi.h
phoneuis/vmbx/inc/VmContainer.h
phoneuis/vmbx/inc/VmDetDlgPropertyObserver.h
phoneuis/vmbx/inc/VmDetailsDialog.h
phoneuis/vmbx/inc/VmDetailsDlgDummy.h
phoneuis/vmbx/inc/VmDocument.h
phoneuis/vmbx/inc/VmQueryLauncher.h
phoneuis/vmbx/inc/VoiceMailboxAppPrivateCRKeys.h
phoneuis/vmbx/inc/smsvo.hlp.hrh
phoneuis/vmbx/inc/vm.hrh
phoneuis/vmbx/inc/vm_variant.hrh
phoneuis/vmbx/loc/vm.loc
phoneuis/vmbx/rom/Vmbx.iby
phoneuis/vmbx/rom/VmbxResources.iby
phoneuis/vmbx/rom/gsvmbxplugin.iby
phoneuis/vmbx/rom/gsvmbxpluginresources.iby
phoneuis/vmbx/src/VmApp.cpp
phoneuis/vmbx/src/VmAppUi.cpp
phoneuis/vmbx/src/VmContainer.cpp
phoneuis/vmbx/src/VmDetDlgPropertyObserver.cpp
phoneuis/vmbx/src/VmDetailsDialog.cpp
phoneuis/vmbx/src/VmDetailsDlgDummy.cpp
phoneuis/vmbx/src/VmDocument.cpp
phoneuis/vmbx/src/VmQueryLauncher.cpp
phoneuis/vmbx/src/vm.rss
phoneuis/vmbx/src/vm_caption.rss
phoneuis/vmbx/src/vm_reg.rss
sysdef_1_4_0.dtd
sysdef_1_5_1.dtd
--- a/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -18,10 +18,10 @@
 
 #include "../phoneapp/group/bld.inf"
 #include "../phoneengine/group/bld.inf"
-#include "../phonesettings/group/bld.inf"
 #include "../phoneuis/group/bld.inf"
 #include "../phone_plat/group/bld.inf"
 #include "../phoneplugins/group/bld.inf"
 
 
+
 // End of File
\ No newline at end of file
--- a/layers.sysdef.xml	Tue Feb 02 00:10:04 2010 +0200
+++ b/layers.sysdef.xml	Fri Mar 19 09:28:42 2010 +0200
@@ -1,22 +1,14 @@
 <?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
   <!ENTITY layer_real_source_path "sf/app/phone" >
 ]>
 
-<SystemDefinition name="phone" schema="1.4.0">
+<SystemDefinition name="phone" schema="1.5.1">
   <systemModel>
     <layer name="app_layer">
       <module name="phone">
-        <unit name="phone" unitID="tedo.phone" bldFile="&layer_real_source_path;/group" mrp="" />
+        <unit name="phone" unitID="tedo.phone" bldFile="&layer_real_source_path;" mrp="" proFile="phone.pro" />
       </module>
     </layer>
-
-    <layer name="api_test_layer">
-      <module name="tedo_api_tests">
-        <unit unitID="tedo.dialer.test" name="dialer.test" bldFile="&layer_real_source_path;/phoneuis/dialer/tsrc/public/basic/group" mrp="" />
-        <unit unitID="tedo.phoneui.test" name="phoneui.test" bldFile="&layer_real_source_path;/phoneapp/phoneui/tsrc/public/basic/group" mrp="" />
-       </module>
-    </layer>
-
   </systemModel>
 </SystemDefinition>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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 Phone components
+#
+#
+
+TEMPLATE = subdirs
+CONFIG += ordered
+
+symbian: {
+:BLD_INF_RULES.prj_mmpfiles += $$LITERAL_HASH"include \"group/bld.inf\""
+SUBDIRS += phoneengine/phonecntfinder2
+SUBDIRS += phoneengine/phoneservices
+SUBDIRS += phoneengine/parserrecognizer
+SUBDIRS += phoneengine/phonemodel
+SUBDIRS += phoneuis/bubblemanager2
+SUBDIRS += phoneapp/phoneuiview2
+SUBDIRS += phoneapp/phoneuiqtviewadapter
+SUBDIRS += phoneapp/phonestringloader
+SUBDIRS += phoneapp/phoneui2
+SUBDIRS += phonesettings/cpphonesettingsplugins
+SUBDIRS += phoneplugins/hsdialerwidgetplugin
+SUBDIRS += phoneplugins/infowidgetprovider
+}
+          
\ No newline at end of file
--- a/phone_plat/3d_ringing_tone_enabler_api/inc/c3dringingtoneinterface.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phone_plat/3d_ringing_tone_enabler_api/inc/c3dringingtoneinterface.h	Fri Mar 19 09:28:42 2010 +0200
@@ -77,10 +77,10 @@
         * @param aValue Attribute integer value.
         * @return KErrNone, attribute set, no errors
         *         KErrArgument, attribute not set, argument error
-        *		  Some system wide Symbian error, attribute not set
+        *         Some system wide Symbian error, attribute not set
         */
         virtual TInt SetAttr( T3DRingingToneInterfaceAttr aAttributeKey, 
-        					  TInt aValue ) = 0;
+                              TInt aValue ) = 0;
 
         /**
         * Set 3D ringing tone interface attribute with specific 
@@ -89,10 +89,10 @@
         * @param aValue Attribute string value.
         * @return KErrNone, attribute set, no errors
         *         KErrArgument, attribute not set, argument error
-        *		  Some system wide Symbian error, attribute not set
+        *         Some system wide Symbian error, attribute not set
         */
         virtual TInt SetAttr( T3DRingingToneInterfaceAttr aAttributeKey, 
-        					  const TDesC& aValue ) = 0;
+                              const TDesC& aValue ) = 0;
 
         /**
         * Set 3D ringing tone interface attribute value any of type.
@@ -102,7 +102,7 @@
         * @param aValue Attribute value can be any.
         * @return KErrNone, attribute set, no errors
         *         KErrArgument, attribute not set, argument error
-        *		  Some system wide Symbian error, attribute not set
+        *         Some system wide Symbian error, attribute not set
         */
         virtual TInt SetAttr( TInt aAttributeKey, TAny* aValue ) = 0;
 
--- a/phone_plat/dialer_keypad_api/inc/cvideodtmfdialer.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phone_plat/dialer_keypad_api/inc/cvideodtmfdialer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  CVideoDTMFDialer class provides dialer keypad 
-*  			     functionalities
+*                functionalities
 *
 */
 
@@ -43,8 +43,8 @@
 *
 *   In Video Telephony dialer offers touch keypad for enter as DTMFs 
 *   and client's CCoeControl is used to show video and keypad. 
-*	Video DTMF dialer does not implement menu or command buttons, 
-*	only keypad which presses are forwarded to host application as key events.  
+*   Video DTMF dialer does not implement menu or command buttons, 
+*   only keypad which presses are forwarded to host application as key events.  
 *
 *   From host application dialer requires:
 *   - View/container as CCoeControl
--- a/phone_plat/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phone_plat/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -16,25 +16,26 @@
 *
 */
 
-
-
 #include "../3d_ringing_tone_enabler_api/group/bld.inf"
 #include "../telephony_comms_information_api/group/bld.inf"
 #include "../telephony_information_api/group/bld.inf"
 #include "../telephony_device_mode_api/group/bld.inf"
 
 #include "../telephony_remote_party_information_api/group/bld.inf"
+#include "../telephony_video_mailbox_settings_api/group/bld.inf"
 
-#include "../telephony_video_mailbox_settings_api/group/bld.inf"
-#include "../telephony_configuration_api/group/bld.inf"
+// <-- QT PHONE START --> 
+//#include "../telephony_configuration_api/group/bld.inf"
+//#include "../dialer_keypad_api/group/bld.inf"
+//#include "../telephony_bubble_extension_api/group/bld.inf"
+// <-- QT PHONE END --> 
 
+#include "../telephony_menu_extension_api/group/bld.inf"
 #include "../telephony_microphone_mute_status_api/group/bld.inf"
-#include "../dialer_keypad_api/group/bld.inf"
 #include "../telephony_logging_extension_api/group/bld.inf"
 #include "../telephony_matching_extension_api/group/bld.inf"
-#include "../telephony_bubble_extension_api/group/bld.inf"
-#include "../telephony_menu_extension_api/group/bld.inf"
 #include "../phone_application_commands_api/group/bld.inf"
 #include "../phone_application_voip_commands_api/group/bld.inf"
 #include "../telephony_mediator_api/group/bld.inf"
 #include "../video_telephony_mediator_api/group/bld.inf"
+#include "../video_telephony_control_mediator_api/group/bld.inf"
--- a/phone_plat/phone_application_commands_api/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phone_plat/phone_application_commands_api/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -24,5 +24,6 @@
 
 PRJ_EXPORTS
 ../inc/phoneappcommands.hrh     APP_LAYER_PLATFORM_EXPORT_PATH(phoneappcommands.hrh)
+../inc/xqphoneappcommands.h     APP_LAYER_PLATFORM_EXPORT_PATH(xqphoneappcommands.h)
 
 
--- a/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ b/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh	Fri Mar 19 09:28:42 2010 +0200
@@ -138,7 +138,7 @@
     EPhoneInCallCmdProcessSend, // NOT IN MENU!
     EPhoneInCallCmdDrop,
     EPhoneInCallCmdPrivate,
-    EPhoneInCallCmdCbaJoin,	// NOT IN MENU!
+    EPhoneInCallCmdCbaJoin, // NOT IN MENU!
     EPhoneInCallCmdDialer,
 
     // Enable video
@@ -178,7 +178,7 @@
     EPhoneCmdSettingsUiExit,
     // Settings GUI - Data Parameters GUI (commands specific to DataParameters)
     EPhoneCmdDataParametersRestoreSettings,
-    EPhoneCmdRelease,	
+    EPhoneCmdRelease,   
     // DTMF specific
     EPhoneCmdDtmfSearch,
     EPhoneCmdDtmfOk,
@@ -210,8 +210,8 @@
     EPhoneDialerCmdTouchInput,
     EPhoneDialerCmdSpeedDial,
     EPhoneDialerCmdEditText,
-    EPhoneDialerCallSettings,	
-    EPhoneDtmfDialerCancel,	
+    EPhoneDialerCallSettings,   
+    EPhoneDtmfDialerCancel, 
     EPhoneDtmfDialerExit,
     EPhoneIsDTMFDialerVisible,
     EPhoneDialerCmdHelp,
@@ -219,6 +219,10 @@
     EPhoneIsCustomizedDialerVisible,
 
     EPhoneCmdVideoCallOutOfMemory,
+
+// <-- QT PHONE START -->
+    EPhoneCmdUpdateUiControls,
+// <-- QT PHONE END -->
    
     EPhoneCmdLast
     };
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/phone_application_commands_api/inc/xqphoneappcommands.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 contains declarations for call commands of Phone Application.
+*     
+*
+*/
+
+
+#ifndef XQPHONEAPPCOMMANDS_H
+#define XQPHONEAPPCOMMANDS_H
+
+//  MENU COMMANDS
+enum PhoneMenuCommands
+    {
+    // Commands for incall menu
+    PhoneInCallCmdEndAllCalls,
+    PhoneInCallCmdTransfer,
+    PhoneInCallCmdSendMessage,
+    PhoneInCallShareVideo,
+    PhoneInCallCmdSwitchToVideo,
+    PhoneInCallCmdHandoverToWlan,
+    PhoneInCallCmdHandoverToGsm,
+    
+    PhoneMenuCmdLast 
+    };
+
+//  PUSH BUTTON COMMANDS
+enum PhonePushButtonCommands
+    {
+    // Push button commands for incall
+    PhoneInCallCmdJoinToConference = PhoneMenuCmdLast,
+    PhoneInCallCmdCreateConference,
+    PhoneInCallCmdAnswer,
+    PhoneInCallCmdReject,
+    PhoneInCallCmdHold,
+    PhoneInCallCmdUnhold,
+    PhoneInCallCmdEndActive,
+    PhoneInCallCmdEndOutgoingCall,
+    PhoneInCallCmdReplace,
+    PhoneInCallCmdSwap,
+    
+    PhonePushButtonCmdLast
+    };
+    
+#endif
+
+// End of File
--- a/phone_plat/telephony_device_mode_api/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phone_plat/telephony_device_mode_api/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -24,4 +24,4 @@
 
 PRJ_EXPORTS
 
-../inc/CTelDMHandler.h     APP_LAYER_PLATFORM_EXPORT_PATH(cteldmhandler.h)
+../inc/cteldmhandler.h     APP_LAYER_PLATFORM_EXPORT_PATH(cteldmhandler.h)
--- a/phone_plat/telephony_mediator_api/inc/mediatoreventsfromtelephonyapi.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phone_plat/telephony_mediator_api/inc/mediatoreventsfromtelephonyapi.h	Fri Mar 19 09:28:42 2010 +0200
@@ -78,15 +78,15 @@
 
 // Call Data Parameter is sent with EPhoneEventCallData
 class TTelephonyCallDataParam
-	{
-	public:
-		TInt iCallId;
-		TBuf<KCntMaxTextFieldLength> iCLIText;
-		TCallState iCallState;
-		TCallType iCallType;
-		TBuf<KMaxPhoneNumberLength> iRemotePhoneNumber;
-	};
-	
+    {
+    public:
+        TInt iCallId;
+        TBuf<KCntMaxTextFieldLength> iCLIText;
+        TCallState iCallState;
+        TCallType iCallType;
+        TBuf<KMaxPhoneNumberLength> iRemotePhoneNumber;
+    };
+    
 // Mediator package
 typedef TPckgBuf<TTelephonyCallDataParam> TTelephonyCallDataParamPackage;
 
--- a/phone_plat/telephony_menu_extension_api/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phone_plat/telephony_menu_extension_api/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -26,4 +26,5 @@
 ../inc/telmenuextension.h     APP_LAYER_PLATFORM_EXPORT_PATH(telmenuextension.h)
 ../inc/teltouchpaneextension.h     APP_LAYER_PLATFORM_EXPORT_PATH(teltouchpaneextension.h)
 ../inc/telmenuextension.inl     APP_LAYER_PLATFORM_EXPORT_PATH(telmenuextension.inl)
+../inc/xqteluicommandextension.h   APP_LAYER_PLATFORM_EXPORT_PATH(xqteluicommandextension.h)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/telephony_menu_extension_api/inc/xqteluicommandextension.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,133 @@
+/*!
+* 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: Defines interface for manipulating telephony call menus.
+*
+*/
+
+#ifndef XQTELUICOMMANDEXTENSION_H
+#define XQTELUICOMMANDEXTENSION_H
+
+#include <qobject>
+#include <hbaction.h>
+
+
+#ifdef BUILD_DLL
+#define DLL_EXPORT Q_DECL_EXPORT
+#else
+#define DLL_EXPORT Q_DECL_IMPORT
+#endif
+
+/*!
+    XQTelUiCommandExtension
+    Defines interface for manipulating telephony call menus.
+    
+*/
+class DLL_EXPORT XQTelUiCommandExtension 
+{
+    
+public:
+        
+    /*!
+       Specifies call states.
+    */
+    enum CallState
+        {
+        None = 0,
+        Disconnecting = 1, // Call is disconnecting
+        Active = 2, // Call is active
+        OnHold = 3, // Call is on hold
+        Incoming = 4, // Call is ringing
+        Outgoing = 5 // Call is dialling or connecting
+        };
+        
+    /*!
+       Capsulates call info.
+    */
+    class CallInfo
+        {
+    public:
+        
+        // Service provider settings item Id
+        int mServiceId;
+        
+        // Calls state
+        int mCallState;
+        
+        // Is call header expanded
+        bool mIsExpanded;
+
+        };
+    
+    /*!
+        \fn void modifyMenuItemList(QList<int> &menuCmdList)
+        
+        Modifies menu command list. CallInfo contains current call information and 
+        menuCmdList contains current list of menu commands. 
+        Interface can add new commands which should be hanled by telephony
+        call handling or remove commands if list contains unsupported call
+        commands.
+    */
+    virtual void modifyMenuCommandList(const QList<CallInfo> &callInfo,
+                                       QList<int> &menuCmdList) = 0;
+                                       
+    /*!
+        \fn void modifyButtonCommandList(QList<int> &menuCmdList)
+        
+        Modifies push button command list. CallInfo contains current call 
+        information and buttonCmdList contains current list of push 
+        button commands. 
+        Interface can remove commands if list contains unsupported call
+        commands (For example if service doesn't support conference call)
+        or add commads which should be handled by telephony call 
+        handling (maximum amount of push button commands is 2 and list
+        index 0 is used for right button).
+    */
+    virtual void modifyPushButtonCommandList(const QList<CallInfo> &callInfo,
+                                             QList<int> &buttonCmdList) = 0;
+    
+    /*!
+        \fn void addMenuActions(QList<HbAction*> &menuActions)
+        
+        Adds custom actions to the call menu. CallInfo contains current call 
+        information. Interface could add own actions to the menu actions 
+        list and actions will be added to the call menu. 
+        Interface is the responsible for handling action triggers.
+        Ownership of the actions in not transferred.
+    */
+    virtual void addMenuActions(const QList<CallInfo> &callInfo,
+                                QList<HbAction*> &menuActions) = 0;
+    
+    /*!
+        \fn void releaseMenu()
+        
+        Releases menu actions. Method is called when menu is not needed
+        anymore and interface can release own menu actions.
+    */
+    virtual void releaseMenu() = 0;
+    
+    /*!
+        \fn void release()
+        
+        Releases plugin. Method is called when menu extension plugin is 
+        not needed anymore and interface can release all resources and
+        plugin itself.
+    */
+    virtual void release() = 0;
+    
+};
+
+Q_DECLARE_INTERFACE(XQTelUiCommandExtension, "com.nokia.telephony.XQTelUiCommandExtension/1.0" );
+
+#endif // XQTELUICOMMANDEXTENSION_H
+
--- a/phone_plat/tsrc/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phone_plat/tsrc/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -17,9 +17,9 @@
 
 
 PRJ_TESTMMPFILES
-#include "../../../phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/bld.inf"
-#include "../../../phoneuis/dialer/tsrc/public/basic/group/bld.inf"
-#include "../../../phoneuis/sfiutils/tsrc/public/basic/group/bld.inf"
-
+// <-- QT PHONE START -->
+//#include "../../../phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/bld.inf"
+//#include "../../../phoneuis/dialer/tsrc/public/basic/group/bld.inf"
+// <-- QT PHONE END -->
 
  // End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/video_telephony_control_mediator_api/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  File that exports the files belonging to 
+:                Video Telephony Control Mediator API
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/videotelcontrolmediatorapi.h     APP_LAYER_PLATFORM_EXPORT_PATH( videotelcontrolmediatorapi.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phone_plat/video_telephony_control_mediator_api/inc/videotelcontrolmediatorapi.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,67 @@
+/*
+* 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:  Video Telephony specific message services sent from Phone
+*                Application to Video Telephony.
+*
+*/
+
+
+#ifndef VIDEOTELCONTROLMEDIATORAPI_H
+#define VIDEOTELCONTROLMEDIATORAPI_H
+
+// INCLUDES
+#include <e32base.h>
+
+/**  The category UID for the messages in this header file. */
+const TUid KCatPhoneToVideotelCommands = { 0x200159A1 };
+
+/**  Version number of this API */
+const TInt KPhoneToVideotelCmdVersionMajor( 1 );
+const TInt KPhoneToVideotelCmdVersionMinor( 0 );
+const TInt KPhoneToVideotelCmdVersionBuild( 0 );
+
+/** package for passing dataport name to Video Telephony */
+typedef TPckgBuf<TName> TDataPortPackage;
+
+/**  Video Telephony related commands. */
+enum TPhoneToVideotelCommands
+    {
+    /**
+     * Commands Video Telephony to enable microphone.
+     */
+    EVtCmdUnmute = 0,
+    
+    /**
+     * Commands Video Telephony to disable microphone.
+     */
+    EVtCmdMute,
+        
+    /**
+     * Commands Video Telephony to use dataport. Command paramemeter is
+     * TDataPortPackage. This should be called when dataport is loaned.
+     * When this is sent, dataport recovery is allowed only after
+     * 1) later issued EVtCmdShutdown response is received.
+     * 2) call is ended by network/peer (i.e. local phone doesn't do hangup)
+     * 3) EPhoneCmdEndActiveCall command is received (see Mediator Commands To 
+     *    Telephony API)
+     *  Otherwise H.245 (VT) signalling may fail if call is released in two
+     *  stage.
+     */
+    EVtCmdUseDataport,
+    
+    EVtCmdReleaseDataport
+    };
+
+#endif // VIDEOTELCONTROLMEDIATORAPI_H
+
--- a/phoneapp/Blacklist/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/Blacklist/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -23,7 +23,7 @@
 
 PRJ_EXPORTS
 ../inc/phoneanimdllstd.h         |../../../inc/phoneanimdllstd.h
-../group/phoneanimdll_stub.SIS    /epoc32/data/z/system/install/phoneanimdll_stub.sis
+../group/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/src/CPhoneAnimDll.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/Blacklist/src/CPhoneAnimDll.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -21,8 +21,8 @@
 
 // INCLUDE FILES
 #include    "phoneanimdllstd.h"         
-#include    "CPhoneAnimDll.h"           
-#include    "CPhoneBlacklistAnim.h"     
+#include    "CPhoneAnimDll.h"
+#include    "CPhoneBlacklistAnim.h"
 
 // ================= MEMBER FUNCTIONS =======================
 
--- a/phoneapp/Blacklist/src/CPhoneBlacklistAnim.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/Blacklist/src/CPhoneBlacklistAnim.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -21,7 +21,7 @@
 #include    <e32base.h>                     
 #include    <mmtsy_names.h>                 
 #include    "phoneanimdllstd.h"             
-#include    "CPhoneBlacklistAnim.h"         
+#include    "CPhoneBlacklistAnim.h"
 
 // CONSTANTS
 // Amount of retries to be performed.
--- a/phoneapp/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -16,15 +16,13 @@
 */
 
 
-
 #include "../Blacklist/group/bld.inf"
-#include "../phoneui/group/bld.inf"
 #include "../phoneuicontrol/group/bld.inf"
 #include "../phoneuistates/group/bld.inf"
 #include "../phoneuiutils/group/bld.inf"
-#include "../phoneuiview/group/bld.inf"
-#include "../phoneuivoipextension/group/bld.inf"
 #include "../silenceactionplugin/group/bld.inf"
 #include "../phonemediatorcenter/group/bld.inf"
+#include "../phoneringingtoneplayer/group/bld.inf"
+#include "../phoneuivoipextension/group/bld.inf"
 
 // End of File
--- a/phoneapp/phonemediatorcenter/group/phonemediatorcenter.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/group/phonemediatorcenter.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,10 @@
 #include <platform_paths.hrh>
 
 // Capability assignment.
-CAPABILITY CAP_APPLICATION NetworkControl PowerMgmt MultimediaDD DRM DiskAdmin
+// <-- QT PHONE START --> 
+CAPABILITY CAP_GENERAL_DLL
+//CAPABILITY CAP_APPLICATION MultiMediaDD PowerMgmt NetworkControl DRM DiskAdmin
+// <-- QT PHONE END --> 
 
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
@@ -48,9 +51,12 @@
 
 USERINCLUDE     ../inc
 USERINCLUDE     ../../phoneuicontrol/inc
-USERINCLUDE     ../../phoneuiview/inc
+// <-- QT PHONE START --> 
+USERINCLUDE     ../../phoneuiqtviewadapter/inc
+//USERINCLUDE     ../../phoneuiview/inc
+// <-- QT PHONE END --> 
 USERINCLUDE     ../../phoneuiutils/inc
-USERINCLUDE     ../../phoneui/srcdata // phoneui.pan
+USERINCLUDE     ../../phoneui2/srcdata // phoneui.pan
 
 
 APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
@@ -60,10 +66,12 @@
 LIBRARY         euser.lib
 LIBRARY         phoneuicontrol.lib
 LIBRARY         phoneuiutils.lib
-LIBRARY         phoneuiview.lib
+// <-- QT PHONE START --> 
+//LIBRARY         phoneuiview.lib
+// <-- QT PHONE END --> 
 
 // CCoeStatic
 LIBRARY         cone.lib
 
 // Mediator
-LIBRARY	        mediatorclient.lib
+LIBRARY         mediatorclient.lib
--- a/phoneapp/phonemediatorcenter/inc/cphonedataportmessage.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/inc/cphonedataportmessage.h	Fri Mar 19 09:28:42 2010 +0200
@@ -63,8 +63,8 @@
         
              
     private:
-    	
-		MPEEngineInfo& iEngineInfo;
+        
+        MPEEngineInfo& iEngineInfo;
     };
     
 #endif // CPHONEDATAPORTMESSAGE_H
--- a/phoneapp/phonemediatorcenter/inc/cphonemediatorcommandlistener.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/inc/cphonemediatorcommandlistener.h	Fri Mar 19 09:28:42 2010 +0200
@@ -58,9 +58,9 @@
         * @param aEngineInfo - Interface for setting Phone Engine specific information
         */
         void Initialize( 
-        	MPhoneMenuAndCbaEvents* aMenuAndCbaEventHandler,
-        	MPhoneEngineMessageSender* aMessageSender,
-        	MPEEngineInfo* aEngineInfo );
+            MPhoneMenuAndCbaEvents* aMenuAndCbaEventHandler,
+            MPhoneEngineMessageSender* aMessageSender,
+            MPEEngineInfo* aEngineInfo );
         
         /**
         * A Mediator Service command.
@@ -162,15 +162,15 @@
         
     private:
     
-    	// For mapping commands to CBA and Menu selections
-    	MPhoneMenuAndCbaEvents* iMenuAndCbaHandler;
-    	
-    	// For mapping commands to Phone Engine messages
-    	MPhoneEngineMessageSender* iMessageSender;
+        // For mapping commands to CBA and Menu selections
+        MPhoneMenuAndCbaEvents* iMenuAndCbaHandler;
+        
+        // For mapping commands to Phone Engine messages
+        MPhoneEngineMessageSender* iMessageSender;
 
-		// For setting needed Phone Engine information
-		MPEEngineInfo* iEngineInfo;
-    	
+        // For setting needed Phone Engine information
+        MPEEngineInfo* iEngineInfo;
+        
         CMediatorCommandResponder* iCommandResponder;
         MediatorService::RCommandList iVideoTelCommands;
         MediatorService::RCommandList iAudioCommands;
--- a/phoneapp/phonemediatorcenter/inc/cphonemediatorfactory.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/inc/cphonemediatorfactory.h	Fri Mar 19 09:28:42 2010 +0200
@@ -66,18 +66,18 @@
         * the Singleton object. After that providing parameters aren't needed.
         */
         IMPORT_C CPhoneMediatorCommandListener* CommandListener( 
-        	MPhoneMenuAndCbaEvents* aMenuAndCbaEventHandler = NULL,
-        	MPhoneEngineMessageSender* aMessageSender = NULL,
-        	MPEEngineInfo* aEngineInfo = NULL );
+            MPhoneMenuAndCbaEvents* aMenuAndCbaEventHandler = NULL,
+            MPhoneEngineMessageSender* aMessageSender = NULL,
+            MPEEngineInfo* aEngineInfo = NULL );
 
-		/**
-		* Returns instance of Mediator Message.        	
+        /**
+        * Returns instance of Mediator Message.         
         * @param aMessage - Message from Phone Engine (EPEMessage).
         * @param aCallId - Caller id
         * @return MPhoneMediatorMessage object.
         */
         IMPORT_C MPhoneMediatorMessage* MediatorMessage(
-        	const TInt aMessage, TInt aCallId );
+            const TInt aMessage, TInt aCallId );
         
 
     private:
@@ -99,15 +99,15 @@
         
              
     private:
-    	
-    	// Not owned
-    	MPhoneMenuAndCbaEvents* iMenuAndCbaEvents;
-    	
-    	// Not owned
-    	MPhoneEngineMessageSender* iMessageSender;
-    	
-    	// Not owned
-    	MPEEngineInfo* iEngineInfo;
+        
+        // Not owned
+        MPhoneMenuAndCbaEvents* iMenuAndCbaEvents;
+        
+        // Not owned
+        MPhoneEngineMessageSender* iMessageSender;
+        
+        // Not owned
+        MPEEngineInfo* iEngineInfo;
 
     };
     
--- a/phoneapp/phonemediatorcenter/inc/cphonemediatormessagefactory.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/inc/cphonemediatormessagefactory.h	Fri Mar 19 09:28:42 2010 +0200
@@ -67,9 +67,9 @@
         
              
     private:
-    	
-    	// Reference to Engine Info
-    	MPEEngineInfo& iEngineInfo;
+        
+        // Reference to Engine Info
+        MPEEngineInfo& iEngineInfo;
 
     };
     
--- a/phoneapp/phonemediatorcenter/inc/cphonemediatorsender.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/inc/cphonemediatorsender.h	Fri Mar 19 09:28:42 2010 +0200
@@ -89,7 +89,7 @@
          * @param aCommandParam - Reference to command parameter
          */
         IMPORT_C void SendEvent( const TPhoneViewCommandId aCommandId, 
-        	TPhoneCommandParam& aCommandParam );
+            TPhoneCommandParam& aCommandParam );
 
         /**
          * Sends event to the Mediator.
@@ -98,8 +98,8 @@
          * @param aCommandParam - Reference to command parameter
          */
         IMPORT_C void SendEvent( const TPhoneViewCommandId aCommandId, 
-        	const TInt aCallId, 
-        	TPhoneCommandParam& aCommandParam ) const;
+            const TInt aCallId, 
+            TPhoneCommandParam& aCommandParam ) const;
 
         /**
          * Sends event to the Mediator.
@@ -108,8 +108,8 @@
          * @param aCommandParam - Pointer to TDesC16
          */
         IMPORT_C void SendEvent( const TPhoneViewCommandId aCommandId, 
-        	const TInt aCallId, 
-        	const TDesC* aMessage ) const;
+            const TInt aCallId, 
+            const TDesC* aMessage ) const;
 
         /**
         * Issue a Mediator Service command.
@@ -193,10 +193,10 @@
                 
         
     private:
-    	
-    	/**
-    	 * Interface for sending events to Mediator
-    	 */
+        
+        /**
+         * Interface for sending events to Mediator
+         */
         CMediatorEventProvider* iEventSender;
         
         /**
@@ -209,15 +209,15 @@
         */
         MediatorService::REventList iGenericEvents;
 
-		/**
-		* Interface for sending commands to Mediator
-		*/        
+        /**
+        * Interface for sending commands to Mediator
+        */        
         CMediatorCommandInitiator* iCommandInitiator;
-   	
-    	/**
-    	* Buffer for re-sending command after received Mediator response
-    	*/
-    	TPhoneCommandBuffer iCommandBuffer;
+    
+        /**
+        * Buffer for re-sending command after received Mediator response
+        */
+        TPhoneCommandBuffer iCommandBuffer;
 
         /**
         * Pointer for executing command related to Video Telephony shutdown.
--- a/phoneapp/phonemediatorcenter/src/cphonecontinueemergencycallcommand.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/src/cphonecontinueemergencycallcommand.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -72,12 +72,12 @@
 // ---------------------------------------------------------
 //
 void CPhoneContinueEmergencyCallCommand::ExecuteLD()
-	{
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, 
         "CPhoneContinueEmergencyCallCommand::ExecuteL( ) ");
     iEngineMessageSender.SendPhoneEngineMessage( 
         MPEPhoneModel::EPEMessageContinueEmergencyCallInitialization );
     delete this;
-	}
+    }
 
 //  End of File  
--- a/phoneapp/phonemediatorcenter/src/cphonedataportmessage.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/src/cphonedataportmessage.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -31,7 +31,7 @@
 // ---------------------------------------------------------
 //
 CPhoneDataPortMessage::CPhoneDataPortMessage( MPEEngineInfo& aEngineInfo ) :
-	iEngineInfo( aEngineInfo )
+    iEngineInfo( aEngineInfo )
     {
     }
 
@@ -72,17 +72,20 @@
 // ---------------------------------------------------------
 //
 void CPhoneDataPortMessage::ExecuteL()
-	{
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneDataPortMessage::ExecuteL( ) ");
-	const TName& dataPortName = iEngineInfo.DataPortName();
-	TDataPortPackage dataPortPackage( dataPortName );
-	CPhoneMediatorSender::Instance()->IssueCommand( KMediatorVideoTelephonyDomain,
-													KCatPhoneToVideotelCommands,
-													EVtCmdUseDataport,
-													TVersion( KPhoneToVideotelCmdVersionMajor,
-													          KPhoneToVideotelCmdVersionMinor,
-													          KPhoneToVideotelCmdVersionBuild ),
-													dataPortPackage );
-	}
+    const TName& dataPortName = iEngineInfo.DataPortName();
+// <-- QT PHONE START -->
+    TDataPortPackage dataPortPackage( dataPortName );
+    CPhoneMediatorSender::Instance()->IssueCommand( KMediatorVideoTelephonyDomain,
+                                                    KCatPhoneToVideotelCommands,
+                                                    EVtCmdUseDataport,
+                                                    TVersion( KPhoneToVideotelCmdVersionMajor,
+                                                              KPhoneToVideotelCmdVersionMinor,
+                                                              KPhoneToVideotelCmdVersionBuild ),
+                                                    dataPortPackage );
+
+// <-- QT PHONE END -->
+    }
 
 //  End of File  
--- a/phoneapp/phonemediatorcenter/src/cphonemediatorcommandlistener.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/src/cphonemediatorcommandlistener.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -52,9 +52,9 @@
         {
         TRAPD( err, instance = CPhoneMediatorCommandListener::NewL() );
         if ( err )
-	        {
-	        Panic( EPhoneUtilsCouldNotCreateSingleton );	
-	        }
+            {
+            Panic( EPhoneUtilsCouldNotCreateSingleton );    
+            }
         }
     return instance;
     }
@@ -74,25 +74,25 @@
 CPhoneMediatorCommandListener::~CPhoneMediatorCommandListener()
     {
     if ( iCommandResponder )
-    	{
-    	iCommandResponder->UnregisterCommand( KMediatorTelephonyDomain, 
+        {
+        iCommandResponder->UnregisterCommand( KMediatorTelephonyDomain, 
                                               KCatVideoTelToPhoneCommands, 
                                               iVideoTelCommands );
 
-    	iCommandResponder->UnregisterCommand( KMediatorTelephonyDomain, 
+        iCommandResponder->UnregisterCommand( KMediatorTelephonyDomain, 
                                               KCatAudioCommandsToTelephony, 
                                               iAudioCommands );
 
-    	iCommandResponder->UnregisterCommand( KMediatorTelephonyDomain, 
+        iCommandResponder->UnregisterCommand( KMediatorTelephonyDomain, 
                                               KCatCommandsToTelephony, 
                                               iGenericCommands );
 
         delete iCommandResponder;
         iCommandResponder = NULL;
-    	}
+        }
     iVideoTelCommands.Close();
-	iAudioCommands.Close();
-	iGenericCommands.Close();
+    iAudioCommands.Close();
+    iGenericCommands.Close();
     }
 
 // -----------------------------------------------------------------------------
@@ -104,7 +104,7 @@
     {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, "CPhoneMediatorCommandListener::ConstructL( ) ");
 
-	RegisterMediatorCommandsL();
+    RegisterMediatorCommandsL();
     }
 
 // -----------------------------------------------------------
@@ -130,37 +130,37 @@
 // -----------------------------------------------------------------------------
 //    
 void CPhoneMediatorCommandListener::Initialize( 
-	MPhoneMenuAndCbaEvents* aMenuAndCbaEventHandler,
-	MPhoneEngineMessageSender* aMessageSender,
-	MPEEngineInfo* aEngineInfo )
-	{
-	__LOGMETHODSTARTEND(EPhoneMediatorCenter, "CPhoneMediatorCommandListener::Initialize( ) ");
-	iMenuAndCbaHandler = aMenuAndCbaEventHandler;
-	iMessageSender = aMessageSender;
-	iEngineInfo = aEngineInfo;
-	}
+    MPhoneMenuAndCbaEvents* aMenuAndCbaEventHandler,
+    MPhoneEngineMessageSender* aMessageSender,
+    MPEEngineInfo* aEngineInfo )
+    {
+    __LOGMETHODSTARTEND(EPhoneMediatorCenter, "CPhoneMediatorCommandListener::Initialize( ) ");
+    iMenuAndCbaHandler = aMenuAndCbaEventHandler;
+    iMessageSender = aMessageSender;
+    iEngineInfo = aEngineInfo;
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::RegisterMediatorCommandsL
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::RegisterMediatorCommandsL()
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, 
         "CPhoneMediatorCommandListener::RegisterMediatorCommandsL( ) ");
-	iCommandResponder = CMediatorCommandResponder::NewL( this );
+    iCommandResponder = CMediatorCommandResponder::NewL( this );
 
     RegisterVideoTelephonyMediatorCommands();
     RegisterAudioMediatorCommands();
     RegisterGenericMediatorCommands();                                                
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::RegisterVideoTelephonyMediatorCommands
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::RegisterVideoTelephonyMediatorCommands()
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, 
         "CPhoneMediatorCommandListener::RegisterVideoTelephonyMediatorCommands( ) ");
     TCapabilitySet caps;
@@ -170,7 +170,7 @@
     MediatorService::TCommand newCommand;
     newCommand.iCommandId = EVtCmdFallback;
     newCommand.iVersion = TVersion( KVideoTelToPhoneCmdVersionMajor, 
-    	KVideoTelToPhoneCmdVersionMinor, KVideoTelToPhoneCmdVersionBuild );
+        KVideoTelToPhoneCmdVersionMinor, KVideoTelToPhoneCmdVersionBuild );
     caps.Set( ECapabilityNetworkControl );
     newCommand.iCaps = caps;
     newCommand.iTimeout = KPhoneUiMediatorIfTimeout;    
@@ -186,15 +186,15 @@
     TInt error = iCommandResponder->RegisterCommand( KMediatorTelephonyDomain, 
                                                      KCatVideoTelToPhoneCommands, 
                                                      iVideoTelCommands );
-	__ASSERT_DEBUG( error == KErrNone, Panic( EPhoneMediatorCenterRegistrationFailed ) );
-	}
+    __ASSERT_DEBUG( error == KErrNone, Panic( EPhoneMediatorCenterRegistrationFailed ) );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::RegisterAudioMediatorCommands
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::RegisterAudioMediatorCommands()
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, 
         "CPhoneMediatorCommandListener::RegisterAudioMediatorCommands( ) ");
     TCapabilitySet caps;
@@ -204,7 +204,7 @@
     MediatorService::TCommand newCommand;
     newCommand.iCommandId = EAudioCmdUnmute;
     newCommand.iVersion = TVersion( KAudioCmdToTelephonyVersionMajor, 
-    	KAudioCmdToTelephonyVersionMinor, KAudioCmdToTelephonyVersionBuild );
+        KAudioCmdToTelephonyVersionMinor, KAudioCmdToTelephonyVersionBuild );
     caps.Set( ECapabilityNetworkControl );
     newCommand.iCaps = caps;
     newCommand.iTimeout = KPhoneUiMediatorIfTimeout;    
@@ -217,15 +217,15 @@
     TInt error = iCommandResponder->RegisterCommand( KMediatorTelephonyDomain, 
                                                      KCatAudioCommandsToTelephony, 
                                                      iAudioCommands );
-	__ASSERT_DEBUG( error == KErrNone, Panic( EPhoneMediatorCenterRegistrationFailed ) );
-	}
+    __ASSERT_DEBUG( error == KErrNone, Panic( EPhoneMediatorCenterRegistrationFailed ) );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::RegisterGenericMediatorCommands
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::RegisterGenericMediatorCommands()
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, 
         "CPhoneMediatorCommandListener::RegisterGenericMediatorCommands( ) ");
     TCapabilitySet caps;
@@ -235,7 +235,7 @@
     MediatorService::TCommand newCommand;
     newCommand.iCommandId = EPhoneCmdEndActiveCall;
     newCommand.iVersion = TVersion( KTelephonyCommandsVersionMajor, 
-    	KTelephonyCommandsVersionMinor, KTelephonyCommandsVersionBuild );
+        KTelephonyCommandsVersionMinor, KTelephonyCommandsVersionBuild );
     caps.Set( ECapabilityNetworkControl );
     newCommand.iCaps = caps;
     newCommand.iTimeout = KPhoneUiMediatorIfTimeout;    
@@ -245,164 +245,164 @@
     TInt error = iCommandResponder->RegisterCommand( KMediatorTelephonyDomain, 
                                                      KCatCommandsToTelephony, 
                                                      iGenericCommands );
-	__ASSERT_DEBUG( error == KErrNone, Panic( EPhoneMediatorCenterRegistrationFailed ) );
-	}
+    __ASSERT_DEBUG( error == KErrNone, Panic( EPhoneMediatorCenterRegistrationFailed ) );
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::MediatorCommandL
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::MediatorCommandL( 
-	TUid aDomain, 
-	TUid aCategory, 
+    TUid aDomain, 
+    TUid aCategory, 
     TInt aCommandId, 
     TVersion aVersion, 
     const TDesC8& /*aData*/ )
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, "CPhoneMediatorCommandListener::MediatorCommandL( ) ");
-	if( aDomain == KMediatorTelephonyDomain &&
-	    aCategory == KCatVideoTelToPhoneCommands )
-		{
-		VideoTelephonyCommandL( aCommandId, aVersion );
-		SendResponse( aDomain, aCategory, aCommandId );
-		return;			
-		}
-	else if( aDomain == KMediatorTelephonyDomain &&
+    if( aDomain == KMediatorTelephonyDomain &&
+        aCategory == KCatVideoTelToPhoneCommands )
+        {
+        VideoTelephonyCommandL( aCommandId, aVersion );
+        SendResponse( aDomain, aCategory, aCommandId );
+        return;         
+        }
+    else if( aDomain == KMediatorTelephonyDomain &&
              aCategory == KCatAudioCommandsToTelephony )
-		{
-		AudioCommandL( aCommandId, aVersion );
-		SendResponse( aDomain, aCategory, aCommandId );
-		return;
-		}
-	else if( aDomain == KMediatorTelephonyDomain &&
-	         aCategory == KCatCommandsToTelephony )
-		{
-		GenericCommandL( aCommandId, aVersion );
-		SendResponse( aDomain, aCategory, aCommandId );
-		return;			
-		}
+        {
+        AudioCommandL( aCommandId, aVersion );
+        SendResponse( aDomain, aCategory, aCommandId );
+        return;
+        }
+    else if( aDomain == KMediatorTelephonyDomain &&
+             aCategory == KCatCommandsToTelephony )
+        {
+        GenericCommandL( aCommandId, aVersion );
+        SendResponse( aDomain, aCategory, aCommandId );
+        return;         
+        }
     
-	TInt error = iCommandResponder->IssueResponse( aDomain, 
+    TInt error = iCommandResponder->IssueResponse( aDomain, 
                                                  aCategory, 
                                                  aCommandId,
                                                  KErrNotFound, 
-                                                 KNullDesC8 );								
-	}
+                                                 KNullDesC8 );                              
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::CancelMediatorCommand
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::CancelMediatorCommand( 
-	TUid /*aDomain*/,
+    TUid /*aDomain*/,
     TUid /*aCategory*/, 
     TInt /*aCommandId*/ )
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, 
         "CPhoneMediatorCommandListener::CancelMediatorCommand( ) ");
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::SendResponse
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::SendResponse( 
-	TUid aDomain, 
-	TUid aCategory, 
+    TUid aDomain, 
+    TUid aCategory, 
     TInt aCommandId )
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, 
         "CPhoneMediatorCommandListener::SendResponse( ) ");
-	iCommandResponder->IssueResponse( aDomain, 
+    iCommandResponder->IssueResponse( aDomain, 
                                       aCategory, 
                                       aCommandId,
                                       KErrNone, 
-                                      KNullDesC8 );		
-	}
+                                      KNullDesC8 );     
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::VideoTelephonyCommandL
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::VideoTelephonyCommandL( TInt aCommandId, TVersion /*aVersion*/ )
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, 
         "CPhoneMediatorCommandListener::VideoTelephonyCommandL( ) ");
         
     __ASSERT_DEBUG( iMenuAndCbaHandler, Panic( EPhoneMediatorCenterSingletonNotInitialized ) );
     __ASSERT_DEBUG( iMessageSender, Panic( EPhoneMediatorCenterSingletonNotInitialized ) );
     
-	switch( aCommandId )
-		{
-		case EVtCmdFallback:
-		    iMenuAndCbaHandler->HandleCommandL( EPhoneInCallCmdEndThisActiveCall );
-		    CPhoneReconnectQuery::InstanceL()->ShowReconnectQueryL( ETrue );
-		    break;
-		    
-		case EVtCmdSwitchToVoice:
-		    iMenuAndCbaHandler->HandleCommandL( EPhoneCmdYesSwitchToVoice );
-			break;
-			
-		case EVtCmdLowMemory:
-		    iMenuAndCbaHandler->HandleCommandL( EPhoneCmdVideoCallOutOfMemory );
-		    break;
-			
-		default:
-			__ASSERT_DEBUG( false, Panic( EPhoneMediatorCenterInvalidCommand ) );
-			break;
-		}		
-	}
+    switch( aCommandId )
+        {
+        case EVtCmdFallback:
+            iMenuAndCbaHandler->HandleCommandL( EPhoneInCallCmdEndThisActiveCall );
+            CPhoneReconnectQuery::InstanceL()->ShowReconnectQueryL( ETrue );
+            break;
+            
+        case EVtCmdSwitchToVoice:
+            iMenuAndCbaHandler->HandleCommandL( EPhoneCmdYesSwitchToVoice );
+            break;
+            
+        case EVtCmdLowMemory:
+            iMenuAndCbaHandler->HandleCommandL( EPhoneCmdVideoCallOutOfMemory );
+            break;
+            
+        default:
+            __ASSERT_DEBUG( false, Panic( EPhoneMediatorCenterInvalidCommand ) );
+            break;
+        }       
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::AudioCommandL
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::AudioCommandL( TInt aCommandId, TVersion /*aVersion*/ )
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, 
         "CPhoneMediatorCommandListener::AudioCommandL( ) ");
 
     __ASSERT_DEBUG( iMessageSender, Panic( EPhoneMediatorCenterSingletonNotInitialized ) );
     __ASSERT_DEBUG( iEngineInfo, Panic( EPhoneMediatorCenterSingletonNotInitialized ) );
-		
-	switch( aCommandId )
-		{
-		case EAudioCmdUnmute:
-			iEngineInfo->SetAudioMuteCommand( false );
-			iMessageSender->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageSetAudioMute );
-			break;
-			
-		case EAudioCmdMute:
-			iEngineInfo->SetAudioMuteCommand( true );
-			iMessageSender->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageSetAudioMute );
-			break;
-			
-		default:
-			__ASSERT_DEBUG( false, Panic( EPhoneMediatorCenterInvalidCommand ) );
-			break;
-		}
-	}
+        
+    switch( aCommandId )
+        {
+        case EAudioCmdUnmute:
+            iEngineInfo->SetAudioMuteCommand( false );
+            iMessageSender->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageSetAudioMute );
+            break;
+            
+        case EAudioCmdMute:
+            iEngineInfo->SetAudioMuteCommand( true );
+            iMessageSender->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageSetAudioMute );
+            break;
+            
+        default:
+            __ASSERT_DEBUG( false, Panic( EPhoneMediatorCenterInvalidCommand ) );
+            break;
+        }
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorCommandListener::GenericCommandL
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorCommandListener::GenericCommandL( TInt aCommandId, TVersion /*aVersion*/ )
-	{
+    {
     __LOGMETHODSTARTEND(EPhoneMediatorCenter, 
         "CPhoneMediatorCommandListener::GenericCommandL( ) ");
     __ASSERT_DEBUG( iMenuAndCbaHandler, Panic( EPhoneMediatorCenterSingletonNotInitialized ) );
 
-	switch( aCommandId )
-		{
-		case EPhoneCmdEndActiveCall:
-			iMenuAndCbaHandler->HandleCommandL( EPhoneInCallCmdEndThisActiveCall );
-			break;
-			
-		default:
-			__ASSERT_DEBUG( false, Panic( EPhoneMediatorCenterInvalidCommand ) );
-			break;
-		}
-	}
+    switch( aCommandId )
+        {
+        case EPhoneCmdEndActiveCall:
+            iMenuAndCbaHandler->HandleCommandL( EPhoneInCallCmdEndThisActiveCall );
+            break;
+            
+        default:
+            __ASSERT_DEBUG( false, Panic( EPhoneMediatorCenterInvalidCommand ) );
+            break;
+        }
+    }
 
 // End of File
--- a/phoneapp/phonemediatorcenter/src/cphonemediatorfactory.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/src/cphonemediatorfactory.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -44,9 +44,9 @@
         {
         TRAPD( err, instance = CPhoneMediatorFactory::NewL() );
         if ( err )
-	        {
-	        Panic( EPhoneMediatorCenterCouldNotCreateSingleton );	
-	        }
+            {
+            Panic( EPhoneMediatorCenterCouldNotCreateSingleton );   
+            }
         }
     return instance;
     }
@@ -100,43 +100,43 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C CPhoneMediatorSender* CPhoneMediatorFactory::Sender()
-	{
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorFactory::Sender( ) ");
     return CPhoneMediatorSender::Instance();
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorFactory::CommandListener
 // -----------------------------------------------------------------------------
 //
 EXPORT_C CPhoneMediatorCommandListener* CPhoneMediatorFactory::CommandListener( 
-	MPhoneMenuAndCbaEvents* aMenuAndCbaEventHandler, 
-	MPhoneEngineMessageSender* aMessageSender,
-	MPEEngineInfo* aEngineInfo )
-	{
+    MPhoneMenuAndCbaEvents* aMenuAndCbaEventHandler, 
+    MPhoneEngineMessageSender* aMessageSender,
+    MPEEngineInfo* aEngineInfo )
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorFactory::CommandListener( ) ");
     
     if( aEngineInfo && !iEngineInfo )
-	    {
-		iEngineInfo = aEngineInfo;	    	
-	    }
+        {
+        iEngineInfo = aEngineInfo;          
+        }
     
-	if( aMenuAndCbaEventHandler && aMessageSender )
-		{
-		iMenuAndCbaEvents = aMenuAndCbaEventHandler;
-		iMessageSender = aMessageSender;
-		CPhoneMediatorCommandListener::Instance()->Initialize( aMenuAndCbaEventHandler,
-			aMessageSender, aEngineInfo );
-		}
-	else
-		{
-		// Sanity checks
-		__ASSERT_DEBUG( iMenuAndCbaEvents, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
-		__ASSERT_DEBUG( iMessageSender, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
-		__ASSERT_DEBUG( iEngineInfo, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
-		}
-	return CPhoneMediatorCommandListener::Instance();
-	}
+    if( aMenuAndCbaEventHandler && aMessageSender )
+        {
+        iMenuAndCbaEvents = aMenuAndCbaEventHandler;
+        iMessageSender = aMessageSender;
+        CPhoneMediatorCommandListener::Instance()->Initialize( aMenuAndCbaEventHandler,
+            aMessageSender, aEngineInfo );
+        }
+    else
+        {
+        // Sanity checks
+        __ASSERT_DEBUG( iMenuAndCbaEvents, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
+        __ASSERT_DEBUG( iMessageSender, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
+        __ASSERT_DEBUG( iEngineInfo, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
+        }
+    return CPhoneMediatorCommandListener::Instance();
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorFactory::MediatorMessage
@@ -144,21 +144,21 @@
 //
 EXPORT_C MPhoneMediatorMessage* CPhoneMediatorFactory::MediatorMessage(
     const TInt aMessage, TInt aCallId )
-	{
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorFactory::MediatorMessage( ) ");
-	__ASSERT_DEBUG( iEngineInfo, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
+    __ASSERT_DEBUG( iEngineInfo, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
 
-	CPhoneMediatorMessageFactory* messageFactory = NULL;
+    CPhoneMediatorMessageFactory* messageFactory = NULL;
     MPhoneMediatorMessage* message = NULL;
     
-	TRAPD( error, messageFactory = CPhoneMediatorMessageFactory::NewL( *iEngineInfo ) );
-	if( error == KErrNone )
-		{
-		TRAP_IGNORE( message = messageFactory->CreateMessageL( aMessage, aCallId ) );
-		delete messageFactory;
-		}
+    TRAPD( error, messageFactory = CPhoneMediatorMessageFactory::NewL( *iEngineInfo ) );
+    if( error == KErrNone )
+        {
+        TRAP_IGNORE( message = messageFactory->CreateMessageL( aMessage, aCallId ) );
+        delete messageFactory;
+        }
 
-	return message;
-	}
+    return message;
+    }
 
 // End of File
--- a/phoneapp/phonemediatorcenter/src/cphonemediatormessagefactory.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/src/cphonemediatormessagefactory.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -30,7 +30,7 @@
 // ---------------------------------------------------------
 //
 CPhoneMediatorMessageFactory::CPhoneMediatorMessageFactory( MPEEngineInfo& aEngineInfo ) : 
-	iEngineInfo( aEngineInfo )
+    iEngineInfo( aEngineInfo )
     {
     }
 
@@ -70,25 +70,25 @@
 // ---------------------------------------------------------
 //
 MPhoneMediatorMessage* CPhoneMediatorMessageFactory::CreateMessageL( 
-	const TInt aMessage, TInt aCallId )
-	{
+    const TInt aMessage, TInt aCallId )
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorMessageFactory::CreateMessageL( ) ");
     __PHONELOG2( EBasic, EPhoneMediatorCenter, 
-    	"CPhoneMediatorMessageFactory::CreateMessageL - aMessage=%d, aCallId=%d", aMessage, aCallId );
+        "CPhoneMediatorMessageFactory::CreateMessageL - aMessage=%d, aCallId=%d", aMessage, aCallId );
 
-	MPhoneMediatorMessage* message = NULL;
+    MPhoneMediatorMessage* message = NULL;
 
-	switch( aMessage )
-		{
-		case MEngineMonitor::EPEMessageDataPortLoaned:
-			message = CPhoneDataPortMessage::NewL( iEngineInfo );
-			break;
-			
-		default:
-			break;
-		}
-			
-	return message;
-	}
+    switch( aMessage )
+        {
+        case MEngineMonitor::EPEMessageDataPortLoaned:
+            message = CPhoneDataPortMessage::NewL( iEngineInfo );
+            break;
+            
+        default:
+            break;
+        }
+            
+    return message;
+    }
 
 //  End of File  
--- a/phoneapp/phonemediatorcenter/src/cphonemediatorsender.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/src/cphonemediatorsender.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -18,13 +18,17 @@
 
 // INCLUDE FILES
 #include <MediatorDomainUIDs.h>
+// <-- QT PHONE START -->
 #include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE END -->
 #include "phoneui.hrh"
 #include "cphonemediatorsender.h"
 #include "phonelogger.h"
 #include "phoneconstants.h"
 #include "phonemediatorpackagetypes.h"
-#include "mphonecoveruiobserver.h"
+// <-- QT PHONE START --> 
+//#include "mphonecoveruiobserver.h"
+// <-- QT PHONE END --> 
 #include "phoneui.pan"
 #include "tphonecmdparamcallheaderdata.h"
 #include "tphonecmdparamboolean.h"
@@ -49,9 +53,9 @@
         {
         TRAPD( err, instance = CPhoneMediatorSender::NewL() );
         if ( err )
-	        {
-	        Panic( EPhoneMediatorCenterCouldNotCreateSingleton );	
-	        }
+            {
+            Panic( EPhoneMediatorCenterCouldNotCreateSingleton );   
+            }
         }
     return instance;
     }
@@ -86,7 +90,7 @@
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::ConstructL( ) ");
     iCommandInitiator = CMediatorCommandInitiator::NewL( this );
     iEventSender = CMediatorEventProvider::NewL();
-	ResetCommandBuffer();
+    ResetCommandBuffer();
     
     RegisterGenericEvents();        
     }
@@ -114,16 +118,16 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorSender::RegisterGenericEvents()
-	{
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::RegisterGenericEvents( ) ");
-	TCapabilitySet caps;
-	caps.SetEmpty();
-	
-	MediatorService::TEvent newEvent;
-	newEvent.iEventId = EPhoneEventCallData;
-	newEvent.iVersion = TVersion( KTelephonyEventsVersionMajor,
-                              	  KTelephonyEventsVersionMinor, 
-                              	  KTelephonyEventsVersionBuild );
+    TCapabilitySet caps;
+    caps.SetEmpty();
+    
+    MediatorService::TEvent newEvent;
+    newEvent.iEventId = EPhoneEventCallData;
+    newEvent.iVersion = TVersion( KTelephonyEventsVersionMajor,
+                                  KTelephonyEventsVersionMinor, 
+                                  KTelephonyEventsVersionBuild );
     newEvent.iCaps = caps;
     
     TRAPD( errorCode, iGenericEvents.AppendL( newEvent ));
@@ -134,7 +138,7 @@
                                      iGenericEvents );  
         __ASSERT_DEBUG( !res, Panic( EPhoneMediatorCenterRegistrationFailed ) );
         }
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorSender::SendEvent
@@ -151,130 +155,132 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
-	const TInt aCallId ) const
-	{
-	switch( aCommandId )
-		{
-		case EPhoneViewRemoveCallHeader:
-		    {
+    const TInt aCallId ) const
+    {
+    switch( aCommandId )
+        {
+        case EPhoneViewRemoveCallHeader:
+            {
             __PHONELOG1( EBasic, EPhoneMediatorCenter, 
                 "CPhoneMediatorSender::SendEvent - EPhoneEventCallData iCallId:%d" ,aCallId );
-			TTelephonyCallDataParam callDataParam;
-			callDataParam.iCallId = aCallId;
-			callDataParam.iCallState = ECallStateIdle;
-			TTelephonyCallDataParamPackage callDataParamPackage( callDataParam );
-			iEventSender->RaiseEvent( KMediatorTelephonyDomain,
-							          KCatEventsFromTelephony,
-							          EPhoneEventCallData,
-                                	  TVersion( KTelephonyEventsVersionMajor,
-                              	      	KTelephonyEventsVersionMinor, 
-                              	      	KTelephonyEventsVersionBuild ),
-                                	  callDataParamPackage );	
+            TTelephonyCallDataParam callDataParam;
+            callDataParam.iCallId = aCallId;
+            callDataParam.iCallState = ECallStateIdle;
+            TTelephonyCallDataParamPackage callDataParamPackage( callDataParam );
+            iEventSender->RaiseEvent( KMediatorTelephonyDomain,
+                                      KCatEventsFromTelephony,
+                                      EPhoneEventCallData,
+                                      TVersion( KTelephonyEventsVersionMajor,
+                                        KTelephonyEventsVersionMinor, 
+                                        KTelephonyEventsVersionBuild ),
+                                      callDataParamPackage );   
             }
-			break;
-			
-		default:
-			break;
-		}
-	}
+            break;
+            
+        default:
+            break;
+        }
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorSender::SendEvent
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
-	TPhoneCommandParam& aCommandParam )
-	{
-	switch( aCommandId )
-	    {
-		case EPhoneViewActivateMuteUIChanges:
+    TPhoneCommandParam& aCommandParam )
+    {
+    switch( aCommandId )
+        {
+        case EPhoneViewActivateMuteUIChanges:
             {
             TPhoneCmdParamBoolean& booleanParam = static_cast<TPhoneCmdParamBoolean&>( aCommandParam );
             const TBool audioMute( booleanParam.Boolean() );
             TInt response = KErrNone;
-            TInt command = -1;
+// <-- QT PHONE START --> 
+            TInt command = -1; 
             if( audioMute )
                 {
                 __PHONELOG( EBasic, EPhoneMediatorCenter, 
                     "CPhoneMediatorSender::SendEvent - transformed to Mediator Command EVtCmdMute" );
                 command = EVtCmdMute;
-			    response = IssueCommand( KMediatorVideoTelephonyDomain,
-			                  			 KCatPhoneToVideotelCommands, 
-			                  			 command,
-                              			 TVersion( KPhoneToVideotelCmdVersionMajor,
-                              	        		   KPhoneToVideotelCmdVersionMinor, 
-                              	        		   KPhoneToVideotelCmdVersionBuild ),
-                              			 KNullDesC8 );
+                response = IssueCommand( KMediatorVideoTelephonyDomain,
+                                         KCatPhoneToVideotelCommands, 
+                                         command,
+                                         TVersion( KPhoneToVideotelCmdVersionMajor,
+                                                   KPhoneToVideotelCmdVersionMinor, 
+                                                   KPhoneToVideotelCmdVersionBuild ),
+                                         KNullDesC8 );
                 }
             else
                 {
                 __PHONELOG( EBasic, EPhoneMediatorCenter, 
                     "CPhoneMediatorSender::SendEvent - transformed to Mediator Command EVtCmdUnmute" );
                 command = EVtCmdUnmute;
-			    response = IssueCommand( KMediatorVideoTelephonyDomain,
-			                  			 KCatPhoneToVideotelCommands, 
-			                  			 command,
-                              			 TVersion( KPhoneToVideotelCmdVersionMajor,
-                              	        		   KPhoneToVideotelCmdVersionMinor, 
-                              	        		   KPhoneToVideotelCmdVersionBuild ),
-                              			 KNullDesC8 );
+                response = IssueCommand( KMediatorVideoTelephonyDomain,
+                                         KCatPhoneToVideotelCommands, 
+                                         command,
+                                         TVersion( KPhoneToVideotelCmdVersionMajor,
+                                                   KPhoneToVideotelCmdVersionMinor, 
+                                                   KPhoneToVideotelCmdVersionBuild ),
+                                         KNullDesC8 );
                 }
                 
             if( ( response == KErrInUse ) && ( iCommandBuffer.iCommandId == KErrNotFound ) )
-	            {
-				// Previous command wasn't handled yet so buffer the last unhandled command.
-				// This command will be sent after we get response to the previous command
-				iCommandBuffer.iCommandId = command;
-				iCommandBuffer.iDomainUid = KMediatorVideoTelephonyDomain;
-				iCommandBuffer.iCategoryUid = KCatPhoneToVideotelCommands;
-				iCommandBuffer.iVersion = TVersion( KPhoneToVideotelCmdVersionMajor,
-                              	        		    KPhoneToVideotelCmdVersionMinor, 
-                              	        		    KPhoneToVideotelCmdVersionBuild );
-	            }
+                {
+                // Previous command wasn't handled yet so buffer the last unhandled command.
+                // This command will be sent after we get response to the previous command
+                iCommandBuffer.iCommandId = command;
+                iCommandBuffer.iDomainUid = KMediatorVideoTelephonyDomain;
+                iCommandBuffer.iCategoryUid = KCatPhoneToVideotelCommands;
+                iCommandBuffer.iVersion = TVersion( KPhoneToVideotelCmdVersionMajor,
+                                                    KPhoneToVideotelCmdVersionMinor, 
+                                                    KPhoneToVideotelCmdVersionBuild );
+                }
+// <-- QT PHONE END --> 
             }
-			break;
+            break;
             
         default:
             break;    
-	    }	
-	}
+        }   
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorSender::SendEvent
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
- 	const TInt aCallId, TPhoneCommandParam& aCommandParam ) const
-	{
-	switch( aCommandId )
-		{
-		case EPhoneViewCreateCallHeader:
+    const TInt aCallId, TPhoneCommandParam& aCommandParam ) const
+    {
+    switch( aCommandId )
+        {
+        case EPhoneViewCreateCallHeader:
             {
             TPhoneCmdParamCallHeaderData& callHeaderParam = static_cast<TPhoneCmdParamCallHeaderData&>( aCommandParam );
             __PHONELOG2( EBasic, EPhoneMediatorCenter, 
                 "CPhoneMediatorSender::SendEvent - EPhoneEventCallData iCallId:%d iCLIText:%S",
                 aCallId, &callHeaderParam.CLIText() );
-			TTelephonyCallDataParam callDataParam;
-			callDataParam.iCallId = aCallId;
-			callDataParam.iCLIText = callHeaderParam.CLIText();
-			callDataParam.iCallState = MapCallState( callHeaderParam.CallState() );
-			callDataParam.iRemotePhoneNumber = callHeaderParam.RemotePhoneNumber();
-			callDataParam.iCallType = MapCallType( callHeaderParam.CallType() );
-			TTelephonyCallDataParamPackage callDataParamPackage( callDataParam );
-			iEventSender->RaiseEvent( KMediatorTelephonyDomain,
-							          KCatEventsFromTelephony,
-							          EPhoneEventCallData,
-                                	  TVersion( KTelephonyEventsVersionMajor,
-                              	      	KTelephonyEventsVersionMinor, 
-                              	      	KTelephonyEventsVersionBuild ),
-                                	  callDataParamPackage );	
+            TTelephonyCallDataParam callDataParam;
+            callDataParam.iCallId = aCallId;
+            callDataParam.iCLIText = callHeaderParam.CLIText();
+            callDataParam.iCallState = MapCallState( callHeaderParam.CallState() );
+            callDataParam.iRemotePhoneNumber = callHeaderParam.RemotePhoneNumber();
+            callDataParam.iCallType = MapCallType( callHeaderParam.CallType() );
+            TTelephonyCallDataParamPackage callDataParamPackage( callDataParam );
+            iEventSender->RaiseEvent( KMediatorTelephonyDomain,
+                                      KCatEventsFromTelephony,
+                                      EPhoneEventCallData,
+                                      TVersion( KTelephonyEventsVersionMajor,
+                                        KTelephonyEventsVersionMinor, 
+                                        KTelephonyEventsVersionBuild ),
+                                      callDataParamPackage );   
             }
-			break;
-			
-		default:
-			break;
-		}
-	}
+            break;
+            
+        default:
+            break;
+        }
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorSender::SendEvent
@@ -298,54 +304,57 @@
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::IssueCommand( ) ");
     __PHONELOG3( EBasic, EPhoneMediatorCenter, 
             "aCommandId = %d, aDomain = %d, aCategory = %d", aCommandId, aDomain, aCategory );
-	if( aShutdownCommand )
-    	{
-        iShutdownCommand = aShutdownCommand;    	    
-    	}
+    if( aShutdownCommand )
+        {
+        iShutdownCommand = aShutdownCommand;            
+        }
 
-	return iCommandInitiator->IssueCommand( 
-		aDomain, 
-		aCategory, 
-		aCommandId, 
-		aVersion, 
-        aData );		
-	}
+    return iCommandInitiator->IssueCommand( 
+        aDomain, 
+        aCategory, 
+        aCommandId, 
+        aVersion, 
+        aData );        
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorSender::CommandResponseL
 // -----------------------------------------------------------------------------
 //
 void CPhoneMediatorSender::CommandResponseL( TUid aDomain, TUid aCategory, 
-	TInt aCommandId, TInt /*aStatus*/, const TDesC8& /*aData*/ )
-	{
+    TInt aCommandId, TInt /*aStatus*/, const TDesC8& /*aData*/ )
+    {
     // First check for buffered command
-	if( iCommandBuffer.iCommandId != KErrNotFound )
-		{
-		// We have a buffered command waiting
+    if( iCommandBuffer.iCommandId != KErrNotFound )
+        {
+        // We have a buffered command waiting
         __PHONELOG( EBasic, EPhoneMediatorCenter, 
             "CPhoneMediatorSender::VideoTelephonyCommandResponse - Buffered Command waiting" );
-		if( iCommandBuffer.iCommandId != aCommandId )
-			{
-			// And it's not identical to the command which response we now received
-			// so it's necessary to re-send it
-	        __PHONELOG1( EBasic, EPhoneMediatorCenter, 
-	            "CPhoneMediatorSender::VideoTelephonyCommandResponse - Resending command %d", iCommandBuffer.iCommandId );
-			IssueCommand( iCommandBuffer.iDomainUid,
-			              iCommandBuffer.iCategoryUid, 
-			              iCommandBuffer.iCommandId,
+        if( iCommandBuffer.iCommandId != aCommandId )
+            {
+            // And it's not identical to the command which response we now received
+            // so it's necessary to re-send it
+            __PHONELOG1( EBasic, EPhoneMediatorCenter, 
+                "CPhoneMediatorSender::VideoTelephonyCommandResponse - Resending command %d", iCommandBuffer.iCommandId );
+            IssueCommand( iCommandBuffer.iDomainUid,
+                          iCommandBuffer.iCategoryUid, 
+                          iCommandBuffer.iCommandId,
                           iCommandBuffer.iVersion,
                           KNullDesC8 );
                           
-			ResetCommandBuffer();
-			}
-		}
+            ResetCommandBuffer();
+            }
+        }
+// <-- QT PHONE START --> 
 
-	if( ( aDomain == KMediatorVideoTelephonyDomain ) &&
-	    ( aCategory == KCatPhoneToVideotelCommands ) )
-    	{
-        VideoTelephonyCommandResponse( aCommandId );  	    
-    	}
-	}
+    if( ( aDomain == KMediatorVideoTelephonyDomain ) &&
+        ( aCategory == KCatPhoneToVideotelCommands ) )
+        {
+        VideoTelephonyCommandResponse( aCommandId );        
+        }
+
+// <-- QT PHONE END --> 
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneMediatorSender::VideoTelephonyCommandResponse
@@ -356,17 +365,20 @@
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::VideoTelephonyCommandResponse( ) ");
     __PHONELOG1( EBasic, EPhoneMediatorCenter, 
         "VideoTelephonyCommandResponse aCommandId = %d", aCommandId );
+// <-- QT PHONE START --> 
 
     switch( aCommandId )
         {
         case EVtCmdReleaseDataport:
-		    __ASSERT_DEBUG( iShutdownCommand, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
+            __ASSERT_DEBUG( iShutdownCommand, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
             TRAP_IGNORE( iShutdownCommand->ExecuteLD());
             break;
             
         default:
             break;
         }     
+
+// <-- QT PHONE END --> 
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneapp/phonemediatorcenter/src/cphonereleasecommand.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/src/cphonereleasecommand.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -72,12 +72,12 @@
 // ---------------------------------------------------------
 //
 void CPhoneReleaseCommand::ExecuteLD()
-	{
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, 
         "CPhoneReleaseCommand::ExecuteL( ) ");
     iEngineMessageSender.SendPhoneEngineMessage( 
         MPEPhoneModel::EPEMessageRelease );
     delete this;
-	}
+    }
 
 //  End of File  
--- a/phoneapp/phonemediatorcenter/src/cphoneswitchtovideoorvoicecommand.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/src/cphoneswitchtovideoorvoicecommand.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -72,12 +72,12 @@
 // ---------------------------------------------------------
 //
 void CPhoneSwitchToVideoOrVoiceCommand::ExecuteLD()
-	{
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, 
         "CPhoneSwitchToVideoOrVoiceCommand::ExecuteL( ) ");
     iEngineMessageSender.SendPhoneEngineMessage( 
         MPEPhoneModel::EPEMessageSwitchToVideoOrVoice );
     delete this;
-	}
+    }
 
 //  End of File  
--- a/phoneapp/phonemediatorcenter/src/cphoneterminateallconnectionscommand.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phonemediatorcenter/src/cphoneterminateallconnectionscommand.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -72,12 +72,12 @@
 // ---------------------------------------------------------
 //
 void CPhoneTerminateAllConnectionsCommand::ExecuteLD()
-	{
+    {
     __LOGMETHODSTARTEND( EPhoneMediatorCenter, 
         "CPhoneTerminateAllConnectionsCommand::ExecuteL( ) ");
     iEngineMessageSender.SendPhoneEngineMessage( 
         MPEPhoneModel::EPEMessageTerminateAllConnections );
     delete this;
-	}
+    }
 
 //  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/bwins/PhoneRingingtonePlayeru.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,7 @@
+EXPORTS
+	?StopPlaying@CPhoneRingingToneController@@QAEXXZ @ 1 NONAME ; void CPhoneRingingToneController::StopPlaying(void)
+	?PlayRingToneL@CPhoneRingingToneController@@QAEXPAVTPhoneCommandParam@@@Z @ 2 NONAME ; void CPhoneRingingToneController::PlayRingToneL(class TPhoneCommandParam *)
+	?NewL@CPhoneRingingToneController@@SAPAV1@XZ @ 3 NONAME ; class CPhoneRingingToneController * CPhoneRingingToneController::NewL(void)
+	?MuteRingingToneOnAnswer@CPhoneRingingToneController@@QAEXXZ @ 4 NONAME ; void CPhoneRingingToneController::MuteRingingToneOnAnswer(void)
+	?MuteRingingTone@CPhoneRingingToneController@@QAEXXZ @ 5 NONAME ; void CPhoneRingingToneController::MuteRingingTone(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/eabi/PhoneRingingtonePlayeru.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,11 @@
+EXPORTS
+	_ZN27CPhoneRingingToneController11StopPlayingEv @ 1 NONAME
+	_ZN27CPhoneRingingToneController13PlayRingToneLEP18TPhoneCommandParam @ 2 NONAME
+	_ZN27CPhoneRingingToneController15MuteRingingToneEv @ 3 NONAME
+	_ZN27CPhoneRingingToneController23MuteRingingToneOnAnswerEv @ 4 NONAME
+	_ZN27CPhoneRingingToneController4NewLEv @ 5 NONAME
+	_ZTI17CPhoneAudioPlayer @ 6 NONAME ; #<TI>#
+	_ZTI17CPhoneRingingTone @ 7 NONAME ; #<TI>#
+	_ZTV17CPhoneAudioPlayer @ 8 NONAME ; #<VT>#
+	_ZTV17CPhoneRingingTone @ 9 NONAME ; #<VT>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+PRJ_EXPORTS
+
+
+PRJ_MMPFILES
+phoneringingtoneplayer.mmp
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/group/phoneringingtoneplayer.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#include <platform_paths.hrh>
+
+// Capability assignment.
+CAPABILITY ALL -TCB
+
+// Assign Vendor ID.
+VENDORID VID_DEFAULT
+
+TARGET          phoneringingtoneplayer.dll
+TARGETTYPE      dll
+UID             0x1000008d 0x2002134E
+
+SOURCEPATH      ../src
+
+
+SOURCE          cphoneaudioplayer.cpp
+SOURCE          cphoneringingtone.cpp
+SOURCE          cphoneringingtonecontroller.cpp
+SOURCE          cphoneringingtoneplayer.cpp 
+SOURCE          cphonettsplayer.cpp
+
+/* Languages */
+LANG SC
+
+USERINCLUDE     ../inc
+USERINCLUDE     ../../phoneuiqtviewadapter/inc
+USERINCLUDE     ../../phoneuicontrol/inc
+USERINCLUDE     ../../phoneuiutils/inc
+USERINCLUDE     ../../phoneui2/srcdata
+USERINCLUDE     ../../phonemediatorcenter/inc
+
+APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
+
+SYSTEMINCLUDE   /epoc32/include/ecom
+SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
+SYSTEMINCLUDE   /epoc32/include/mda/client
+SYSTEMINCLUDE   /epoc32/include/mmf/common
+SYSTEMINCLUDE   /epoc32/include/mmf/server
+
+LIBRARY         phoneuiutils.lib
+LIBRARY         euser.lib
+LIBRARY         efsrv.lib               // TParse
+LIBRARY         ecom.lib                // for CSFIUtilsPhoneInterface plugin
+LIBRARY         apgrfx.lib              // Apa server
+LIBRARY         mediaclient.lib
+LIBRARY         mediaclientaudio.lib
+LIBRARY         drmhelper.lib
+LIBRARY         apmime.lib
+LIBRARY         caf.lib
+LIBRARY         charconv.lib            // UTF-8 conversion for the TTS
+LIBRARY         featmgr.lib             // FeatureManager
+LIBRARY         mediatorclient.lib
+LIBRARY         audiooutputrouting.lib  // Ringingtone output
+LIBRARY         platformenv.lib         // PathInfo
+LIBRARY         cone.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/cphoneaudioplayer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,355 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHONEAUDIOPLAYER_H
+#define CPHONEAUDIOPLAYER_H
+
+// System includes
+#include <e32base.h>
+#include <mdaaudiosampleplayer.h>
+#include <mdaaudiotoneplayer.h>
+
+// Forward declarations
+class MPhoneAudioPlayerObserver;
+class C3DRingingToneInterface;
+class CPhoneRingingTone;
+class CAudioOutput;
+ 
+/**
+*  Audio player for playing audio sample or tone file. 
+*
+*  @since 1.0
+*/
+class CPhoneAudioPlayer :
+    public CBase,
+    private MMdaAudioPlayerCallback,
+    private MMdaAudioToneObserver
+    {
+    public:
+
+        enum TAudioPlayerStatus
+            {
+            EToneLoading,
+            EToneReady,
+            ETonePlaying
+            };
+
+        enum TRingingType
+            {
+            ETypeRinging,
+            ETypeRingingOnce,
+            ETypeAscending
+            };
+
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        * @param aRingingTone The ringing tone
+        * @param aPriority The priority for the playing
+        * @param aPreference The preference value
+        * @param aObserver Audio player observer
+        * @param aId The id of this audio player
+        * @param aMdaServer The reference to media server
+        * @param aExtSecNeeded ETrue if DRM extend security is needed
+        * @return The instance of the audio player.
+        */
+        static CPhoneAudioPlayer* NewL( 
+            const CPhoneRingingTone& aRingingTone, 
+            TInt aPriority, 
+            TUint aPreference,
+            MPhoneAudioPlayerObserver& aObserver, 
+            TInt aId = 0,
+            CMdaServer* aMdaServer = NULL,
+            TBool aExtSecNeeded = EFalse );
+
+        /**
+        * Two-phased constructor.
+        * @param aRingingTone The ringing tone
+        * @param aPriority The priority for the playing
+        * @param aPreference The preference value
+        * @param aObserver Audio player observer
+        * @param aId The id of this audio player
+        * @param aMdaServer The reference to media server
+        * @param aExtSecNeeded ETrue if DRM extend security is needed
+        * @return The instance of the audio player. NULL if the function fails.
+        */
+        static CPhoneAudioPlayer* New( 
+            const CPhoneRingingTone& aRingingTone, 
+            TInt aPriority, 
+            TUint aPreference,
+            MPhoneAudioPlayerObserver& aObserver, 
+            TInt aId = 0,
+            CMdaServer* aMdaServer = NULL,
+            TBool aExtSecNeeded = EFalse );
+            
+        /**
+        * Two-phased constructor.
+        * @param aFileName The ringing tone file name.
+        * @param aPriority The priority for the playing
+        * @param aPreference The preference value
+        * @param aObserver Audio player observer
+        * @param aId The id of this audio player
+        * @param aMdaServer The reference to media server
+        * @param aExtSecNeeded ETrue if DRM extend security is needed
+        * @return The instance of the audio player.
+        */
+        static CPhoneAudioPlayer* NewL( 
+            const TDesC& aFileName, 
+            TInt aPriority, 
+            TUint aPreference,
+            MPhoneAudioPlayerObserver& aObserver, 
+            TInt aId = 0,
+            CMdaServer* aMdaServer = NULL,
+            TBool aExtSecNeeded = EFalse );            
+
+        /**
+        * Two-phased constructor, take audio from descriptor.
+        *
+        * @param aSequence sequence to be played.
+        * @param aPriority priority of tone.
+        * @param aPreference preference of tone.
+        * @param aObserver observer.
+        * @param aId identifier, used in observer interface 
+        *            calls.
+        * @param aMdaServer The reference to media server
+        */
+        static CPhoneAudioPlayer* NewSeqL(
+            const TDesC8& aSequence,
+            TInt aPriority,
+            TUint aPreference,
+            MPhoneAudioPlayerObserver& aObserver, 
+            TInt aId = 0,
+            CMdaServer* aMdaServer = NULL );
+         
+        /**
+        * Two-phased constructor, takes Text-To-Speech text to be played.
+        * @since Series 60 3.0
+        * @param aText Text to be pronounced.
+        * @param aPriority priority of tone.
+        * @param aPreference preference of tone.
+        * @param aObserver observer.
+        * @param aId identifier, used in observer interface 
+        *            calls.
+        */        
+        static CPhoneAudioPlayer* NewTtsL(
+            const TDesC& aText,
+            TInt aPriority,
+            TUint aPreference,
+            MPhoneAudioPlayerObserver& aObserver, 
+            TInt aId = 0);
+        
+        /**
+        * Destructor.
+        */
+        ~CPhoneAudioPlayer();
+       
+    public: // new function
+
+        /**
+        * Play the audio file or tone
+        * @param aRingingType 
+        * @param aVolume take value from 1 to 10
+        * @param aTTsToBePlayed
+        */
+        void Play(
+            TRingingType aRingType,
+            TInt aVolume,
+            TBool aTTsToBePlayed );
+
+        /**
+        * Stop current file playing
+        */
+        void StopPlaying();
+        
+          
+        /**
+        * Sets new volumes and ramptimes.
+        * @param aVolume -volume to be set
+        * @param aRamptime -ramptime to be set.
+        */           
+        void SetNewVolumeAndRamptime( TInt aVolume, TInt aRamptime );
+        
+        /**
+        * Re starts playing.
+        */
+        void ReStartPlaying();
+        /**
+        * Enable or disable TTs playing.
+        * @param aTTsToBePlayed
+        */
+        void SetTTsToBePlayed( TBool aTTsToBePlayed );
+        
+        /**
+        * Sets volume level to zero.
+        * @since Series 60 3.1
+        */  
+        void MutePlaying();
+      
+
+    private: //from base class
+
+        /**
+        * from MMdaAudioPlayerCallback
+        */
+        virtual void MapcInitComplete(
+            TInt aError, 
+            const TTimeIntervalMicroSeconds& aDuration );
+
+        /**
+        * from MMdaAudioPlayerCallback
+        */
+        virtual void MapcPlayComplete( TInt aError );
+
+        /**
+        * from MMdaAudioToneObserver
+        */
+        virtual void MatoPrepareComplete(TInt aError);
+
+        /**
+        * from MMdaAudioToneObserver
+        */
+        virtual void MatoPlayComplete(TInt aError);
+        
+    private:
+
+        enum TAudioDataFormat
+            {
+            EFormatTone,
+            EFormatSample,
+            EFormatTts // Text-To-Speech
+            };
+
+        /**
+        * C++ constructor.
+        */
+        CPhoneAudioPlayer( 
+            TAudioDataFormat aDataFormat,
+            MPhoneAudioPlayerObserver& aObserver, 
+            TInt aPriority, 
+            TUint aPreference,
+            TInt aId );
+
+        /**
+        * Symbian OS constructor.
+        */
+        void ConstructL( 
+            const TDesC& aFileName, CMdaServer* aMdaServer );
+
+        /**
+        * Symbian OS constructor.
+        */
+        void ConstructSeqL( 
+            const TDesC8& aSequence,
+            CMdaServer* aMdaServer ); 
+
+        /**
+        * Symbian OS constructor for the Text-To-Speech option
+        * @since Series 60 3.0
+        */
+        void ConstructTtsL( 
+            const TDesC& aTtsText, 
+            TInt aPriority,
+            TUint aPreference );
+
+        /**
+        * Do the playing stuff
+        */
+        void DoPlay();
+
+        /**
+        * Ser tinging type properties
+        */
+        void SetRingingTypeProperties();
+
+        /**
+        * Call back function for timer
+        */
+        static TInt TimerCallBack( TAny* aAny );
+
+        /**
+        * Handle timer events
+        */
+        void HandleTimerEvent();
+        
+        /*
+        * Convert volume to the scale used by hardware
+        * @param aVolume volume to be altered
+        * @return TInt   new volume
+        */
+        TInt ConvertVolume( TInt aVolume );
+
+    private:    // Data  
+
+        // The format of audio data, audio sample file or tone file
+        TAudioDataFormat iFormat;
+
+        // Observer for error handling
+        MPhoneAudioPlayerObserver& iObserver;
+
+        // Priority. It's only used in playing tone file
+        const TInt iPriority; 
+        // Preference. Only used for tone file
+        const TUint iPreference; 
+
+        // Identifier number
+        TInt iId;
+
+        // Player for tone file.
+        CMdaAudioToneUtility* iTonePlayer;
+
+        // Player for audio file.
+        CMdaAudioPlayerUtility* iSamplePlayer;
+
+        // Player for the Text-To-Speech texts
+        CMdaAudioPlayerUtility* iTtsPlayer;
+
+        // The status of the player
+        TAudioPlayerStatus iPlayerStatus;
+
+        // How does the file played. It's only used if the player
+        // is playing the file
+        TRingingType iRingType;
+
+        // Volume
+        TInt iVolume;
+
+        // For ascending and descending used for set current volume
+        TInt iCurrentVolume;
+
+        // Used by sample player
+        TBool iToBePlaying;
+
+        // Store for sequence.
+        HBufC8* iSequence;
+        
+        // Store for the TTS source string
+        HBufC8* iTtsText;
+
+        // 3D Audio ringing tone plugin
+        C3DRingingToneInterface* i3DPlugin;
+        
+        // Flag to  indicate whether we need to play TTs or not
+        TBool iTTsToBePlayed;
+        
+        // Ringingtone output
+        CAudioOutput* iAudioOutput; 
+    };
+
+#endif      // CPHONEAUDIOPLAYER_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/cphoneringingtone.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,229 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHONERINGINGTONE_H
+#define CPHONERINGINGTONE_H
+
+// INCLUDES
+#include <e32base.h>
+#include <Profile.hrh>
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+*  Ringing tone
+*  Wrapper for file name. In addtion, provides methods
+*  for ringing tone type identification. 
+*
+*  @lib Phone.app
+*  @since Series 60 3.1
+*/
+class CPhoneRingingTone : public CBase
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        * @param aFileName Ringing tone file name with path.
+        * @param aDrmInPlayback ETrue to use IsFileDrmProtected().
+        */
+        static CPhoneRingingTone* NewL( 
+            const TDesC& aFileName,
+            TBool aDrmInPlayback = EFalse );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CPhoneRingingTone();
+
+    public: // New functions
+        
+        
+        /**
+        * Sets the file name including path.
+        * @since Series 60 3.1
+        * @param aFileName file name plus path.
+        */
+        void SetFileName( const TDesC& aFileName );
+        
+        /**
+        * Returns file name including path.
+        * @since Series 60 3.1
+        * @return File name.
+        */
+        const TDesC& FileName() const;
+        
+        /**
+        * Returns MIME type.
+        * @since Series 60 3.1
+        * @return MIME type.
+        */
+        const TDesC& MimeType() const;
+        
+        /**
+        * Checks if video ringing tone.
+        * @since Series 60 3.1
+        * @return ETrue if video ringing tone.
+        */
+        TBool IsVideoRingingTone();
+        
+        /**
+        * Checks if the file is a DCF file.
+        * @since Series 60 3.1
+        * @return ETrue if files is DRM protected.
+        */
+        TBool IsFileDrmProtected() const;
+        
+        /**
+        * Checks if the file is in ROM.
+        * @since Series 60 3.1
+        */
+        TBool IsFileInRom() const;
+
+        /**
+        * Set profile's ringing type  
+        * @since Series 60 5.0
+        */        
+        void SetRingingType( TProfileRingingType aRingingType);
+
+        /**
+        * Return ringing type of current ringingtone  
+        * @since Series 60 5.0
+        */            
+        TProfileRingingType RingingType() const;        
+        
+        /**
+        * Set profile's ringingtone volume  
+        * @since Series 60 5.0
+        */            
+        void SetVolume( const TInt aVolume );
+        
+        /**
+        * Return volume of current ringingtone  
+        * @since Series 60 5.0
+        */         
+        TInt Volume() const;
+        
+        /**
+        * Set profile's TTS value
+        * @since Series 60 5.0
+        */         
+        void SetTtsToneToBePlayed( TBool aTtsToneToBePlayed );
+
+        /**
+        * Return TTS status of current profile  
+        * @since Series 60 5.0
+        */         
+        TBool TtsToneToBePlayed() const;       
+        
+        /**
+        * Checks if ringing tone file's size is larger than the size limit.
+        * If size limit is exceeded, default tone is played instead.
+        * @since 3.1
+        * @param aRingingTone  Tone to check.
+        * @return EFalse if the limit was exceeded and thus default tone played.
+        *         ETrue  if tone file's size was valid and the checked tone 
+        *                can be played.
+        */
+        TBool CheckAndHandleToneSizeLimit();
+        
+        /**
+        * Checks if ringing tone file's size is larger than the size limit.
+        * @since 3.1
+        * @param aFile   File to check.
+        *        aSizeLimitKB  the size limit in kB is set to this variable.
+        * @return KErrNone        if the file can be used as a ringing tone.
+        *         KErrTooBig        if the file size limit is exceeded.
+        *         Other error value if error happened during size checking.
+        */
+        TInt CheckToneFileSize( const TDesC& aFile, TInt aSizeLimitKB );
+        
+        /**
+        * Reads from central repository the file size limit of following tones:
+        * -contact's personal ringing tone
+        * -voice call line1
+        * -voice call line2
+        * Value 0 means all sizes are allowed.
+        * @since 3.1
+        * @return leaves on error.
+        */
+        void GetMaxToneFileSize();      
+        
+    private:
+
+        /**
+        * Refresh MIME type. This must be called
+        * before using MimeType().
+        */
+        TInt RefreshMime();    
+        
+        /**
+        * Refresh MIME type.
+        */
+        void RefreshMimeL();
+        
+        /**
+        * Checks if file is located in video directory.
+        */
+        TBool IsFileInVideoDirectory() const;
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CPhoneRingingTone( TBool aDrmInPlayback );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL( const TDesC& aFileName );
+
+    private:    // Data
+
+        // File name with path
+        HBufC* iFileName;
+        
+        // MIME type
+        HBufC* iMimeType;
+        
+        // Extended security
+        TBool iDrmInPlayback;
+        
+        TProfileRingingType iRingingType;
+    
+        TInt iVolume;
+        
+        // Voice call ringing tone file size max value.
+        TInt iToneFileSizeLimitKB;
+        
+        TBool iTtsToneToBePlayed;
+    };
+
+#endif      // CPHONERINGINGTONE_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/cphoneringingtonecontroller.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,248 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHONERINGINGTONECONTROLLER_H
+#define CPHONERINGINGTONECONTROLLER_H
+
+// INCLUDES
+#include <e32base.h>
+#include <Profile.hrh>
+#include "mphoneaudioplayerobserver.h"
+#include "mphonevideoplayerobserver.h"
+#include "mphonecoveruiobserver.h"
+#include "cphoneaudioplayer.h"
+#include "mphonetimer.h"
+#include "mphonevideoplayer.h"
+#include "cphonemediatorsender.h"
+
+// FORWARD DECLARATIONS
+//class MPhoneRingingToneObserver;
+class CPhoneAudioPlayer;
+class CPhoneRingingtonePlayer;
+class CPhoneTTSPlayer;
+class MPhoneDisplayProvider;
+class CPhoneRingingTone;
+class TPhoneCommandParam;
+
+// CLASS DECLARATION
+
+/**
+* It implements ringing tone functionality. 
+* Note that when issuing Play-command to audio side, ALWAYS set the tone type
+* before the Play() is called. This is to ensure that correct tone is tried to
+* be played. 
+*
+* @since 1.0
+*/
+NONSHARABLE_CLASS(CPhoneRingingToneController) :
+    public CBase,
+    private MPhoneVideoPlayerObserver,
+    private MPhoneCoverUiObserver
+    {
+    public:
+        // States for this active object
+        enum TState
+            {
+            EIdleState,  
+            EDeletingAudioPlayer,
+            EDeletingVideoPlayer,
+            EPlayingDefaultVideo
+            };
+
+    public:
+        
+        /**
+        * Two-phased constructor.
+        * @return new instance.
+        */
+        IMPORT_C static CPhoneRingingToneController* NewL();
+        
+        /**
+        * Destructor.
+        */
+        ~CPhoneRingingToneController();
+
+        /**
+        * Play ring tone
+        * @param aCommandParam a command param
+        */
+        IMPORT_C void PlayRingToneL( TPhoneCommandParam *aCommandParam );
+
+        /**
+        * Stops playing the ringing tone.
+        * Method does not do anything if ringing tone is not playing.
+        */
+        IMPORT_C void StopPlaying();
+
+        /**
+        * Continues video playback ( and ringing tone ) with volume 0
+        * Stream not closed ( If music player was ongoing ) 
+        */
+        IMPORT_C void MuteRingingToneOnAnswer();
+          
+        /**
+        * Continues video playback with muted audio.
+        * Ringing tone is stopped.
+        */
+        IMPORT_C void MuteRingingTone();
+        
+          
+        /**
+        * Sets video player.
+        * @since Series 60 v3.2
+        * @param aVideoPlayer Video player reference.
+        */
+        void SetVideoPlayer( MPhoneVideoPlayer* aVideoPlayer );
+
+        /**
+        * Play video ring tone.
+        * @since Series 60 3.1
+        * @param aRingingTone Ringing tone to be played.
+        * @param aVolume Volume used to play the ringing tone.
+        * @param aRingingType Ringing type.
+        */
+        void PlayVideoRingingTone( 
+            const CPhoneRingingTone& aRingingTone, 
+            TInt aVolume, 
+            TProfileRingingType aRingingType,
+            TBool aPersonalTone = EFalse );
+
+        /**
+        * Checks if extended security required.
+        * @since Series 60 3.1
+        * @return ETrue if extended security is required.
+        */
+        TBool ExtendedSecurity() const;
+   
+   
+        /**
+        * Command when necessary Cover UI to play video ringing tone.
+        * return ETrue if Cover ui handle video ringing tone playing.
+        * return EFalse if Phone must handle video ringing tone playing.
+        */
+        TBool CoverUIPlayVideoRingingToneL( 
+            const CPhoneRingingTone& aRingingTone );
+
+        /**
+        * This function is called when Mediator receives response to the sent
+        * ShowMultiMediaRingingTone command.
+        * @param aStatus - Standard Symbian error code indicating the
+        *                  success of the command.
+        */
+        void ShowMultimediaRingingToneResponseL( TInt aStatus );
+
+    private: // from MPhoneVideoPlayerObserver
+
+        /**
+        * HandleVideoPlayerError
+        */
+        virtual void HandleVideoPlayerError( 
+            TPhoneVideoPlayerErrorEvent aEvent,
+            TInt aError );
+
+        /**
+        * HandleVideoPlayerInitComplete
+        */
+        virtual void HandleVideoPlayerInitComplete();
+
+        /**
+        * HandleVideoPlayerPlayingComplete
+        */
+        virtual void HandleVideoPlayerPlayingComplete();
+   
+    private: 
+        
+        /**
+        * C++ default constructor.
+        */
+        CPhoneRingingToneController();
+
+        /**
+        * By default Symbian OS constructor is private.
+        */
+        void ConstructL();
+
+
+        /**
+        * Convert ringing type from PhoneAppEnging to the ringing type in 
+        * MPhoneVideoPlayer.
+        * @since Series 60 3.1
+        * @param aRingingType the ringing type form PhoneAppEngine.
+        * @return ringing type of MPhoneVideoPlayer.
+        */
+        MPhoneVideoPlayer::TPlayMode ConvertVideoRingingType(
+            TProfileRingingType aRingingType );
+
+
+       /**
+        * Plays default L1 or L2 video ring tone asynchronously.
+        * @since Series 60 3.1
+        */
+        void PlayDefaultVideoAsync();
+
+        /**
+        * Deletes video player and plays default L1 or L2
+        * tone asynchronously.
+        * @since Series 60 3.1
+        */
+        void DeleteVideoPlayerAndPlayDefaultAsync();
+        
+        /**
+        * Mutes the ringing tone.
+        */
+        void DoMuteRingingTone();
+        
+        /**
+        * Play audio ring tone 
+        */
+        void PlayAudioRingTone( 
+            TInt aVolume, 
+            TProfileRingingType aRingingType );
+        
+
+    private:    // Data
+
+        // Audio/Video tone
+        CPhoneRingingTone* iAudioVideoRingingTone;
+
+        // Volume for backup tone playing.
+        TInt iVolume;
+
+        // Ringing type for backup tone playing.
+        TProfileRingingType iRingingType;
+
+        // Video ringing tone player
+        MPhoneVideoPlayer* iVideoPlayer;
+
+        // Pointer to Mediator Sender
+        CPhoneMediatorSender* iMediatorSender;
+
+        // Active Cover UI command EPhoneCoverUiShowMultimediaRingingTone
+        TBool iActiveCoverUICommand;
+        
+        // Flag. Indicates video scaling capability of the device.
+        TBool iArbitraryVideoScaling;
+        
+        CPhoneRingingtonePlayer* iRingingtonePlayer;
+        
+        CPhoneTTSPlayer* iTTSPlayer; 
+
+    };
+
+#endif      // CPHONERINGINGTONECONTROLLER_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/cphoneringingtoneplayer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,371 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHONERINGINGTONEPLAYER_H_
+#define CPHONERINGINGTONEPLAYER_H_
+
+// System includes
+#include <e32base.h>
+#include <Profile.hrh>
+
+// User includes
+#include "mphoneaudioplayerobserver.h"
+#include "cphoneaudioplayer.h"
+#include "mphonevideoplayer.h"
+#include "mphonecenrepobserver.h"
+#include "mphonetimer.h"
+
+// Forward declarations
+class CPhoneTimer;
+class CPhoneRingingTone;
+
+
+NONSHARABLE_CLASS(CPhoneRingingtonePlayer) : public CActive,
+                                             public MPhoneAudioPlayerObserver,
+                                             public MPhoneCenRepObserver,
+                                             private MPhoneTimer
+    {
+public:
+    CPhoneRingingtonePlayer();
+    virtual ~CPhoneRingingtonePlayer();
+    
+    
+    /**
+    * Two-phased constructor.
+    * @return new instance.
+    */
+     static CPhoneRingingtonePlayer* NewL();
+    
+     /**
+      * Playing ringing tone based on profile.
+      * @param aAudioVideoRingingTone
+      */     
+     void PlayProfileBasedTone( CPhoneRingingTone* aAudioVideoRingingTone );   
+     
+    /**
+     * Playing the Beep once.
+     * @param aVolume volume used to play the ringing tone.
+     */
+     void PlayBeepOnce( TInt aVolume );
+
+     /**
+     * Play silent tone. No_sound.wav will be played. If vibration alert
+     * is ON, it will vibrate.
+     */
+     void PlaySilentTone();
+
+     /**
+     * Play video ring tone.
+     * @since Series 60 3.1
+     * @param aRingingTone Ringing tone to be played.
+     * @param aVolume Volume used to play the ringing tone.
+     * @param aRingingType Ringing type.
+     */
+     void PlayVideoRingingTone( 
+         const CPhoneRingingTone& aRingingTone, 
+         TInt aVolume, 
+         TProfileRingingType aRingingType,
+         TBool aPersonalTone = EFalse );
+     
+     /**
+     * Play default tone.
+     * @param aVolume volume used for the playing.
+     * @param aRingingType ringing type.
+     */
+     void PlayDefaultTone( 
+         TInt aVolume, 
+         TProfileRingingType aRingingType );
+
+     /**
+     * Play backup tone.
+     * @param aVolume volume used for the playing.
+     * @param aRingingType ringing type.
+     */
+     void PlayBackupTone( 
+         TInt aVolume, 
+         TProfileRingingType aRingingType );
+     
+     /**
+     * Stops playing the ringing tone.
+     * Method does not do anything if ringing tone is not playing.
+     */
+     void StopPlaying();
+     
+     /** 
+     * Enumerates identifiers for each player:
+     * EPlayerAudio - audio
+     * EPlayerBeepOnce - beep once
+     * EPlayerSilent - silent
+     * EPlayerDefault - default
+     * EPlayerBackup - backup
+     *
+     * EPlayerFirst and EPlayerLast are alias
+     * to other identifiers.
+     * EPlayerFirst - first player
+     * EPlayerLast - last player
+     */
+     enum TPlayerId
+         {
+         EPlayerFirst,
+         EPlayerAudio = EPlayerFirst,
+         EPlayerBeepOnce,
+         EPlayerSilent,
+         EPlayerDefault,
+         EPlayerBackup,
+         EPlayerTts, 
+         EPlayerLast = EPlayerTts,
+         EPlayerCount
+         };     
+     
+     CPhoneAudioPlayer* GetCurrentlyActiveAudioPlayer();
+     
+     void MuteActiveAudioPlayer();
+   
+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:
+    
+    /**
+    * By default Symbian OS constructor is private.
+    */
+    void ConstructL();
+
+private: // CActive
+    
+    /**
+    * @see CActive::RunL.
+    */
+    void RunL();
+
+    /**
+    * @see CActive::DoCancel.
+    */
+    void DoCancel();
+    
+private: // from MPhoneAudioPlayerObserver
+    /**
+    * Handle the error of audio file player.
+    */
+    virtual void HandleAudioPlayerError( 
+        TPhoneAudioPlayerErrorEvent aEvent, 
+        TInt aError, 
+        TInt aId = KPhoneAudioPlayerNotSpecified );
+
+    /**
+    * Handle audio player initialize complete.
+    */
+    virtual void HandleAudioPlayerInitComplete(
+        TInt aId = KPhoneAudioPlayerNotSpecified );
+
+    /**
+    * Handle auido file playing complete successfully.
+    */
+    virtual void HandlePlayingComplete( 
+        TInt aId = KPhoneAudioPlayerNotSpecified );    
+ 
+private:
+    
+    /**
+    * @see MPhoneTimer
+    */
+    virtual void HandleTimeOutL();
+    
+private:    
+    
+
+    // Indicate which tone is playing or need to be played:
+    // EIdle - idle,
+    // EAudioTonePlaying - audio playing,
+    // EBeepOnce - beep once playing,
+    // ESilentTonePlaying - silent tone playing,
+    // EDefaultTonePlaying - default tone playing,
+    // EBackupTonePlaying - backup tone playing,
+    // EVideoTonePlaying - playing video ringing tone
+    // ESilentVideoTonePlaying  - silent playing video ringing tone
+    // EPersonalVideoTonePlaying - personal playing video ringing tone
+    enum TTonePlayingStatus
+        {
+        EIdle,
+        EAudioTonePlaying,
+        EBeepOnce,
+        ESilentTonePlaying,
+        EDefaultTonePlaying,
+        EBackupTonePlaying,
+        EVideoTonePlaying,
+        ESilentVideoTonePlaying,
+        EPersonalVideoTonePlaying
+        };
+    
+    // States for this active object
+    enum TState
+        {
+        EIdleState,  
+        EDeletingAudioPlayer,
+        EDeletingVideoPlayer,
+        EPlayingDefaultVideo
+        };
+    
+    /**
+    * Deletes player asynchronoysly.
+    * @param aPlayer player to be deleted.
+    */
+    void DeletePlayerAsync(
+        TPlayerId aPlayer );
+    
+    /**
+    * Construct sequence players.
+    * @param aPlayer player to be constructed.
+    */
+    void ConstructSequencePlayer(
+        TPlayerId aPlayer );
+
+    /**
+    * Construct sequence players.
+    * @param aPlayer player to be constructed.
+    */
+    void ConstructSequencePlayerL(
+        TPlayerId aPlayer );     
+    
+    /**
+    * Construct backup tone player.
+    */
+    TInt ConstructBackupPlayer();
+    
+
+    /**
+    * Construct media server and backup tone player.
+    */
+    void ConstructBackupPlayerL();
+    
+    /**
+    * Default ringingtone from profile engine.
+    */
+    void ConstructDefaultPlayerL();
+      
+    /**
+    * Do construct tone.
+    * @param aRingingTone Ringing tone.
+    * @return The instance of the player. NULL is returned if it's failed.
+    */
+    CPhoneAudioPlayer* ConstructTonePlayer( 
+        const CPhoneRingingTone& aRingingTone,
+        TInt aId );
+    
+    /**
+    * Convert ringing type from PhoneAppEnging to the ringing type in 
+    * CPhoneAudioPlayer.
+    * @param aRingingType the ringing type form PhoneAppEngine.
+    * @return ringing type of CPhoneAudioPlayer.
+    */
+    CPhoneAudioPlayer::TRingingType ConvertRingingType(
+        TProfileRingingType aRingingType );
+
+    /**
+    * Convert ringing type from PhoneAppEnging to the ringing type in 
+    * MPhoneVideoPlayer.
+    * @since Series 60 3.1
+    * @param aRingingType the ringing type form PhoneAppEngine.
+    * @return ringing type of MPhoneVideoPlayer.
+    */
+    MPhoneVideoPlayer::TPlayMode ConvertVideoRingingType(
+        TProfileRingingType aRingingType );      
+
+    /**
+    * Cleanup players.
+    */
+    void CleanupPlayers();   
+    
+    /**
+    * Handle audio player error.
+    * @param aDelete ETrue if deletion of the player allowed, 
+    *                EFalse otherwise.
+    * @param aSync ETrue if synchronous deletion of players is allowed,
+    *              EFalse otherwise.
+    */
+    void DoHandlePlayerError(
+        TBool aDelete,
+        TBool aSync );
+    
+
+private:    // Data
+    
+    
+    // State of this active object
+    TState iState;
+    
+    // Player to be deleted asynchronously.
+    RPointerArray<CPhoneAudioPlayer> iAsyncDeletePlayers;
+    
+    // Current playing status.
+    TTonePlayingStatus iTonePlayingStatus;
+    
+    // Voice call ringing tone file size max value.
+    TInt iToneFileSizeLimitKB;   
+    
+    // DRM extend security
+    TBool iExtSecNeeded;
+    
+    // Volume for backup tone playing.
+    TInt iVolume;
+    
+    // Ringing type for backup tone playing.
+    TProfileRingingType iRingingType;
+    
+    // Audio ring tone player. Memory allocated during construction.
+    // After constructed, no leave may be caused during audio playing
+    CPhoneAudioPlayer* iAudioPlayer;
+
+    // Audio player for beep once.
+    CPhoneAudioPlayer* iBeepOncePlayer;
+
+    // Audio player for silent tone.
+    CPhoneAudioPlayer* iSilentPlayer;
+
+    // Default player.
+    CPhoneAudioPlayer* iDefaultPlayer;
+    
+    // Tts player.
+    CPhoneAudioPlayer* iTtsPlayer;
+
+    // Backup ringing tone. Incase all default player failed.
+    CPhoneAudioPlayer* iBackupPlayer;
+    
+    // Default player
+    CPhoneRingingTone* iDefaultRingingTone;     
+    
+    // Media server.
+    CMdaServer* iMdaServer;
+    
+    // Timer.
+    CPhoneTimer* iTimer;
+    
+    // Audio/Video tone
+    CPhoneRingingTone* iAudioVideoRingingTone;
+    };
+
+#endif /* CPHONERINGINGTONEPLAYER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/cphonettsplayer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,200 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHONETTSPLAYER_H_
+#define CPHONETTSPLAYER_H_
+
+// System includes
+#include <e32base.h>
+#include <Profile.hrh>
+
+// User includes
+#include "cphonetimer.h"
+#include "cphoneaudioplayer.h"
+#include "mphoneaudioplayerobserver.h"
+
+// Forward declarations
+class CPhoneRingingTone;
+class CPhoneRingingtonePlayer;
+
+NONSHARABLE_CLASS(CPhoneTTSPlayer): public CBase,
+                        public MPhoneAudioPlayerObserver
+                       
+    {
+public:
+    CPhoneTTSPlayer(CPhoneRingingtonePlayer* aRingingtonePlayer);
+    virtual ~CPhoneTTSPlayer();
+    
+    /**
+    * Two-phased constructor.
+    * @return new instance.
+    */
+     static CPhoneTTSPlayer* NewL(CPhoneRingingtonePlayer* aRingingtonePlayer);
+    
+     
+public:
+    
+    /**
+    * Play TTS tone simultaneously with Personal or Default tones.
+    * This method does not command phone to play TTS immediately. Instead 
+    * it registers a request to play TTS, when Personal or default tones 
+    * are played.
+    *
+    * @since Series 60 3.0
+    * @param aTextToSay Text, that should be pronounced by the 
+    * Text-To-Speech engine. This is normal descriptor, no UTF-8 
+    * and no "(tts)" prefix
+    */
+    void PlayTtsTone(
+        const TDesC& aTextToSay,
+        CPhoneRingingTone* aAudioVideoRingingTone );
+    
+    void StopPlaying();
+   
+    
+    /**
+    * Checks if TTS component should be played for the current ringtone 
+    * playback and initializes the TTS playback. This method is to be 
+    * called from within PlayXXXXTone methods
+    * @since Series 60 3.0
+    * @param aRingingType ringing type
+    */
+    void AddTtsPlaybackIfNeeded();
+    
+    
+private: // from MPhoneAudioPlayerObserver
+    /**
+    * Handle the error of audio file player.
+    */
+    virtual void HandleAudioPlayerError( 
+        TPhoneAudioPlayerErrorEvent aEvent, 
+        TInt aError, 
+        TInt aId = KPhoneAudioPlayerNotSpecified );
+
+    /**
+    * Handle audio player initialize complete.
+    */
+    virtual void HandleAudioPlayerInitComplete(
+        TInt aId = KPhoneAudioPlayerNotSpecified );
+
+    /**
+    * Handle auido file playing complete successfully.
+    */
+    virtual void HandlePlayingComplete( 
+        TInt aId = KPhoneAudioPlayerNotSpecified );  
+    
+private:
+    
+    /**
+    * Enumerates how many times TTs is played
+    * ESaidOnce -once
+    * ESaidTwice twice 
+    */    
+    enum TTtsStatus
+        {
+        ESaidOnce,
+        ESaidTwice
+        };
+    
+    /**
+    * Wrapper of DoHandleTtsDelayTimeout, that can be used as TCallback. 
+    * Immediately passes control to DoHandleTtsDelayTimeout method.
+    * @since Series 60 3.0
+    * @param object Object to call DoHandleTtsDelayTimeout() on, . 
+    *        instance of CPhoneRingingTonePlayer.
+    * @return KErrNone.
+    */
+    static TInt HandleTtsDelayTimeout( TAny* object );
+    
+    /**
+    * It is called after TTS delay elapsed. Starts playing TTS.
+    */
+    void DoHandleTtsDelayTimeout();
+         
+    /**
+    * Returns currently active player which is used with TTS player.
+    * @return pointer to CPhoneAudioPlayer.
+    */
+    CPhoneAudioPlayer* GetCurrentlyActiveAudioPlayerWithTTs();   
+     
+    /**
+    * TTs cases only. Calculates new volume and ramptimes
+    * for Ascending TTS ringing case and normal TTS ringing case.
+    * @param aStatus -status of TTs player.
+    */         
+    void SolveNewVolumeAndRamptime( TTtsStatus aStatus );   
+    
+    /**
+    * Retarts currently active ringingtone player.
+    */
+    void ReStartRingingTonePlayer();
+    
+    /**
+    * Convert ringing type from PhoneAppEnging to the ringing type in 
+    * CPhoneAudioPlayer.
+    * @param aRingingType the ringing type form PhoneAppEngine.
+    * @return ringing type of CPhoneAudioPlayer.
+    */
+    CPhoneAudioPlayer::TRingingType ConvertRingingType(
+        TProfileRingingType aRingingType );    
+        
+private:
+    
+    /**
+    * By default Symbian OS constructor is private.
+    */
+    void ConstructL();
+    
+private: 
+    
+    // Tts player.
+    CPhoneAudioPlayer* iTtsPlayer;
+    
+    // True if Tts is currently playing. Is different from 
+    // iTonePlayingStatus, because TTS is played in
+    // parallel with the other tone types
+    TBool iTtsTonePlaying;
+    
+    // Index of the TTS delay that is "executed" currently or is to be 
+    // "executed" after the current playing of the TTS tone. Is zero based
+    TInt iTtsDelayIndex;
+    
+    // True if TTS tone should be played when the next playing of the 
+    // default or personal tone is fired.
+    TBool iTtsToneToBePlayed;
+    
+    // Timer, that tracks delays before playing TTS
+    CPhoneTimer* iTtsDelayTimer;
+
+    // Number of times TTS tone should be played for the CURRENT ringtone
+    // If ringing tone is to be played just once, iTtsDelayCount == 1,
+    // otherwise iTtsDelayCount == KTtsDelayCount
+    TInt iTtsDelaysCount;
+    
+    // Counter for TTs timeouts
+    TInt iTTsTimeOutCounter;
+    
+    // RingingType for TtsPlayer only.
+    TProfileRingingType iTtsRingingType;
+    
+    // Volume of the text pronounced by the TTS engine
+    TInt iTtsVolume;
+    
+    CPhoneRingingtonePlayer* iRingingtonePlayer;
+    };
+
+#endif /* CPHONETTSPLAYER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/mphoneaudioplayerobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 MPHONEAUDIOPLAYEROBSERVER_H
+#define MPHONEAUDIOPLAYEROBSERVER_H
+
+// User includes
+#include "phoneconstants.h"
+
+// Class declaration
+
+/**
+*  Observer interface for audio player.
+*
+* @since 1.0
+*/
+class MPhoneAudioPlayerObserver
+    {
+    public:  // Constructors and destructor
+        
+        // Enumerates different failures.
+        //
+        // EAudioPlayerInitializingFailure - failure in initialising
+        // EAudioPlayerPlayingFailure - failure during playing
+        enum TPhoneAudioPlayerErrorEvent
+            {
+            EAudioPlayerInitializingFailure,
+            EAudioPlayerPlayingFailure
+            };
+        
+        /**
+        * Observe the error.
+        * @param aEvent the error event happend in initializing or playing.
+        * @param aError The error code return by audio server. Observer can 
+        *               handle  these two error code for recoverable 
+        *               and unrecoverable errors.
+        * @param aId Indicate which audio player is outof working.
+        */
+        virtual void HandleAudioPlayerError( 
+            TPhoneAudioPlayerErrorEvent aEvent,
+            TInt aError, 
+            TInt aId = KPhoneAudioPlayerNotSpecified ) = 0;
+
+        /**
+        * This function is called when audio player initialization complete.
+        * @param aId The id of the audio player.
+        */
+        virtual void HandleAudioPlayerInitComplete(
+            TInt aId = KPhoneAudioPlayerNotSpecified ) = 0;
+
+        /**
+        * This funciton is called after the playing complete successfully.
+        * @param aId The id of the audio player.
+        */
+        virtual void HandlePlayingComplete( 
+            TInt aId = KPhoneAudioPlayerNotSpecified ) = 0;
+    };
+
+#endif      // MPHONEAUDIOPLAYEROBSERVER_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/mphonecoveruiobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 MPHONECOVERUIOBSERVER_H
+#define MPHONECOVERUIOBSERVER_H
+
+// Class declaration
+
+/**
+*  Cover UI observer interface.
+*
+*/
+class MPhoneCoverUiObserver  
+    {
+    public:
+        
+        /**
+        * This function is called when Mediator receives response to the sent
+        * ShowMultiMediaRingingTone command.
+        * @param aStatus - Standard Symbian error code indicating the
+        *                  success of the command.
+        */
+        virtual void ShowMultimediaRingingToneResponseL( TInt aStatus ) = 0;
+    };
+
+#endif // MPHONECOVERUIOBSERVER_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/mphoneringingtoneobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 MPHONERINGINGTONEOBSERVER_H
+#define MPHONERINGINGTONEOBSERVER_H
+
+// INCLUDES
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+/**
+*  Observer interface for ringing tone playing
+*
+* @since Series 60 3.1
+*/
+class MPhoneRingingToneObserver
+    {
+    public:  
+        /**
+        * Observer the ringing tone playing
+        * @param aPlayingAudio ETrue is ringing tone audio is playing.
+        * @param aPlayingVideo ETrue is ringing tone video is playing.
+        */
+        virtual void RingingTonePlaying( 
+            TBool aPlayingAudio,
+            TBool aPlayingVideo ) = 0;
+    };
+
+#endif      // MPHONERINGINGTONEOBSERVER_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/mphonevideoplayer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 M_PHONEVIDEOPLAYER_H
+#define M_PHONEVIDEOPLAYER_H
+
+// Forward declarations
+class MPhoneVideoPlayerObserver;
+
+/**
+ *  Abstract video playing interface.
+ *
+ *
+ *  @lib Phone.exe
+ *  @since S60 v3.2
+ */
+class MPhoneVideoPlayer
+    {
+public:
+    /**  Play modes */
+    enum TPlayMode
+        {
+        EPlayInLoop,
+        EPlayOnce,
+        EPlayAscending    
+        }; 
+
+public:
+    /**
+    * Plays given video ringing tone.
+    *
+    * @since S60 S60 v3.2
+    * @param aFileName File name.
+    * @param aPlayMode Playing mode.
+    * @param aVolumeLevel Playing volume, range: 0-10.
+    * @param aArbitraryScaling Set ETrue if arbitrary scaling supported.
+    * @param aObserver Observer for playback events.
+    */
+    virtual void PlayVideoRingTone( const TDesC& aFileName,
+                                    TPlayMode aPlayMode,
+                                    TInt aVolumeLevel,
+                                    TBool aArbitraryScaling,
+                                    MPhoneVideoPlayerObserver* aObserver ) = 0;
+    
+    /**
+    * Stops ringing.
+    *
+    * @since S60 S60 v3.2
+    */
+    virtual void StopVideoRingTone() = 0;
+    
+    /**
+    * Mutes ringing tone playing.
+    *
+    * @since S60 S60 v3.2
+    */    
+    virtual void MuteVideoRingTone() = 0;
+        
+    /**
+    * Cancels ringing tone playing.
+    *
+    * @since S60 S60 v3.2
+    */
+    virtual void CancelVideoRingTone() = 0;
+    };
+
+
+#endif // M_PHONEVIDEOPLAYER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/mphonevideoplayerobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,63 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef MPHONEVIDEOPLAYEROBSERVER_H
+#define MPHONEVIDEOPLAYEROBSERVER_H
+
+// Class declaration
+
+/**
+*  Video player observer interface.
+*
+*  @lib Phone.app
+*  @since Series 60 3.1
+*/
+class MPhoneVideoPlayerObserver  
+    {
+    public:
+        
+        // Enumerates different failure events.
+        //
+        enum TPhoneVideoPlayerErrorEvent
+            {
+            EVideoPlayerInitializingFailure, // Failure during initialization
+            EVideoPlayerPlayingFailure // Failure during playback
+            };
+        
+        /**
+        * This function is called for video player errors.
+        * @param aEvent The error event happend in initializing or playing.
+        * @param aError The error code return by MMF video player. 
+        */
+        virtual void HandleVideoPlayerError( 
+            TPhoneVideoPlayerErrorEvent aEvent,
+            TInt aError ) = 0;
+
+        /**
+        * This function is called when video player initialization complete
+        */
+        virtual void HandleVideoPlayerInitComplete() = 0;
+
+        /**
+        * This function is called after the playing completes successfully
+        */
+        virtual void HandleVideoPlayerPlayingComplete() = 0;
+    };
+
+#endif      // MPHONEVIDEOPLAYEROBSERVER_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/src/cphoneaudioplayer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,1063 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <e32std.h>
+#include <eikenv.h>
+#include <apgcli.h>
+#include <apmrec.h>
+#include <AudioPreference.h>
+#include <utf.h>    // for converting data for tts
+#include <c3dringingtoneinterface.h>
+#include <AudioOutput.h>
+
+#include "cphoneaudioplayer.h"
+#include "cphoneringingtone.h"
+#include "mphoneaudioplayerobserver.h"
+#include "phoneconstants.h"
+#include "phonelogger.h"
+#include "phoneui.pan"
+
+
+// CONSTANTS
+
+
+_LIT( KFileListRngMimeType, "application/vnd.nokia.ringing-tone" );
+//Min volume level
+const TInt KMinVolumeLevel = 1;
+//Max volume level
+const TInt KMaxVolumeLevel = 10;
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::CPhoneAudioPlayer
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer::CPhoneAudioPlayer( TAudioDataFormat aDataFormat,
+    MPhoneAudioPlayerObserver& aObserver, 
+    TInt aPriority, 
+    TUint aPreference,
+    TInt aId )
+    : iFormat( aDataFormat ),
+    iObserver( aObserver ),
+    iPriority( aPriority ),
+    iPreference( aPreference ),
+    iId( aId )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::ConstructL(
+    const TDesC& aFileName,
+    CMdaServer* aMdaServer )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::ConstructL()" );
+    if ( iFormat == EFormatTone )
+        {
+        iTonePlayer = CMdaAudioToneUtility::NewL( *this, aMdaServer );
+        iTonePlayer->PrepareToPlayFileSequence( aFileName );
+        iPlayerStatus = EToneLoading;
+        }
+    else
+        {
+        //audio sample player
+        __PHONELOG3( 
+            EBasic, 
+            EPhoneControl, 
+            "CPhoneAudioPlayer::ConstructL - aFileName(%S), iPriority(%d), iPreference(%d)",
+            &aFileName, 
+            iPriority, 
+            iPreference );
+
+        iSamplePlayer = CMdaAudioPlayerUtility::NewFilePlayerL( 
+            aFileName,
+            *this, 
+            iPriority,
+            static_cast< TMdaPriorityPreference >( iPreference ),
+            aMdaServer );            
+        iPlayerStatus = EToneLoading;
+        
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::ConstructSeqL
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::ConstructSeqL( 
+    const TDesC8& aSequence,
+        CMdaServer* aMdaServer )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::ConstructSeqL()" );
+    iTonePlayer = CMdaAudioToneUtility::NewL( *this, aMdaServer );
+    iSequence = aSequence.AllocL();
+    iTonePlayer->PrepareToPlayDesSequence( *iSequence );
+    iPlayerStatus = EToneLoading;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::ConstructTtsL
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::ConstructTtsL( 
+    const TDesC& aTtsText, 
+    TInt aPriority,
+    TUint aPreference )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::ConstructTtsL()" );
+    delete iTtsPlayer; // if any
+    iTtsPlayer = NULL;
+    iTtsPlayer = 
+        CMdaAudioPlayerUtility::NewL( 
+            *this, aPriority, 
+            static_cast< TMdaPriorityPreference >( aPreference ) );
+    
+    delete iTtsText;  // if any
+    iTtsText = NULL;
+    // UTF-8 strings can take up to 4 bytes per character
+    iTtsText = HBufC8::NewL( aTtsText.Length() << KTimesToMultiply ); 
+    
+    TPtr8 refText = iTtsText->Des(); 
+    User::LeaveIfError( 
+        CnvUtfConverter::ConvertFromUnicodeToUtf8( refText, aTtsText ) );
+
+    // UTF-8 chars can be up to 4 bytes long, but usually 
+    // take 1-2 bytes, 3 for asian chars.
+    HBufC8* oldText = iTtsText;
+    iTtsText = iTtsText->ReAlloc( iTtsText->Length() );
+    if ( !iTtsText )
+        {
+        // ReAlloc failed, set back to original.
+        iTtsText = oldText;
+        }
+    
+    iTtsPlayer->OpenDesL( *iTtsText );
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::New
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer* CPhoneAudioPlayer::New( 
+    const CPhoneRingingTone& aRingingTone, 
+    TInt aPriority, 
+    TUint aPreference,
+    MPhoneAudioPlayerObserver& aObserver, 
+    TInt aId,
+    CMdaServer* aMdaServer,
+    TBool aExtSecNeeded )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::New()" );
+    CPhoneAudioPlayer* self = NULL;
+    TRAPD( err, self = CPhoneAudioPlayer::NewL( 
+        aRingingTone,
+        aPriority,
+        aPreference,
+        aObserver,
+        aId,
+        aMdaServer,
+        aExtSecNeeded ) );
+    if ( err != KErrNone )
+        {
+        return NULL;
+        }
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::NewL
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer* CPhoneAudioPlayer::NewL( 
+    const CPhoneRingingTone& aRingingTone, 
+    TInt aPriority,
+    TUint aPreference,
+    MPhoneAudioPlayerObserver& aObserver,
+    TInt aId,
+    CMdaServer* aMdaServer,
+    TBool aExtSecNeeded )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::NewL()" );
+    __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::NewL - aExtSecNeeded(%d)",
+        aExtSecNeeded );
+    
+    // Check the file DRM property if extend secure is needed.
+    if ( aExtSecNeeded )
+        {
+        if ( !aRingingTone.IsFileInRom() &&
+             !aRingingTone.IsFileDrmProtected() )
+            {
+            __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::NewL - DRM extend security check permission denied" );
+            User::Leave( KErrPermissionDenied );
+            }
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::NewL - DRM extend security check ok" );
+        }
+    // RNG file types have to be played with CMdaAudioToneUtility player.
+    // Otherwise use sample player
+    TAudioDataFormat format = 
+    ( aRingingTone.MimeType().CompareF( KFileListRngMimeType ) == KErrNone ) 
+    ? EFormatTone :EFormatSample;
+
+    CPhoneAudioPlayer* self = 
+        new (ELeave) CPhoneAudioPlayer( 
+            format,
+            aObserver, 
+            aPriority,
+            aPreference,
+            aId );
+    
+    CleanupStack::PushL( self );
+    self->ConstructL( aRingingTone.FileName(), aMdaServer );
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::NewL
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer* CPhoneAudioPlayer::NewL( 
+    const TDesC& aFileName, 
+    TInt aPriority,
+    TUint aPreference,
+    MPhoneAudioPlayerObserver& aObserver,
+    TInt aId,
+    CMdaServer* aMdaServer,
+    TBool aExtSecNeeded )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::NewL()" );
+    CPhoneRingingTone* tone = CPhoneRingingTone::NewL( aFileName );
+    CleanupStack::PushL( tone );
+
+    CPhoneAudioPlayer* player = CPhoneAudioPlayer::NewL( *tone,
+                                                         aPriority,
+                                                         aPreference,
+                                                         aObserver,
+                                                         aId,
+                                                         aMdaServer,
+                                                         aExtSecNeeded );
+
+    CleanupStack::PopAndDestroy( tone );
+    
+    return player;        
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::NewSeqL
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer* CPhoneAudioPlayer::NewSeqL(
+    const TDesC8& aSequence,
+    TInt aPriority,
+    TUint aPreference,
+    MPhoneAudioPlayerObserver& aObserver, 
+    TInt aId,
+    CMdaServer* aMdaServer )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::NewSeqL()" );
+    CPhoneAudioPlayer* self = 
+        new (ELeave) CPhoneAudioPlayer( 
+            EFormatTone, 
+            aObserver, 
+            aPriority,
+            aPreference,
+            aId );
+    
+    CleanupStack::PushL( self );
+    self->ConstructSeqL( aSequence, aMdaServer  );
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::NewTtsL
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer* CPhoneAudioPlayer::NewTtsL(
+    const TDesC& aText,
+    TInt aPriority,
+    TUint aPreference,
+    MPhoneAudioPlayerObserver& aObserver, 
+    TInt aId )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::NewTtsL()" );
+    CPhoneAudioPlayer* self = 
+        new (ELeave) CPhoneAudioPlayer( 
+            EFormatTts, 
+            aObserver, 
+            aPriority,
+            aPreference,
+            aId );
+    
+    CleanupStack::PushL( self );
+    self->ConstructTtsL( aText, aPriority, aPreference );
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::~CPhoneAudioPlayer
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer::~CPhoneAudioPlayer()
+    {
+    
+    if ( iAudioOutput )
+        {
+        delete iAudioOutput;    
+        }  
+    if ( iTonePlayer )  
+        {
+        delete iTonePlayer;  
+        } 
+    if ( i3DPlugin )
+       {
+        i3DPlugin->Stop();
+        delete i3DPlugin;
+        }
+    // ECom cleanup
+    REComSession::FinalClose();
+    if ( iSamplePlayer )    
+        {
+        delete iSamplePlayer; 
+        }
+    if ( iTtsPlayer )
+        {
+        delete iTtsPlayer;   
+        }
+    if ( iSequence )
+        {
+        delete iSequence; 
+        }
+    if ( iTtsText )  
+        {
+        delete iTtsText;
+        }   
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::Play
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::Play( TRingingType aRingType, TInt aVolume, TInt aTTsToBePlayed )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::Play()" );
+    __PHONELOG2( 
+        EBasic, 
+        EPhoneControl, 
+        "CPhoneAudioPlayer::Play - iFormat(%d), iPlayerStatus(%d)",
+        iFormat, 
+        iPlayerStatus );
+    __PHONELOG3( 
+        EBasic, 
+        EPhoneControl, 
+        "CPhoneAudioPlayer::Play - aRingType(%d), aVolume(%d), aTTsToBePlayed(%d)",
+        aRingType, 
+        aVolume,
+        aTTsToBePlayed );
+    iRingType = aRingType;
+    iVolume = aVolume;
+    iTTsToBePlayed = aTTsToBePlayed;
+    
+    if ( iFormat == EFormatTone )
+        {
+        switch ( iPlayerStatus )
+            {
+            case ETonePlaying:
+                iTonePlayer->CancelPlay();
+                DoPlay();
+                break;
+
+            case EToneReady:
+                iPlayerStatus = ETonePlaying;
+                DoPlay();
+                break;
+
+            case EToneLoading:
+                iToBePlaying = ETrue;
+                break;
+
+            default:
+                __ASSERT_DEBUG( EFalse, 
+
+                      Panic( EPhoneViewCaseNotHandled ) );
+            }
+        }
+    else if ( iFormat == EFormatTts )
+        {
+        switch ( iPlayerStatus )
+            {
+            case ETonePlaying:
+                //stop previous playing
+                iTtsPlayer->Stop();
+                DoPlay();
+                break;
+
+            case EToneReady:
+                iPlayerStatus = ETonePlaying;
+                DoPlay();
+                break;
+
+            case EToneLoading:
+                iToBePlaying = ETrue;
+                break;
+
+            default:
+                __ASSERT_DEBUG( EFalse, 
+                        Panic( EPhoneViewCaseNotHandled ) );
+            }
+        }
+    else
+        {
+        switch ( iPlayerStatus )
+            {
+            case ETonePlaying:
+                //stop previous playing
+                StopPlaying();
+                iPlayerStatus = ETonePlaying;
+                DoPlay();
+                break;
+
+            case EToneReady:
+                iPlayerStatus = ETonePlaying;
+                DoPlay();
+                break;
+
+            case EToneLoading:
+                iToBePlaying = ETrue;
+                break;
+
+            default:
+                __ASSERT_DEBUG( EFalse, 
+
+                        Panic( EPhoneViewCaseNotHandled ) );
+            }
+        }
+    }
+    
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::ReStartPlaying
+// -----------------------------------------------------------------------------
+//    
+void CPhoneAudioPlayer::ReStartPlaying()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::ReStartPlaying()" );
+    __PHONELOG3( 
+        EBasic, 
+        EPhoneControl, 
+        "CPhoneAudioPlayer::ReStartPlaying - iFormat(%d), iRingType(%d), iVolume(%d)",
+        iFormat, 
+        iRingType, 
+        iVolume );
+        
+    if ( iFormat == EFormatTone )
+        {
+        iTonePlayer->Play();
+        iPlayerStatus = ETonePlaying;
+        }
+    else if ( iFormat == EFormatTts )
+        {
+        iTtsPlayer->Play();
+        iPlayerStatus = ETonePlaying;
+        }        
+    else
+        {
+        iSamplePlayer->Play();
+        iPlayerStatus = ETonePlaying;
+        }    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::StopPlaying
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::StopPlaying()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::StopPlaying()" );
+    iToBePlaying = EFalse;
+    
+    if ( iFormat == EFormatTone )
+        {
+        if ( EMdaAudioToneUtilityPrepared == iTonePlayer->State() )
+            {
+            iTonePlayer->CancelPrepare();
+            }
+        else if ( EMdaAudioToneUtilityPlaying == iTonePlayer->State() )
+            {
+            iTonePlayer->CancelPlay();
+            }
+        }
+    else if ( iFormat == EFormatTts )
+        {
+        iTtsPlayer->Stop();
+        }
+    else
+        {
+        if ( i3DPlugin )
+            {
+            i3DPlugin->Stop();
+            delete i3DPlugin;
+            i3DPlugin = NULL;
+            }
+        else
+            {
+            iSamplePlayer->Stop();        
+            }
+        }
+    
+    iPlayerStatus = EToneReady;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::MapcInitComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::MapcInitComplete(
+    TInt aError, 
+    const TTimeIntervalMicroSeconds& /*aDuration*/ )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::MapcInitComplete()" );
+    __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::MapcInitComplete - aError(%d)",
+        aError );
+    __ASSERT_DEBUG( ( ( iFormat == EFormatSample ) || ( iFormat == EFormatTts ) ) && 
+        ( iPlayerStatus == EToneLoading ), Panic( EPhoneViewGeneralError ) );
+    if ( aError == KErrNone )
+        {
+        if ( iToBePlaying )
+            {
+            iPlayerStatus = ETonePlaying;
+            iToBePlaying = EFalse;
+            DoPlay();
+            }
+        else
+            {
+            iPlayerStatus = EToneReady;
+            }
+        iObserver.HandleAudioPlayerInitComplete( iId );
+        }
+    else
+        {
+        iObserver.HandleAudioPlayerError( 
+            MPhoneAudioPlayerObserver::EAudioPlayerInitializingFailure, 
+            aError, iId );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::MapcPlayComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::MapcPlayComplete( TInt aError )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::MapcPlayComplete()" );
+    __PHONELOG2( EBasic, EPhoneControl, "CPhoneAudioPlayer::MapcPlayComplete - iFormat(%d), aError(%d)",
+        iFormat, aError );
+    iPlayerStatus = EToneReady;
+
+    //Destruct 3D plugin before player itself gets destructed.
+    //In case of continuous ringing type, stopplaying() handles
+    //3d plugin destruction
+    if ( i3DPlugin )
+        {
+        i3DPlugin->Stop();
+        delete i3DPlugin;
+        i3DPlugin = NULL;            
+        }
+
+    if ( aError != KErrNone )
+        {
+        iObserver.HandleAudioPlayerError( 
+            MPhoneAudioPlayerObserver::EAudioPlayerPlayingFailure, 
+            aError, iId );
+        }
+    else
+        {
+        iObserver.HandlePlayingComplete( iId );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::MatoPrepareComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::MatoPrepareComplete( TInt aError )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::MatoPrepareComplete()" );
+    __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::MatoPrepareComplete - aError(%d)",
+        aError );
+        
+    __ASSERT_DEBUG( ( iFormat == EFormatTone ) && ( iPlayerStatus == EToneLoading ), 
+        Panic( EPhoneViewGeneralError ) );
+    if ( aError == KErrNone )
+        {
+        if ( iToBePlaying )
+            {
+            iPlayerStatus = ETonePlaying;
+            iToBePlaying = EFalse;
+            DoPlay();
+            }
+        else
+            {
+            iPlayerStatus = EToneReady;
+            }
+        iObserver.HandleAudioPlayerInitComplete( iId );
+        }
+    else
+        {
+        iObserver.HandleAudioPlayerError( 
+            MPhoneAudioPlayerObserver::EAudioPlayerInitializingFailure, 
+            aError, iId );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::MatoPlayComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::MatoPlayComplete(TInt aError)
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::MatoPlayComplete()" );
+    __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::MatoPlayComplete - aError(%d)",
+        aError );
+    if ( aError != KErrNone )
+        {
+        iObserver.HandleAudioPlayerError( 
+            MPhoneAudioPlayerObserver::EAudioPlayerPlayingFailure, 
+            aError, iId );
+        }
+    else
+        {
+        iObserver.HandlePlayingComplete( iId );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::DoPlay
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::DoPlay()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::DoPlay()" );
+    __ASSERT_DEBUG( iPlayerStatus == ETonePlaying, 
+        Panic( EPhoneViewGeneralError ) );
+        
+    SetRingingTypeProperties();
+    
+    TInt err(KErrNone);
+    if ( iFormat == EFormatTone )
+        {
+        iTonePlayer->Play();
+        }
+    else if ( iFormat == EFormatTts )
+        {
+        iTtsPlayer->Play();
+        }        
+    else
+        {
+        TRAP( err,i3DPlugin = C3DRingingToneInterface::NewL( KNullUid ) );
+        if ( !err && i3DPlugin )
+            {
+            i3DPlugin->SetAttr( E3DRTIAttrAudioPlayerUtility, iSamplePlayer );
+            TRAP( err,i3DPlugin->PlayL() )
+            }
+        if ( err || !i3DPlugin )
+            {
+            if ( !iAudioOutput )
+                 {
+                 __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::DoPlay c aud ");
+                 TRAP (err, iAudioOutput = CAudioOutput::NewL( *iSamplePlayer ) );
+                if ( err )
+                    {
+                    __PHONELOG1(EBasic, EPhoneControl, 
+                        "P.AudPlayer.DoPlay.iAudioOutput.err ", err );
+                    }                               
+               }
+            if ( !err && iAudioOutput )
+                 {
+                 __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::DoPlay EALL ");
+                 TRAP (err, iAudioOutput->SetAudioOutputL( CAudioOutput::EAll ) );
+                 if ( err )
+                     {
+                     __PHONELOG1( EBasic, EPhoneControl, 
+                         "P.AudPlayer.DoPlay.SetAudioOutputL.err ", err );   
+                     }
+
+                 }
+            iSamplePlayer->Play();
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::SetRingingTypeProperties
+// -----------------------------------------------------------------------------
+//
+void CPhoneAudioPlayer::SetRingingTypeProperties()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::SetRingingTypeProperties()" );
+    __PHONELOG2( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetRingingTypeProperties - iFormat(%d), iRingType(%d)",
+        iFormat, iRingType );
+    TInt rampTime( 0 );     
+    if ( iFormat == EFormatTone )
+        {
+        switch ( iRingType )
+            {
+            case ETypeRinging:
+                //If we have TTS activated and ringingtype is ringing:
+                //We need to play TTS sequence again when ringingtone restarts.
+                //Thats why we need to set ringingtype to ETypeRingingOnce because  
+                //it is the only way of knowing when ringingtone is completed. 
+                //Then we can restart it with new TTS iterations.
+                if ( iTTsToBePlayed )
+                    {
+                     //play only once
+                    iTonePlayer->SetRepeats( 0, 
+                        TTimeIntervalMicroSeconds(
+                        KPhoneRingingRepeatsTrailPause ) ); 
+                    iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
+                    __PHONELOG1( 
+                        EBasic, 
+                        EPhoneControl, 
+                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing tone with TTS, Set volume(%d) and ring once",
+                        iVolume );
+                    }
+                else
+                    {
+                    iTonePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
+                        TTimeIntervalMicroSeconds( 
+                         KPhoneRingingRepeatsTrailPause ) );
+                    iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
+                    __PHONELOG1( 
+                        EBasic, 
+                        EPhoneControl, 
+                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing tone, Set volume(%d)",
+                        iVolume );
+                    }
+                break;
+
+            case ETypeRingingOnce:
+                //play only once
+                iTonePlayer->SetRepeats( 0, 
+                    TTimeIntervalMicroSeconds(
+                    KPhoneRingingRepeatsTrailPause ) ); 
+                iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
+                __PHONELOG1( 
+                    EBasic, 
+                    EPhoneControl, 
+                    "CPhoneAudioPlayer::SetRingingTypeProperties - Ring once tone, set volume(%d)",
+                    iVolume );
+                break;
+
+            case ETypeAscending:
+                iTonePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
+                    TTimeIntervalMicroSeconds(
+                    KPhoneRingingRepeatsTrailPause ) );
+
+                //Special case for TTs + ascending profile. Volume 
+                //and ramptime needs to be different as usual
+                if ( iTTsToBePlayed )
+                    {
+                    //rampTime in this case is only 3 seconds and volume is 1.
+                    rampTime = KPhoneAudioAscendingRampDuration;
+                    __PHONELOG1( 
+                        EBasic, 
+                        EPhoneControl, 
+                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending tone with TTS, Start from lowest volume, rampTime(%d)",
+                        rampTime );
+                    iTonePlayer->SetVolumeRamp( 
+                        TTimeIntervalMicroSeconds( rampTime ) ); 
+
+                    iCurrentVolume = 1; //we start from the lowest volume
+                    iTonePlayer->SetVolume( ConvertVolume( iCurrentVolume ) );
+                    }
+                else
+                    {
+                    //rampTime: time for one step * volume level
+                    rampTime = KPhoneAudioAscendingRampDuration*iVolume;
+                    __PHONELOG2( 
+                        EBasic, 
+                        EPhoneControl, 
+                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending tone, Set volume(%d), rampTime(%d)",
+                        iVolume, rampTime );
+                    iTonePlayer->SetVolumeRamp( 
+                        TTimeIntervalMicroSeconds( rampTime ) );
+                        
+                    iCurrentVolume = 1; //we start from the lowest volume
+                    iTonePlayer->SetVolume( ConvertVolume( iVolume ) );       
+                    }
+                break;
+
+            default:
+                Panic( EPhoneViewGeneralError );
+                break;
+            }
+
+        __PHONELOG3( 
+            EBasic, 
+            EPhoneControl, 
+            "CPhoneAudioPlayer::SetRingingTypeProperties - Tone, iPriority(%d), iPreference(%d), iVolume(%d)",
+            iPriority, iPreference, iVolume );
+
+        //Set priority and preference
+        iTonePlayer->SetPriority( iPriority, 
+            static_cast< TMdaPriorityPreference >( iPreference ) );
+        }
+    else if ( iFormat == EFormatTts )
+        {
+        switch ( iRingType )
+            {
+            case ETypeRinging:
+            case ETypeAscending:
+                // Not possible iRingType for TTS.
+                break;
+
+            case ETypeRingingOnce:
+                iTtsPlayer->SetRepeats( 0, // play only once
+                    TTimeIntervalMicroSeconds( 
+                    KPhoneRingingRepeatsTrailPause ) );
+                iTtsPlayer->SetVolume( ConvertVolume( iVolume ) );
+                __PHONELOG1( 
+                    EBasic, 
+                    EPhoneControl, 
+                    "CPhoneAudioPlayer::SetRingingTypeProperties - TTS, Set volume(%d)",
+                    iVolume );
+                break;
+            
+            default:
+                __ASSERT_DEBUG( EFalse, 
+                        Panic( EPhoneViewCaseNotHandled ) );
+            }
+        __PHONELOG( 
+            EBasic, 
+            EPhoneControl, 
+            "CPhoneAudioPlayer::SetRingingTypeProperties - TTS" );
+        }
+    else
+        {
+        switch ( iRingType )
+            {
+            case ETypeRinging:
+                //If we have TTS activated and ringingtype is ringing:
+                //We need to play TTS sequence again when ringingtone restarts.
+                //Thats why we need to set ringingtype to ETypeRingingOnce because  
+                //it is theonly way of knowing when ringingtone is completed. 
+                //Then we can restartit with new TTS iterations.
+                if ( iTTsToBePlayed )
+                    {
+                     //play only once
+                    iSamplePlayer->SetRepeats( 0, 
+                        TTimeIntervalMicroSeconds(
+                        KPhoneRingingRepeatsTrailPause ) ); 
+                    iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
+                    __PHONELOG1( 
+                        EBasic, 
+                        EPhoneControl, 
+                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing sample with TTS, Ring only once, Set volume(%d)",
+                        iVolume );
+                    }
+                else
+                    {
+                    iSamplePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
+                        TTimeIntervalMicroSeconds( 
+                        KPhoneRingingRepeatsTrailPause ) );
+                    iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
+                    __PHONELOG1( 
+                        EBasic, 
+                        EPhoneControl, 
+                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing sample, Set volume(%d)",
+                        iVolume );
+                    }
+                break;
+
+            case ETypeRingingOnce:
+                iSamplePlayer->SetRepeats( 0,//play only once
+                    TTimeIntervalMicroSeconds( 
+                    KPhoneRingingRepeatsTrailPause ) ); 
+                iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
+                __PHONELOG1( 
+                    EBasic, 
+                    EPhoneControl, 
+                    "CPhoneAudioPlayer::SetRingingTypeProperties - Ring once sample, set volume(%d)",
+                    iVolume );
+                break;
+
+            case ETypeAscending:
+                iSamplePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
+                    TTimeIntervalMicroSeconds(
+                    KPhoneRingingRepeatsTrailPause ) );
+
+                //Special case for TTs + ascending profile. Volume 
+                //and ramptime needs to be different as usual
+                if ( iTTsToBePlayed )
+                    {
+                    //rampTime in this case is only 3 seconds and volume is 1.
+                    rampTime = KPhoneAudioAscendingRampDuration;
+                    __PHONELOG1( 
+                        EBasic, 
+                        EPhoneControl, 
+                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending sample with TTS, Start from lowest volume, rampTime(%d)",
+                        rampTime );
+                    iSamplePlayer->SetVolumeRamp( 
+                        TTimeIntervalMicroSeconds( rampTime ) ); 
+
+                    iCurrentVolume = 1; //we start from the lowest volume
+                    iSamplePlayer->SetVolume( ConvertVolume( iCurrentVolume ) );
+                    }
+                else
+                    {
+                    //rampTime: time for one step * volume level
+                    rampTime = KPhoneAudioAscendingRampDuration*iVolume;
+                    __PHONELOG2( 
+                        EBasic, 
+                        EPhoneControl, 
+                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending sample, Set volume(%d), rampTime(%d)",
+                        iVolume, rampTime );
+                    iSamplePlayer->SetVolumeRamp( 
+                        TTimeIntervalMicroSeconds( rampTime ) );
+                        
+                    iCurrentVolume = 1; //we start from the lowest volume
+                    iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
+                    }
+                break;
+
+            default:
+                Panic( EPhoneViewGeneralError );
+                break;
+            }
+
+        __PHONELOG( 
+            EBasic, 
+            EPhoneControl, 
+            "CPhoneAudioPlayer::SetRingingTypeProperties - Sample" );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::SetNewVolumeAndRamptime
+// -----------------------------------------------------------------------------
+//    
+void CPhoneAudioPlayer::SetNewVolumeAndRamptime( TInt aVolume, TInt aRamptime )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime()" );
+   
+    //Check that volume is in valid range.
+   TInt volume = aVolume<1 ? 1:aVolume;
+    __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - aVolume(%d)",
+        aVolume ); 
+            
+    if ( iFormat == EFormatTone && iTonePlayer )
+        {
+        iTonePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds( aRamptime ) );
+        iTonePlayer->SetVolume( ConvertVolume( volume ) );
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - Tone player" );
+        }
+    else if ( iFormat == EFormatTts && iTtsPlayer )
+        {
+        iTtsPlayer->SetVolumeRamp(TTimeIntervalMicroSeconds( aRamptime ) );
+        iTtsPlayer->SetVolume( ConvertVolume( volume ) );
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - TTS player" );
+        }
+    else 
+        {
+        iSamplePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds( aRamptime ) );
+        iSamplePlayer->SetVolume( ConvertVolume( volume ) );
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - Sample player" );
+        }
+   
+    }
+   
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::ConvertVolume
+// -----------------------------------------------------------------------------
+//  
+TInt CPhoneAudioPlayer::ConvertVolume( TInt aVolume )
+    {
+    //_DDPRINT( 5, "P.AudPlayer.ConvertVolume.aVolume", aVolume );
+
+    TInt result( 0 );    
+    
+    if ( iFormat == EFormatTone )
+        {
+        result = iTonePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
+        }
+    else if ( iFormat == EFormatTts )
+        {
+        result = iTtsPlayer->MaxVolume() * aVolume / KMaxVolumeLevel;    
+        }
+    else
+        {
+        result = iSamplePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;       
+        }
+        
+    // if user has selected minimum volume level
+    // set HW volume 1
+    if ( aVolume == KMinVolumeLevel && result == 0 )
+        {
+        result = 1; 
+        }
+       
+    //_DDPRINT( 5, "P.AudPlayer.ConvertVolume.result", result );       
+    return result;    
+    }
+
+       
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::SetTTsToBePlayed
+// -----------------------------------------------------------------------------
+//  
+void CPhoneAudioPlayer::SetTTsToBePlayed( TBool aTTsToBePlayed )
+    {
+    iTTsToBePlayed = aTTsToBePlayed;
+    }  
+
+// -----------------------------------------------------------------------------
+// CPhoneAudioPlayer::MutePlaying
+// -----------------------------------------------------------------------------
+//  
+void CPhoneAudioPlayer::MutePlaying()
+    {
+    //_DPRINT( 5, "P.Aud.Mute" );
+    if ( iPlayerStatus == ETonePlaying )
+        {
+        if ( iFormat == EFormatTone )
+            {
+            iTonePlayer->SetVolume(0);
+            }
+        else if ( iFormat == EFormatTts )
+            {
+            iTtsPlayer->SetVolume(0);
+            }
+        else // EFormatSample
+            {
+            iSamplePlayer->SetVolume(0);        
+            }
+        }
+    else
+        {
+        // Mute called during EToneLoading state.
+        iToBePlaying = EFalse;    
+        }                   
+    }
+   
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/src/cphoneringingtone.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,457 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <apgcli.h>
+#include <DRMHelper.h>
+#include <bldvariant.hrh>
+#include <pathinfo.h>
+#include <ProfileEngineDomainCRKeys.h>
+#include "cphoneringingtone.h"
+#include "cphonecenrepproxy.h"
+#include "phonelogger.h"
+#include "phoneconstants.h"
+#include "phonelogger.h"
+
+// CONSTANTS
+// Rich audio file MIME types
+_LIT(KAac, "audio/aac");
+_LIT(KMp3, "audio/mp3");
+_LIT(KMpeg, "audio/mpeg");
+_LIT(K3gpp, "audio/3gpp");
+_LIT(KMp4, "audio/mp4");
+_LIT(KAmrWb, "audio/amr-wb");
+_LIT(KWavX, "audio/x-wav");
+_LIT(KWav, "audio/wav");
+
+// Rich video file MIME types
+_LIT(KV3gpp, "video/3gpp");
+_LIT(KVMp4, "video/mp4");
+_LIT(KV3gpp2, "video/3gpp2");
+
+// MACROS
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::CPhoneRingingTone
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingTone::CPhoneRingingTone( TBool aDrmInPlayback ) :
+    iDrmInPlayback( aDrmInPlayback )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingTone::ConstructL( const TDesC& aFileName )
+    {
+    iFileName = aFileName.AllocL();
+    
+    GetMaxToneFileSize();
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingTone* CPhoneRingingTone::NewL( 
+    const TDesC& aFileName,
+    TBool aDrmInPlayback )
+    {
+    CPhoneRingingTone* self = new( ELeave ) CPhoneRingingTone(
+        aDrmInPlayback );
+
+    CleanupStack::PushL( self );
+    self->ConstructL( aFileName );
+    CleanupStack::Pop( self );
+    
+    return self;
+    }
+    
+// Destructor
+CPhoneRingingTone::~CPhoneRingingTone()
+    {
+    delete iFileName;
+    delete iMimeType;    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::SetFileName
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingTone::SetFileName( const TDesC& aFileName )
+    {
+    delete iFileName;
+    iFileName = NULL;
+    iFileName = aFileName.Alloc();
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::SetVolume
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingTone::SetVolume( const TInt aVolume )
+    {
+    iVolume = aVolume;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::SetRingingType
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingTone::SetRingingType( TProfileRingingType aRingingType)
+    {
+    iRingingType = aRingingType;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::Volume
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneRingingTone::Volume() const
+    {
+    return iVolume;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::RingingType
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TProfileRingingType CPhoneRingingTone::RingingType() const
+    {
+    return iRingingType; 
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::FileName
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC& CPhoneRingingTone::FileName() const
+    {
+    // iFileName is never NULL
+    return *iFileName;            
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::SetTtsToneToBePlayed
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingTone::SetTtsToneToBePlayed( TBool aTtsToneToBePlayed ) 
+    {
+    iTtsToneToBePlayed = aTtsToneToBePlayed;          
+    }
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::TtsToneToBePlayed
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CPhoneRingingTone::TtsToneToBePlayed() const
+    {
+    
+    return iTtsToneToBePlayed;    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::MimeType
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+const TDesC& CPhoneRingingTone::MimeType() const
+    {
+    if ( iMimeType )
+        {
+        return *iMimeType;        
+        }
+    else
+        {
+        return KNullDesC;    
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::IsVideoRingingTone
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//    
+TBool CPhoneRingingTone::IsVideoRingingTone()
+    {
+#ifdef RD_VIDEO_AS_RINGING_TONE
+    if ( RefreshMime() != KErrNone  )
+        {
+        // try to handle as audio
+        return EFalse;                
+        }
+
+    TBool isVideo( EFalse );    
+        
+    if ( iMimeType && iMimeType->MatchF( KPhoneRingingToneVideoMime ) != 
+         KErrNotFound )
+        {
+        isVideo = ETrue;
+        }
+    else if ( iMimeType && iMimeType->MatchF( KPhoneRingingToneRealVideoMime ) != 
+              KErrNotFound )
+        {
+        isVideo = ETrue;    
+        }
+    
+    if ( isVideo )
+        {
+        if ( IsFileInRom() && !IsFileInVideoDirectory() )
+            {
+            // For ROM files check also location, because
+            // MIME check is not fully reliable.
+            isVideo = EFalse;        
+            }            
+        }
+    
+    return isVideo;
+#else
+    // if extended security -> refresh MIME
+    if ( iDrmInPlayback )
+        {
+        RefreshMime();            
+        }
+    
+    return EFalse;
+#endif    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::IsFileDrmProtected
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//    
+TBool CPhoneRingingTone::IsFileDrmProtected() const
+    {
+    const TDesC& type = MimeType();
+        
+    if ( type == KAac  || type == KMp3 || type == KMpeg ||
+         type == K3gpp || type == KMp4 || type == KAmrWb ||
+         type == KWavX || type == KWav || type == KV3gpp || 
+         type == KVMp4 || type == KV3gpp2 )
+        {
+        ContentAccess::CContent* content = NULL;
+        TRAPD( err, content = ContentAccess::CContent::NewL( *iFileName ) );
+        if ( err == KErrNone && content )
+            {
+            TInt drmProtected( 0 );
+            content->GetAttribute( ContentAccess::EIsProtected, drmProtected );
+            delete content;
+            return drmProtected;        
+            }
+        }
+    
+    return ETrue; // Other MIMEs can be played without DRM check.    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::IsFileInRom
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//    
+TBool CPhoneRingingTone::IsFileInRom() const
+    {
+    TParsePtrC parsedName( *iFileName );
+    
+    // Files on rom are not DRM checked
+    if ( parsedName.Drive().CompareF( KPhoneRingingToneDriveZ ) == 0 )
+        {
+        return ETrue;
+        }
+    else
+        {
+        return EFalse;    
+        }        
+    }    
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::IsFileInVideoDirectory
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CPhoneRingingTone::IsFileInVideoDirectory() const
+    {
+    TParsePtrC parsedName( *iFileName );
+    
+    if ( PathInfo::PathType( parsedName.DriveAndPath() ) == 
+         PathInfo::EVideosPath )
+        {
+        return ETrue;
+        }
+    else
+        {
+        return EFalse;    
+        }    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::RefreshMime
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneRingingTone::RefreshMime()
+    {
+    TRAPD( err, RefreshMimeL() );
+    return err;        
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingTone::RefreshMimeL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//    
+void CPhoneRingingTone::RefreshMimeL()
+    {
+    RApaLsSession apaLsSession;
+    User::LeaveIfError( apaLsSession.Connect() );
+    CleanupClosePushL( apaLsSession );
+
+    TUid dummyUid = { 0 };
+    TDataType dataType( dummyUid );
+    
+    User::LeaveIfError(
+        apaLsSession.AppForDocument( *iFileName, dummyUid, dataType ) );
+        
+    CleanupStack::PopAndDestroy(); // CleanupClosePushL
+    
+    delete iMimeType;
+    iMimeType = NULL;
+    iMimeType = dataType.Des().AllocL();
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+TBool CPhoneRingingTone::CheckAndHandleToneSizeLimit()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtone::CheckAndHandleToneSizeLimit()" );
+    
+    TBool bValidSize = ETrue;
+ 
+    // If user has somehow managed to get a too large file as ringing tone,
+    // play default tone instead.
+    if ( iToneFileSizeLimitKB )
+        {
+        if ( CheckToneFileSize( FileName(), iToneFileSizeLimitKB) != KErrNone )
+            {
+            bValidSize = EFalse;
+            }            
+        }
+    __PHONELOG1( 
+        EBasic,
+        EPhoneControl, 
+        "CPhoneRingingtone::CheckAndHandleToneSizeLimit - bValidSize(%d)",
+        bValidSize);
+        
+    return bValidSize;
+    }
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneRingingTone::CheckToneFileSize( const TDesC& aFile, 
+                                           TInt aSizeLimitKB )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtone::CheckToneFileSize()" );
+    //return KErrNone;
+    
+    // Get file size
+    TInt size = 0;
+
+// <-- QT PHONE START -->    
+    RFs fs;   
+    TInt error = fs.Connect();
+    TEntry entry;
+    if ( KErrNone == error )
+        {
+        if (KErrNone == fs.Entry( aFile, entry ))
+            {
+            size = entry.iSize;
+            }    
+            
+        // Check
+        aSizeLimitKB *= Kkilo;
+        if ( aSizeLimitKB  &&  size > aSizeLimitKB )
+            {
+            error = KErrTooBig;
+            }
+        }
+// <-- QT PHONE END -->
+
+    fs.Close();
+    __PHONELOG1( 
+        EBasic,
+        EPhoneControl, 
+        "CPhoneRingingtonePlayer::CheckToneFileSize - size (%d)",
+        size );    
+    return error;
+   
+    }
+
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingTone::GetMaxToneFileSize()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtone::GetMaxToneFileSize()" );
+
+// <-- QT PHONE START -->     
+    /*const TInt error = CPhoneCenRepProxy::Instance()->GetInt( 
+            KCRUidProfileEngine,
+            KProEngRingingToneMaxSize,
+            iToneFileSizeLimitKB );*/
+    TInt error(KErrNone);           
+    iToneFileSizeLimitKB = 5000;
+// <-- QT PHONE END -->     
+   
+    if ( error != KErrNone )
+        {
+        iToneFileSizeLimitKB = 0;
+        }
+    if ( iToneFileSizeLimitKB < 0 )
+        {
+        iToneFileSizeLimitKB = 0;
+        }
+  
+    __PHONELOG2( 
+        EBasic,
+        EPhoneControl, 
+        "CPhoneRingingtonePlayer::GetMaxToneFileSize - error (%d), aMaxSizeKB(%d)",
+        error,
+        iToneFileSizeLimitKB );       
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/src/cphoneringingtonecontroller.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,588 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <telephonyvariant.hrh>
+#include "cphoneringingtonecontroller.h"
+#include "phonelogger.h"
+#include "cphoneringingtone.h"
+#include "tphonecmdparamringtone.h"
+#include "cphonecenrepproxy.h"
+#include "cphoneringingtoneplayer.h"
+#include "cphonettsplayer.h"
+
+// CONSTANTS
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::NewL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CPhoneRingingToneController* CPhoneRingingToneController::NewL()
+    {
+    CPhoneRingingToneController* self = 
+        new ( ELeave ) CPhoneRingingToneController();
+    
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::CPhoneRingingToneController
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingToneController::CPhoneRingingToneController()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::ConstructL()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::ConstructL()" );
+    //iMediatorSender = CPhoneMediatorSender::NewL();
+    //iMediatorSender->AttachCoverUiObserverL( this );
+    
+    iRingingtonePlayer = CPhoneRingingtonePlayer::NewL(); 
+
+    // Check video player configuration.
+    iArbitraryVideoScaling = 
+    CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported( 
+            KTelephonyLVFlagArbitraryVideoScaling );
+
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::~CPhoneRingingToneController
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingToneController::~CPhoneRingingToneController()
+    {
+    /*if ( iMediatorSender )
+        {
+        iMediatorSender->DetachCoverUiObserver( this );
+        }*/
+
+    //delete iMediatorSender;
+    //iMediatorSender = NULL
+    
+    
+    delete iAudioVideoRingingTone;
+    iAudioVideoRingingTone = NULL;
+    delete iTTSPlayer;
+    iTTSPlayer = NULL;
+    delete iRingingtonePlayer;
+    iRingingtonePlayer = NULL;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::PlayRingToneL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneRingingToneController::PlayRingToneL( 
+                                         TPhoneCommandParam* aCommandParam )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::PlayRingToneL()" );
+
+    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdRingTone )
+        {
+        TPhoneCmdParamRingTone* ringToneParam = 
+            static_cast<TPhoneCmdParamRingTone*>( aCommandParam );
+
+        const TInt volume = ringToneParam->Volume();
+        TProfileRingingType ringingType = 
+        static_cast<TProfileRingingType>( ringToneParam->RingingType() );
+        
+        if ( !iAudioVideoRingingTone )
+            {
+            iAudioVideoRingingTone = CPhoneRingingTone::NewL(
+                ringToneParam->RingTone() );
+            }
+
+        // Store pofile based parameters.
+        iAudioVideoRingingTone->SetFileName( ringToneParam->RingTone() );
+        iAudioVideoRingingTone->SetVolume( volume );
+        iAudioVideoRingingTone->SetRingingType ( ringingType );
+        iAudioVideoRingingTone->SetTtsToneToBePlayed(
+                ringToneParam->TextToSay().Length()? ETrue : EFalse);
+
+        
+        // Caller contact text and image and image has
+        // higher priority than video ringing tone set for caller.
+        if ( iAudioVideoRingingTone->IsVideoRingingTone() )
+            {
+            if ( ringToneParam->IsCallerImage() )
+                {
+                // Play only audio from video ringingtone
+                PlayAudioRingTone(
+                        volume,
+                        ringingType );
+                }
+            else
+                {
+                // Play video ring tone
+                const TBool ringToneIsPersonal = ringToneParam->Type() ==
+                    EPhoneRingTonePersonal;
+                PlayVideoRingingTone( 
+                    *iAudioVideoRingingTone, 
+                    volume, 
+                    ringingType,
+                    ringToneIsPersonal );
+                }
+            }
+        else
+            {
+            // Play text to speech, if available
+            if ( ringToneParam->TextToSay().Length() )
+                {
+                if (iTTSPlayer) 
+                    {
+                    delete iTTSPlayer;
+                    iTTSPlayer = NULL;
+                    }
+                iTTSPlayer = CPhoneTTSPlayer::NewL(iRingingtonePlayer); 
+                iTTSPlayer->AddTtsPlaybackIfNeeded();
+                iTTSPlayer->PlayTtsTone(
+                    ringToneParam->TextToSay(),
+                    iAudioVideoRingingTone );
+                }
+            // Play audio ring tone
+            PlayAudioRingTone( 
+                volume, 
+                ringingType );
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::PlayAudioRingTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::PlayAudioRingTone( 
+    TInt aVolume, 
+    TProfileRingingType aRingingType )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::PlayAudioRingTone()" );
+    __PHONELOG2( 
+        EBasic,
+        EPhoneControl, 
+        "CPhoneRingingToneController::PlayAudioRingTone - aVolume(%d), aRingingType(%d)",
+        aVolume,
+        aRingingType );
+ 
+    if ( !iAudioVideoRingingTone ||
+         !iAudioVideoRingingTone->CheckAndHandleToneSizeLimit() )
+        {
+        iRingingtonePlayer->PlayDefaultTone( aVolume, aRingingType );
+        }
+    else if ( aRingingType == EProfileRingingTypeSilent )
+        {
+        iRingingtonePlayer->PlaySilentTone();
+        }
+    else if ( aRingingType == EProfileRingingTypeBeepOnce )
+        {
+        iRingingtonePlayer->PlayBeepOnce( aVolume );
+        }
+    else
+        {
+        iRingingtonePlayer->PlayProfileBasedTone(iAudioVideoRingingTone);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::MuteRingingToneOnAnswer
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneRingingToneController::MuteRingingToneOnAnswer()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::MuteRingingToneOnAnswer()" );
+    
+  /*  if ( iVideoPlayer && iTonePlayingStatus == EVideoTonePlaying ||
+         iTonePlayingStatus == EPersonalVideoTonePlaying )
+        {
+        // Mute the video audio
+        iVideoPlayer->MuteVideoRingTone();
+        iTonePlayingStatus = ESilentVideoTonePlaying;
+        iVolume = 0;
+        }
+    else
+        {*/
+        DoMuteRingingTone();
+        //}
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::MuteRingingTone
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneRingingToneController::MuteRingingTone()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::MuteRingingTone()" );
+    
+ /*   if ( iVideoPlayer && iTonePlayingStatus == EVideoTonePlaying ||
+         iTonePlayingStatus == EPersonalVideoTonePlaying )
+        {
+        // Mute the video audio
+        iVideoPlayer->MuteVideoRingTone();
+        iTonePlayingStatus = ESilentVideoTonePlaying;
+        iVolume = 0;
+        }
+    else
+        {*/
+        StopPlaying();
+        //}
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::StopPlaying
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneRingingToneController::StopPlaying()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::StopPlaying()" );
+    if ( iTTSPlayer )
+        {
+        iTTSPlayer->StopPlaying();
+        delete iTTSPlayer;
+        iTTSPlayer = NULL;
+        }
+    iRingingtonePlayer->StopPlaying();
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::DoMuteRingingTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::DoMuteRingingTone()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::DoMuteRingingTone()" );
+    
+  /*  switch( iTonePlayingStatus )
+        {
+        case EVideoTonePlaying: // video ringing tone, fall through
+        case EPersonalVideoTonePlaying: // fall through
+        case ESilentVideoTonePlaying:
+            if ( iVideoPlayer )
+                {
+                iVideoPlayer->MuteVideoRingTone();
+                return;                 
+                }
+            break;
+            
+        default:
+            break;
+        }*/
+    
+    iRingingtonePlayer->MuteActiveAudioPlayer();
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::ConvertVideoRingingType
+// -----------------------------------------------------------------------------
+//
+MPhoneVideoPlayer::TPlayMode CPhoneRingingToneController::ConvertVideoRingingType(
+    TProfileRingingType aRingingType )
+    {
+    MPhoneVideoPlayer::TPlayMode playMode;
+        
+    switch ( aRingingType )
+        {
+        case EProfileRingingTypeAscending:
+            playMode = MPhoneVideoPlayer::EPlayAscending;
+            break;
+        case EProfileRingingTypeRingingOnce:
+            playMode = MPhoneVideoPlayer::EPlayOnce;
+            break;
+        case EProfileRingingTypeRinging:
+        default:
+            playMode = MPhoneVideoPlayer::EPlayInLoop;
+            break;
+        }
+    
+    return playMode;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::SetVideoPlayer
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::SetVideoPlayer( 
+    MPhoneVideoPlayer* aVideoPlayer )
+    {
+    iVideoPlayer = aVideoPlayer;    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::PlayVideoRingingTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::PlayVideoRingingTone( 
+    const CPhoneRingingTone& /*aRingingTone*/, 
+    TInt /*aVolume*/, 
+    TProfileRingingType /*aRingingType*/,
+    TBool /*aPersonalTone*/ )
+    {
+    /*
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::PlayVideoRingingTone()" );
+    
+    __ASSERT_DEBUG( iVideoPlayer, Panic( EPhoneViewGeneralError ) );
+    
+    iVolume = aVolume;
+    iRingingType = aRingingType;
+    TBool startTimer( ETrue );
+    
+     // Extended security check
+    if ( ExtendedSecurity() )
+        {
+        if ( !aRingingTone.IsFileInRom() &&
+             !aRingingTone.IsFileDrmProtected() )
+            {
+            __PHONELOG( EBasic, 
+                        EPhoneControl, 
+                        "CPhoneRingingToneController::HandleVideoPlayerError - PermissionDenied" );
+            iRingingtonePlayer->PlayDefaultTone( iVolume, iRingingType );
+            return;
+            }
+        __PHONELOG( EBasic, 
+                    EPhoneControl, 
+                    "CPhoneRingingToneController::HandleVideoPlayerError - ExtSecChk ok" );            
+            }
+         
+    // If flip is closed then show video on Cover UI
+    TBool videoPlaySentToCoverUi( EFalse );
+    TInt leaveCode( KErrNone );
+    if ( FeatureManager::FeatureSupported( KFeatureIdCoverDisplay ) )
+        {
+        const TInt flipOpen = CPhonePubSubProxy::Instance()->Value(
+            KPSUidUikon, KUikFlipStatus );
+        if( !flipOpen ) 
+            {
+            TRAP( leaveCode, videoPlaySentToCoverUi = CoverUIPlayVideoRingingToneL( 
+                aRingingTone ) );
+            }
+        }
+    // Play ringing tone here if video play sending did leave or
+    // video playing wasn't delegated to Cover UI   
+    if( !leaveCode && videoPlaySentToCoverUi )
+        {
+        iTimer->After( KPhoneMaxRingingWaiting, this );
+        return;
+        }
+ 
+    __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingToneController::PlayVideoRingingTone - play" );
+    switch( aRingingType )
+        {
+        case EProfileRingingTypeSilent:
+            iVideoPlayer->PlayVideoRingTone( 
+                aRingingTone.FileName(),
+                ConvertVideoRingingType( aRingingType ),
+                0,
+                iArbitraryVideoScaling,
+                this );
+            iRingingtonePlayer->PlaySilentTone();
+            iVolume = 0; // for repeat
+            startTimer = EFalse; // no need for fallback
+            break;
+        
+        case EProfileRingingTypeBeepOnce:
+            iVideoPlayer->PlayVideoRingTone( 
+                aRingingTone.FileName(),
+                ConvertVideoRingingType( aRingingType ),
+                0,
+                iArbitraryVideoScaling,
+                this );
+            iRingingtonePlayer->BeepOnce( aVolume );
+            iVolume = 0; // for repeat
+            startTimer = EFalse; // no need for fallback
+            break;
+        default:
+            iVideoPlayer->PlayVideoRingTone( 
+                aRingingTone.FileName(),
+                ConvertVideoRingingType( aRingingType ),
+                iVolume,
+                iArbitraryVideoScaling,
+                this );
+            break;                
+        }
+
+    if ( aPersonalTone )
+        {
+        iTonePlayingStatus = EPersonalVideoTonePlaying;
+        }
+    else
+        {
+        iTonePlayingStatus = EVideoTonePlaying;
+        }
+
+    if ( startTimer && !iTimer->IsActive() )
+        {
+        // Start timer to guard video opening
+        iTimer->After( KPhoneMaxRingingWaiting, this );
+        }
+    */
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::HandleVideoPlayerError
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::HandleVideoPlayerError( 
+    TPhoneVideoPlayerErrorEvent /*aEvent*/,
+    TInt /*aError*/ )
+    {
+   /* __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::HandleVideoPlayerError()" );
+
+    if ( aError )
+        {
+        __PHONELOG1( EBasic, 
+                     EPhoneControl, 
+                     "CPhoneRingingToneController::HandleVideoPlayerError - error (%d)",
+                     aError );        
+        }
+  
+    // cancel guarding timer
+    iTimer->Cancel();
+
+    // to remove video window
+    iVideoPlayer->CancelVideoRingTone();
+
+    if ( iTonePlayingStatus == EPersonalVideoTonePlaying )
+        {
+        // Play default tone (active profile tone).
+        if ( iAudioVideoRingingTone &&
+             !iAudioVideoRingingTone->IsVideoRingingTone() )
+            {
+            PlayAudioRingTone( iVolume, iRingingType );
+            }
+        else // audio/video tone is video
+            {
+            PlayDefaultVideoAsync();
+            }
+        }
+    else
+        {
+        // Play backup tone
+        iRingingtonePlayer->PlayDefaultTone( iVolume, iRingingType );
+        }
+*/
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::HandleVideoPlayerInitComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::HandleVideoPlayerInitComplete()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::HandleVideoPlayerInitComplete()" );
+    
+    // cancel guarding timer
+    //iTimer->Cancel();
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::HandleVideoPlayerPlayingComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::HandleVideoPlayerPlayingComplete()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::HandleVideoPlayerPlayingComplete()" );
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::PlayDefaultVideoAsync
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::PlayDefaultVideoAsync()
+    {
+  /*  __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::PlayDefaultVideoAsync()" );    
+     
+    Cancel();
+
+    iState = EPlayingDefaultVideo; 
+
+    TRequestStatus* status = &iStatus;
+    User::RequestComplete( status, KErrNone );
+    SetActive();*/
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::ExtendedSecurity
+// -----------------------------------------------------------------------------
+//    
+TBool CPhoneRingingToneController::ExtendedSecurity() const
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::ExtendedSecurity()" );
+    return EFalse;
+    //return iExtSecNeeded;        
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::CoverUIPlayVideoRingingToneL
+// -----------------------------------------------------------------------------
+//   
+TBool CPhoneRingingToneController::CoverUIPlayVideoRingingToneL( 
+    const CPhoneRingingTone& aRingingTone )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::CoverUIPlayVideoRingingToneL()" );
+
+    TBool showVideo( EFalse );
+
+    RBuf8 data;
+    CleanupClosePushL( data );
+    data.CreateL( aRingingTone.FileName().Length() );
+    data.Copy( aRingingTone.FileName() );
+    /*TInt err = iMediatorSender->IssueCommand( 
+        EPhoneCmdCoverUiShowMultimediaRingingTone, 
+        data );
+    if ( err == KErrNone )
+        {
+        showVideo = ETrue;
+        iActiveCoverUICommand = ETrue;
+        }*/
+    CleanupStack::PopAndDestroy(); //data 
+
+    return showVideo;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::ShowMultimediaRingingToneResponseL
+// -----------------------------------------------------------------------------
+//   
+void CPhoneRingingToneController::ShowMultimediaRingingToneResponseL( 
+    TInt aStatus )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::ShowMultimediaRingingToneResponseL()" );
+
+    //iTimer->Cancel();
+    if( aStatus != KErrNone && iActiveCoverUICommand )
+        {
+        iRingingtonePlayer->PlayDefaultTone( iVolume, iRingingType );           
+        }
+    iActiveCoverUICommand = EFalse;
+    }
+
+
+    
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/src/cphoneringingtoneplayer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,1059 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <cntdef.h>
+#include <f32file.h>
+#include <featmgr.h>
+#include <utility.h>
+#include <AudioPreference.h>
+#include <ProfileEngineDomainCRKeys.h>
+// <-- QT PHONE START -->
+//#include <musicplayerdomaincrkeys.h>
+// <-- QT PHONE END -->
+#include <DRMHelperServerInternalCRKeys.h>
+#include <DRMHelper.h>
+#include <activeidle2domainpskeys.h>
+#include <data_caging_path_literals.hrh>
+#include "cphoneringingtoneplayer.h"
+#include "cphoneaudioplayer.h"
+#include "cphoneringingtone.h"
+#include "phonelogger.h"
+#include "cphonecenrepproxy.h"
+#include "cphonepubsubproxy.h"
+#include "cphonetimer.h"
+#include "phoneconstants.h"
+#include "phoneui.pan"
+
+// CONSTANTS
+
+// <-- QT PHONE START -->
+// Minimum acceptable length of parsed DRM message.
+
+//const TInt KPhoneMinDRMTextLength = 3;
+// <-- QT PHONE END -->
+
+CPhoneRingingtonePlayer::CPhoneRingingtonePlayer():
+CActive( CActive::EPriorityStandard ), iAsyncDeletePlayers( EPlayerCount )
+{
+    CActiveScheduler::Add( this );
+}
+
+CPhoneRingingtonePlayer::~CPhoneRingingtonePlayer()
+    {
+    iAsyncDeletePlayers.ResetAndDestroy();
+    iAsyncDeletePlayers.Close();
+        
+    delete iTimer;
+    
+    CleanupPlayers();
+    
+    Cancel();
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::CleanupPlayers()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::CleanupPlayers()" );
+    
+    delete iAudioPlayer;
+    iAudioPlayer = NULL;
+    delete iDefaultPlayer;
+    iDefaultPlayer = NULL;
+    delete iBeepOncePlayer;
+    iBeepOncePlayer = NULL;
+    delete iSilentPlayer;
+    iSilentPlayer = NULL;
+    delete iBackupPlayer;
+    iBackupPlayer = NULL;
+    delete iMdaServer;
+    iMdaServer = NULL;
+    }
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingtonePlayer* CPhoneRingingtonePlayer::NewL()
+    {
+    CPhoneRingingtonePlayer* self = 
+        new ( ELeave ) CPhoneRingingtonePlayer();
+    
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructL()
+    {
+    
+    // Construct timer.
+    iTimer = CPhoneTimer::NewL();
+    
+    for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
+        {
+        User::LeaveIfError( 
+            iAsyncDeletePlayers.Append( NULL ) );
+        }
+    
+ 
+    // <-- QT PHONE START -->
+       // Checks if DRM extend security is needed
+    //TInt extSecNeeded = KErrNone;
+/*
+    TInt err = CPhoneCenRepProxy::Instance()->GetInt(
+        KCRUidMusicPlayerFeatures,
+        KRequireDRMInPlayback,
+        extSecNeeded );
+*/
+
+    //disabling the DRM for the TB10.1wk46 release. Lets see if need to put it back and how.
+    //iExtSecNeeded = ( ( err == KErrNone ) && extSecNeeded ) ? ETrue : EFalse;
+    iExtSecNeeded = EFalse; 
+    
+    
+    /*CPhoneCenRepProxy::Instance()->NotifyChangeL(
+        KCRUidDRMHelperServer, 
+        KDRMHelperServerNotificationPassive,
+        this );*/
+    // <-- QT PHONE END-->        
+    
+    // Construct players.
+    if ( !iMdaServer )
+        {
+        iMdaServer = CMdaServer::NewL();
+        }
+    
+    // Backup player. 
+    ConstructBackupPlayer();
+    // <-- QT PHONE START-->
+    ConstructDefaultPlayerL();
+    // <-- QT PHONE END-->
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlayProfileBasedTone( CPhoneRingingTone* aAudioVideoRingingTone )
+    {
+    iAudioVideoRingingTone = aAudioVideoRingingTone;
+    // Construct player for line 1.
+     if ( !iAudioPlayer )
+         {
+         iAudioPlayer = ConstructTonePlayer( 
+             *iAudioVideoRingingTone, 
+             EPlayerAudio );
+         if ( !iTimer->IsActive() )
+             {
+             // Start timer, since the player is constructed.
+             iTimer->After( KPhoneMaxRingingWaiting, this );
+             }
+         }
+
+     // Start playing.
+     if ( !iAudioPlayer )
+         {
+         iTimer->Cancel();
+         PlayDefaultTone( aAudioVideoRingingTone->Volume(), 
+                          aAudioVideoRingingTone->RingingType() );
+         }
+     else
+         {
+         __PHONELOG( 
+             EBasic, 
+             EPhoneControl, 
+             "CPhoneRingingtonePlayer::PlayAudioRingTone - Start playing audio" );
+         iVolume = aAudioVideoRingingTone->Volume();
+         iRingingType = aAudioVideoRingingTone->RingingType();
+         //AddTtsPlaybackIfNeeded( aRingingType );
+         iTonePlayingStatus = EAudioTonePlaying;
+         iAudioPlayer->Play( 
+             ConvertRingingType( aAudioVideoRingingTone->RingingType() ),
+             aAudioVideoRingingTone->Volume(),
+             aAudioVideoRingingTone->TtsToneToBePlayed());
+         }
+    }
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlayBeepOnce( TInt aVolume )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::BeepOnce()" );
+    __PHONELOG1( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::BeepOnce - aVolume(%d)",
+        aVolume );
+
+    if ( !iBeepOncePlayer )
+        {
+        ConstructSequencePlayer( EPlayerBeepOnce );
+        }
+
+    if ( iBeepOncePlayer )
+        {
+        __PHONELOG( 
+            EBasic, 
+            EPhoneControl, 
+            "CPhoneRingingtonePlayer::BeepOnce - Play" );
+        iTonePlayingStatus = EBeepOnce;
+        iBeepOncePlayer->Play( CPhoneAudioPlayer::ETypeRingingOnce, 
+            aVolume, EFalse );        
+        }
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlaySilentTone()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::PlaySilentTone()" );
+
+    if ( !iSilentPlayer )
+        {
+        ConstructSequencePlayer( EPlayerSilent );
+        }
+
+    if ( iSilentPlayer )
+        {
+        __PHONELOG( 
+            EBasic, 
+            EPhoneControl, 
+            "CPhoneRingingtonePlayer::PlaySilentTone - play" );
+        iTonePlayingStatus = ESilentTonePlaying;
+        iSilentPlayer->Play( CPhoneAudioPlayer::ETypeRinging, 0, EFalse );        
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlayDefaultTone( 
+    TInt aVolume, 
+    TProfileRingingType aRingingType )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::PlayDefaultTone()" );
+
+    if( aRingingType == EProfileRingingTypeSilent ||
+        aRingingType == EProfileRingingTypeBeepOnce )
+        {
+        return;
+        }
+        
+    if ( !iDefaultRingingTone )
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::PlayDefaultTone - default tone does not exist, play backup..." );
+        PlayBackupTone( aVolume, aRingingType );
+        return;    
+        }
+
+    // Construct player.
+    if ( !iDefaultPlayer )
+        {
+        iDefaultPlayer = ConstructTonePlayer( 
+            *iDefaultRingingTone, 
+            EPlayerDefault );
+        if ( !iTimer->IsActive() )
+            {
+            iTimer->After( KPhoneMaxRingingWaiting, this );
+            }
+        }
+
+    // Start playing backup.
+    if ( !iDefaultPlayer )
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::PlayDefaultTone - player not constructed, play backup..." );
+        iTimer->Cancel();
+        PlayBackupTone( aVolume, aRingingType );
+        }
+    else
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::PlayDefaultTone - play" );
+        iVolume = aVolume;
+        iRingingType = aRingingType;
+        iTonePlayingStatus = EDefaultTonePlaying;
+        iDefaultPlayer->Play( 
+            ConvertRingingType( aRingingType ), aVolume,
+            iAudioVideoRingingTone->TtsToneToBePlayed());
+        }
+
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::PlayBackupTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlayBackupTone( 
+    TInt aVolume, 
+    TProfileRingingType aRingingType )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::PlayBackupTone()" );
+    __ASSERT_DEBUG( iBackupPlayer, Panic( EPhoneViewGeneralError ) );
+
+    if ( !iBackupPlayer )
+        {
+        ConstructBackupPlayer();
+        }
+
+    if ( iBackupPlayer )
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::PlayBackupTone - play" );
+        iTonePlayingStatus = EBackupTonePlaying;
+/*
+        // playing text-to-speech, if necessary
+        iTtsToneToBePlayed = EFalse;
+        iTTsTimeOutCounter = 0;
+        iTtsDelayTimer->Cancel();
+        if ( iTtsPlayer )
+            {
+            iTtsPlayer->StopPlaying();
+            delete iTtsPlayer;
+            iTtsPlayer = NULL;
+            }*/
+
+        iBackupPlayer->Play( 
+            ConvertRingingType( aRingingType ), aVolume, EFalse );        
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::StopPlaying()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::StopPlaying()" );
+
+    iTimer->Cancel();
+
+    switch( iTonePlayingStatus )
+        {
+        case EAudioTonePlaying:
+            if( iAudioPlayer )
+                {
+                iAudioPlayer->StopPlaying();
+                delete iAudioPlayer;
+                iAudioPlayer = NULL;
+                }
+            break;
+        case EDefaultTonePlaying:
+            if ( iDefaultPlayer )
+                {
+                iDefaultPlayer->StopPlaying();
+                delete iDefaultPlayer;
+                iDefaultPlayer = NULL;
+                }
+            break;
+        case EBeepOnce:
+            if( iBeepOncePlayer )
+                {
+                iBeepOncePlayer->StopPlaying();
+                delete iBeepOncePlayer;
+                iBeepOncePlayer = NULL;
+                }
+            break;
+        case EBackupTonePlaying:
+            if( iBackupPlayer )
+                {
+                iBackupPlayer->StopPlaying();
+                }
+            break;
+        case ESilentTonePlaying:
+            if( iSilentPlayer )
+                {
+                iSilentPlayer->StopPlaying();
+                delete iSilentPlayer;
+                iSilentPlayer = NULL;
+                }
+            break;
+        case EVideoTonePlaying: // video ringing tone
+        case EPersonalVideoTonePlaying:
+        case ESilentVideoTonePlaying:
+            if ( iBeepOncePlayer )
+                {
+                iBeepOncePlayer->StopPlaying();
+                delete iBeepOncePlayer;
+                iBeepOncePlayer = NULL;                    
+                }
+                
+            if ( iSilentPlayer )
+                {
+                iSilentPlayer->StopPlaying();
+                delete iSilentPlayer;
+                iSilentPlayer = NULL;                    
+                }    
+            /*if ( iVideoPlayer )
+                {
+                iVideoPlayer->StopVideoRingTone();
+                }*/
+            if ( iAudioVideoRingingTone )
+                {
+                delete iAudioVideoRingingTone;
+                iAudioVideoRingingTone = NULL;    
+                }
+            break;
+        case EIdle:
+            // Do nothing here.
+            return;
+        default:
+            Panic( EPhoneViewCaseNotHandled );
+            break;
+        }
+
+    iTonePlayingStatus = EIdle;
+    }
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer* CPhoneRingingtonePlayer::ConstructTonePlayer( 
+    const CPhoneRingingTone& aRingingTone,
+    TInt aId )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructTonePlayer()" );
+    return CPhoneAudioPlayer::New(
+        aRingingTone, 
+        KAudioPriorityPhoneCall, 
+        KAudioPrefIncomingCall,
+        *this, 
+        aId,
+        iMdaServer,
+        aId == EPlayerDefault ? EFalse : iExtSecNeeded );
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneRingingtonePlayer::ConstructBackupPlayer()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructBackupPlayer()" );
+    TRAPD( err, ConstructBackupPlayerL() );
+    return err;
+    }
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructBackupPlayerL()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructBackupPlayerL()" );
+
+    // Construct Backup player.
+    if ( !iBackupPlayer )
+        {
+        TFileName defaultSoundFile( KDriveZ );
+        defaultSoundFile.Append( KPhoneDefaultSoundFile );
+        iBackupPlayer = CPhoneAudioPlayer::NewL( 
+            defaultSoundFile,
+            KAudioPriorityPhoneCall,
+            KAudioPrefIncomingCall,
+            *this,
+            EPlayerBackup,
+            iMdaServer 
+            );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructDefaultPlayerL()
+    {
+    // Construct the default ringing tone
+    TBuf<KMaxFileName> defaultTone;
+// <-- QT PHONE START-->
+    /*TInt err = CPhoneCenRepProxy::Instance()->GetString(            
+        KCRUidProfileEngine,
+        KProEngDefaultRingingTone,
+        defaultTone );*/
+    defaultTone = _L("z:\\data\\sounds\\digital\\Nokia tune.aac");        
+    TInt err(KErrNone);
+// <-- QT PHONE END-->    
+    
+    if ( err == KErrNone )
+        {
+        iDefaultRingingTone = CPhoneRingingTone::NewL( defaultTone );
+        }
+    }
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructSequencePlayer( TPlayerId aId )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructSequencePlayer()" );
+
+    // Construct players.
+    TRAPD( err, ConstructSequencePlayerL( aId ) );
+    if ( err )
+        {
+        __PHONELOG1( EBasic, EPhoneControl, 
+        "CPhoneRingingtonePlayer::ConstructSequencePlayer - err(%d)", err );    
+        }
+    }
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructSequencePlayerL( TPlayerId aId )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructSequencePlayerL()" );
+    // Construct beep once player
+    if ( aId == EPlayerBeepOnce )
+        {
+#ifdef __WINS__    
+        TParse* fp = new (ELeave) TParse();
+        fp->Set( KPhoneBeepOnceSoundFile, &KDC_RESOURCE_FILES_DIR, NULL ); 
+        TFileName fileName( fp->FullName() );
+        delete fp;
+
+        iBeepOncePlayer = CPhoneAudioPlayer::NewL(
+            fileName, 
+            KAudioPriorityPhoneCall,
+            KAudioPrefIncomingCall,
+            *this, 
+            EPlayerBeepOnce );
+#else
+        iBeepOncePlayer = CPhoneAudioPlayer::NewSeqL(
+            KPhoneBeepSequence(),
+            KAudioPriorityPhoneCall,
+            KAudioPrefIncomingCall,
+            *this, 
+            EPlayerBeepOnce );
+#endif // __WINS__
+        }
+
+    // Construct Silent Player.
+    else if ( aId == EPlayerSilent )
+        {
+#ifdef __WINS__
+        TParse* fp = new (ELeave) TParse();
+        fp->Set( KPhoneSilentSoundFile, &KDC_RESOURCE_FILES_DIR, NULL ); 
+        TFileName fileName( fp->FullName() );
+        delete fp;
+
+        iSilentPlayer = CPhoneAudioPlayer::NewL( 
+            fileName, 
+            KAudioPriorityPhoneCall,
+            KAudioPrefIncomingCall,
+            *this, 
+            EPlayerSilent );
+#else
+        iSilentPlayer = CPhoneAudioPlayer::NewSeqL(
+            KPhoneNoSoundSequence(),
+            KAudioPriorityPhoneCall,
+            KAudioPrefIncomingCall,
+            *this,
+            EPlayerSilent );
+#endif // __WINS__
+        }        
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandleAudioPlayerError( 
+    TPhoneAudioPlayerErrorEvent /*aEvent*/, 
+    TInt aError, 
+    TInt /*aId*/ )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandleAudioPlayerError()" );
+    // This is called from CPhoneAudioPlayer - we do not 
+    // want to delete instances from which this method
+    // is called.
+    
+     __PHONELOG1( EBasic, 
+                 EPhoneControl, 
+                 "CPhoneRingingtonePlayer::HandleAudioPlayerError - error (%d)",
+                 aError ); 
+
+    const TBool deleteAll = ( aError == KErrServerTerminated );
+
+    if ( deleteAll )
+        {
+        // KErrServerTerminated is considered as fatal error. So we
+        // need to delete everything.
+
+        for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
+            {
+            DeletePlayerAsync( static_cast< TPlayerId >( i ) );
+            }
+
+        // Now all member audio players point to NULL, except
+        // those players in iAsyncDeletePlayers. Recreate 
+        // players.
+
+        ConstructBackupPlayer(); // Ignore error code.
+        }
+
+    iTimer->Cancel();
+    DoHandlePlayerError( !deleteAll, EFalse );
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandleAudioPlayerInitComplete( TInt aId )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandleAudioPlayerInitComplete()" );
+    // This is called from CPhoneAudioPlayer - we do not 
+    // want to delete instances from which this method
+    // is called. 
+
+    if ( iTonePlayingStatus == EAudioTonePlaying && aId == EPlayerAudio ||
+        iTonePlayingStatus == EDefaultTonePlaying && aId == EPlayerDefault )
+        {
+        iTimer->Cancel();
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::HandlePlayingComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandlePlayingComplete( TInt /*aId*/ )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandlePlayingComplete()" );
+    // This is called from CPhoneAudioPlayer - we do not 
+    // want to delete instances from which this method
+    // is called. 
+
+
+    __PHONELOG1( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::HandlePlayingComplete - delete player - iTonePlayingStatus(%d)",
+        iTonePlayingStatus ); 
+/*    if (iAudioVideoRingingTone->TtsToneToBePlayed() &&
+        iAudioVideoRingingTone->RingingType() == EProfileRingingTypeRinging )
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::HandlePlayingComplete - return" ); 
+        return;
+        }*/
+    
+    switch( iTonePlayingStatus )
+        {
+        case EAudioTonePlaying:
+            DeletePlayerAsync( EPlayerAudio );
+            iAudioPlayer = NULL;
+            break;
+            
+        case EDefaultTonePlaying:
+            DeletePlayerAsync( EPlayerDefault );
+            iDefaultPlayer = NULL;
+            break;
+            
+        case ESilentTonePlaying:
+            DeletePlayerAsync( EPlayerSilent );
+            iSilentPlayer = NULL;
+            break;
+            
+        case EBeepOnce:
+            DeletePlayerAsync( EPlayerBeepOnce );
+            iBeepOncePlayer = NULL;
+            break;
+            
+        case EVideoTonePlaying:
+        case EPersonalVideoTonePlaying:
+            DeletePlayerAsync( EPlayerBeepOnce );
+            iBeepOncePlayer = NULL;
+            return; // beep once + video
+            
+        case EBackupTonePlaying:
+            break;
+            
+        default:
+            Panic( EPhoneViewCaseNotHandled );
+            break;
+        }
+
+    iTonePlayingStatus = EIdle;
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::DeletePlayerAsync( TPlayerId aPlayer )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::DeletePlayerAsync()" );
+    __ASSERT_DEBUG( aPlayer >= EPlayerFirst && aPlayer < iAsyncDeletePlayers.Count(),
+        Panic( EPhoneViewInvariant ) );
+        
+    // Player is not deleted here, but in RunL.
+    Cancel();
+
+    if ( iAsyncDeletePlayers[ aPlayer ] ) 
+        {
+        delete iAsyncDeletePlayers[ aPlayer ];
+        iAsyncDeletePlayers[ aPlayer ] = NULL;
+        }
+
+    CPhoneAudioPlayer** players[] =
+        {
+        &iAudioPlayer,
+        &iBeepOncePlayer,
+        &iSilentPlayer,
+        &iDefaultPlayer,
+        &iBackupPlayer,
+        &iTtsPlayer
+        };
+
+    __ASSERT_DEBUG( iAsyncDeletePlayers.Count() > aPlayer, Panic( EPhoneUtilsIndexOutOfBounds ) );
+    iAsyncDeletePlayers[ aPlayer ] = 
+        *(players[ aPlayer ]);
+    *(players[ aPlayer ]) = NULL;
+
+    iState = EDeletingAudioPlayer;
+
+    TRequestStatus* status = &iStatus;
+    User::RequestComplete( status, KErrNone );
+    SetActive();
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::RunL()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::RunL()" );
+
+    switch ( iState )
+        {
+        case EDeletingAudioPlayer:
+            {
+            for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
+                {
+                delete iAsyncDeletePlayers[ i ];
+                iAsyncDeletePlayers[ i ] = NULL;
+                }
+            }
+            break;
+
+      case EPlayingDefaultVideo:
+            {
+            //PlayAudioRingTone( iVolume, iRingingType );
+            }
+            break;
+
+        case EIdleState:  
+        default:
+            break;
+        } // switch iState
+    
+    iState = EIdleState;
+    }
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::DoCancel()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::DoCancel()" );
+    // Request is completed immediately before SetActive.
+    }
+
+
+// -----------------------------------------------------------
+// CPhoneRingingtonePlayer::HandleCenRepChangeL
+// -----------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandleCenRepChangeL( 
+    const TUid& aUid,
+    const TUint /*aId*/ )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandleCenRepChangeL()");
+    
+    if ( aUid == KCRUidDRMHelperServer )
+        {
+// <-- QT PHONE START --> 
+        /*
+        TBuf<256> tempBuf16( KNullDesC );
+        
+        User::LeaveIfError( CPhoneCenRepProxy::Instance()->GetString(
+            KCRUidDRMHelperServer,
+            KDRMHelperServerNotificationPassive,
+            tempBuf16 ) );         
+       
+        const TBool idleIsTopApp = CPhonePubSubProxy::Instance()->Value(
+            KPSUidAiInformation, KActiveIdleState ) == EPSAiForeground;
+       
+        // Quick validity check and    
+        // The first Tuint8 is the times the content has been informed.
+        // Note should not shown until Idle.
+        if ( idleIsTopApp && tempBuf16.Length() >= KPhoneMinDRMTextLength )
+            { 
+            TBuf8<256> tempBuf8;
+            TPtrC8 ptr((TUint8*)tempBuf16.Ptr(), tempBuf16.Size());
+            HBufC8* buf8 = HBufC8::NewLC( 256 );
+            buf8->Des().Copy(ptr);  
+            // Extract URI etc. 
+            // buf8 format:
+            //<TUint8 aTimes><TUint8 aExpirationMark>
+            //<TUint8 aPermissionType>
+            //<TUint8 aAutomatedContentType><TDesC8 aContentID>
+            TInt8 count = (TInt8)(*(buf8->Ptr())); 
+            TChar mark = (TChar)(*(buf8->Ptr()+1));
+            TInt8 permtype = (TChar)(*(buf8->Ptr()+2));
+            TInt8 automcontenttype = (TChar)(*(buf8->Ptr()+3)); 
+            TBuf8<256> curi = buf8->Right( buf8->Length()-4);
+            
+            if (curi.Ptr()[curi.Size()-1] == 0)
+                {
+                // The last character in the descriptor is 0, which means
+                // that the original 16-bit desc was padded so
+                // remove the last char...
+                curi.SetLength(curi.Size()-1);
+                }
+                    
+            // Create DRM helper.     
+            CDRMHelper* drmHelper = CDRMHelper::NewLC();            
+            // Show notification.
+            drmHelper->SetAutomatedType( (CDRMHelper::TDRMHelperAutomatedType)automcontenttype );
+            TInt error = drmHelper->CheckRightsAmountL( curi );
+
+            __PHONELOG1( EBasic, EPhoneControl, 
+                "CPhoneRingingtonePlayer::HandleCenRepChangeL > CheckRightsAmountL, error: %d"
+                , error );
+                           
+            CleanupStack::PopAndDestroy( drmHelper ); 
+            CleanupStack::PopAndDestroy( buf8 ); 
+            } */
+// <-- QT PHONE END --> 
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandleTimeOutL()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandleTimeOutL()" );
+   /* if( iActiveCoverUICommand )
+        {
+        iMediatorSender->CancelCommand( 
+            EPhoneCmdCoverUiShowMultimediaRingingTone );
+        PlayDefaultTone( iVolume, iRingingType );
+        iActiveCoverUICommand = EFalse;
+        }*/
+
+    // Guarding timer for startup has expired
+    if ( iTonePlayingStatus == EVideoTonePlaying ||
+         iTonePlayingStatus == ESilentVideoTonePlaying ||   
+         iTonePlayingStatus == EPersonalVideoTonePlaying )
+        {
+        //iVideoPlayer->CancelVideoRingTone(); // close video ringtone display
+        PlayDefaultTone( iVolume, iRingingType );
+        }
+    else
+        {
+        // Start new audio player synchronously.
+        DoHandlePlayerError( ETrue, ETrue );
+        }           
+    
+    }
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::DoHandlePlayerError(TBool aDelete, TBool aSync )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::DoHandlePlayerError()" );
+    switch ( iTonePlayingStatus )
+        {
+        case EAudioTonePlaying:
+            if ( aDelete )
+                {
+                if ( aSync )
+                    {
+                    delete iAudioPlayer;
+                    }
+                else
+                    {
+                    DeletePlayerAsync( EPlayerAudio );
+                    }
+
+                iAudioPlayer = NULL;
+                }
+
+#ifdef __WINS__
+            //PlayAudioRingTone( iVolume, iRingingType );
+            iTonePlayingStatus = EDefaultTonePlaying;
+#else
+            PlayDefaultTone( iVolume, iRingingType );
+#endif
+            break;
+        case EDefaultTonePlaying:
+            if ( aDelete )
+                {
+                if ( aSync )
+                    {
+                    delete iDefaultPlayer;
+                    }
+                else
+                    {
+                    DeletePlayerAsync( EPlayerDefault );
+                    }
+
+                iDefaultPlayer = NULL;
+                }
+
+            PlayBackupTone( iVolume, iRingingType );
+            break;
+        case ESilentTonePlaying:
+        case EBeepOnce:
+        case EBackupTonePlaying:
+            break;
+        default:
+            break;
+        }
+    }
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer::TRingingType CPhoneRingingtonePlayer::ConvertRingingType(
+    TProfileRingingType aRingingType )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConvertRingingType()" );
+
+    CPhoneAudioPlayer::TRingingType ringingType = 
+        CPhoneAudioPlayer::ETypeRinging;
+    switch ( aRingingType )
+        {
+        case EProfileRingingTypeRinging:
+            ringingType = CPhoneAudioPlayer::ETypeRinging;
+            break;
+
+        case EProfileRingingTypeAscending:
+            ringingType = CPhoneAudioPlayer::ETypeAscending;
+            break;
+
+        case EProfileRingingTypeRingingOnce:
+            ringingType = CPhoneAudioPlayer::ETypeRingingOnce;
+            break;
+
+        default:
+            break;
+        }
+    return ringingType;
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//    
+CPhoneAudioPlayer* 
+CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayer()
+    {    
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayerWithTTs()" );
+
+    if( iAudioPlayer )
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayerWithTTs - audio player" ); 
+        return iAudioPlayer;         
+        }
+    else if ( iDefaultPlayer )
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayerWithTTs - default player" ); 
+        return iDefaultPlayer;     
+        }
+    else if( iBackupPlayer )
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayerWithTTs - backup player" ); 
+        return iBackupPlayer;
+        }
+    else
+        {
+        return NULL;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::MuteActiveAudioPlayer()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ActiveAudioPlayer()" );
+
+    switch( iTonePlayingStatus )
+        {
+        case EAudioTonePlaying:
+            if( iAudioPlayer )
+                {
+                iAudioPlayer->MutePlaying();
+                }
+            break;
+            
+        case EDefaultTonePlaying:
+            if ( iDefaultPlayer )
+                {
+                return iDefaultPlayer->MutePlaying();
+                }
+            break;
+            
+        case EBeepOnce:
+            if( iBeepOncePlayer )
+                {
+                return iBeepOncePlayer->MutePlaying();
+                }
+            break;
+            
+        case EBackupTonePlaying:
+            if( iBackupPlayer )
+                {
+                return iBackupPlayer->MutePlaying();
+                }
+            break;
+            
+        case ESilentTonePlaying:
+            if( iSilentPlayer )
+                {
+                return iSilentPlayer->MutePlaying();
+                }
+            break;
+            
+        case EVideoTonePlaying: // video ringing tone
+        case EPersonalVideoTonePlaying:
+        case ESilentVideoTonePlaying:
+            if ( iBeepOncePlayer )
+                {
+                return iBeepOncePlayer->MutePlaying();                    
+                }    
+            else if ( iSilentPlayer )
+                {
+                return iSilentPlayer->MutePlaying();                    
+                }    
+            break;
+            
+        default:
+            break;
+        }      
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/src/cphonettsplayer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,502 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "cphonettsplayer.h"
+#include "cphoneringingtone.h"
+#include "cphoneringingtoneplayer.h"
+#include "phonelogger.h"
+#include <AudioPreference.h>
+
+CPhoneTTSPlayer::CPhoneTTSPlayer(CPhoneRingingtonePlayer* aRingingtonePlayer):
+iRingingtonePlayer (aRingingtonePlayer)
+    {
+    
+
+    }
+
+CPhoneTTSPlayer::~CPhoneTTSPlayer()
+    {
+    delete iTtsDelayTimer;
+    delete iTtsPlayer;
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+CPhoneTTSPlayer* CPhoneTTSPlayer::NewL(CPhoneRingingtonePlayer* aRingingtonePlayer)
+    {
+    CPhoneTTSPlayer* self = 
+        new ( ELeave ) CPhoneTTSPlayer(aRingingtonePlayer);
+    
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::ConstructL()
+    {
+    iTtsDelayTimer = CPhoneTimer::NewL();
+    }
+      
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::PlayTtsTone( 
+    const TDesC& aTextToSay, 
+    CPhoneRingingTone* aAudioVideoRingingTone )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::PlayTtsTone()" );
+    //__PHONELOG2( EBasic, EPhoneControl, "CPhoneTTSPlayer::PlayTtsTone - aVolume(%d), aRingingType(%d)",
+    //    aVolume, aRingingType );
+
+    if ( iTtsPlayer )
+        {
+        delete iTtsPlayer;
+        iTtsPlayer = NULL;
+        }
+
+    //Set ringingtype for Tts.
+    iTtsRingingType = aAudioVideoRingingTone->RingingType();
+    iTtsVolume = aAudioVideoRingingTone->Volume();
+
+    // TTS should be a bit louder, than main component.
+    // No need to check for overflows, they are handled in SET_PHONE_VOLUME macro.
+    
+    TPtrC ttsHeader( KPhoneTtsHeader );
+    HBufC* preparedString = 
+        HBufC::New( aTextToSay.Length() + ttsHeader.Length() );
+
+    if ( preparedString )
+        {
+        TPtr pPreparedString = preparedString->Des();
+        pPreparedString.Append( ttsHeader );
+        pPreparedString.Append( aTextToSay );
+           
+        __PHONELOG1( 
+            EBasic, 
+            EPhoneControl, 
+            "CPhoneTTSPlayer::PlayTtsTone - about to say %S",
+            &pPreparedString );
+
+        TRAPD( 
+            error, 
+            iTtsPlayer = CPhoneAudioPlayer::NewTtsL( 
+               *preparedString, 
+               KAudioPriorityPhoneCall, 
+               KAudioPrefTextToSpeechCallHardCoded,
+               *this, 
+               CPhoneRingingtonePlayer::EPlayerTts ) );
+        if( error == KErrNone ) 
+            {
+            // To be played when default or personal tone will be played
+            iTtsToneToBePlayed = ETrue;
+            }
+        __PHONELOG2(
+            EBasic,
+            EPhoneControl,
+            "CPhoneTTSPlayer::PlayTtsTone - error(%d), iTtsPhoneToBePlayed(%d)",
+            error, 
+            iTtsToneToBePlayed );
+
+        delete preparedString;  
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::StopPlaying()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::StopPlaying()" );
+
+    iTtsToneToBePlayed = EFalse;
+    iTTsTimeOutCounter = 0;
+    iTtsDelayTimer->Cancel();
+    if ( iTtsPlayer )
+        {
+        iTtsPlayer->StopPlaying();
+        delete iTtsPlayer;
+        iTtsPlayer = NULL;
+        }
+    }
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::HandleAudioPlayerError( 
+    TPhoneAudioPlayerErrorEvent /*aEvent*/, 
+    TInt /*aError*/, 
+    TInt /*aId*/ )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::HandleAudioPlayerError()" );
+
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::HandleAudioPlayerInitComplete( TInt /*aId*/ )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::HandleAudioPlayerInitComplete()" );
+    // This is called from CPhoneAudioPlayer - we do not 
+    // want to delete instances from which this method
+    // is called. 
+
+    if( iTtsToneToBePlayed )  
+        {
+        // Start TTS timer just before "normal ringtone component" starts 
+        // playing, i.e. after init completed.
+        if ( iTtsDelayIndex < iTtsDelaysCount )  
+            {
+            if ( !iTtsDelayTimer->IsActive() )
+                {
+                // There are TTS iterations to be played yet.
+                iTtsDelayTimer->After( 
+                    KPhoneTtsDelays[iTtsDelayIndex], 
+                    TCallBack( HandleTtsDelayTimeout, this ) );
+                }
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::HandlePlayingComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::HandlePlayingComplete( TInt aId )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete()" );
+    // This is called from CPhoneAudioPlayer - we do not 
+    // want to delete instances from which this method
+    // is called. 
+
+  /*  __PHONELOG2(
+        EBasic, 
+        EPhoneControl,
+        "CPhoneTTSPlayer::HandlePlayingComplete - aId(%d), iRingingType(%d)",
+        aId,
+        iRingingType );*/
+    __PHONELOG2(
+        EBasic, 
+        EPhoneControl,
+        "CPhoneTTSPlayer::HandlePlayingComplete - iTtsToneToBePlayed(%d), iTtsDelayIndex(%d)",
+        iTtsToneToBePlayed,
+        iTtsDelayIndex );
+
+    if ( aId == CPhoneRingingtonePlayer::EPlayerTts ) 
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - resuming after TTS" );
+
+        // TTS playing complete, normal tone player should volume up.
+        if ( ( iTtsToneToBePlayed ) && ( ++iTtsDelayIndex < iTtsDelaysCount ) )  
+            {
+            __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - resuming after TTS first time" );
+            //Callers name is said once. increase tone player volume.    
+            SolveNewVolumeAndRamptime( ESaidOnce );
+            
+            if ( !iTtsDelayTimer->IsActive() )
+                {
+                // There are TTS iterations to be played yet.
+                iTtsDelayTimer->After( KPhoneTtsDelays[iTtsDelayIndex], 
+                    TCallBack( HandleTtsDelayTimeout,this ) );
+                }
+            }
+        else
+            {
+            __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - resuming after TTS second time" );
+            SolveNewVolumeAndRamptime( ESaidTwice );
+            }
+        
+        // No further processing. All TTS player-related events are not 
+        // "real" ringtone playing completions.
+        return;
+        }
+    //Case: RingintonePlayer has completed playing with following set: ring once and
+    // TTS is activated   
+   if ( iTtsRingingType == EProfileRingingTypeRingingOnce && 
+        iTtsToneToBePlayed )   
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - ring once and TTS" );
+         if ( iTtsDelayIndex < iTtsDelaysCount )
+            {
+            ReStartRingingTonePlayer();
+            //Do not destroy player yet. Return.
+            return;            
+            }
+        }
+    //Case: RingintonePlayer has completed playing with following set: ringing 
+    //and TTS is activated. We need  to restart ringintoneplayer and new TTS
+    //iterations are required.
+    else if ( iTtsRingingType == EProfileRingingTypeRinging && iTtsToneToBePlayed )
+        {  
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - ringing and TTS" );
+        if ( iTtsDelayIndex == iTtsDelaysCount )
+            {
+            //Case: Ringingtype is EProfileRingingTypeRinging. New TTS
+            //iterations are required.    
+            __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - need to restart TTS sequence" );
+            //TTS has completed its iterations,set index to zero. 
+            iTtsDelayIndex = 0;
+            if ( !iTtsDelayTimer->IsActive() )
+                {
+                //Restart TTS sequence
+                iTtsDelayTimer->After( 
+                    KPhoneTtsDelays[iTtsDelayIndex], 
+                    TCallBack( HandleTtsDelayTimeout, this ) ); 
+                }
+            }
+        
+        ReStartRingingTonePlayer();
+        //Do not destroy player yet. Return
+        return;  
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneTTSPlayer::HandleTtsDelayTimeout( TAny* object )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::HandleTtsDelayTimeout()" );
+    static_cast<CPhoneTTSPlayer*>( object )->
+        DoHandleTtsDelayTimeout();
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::DoHandleTtsDelayTimeout()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout()" );
+    __PHONELOG2( EBasic, EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout - iTtsRingingType(%d), iTTsTimeOutCounter(%d)",
+        iTtsRingingType, iTTsTimeOutCounter );
+
+    CPhoneAudioPlayer* currPlayer = NULL;
+    currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();        
+    
+    if ( !currPlayer )
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout - null current player" );
+        return;
+        }
+    TInt volume( 0 );
+     //Ascending case. TTs player needs to be ascending.
+    if ( iTtsRingingType == EProfileRingingTypeAscending )
+        {
+        //Volume needs to be different in different ascending steps
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout - play ascending" ); 
+        if ( !iTTsTimeOutCounter )
+            {
+            //We are saying callers name for the first time in ascending mode.
+            //Say callers name by volume level KTtsVolumeMin.             
+            volume = KTtsVolumeMin;
+                
+            iTtsPlayer->Play(
+                ConvertRingingType( EProfileRingingTypeRingingOnce ),
+                volume,
+                iTtsToneToBePlayed );
+            }
+        else
+            {
+            //Checks the case that ringingtone is very quiet. Then do not play
+            //TTS too loud
+            volume = iTtsVolume < KTtsVolumeMin ? KTtsVolumeMin : KTtsVolumeAscendingRepeat;     
+                           
+            //We are saying callers name for the second time in ascending mode.
+            //Say callers name by volume level KTtsVolumeAscendingRepeat and decrease current players volume
+            //to KPlayerVolumeAscendingRepeat. RampTime is zero
+            currPlayer->SetNewVolumeAndRamptime( KPlayerVolumeAscendingRepeat, 0 );
+            iTtsPlayer->Play(
+                ConvertRingingType( EProfileRingingTypeRingingOnce ),
+                volume,
+                iTtsToneToBePlayed );
+            }
+       
+        }
+    else //Normal ringing case.
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout - play normal" ); 
+        currPlayer->SetNewVolumeAndRamptime( iTtsVolume-5, 0 );                       
+        iTtsPlayer->Play(
+            ConvertRingingType( EProfileRingingTypeRingingOnce ),
+            iTtsVolume,
+            iTtsToneToBePlayed );
+        }
+      
+     iTTsTimeOutCounter++;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::AddTtsPlaybackIfNeeded
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::AddTtsPlaybackIfNeeded()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::AddTtsPlaybackIfNeeded()" );
+    if ( iTtsToneToBePlayed )   
+        {
+        iTtsDelayIndex = 0;
+        iTtsDelaysCount = KPhoneTtsDelaysCount;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::SolveNewVolumeAndRamptime
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::SolveNewVolumeAndRamptime( TTtsStatus aStatus )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime()" );
+
+    CPhoneAudioPlayer* currPlayer = NULL;
+    currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();
+    if ( !currPlayer )
+        {
+        __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - null current player" );
+        return;
+        }
+    TInt ramptime( 0 );
+    //Here is handled the cases when Callers name is said. Sequence is:
+    //3 sec. tone + name + 4 sec. tone + name +the tone until the end. 
+    switch ( aStatus )
+        {
+        case ESaidOnce:
+            if ( iTtsRingingType == EProfileRingingTypeAscending )
+                {
+                //The ramptime could be ( 4 )* KPhoneTtsAscendingStep but now
+                //we are setting this to 0 because when Say callers name is said
+                //for first time: play ringing tone on level 3 for four secs.
+                ramptime = 0;
+                __PHONELOG1( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - said once ascending - ramptime(%d)",
+                    ramptime ); 
+                currPlayer->SetNewVolumeAndRamptime( KPlayerVolumeAscendingRepeat, ramptime );
+                }
+            else
+                {
+                 //Normal ringingtone case. Adjust volume back to profile level. 
+                __PHONELOG1( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - said once normal - ramptime(%d)",
+                    ramptime ); 
+                currPlayer->SetNewVolumeAndRamptime( iTtsVolume, 0 );    
+                }
+             break;
+        
+        case ESaidTwice:
+            if ( iTtsRingingType == EProfileRingingTypeAscending )
+                {
+                TInt vol = iTtsVolume;
+                if ( vol > KPlayerVolumeAscendingRepeat )
+                    {
+                    vol = vol - KTtsVolumeAscendingDecrease;
+                    }
+                          
+                //TTS playing complete for second time. increase tone player volume.
+                ramptime = ( vol )*KPhoneTtsAscendingStep;
+                __PHONELOG1( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - said twice ascending - ramptime(%d)",
+                    ramptime ); 
+                currPlayer->SetNewVolumeAndRamptime( iTtsVolume, ramptime );
+                }
+            else
+                {
+                 //Normal ringingtone case. Adjust volume back to profile level. 
+                __PHONELOG1( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - said twice normal - ramptime(%d)",
+                    ramptime ); 
+                currPlayer->SetNewVolumeAndRamptime( iTtsVolume, 0 );
+                }
+            break;
+        
+        default:
+            break;
+        }
+    }
+
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//    
+CPhoneAudioPlayer* 
+CPhoneTTSPlayer::GetCurrentlyActiveAudioPlayerWithTTs()
+    {    
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::GetCurrentlyActiveAudioPlayerWithTTs()" );
+
+    return iRingingtonePlayer->GetCurrentlyActiveAudioPlayer();
+    }
+    
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//      
+void CPhoneTTSPlayer::ReStartRingingTonePlayer()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::ReStartRingingTonePlayer()" );
+
+    //First get currently active player which plays among TTS player.
+    CPhoneAudioPlayer* currPlayer = NULL;
+    currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();   
+    if ( currPlayer )
+        {
+        currPlayer->ReStartPlaying();
+        }      
+    }
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer::TRingingType CPhoneTTSPlayer::ConvertRingingType(
+    TProfileRingingType aRingingType )
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::ConvertRingingType()" );
+
+    CPhoneAudioPlayer::TRingingType ringingType = 
+        CPhoneAudioPlayer::ETypeRinging;
+    switch ( aRingingType )
+        {
+        case EProfileRingingTypeRinging:
+            ringingType = CPhoneAudioPlayer::ETypeRinging;
+            break;
+
+        case EProfileRingingTypeAscending:
+            ringingType = CPhoneAudioPlayer::ETypeAscending;
+            break;
+
+        case EProfileRingingTypeRingingOnce:
+            ringingType = CPhoneAudioPlayer::ETypeRingingOnce;
+            break;
+
+        default:
+            break;
+        }
+    return ringingType;
+    }
+
+ 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/main.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include "t_phoneringingtoneplayer.h"
+
+
+int main(int argc, char *argv[])
+{
+    HbApplication app (argc, argv); 
+    // main window widget instantiated. 
+    // includes decorators such as signal strength and battery life indicator.
+    HbMainWindow mainWindow;    
+    t_phoneringingtoneplayer* player = new t_phoneringingtoneplayer ();
+    mainWindow.addView(player);
+    mainWindow.setCurrentView(player);
+    mainWindow.show();
+    return app.exec();
+}
Binary file phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/sample.mp3 has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,216 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui/QApplication.h>
+#include <hbaction.h>
+#include <hbmenu.h>
+#include <hbmenuitem.h>
+#include <hbpushbutton.h>
+#include <hbslider.h>
+#include <profile.hrh>
+#include "t_phoneringingtoneplayer.h"
+#include "cphoneringingtonecontroller.h"
+#include "TPhoneCmdParamRingTone.h"
+
+
+_LIT(KNokiatune, "Z:\\Data\\Sounds\\Digital\\Nokia tune.aac");
+_LIT(KSamplemp3, "c:\\Data\\Sounds\\Digital\\sample.mp3");
+
+t_phoneringingtoneplayer::t_phoneringingtoneplayer(QGraphicsItem *parent)
+    : HbView(parent), m_volume(10)
+{
+    setTitle(tr("t_ringingtoneplayer"));
+    createMenu();
+    createContent();
+
+    m_ringingtone.Format(KNokiatune);
+    m_ringingtoneplayer = CPhoneRingingToneController::NewL();
+}
+
+t_phoneringingtoneplayer::~t_phoneringingtoneplayer()
+{
+    delete m_ringingtoneplayer;
+}
+void t_phoneringingtoneplayer::createMenu()
+{
+    HbMenu *optionsMenu = menu();
+    /*connect(optionsMenu->addAction(tr("EProfileRingingTypeRinging"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneRingning()));
+    connect(optionsMenu->addAction(tr("EProfileRingingTypeBeepOnce"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneBeepOnce()));
+    connect(optionsMenu->addAction(tr("EProfileRingingTypeSilent"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneSilence()));
+    connect(optionsMenu->addAction(tr("EProfileRingingTypeRinging+tts"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneTTS()));  
+    connect(optionsMenu->addAction(tr("EProfileRingingTypeAscending"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneAscending()));  
+    connect(optionsMenu->addAction(tr("EProfileRingingTypeRingingOnce"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneOnce()));  
+    connect(optionsMenu->addAction(tr("Stop ringingtone"))->action(), SIGNAL(triggered()), this, SLOT(StopRingingtone())); */
+    connect(optionsMenu->addAction(tr("sample.mp3"))->action(), SIGNAL(triggered()), this, SLOT(SampleMP3()));
+    connect(optionsMenu->addAction(tr("nokiatune.aac"))->action(), SIGNAL(triggered()), this, SLOT(Nokiatuneaac()));
+    //connect(optionsMenu->addAction(tr("Quit"))->action(), SIGNAL(triggered()), qApp, SLOT(quit()));
+    
+    
+}
+
+void t_phoneringingtoneplayer::createContent()
+{
+    QGraphicsLinearLayout *mainLayout = new QGraphicsLinearLayout(Qt::Vertical);
+    
+    HbPushButton *ringingButton = new HbPushButton(tr("EProfileRingingTypeRinging"), this); 
+    connect(ringingButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneRingning()));
+    
+    HbPushButton *beeponceButton = new HbPushButton(tr("EProfileRingingTypeBeepOnce"), this); 
+    connect(beeponceButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneBeepOnce()));
+    
+    HbPushButton *silenceButton = new HbPushButton(tr("EProfileRingingTypeSilent"), this); 
+    connect(silenceButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneSilence()));
+    
+    HbPushButton *ttsButton = new HbPushButton(tr("EProfileRingingTypeRinging+tts"), this); 
+    connect(ttsButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneTTS()));
+    
+    HbPushButton *ascendingButton = new HbPushButton(tr("EProfileRingingTypeAscending"), this); 
+    connect(ascendingButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneAscending()));
+
+    HbPushButton *ringingonceButton = new HbPushButton(tr("EProfileRingingTypeRingingOnce"), this); 
+    connect(ringingonceButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneOnce()));
+
+    HbPushButton *stopButton = new HbPushButton(tr("Stop ringingtone"), this); 
+    connect(stopButton, SIGNAL(clicked()), this, SLOT(StopRingingtone()));
+    
+    HbPushButton *quitButton = new HbPushButton(tr("Quit"), this); 
+    connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
+    
+    HbSlider *volumeslider = new HbSlider(this);
+    //volumeslider->setSliderType(HbSlider::VolumeSlider);
+    volumeslider->setOrientation( Qt::Horizontal);
+    volumeslider->setMinimum(EProfileRingingVolumeLevel1);
+    volumeslider->setMaximum(EProfileRingingVolumeLevel10);
+    volumeslider->setSingleStep(1);
+    volumeslider->setValue(m_volume);
+    connect(volumeslider, SIGNAL(valueChanged(int)), this, SLOT(volumeSliderChanged(int)));
+    
+    mainLayout->addItem(volumeslider);
+    mainLayout->addItem(ringingButton);
+    mainLayout->addItem(beeponceButton);
+    mainLayout->addItem(silenceButton);
+    mainLayout->addItem(ttsButton);
+    mainLayout->addItem(ascendingButton);
+    mainLayout->addItem(ringingonceButton);
+    mainLayout->addItem(stopButton);
+    mainLayout->addItem(quitButton);
+    //mainLayout->addStretch();
+
+    setLayout(mainLayout);
+}
+
+void t_phoneringingtoneplayer::PlayRingingtoneRingning()
+{
+    m_ringingtoneplayer->StopPlaying();
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(m_volume);
+    ringToneParam.SetRingingType(EProfileRingingTypeRinging);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone( m_ringingtone);
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
+}
+
+void t_phoneringingtoneplayer::PlayRingingtoneBeepOnce()
+{
+    m_ringingtoneplayer->StopPlaying();
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(m_volume);
+    ringToneParam.SetRingingType(EProfileRingingTypeBeepOnce);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone( m_ringingtone);
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
+}
+
+
+void t_phoneringingtoneplayer::PlayRingingtoneSilence()
+{
+    m_ringingtoneplayer->StopPlaying();
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(m_volume);
+    ringToneParam.SetRingingType(EProfileRingingTypeSilent);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone( m_ringingtone);
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
+}
+
+void t_phoneringingtoneplayer::PlayRingingtoneTTS()
+{
+    m_ringingtoneplayer->StopPlaying();
+    _LIT(KTextToSay, "Mr. Brownstone");
+    TBuf<30> texttosay (KTextToSay);
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(m_volume);
+    ringToneParam.SetRingingType(EProfileRingingTypeRinging);
+    ringToneParam.SetTextToSay(texttosay);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone( m_ringingtone);
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
+}
+
+void t_phoneringingtoneplayer::PlayRingingtoneAscending()
+{
+    m_ringingtoneplayer->StopPlaying();
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(m_volume);
+    ringToneParam.SetRingingType(EProfileRingingTypeAscending);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone( m_ringingtone);
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
+}
+
+void t_phoneringingtoneplayer::PlayRingingtoneOnce()
+{
+    m_ringingtoneplayer->StopPlaying();
+
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(m_volume);
+    ringToneParam.SetRingingType(EProfileRingingTypeRingingOnce);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone(m_ringingtone);
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
+}
+
+
+void t_phoneringingtoneplayer::StopRingingtone()
+{
+    m_ringingtoneplayer->StopPlaying();
+}
+
+void t_phoneringingtoneplayer::SampleMP3()
+{
+   m_ringingtone.Format(KSamplemp3);
+}
+void t_phoneringingtoneplayer::Nokiatuneaac()
+{
+    m_ringingtone.Format(KNokiatune); 
+}
+void t_phoneringingtoneplayer::volumeSliderChanged(int value)
+    {
+    m_volume = value;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+* 
+* Description:
+*
+*/
+
+#ifndef T_PHONERINGINGTONEPLAYER_H
+#define T_PHONERINGINGTONEPLAYER_H
+
+#include <QGraphicsItem>
+#include <hbview.h>
+
+class CPhoneRingingToneController;
+
+class t_phoneringingtoneplayer : public HbView
+{
+    Q_OBJECT
+
+public:
+     t_phoneringingtoneplayer(QGraphicsItem *parent = 0);
+    ~t_phoneringingtoneplayer();
+
+private: 
+    void createMenu();
+    void createContent();
+    
+protected slots:
+    void PlayRingingtoneRingning();
+    void StopRingingtone();  
+    void PlayRingingtoneBeepOnce();
+    void PlayRingingtoneSilence();
+    void PlayRingingtoneTTS();
+    void PlayRingingtoneAscending();
+    void PlayRingingtoneOnce();
+    void SampleMP3();
+    void Nokiatuneaac();
+    void volumeSliderChanged(int value);
+
+private:
+    
+    TBuf<50> m_ringingtone;
+    int m_volume;
+    CPhoneRingingToneController *m_ringingtoneplayer;
+};
+
+#endif // T_PHONERINGINGTONEPLAYER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:                                                        
+#                                                                     
+#
+
+TEMPLATE = app
+TARGET = t_phoneringingtoneplayer 
+CONFIG += hb 
+
+symbian {
+
+    INCLUDEPATH += /epoc32/include/platform/mw \
+                   /epoc32/include/platform \
+                   ../../../phoneuiutils/inc \
+                   ../../../phoneuiview2/src \
+                   ../../../phoneuiqtviewadapter/src \
+                   ../../inc \
+
+    LIBS += -lphoneringingtoneplayer \
+            -lphoneuiutils
+
+    TARGET.CAPABILITY = ALL -TCB
+    DEFINES += FT_SYMBIAN_INTEGRATION
+}
+
+HEADERS   += t_phoneringingtoneplayer.h
+SOURCES   += t_phoneringingtoneplayer_reg.rss \
+             main.cpp \
+             t_phoneringingtoneplayer.cpp
+             
+RESOURCES +=
+
+symbian:TARGET.UID3 = 0xE87E453C
Binary file phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer_armv5_urel.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/bwins/ut_cphoneringingtonecontrolleru.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,8 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+	?StopPlaying@CPhoneRingingToneController@@QAEXXZ @ 2 NONAME ; void CPhoneRingingToneController::StopPlaying(void)
+	?PlayRingToneL@CPhoneRingingToneController@@QAEXPAVTPhoneCommandParam@@@Z @ 3 NONAME ; void CPhoneRingingToneController::PlayRingToneL(class TPhoneCommandParam *)
+	?NewL@CPhoneRingingToneController@@SAPAV1@XZ @ 4 NONAME ; class CPhoneRingingToneController * CPhoneRingingToneController::NewL(void)
+	?MuteRingingToneOnAnswer@CPhoneRingingToneController@@QAEXXZ @ 5 NONAME ; void CPhoneRingingToneController::MuteRingingToneOnAnswer(void)
+	?MuteRingingTone@CPhoneRingingToneController@@QAEXXZ @ 6 NONAME ; void CPhoneRingingToneController::MuteRingingTone(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+PRJ_PLATFORMS
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_cphoneringingtonecontroller.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/ut_cphoneringingtonecontroller.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_cphoneringingtonecontroller.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB -DRM
+VENDORID        VID_DEFAULT
+
+SOURCEPATH              ../Src
+SOURCE                  ut_cphoneringingtonecontroller.cpp
+
+// Sources required by the test suite
+SOURCE                  ut_cphoneringingtonecontroller_dllmain.cpp
+
+// Code under test
+SOURCEPATH             ../../../../src
+SOURCE                  cphoneringingtonecontroller.cpp
+SOURCE                  cphoneringingtone.cpp
+
+SOURCEPATH              ../mocks
+SOURCE                  mock_cphoneringingtoneplayer.cpp
+SOURCE                  mock_cphonettsplayer.cpp 
+
+
+USERINCLUDE             ../Src
+
+USERINCLUDE             ../../../../../phoneuiqtviewadapter/src
+USERINCLUDE             ../../../../../phoneuicontrol/inc
+USERINCLUDE             ../../../../../phoneuiutils/inc
+USERINCLUDE             ../../../../../phoneui2/srcdata
+USERINCLUDE             ../../../../../phoneringingtoneplayer/inc
+
+APP_LAYER_SYSTEMINCLUDE                 // Application layer domain APIs
+SYSTEMINCLUDE           ../../../../inc     // phoneuicontrol inc
+SYSTEMINCLUDE           /epoc32/include/digia/eunit
+SYSTEMINCLUDE           /epoc32/include/mda/client
+SYSTEMINCLUDE           ../../../../../../inc    // phone internal headers
+
+
+SYSTEMINCLUDE           /epoc32/include/ecom
+SYSTEMINCLUDE           /epoc32/include/mmf/common
+SYSTEMINCLUDE           /epoc32/include/mmf/server
+
+
+
+LIBRARY                 eunit.lib
+LIBRARY                 eunitutil.lib
+
+
+LIBRARY                 phoneuiutils.lib
+LIBRARY                 euser.lib
+LIBRARY                 efsrv.lib                           // TParse
+LIBRARY                 ecom.lib                // for CSFIUtilsPhoneInterface plugin
+LIBRARY                 apgrfx.lib              // Apa server
+LIBRARY                 mediaclient.lib
+LIBRARY                 mediaclientaudio.lib
+LIBRARY                 drmhelper.lib
+LIBRARY                 apmime.lib
+LIBRARY                 caf.lib
+LIBRARY                 charconv.lib            // UTF-8 conversion for the TTS
+LIBRARY                 featmgr.lib             // FeatureManager
+LIBRARY                 mediatorclient.lib
+LIBRARY                 audiooutputrouting.lib  // Ringingtone output
+LIBRARY                 platformenv.lib                 // PathInfo
+LIBRARY                 symbianmock.lib
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/mocks/mock_cphoneringingtoneplayer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,383 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <smcmockclassincludes.h>
+#include <ceunitalloctestcasedecorator.h>
+#include "cphoneringingtone.h"
+#include "cphoneringingtoneplayer.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::CPhoneRingingtonePlayer
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingtonePlayer::CPhoneRingingtonePlayer(  )
+    :CActive( CActive::EPriorityStandard )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::~CPhoneRingingtonePlayer
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingtonePlayer::~CPhoneRingingtonePlayer(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::NewL
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingtonePlayer * CPhoneRingingtonePlayer::NewL(  )
+    {
+    SMC_MOCK_NEWL0( CPhoneRingingtonePlayer * )
+
+    CPhoneRingingtonePlayer* self = new( ELeave ) CPhoneRingingtonePlayer;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::PlayProfileBasedTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlayProfileBasedTone( 
+        CPhoneRingingTone * aAudioVideoRingingTone )
+    {
+    SMC_MOCK_METHOD1( void, CPhoneRingingTone *, aAudioVideoRingingTone )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::PlayBeepOnce
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlayBeepOnce( 
+        TInt aVolume )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aVolume )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::PlaySilentTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlaySilentTone(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::PlayVideoRingingTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlayVideoRingingTone( 
+        const CPhoneRingingTone & aRingingTone,
+        TInt aVolume,
+        TProfileRingingType aRingingType,
+        TBool aPersonalTone )
+    {
+    SMC_MOCK_METHOD4( void, const CPhoneRingingTone &, aRingingTone, 
+        TInt, aVolume, 
+        TProfileRingingType, aRingingType, 
+        TBool, aPersonalTone )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::PlayDefaultTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlayDefaultTone( 
+        TInt aVolume,
+        TProfileRingingType aRingingType )
+    {
+    SMC_MOCK_METHOD2( void, TInt, aVolume, 
+        TProfileRingingType, aRingingType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::PlayBackupTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::PlayBackupTone( 
+        TInt aVolume,
+        TProfileRingingType aRingingType )
+    {
+    SMC_MOCK_METHOD2( void, TInt, aVolume, 
+        TProfileRingingType, aRingingType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::StopPlaying
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::StopPlaying(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayer
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer * CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayer(  )
+    {
+    SMC_MOCK_METHOD0( CPhoneAudioPlayer * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::MuteActiveAudioPlayer
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::MuteActiveAudioPlayer(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::HandleCenRepChangeL
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandleCenRepChangeL( 
+        const TUid & aUid,
+        const TUint aId )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD2( void, const TUid &, aUid, 
+        const TUint, aId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::RunL
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::RunL(  )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::DoCancel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::HandleAudioPlayerError
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandleAudioPlayerError( 
+        TPhoneAudioPlayerErrorEvent aEvent,
+        TInt aError,
+        TInt aId )
+    {
+    SMC_MOCK_METHOD3( void, TPhoneAudioPlayerErrorEvent, aEvent, 
+        TInt, aError, 
+        TInt, aId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::HandleAudioPlayerInitComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandleAudioPlayerInitComplete( 
+        TInt aId )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::HandlePlayingComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandlePlayingComplete( 
+        TInt aId )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::HandleTimeOutL
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::HandleTimeOutL(  )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::DeletePlayerAsync
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::DeletePlayerAsync( 
+        TPlayerId aPlayer )
+    {
+    SMC_MOCK_METHOD1( void, TPlayerId, aPlayer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::ConstructSequencePlayer
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructSequencePlayer( 
+        TPlayerId aPlayer )
+    {
+    SMC_MOCK_METHOD1( void, TPlayerId, aPlayer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::ConstructSequencePlayerL
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructSequencePlayerL( 
+        TPlayerId aPlayer )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD1( void, TPlayerId, aPlayer )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::ConstructBackupPlayer
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneRingingtonePlayer::ConstructBackupPlayer(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::ConstructBackupPlayerL
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructBackupPlayerL(  )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::ConstructDefaultPlayerL
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::ConstructDefaultPlayerL(  )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::ConstructTonePlayer
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer * CPhoneRingingtonePlayer::ConstructTonePlayer( 
+        const CPhoneRingingTone & aRingingTone,
+        TInt aId )
+    {
+    SMC_MOCK_METHOD2( CPhoneAudioPlayer *, const CPhoneRingingTone &, aRingingTone, 
+        TInt, aId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::ConvertRingingType
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer::TRingingType CPhoneRingingtonePlayer::ConvertRingingType( 
+        TProfileRingingType aRingingType )
+    {
+    SMC_MOCK_METHOD1( CPhoneAudioPlayer::TRingingType, TProfileRingingType, aRingingType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::ConvertVideoRingingType
+// -----------------------------------------------------------------------------
+//
+MPhoneVideoPlayer::TPlayMode CPhoneRingingtonePlayer::ConvertVideoRingingType( 
+        TProfileRingingType aRingingType )
+    {
+    SMC_MOCK_METHOD1( MPhoneVideoPlayer::TPlayMode, TProfileRingingType, aRingingType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::CleanupPlayers
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::CleanupPlayers(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingtonePlayer::DoHandlePlayerError
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingtonePlayer::DoHandlePlayerError( 
+        TBool aDelete,
+        TBool aSync )
+    {
+    SMC_MOCK_METHOD2( void, TBool, aDelete, 
+        TBool, aSync )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/mocks/mock_cphonettsplayer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,205 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <smcmockclassincludes.h>
+#include "cphonettsplayer.h"
+#include "cphoneringingtone.h"
+#include "cphoneringingtoneplayer.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::CPhoneTTSPlayer
+// -----------------------------------------------------------------------------
+//
+CPhoneTTSPlayer::CPhoneTTSPlayer( 
+        CPhoneRingingtonePlayer * aRingingtonePlayer )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::~CPhoneTTSPlayer
+// -----------------------------------------------------------------------------
+//
+CPhoneTTSPlayer::~CPhoneTTSPlayer(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::NewL
+// -----------------------------------------------------------------------------
+//
+CPhoneTTSPlayer * CPhoneTTSPlayer::NewL( 
+        CPhoneRingingtonePlayer * aRingingtonePlayer )
+    {
+    SMC_MOCK_NEWL1( CPhoneTTSPlayer *, CPhoneRingingtonePlayer *, aRingingtonePlayer )
+
+    CPhoneTTSPlayer* self = new( ELeave ) CPhoneTTSPlayer(aRingingtonePlayer);
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::PlayTtsTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::PlayTtsTone( 
+        const TDesC & aTextToSay,
+        CPhoneRingingTone * aAudioVideoRingingTone )
+    {
+    SMC_MOCK_METHOD2( void, const TDesC &, aTextToSay, 
+        CPhoneRingingTone *, aAudioVideoRingingTone )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::StopPlaying
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::StopPlaying(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::AddTtsPlaybackIfNeeded
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::AddTtsPlaybackIfNeeded(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::HandleAudioPlayerError
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::HandleAudioPlayerError( 
+        TPhoneAudioPlayerErrorEvent aEvent,
+        TInt aError,
+        TInt aId )
+    {
+    SMC_MOCK_METHOD3( void, TPhoneAudioPlayerErrorEvent, aEvent, 
+        TInt, aError, 
+        TInt, aId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::HandleAudioPlayerInitComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::HandleAudioPlayerInitComplete( 
+        TInt aId )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::HandlePlayingComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::HandlePlayingComplete( 
+        TInt aId )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::HandleTtsDelayTimeout
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneTTSPlayer::HandleTtsDelayTimeout( 
+        TAny * object )
+    {
+    //SMC_MOCK_METHOD1( TInt, TAny *, object )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::DoHandleTtsDelayTimeout
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::DoHandleTtsDelayTimeout(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::GetCurrentlyActiveAudioPlayerWithTTs
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer * CPhoneTTSPlayer::GetCurrentlyActiveAudioPlayerWithTTs(  )
+    {
+    SMC_MOCK_METHOD0( CPhoneAudioPlayer * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::SolveNewVolumeAndRamptime
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::SolveNewVolumeAndRamptime( 
+        TTtsStatus aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TTtsStatus, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::ReStartRingingTonePlayer
+// -----------------------------------------------------------------------------
+//
+void CPhoneTTSPlayer::ReStartRingingTonePlayer(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneTTSPlayer::ConvertRingingType
+// -----------------------------------------------------------------------------
+//
+CPhoneAudioPlayer::TRingingType CPhoneTTSPlayer::ConvertRingingType( 
+        TProfileRingingType aRingingType )
+    {
+    SMC_MOCK_METHOD1( CPhoneAudioPlayer::TRingingType, TProfileRingingType, aRingingType )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,303 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <e32svr.h>
+#include <profile.hrh>
+#include <eunitmacros.h>
+#include <eunitdecorators.h>
+#include <csmcmockcontext.h>
+#include <msmcmockspecbuilder.h>
+#include <smcobjecttotypemapper.h>
+#include "ut_cphoneringingtonecontroller.h"
+#include "cphoneringingtonecontroller.h"
+#include "tphonecmdparamringtone.h"
+#include "cphoneringingtone.h"
+#include "cphonecenrepproxy.h"
+
+_LIT(KNokiatune, "Z:\\Data\\Sounds\\Digital\\Nokia tune.aac");
+
+
+
+// custom comparison method for matching expected and items
+TBool operator==( const CPhoneRingingTone& aData1, 
+        const CPhoneRingingTone& aData2 )
+    {
+    return ( aData1.FileName() == aData2.FileName()&& 
+             aData1.Volume() == aData2.Volume() &&
+             aData1.RingingType() == aData2.RingingType()&&
+             aData1.TtsToneToBePlayed() == aData2.TtsToneToBePlayed());
+    }
+
+// - Construction -----------------------------------------------------------
+
+ut_cphoneringingtonecontroller* ut_cphoneringingtonecontroller::NewL()
+    {
+    ut_cphoneringingtonecontroller* self = ut_cphoneringingtonecontroller::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+ut_cphoneringingtonecontroller* ut_cphoneringingtonecontroller::NewLC()
+    {
+    ut_cphoneringingtonecontroller* self = new( ELeave ) ut_cphoneringingtonecontroller();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+ut_cphoneringingtonecontroller::~ut_cphoneringingtonecontroller()
+    {
+    CSmcMockContext::Release();
+    }
+
+ut_cphoneringingtonecontroller::ut_cphoneringingtonecontroller()
+    {
+    }
+
+void ut_cphoneringingtonecontroller::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+
+
+
+void ut_cphoneringingtonecontroller::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    // need to be created here otherwise memory leak can be detected.
+    iPhoneCenRepProxy = CPhoneCenRepProxy::Instance();
+    iRingingtoneplayer = CPhoneRingingToneController::NewL();
+    }
+    
+
+void ut_cphoneringingtonecontroller::Teardown(  )
+    {
+    delete CPhoneCenRepProxy::Instance();
+    UserSvr::DllFreeTls(KUidCenRepProxySingleton);
+    
+    delete iRingingtoneplayer; 
+    iRingingtoneplayer = NULL;
+    iMockContext->Reset();
+    }
+    
+
+void ut_cphoneringingtonecontroller::T_PlayRingingtoneRinging(  )
+    {
+    // Expected data
+    TBuf<50> ringingtone(KNokiatune);
+    _LIT8( KMethod, "CPhoneRingingtonePlayer::PlayProfileBasedTone" );
+    CPhoneRingingTone* aAudioVideoRingingTone = CPhoneRingingTone::NewL(ringingtone);
+    aAudioVideoRingingTone->SetRingingType(EProfileRingingTypeRinging);
+    aAudioVideoRingingTone->SetTtsToneToBePlayed(EFalse);
+    aAudioVideoRingingTone->SetVolume(5);
+    iMockContext->ExpectCallL( KMethod() ).WithL(aAudioVideoRingingTone);
+    
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(5);
+    ringToneParam.SetRingingType(EProfileRingingTypeRinging);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone( ringingtone );
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    iRingingtoneplayer->PlayRingToneL( &ringToneParam );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    delete aAudioVideoRingingTone;
+    
+    }
+
+void ut_cphoneringingtonecontroller::T_PlayRingingtoneSilence(  )
+    {
+    _LIT8( KMethod, "CPhoneRingingtonePlayer::PlaySilentTone" );
+
+    iMockContext->ExpectCallL( KMethod() );
+    
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(5);
+    ringToneParam.SetRingingType(EProfileRingingTypeSilent);
+    // Set the profile ring tone
+    TBuf<50> ringingtone(KNokiatune);
+    ringToneParam.SetRingTone( ringingtone );
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    iRingingtoneplayer->PlayRingToneL( &ringToneParam );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphoneringingtonecontroller::T_PlayRingingtoneBeepOnce(  )
+    {
+    _LIT8( KMethod, "CPhoneRingingtonePlayer::PlayBeepOnce" );
+    iMockContext->ExpectCallL( KMethod() ).WithL(5);    
+    
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(5);
+    ringToneParam.SetRingingType(EProfileRingingTypeBeepOnce);
+    // Set the profile ring tone
+    TBuf<50> ringingtone(KNokiatune);
+    ringToneParam.SetRingTone( ringingtone );
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    iRingingtoneplayer->PlayRingToneL( &ringToneParam );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void ut_cphoneringingtonecontroller::T_PlayRingingtoneAscending(  )
+    {
+    TBuf<50> ringingtone(KNokiatune);
+    _LIT8( KMethod, "CPhoneRingingtonePlayer::PlayProfileBasedTone" );
+    CPhoneRingingTone* aAudioVideoRingingTone = CPhoneRingingTone::NewL(ringingtone);
+    aAudioVideoRingingTone->SetRingingType(EProfileRingingTypeAscending);
+    aAudioVideoRingingTone->SetTtsToneToBePlayed(EFalse);
+    aAudioVideoRingingTone->SetVolume(5);
+    iMockContext->ExpectCallL( KMethod() ).WithL(aAudioVideoRingingTone);
+    
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(5);
+    ringToneParam.SetRingingType(EProfileRingingTypeAscending);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone( ringingtone );
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    iRingingtoneplayer->PlayRingToneL( &ringToneParam );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    delete aAudioVideoRingingTone;
+    }
+
+void ut_cphoneringingtonecontroller::T_PlayRingingtoneRingingOnce(  )
+    {
+    TBuf<50> ringingtone(KNokiatune);
+    _LIT8( KMethod, "CPhoneRingingtonePlayer::PlayProfileBasedTone" );
+    CPhoneRingingTone* aAudioVideoRingingTone = CPhoneRingingTone::NewL(ringingtone);
+    aAudioVideoRingingTone->SetRingingType(EProfileRingingTypeRingingOnce);
+    aAudioVideoRingingTone->SetTtsToneToBePlayed(EFalse);
+    aAudioVideoRingingTone->SetVolume(5);
+    iMockContext->ExpectCallL( KMethod() ).WithL(aAudioVideoRingingTone);
+    
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(5);
+    ringToneParam.SetRingingType(EProfileRingingTypeRingingOnce);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone( ringingtone );
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    iRingingtoneplayer->PlayRingToneL( &ringToneParam );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    delete aAudioVideoRingingTone;
+    }
+
+void ut_cphoneringingtonecontroller::T_PlayRingingtoneTTS()
+{
+    // Expected data
+    _LIT(KTextToSay, "Mr. Brownstone");
+    TBuf<30> texttosay (KTextToSay);
+    TBuf<50> ringingtone(KNokiatune);
+    CPhoneRingingTone* aAudioVideoRingingTone = CPhoneRingingTone::NewL(ringingtone);
+    aAudioVideoRingingTone->SetRingingType(EProfileRingingTypeRinging);
+    aAudioVideoRingingTone->SetTtsToneToBePlayed(ETrue);
+    aAudioVideoRingingTone->SetVolume(5);
+    _LIT8( KMethod, "CPhoneTTSPlayer::NewL" );
+    iMockContext->ExpectCallL( KMethod() );
+    _LIT8( KMethod2, "CPhoneTTSPlayer::PlayTtsTone" );
+    iMockContext->ExpectCallL( KMethod2() ).WithL(KTextToSay(), aAudioVideoRingingTone);   
+    _LIT8( KMethod3, "CPhoneRingingtonePlayer::PlayProfileBasedTone" );
+    iMockContext->ExpectCallL( KMethod3() ).WithL(aAudioVideoRingingTone);
+
+    TPhoneCmdParamRingTone ringToneParam;
+    ringToneParam.SetVolume(5);
+    ringToneParam.SetRingingType(EProfileRingingTypeRinging);
+    ringToneParam.SetTextToSay(texttosay);
+    // Set the profile ring tone
+    ringToneParam.SetRingTone( ringingtone);
+    ringToneParam.SetType( EPhoneRingToneProfile );
+
+    iRingingtoneplayer->PlayRingToneL( &ringToneParam );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    delete aAudioVideoRingingTone;
+}
+
+void ut_cphoneringingtonecontroller::T_StopRingingtone()
+{
+    _LIT8( KMethod, "CPhoneRingingtonePlayer::StopPlaying" );
+    iMockContext->ExpectCallL( KMethod() );
+
+    iRingingtoneplayer->StopPlaying();
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+}
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    ut_cphoneringingtonecontroller,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "T_PlayRingingtoneRinging",
+    "",
+    "",
+    "FUNCTIONALITY",
+    SetupL, T_PlayRingingtoneRinging, Teardown)
+    
+EUNIT_TEST(
+    "T_PlayRingingtoneSilence",
+    "",
+    "",
+    "FUNCTIONALITY",
+    SetupL, T_PlayRingingtoneSilence, Teardown)
+
+EUNIT_TEST(
+    "T_PlayRingingtoneBeepOnce",
+    "",
+    "",
+    "FUNCTIONALITY",
+    SetupL, T_PlayRingingtoneBeepOnce, Teardown)
+    
+EUNIT_TEST(
+    "T_PlayRingingtoneAscending",
+    "",
+    "",
+    "FUNCTIONALITY",
+    SetupL, T_PlayRingingtoneAscending, Teardown)    
+     
+EUNIT_TEST(
+    "T_PlayRingingtoneAscending",
+    "",
+    "",
+    "FUNCTIONALITY",
+    SetupL, T_PlayRingingtoneRingingOnce, Teardown)   
+
+EUNIT_TEST(
+    "T_PlayRingingtoneTTS",
+    "",
+    "",
+    "FUNCTIONALITY",
+    SetupL, T_PlayRingingtoneTTS, Teardown)
+    
+EUNIT_TEST(
+    "T_StopRingingtone",
+    "",
+    "",
+    "FUNCTIONALITY",
+    SetupL, T_StopRingingtone, Teardown)
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_CPHONERINGINGTONEPLAYER_H__
+#define __UT_CPHONERINGINGTONEPLAYER_H__
+
+// INCLUDES
+#include <ceunittestsuiteclass.h>
+#include <eunitdecorators.h>
+
+
+// FORWARD DECLARATIONS
+
+class CPhoneRingingToneController;
+class CSmcMockContext;
+class CPhoneRingingTone;
+class CPhoneCenRepProxy;
+
+
+// custom comparison method for matching expected and actual SData items
+TBool operator==( const CPhoneRingingTone& aData1, const CPhoneRingingTone& aData2 );
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_cphoneringingtonecontroller )
+	: public CEUnitTestSuiteClass
+    {
+    public:  // Constructors and destructor
+
+        static ut_cphoneringingtonecontroller* NewL();
+        static ut_cphoneringingtonecontroller* NewLC();
+        ~ut_cphoneringingtonecontroller();
+
+    private: // Constructors
+
+        ut_cphoneringingtonecontroller();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_PlayRingingtoneRinging();
+         
+         void T_PlayRingingtoneSilence();
+         
+         void T_PlayRingingtoneBeepOnce();
+         
+         void T_PlayRingingtoneAscending();
+         
+         void T_PlayRingingtoneRingingOnce();
+         
+         void T_PlayRingingtoneTTS();
+         
+         void T_StopRingingtone();
+        
+
+    private: // Data
+
+        CPhoneRingingToneController* iRingingtoneplayer;
+        CPhoneCenRepProxy* iPhoneCenRepProxy; 
+        CSmcMockContext* iMockContext; 
+        
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPHONERINGINGTONEPLAYER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller_dllmain.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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_cphoneringingtonecontroller.h"
+#include <ceunittestsuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return ut_cphoneringingtonecontroller::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/bwins/phonestringloaderu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,17 @@
+EXPORTS
+	?LoadL@StringLoader@@SAPAVHBufC16@@HPAVCCoeEnv@@@Z @ 1 NONAME ; class HBufC16 * StringLoader::LoadL(int, class CCoeEnv *)
+	?LoadL@StringLoader@@SAPAVHBufC16@@HABVMDesC16Array@@ABV?$CArrayFix@H@@PAVCCoeEnv@@@Z @ 2 NONAME ; class HBufC16 * StringLoader::LoadL(int, class MDesC16Array const &, class CArrayFix<int> const &, class CCoeEnv *)
+	?LoadLC@StringLoader@@SAPAVHBufC16@@HABVTDesC16@@HPAVCCoeEnv@@@Z @ 3 NONAME ; class HBufC16 * StringLoader::LoadLC(int, class TDesC16 const &, int, class CCoeEnv *)
+	?Load@StringLoader@@SAXAAVTDes16@@HPAVCCoeEnv@@@Z @ 4 NONAME ; void StringLoader::Load(class TDes16 &, int, class CCoeEnv *)
+	?LoadLC@StringLoader@@SAPAVHBufC16@@HPAVCCoeEnv@@@Z @ 5 NONAME ; class HBufC16 * StringLoader::LoadLC(int, class CCoeEnv *)
+	?LoadLC@StringLoader@@SAPAVHBufC16@@HHPAVCCoeEnv@@@Z @ 6 NONAME ; class HBufC16 * StringLoader::LoadLC(int, int, class CCoeEnv *)
+	?LoadLC@StringLoader@@SAPAVHBufC16@@HABVMDesC16Array@@PAVCCoeEnv@@@Z @ 7 NONAME ; class HBufC16 * StringLoader::LoadLC(int, class MDesC16Array const &, class CCoeEnv *)
+	?LoadL@StringLoader@@SAPAVHBufC16@@HABV?$CArrayFix@H@@PAVCCoeEnv@@@Z @ 8 NONAME ; class HBufC16 * StringLoader::LoadL(int, class CArrayFix<int> const &, class CCoeEnv *)
+	?LoadLC@StringLoader@@SAPAVHBufC16@@HABVMDesC16Array@@ABV?$CArrayFix@H@@PAVCCoeEnv@@@Z @ 9 NONAME ; class HBufC16 * StringLoader::LoadLC(int, class MDesC16Array const &, class CArrayFix<int> const &, class CCoeEnv *)
+	?LoadL@StringLoader@@SAPAVHBufC16@@HHPAVCCoeEnv@@@Z @ 10 NONAME ; class HBufC16 * StringLoader::LoadL(int, int, class CCoeEnv *)
+	?LoadL@StringLoader@@SAPAVHBufC16@@HABVMDesC16Array@@PAVCCoeEnv@@@Z @ 11 NONAME ; class HBufC16 * StringLoader::LoadL(int, class MDesC16Array const &, class CCoeEnv *)
+	?LoadLC@StringLoader@@SAPAVHBufC16@@HABVTDesC16@@PAVCCoeEnv@@@Z @ 12 NONAME ; class HBufC16 * StringLoader::LoadLC(int, class TDesC16 const &, class CCoeEnv *)
+	?LoadLC@StringLoader@@SAPAVHBufC16@@HABV?$CArrayFix@H@@PAVCCoeEnv@@@Z @ 13 NONAME ; class HBufC16 * StringLoader::LoadLC(int, class CArrayFix<int> const &, class CCoeEnv *)
+	?LoadL@StringLoader@@SAPAVHBufC16@@HABVTDesC16@@PAVCCoeEnv@@@Z @ 14 NONAME ; class HBufC16 * StringLoader::LoadL(int, class TDesC16 const &, class CCoeEnv *)
+	?LoadL@StringLoader@@SAPAVHBufC16@@HABVTDesC16@@HPAVCCoeEnv@@@Z @ 15 NONAME ; class HBufC16 * StringLoader::LoadL(int, class TDesC16 const &, int, class CCoeEnv *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/eabi/phonestringloaderu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,17 @@
+EXPORTS
+	_ZN12StringLoader4LoadER6TDes16iP7CCoeEnv @ 1 NONAME
+	_ZN12StringLoader5LoadLEiP7CCoeEnv @ 2 NONAME
+	_ZN12StringLoader5LoadLEiRK12MDesC16ArrayP7CCoeEnv @ 3 NONAME
+	_ZN12StringLoader5LoadLEiRK12MDesC16ArrayRK9CArrayFixIiEP7CCoeEnv @ 4 NONAME
+	_ZN12StringLoader5LoadLEiRK7TDesC16P7CCoeEnv @ 5 NONAME
+	_ZN12StringLoader5LoadLEiRK7TDesC16iP7CCoeEnv @ 6 NONAME
+	_ZN12StringLoader5LoadLEiRK9CArrayFixIiEP7CCoeEnv @ 7 NONAME
+	_ZN12StringLoader5LoadLEiiP7CCoeEnv @ 8 NONAME
+	_ZN12StringLoader6LoadLCEiP7CCoeEnv @ 9 NONAME
+	_ZN12StringLoader6LoadLCEiRK12MDesC16ArrayP7CCoeEnv @ 10 NONAME
+	_ZN12StringLoader6LoadLCEiRK12MDesC16ArrayRK9CArrayFixIiEP7CCoeEnv @ 11 NONAME
+	_ZN12StringLoader6LoadLCEiRK7TDesC16P7CCoeEnv @ 12 NONAME
+	_ZN12StringLoader6LoadLCEiRK7TDesC16iP7CCoeEnv @ 13 NONAME
+	_ZN12StringLoader6LoadLCEiRK9CArrayFixIiEP7CCoeEnv @ 14 NONAME
+	_ZN12StringLoader6LoadLCEiiP7CCoeEnv @ 15 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/phonestringloader.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,17 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+SOURCES += ./src/stringloader.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/phonestringloader.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building stringloader component
+#
+#
+
+TEMPLATE = lib
+TARGET = phonestringloader
+CONFIG += hb
+
+symbian {
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.EPOCALLOWDLLDATA =1
+    TARGET.UID3 = 0x20029F85
+    DEFINES += FT_SYMBIAN_INTEGRATION
+    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
+    INCLUDEPATH += ../../inc \  
+                   ../phoneuiutils/inc \
+                   ../phoneuiview2/inc \
+                   ../phoneuiqtviewadapter/inc
+                   
+    LIBS += -lphoneuiqtviewadapter
+    LIBS += -lphoneuiqtview
+    
+    defFiles = \
+        "$${LITERAL_HASH}ifdef WINS" \
+            "DEFFILE bwins/phonestringloader.def" \
+        "$${LITERAL_HASH}else" \
+            "DEFFILE eabi/phonestringloader.def" \
+        "$${LITERAL_HASH}endif"
+    
+    MMP_RULES += defFiles
+}
+
+# Input
+include(phonestringloader.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/src/stringloader.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,418 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  String loader class.
+*
+*/
+
+#include <exception> // must be before e32base.h so uncaught_exception gets defined
+#include <StringLoader.h>
+#include "phoneresourceadapter.h"
+#include "phoneaction.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// StringLoader::StringLoader
+// -----------------------------------------------------------------------------
+//
+/*
+StringLoader::StringLoader(  )
+    {
+    
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// StringLoader::Load
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void StringLoader::Load( 
+        TDes & aDest,
+        TInt aResourceId,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        aDest.Copy (text->text ().utf16 ());
+        delete text;        
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadL( 
+        TInt aResourceId,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewL (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::New (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadL( 
+        TInt aResourceId,
+        TInt aInt,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, aInt);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewL (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::New (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadL( 
+        TInt aResourceId,
+        const TDesC & aString,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aString);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewL (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::New (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadL( 
+        TInt aResourceId,
+        const TDesC & aString,
+        TInt aInt,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aString, aInt);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewL (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::New (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadL( 
+        TInt aResourceId,
+        const CArrayFix<TInt> & aInts,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aInts);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewL (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::New (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadL( 
+        TInt aResourceId,
+        const MDesCArray & aStrings,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aStrings);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewL (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::New (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadL( 
+        TInt aResourceId,
+        const MDesCArray & aStrings,
+        const CArrayFix<TInt> & aInts,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aStrings, &aInts);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewL (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::New (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadLC
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadLC( 
+        TInt aResourceId,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewLC (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::NewLC (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadLC
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadLC( 
+        TInt aResourceId,
+        TInt aInt,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, aInt);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewLC (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::NewLC (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadLC
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadLC( 
+        TInt aResourceId,
+        const TDesC & aString,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aString);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewLC (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::NewLC (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadLC
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadLC( 
+        TInt aResourceId,
+        const TDesC & aString,
+        TInt aInt,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aString, aInt);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewLC (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::NewLC (1);
+    }
+    return buf;
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadLC
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadLC( 
+        TInt aResourceId,
+        const CArrayFix<TInt> & aInts,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aInts);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewLC (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::NewLC (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadLC
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadLC( 
+        TInt aResourceId,
+        const MDesCArray & aStrings,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aStrings);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewLC (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::NewLC (1);
+    }
+    return buf;
+    }
+
+
+// -----------------------------------------------------------------------------
+// StringLoader::LoadLC
+// -----------------------------------------------------------------------------
+//
+EXPORT_C HBufC * StringLoader::LoadLC( 
+        TInt aResourceId,
+        const MDesCArray & aStrings,
+        const CArrayFix<TInt> & aInts,
+        CCoeEnv * aLoaderEnv )
+    {
+    Q_UNUSED (aLoaderEnv);
+    HBufC *buf;
+    QMap<PhoneAction::ActionType, PhoneAction *> map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aStrings, &aInts);
+    if (map.contains (PhoneAction::Text)) {
+        PhoneAction *text = map [PhoneAction::Text];
+        buf = HBufC::NewLC (text->text ().size ());
+        *buf = text->text ().utf16 ();
+        delete text;
+    } else {
+        // TODO: this else branch MUST be removed after all strings are localized!
+        //       now here only to prevent crashing
+        buf = HBufC::NewLC (1);
+    }
+    return buf;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/tsrc/runtests.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,19 @@
+@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
+
+del \epoc32\winscw\c\private\EF78FF4E\ut_phonestringloader.log
+\epoc32\release\winscw\udeb\ut_phonestringloader.exe -o ut_phonestringloader.log
+type \epoc32\winscw\c\private\EF78FF4E\ut_phonestringloader.log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/tsrc/unit.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = subdirs
+SUBDIRS += ut_phonestringloader
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/tsrc/ut_phonestringloader/phoneresourceadapter.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+*
+*/
+
+#include <QObject>
+#include <QMap>
+#include "phoneaction.h"
+
+#ifndef PHONERESOURCEADAPTER_H
+#define PHONERESOURCEADAPTER_H
+
+class PhoneResourceAdapter : public QObject
+{
+    Q_OBJECT
+public:
+    static PhoneResourceAdapter* Instance(QObject *parent = 0);
+    QMap<PhoneAction::ActionType, PhoneAction *> convert (int symbianResourceId, ...);
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/tsrc/ut_phonestringloader/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,392 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 StringLoader.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <hbapplication.h>
+#include <QSignalSpy>
+//#include <hbglobal_p.h>
+#include <stringloader.h>
+#include "phoneaction.h"
+#include "phoneresourceadapter.h"
+
+class TestPhoneStringLoader : public QObject
+{
+    Q_OBJECT
+public:
+    TestPhoneStringLoader();
+    virtual ~TestPhoneStringLoader();
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup (); 
+    
+private slots:
+    void testLoad ();
+    void testLoadL1 ();
+    void testLoadL2 ();
+    void testLoadL3 ();
+    void testLoadL4 ();
+    void testLoadL5 ();
+    void testLoadL6 ();
+    void testLoadL7 ();
+    void testLoadLC1 ();
+    void testLoadLC2 ();
+    void testLoadLC3 ();
+    void testLoadLC4 ();
+    void testLoadLC5 ();
+    void testLoadLC6 ();
+    void testLoadLC7 ();
+};
+
+int m_resourceId;
+bool m_convertCalled;
+bool m_set_text_map;
+PhoneResourceAdapter* m_resource_adapter;
+
+PhoneResourceAdapter* PhoneResourceAdapter::Instance (QObject *parent)
+{
+
+    Q_UNUSED (parent);
+    if ( 0 == m_resource_adapter )
+        m_resource_adapter = new PhoneResourceAdapter;
+    
+    return m_resource_adapter;
+}
+
+QMap<PhoneAction::ActionType, PhoneAction *> PhoneResourceAdapter::convert (int symbianResourceId, ...)
+{
+    m_resourceId = symbianResourceId;
+    m_convertCalled = true;
+    QMap<PhoneAction::ActionType, PhoneAction *> map;
+    if (m_set_text_map) {
+        PhoneAction *text = new PhoneAction;
+        text->setText(tr("Test"));
+        map[PhoneAction::Text] = text; 
+    }
+        
+    return map;
+}
+
+TestPhoneStringLoader::TestPhoneStringLoader ()
+{
+}
+
+TestPhoneStringLoader::~TestPhoneStringLoader ()
+{
+}
+
+void TestPhoneStringLoader::initTestCase ()
+{
+}
+
+void TestPhoneStringLoader::cleanupTestCase ()
+{
+}
+
+void TestPhoneStringLoader::init ()
+{
+    m_resourceId = -1;
+    m_convertCalled = false;
+    m_set_text_map = false;
+}
+
+void TestPhoneStringLoader::cleanup ()
+{
+    delete m_resource_adapter;
+    m_resource_adapter = 0;
+}
+
+void TestPhoneStringLoader::testLoad ()
+{
+    TBuf<255> string(KNullDesC);
+    StringLoader::Load(string, 1000);
+    QCOMPARE (m_resourceId, 1000);
+    QCOMPARE (m_convertCalled, true);
+    
+    m_set_text_map = true;
+    StringLoader::Load(string, 1000);
+    QCOMPARE (m_resourceId, 1000);
+    QCOMPARE (m_convertCalled, true);
+    
+}
+
+void TestPhoneStringLoader::testLoadL1 ()
+{
+    HBufC *buf = StringLoader::LoadL(1000);
+    QCOMPARE (m_resourceId, 1000);
+    QCOMPARE (m_convertCalled, true);
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(1000);
+    QCOMPARE (m_resourceId, 1000);
+    QCOMPARE (m_convertCalled, true);
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL2 ()
+{
+    HBufC *buf = StringLoader::LoadL(1234, 3);
+    QCOMPARE (m_resourceId, 1234);
+    QCOMPARE (m_convertCalled, true);	
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(1234, 3);
+    QCOMPARE (m_resourceId, 1234);
+    QCOMPARE (m_convertCalled, true);   
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL3 ()
+{
+    TBuf<255> string(KNullDesC);
+    HBufC *buf = StringLoader::LoadL(1234, string);
+    QCOMPARE (m_resourceId, 1234);
+    QCOMPARE (m_convertCalled, true);	
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(1234, string);
+    QCOMPARE (m_resourceId, 1234);
+    QCOMPARE (m_convertCalled, true);   
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL4 ()
+{
+    TBuf<255> string(KNullDesC);
+    HBufC *buf = StringLoader::LoadL(666, string, 5);
+    QCOMPARE (m_resourceId, 666);
+    QCOMPARE (m_convertCalled, true);	
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(666, string, 5);
+    QCOMPARE (m_resourceId, 666);
+    QCOMPARE (m_convertCalled, true);   
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL5 ()
+{
+    CArrayFixFlat<TInt>* list = new(ELeave)CArrayFixFlat<TInt>(2);
+    HBufC *buf = StringLoader::LoadL(4321, *list);
+    QCOMPARE (m_resourceId, 4321);
+    QCOMPARE (m_convertCalled, true);
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(4321, *list);
+    QCOMPARE (m_resourceId, 4321);
+    QCOMPARE (m_convertCalled, true);
+    delete list;
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL6 ()
+{
+    CDesCArray *list = new ( ELeave )CDesCArrayFlat(2);
+    HBufC *buf = StringLoader::LoadL(555, *list);
+    QCOMPARE (m_resourceId, 555);
+    QCOMPARE (m_convertCalled, true);
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(555, *list);
+    QCOMPARE (m_resourceId, 555);
+    QCOMPARE (m_convertCalled, true);
+    delete list;
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadL7 ()
+{
+	CDesCArray *list = new ( ELeave )CDesCArrayFlat(2);
+    CArrayFixFlat<TInt>* list2 = new(ELeave)CArrayFixFlat<TInt>(2);
+    HBufC *buf = StringLoader::LoadL(5678, *list, *list2);
+    QCOMPARE (m_resourceId, 5678);
+    QCOMPARE (m_convertCalled, true);	
+    delete buf;
+    
+    m_set_text_map = true;
+    buf = StringLoader::LoadL(5678, *list, *list2);
+    QCOMPARE (m_resourceId, 5678);
+    QCOMPARE (m_convertCalled, true);   
+    delete list;
+    delete list2;
+    delete buf;
+}
+
+void TestPhoneStringLoader::testLoadLC1 ()
+{
+    HBufC *buf = 0;
+    TRAP_IGNORE( 
+            buf = StringLoader::LoadLC(1001); 
+            QCOMPARE (m_resourceId, 1001);
+            QCOMPARE (m_convertCalled, true);
+            CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    TRAP_IGNORE(
+            buf = StringLoader::LoadLC(1001);
+            QCOMPARE (m_resourceId, 1001);
+            QCOMPARE (m_convertCalled, true);
+            CleanupStack::PopAndDestroy( buf );
+    );
+}
+
+void TestPhoneStringLoader::testLoadLC2 ()
+{
+    HBufC *buf = 0;
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(1235, 2);
+        QCOMPARE (m_resourceId, 1235);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(1235, 2);
+        QCOMPARE (m_resourceId, 1235);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+}
+
+void TestPhoneStringLoader::testLoadLC3 ()
+{
+    HBufC *buf = 0;
+    TBuf<255> string(KNullDesC);
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(1234, string);
+        QCOMPARE (m_resourceId, 1234);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(1234, string);
+        QCOMPARE (m_resourceId, 1234);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+}
+
+void TestPhoneStringLoader::testLoadLC4 ()
+{
+    HBufC *buf = 0;
+    TBuf<255> string(KNullDesC);
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(667, string, 9);
+        QCOMPARE (m_resourceId, 667);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(667, string, 9);
+        QCOMPARE (m_resourceId, 667);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+}
+
+void TestPhoneStringLoader::testLoadLC5 ()
+{
+    HBufC *buf = 0;
+    CArrayFixFlat<TInt>* list = new(ELeave)CArrayFixFlat<TInt>(2);
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(4322, *list);
+        QCOMPARE (m_resourceId, 4322);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(4322, *list);
+        QCOMPARE (m_resourceId, 4322);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    delete list;
+}
+
+void TestPhoneStringLoader::testLoadLC6 ()
+{
+    HBufC *buf = 0;
+    CDesCArray *list = new ( ELeave )CDesCArrayFlat(5);
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(556, *list);
+        QCOMPARE (m_resourceId, 556);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(556, *list);
+        QCOMPARE (m_resourceId, 556);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    delete list;
+}
+
+void TestPhoneStringLoader::testLoadLC7 ()
+{
+    HBufC *buf = 0;
+    CDesCArray *list = new ( ELeave )CDesCArrayFlat(3);
+    CArrayFixFlat<TInt>* list2 = new(ELeave)CArrayFixFlat<TInt>(2);
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(5679, *list, *list2);
+        QCOMPARE (m_resourceId, 5679);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    m_set_text_map = true;
+    
+    TRAP_IGNORE(
+        buf = StringLoader::LoadLC(5679, *list, *list2);
+        QCOMPARE (m_resourceId, 5679);
+        QCOMPARE (m_convertCalled, true);
+        CleanupStack::PopAndDestroy( buf );
+    );
+    
+    delete list;
+    delete list2;
+}
+
+QTEST_MAIN(TestPhoneStringLoader)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phonestringloader/tsrc/ut_phonestringloader/ut_phonestringloader.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+TEMPLATE = app
+TARGET = 
+TARGET.UID3 = 0xEF78FF4E
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+
+symbian {
+
+    INCLUDEPATH += \epoc32\include\platform\mw \
+                   \epoc32\include\platform \
+                   ../../../phoneuiview2/inc \
+                   ../../../phoneuiutils/inc \
+                   ../../../../inc \
+                   ../../../phoneui2/srcdata
+
+    LIBS += -lphoneqtview
+    LIBS += -lbafl
+
+    TARGET.CAPABILITY = ALL -TCB
+}
+
+# Input
+HEADERS += phoneresourceadapter.h
+SOURCES += ../../src/stringloader.cpp
+SOURCES += unit_tests.cpp
--- a/phoneapp/phoneui/aif/phoneuiaif.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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 file contains aif resource for PhoneUI application.
-*
-*/
-
-
-//  INCLUDES
-#include    <aiftool.rh>
-#include    "Phone.loc"
-
-//  RESOURCE DEFINITIONS 
-
-// ---------------------------------------------------------
-//   
-//    It contains aif data for phone app.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AIF_DATA
-    {
-    app_uid = 0x100058B3;
-    num_icons = 1;
-    embeddability = KAppNotEmbeddable;
-    newfile = KAppDoesNotSupportNewFile;
-    hidden = KAppIsHidden;
-    }
-          
-// End of File
-
-
--- a/phoneapp/phoneui/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneApp / PhoneUI 
-*     		
-*
-*/
-
-#ifdef RD_PHONE_NG
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-//  Help exports
-#include "../help/group/bld.inf"
-
-PRJ_EXPORTS
-// Stub SIS files:
-../group/phoneui_stub.sis                       /epoc32/data/z/system/install/phoneui_stub.sis
-
-
-// IBY files:
-../rom/phoneui.iby                              CORE_APP_LAYER_IBY_EXPORT_PATH(phoneui.iby)
-../rom/phoneuiresources.iby                     LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(phoneuiresources.iby)
-../rom/phoneuiresourcesvoip.iby                 LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(phoneuiresourcesvoip.iby)
-
-// LOC files:
-../loc/basiccallhandling.loc                    APP_LAYER_LOC_EXPORT_PATH(basiccallhandling.loc)
-../loc/callheadertexts.loc                      APP_LAYER_LOC_EXPORT_PATH(callheadertexts.loc)
-../loc/callterminationnote.loc                  APP_LAYER_LOC_EXPORT_PATH(callterminationnote.loc)
-../loc/dtmfsignalling.loc                       APP_LAYER_LOC_EXPORT_PATH(dtmfsignalling.loc)
-../loc/incallmenuandsoftkeys.loc                APP_LAYER_LOC_EXPORT_PATH(incallmenuandsoftkeys.loc)
-../loc/incalloperations.loc                     APP_LAYER_LOC_EXPORT_PATH(incalloperations.loc)
-../loc/mobileoriginatedcalls.loc                APP_LAYER_LOC_EXPORT_PATH(mobileoriginatedcalls.loc)
-../loc/multicallhandling.loc                    APP_LAYER_LOC_EXPORT_PATH(multicallhandling.loc)
-../loc/numberentry.loc                          APP_LAYER_LOC_EXPORT_PATH(numberentry.loc)
-../loc/phone.loc                                APP_LAYER_LOC_EXPORT_PATH(phone.loc)
-../loc/voip.loc                                 APP_LAYER_LOC_EXPORT_PATH(voip.loc)
-../loc/dialer.loc    				APP_LAYER_LOC_EXPORT_PATH(dialer.loc)
-
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-	OPTION TARGETFILE phoneui.mif
-	OPTION HEADERFILE phoneui.mbg
-	OPTION SOURCEFILE iconlist.txt
-END
-
-START EXTENSION s60/mifconv
-	OPTION TARGETFILE phoneui_aif.mif
-	OPTION SOURCES -c8,8 qgn_menu_idle
-END
-
-PRJ_MMPFILES
-phoneui.mmp
-
-
-#endif // RD_PHONE_NG
-
-// End of File
--- a/phoneapp/phoneui/group/commonphoneapp_icons_aif_bitmaps.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# 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: Make file for phoneui.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps\
-ICONTARGETFILENAME=$(TARGETDIR)\phoneui_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_idle_lst.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneapp/phoneui/group/commonphoneapp_icons_aif_scalable.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# 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: Make file for phoneui.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\phoneui_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_idle.svg
-		
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneapp/phoneui/group/commonphoneapp_icons_scalable.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-#
-# 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: Make file for phoneui.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\phoneui.mif
-HEADERFILENAME=$(HEADERDIR)\phoneui.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-		/c8,8 qgn_indi_button_bluetooth.svg \
-		/c8,8 qgn_indi_button_conference.svg \
-		/c8,8 qgn_indi_button_drop.svg \
-		/c8,8 qgn_indi_button_end_active_call.svg \
-		/c8,8 qgn_indi_button_end_all_calls.svg \
-		/c8,8 qgn_indi_button_go_idle.svg \
-		/c8,8 qgn_indi_button_handset.svg \
-		/c8,8 qgn_indi_button_hold.svg \
-		/c8,8 qgn_indi_button_join.svg \
-		/c8,8 qgn_indi_button_loudspeaker.svg \
-		/c8,8 qgn_indi_button_mute_mic.svg \
-		/c8,8 qgn_indi_button_participants.svg \
-		/c8,8 qgn_indi_button_private.svg \
-		/c8,8 qgn_indi_button_swap.svg \
-		/c8,8 qgn_indi_button_unhold.svg \
-		/c8,8 qgn_indi_button_unmute_mic.svg \
-		/c8,8 qgn_indi_button_video_to_voice.svg \
-		/c8,8 qgn_indi_button_voice_to_video.svg \
-		/c8,8 qgn_indi_button_answer.svg \
-		/c8,8 qgn_indi_button_reject.svg \
-		/c8,8 qgn_indi_tb_call.svg \
-		/c8,8 qgn_indi_dialer_clear.svg \
-		/c8,8 qgn_indi_tb_pb.svg \
-		/c8,8 qgn_indi_dialer_add_contacts.svg \
-		/c8,8 qgn_indi_dialer_logs.svg \
-		/c8,8 qgn_indi_button_send_dtmf.svg \
-		/c8,8 qgn_indi_button_silence.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneapp/phoneui/group/iconlist.txt	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
--c8,8 qgn_indi_button_bluetooth
--c8,8 qgn_indi_button_conference
--c8,8 qgn_indi_button_drop
--c8,8 qgn_indi_button_end_active_call
--c8,8 qgn_indi_button_end_all_calls
--c8,8 qgn_indi_button_go_idle
--c8,8 qgn_indi_button_handset
--c8,8 qgn_indi_button_hold
--c8,8 qgn_indi_button_join
--c8,8 qgn_indi_button_loudspeaker
--c8,8 qgn_indi_button_mute_mic
--c8,8 qgn_indi_button_participants
--c8,8 qgn_indi_button_private
--c8,8 qgn_indi_button_swap
--c8,8 qgn_indi_button_unhold
--c8,8 qgn_indi_button_unmute_mic
--c8,8 qgn_indi_button_video_to_voice
--c8,8 qgn_indi_button_voice_to_video
--c8,8 qgn_indi_button_answer
--c8,8 qgn_indi_button_reject
--c8,8 qgn_indi_dialer_call_send
--c8,8 qgn_indi_dialer_clear
--c8,8 qgn_indi_dialer_contacts
--c8,8 qgn_indi_dialer_add_contacts
--c8,8 qgn_indi_dialer_logs
--c8,8 qgn_indi_button_send_dtmf
--c8,8 qgn_indi_button_silence
--c8,8 qgn_indi_tb_microphone_mute 
--c8,8 qgn_indi_tb_microphone_unmute
--c8,8 qgn_indi_tb_ihf_on 
--c8,8 qgn_indi_tb_handset
--c8,8 qgn_indi_tb_bthf
\ No newline at end of file
--- a/phoneapp/phoneui/group/phoneui.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is project specification file for the PhoneUI app.
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_APPLICATION MultiMediaDD PowerMgmt NetworkControl DRM DiskAdmin
-
-// Assign Vendor ID.
-VENDORID VID_DEFAULT
-
-EPOCSTACKSIZE   0x5000
-EPOCHEAPSIZE    0x1000 0x500000 // Min 4KB, Max 5MB 
-TARGET          phoneui.exe
-TARGETTYPE      exe
-
-UID	        	0x100039ce 0x100058B3
-
-SOURCEPATH      ../src
-
-SOURCE          cphoneapplication.cpp
-SOURCE          cphonedocument.cpp
-SOURCE          cphoneappui.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../phoneuiview/inc
-USERINCLUDE     ../../phoneuiutils/inc
-USERINCLUDE     ../../phoneuicontrol/inc
-USERINCLUDE     ../srcdata
-
-APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
-SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
-
-#ifndef __SECURE_DATA__ 
-/* Languages */
-LANG SC
-SOURCEPATH      ../srcdata
-
-// load protocol specific resources
-RESOURCE        phoneui.rss
-#else
-// Resources
-SOURCEPATH      ../srcdata
-START RESOURCE  phoneui.rss
-TARGETPATH APP_RESOURCE_DIR
-HEADER
-LANGUAGE_IDS
-END  // RESOURCE
-
-
-// Resources
-SOURCEPATH      ../srcdata
-START RESOURCE  callhandlingui.rss
-TARGETPATH APP_RESOURCE_DIR
-HEADER
-LANGUAGE_IDS
-END  // RESOURCE
-
-SOURCEPATH      ../srcdata
-START RESOURCE  phoneuitouch.rss
-TARGETPATH APP_RESOURCE_DIR
-HEADER
-LANGUAGE_IDS
-END  // RESOURCE
-
-START RESOURCE ../srcdata/phoneui_reg.rss
-DEPENDS phoneui.rsg
-HEADER
-TARGETPATH /private/10003a3f/apps
-END  // RESOURCE
-
-#endif // __SECURE_DATA__
-
-LIBRARY         euser.lib
-LIBRARY         cone.lib
-LIBRARY         apparc.lib
-LIBRARY         eikcore.lib
-LIBRARY         avkon.lib
-LIBRARY         bafl.lib
-LIBRARY         eikcoctl.lib // menu bar
-
-#ifndef __WINS__
-LIBRARY         efsrv.lib
-#endif
-
-LIBRARY         ws32.lib
-LIBRARY         apgrfx.lib  // Apa server
-
-LIBRARY         phoneuiview.lib
-LIBRARY         phoneuicontrol.lib
-LIBRARY         phoneuiutils.lib
-LIBRARY         featmgr.lib // FeatureManager
-
-LIBRARY         cdlengine.lib
--- a/phoneapp/phoneui/group/phoneui_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +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 stub.
-;
-; Languages
-&EN
-
-; Header
-#{"phoneui"}, (0x100058B3), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-
-;
-;  phoneui
-;
-"" - "z:\sys\bin\phoneui.exe"
-"" - "z:\resource\apps\phoneui_aif.mif"
-"" - "z:\resource\apps\phoneui.rsc"
-"" - "z:\private\10003a3f\apps\phoneui_reg.rsc"
Binary file phoneapp/phoneui/group/phoneui_stub.sis has changed
Binary file phoneapp/phoneui/help/data/xhtml.zip has changed
--- a/phoneapp/phoneui/help/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>				
-PRJ_EXPORTS
-:zip ../data/xhtml.zip   /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip   /epoc32/winscw/c/resource/ overwrite
-
-../inc/incl.hlp.hrh	MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/incl.hlp.hrh)
-../rom/phoneuihelps_variant.iby		CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(phoneuihelps_variant.iby)
--- a/phoneapp/phoneui/help/inc/incl.hlp.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /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:
-*
-*/
-	
-//
-// incl.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __INCL_HLP_HRH__
-#define __INCL_HLP_HRH__
-
-_LIT(KDIALER_HLP_MAIN, "DIALER_HLP_MAIN"); // 
-_LIT(KINCAL_HLP_CALL_HANDLING, "INCAL_HLP_CALL_HANDLING"); // 
-_LIT(KDIALER_HLP_SEND_DTMF, "DIALER_HLP_SEND_DTMF"); // 
-_LIT(KINCAL_HLP_VIDEO_CALL, "INCAL_HLP_VIDEO_CALL"); // 
-
-#endif 
\ No newline at end of file
--- a/phoneapp/phoneui/help/rom/phoneuihelps_variant.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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: 
-*
-*/
-
-#ifndef __PHONEUIHELPS_VARIANT_IBY__
-#define __PHONEUIHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058B3\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x100058B3\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058B3\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x100058B3\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058B3\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x100058B3\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058B3\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x100058B3\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- a/phoneapp/phoneui/inc/cphoneapplication.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Provide a basis for applications working 
-                 within the framework provided by Avkon.
-*
-*/
-
-
-#ifndef CPHONEAPPLICATION_H
-#define CPHONEAPPLICATION_H
-
-//  INCLUDES
-#include <eikenv.h>
-#include <eikapp.h>
-#include <eikappui.h>
-#include <aknapp.h>
-#include <eikdoc.h>
-
-#include "phoneconstants.h"
-
-// CONSTANTS
-
-// CLASS DECLARATION
-class CPhoneLibraryContainer;
-
-/**
-*  Application class for the PhoneUI.
-*
-*  @since 4.0
-*/
-class CPhoneApplication : public CAknApplication
-    {
-    public:
- 
-        /**
-        * From CEikApplication, creates an instance of the document for 
-        * application.
-        *
-        * @return Returns the created instance.
-        */
-        CApaDocument* CreateDocumentL();
-
-        /**
-        * From CEikApplication, returns the uid of the application.
-        *
-        * @return Returns the uid.
-        */
-        TUid AppDllUid() const;
-
-        /**
-        * destructor
-        */
-        ~CPhoneApplication();
-
-    protected:
-
-        /**
-        * From CAknApplication, called before document construction.
-        * Creates factories.
-        */
-        void PreDocConstructL();
-
-    private:
-        /**
-        * From CAknApplication Returns the application resource file name.
-        */
-        TFileName ResourceFileName() const;
-
-        // Library handle container
-        CPhoneLibraryContainer*      iLibraryContainer;
-    };
-
-#endif      // CPHONEAPPLICATION_H   
-            
-// End of File
--- a/phoneapp/phoneui/inc/cphoneappui.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  AppUI for PhoneUI
-*
-*/
-
-
-#ifndef CPHONEAPPUI_H
-#define CPHONEAPPUI_H
-
-//  INCLUDES
-#include <aknappui.h>
-#include <eikbtgpc.h>
-#include <eikmenub.h> 
-#include "mphonepubsubobserver.h"
-#include "cphonerecoverysystem.h"
-
-// FORWARD DECLARATIONS
-class CPhoneViewController;
-class CPhoneUIController;
-class CPhoneQwertyHandler;
-class CEnvironmentChangeNotifier;
-
-// CLASS DECLARATION
-
-/**
-*  AppUI for the PhoneUI.
-*
-*  @since 4.0
-*
-*/
-class CPhoneAppUI :
-    public CAknAppUi,
-    public MCoeViewActivationObserver,
-    public MAknAliasKeyCodeResolver,
-    private MPhonePubSubObserver 
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        */
-        CPhoneAppUI();
-
-        /**
-        * Destructor.
-        */
-        ~CPhoneAppUI();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-    public: // Functions from base classes
-
-        /**
-        * From CAknAppUi, handles window server events.
-        * @param aEvent event.
-        * @param aDestination destination control.
-        */
-        virtual void HandleWsEventL( 
-            const TWsEvent& aEvent,
-            CCoeControl* aDestination );
-
-        /**
-        * From CAknAppUi, handle key events.
-        * @param aKeyEvent a key event
-        * @param aType a key event type
-        */
-        TKeyResponse HandleKeyEventL( 
-            const TKeyEvent& aKeyEvent, 
-            TEventCode aType );
-
-        /**
-        * From CAknAppUi, handles command.
-        *
-        * This method is called first when command is to be performed. Then
-        * control flow goes to HandleCommandL.
-        *
-        * @param aCommand command to be handled.
-        */
-        void ProcessCommandL( TInt aCommand );
-
-        /**
-        * From CAknAppUi, handles commands.
-        *
-        * @param aCommand It is the code of the command to be handled.
-        */
-        void HandleCommandL( TInt aCommand );
-
-        /**
-        * From CAknAppUi, initialise a menupane (dynamic).
-        *
-        * @param aResourceId It is the resource id for the pane.
-        * @param aMenuPane It is the menu pane corresponding to the resource.
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-        /**
-        * From CAknAppUi, initialise a menubar (dynamic).
-        *
-        * @param aResourceId It is the resource id for the bar.
-        * @param aMenuBar It is the menu bar corresponding to the resource.
-        */
-        void DynInitMenuBarL( TInt aResourceId, CEikMenuBar* aMenuBar );
-
-        /**
-        * From CAknAppUi, indicates when app ui is on the foreground.
-        * @param aForeground It is true if app is on the foreground.
-        */
-        void HandleForegroundEventL( TBool aForeground );
-
-        /**
-        * From CAknAppUi, handles status pane size change.
-        */
-        void HandleStatusPaneSizeChange();
-
-        /**
-        * From CAknAppUi. For idle state monitor
-        */
-        void HandleApplicationSpecificEventL( 
-            TInt aType,
-            const TWsEvent& aEvent );
-
-        /**
-        * From CAknAppUi, handles resouce changes.
-        */
-        void HandleResourceChangeL( TInt aType );
-
-        /**
-        * From MCoeViewActivationObserver
-        */
-        void HandleViewActivation(
-            const TVwsViewId& aNewlyActivatedViewId,
-            const TVwsViewId& aViewIdToBeDeactivated );
-
-        /**
-        * From CAknAppUi
-        * Handles view deactivation.
-        * @param aViewIdToBeDeactivated:Id of view to be deactivated.
-        * @param aNewlyActivatedViewId: Id of view to be activated.        
-        */
-        void HandleViewDeactivation(
-            const TVwsViewId& aViewIdToBeDeactivated,
-            const TVwsViewId& aNewlyActivatedViewId );
-
-        /** 
-        * From CCoeAppUi
-        * Returns help context
-        */
-        virtual CArrayFix<TCoeHelpContext>* HelpContextL() const; 
-
-        // STARTUP SIGNALLING
-
-        /**
-        * Performs startup signalling. 
-        *
-        * Calls either idle or security signalling.
-        */
-        static TInt DoStartupSignalL( TAny* aAny );
-
-        /**
-        * Idle signalling.
-        */
-        TInt DoStartupSignalIdleL();
-
-        /**
-        * Security signalling. 
-        */
-        TInt DoStartupSignalSecurityL();
-
-    public: // From MPhonePubSubObserver
-
-        /**
-        * This function is called when there is property value change.
-        * @param aCategory Category of the property
-        * @param aKey Property key that is changed
-        * @param aValue New property value
-        */
-        IMPORT_C virtual void HandlePropertyChangedL( 
-            const TUid& aCategory,
-            const TUint aKey,
-            const TInt aValue );
-
-	public: // From MAknAliasKeyCodeResolver
-	
-		/**
-		* @see MAknAliasKeyCodeResolver
-		*/        
-		TInt GetAliasKeyCode( TUint& aCode, 
-							  const TKeyEvent& aKeyEvent,
-							  TEventCode aType);  
-		
-	private:
-
-        /**
-        * Handle enviroment changes
-        */
-        void HandleEnvironmentChangeL( const TInt aChanges ); 
-        
-        /**
-        * Process Window server events.
-        */
-        void ProcessWsEventL( 
-            const TWsEvent& aEvent, 
-            CCoeControl* aDestination );
-            
-        void LayoutMainView();
-        
-        /**
-        * Called in callback
-        */
-        static TInt HandleCallBackL( TAny* aAny );
-
-        /**
-        * Callback pointed to specific instance
-        */
-        void DoHandleCallBackL();
-        
-        /**
-        * NoKey specil handling
-        */
-        void NoKeySpecialHandlingL( 
-                    const TKeyEvent& aKeyEvent,
-					TEventCode aType);  
-
-    private: // Data types
-
-        // Startup states.
-        // EPhoneStartupInitial - Initial state.
-        // EPhoneStartedUp - Phone application is ready.
-        // EPhoneIdleStartedUp - Idle application is ready.
-        enum
-            {
-            EPhoneStartupInitial = 0x00000001,
-            EPhoneStartedUp = 0x00000002,
-            EPhoneIdleStartedUp = 0x00000004
-            };
-
-    private: // Data
-
-        CPhoneViewController *iPhoneViewController;
-        
-        // Phone UI controller
-        CPhoneUIController* iPhoneUIController;    
-
-        //      Owned: Eikon server window group.
-        TInt iEikonServerWgId;
-
-        // STARTUP SIGNALLING
-
-        // Application (Phone and Idle) startup status.
-        TInt iAppsReady;
-        
-        //      Recovery id for startup signalling.
-        TRecoveryId iStartupSignalRecoveryId;
-
-        //      Boolean flag. ETrue iff we have reached light idle
-        TBool iLightIdleReached;
-
-        // Id of system event client - Idle started up.
-        TInt iIdleReadyEventId;
-        
-        // Id of system event client - topmost application.
-        TInt iTopmostAppId;
-
-        // Id of system events from Starter states.
-        TInt iStarterEventId;
-        
-        CPhoneQwertyHandler* iQwertyHandler;
-        
-        // System evenviroment notifier
-        CEnvironmentChangeNotifier* iEnvChangeNotifier;
-        
-        //Indicates whether onscreen dialer is defined
-        TBool iOnScreenDialer;
-        
-
-    };
-
-#endif      // CPHONEAPPUI_H   
-            
-// End of File
--- a/phoneapp/phoneui/inc/cphonedocument.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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:  Application document class.
-*
-*/
-
-
-#ifndef CPHONEDOCUMENT_H
-#define CPHONEDOCUMENT_H
-
-//  INCLUDES
-#include <AknDoc.h>
-
-// FORWARD DECLARATION
-class CApaWindowGroupName;
-
-// CLASS DECLARATION
-
-/**
-*  Application document class for the PhoneUI.
-*
-*  @since 4.0
-*
-*/
-class CPhoneDocument : public CAknDocument
-    {
-      public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        */
-        CPhoneDocument( CEikApplication& aApp );
-
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneDocument* NewL( CEikApplication& aApp );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneDocument();
-
-        /**
-        * @see CEikDocument::UpdateTaskNameL
-        * @since 2.8
-        */
-        void UpdateTaskNameL( CApaWindowGroupName* aWgName );
-
-    private:
-
-        /**
-        * From CAknDocument: Creates an instance of application UI
-        */
-        CEikAppUi* CreateAppUiL();
- 
-    };
-
-#endif      // CPHONEDOCUMENT_H
-            
-// End of File
--- a/phoneapp/phoneui/loc/basiccallhandling.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/callheadertexts.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/callterminationnote.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/dialer.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/dtmfsignalling.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/incallmenuandsoftkeys.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/incalloperations.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,566 +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"
-
-
-// d: Tooltip text for callhandling toolbar 'loudspeaker' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 9.2
-//
-#define qtn_incal_tooltip_loudspeaker "Activate loudspeaker"
-
-// d: Tooltip text for callhandling toolbar 'handset' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 9.2
-//
-#define qtn_incal_tooltip_handset "Activate handset"
-
-// d: Tooltip text for callhandling toolbar 'Mute' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 9.2
-//
-#define qtn_incal_tooltip_mute "Mute microphone"
-
-// d: Tooltip text for callhandling toolbar 'UnMute' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 9.2
-//
-#define qtn_incal_tooltip_unmute "Unmute microphone"
-
-// d: Tooltip text for callhandling toolbar 'Contacts' button.
-// l: popup_preview_text_window_t1  
-// w:
-// r: 9.2
-//
-#define qtn_incal_tooltip_contacts "Open Contacts"
-
-
-// End of File
--- a/phoneapp/phoneui/loc/mobileoriginatedcalls.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/multicallhandling.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/numberentry.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/phone.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/loc/voip.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /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/phoneui/rom/phoneui.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI iby file
-*
-*/
-
-
-#ifndef __PHONEUI_IBY__
-#define __PHONEUI_IBY__
-
-#ifdef RD_PHONE_NG
-
-#include <data_caging_paths_for_iby.hrh>
-
-REM PhoneUI
-S60_APP_EXE(phoneui)
-//S60_APP_BITMAP(phoneui)
-S60_APP_AIF_ICONS(phoneui)
-S60_APP_AIF_RSC(phoneui)
-
-#if defined (FF_TOUCH_CALL_HANDLING) || defined ( __ON_SCREEN_DIALER )
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,PhoneUI)
-#endif // FF_TOUCH_CALL_HANDLING || __ON_SCREEN_DIALER
-
-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\phoneuiview.dll       	SHARED_LIB_DIR\phoneuiview.dll
-file=ABI_DIR\BUILD_DIR\phoneuistates.dll        SHARED_LIB_DIR\phoneuistates.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=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\phoneuiview_stub.sis           System\Install\phoneuiview_stub.sis
-data=ZSYSTEM\install\phonemediatorcenter_stub.sis   System\Install\phonemediatorcenter_stub.sis
-data=ZSYSTEM\install\phoneuivoipextension_stub.sis  System\Install\phoneuivoipextension_stub.sis
-
-#endif // RD_PHONE_NG
-
-#endif
--- a/phoneapp/phoneui/rom/phoneuiresources.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI Resources iby file
-*
-*/
-
-
-#ifndef __PHONEUI_RESOURCES_IBY__
-#define __PHONEUI_RESOURCES_IBY__
-
-#ifdef RD_PHONE_NG
-
-#include <data_caging_paths_for_iby.hrh>
-
-//Resource file(s) for PhoneUI
-data=DATAZ_\APP_RESOURCE_DIR\phoneui.rsc APP_RESOURCE_DIR\phoneui.rsc
-
-data=DATAZ_\RESOURCE_FILES_DIR\PhoneClient.rsc RESOURCE_FILES_DIR\PhoneClient.rsc
-data=DATAZ_\RESOURCE_FILES_DIR\PhoneServer.rsc RESOURCE_FILES_DIR\PhoneServer.rsc
-
-#ifdef FF_TOUCH_CALL_HANDLING
-data=DATAZ_\APP_RESOURCE_DIR\callhandlingui.rsc APP_RESOURCE_DIR\callhandlingui.rsc
-data=DATAZ_\APP_RESOURCE_DIR\phoneuitouch.rsc APP_RESOURCE_DIR\phoneuitouch.rsc
-#endif // FF_TOUCH_CALL_HANDLING
-
-
-#endif // RD_PHONE_NG
-
-#endif
--- a/phoneapp/phoneui/rom/phoneuiresourcesvoip.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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:  PhoneUI Resources iby file
-*
-*/
-
-
-#ifndef __PHONEUI_RESOURCES_VOIP_IBY__
-#define __PHONEUI_RESOURCES_VOIP_IBY__
-
-#include <data_caging_paths_for_iby.hrh>
-
-// VoIP specific resource file for PhoneUI
-
-data=DATAZ_\APP_RESOURCE_DIR\phoneuivoip.rsc APP_RESOURCE_DIR\phoneuivoip.rsc
-
-#endif
--- a/phoneapp/phoneui/src/cphoneapplication.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Application class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    <bautils.h>
-#include    <data_caging_path_literals.hrh>
-#include    <eikstart.h>
-#include    "phoneconstants.h"
-#include    "cphoneapplication.h"
-#include    "cphonedocument.h"
-#include    "cphonelibrarycontainer.h"
-#include    "cphonemainresourceresolver.h"
-#include    "phoneconstants.h"
-#include    "phonelogger.h"
-#include    "cphonecenrepproxy.h"
-#include    "cphonepubsubproxy.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CPhoneApplication::CreateDocumentL
-// Creates the document
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CApaDocument* CPhoneApplication::CreateDocumentL()
-    {   
-    return CPhoneDocument::NewL( *this ); 
-    }
-
-// ---------------------------------------------------------
-// CPhoneApplication::AppDllUid
-// Returns the application dll uid
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TUid CPhoneApplication::AppDllUid() const
-    {
-    return KUidPhoneApplication;
-    }
-
-// ---------------------------------------------------------
-// CPhoneApplication::~CPhoneApplication()
-// ---------------------------------------------------------
-//
-CPhoneApplication::~CPhoneApplication()
-    {
-    // Delete library handle container ( it unloads all factory DLLs )
-    delete iLibraryContainer;
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-//
-// ---------------------------------------------------------
-// NewApplication implements
-// 
-// Creates an instance of application.
-//
-// Returns: an instance of CPAApplication
-// ---------------------------------------------------------
-//
-EXPORT_C CApaApplication* NewApplication()
-    {
-    return new CPhoneApplication;
-    }
-
-// ---------------------------------------------------------
-// CPhoneApplication::ResourceFileName()
-// Called by framework before creating a document. 
-// ---------------------------------------------------------
-//
-TFileName CPhoneApplication::ResourceFileName() const
-    {
-    // Create path to default resource file name
-    TFileName path( KDriveZ );
-    path.Append( KDC_APP_RESOURCE_DIR );
-    path.Append( KPhoneResourceFile );
-
-    // Get correct resourse file among current language
-    RFs &fsSession=iCoeEnv->FsSession();
-    BaflUtils::NearestLanguageFile( fsSession, path ); 
-    
-    return path;
-    }
-// ---------------------------------------------------------
-// CPhoneApplication::PreDocConstructL()
-// Called by framework before creating a document. 
-// ---------------------------------------------------------
-//
-void CPhoneApplication::PreDocConstructL()
-    {   
-    // Create container for factory DLLs. It is deleted as last thing when
-    // application exists, in CPhoneApplication destructor. This ensures that DLLs,
-    // which contain the implementation for the objects that are created in factory,
-    // are usable as long as needed.
-    iLibraryContainer = CPhoneLibraryContainer::NewL();
-
-    // Create logger singleton instance.
-    // We do not need pointer to it in here and class is deleted 
-    // somewhere in coeenv.
-    new (ELeave) CPhoneLogger(KUidPhoneUILoggerSingleton);
-
-    // Create Central Repository Proxy
-    CPhoneCenRepProxy::Instance();
-
-    // Create Publish & Subscribe Proxy
-    CPhonePubSubProxy::Instance();
-
-    // Create main resource resolver
-    CPhoneMainResourceResolver::Instance();
-
-    CAknApplication::PreDocConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// E32Main
-// -----------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
-//  End of File  
--- a/phoneapp/phoneui/src/cphoneappui.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,941 +0,0 @@
-/*
-* 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:  Application UI class implementation. 
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <coemain.h>
-#include <coehelp.h>
-#include <bacntf.h>
-#include <starterclient.h>
-#include <telinternalpskeys.h>
-#include <activeidle2domainpskeys.h>
-#include <telremotepartyinformationpskeys.h>
-#include <telinformationpskeys.h>
-#include <UikonInternalPSKeys.h>
-#include <startupdomainpskeys.h>
-#include <apgtask.h>
-#include <apgwgnam.h>
-#include <barsread.h>
-#include <coemain.h>
-#include <AknsConstants.h>   // KAknsMessageSkinChange
-#include <bautils.h>
-#include <StringLoader.h>
-#include <aknsoundsystem.h>
-#include <aknnotewrappers.h> // for Notification for startup...
-#include <eikbtgpc.h>
-#include <eiksoftkeyimage.h> // EikSoftkeyImage
-#include <featmgr.h>         // Feature Manager
-#include <bldvariant.hrh>    // System variant definition
-#include <phoneui.rsg>
-#include "phoneui.pan"
-#include "cphoneappui.h"
-#include "cphoneapplication.h"
-#include "cphonedocument.h"
-#include "cphonekeys.h"
-#include "cphoneview.h" // from PhoneUIView
-#include "cphoneviewcontroller.h"
-#include "cphoneuicontroller.h"
-#include "cphonepubsubproxy.h"
-#include "phonelogger.h"
-#include "phoneconstants.h"
-#include "cphoneclearblacklist.h"
-#include "cphonestatuspane.h"
-#include "cphoneqwertyhandler.h"
-#include "tphonecmdparaminteger.h"
-#ifndef __WINS__
-#include <f32file.h>
-#endif
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CPhoneAppUI::CPhoneAppUI()
-// Default constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CPhoneAppUI::CPhoneAppUI() : 
-    iAppsReady( EPhoneStartupInitial )
-    {            
-    }
-
-// ---------------------------------------------------------
-// CPhoneAppUI::~CPhoneAppUI()
-// Destructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CPhoneAppUI::~CPhoneAppUI()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneAppUI::~CPhoneAppUI() ");
-    if ( iPhoneViewController )
-        {
-        RemoveFromStack( iPhoneViewController->PhoneView() );
-        delete iPhoneViewController;
-        }
-    delete iPhoneUIController;
-    delete iQwertyHandler;
-    
-    CPhoneRecoverySystem::Remove( iStartupSignalRecoveryId );
-
-    delete iEnvChangeNotifier;
-    iEnvChangeNotifier = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::ConstructL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneAppUI::ConstructL() ");
-    // Requires the availability of CBA and Menubar resources
-    BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-    SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort | CAknAppUiBase::EDisableSendKeyLong );
-    
-    SetAliasKeyCodeResolverL( this );
-    
-    // Set phone application to be system application so it can't be closed
-    iEikonEnv->SetSystem( ETrue );
-
-    // Disable priority changes of window server and set
-    // process priority (phone app might be on the background
-    // and so it's priority might be low).
-    iEikonEnv->WsSession().ComputeMode( 
-        RWsSession::EPriorityControlDisabled ); 
-    RThread().SetProcessPriority( EPriorityHigh  );
-
-    // System enviroment change notifier.
-    iEnvChangeNotifier = CEnvironmentChangeNotifier::NewL( 
-        CActive::EPriorityStandard, TCallBack( HandleCallBackL, this ) );
-        
-    iEnvChangeNotifier->Start();
-
-    // Push key sounds to sound system.
-    CAknKeySoundSystem* keySounds = KeySounds();
-    keySounds->PushContextL( R_PHONEUI_DEFAULT_SKEY_LIST );
-   
-    iPhoneViewController = CPhoneViewController::NewL( ClientRect() );
-    iPhoneUIController = CPhoneUIController::NewL( iPhoneViewController );
-    iQwertyHandler = CPhoneQwertyHandler::NewL();        
-
-    // Blacklist singleton is initialized here
-    // return value is ignored since we do not require its services in this class
-    CPhoneClearBlacklist::CreateL( 
-        iEikonEnv->WsSession(), 
-        *iPhoneViewController->PhoneView()->DrawableWindow() );
-
-    RegisterViewL( *iPhoneViewController->PhoneView() );
-    AddToStackL( iPhoneViewController->PhoneView(), ECoeStackPriorityDefault );
-
-    const_cast<CEikAppUi*>( 
-        iEikonEnv->EikAppUi() )->AddViewActivationObserverL( this );
-
-    // Eikon server window group
-    iEikonServerWgId = 
-        iEikonEnv->WsSession().FindWindowGroupIdentifier( 0, KPhoneEikonServer );
-    __ASSERT_ALWAYS( iEikonServerWgId != KErrNotFound, Panic( EPhoneUiNoWindowGroup ) );
-    iEikonEnv->RootWin().EnableFocusChangeEvents(); 
-    iEikonEnv->RootWin().EnableGroupChangeEvents();
-
-    // CLI Name.
-    TInt err = RProperty::Define( 
-        KPSUidTelRemotePartyInformation,
-        KTelCLIName,
-        RProperty::EText,
-        KPhoneReadPolicy,
-        KPhoneWritePolicy );
-
-    __PHONELOG1( 
-        EBasic, 
-        EPhonePhoneapp, 
-        "CPhoneAppUI::ConstructL() - Define CLIName property (status=%d)", 
-        err );
-      
-    // CLI Number.
-    err = RProperty::Define( 
-        KPSUidTelRemotePartyInformation,
-        KTelCLINumber,
-        RProperty::EText,
-        KPhoneReadPolicy,
-        KPhoneWritePolicy );
-
-    __PHONELOG1( 
-        EBasic, 
-        EPhonePhoneapp, 
-        "CPhoneAppUI::ConstructL() - Define CLINumber property (status=%d)", 
-        err );
-
-    // Define the top application system property
-    err = RProperty::Define( 
-        KPSUidUikon,
-        KUikVideoCallTopApp,
-        RProperty::EInt,
-        KPhoneReadPolicy,
-        KPhoneWritePolicy );
-
-    __PHONELOG1( 
-        EBasic, 
-        EPhonePhoneapp, 
-        "CPhoneAppUI::ConstructL() Define top application property (status=%d)", 
-        err );
-
-    // Startup event signalling
-    // Define the telephony application system property 
- 
-     err = RProperty::Define( 
-        KPSUidTelInformation,
-        KTelPhoneUid,
-        RProperty::EInt,
-        KPhoneReadPolicy,
-        KPhoneWritePolicy );  
-
-// DefineNewPSKeys:
-
-    // UID: KPSUidTelInternalInformation:
-    err = RProperty::Define( 
-        KPSUidTelInternalInformation,
-        KTelRemotePartyContactInfo,
-        RProperty::EByteArray,
-        KPhoneReadPolicy,
-        KPhoneWritePolicy );    
-               
-    // VT UID.
-    err = RProperty::Define( 
-        KPSUidTelInternalInformation,
-        KTelVideoCallUid,
-        RProperty::EInt,
-        KPhoneReadPolicy,
-        KPhoneWritePolicy );
-
-    // TELINTERNALPSKEY CHANGE 
-    // Move to AudioHandling
-    // UID: KPSUidTelAudioPreference
-    // Call Audio Routing
-    err = RProperty::Define( 
-        KPSUidTelAudioPreference, 
-        KTelAudioOutput, 
-        RProperty::EInt,
-        KPhoneReadPolicyAlwaysPass,
-        KPhoneWritePolicy );
-
-    // UID: KPSUidNEInformation
-    err = RProperty::Define( 
-        KPSUidNEInformation, 
-        KTelNumberEntryInfo, 
-        RProperty::EInt,
-        KPhoneReadPolicyAlwaysPass,
-        KPhoneWritePolicy );
-
-    __PHONELOG1( 
-        EBasic, 
-        EPhonePhoneapp, 
-        "CPhoneAppUI::ConstructL() Define phone property (status=%d)", 
-        err );
-           
-    // Add DoStartupSignalL to the recovery system 
-    iStartupSignalRecoveryId = 
-        CPhoneRecoverySystem::Instance()->AddL( 
-            TCallBack( DoStartupSignalL, this ),
-            CTeleRecoverySystem::EPhonePriorityHigh,
-            CTeleRecoverySystem::EPhoneStateIdle );
-
-    // Call DoStartupSignalL within recovery system
-    const TInt startupState = CPhonePubSubProxy::Instance()->Value(
-        KPSUidStartup,
-        KPSGlobalSystemState );
-
-    __PHONELOG1( 
-        EBasic, 
-        EPhonePhoneapp, 
-        "CPhoneAppUI::ConstructL() StartupState value", 
-        startupState );
-        
-    if ( startupState == ESwStateCriticalPhaseOK ||
-        startupState == ESwStateEmergencyCallsOnly ||
-        startupState == ESwStateNormalRfOn ||
-        startupState == ESwStateNormalRfOff ||
-        startupState == ESwStateNormalBTSap )
-        {
-        __PHONELOG( 
-            EBasic, 
-            EPhonePhoneapp, 
-            "CPhoneAppUI::ConstructL() Notify Starter that phone is ready..." );
-            
-        CPhoneRecoverySystem::Instance()->RecoverNow(
-            iStartupSignalRecoveryId, 
-            CTeleRecoverySystem::EPhonePriorityHigh );
-        }
-    else
-        {        
-        __PHONELOG( 
-            EBasic, 
-            EPhonePhoneapp, 
-            "CPhoneAppUI::ConstructL() Startup not ready yet. Start listening..." );            
-        CPhonePubSubProxy::Instance()->NotifyChangeL(
-            KPSUidStartup,
-            KPSGlobalSystemState,
-            this );
-        }
-
-
-    // THE VERY LAST STEP: DROP PRIORITY.
-    RThread().SetPriority( EPriorityNormal );
-
-    if ( err == KErrNone || err == KErrAlreadyExists )
-        {
-        // Indicate to the system that the Phone has been started
-        CPhonePubSubProxy::Instance()->ChangePropertyValue(
-            KPSUidTelInformation,
-            KTelPhoneUid,
-            KUidPhoneApplication.iUid );
-        }
-
-    // Update the Apps ready flag
-    iAppsReady += EPhoneStartedUp;
-    
-    if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) )     
-        {
-        iOnScreenDialer = ETrue;   
-        }
-    __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::ConstructL() Phone started..." );
-    __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::ConstructL() done..." );
-    }
-   
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::DoStartupSignalL
-//
-// Callback function.
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneAppUI::DoStartupSignalL( TAny* aAny )
-    {
-    CPhoneAppUI* appUi =
-        static_cast< CPhoneAppUI* >( aAny );
-    
-    return
-        !appUi->iLightIdleReached ?
-            appUi->DoStartupSignalIdleL() :
-            appUi->DoStartupSignalSecurityL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::DoStartupSignalIdleL
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneAppUI::DoStartupSignalIdleL()
-    {
-    TBool idleReached = EFalse;
-    
-    // Check if Idle application has been started.
-    const TInt idleUid = CPhonePubSubProxy::Instance()->Value(
-            KPSUidAiInformation,
-            KActiveIdleUid );
-
-    if ( idleUid != 0 && idleUid != KErrNotFound )
-        {
-        // Idle application has already started
-        if ( !( iAppsReady & EPhoneIdleStartedUp ) )
-            {
-            __PHONELOG1( EBasic, EPhonePhoneapp, "CPhoneAppUI::ConstructL() Idle App started (uid=%d)!", idleUid );
-            iAppsReady += EPhoneIdleStartedUp;
-            
-            // Remove Phone application from Fast Swap Window.
-            iPhoneViewController->SetHiddenL( ETrue );
-            
-            // Set Idle's UID to PubSub.
-            CPhonePubSubProxy::Instance()->ChangePropertyValue(
-                KPSUidUikon,
-                KUikVideoCallTopApp,
-                idleUid );
-            }
-        }
-    else
-        {
-        CPhonePubSubProxy::Instance()->NotifyChangeL(
-            KPSUidAiInformation,
-            KActiveIdleUid,
-            this );   
-        }
-
-    const TInt current = CPhonePubSubProxy::Instance()->Value(
-        KPSUidStartup,
-        KPSGlobalSystemState );
-
-    __PHONELOG1( EBasic, EPhonePhoneapp, "CPhoneAppUI::DoStartupSignalIdleL() System state=%d", current );
-    if ( current == ESwStateSelfTestOK ||
-        current == ESwStateCriticalPhaseOK )
-        {                       
-        // Check that both the Phone and Idle applications are ready
-        idleReached = ( iAppsReady & EPhoneStartedUp ) &&
-             ( iAppsReady & EPhoneIdleStartedUp );
-
-        if ( idleReached )
-            {
-            __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::DoStartupSignalIdleL() Phone and Idle apps have both been started" );
-
-            CPhonePubSubProxy::Instance()->ChangePropertyValue(
-                KPSUidStartup,
-                KPSPhonePhase1Ok,
-                EPhonePhase1Ok );
-            }
-        }
-    else 
-        {
-        idleReached = ( iAppsReady & EPhoneIdleStartedUp ) && 
-            ( current == ESwStateEmergencyCallsOnly ||
-            current == ESwStateNormalRfOn ||
-            current == ESwStateNormalRfOff ||
-            current == ESwStateNormalBTSap );
-
-        __PHONELOG1( EBasic, EPhonePhoneapp, "CPhoneAppUI::DoStartupSignalIdleL() System state is not at SelfTestOk. Idle reached anyway?=%d", idleReached );
-        }
-
-    if ( idleReached )
-        {
-        __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::DoStartupSignalIdleL() Idle reached!" );
-        // Now err == KErrNone and it means that
-        // we have succeeded in signalling.
-        CPhoneRecoverySystem::Instance()->EnablePreconditionL();
-
-        // Update the Phone light idle flag
-        iLightIdleReached = ETrue;
-
-        // Notify the UI controller that the phone is ready
-        iPhoneUIController->HandlePhoneStartupL();
-        }
-    else 
-        {
-        __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::DoStartupSignalIdleL() Idle is not reached yet!" );
-        // Idle has not been reached yet. Indicate to the recovery
-        // system that this iteration has failed so that it will
-        // try again at a later time.
-        User::Leave( KErrNotReady );
-        }
-
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::DoStartupSignalSecurityL
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneAppUI::DoStartupSignalSecurityL()
-    {
-    TInt err = KErrNone;    
-    return err;
-    }
-
-// -----------------------------------------------------------
-// CPhoneAppUI::HandlePropertyChangedL
-// -----------------------------------------------------------
-//
-void CPhoneAppUI::HandlePropertyChangedL( 
-    const TUid& aCategory,
-    const TUint aKey,
-    const TInt aValue )
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneAppUI::HandlePropertyChangedL( ) ");
-
-    if ( aCategory == KPSUidAiInformation )
-        {
-        // Call state event
-        if ( aKey == KActiveIdleUid )
-            {
-            __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUi::HandleChangeL() Idle event" );
-            TInt idleUid = aValue;
-            
-            // If idle startup is ok.
-            if ( idleUid != 0 )
-                {
-                // If idle startup is ok for the first time, then recover
-                // the Start signal processing
-                if ( !( iAppsReady & EPhoneIdleStartedUp ) )
-                    {            
-                    __PHONELOG( EBasic, EPhonePhoneapp, 
-                        "CPhoneAppUI::HandlePropertyChangedL() Idle App started!" );
-                    iAppsReady += EPhoneIdleStartedUp;
-                    // Try to update the startup signal again
-                    CPhoneRecoverySystem::Instance()->RecoverNow(
-                        iStartupSignalRecoveryId, 
-                        CTeleRecoverySystem::EPhonePriorityHigh );    
-                    // Remove Phone application from Fast Swap Window.
-                    iPhoneViewController->SetHiddenL( ETrue );
-                    // Set Idle's UID to PubSub.
-                    CPhonePubSubProxy::Instance()->ChangePropertyValue(
-                        KPSUidUikon,
-                        KUikVideoCallTopApp,
-                        idleUid );
-                    }
-                }
-            }
-        }
-
-    if ( aCategory == KPSUidStartup )
-        {
-        __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUi::HandleChangeL() Starter event" );
-        const TInt startupState = CPhonePubSubProxy::Instance()->Value(
-            KPSUidStartup,
-            KPSGlobalSystemState );
-
-        __PHONELOG1( EBasic, EPhonePhoneapp, "CPhoneAppUI::HandleChangeL() StartupState value", startupState );
-        if ( startupState == ESwStateCriticalPhaseOK ||
-            startupState == ESwStateEmergencyCallsOnly ||
-            startupState == ESwStateNormalRfOn ||
-            startupState == ESwStateNormalRfOff ||
-            startupState == ESwStateNormalBTSap )
-            {
-            // Try to update the startup signal again
-            CPhoneRecoverySystem::Instance()->RecoverNow(
-                iStartupSignalRecoveryId, 
-                CTeleRecoverySystem::EPhonePriorityHigh );    
-            }
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::HandleEnvironmentChangeL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::HandleEnvironmentChangeL( const TInt aChanges )
-    {
-    // Pass environment changes to the UI controller
-    iPhoneUIController->HandleEnvironmentChangeL( aChanges );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::HandleWsEventL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::HandleWsEventL( 
-    const TWsEvent& aEvent,
-    CCoeControl* aDestination )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAppUI::HandleWsEventL" );
-    
-    // Only handle window server events if startup is finished
-    if ( iLightIdleReached )
-        {
-        __PHONELOG3( EBasic, EPhonePhoneapp, "CPhoneAppUI::HandleWsEvent( key(%d), iCode(%d), type(%d) )",
-            aEvent.Key()->iScanCode, aEvent.Key()->iCode, aEvent.Type() );
-
-        CEikonEnv& eikEnv = *iEikonEnv;
-        CCoeEnv& coeEnv = eikEnv; 
-
-        const TInt type = aEvent.Type();
-        switch ( type )
-            {
-            case EEventFocusGained:
-                {
-                const TInt foregroundApp = 
-                    iPhoneViewController->ForegroundApplicationWindowGroupId();
-                const TInt thisApplicationWgId = 
-                    iPhoneViewController->ApplicationWindowGroupId();
-                
-                if ( thisApplicationWgId != foregroundApp )
-                    {
-                    // Focus gained but phone is not in fore then phone need
-                    // to bring idle to fore if needed.
-                    iPhoneUIController->HandleIdleForegroundEventL();
-                    }
-                else
-                    {
-                    iPhoneUIController->HandlePhoneForegroundEventL();
-                    }
-                }
-                break;
-            
-            case EEventFocusLost:
-                {
-                const TInt windowGroupId = 
-                    coeEnv.WsSession().GetFocusWindowGroup();
-                const TInt foregroundAppWgId = 
-                    iPhoneViewController->ForegroundApplicationWindowGroupId();
-                const TInt phoneApplicationWgId = 
-                    iPhoneViewController->ApplicationWindowGroupId();
-                // If phone app is not in fore and we receive focuslost then we
-                // need to send focus lost event to state which then updates
-                // FSW to correct state. 
-                if ( ( foregroundAppWgId != phoneApplicationWgId ) && 
-                        ( windowGroupId != phoneApplicationWgId ) && 
-                        ( windowGroupId != iEikonServerWgId ) )
-                    {
-                    iPhoneUIController->HandlePhoneFocusLostEventL();
-                    }
-                }
-                break;
-
-            case EEventKey:
-                {
-                TKeyEvent* keyEvent = aEvent.Key();
-                
-                if ( keyEvent->iScanCode == EStdKeyNo )
-                    {
-                    NoKeySpecialHandlingL( *keyEvent, EEventKey );    
-                    }
-                    
-                 //will be called if exit number is typed (*#1234#)
-                if ( keyEvent->iCode == EEikCmdExit )
-                    {
-                    Exit();
-                    return;     
-                    }
-                           
-                if ( iQwertyHandler->IsQwertyInput() )
-                    {
-                    TInt code = iQwertyHandler->NumericKeyCode( *keyEvent );
-                    TBool fepSimulated = keyEvent->iModifiers & EModifierSpecial; 
-                    if ( !fepSimulated && 
-                         ( ( code != EKeyNull && code != keyEvent->iCode ) ||
-                         ( code == EKeyNull && CPhoneKeys::IsNumericKey( 
-                                                             *keyEvent, 
-                                                             ( TEventCode ) aEvent.Type() ) ) )
-                         ) 
-                        {
-                        // Modify event according to keyboard layout
-                        TWsEvent newWsEvent = aEvent;    
-                        TKeyEvent* newKeyEvent = newWsEvent.Key();
-                        newKeyEvent->iCode = code;
-                        TInt shiftMask = EModifierLeftShift  | 
-                                         EModifierRightShift | 
-                                         EModifierShift;
-                        shiftMask = ~shiftMask;
-                        newKeyEvent->iModifiers = newKeyEvent->iModifiers & shiftMask;
-                        return CAknAppUi::HandleWsEventL( newWsEvent, aDestination );
-                        }
-                    }
-                }
-                break;
-                
-            case EEventKeyUp:
-                {
-                TKeyEvent* keyEvent = aEvent.Key();
-                
-                if ( keyEvent->iScanCode == EStdKeyNo )
-                    {
-                    NoKeySpecialHandlingL( *keyEvent, EEventKeyUp );    
-                    }    
-                }
-                break;
-                
-            case EEventKeyDown:
-                {
-                TKeyEvent* keyEvent = aEvent.Key();
-                
-                if ( keyEvent->iScanCode == EStdKeyNo )
-                    {
-                    NoKeySpecialHandlingL( *keyEvent, EEventKeyDown );    
-                    }    
-                }
-                break;
-
-
-            default:
-                break;
-            }            
-        }
-    // All events are sent to base class.
-    CAknAppUi::HandleWsEventL( aEvent, aDestination );
-    }
-
-
-// ---------------------------------------------------------
-// CPhoneAppUI::NoKeySpecialHandlingL
-// Handle no key specific cases.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CPhoneAppUI::NoKeySpecialHandlingL( const TKeyEvent& aEvent,
-                                         TEventCode aType  )
-    {
-    CEikonEnv& eikEnv = *iEikonEnv;
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAppUI::NoKeySpecialHandling" );
-    
-    // Handle case where menu bar is opened or a blocking dialog is 
-    // displayed and the end key is pressed. HandleKeyEventL will not be 
-    // called in this case so it has to be handled here.
-    if ( eikEnv.AppUiFactory()->MenuBar()->IsDisplayed() ||
-        iPhoneViewController->BlockingDialogIsDisplayed() )
-        {
-        // Send key event to the UI controller
-        iPhoneUIController->HandleKeyEventL( aEvent,  aType );
-        }    
-    }
-
-// ---------------------------------------------------------
-// CPhoneAppUI::HandleKeyEventL
-// Handle key events.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TKeyResponse CPhoneAppUI::HandleKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAppUI::HandleKeyEventL" );
-    // Let key event handler handle event. 
-    return iPhoneUIController->HandleKeyEventL( aKeyEvent, aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::ProcessCommandL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::ProcessCommandL( TInt aCommand )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAppUI::ProcessCommandL()" );
-
-    if( !iPhoneUIController->ProcessCommandL( aCommand ) )
-        {
-		// State didn't handle the command so pass it up
-        CAknAppUi::ProcessCommandL( aCommand );
-        }
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::HandleCommandL
-// 
-// Forwards the request to the main view.
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::HandleCommandL( TInt aCommand )
-    {
-    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAppUI::HandleCommandL()" );
- 
-    switch (aCommand)
-        {
-        case EEikCmdExit:
-            {
-            __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::HandleCommandL -- EEikCmdExit" );
-            Exit();
-            }
-            break;
-        default:
-            {
-            if( !iPhoneUIController->HandleCommandL( aCommand ) )
-                {
-                // State didn't handle the command so pass it up
-                CAknAppUi::HandleCommandL( aCommand );
-                }
-            }
-            break;
-       }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::DynInitMenuPaneL
-// 
-// Forwards the request to the main view.
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane )
-    {
-    iPhoneUIController->DynInitMenuPaneL( aResourceId, aMenuPane );
-    }
-
-// ---------------------------------------------------------
-// CPAAppUIS60Base::DynInitMenuBarL
-// ---------------------------------------------------------
-//
-void CPhoneAppUI::DynInitMenuBarL(
-    TInt aResourceId, CEikMenuBar* aMenuBar)
-    {
-    iPhoneUIController->DynInitMenuBarL( aResourceId, aMenuBar );
-    }   
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::HandleForegroundEventL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::HandleForegroundEventL( TBool aForeground )
-    {
-    __PHONELOG1(
-        EBasic,
-        EPhonePhoneapp,
-        "CPhoneAppUI::HandleForegroundEventL( InForeground=%d )",
-        aForeground );
-        
-    iPhoneUIController->HandleForegroundEventL( aForeground );
-
-    CAknAppUi::HandleForegroundEventL( aForeground );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::HandleStatusPaneSizeChange
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::HandleStatusPaneSizeChange()
-    {
-    __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::HandleStatusPaneSizeChange" );
-    CAknAppUi::HandleStatusPaneSizeChange();
-
-    LayoutMainView();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::HandleViewDeactivation
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::HandleViewDeactivation(
-    const TVwsViewId& aViewIdToBeDeactivated, 
-    const TVwsViewId& aNewlyActivatedViewId )
-    {
-    __PHONELOG2(
-        EBasic,
-        EPhonePhoneapp,
-        "CPhoneAppUI::HandleViewDeactivation( aViewIdToBeDeactivated(%d), aNewlyActivatedViewId(%d) )",
-        aViewIdToBeDeactivated.iViewUid, 
-        aNewlyActivatedViewId.iViewUid );
-        
-    CAknAppUi::HandleViewDeactivation( 
-        aViewIdToBeDeactivated, 
-        aNewlyActivatedViewId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::HandleApplicationSpecificEventL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::HandleApplicationSpecificEventL(
-    TInt aType,
-    const TWsEvent& aEvent )
-    {
-    __LOGMETHODSTARTEND( EPhonePhoneapp, "CPhoneAppUI::HandleApplicationSpecificEventL" );
-    
-    if( aType == EEikKeyLockEnabled )
-        {
-        iPhoneUIController->HandleKeyLockEnabled( ETrue );
-        }
-    else if( aType == EEikKeyLockDisabled )
-        {
-        iPhoneUIController->HandleKeyLockEnabled( EFalse );
-        }
-    
-    CAknAppUi::HandleApplicationSpecificEventL( aType, aEvent );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::HandleResourceChangeL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::HandleResourceChangeL( TInt aType )
-    {
-    __LOGMETHODSTARTEND( EPhonePhoneapp, "CPhoneAppUI::HandleResourceChangeL" );
-    
-    CAknAppUi::HandleResourceChangeL( aType );
-            
-    if ( aType == KAknsMessageSkinChange || 
-         aType == KEikDynamicLayoutVariantSwitch )
-        {
-        LayoutMainView();
-        iPhoneViewController->HandleResourceChangeL( aType );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneAppUI::HandleViewActivation
-//  Handles the activation of the view aNewlyActivatedViewId 
-//  before the old view 
-//  aViewIdToBeDeactivated is to be deactivated.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CPhoneAppUI::HandleViewActivation( 
-    const TVwsViewId& /*aNewlyActivatedViewId*/, 
-    const TVwsViewId& /*aViewIdToBeDeactivated*/ )
-    {
-     __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::HandleViewActivation" );        
-    }
-
-// ---------------------------------------------------------
-// CPhoneAppUI::HelpContextL
-// This routine will be called for returning help context
-// when AppHelpContextL() is called in 
-// CPhoneViewController::LaunchHelpApplicationL()
-// ---------------------------------------------------------
-//
-CArrayFix<TCoeHelpContext>* CPhoneAppUI::HelpContextL() const
-    {
-    CArrayFix<TCoeHelpContext>* result = 
-        new(ELeave) CArrayFixFlat<TCoeHelpContext>( 1 );
-    
-    CleanupStack::PushL( result );
-    // Get the help context name from the View controller
-    TCoeHelpContext helpContext( KUidPhoneApplication, 
-        iPhoneViewController->HelpContext() ); 
-    result->AppendL( helpContext );
-    CleanupStack::Pop( result );
-
-    return result; 
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUi::LayoutMainView
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::LayoutMainView()
-    {
-    __LOGMETHODSTARTEND( EPhonePhoneapp, "CPhoneAppUI::LayoutMainView" );
-    iPhoneViewController->HandleLayoutChange( ClientRect() );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUi::GetAliasKeyCode
-// -----------------------------------------------------------------------------
-//        
-TInt CPhoneAppUI::GetAliasKeyCode( TUint& aCode, 
-                                   const TKeyEvent& aKeyEvent,
-                                   TEventCode /*aType*/)
-    {    
-    aCode = aKeyEvent.iCode;    
-    return KErrNone;
-    } 
-
-
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::HandleCallBackL
-// Called when the observed value changes
-//
-// Callback function.
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneAppUI::HandleCallBackL( TAny* aAny )
-    {
-    __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::HandleCallBackL" );
-    CPhoneAppUI* appUi =
-        static_cast< CPhoneAppUI* >( aAny );
-    appUi->DoHandleCallBackL();
-    return KErrNone;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneAppUI::DoHandleCallBackL
-// Call back to a specific instance.
-// -----------------------------------------------------------------------------
-//
-void CPhoneAppUI::DoHandleCallBackL()
-    {
-    __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneAppUI::DoHandleCallBackL" );
-    const TInt change = iEnvChangeNotifier->Change();
-    HandleEnvironmentChangeL( change );
-    }
-        
-//  End of File  
--- a/phoneapp/phoneui/src/cphonedocument.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Document class implementation.
-*
-*/
-
-
-// INCLUDE FILES
-#include <apgwgnam.h>
-#include "cphonedocument.h"
-#include "cphoneappui.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneDocument::CPhoneDocument( CEikApplication& aApp ) :
-    CAknDocument( aApp )
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneDocument::NewL
-// ---------------------------------------------------------
-//
-CPhoneDocument* CPhoneDocument::NewL( CEikApplication& aApp )
-    {
-    CPhoneDocument* self = new (ELeave) CPhoneDocument( aApp );
-    
-    return self;
-    }
-
-// Destructor
-CPhoneDocument::~CPhoneDocument()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneDocument::CreateAppUiL
-//
-// Creates an instance of CPhoneAppUi and returns it.
-// ---------------------------------------------------------
-//
-CEikAppUi* CPhoneDocument::CreateAppUiL()
-    {
-    return new (ELeave) CPhoneAppUI;
-    }
-
-// ---------------------------------------------------------
-// CPhoneDocument::UpdateTaskNameL
-// ---------------------------------------------------------
-//
-void CPhoneDocument::UpdateTaskNameL( CApaWindowGroupName* aWgName )
-    {
-    CAknDocument::UpdateTaskNameL( aWgName );
-    aWgName->SetHidden( ETrue );
-    }
-
-//  End of File  
--- a/phoneapp/phoneui/srcdata/callhandlingui.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,859 +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 file contains all the resources for call handling the module.
-*
-*/
-
-
-NAME    CLGI
-
-#include    <bldvariant.hrh>
-#include    <data_caging_paths_strings.hrh>
-#include    <eikon.rh>
-#include    <avkon.hrh>
-#include    <avkon.rh>
-#include    <avkon.loc>
-#include    <uikon.hrh>
-#include    <bmtouchpane.rh>
-#include    <appinfo.rh>
-
-#include    "phoneui.rh"
-#include    "phoneui.hrh"
-#include    <phone.loc>
-#include    <phoneappcommands.hrh>
-#include    <incallmenuandsoftkeys.loc>
-#include    <incalloperations.loc>
-
-//  RESOURCE DEFINITIONS 
-
-RESOURCE RSS_SIGNATURE 
-    {
-    } 
-
-RESOURCE TBUF 
-    { 
-    buf = "CLGI";
-    }
-    
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_mute_toggle_button
-//    Mute / Unmute toggle button.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_mute_toggle_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdMute,
-        EPhoneInCallCmdUnmute    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE  // mute
-                {
-                txt = qtn_incal_button_mute_mic\
-                      <0x0001>\
-                      qtn_incal_button_mute_mic_landscape;
-                },
-            AVKON_BUTTON_STATE  // unmute
-                {
-                txt = qtn_incal_button_unmute_mic\
-                      <0x0001>\
-                      qtn_incal_button_unmute_mic_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_end_active_call_button
-//    End call active button.
-//
-// -----------------------------------------------------------------------------
-//          
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_end_active_call_button
-    {
-    commands = 
-        {
-        EPhoneCmdEnd
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_end_active_call\
-                      <0x0001>\
-                      qtn_incal_button_end_active_call_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_end_call_button
-//    End call button.
-//
-// -----------------------------------------------------------------------------
-//          
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_end_call_button
-    {
-    commands = 
-        {
-        EPhoneCmdEnd
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_end_call\
-                      <0x0001>\
-                      qtn_incal_button_end_call_landscape;
-                }
-            };                
-        };
-    }
-    
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_end_all_calls_button
-//    End all calls toggle button.
-//
-// -----------------------------------------------------------------------------
-//          
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_end_all_calls_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdEndAllCalls
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_end_all_calls\
-                      <0x0001>\
-                      qtn_incal_button_end_all_calls_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_answer_call_button
-//    Answer call button.
-//
-// -----------------------------------------------------------------------------
-//          
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_answer_call_button
-    {
-    commands = 
-        {
-        EPhoneCallComingCmdAnswer
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_answer\
-                      <0x0001>\
-                      qtn_incal_button_answer_landscape;
-                }
-            };                
-        };
-    }
-    
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_reject_call_button
-//    Reject call button.
-//
-// -----------------------------------------------------------------------------
-//          
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_reject_call_button
-    {
-    commands = 
-        {
-        EPhoneCallComingCmdReject
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_reject\
-                <0x0001>\
-                qtn_incal_button_reject_landscape;
-                }
-            };                
-        };
-    }        
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_end_outgoing_call_button
-//    End ongoing call button.
-//
-// -----------------------------------------------------------------------------
-//          
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_end_outgoing_call_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdEndThisOutgoingCall
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_end_call\
-                      <0x0001>\
-                      qtn_incal_button_end_call_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_hold_toggle_button
-//    Hold / Unhold toggle button.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_hold_toggle_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdHold,
-        EPhoneInCallCmdUnhold    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_hold\
-                      <0x0001>\
-                      qtn_incal_button_hold_landscape;
-                },
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_unhold\
-                      <0x0001>\
-                      qtn_incal_button_unhold_landscape;
-                }
-            };                
-        };
-    } 
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_ihf_toggle_button
-//    Loudspeaker / Handset toggle button
-//
-// -----------------------------------------------------------------------------
-//    
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_ihf_toggle_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdActivateIhf,
-        EPhoneInCallCmdDeactivateIhf    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_loudspeaker\
-                      <0x0001>\
-                      qtn_incal_button_loudspeaker_landscape;
-                },
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_handset\
-                      <0x0001>\
-                      qtn_incal_button_handset_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_bt_toggle_button
-//    BT accessory / Handset toggle button
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_bt_toggle_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdHandset,
-        EPhoneInCallCmdBtHandsfree    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_handset\
-                      <0x0001>\
-                      qtn_incal_button_handset_landscape;
-                },
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_bluetooth\
-                      <0x0001>\
-                      qtn_incal_button_bluetooth_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_swap_calls_button
-//    Swap calls button
-//
-// -----------------------------------------------------------------------------
-// 
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_swap_calls_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdSwap    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_swap\
-                      <0x0001>\
-                      qtn_incal_button_swap_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_go_to_idle_button
-//    Go to idle button
-//
-// -----------------------------------------------------------------------------
-// 
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_go_to_idle_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdGoToIdle    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_go_idle\
-                      <0x0001>\
-                      qtn_incal_button_go_idle_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_conference_button
-//    Create conference button
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_conference_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdCreateConference    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_conference\
-                      <0x0001>\
-                      qtn_incal_button_conference_landscape;
-                }
-            };                
-        };
-    }    
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_participants_button
-//    Conference participants
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_participants_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdParticipants    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_participants\
-                      <0x0001>\
-                      qtn_incal_button_participants_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_drop_participant_button
-//    Conference drop participant button
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_drop_participant_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdDrop    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_drop\
-                      <0x0001>\
-                      qtn_incal_button_drop_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_go_to_private_button
-//    Conference go to private button
-//
-// -----------------------------------------------------------------------------
-//   
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_go_to_private_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdPrivate    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_private\
-                      <0x0001>\
-                      qtn_incal_button_private_landscape;
-                }
-            };                
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_join_button
-//    Conference join button
-//
-// -----------------------------------------------------------------------------
-//   
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_join_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdJoin    
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_join\
-                      <0x0001>\
-                      qtn_incal_button_join_landscape;
-                }
-            };                
-        };
-    }
-    
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_voice_to_video_toggle_button
-//    Switch to video button.
-//
-// -----------------------------------------------------------------------------
-//          
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_voice_to_video_toggle_button
-    {
-    commands = 
-        {
-        EPhoneInCallCmdSwitchToVideo,
-        EPhoneInCallCmdSwitchToVoice
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE  // voice to video
-                {
-                txt = qtn_incal_button_voice_to_video\
-                      <0x0001>\
-                      qtn_incal_button_voice_to_video_landscape;
-                },
-            AVKON_BUTTON_STATE  // video to voice
-                {
-                txt = qtn_incal_button_video_to_voice\
-                      <0x0001>\
-                      qtn_incal_button_video_to_voice_landscape;
-                }                
-            };                
-        };    
-    }      
-     
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_incall_buttons
-//    Touch buttons shown in incall situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_incall_buttons
-    {
-    buttons =
-        {
-        r_phoneui_hold_toggle_button,   // Top right
-        r_phoneui_end_call_button       // Botton right
-        
-        // ALTERNATIVE BUTTONS FOR REPLACE, TOTAL MAX.4 BUTTONS                                  
-        // r_phoneui_go_to_idle_button
-        // r_phoneui_voice_to_video_toggle_button
-        };
-    }
-    
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_two_singles_buttons
-//    Touch buttons shown in incall situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_two_singles_buttons
-    {
-    buttons =
-        {
-        r_phoneui_conference_button,        // Top right
-        r_phoneui_end_active_call_button    // Botton right
-        
-        // ALTERNATIVE BUTTONS FOR REPLACE, TOTAL MAX.4 BUTTONS
-        // r_phoneui_swap_calls_button,
-        // r_phoneui_go_to_idle_button
-        // r_phoneui_end_all_calls_button
-        };
-    }    
-    
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_conference_buttons
-//    Touch buttons shown in incall situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_conference_buttons
-    {
-    buttons =
-        {
-        r_phoneui_participants_button,      // Top right
-        r_phoneui_end_call_button           // Botton right
-        
-        // ALTERNATIVE BUTTONS FOR REPLACE, TOTAL MAX.4 BUTTONS
-        // r_phoneui_hold_toggle_button,
-        // r_phoneui_go_to_idle_button
-        };
-    }
-    
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_participant_list_buttons
-//    Touch buttons shown in incall situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_participant_list_buttons
-    {
-    buttons =
-        {
-        r_phoneui_go_to_private_button,
-        r_phoneui_drop_participant_button
-        };
-    }            
-
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_conference_and_single_buttons
-//    Touch buttons shown in incall situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_conference_and_single_buttons
-    {
-    buttons =
-        {
-        r_phoneui_join_button,              // Top right
-        r_phoneui_end_active_call_button    // Botton right
-        
-        // ALTERNATIVE BUTTONS FOR REPLACE, TOTAL MAX.4 BUTTONS
-        // r_phoneui_swap_calls_button, 
-        // r_phoneui_end_all_calls_button
-        };
-    }
-
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_conference_and_held_single_buttons
-//    Touch buttons shown in incall situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_conference_and_held_single_buttons
-    {
-    buttons =
-        {
-        r_phoneui_join_button,              // Top right
-        r_phoneui_end_active_call_button    // Botton right
-        
-        // ALTERNATIVE BUTTONS FOR REPLACE, TOTAL MAX.4 BUTTONS
-        // r_phoneui_swap_calls_button,
-        // r_phoneui_end_all_calls_button
-        };
-    }
-    
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_emergency_call_buttons
-//    Touch buttons shown in incall situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_emergency_call_buttons
-    {
-    buttons =
-        {
-        r_phoneui_ihf_toggle_button,
-        r_phoneui_end_call_button
-        };
-    }
-    
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_incoming_call_buttons
-//    Touch buttons shown in incoming call situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_incoming_call_buttons
-    {
-    buttons =
-        {
-        r_phoneui_answer_call_button,
-        r_phoneui_reject_call_button
-        };
-    }
-    
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_call_setup_buttons
-//    Touch buttons shown in call setup situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_call_setup_buttons
-    {
-    buttons =
-        {
-        r_phoneui_ihf_toggle_button,
-        r_phoneui_end_outgoing_call_button
-        };
-    }
-
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_call_setup_and_single_buttons
-//    Touch buttons shown in call setup and single situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_call_setup_and_single_buttons
-    {
-    buttons =
-        {
-        r_phoneui_ihf_toggle_button,
-        r_phoneui_end_outgoing_call_button
-        };
-    }            
-
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_waiting_call_buttons
-//    Touch buttons shown in call waiting call situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_waiting_call_buttons
-    {
-    buttons =
-        {
-        r_phoneui_answer_call_button,
-        r_phoneui_end_active_call_button
-        };
-    } 
-    
-// ----------------------------------------------------------------
-//   
-//    r_conference_participant_list_softkeys
-//    Touch buttons shown in incall situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE CBA r_conference_participant_list_softkeys
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = text_softkey_back;
-            }      
-        };
-    }         
-
-// -----------------------------------------------------------------------------
-//   
-//    r_phoneui_silence_call_button
-//    Silent call button.
-//
-// -----------------------------------------------------------------------------
-//          
-RESOURCE BUBBLE_TOUCH_PANE_BUTTON r_phoneui_silence_call_button
-    {
-    commands = 
-        {
-        EPhoneCallComingCmdSilent
-        };
-    button = AVKON_BUTTON
-        {
-        states =
-            {
-            AVKON_BUTTON_STATE
-                {
-                txt = qtn_incal_button_silence\
-                      <0x0001>\
-                      qtn_incal_button_silence_landscape;
-                }
-            };                
-        };
-    }
-
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_incoming_call_silence_buttons
-//    Touch buttons shown in incoming call situation.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE BUBBLE_TOUCH_PANE r_phoneui_incoming_call_silence_buttons
-    {
-    buttons =
-        {
-        r_phoneui_answer_call_button,
-        r_phoneui_silence_call_button
-        };
-    }  
-
-// ----------------------------------------------------------------
-//   
-//    r_phoneui_touch_button_config
-//    Congigurable buttons. Button set is selected via CenRep.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE PHONE_TOUCH_BUTTON_CONFIGURATIONS r_phoneui_touch_button_config
-    {
-    configurations =
-        {
-        PHONE_TOUCH_BUTTON_CONFIGURATION        
-            {
-            button_set_id = EPhoneConfigIncomingCallButtons;
-            button_sets = 
-                {
-                r_phoneui_incoming_call_buttons, 
-                r_phoneui_incoming_call_silence_buttons
-                };
-            }    
-        };
-    } 
-
-//##########################################################
-// End of File
--- a/phoneapp/phoneui/srcdata/phoneui.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This file contains declarations for resources of PhoneAppS60.
-*     The file can be included in C++ or resource file.
-*     
-*
-*/
-
-#ifndef PHONEUI_HRH
-#define PHONEUI_HRH
-
-#include    <bldvariant.hrh>
-#include    <phoneappcommands.hrh>
-
-//  CONSTANTS
-
-#define PHONEUI_SCALABLE_AIF_ICON_FILE  "Z:\\resource\\apps\\PhoneUI_aif.mif"
-#define PHONEUI_AIF_ICON_FILE     	"Z:\\resource\\apps\\PhoneUI_aif.mbm"
-
-#define LOCALISABLE_RESOURCE_FILE_EXE 	"\\resource\\apps\\PhoneUi"
-#define LOCALISABLE_RESOURCE_FILE_APP 	"\\System\\Apps\\PhoneUi"
-
-enum 
-    { 
-    EPhoneGeneralNote = 1,
-    EPhoneWaitNote
-    };
-
-// CALLING LINE IDENTITY
-
-// It enumerates different states for a call.
-enum 
-    {
-    // DO NOT MODIFY THESE
-    EPhoneStAny = 0x100,          // any state.
-    EPhoneStIncoming = 0x200,     // arriving, waiting
-    EPhoneStOutgoing = 0x400,     // initializing, alerting
-    EPhoneStConnected = 0x800,    // alerting, active, on hold
-    EPhoneStOngoing = 0x1000,     // alerting, active, on hold, disconnected
-
-    EPhoneStIdle = 0x100 + 0x7,
-    EPhoneStArriving = 0x200 + 0x100 + 0,
-    EPhoneStWaiting = 0x200 + 0x100 + 1,
-    EPhoneStInitializing = 0x400 + 0x100 + 2,
-    EPhoneStAlerting = 0x1000 + 0x400 + 0x800 + 0x100 + 3,
-    EPhoneStActive = 0x1000 + 0x800 + 0x100 + 4,
-    EPhoneStOnHold = 0x1000 + 0x800 + 0x100 + 5,
-    EPhoneStDisconnected = 0x1000 + 0x100 + 6
-    };
-
-enum TPhoneUIGSMStatesConferenceStates
-	{
-	ENoActiveCalls = 0,
-	EOneActiveCall,
-	ETwoActiveCalls
-	};
-
-enum //enums for SWIS Sharing 
-    {
-    EPhoneVideoSharing =  10000,
-    EPhoneVideoSharingOpt2,
-    EPhoneVideoSharingOpt3 
-    };
-
-// Configurable buttons
-enum TPhoneUIConfigurableButtons
-    {
-    EPhoneConfigIncomingCallButtons = 0,
-    EPhoneButtonConfigCount
-    };
-
-#endif
-
-// End of File
--- a/phoneapp/phoneui/srcdata/phoneui.pan	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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:  PhoneUI panic reason codes
- *
-*/
-
-
-#ifndef __PHONEUI_PAN__
-#define __PHONEUI_PAN__
-
-
-enum TPhoneUiUtils
-	{
-    EPhoneUtilsIndexOutOfBounds = 1,
-    EPhoneUtilsResourcePhoneappNotFound = 2,
-    EPhoneUtilsCouldNotCreateSingleton = 3,
-    EPhoneUtilsBufferOverflow = 4,
-    EPhoneUtilsInvariant = 5,
-    EPhoneUtilsParameterNotInitialized = 6,
-    EPhoneUtilsNoCallBack = 7,
-    EPhoneUtilsInvalidArgument = 8
-    };
-
-enum TPhoneUiView
-	{
-	EPhoneViewCaseNotHandled = 20,
-	EPhoneViewGeneralError = 21,
-	EPhoneViewNoImgConverterObserver = 22,
-	EPhoneViewParameterNotInitialized = 23,
-	EPhoneViewIndexOutOfBounds = 24,
-	EPhoneViewInvariant = 25,
-	EPhoneViewErrorInAddingResourceFile = 26
-	};
-	
-enum TPhoneUiControl
-	{
-	EPhoneCtrlSingletonNotInitialized = 40,
-	EPhoneCtrlFactoryLibraryNotFound = 41,
-	EPhoneCtrlUnknownPanic = 42,
-	EPhoneCtrlInvariant = 43,
-	EPhoneCtrlParameterNotInitialized = 44,
-	EPhoneCtrlCaseNotHandled = 45,
-	EPhoneCtrlIndexOutOfBounds = 46,
-	EPhoneCtrlPSKeyDefineFail = 47,
-	};
-
-enum TPhoneUi
-	{
-    EPhoneUiNoWindowGroup = 60
-	};
-
-enum TPhoneMediatorCenter
-	{
-	EPhoneMediatorCenterSingletonNotInitialized = 80,
-	EPhoneMediatorCenterCouldNotCreateSingleton,
-	EPhoneMediatorCenterParameterNotInitialized,
-	EPhoneMediatorCenterInvalidCommand,
-	EPhoneMediatorCenterInitializationPanic,
-	EPhoneMediatorCenterRegistrationFailed
-	};
-
-inline void Panic( TInt aReason )
-    {
-	_LIT( componentName, "Common phone" );
-    User::Panic( componentName, aReason );
-    }
-
-#endif  // __PHONEUI_PAN__
-
-
-// End of File
--- a/phoneapp/phoneui/srcdata/phoneui.rh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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 file contains declarations for resources of PhoneAppS60.
-*     The file can be included only in resource file.
-*     
-*
-*/
-
-
-#ifndef PHONEAPPS60_RH
-#define PHONEAPPS60_RH
-
-//  STRUCTURE DEFINITIONS
-
-// ---------------------------------------------------------
-//    SMALLEST_POSSIBLE_RESOURCE
-//    
-// ---------------------------------------------------------
-//
-STRUCT SMALLEST_POSSIBLE_RESOURCE
-	{
-	BYTE bytesize = 0;
-	}
-
-// ---------------------------------------------------------
-//    phone_link_apps
-//    It defines structure to contain information about apps 
-//    to be able to activate them.
-// ---------------------------------------------------------
-//
-STRUCT PHONE_LINK_APPS
-    {
-    STRUCT apps[];
-    }
-
-// ---------------------------------------------------------
-//    phone_app
-//    It defines structure that contains information about 
-//    a single app.
-// ---------------------------------------------------------
-//
-STRUCT PHONE_APP
-    {
-    WORD id;          
-    LTEXT txt="";     
-    LONG view = -1;
-    LONG app = -1;
-    }
-
-// ---------------------------------------------------------
-//    phone_string_list
-//    It defines structure that contains array of strings.
-// ---------------------------------------------------------
-//
-STRUCT PHONE_STRING_LIST
-    {
-    STRUCT strings[];
-    }
-
-// ---------------------------------------------------------
-//    phone_string
-//    It is link to the string resource (must be of type LBUF).
-// ---------------------------------------------------------
-//
-STRUCT PHONE_STRING
-    {
-    LLINK id;
-    }
-
-// ---------------------------------------------------------------------------
-// phone_touch_button_configuration
-// ---------------------------------------------------------------------------
-//    
-STRUCT PHONE_TOUCH_BUTTON_CONFIGURATIONS
-    {
-    STRUCT configurations[]; // PHONE_TOUCH_BUTTON_CONFIGURATION
-    }
-    
-// ---------------------------------------------------------------------------
-// phone_touch_button_configuration
-// ---------------------------------------------------------------------------
-//
-STRUCT PHONE_TOUCH_BUTTON_CONFIGURATION
-    {
-    WORD  button_set_id;   // from TPhoneUIConfigurableButtons  
-    LLINK button_sets[];   // button set resources
-    }
-
-#endif
-
-// End of File
--- a/phoneapp/phoneui/srcdata/phoneui.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8176 +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 file contains all the resources for the module.
-*     All definitions for components used in phone application.
-*     Positions, sizes, texts, etc.
-*
-*/
-
-
-NAME    PHUI
-
-#include    <bldvariant.hrh>
-
-#include    <EIKCORE.rsg>
-#include    <eikon.rh>
-#include    <eikon.rsg>
-#include    <avkon.hrh>
-#include    <avkon.rsg>
-#include    <avkon.rh>
-#include    <avkon.mbg>
-#include    <avkon.loc>
-#include    <e32keys.h>
-#include    <uikon.hrh>
-#include    <AiwCommon.hrh>
-#include    <AiwCommon.rh>
-#include    <aknnotifyplugin.loc>
-
-#include    <phone.loc>
-
-#include    <callheadertexts.loc>
-#include    <basiccallhandling.loc>
-#include    <incallmenuandsoftkeys.loc>
-#include    <callterminationnote.loc>
-#include    <incalloperations.loc>
-#include    <numberentry.loc>
-#include    <multicallhandling.loc>
-#include    <mobileoriginatedcalls.loc>
-#include    <avkon.loc>
-#include    <dialer.loc>
-
-
-#include    <dtmfsignalling.loc>
-
-
-#include    "phoneui.rh"
-#include    "phoneui.hrh"
-
-#include    <appinfo.rh>
-#include    <data_caging_paths_strings.hrh>
-
-//  RESOURCE DEFINITIONS
-
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-RESOURCE TBUF
-    {
-    buf = "";
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    It contains application information.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    status_pane = r_phoneui_status_pane;
-    cba = r_phoneui_empty_cba;
-    menubar = r_phoneui_idle_menubar;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_phoneui_localisable_app_info
-    {
-    short_caption = qtn_apps_phone_grid;
-    caption_and_icon =
-    CAPTION_AND_ICON_INFO
-        {
-        caption = qtn_apps_phone_list;
-#ifdef __SCALABLE_ICONS
-        number_of_icons = 1;
-        icon_file = PHONEUI_SCALABLE_AIF_ICON_FILE;
-#else
-        number_of_icons = 1;
-        icon_file = PHONEUI_AIF_ICON_FILE;
-#endif // __SCALABLE_ICONS
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_toolbar
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_phoneui_toolbar
-    {
-    flags = KAknToolbarFixed;
-    items =
-        {
-        // Buttons are dynamically added.
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_title_pane
-//    It defines phone's status pane. Title pane is empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_phoneui_title_pane
-    {
-    txt = qtn_title_text;
-    }
-
-
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_status_pane
-//    It defines phone's status pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE STATUS_PANE_APP_MODEL r_phoneui_status_pane
-    {
-    layout = R_AVKON_STATUS_PANE_LAYOUT_IDLE;
-    panes =
-        {
-        SPANE_PANE
-            {
-            id = EEikStatusPaneUidTitle;
-            type = EAknCtTitlePane;
-            resource = r_phoneui_title_pane;
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_phone_incall_muted_pane
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phone_incall_muted_pane
-    {
-    buf = qtn_incal_muted_pane;
-    }
-
-
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_idle_menubar
-//    Default menubar shown when idle view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_idle_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_idle_normal_menu;
-            }
-        };
-    }
-
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_menubar
-//    Default menubar shown when number acquistion view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_numberacq_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_videocall_menubar
-//    Default menubar shown when number acquistion view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_numberacq_videocall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_videocall_options_menu;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_incall_menubar_with_numberentry
-//    It defines the options menu for in-call state.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phone_incall_menubar_with_numberentry
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callhandling_incall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_incall_menubar_with_numberentry_videocall
-//    It defines the options menu for in-call state.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phone_incall_videocall_menubar_with_numberentry
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callhandling_incall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_videocall_options_menu;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_videocall_menubar
-//    It defines the options menu for video call in-call state.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_videocall_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_videocallhandling_options_menu;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_videocall_menubar_with_numberentry
-//    It defines the options menu for video call in-call state.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_videocall_menubar_with_numberentry
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_videocallhandling_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_ok_menubar
-//    Default menubar shown when number acquistion view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_numberacq_ok_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_ok_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_numberacq_ok_videocall_menubar
-//    Default menubar shown when number acquistion view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_numberacq_ok_videocall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_ok_videocall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callhandling_menubar
-//    Default menubar shown when call handling view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callhandling_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callhandling_incall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_incomingcall_menubar
-//    Default menubar shown when call handling view is active in
-//    incoming state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_incomingcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_incomingcall_options_menu;
-            }
-        };
-    }
-
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_incomingvideocall_menubar
-//    Default menubar shown when call handling view is active in
-//    incoming video call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_incomingvideocall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_incomingvideocall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_incomingcall_menubar_with_numberentry
-//    Default menubar shown when call handling view is active in
-//    incoming state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_incomingcall_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_incomingcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_incomingcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_incomingvideocall_menubar_with_numberentry
-//    Default menubar shown when call handling view is active in
-//    incoming state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_incomingvideocall_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_incomingvideocall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_incomingcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callwaiting_menubar
-//    Default menubar shown when call handling view is active in
-//    call waiting state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callwaiting_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callwaiting_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callwaiting_menubar_with_numberentry
-//    Default menubar shown when there is a waiting call and the
-//    number entry is shown.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callwaiting_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callwaiting_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_confcall_menubar
-//    Default menubar shown when call handling view is active in
-//    conference call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_confcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_confcall_options_menu;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_confcall_menubar_with_numberentry
-//    Default menubar shown when call handling view is active in
-//    conference call state and the number entry is displayed.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_confcall_menubar_with_numberentry
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_confcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_confandcallwaiting_menubar
-//    Default menubar shown when call handling view is active in
-//    call waiting state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_confandcallwaiting_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_confandcallwaiting_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_confandcallwaiting_menubar_with_numberentry
-//    Default menubar shown when call handling view is active in
-//    call waiting state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_confandcallwaiting_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_confandcallwaiting_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingcall_menubar
-//    Default menubar shown when call handling view is alerting
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingcall_menubar_with_numberentry
-//    Default menubar shown when call handling view is alerting
-//    call state and the number entry is displayed.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingcall_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_activeandheld_menubar
-//    Default menubar shown when call handling view is activeandheld
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_activeandheld_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_activeandheldcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_activeandheld_menubar_with_numberentry
-//    Default menubar shown when call handling view is activeandheld
-//    call state and the number entry is displayed.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_activeandheld_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_activeandheldcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_activeconfandheld_menubar
-//    Default menubar shown when call handling view is activeandheld
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_activeconfandheld_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_activeconfandheldcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_activeconfandheld_menubar_with_numberentry
-//    Default menubar shown when call handling view is activeandheld
-//    call state and the number entry is displayed.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_activeconfandheld_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_activeconfandheldcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_activeandheldconf_menubar
-//    Default menubar shown when call handling view is activeandheld
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_activeandheldconf_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_activeandheldconfcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_activeandheldconf_menubar_with_numberentry
-//    Default menubar shown when call handling view is activeandheld
-//    call state and the number entry is displayed.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_activeandheldconf_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_activeandheldconfcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callactiveheldandwaiting_menubar
-//    Default menubar shown when call handling view is callactiveheldandwaiting
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callactiveheldandwaiting_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callactiveheldandwaiting_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callactiveheldandwaiting_menubar_varied
-//    Default menubar shown when call handling view is callactiveheldandwaiting
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callactiveheldandwaiting_menubar_varied
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callactiveheldandwaiting_options_menu_varied;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callactiveheldandwaiting_menubar_with_numberentry
-//    Default menubar shown when call handling view is callactiveheldandwaiting
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callactiveheldandwaiting_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callactiveheldandwaiting_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_confcallactiveheldandwaiting_menubar
-//    Default menubar shown when call handling view is callactiveheldandwaiting
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_confcallactiveheldandwaiting_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_confcallactiveheldandwaiting_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_confcallactiveheldandwaiting_menubar_with_numberentry
-//    Default menubar shown when call handling view is callactiveheldandwaiting
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_confcallactiveheldandwaiting_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_confcallactiveheldandwaiting_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callactiveheldconfandwaiting_menubar
-//    Default menubar shown when call handling view is callactiveheldandwaiting
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callactiveheldconfandwaiting_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callactiveheldconfandwaiting_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callactiveheldconfandwaiting_menubar_with_numberentry
-//    Default menubar shown when call handling view is callactiveheldandwaiting
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callactiveheldconfandwaiting_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callactiveheldconfandwaiting_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingandheldcall_menubar
-//    Default menubar shown when call handling view is alertingandheldcall
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingandheldcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingandheldcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingandconfcall_menubar
-//    Default menubar shown when call handling view is alertingandconfheldcall
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingandconfheldcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingandconfheldcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingandconfheldcall_menubar_with_numberentry
-//    Default menubar shown when call handling view is alertingandconfheldcall
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingandconfheldcall_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingandconfheldcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingandheldcall_menubar_with_numberentry
-//    Default menubar shown when call handling view is alertingandheldcall
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingandheldcall_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingandheldcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingwaitingandheldconfcall_menubar
-//    Default menubar shown when call handling view is
-//    alertingwaitingandconfheldcall call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingwaitingandheldconfcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingwaitingandconfheldcall_options_menu;
-            }
-        };
-    }
-
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingwaitingandheldconfcall_menubar_with_numberentry
-//    Default menubar shown when call handling view is
-//    alertingwaitingandconfheldcall call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingwaitingandheldconfcall_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingwaitingandconfheldcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingheldandwaitingcall_menubar
-//    Default menubar shown when call handling view is alertingheldandwaitingcall
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingheldandwaitingcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingheldandwaitingcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingheldandwaitingcall_menubar_with_numberentry
-//    Default menubar shown when call handling view is alertingheldandwaitingcall
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingheldandwaitingcall_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingheldandwaitingcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingandwaitingcall_menubar
-//    Default menubar shown when call handling view is alertingandwaitingcall
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingandwaitingcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingandwaitingcall_options_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_BAR r_phoneui_alertingandwaitingcall_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingandwaitingcall_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callhandling_emergency_menubar
-//    Default menubar shown when call handling view is active
-//    in emergency mode.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callhandling_emergency_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callhandling_emergency_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_callhandling_emergency_menubar
-//    Default menubar shown when call handling view is active
-//    in emergency mode.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_callhandling_emergency_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_callhandling_emergency_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_emergency_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_videocall_2g_menubar_with_numberentry
-//    Default menubar shown when call handling view is active
-//    in emergency mode.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_videocall_2g_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_call_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_videocall_waiting_menubar
-//    Default menubar shown when call handling view is active
-//    in emergency mode.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_videocall_waiting_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_videocall_waiting_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_waiting_lock_menubar
-//    Menubar shown when waiting call and phone is locked
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_waiting_lock_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_waiting_lock_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_waiting_lock_menubar
-//    Menubar shown when two singles, waiting call and phone is locked
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_twosingles_waiting_lock_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane =r_phoneui_twosingles_waiting_lock_options_menu;
-            }
-        };
-    }
-// ----------------------------------------------------------------
-//
-//    r_phoneui_videocall_waiting_menubar_with_numberentry
-//    Menubar shown when videocall is waiting
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_videocall_waiting_menubar_with_numberentry
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_videocall_waiting_options_menu;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_numberacq_options_call_menu;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_menubar_resource_last
-//    Resource id of last menubar + 1.
-//
-// ---------------------------------------------------------
-//
-RESOURCE SMALLEST_POSSIBLE_RESOURCE r_phoneui_menubar_resource_last {}
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_menupane_resource_offset
-//    Resource id offset - 1 for menupanes.
-//
-// ---------------------------------------------------------
-//
-RESOURCE SMALLEST_POSSIBLE_RESOURCE r_phoneui_menupane_resource_offset {}
-
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_idle_normal_menu
-//    Idle view menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_idle_normal_menu
-    {
-    items=
-        {
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_menu
-//    Number Acquisition view options menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdCall;
-            cascade = r_phoneui_numberacq_options_call_menu;
-            txt = text_number_call;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendCommand;
-            txt = text_nren_send_com;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendMessage;
-            txt = qtn_nren_send_message;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu;
-            txt = qtn_phob_opt_save_to_pb;
-            flags = EEikMenuItemSeparatorAfter;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_emergency_options_menu
-//    Number Acquisition view options menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_emergency_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendCommand;
-            txt = text_nren_send_com;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendMessage;
-            txt = qtn_nren_send_message;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu;
-            txt = qtn_phob_opt_save_to_pb;
-            flags = EEikMenuItemSeparatorAfter;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_videocall_options_menu
-//    Number Acquisition view options menu pane when
-//    VideoCall_menu_visible featere ON.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_videocall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdCall;
-            txt =   qtn_call_sub_voice;
-            },
-        MENU_ITEM
-            {
-            command =EPhoneNumberAcqCmdVideoCall;
-            txt =  qtn_call_sub_video;
-            },
-
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendCommand;
-            txt = text_nren_send_com;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendMessage;
-            txt = qtn_nren_send_message;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu;
-            txt = qtn_phob_opt_save_to_pb;
-            flags = EEikMenuItemSeparatorAfter;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_numberacq_incomingcall_options_menu
-//    It defines number entry options for call coming in
-//    with number entry.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_incomingcall_options_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendCommand;
-            txt = text_nren_send_com;
-            flags = EEikMenuItemSeparatorAfter;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_ok_options_menu
-//    Number Acquisition view ok_options menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_ok_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdCall;
-            cascade = r_phoneui_numberacq_options_call_menu;
-            txt = text_number_call;
-            },
-
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendCommand;
-            txt = text_nren_send_com;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu;
-            txt = qtn_phob_opt_save_to_pb;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_ok_videocall_options_menu
-//    Number Acquisition view ok_options menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_ok_videocall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdCall;
-            txt =   qtn_call_sub_voice;
-            },
-        MENU_ITEM
-            {
-            command =EPhoneNumberAcqCmdVideoCall;
-            txt =  qtn_call_sub_video;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendCommand;
-            txt = text_nren_send_com;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu;
-            txt = qtn_phob_opt_save_to_pb;
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_call_menu
-//    Number Acquisition view options call menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_options_call_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdCall;
-            txt =   qtn_call_sub_voice;
-            },
-        MENU_ITEM
-            {
-            command =EPhoneNumberAcqCmdVideoCall;
-            txt =  qtn_call_sub_video;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_options_add_to_contacts_menu
-//    Number Acquisition view options add to contacts menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_numberacq_options_add_to_contacts_menu
-    {
-    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_callhandling_incall_options_menu
-//    Call Handling view pane
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_callhandling_incall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnhold;
-            txt =  qtn_incal_unhold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHold;
-            txt =  qtn_incal_hold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdLockKeypad;
-            txt = qtn_pwrc_lock_keys;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdLockScreen;
-            txt = qtn_pwrc_lock_display;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwitchToVideo;
-            txt =  qtn_incal_voice_to_video;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewCall;
-            txt =  qtn_incal_new_call_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneVideoSharing;
-            // Content provided by AIW.
-            txt = "";
-            cascade = AIW_INTELLIGENT_CASCADE_ID;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_videocallhandling_options_menu
-//    Video Call Handling menu pane
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_videocallhandling_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwitchToVoice;
-            txt =  qtn_incal_video_to_voice;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewCall;
-            txt =  qtn_incal_new_call_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_callhandling_emergency_options_menu
-//    Call Handling view pane
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_callhandling_emergency_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdLockKeypad;
-            txt = qtn_pwrc_lock_keys;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdLockScreen;
-            txt = qtn_pwrc_lock_display;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incomingcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_incomingcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdAnswer;
-            txt =  qtn_call_answer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdAnswerHandPortable;
-            txt =  qtn_call_answer_hp_vt_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdSoftReject;
-            txt = qtn_call_soft_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdReject;
-            txt =  qtn_call_reject_option;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incomingvideocall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_incomingvideocall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdAnswer;
-            txt =  qtn_call_answer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdAnswerHandPortableVideo;
-            txt = qtn_call_answer_hp_vt_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdSoftReject;
-            txt = qtn_call_soft_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdReject;
-            txt =  qtn_call_reject_option;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_callwaiting_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_callwaiting_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdAnswer;
-            txt =  qtn_call_answer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnhold;
-            txt =  qtn_incal_unhold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHold;
-            txt =  qtn_incal_hold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewCall;
-            txt =  qtn_incal_new_call_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_videocall_waiting_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_videocall_waiting_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnhold;
-            txt =  qtn_incal_unhold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHold;
-            txt =  qtn_incal_hold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewCall;
-            txt =  qtn_incal_new_call_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_waiting_lock_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_waiting_lock_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdAnswer;
-            txt =  qtn_call_answer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_twosingles_waiting_lock_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_twosingles_waiting_lock_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            }
-        };
-    }
-
-// confcall
-// ---------------------------------------------------------
-//
-//    r_phoneui_confcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_confcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnhold;
-            txt =  qtn_incal_unhold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdCreateConference;
-            cascade = r_phoneui_incall_options_conference_private_drop_menu;
-            txt =  qtn_incal_conference_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHold;
-            txt =  qtn_incal_hold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdLockKeypad;
-            txt = qtn_pwrc_lock_keys;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdLockScreen;
-            txt = qtn_pwrc_lock_display;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewCall;
-            txt =  qtn_incal_new_call_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// confandcallwaiting
-// ---------------------------------------------------------
-//
-//    r_phoneui_confandcallwaiting_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_confandcallwaiting_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdAnswer;
-            txt =  qtn_call_answer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdConferenceUnhold;
-            txt =  qtn_incal_unhold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdCreateConference;
-            cascade = r_phoneui_incall_options_conference_private_drop_menu;
-            txt =  qtn_incal_conference_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdConferenceHold;
-            txt =  qtn_incal_hold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewCall;
-            txt =  qtn_incal_new_call_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_activeandheldcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_activeandheldcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap;
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdCreateConference;
-            txt =  qtn_incal_conference_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdTransfer;
-            txt =  qtn_incal_transfer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_activeconfandheldcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_activeconfandheldcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap;
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdCreateConference;
-            cascade = r_phoneui_incall_options_conference_join_drop_menu;
-            txt =  qtn_incal_conference_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_activeandheldconfcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_activeandheldconfcall_options_menu
-
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap;
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdCreateConference;
-            cascade = r_phoneui_incall_options_conference_join_menu;
-            txt =  qtn_incal_conference_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_callactiveheldandwaiting_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_callactiveheldandwaiting_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap;
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdCreateConference;
-            txt =  qtn_incal_conference_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdTransfer;
-            txt =  qtn_incal_transfer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_callactiveheldandwaiting_options_menu_varied
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_callactiveheldandwaiting_options_menu_varied
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_call_answer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap;
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdCreateConference;
-            txt =  qtn_incal_conference_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdTransfer;
-            txt =  qtn_incal_transfer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_confcallactiveheldandwaiting_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_confcallactiveheldandwaiting_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap;
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdCreateConference;
-            cascade = r_phoneui_incall_options_conference_join_drop_menu;
-            txt =  qtn_incal_conference_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_callactiveheldconfandwaiting_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_callactiveheldconfandwaiting_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap;
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdCreateConference;
-            cascade = r_phoneui_incall_options_conference_join_menu;
-            txt =  qtn_incal_conference_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_alertingcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_alertingcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisOutgoingCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_alertingandheldcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_alertingandheldcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisOutgoingCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdTransfer;
-            txt =  qtn_incal_transfer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_alertingandconfheldcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_alertingandconfheldcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisOutgoingCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_alertingandconfheldcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_alertingwaitingandconfheldcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisOutgoingCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_alertingheldandwaitingcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_alertingheldandwaitingcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute;
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls;
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute;
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdTransfer;
-            txt =  qtn_incal_transfer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_alertingandwaitingcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_alertingandwaitingcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject;
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer;
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisOutgoingCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle;
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery;
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_options_conference_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_incall_options_conference_private_drop_menu
-{
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdPrivateSelection;
-            txt =  qtn_incal_private_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDropSelection;
-            txt =  qtn_incal_drop_conf_option;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_options_conference_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_incall_options_conference_join_drop_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdJoin;
-            txt =  qtn_incal_join_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDropSelection;
-            txt =  qtn_incal_drop_conf_option;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_options_conference_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_incall_options_conference_join_menu
-{
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdJoin;
-            txt =  qtn_incal_join_option;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-// PLEASE NOTE:  The DTMF CBA's below are used by DTMF dialogs,
-// They are never selected through the PhoneAppS60 ToolBar system!
-// Thus, they are not part of the collection which is registered
-// with PhoneApp.
-// -----------------------------------------------------------------------------
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_dtmfdialer_softkeys_options_cancel
-//    It is softkeys for DTMF dialer
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_dtmfdialer_softkeys_options_cancel
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneDtmfDialerCancel;
-            txt = text_softkey_cancel;
-            }
-        };
-    }
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_dtmf_softkeys_empty_cancel
-//    It is softkeys for sending wait note.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_dtmf_softkeys_empty_cancel
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdCancelSendingDtmfString;
-            txt = text_softkey_cancel;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_softkeys_empty_cancel.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_softkeys_empty_back
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdBack;
-            txt = text_softkey_back;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_dtmf_softkeys_send_cancel
-//    It is softkeys for wait character confirmation query.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_dtmf_softkeys_send_cancel
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdContinueSendingDtmfString;
-            txt = text_softkey_send;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdCancelSendingDtmfString;
-            txt = text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdContinueSendingDtmfString;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_toolbar_resource_offset
-//    Resource id offset - 1 for toolbars.
-//
-// ---------------------------------------------------------
-//
-RESOURCE SMALLEST_POSSIBLE_RESOURCE r_phoneui_toolbar_resource_offset {}
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_empty_cba
-//    Default Command buttons in view (empty).
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_empty_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneSoftkeyLeft;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneSoftkeyRight;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id =  EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_emergency_idle_cba
-//    Command buttons in emergency idle view.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_emergency_idle_cba
-    {
-    buttons =
-        {
-         CBA_BUTTON
-            {
-            id = EPhoneSoftkeyLeft;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneSoftkeyRight;
-            txt = text_softkey_empty;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_send_dtmf_no_cba
-//    Command buttons in send-dtmf view, when no dialog is available to override them.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_send_dtmf_no_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_send_dtmf_empty_edit_box_cba
-//    Command buttons in send-dtmf view, when "Send DTMF..." dialog
-//    is visible, and the user has NOT entered some text into the edit-box.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_send_dtmf_empty_edit_box_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = text_softkey_cancel;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_send_dtmf_normal_edit_box_cba
-//    Command buttons in send-dtmf view, when "Send DTMF..." dialog
-//    is visible, and the user has entered some text into the edit-box.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_send_dtmf_normal_edit_box_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDtmfOk;
-            txt = text_softkey_ok;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDtmfOk;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_dtmf_speed_dial_normal_edit_box_cba
-//    Command buttons in send-dtmf view, when "Speed Dial Number..." dialog
-//    is visible, and the user has entered some text into the edit-box.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_dtmf_speed_dial_normal_edit_box_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDtmfSpeedDialOk;
-            txt = text_softkey_ok;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDtmfSpeedDialOk;
-            txt = text_softkey_ok;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_cba
-//    It contains softkey definitions for number acquisition.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_numberacq_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdBack;
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyContextOptions;
-            txt = text_softkey_options;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//  r_phoneui_conference_keypad_cover
-//  for the device with the keypad cover
-//  that hides the End and Send keys. The latter function is used only if
-//  there is an active unmuted conference call, but no other call.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_conference_keypad_cover
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndAllCalls;
-            txt = qtn_incal_softk_end_all;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyContextOptions;
-            txt = text_softkey_options;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_numberacq_videocall_cba
-//    It contains softkey definitions for number acquisition
-//    if videocall_menu_visibilite feature ON.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_numberacq_videocall_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneNumberAcqCmdVideoCall;
-            txt = qtn_call_out_going_vt_short;
-            },
-
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyContextOptions;
-            txt = text_softkey_options;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_numberacq_cba
-//    It contains softkey definitions for number acquisition
-//    incall case.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_incall_numberacq_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-
-        CBA_BUTTON
-            {
-            id = EPhoneCmdBack;
-            txt = text_softkey_back;
-            },
-
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_settingsui_cba
-//    Command buttons in SettingsUI view (no softkeys
-//    needed, buttons are controlled by dialogs).
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_settingsui_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_callhandling_cba
-//    Command buttons in call handling views.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_callhandling_callsetup_empty_endoutgoing_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndThisOutgoingCall;
-            txt = text_softkey_drop;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_callsetup_empty_dtmfdialer_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDtmfManualQuery;
-            txt = qtn_incal_softk_dialer;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_callsetup_dtmfdialer_endoutgoing_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDtmfManualQuery;
-            txt = qtn_incal_softk_dialer;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndThisOutgoingCall;
-            txt = text_softkey_drop;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_callsetup_toihf_endoutgoing_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivateIhf;
-            txt = qtn_incal_softk_laudspek;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndThisOutgoingCall;
-            txt = text_softkey_drop;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_callsetup_toihf_dtmfdialer_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivateIhf;
-            txt = qtn_incal_softk_laudspek;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDtmfManualQuery;
-            txt = qtn_incal_softk_dialer;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_callsetup_tohandset_endoutgoing_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDeactivateIhf;
-            txt = qtn_incal_softk_handset;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndThisOutgoingCall;
-            txt = text_softkey_drop;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_callsetup_tohandset_dtmfdialer_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDeactivateIhf;
-            txt = qtn_incal_softk_handset;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDtmfManualQuery;
-            txt = qtn_incal_softk_dialer;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_incall_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivateIhf;
-            txt = qtn_incal_softk_laudspek;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_incall_noihf_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndThisActiveCall;
-            txt = text_softkey_drop;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_incall_unmute_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdUnmute;
-            txt = text_softkey_unmute;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_incall_unhold_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdUnhold;
-            txt = text_softkey_unhold;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_incall_handset_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdHandset;
-            txt = qtn_incal_softk_handset;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_incall_btaa_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_softk_bt_handsfree;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_incomingcall_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdSilent;
-            txt = text_softkey_silent;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneLongMSKAnswer;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_incomingcall_reject_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdReject;
-            txt = text_softkey_reject;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneLongMSKAnswer;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_incomingcall_soft_reject_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdSoftReject;
-            txt = qtn_softkey_soft_reject;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneLongMSKAnswer;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_emergency_incall_no_options
-	{
-    buttons = 
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDialer;
-            txt = qtn_incal_softk_dialer;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-	}
-
-RESOURCE CBA r_phoneui_callhandling_emergency_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivateIhf;
-            txt = qtn_incal_softk_laudspek;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_emergency_noihf_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndThisActiveCall;
-            txt = text_softkey_drop;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_emergency_handset_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdHandset;
-            txt = qtn_incal_softk_handset;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_emergency_no_options_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivateIhf;
-            txt = qtn_incal_softk_laudspek;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_emergency_no_options_noihf_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndThisActiveCall;
-            txt = text_softkey_drop;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_emergency_no_options_handset_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDeactivateIhf;
-            txt = qtn_incal_softk_handset;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_callwaiting_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdReject;
-            txt = text_softkey_reject;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_new_call_find_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdNewCallFind;
-            txt = text_softkey_find;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdCancel;
-            txt = text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdNewCallFind;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_new_call_call_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdNewCallCall;
-            txt =  text_softkey_new_call;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdCancel;
-            txt = text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdNewCallCall;
-            }
-        };
-    }
-
-RESOURCE CBA r_phoneui_callhandling_new_call_swap_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdSwap;
-            txt = text_softkey_swap;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_callcoming_softkeys_when_slider
-//    It contains softkey definitions for call coming in.
-//    Ringing tone is not muted.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_callcoming_softkeys_when_slider
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdAnswer;
-            txt = text_softkey_answer;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdSilent;
-            txt = text_softkey_silent;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyContextOptions;
-            txt = text_softkey_options;
-            }
-        };
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_callcoming_softkeys_when_silent_slider
-//    It contains softkey definitions for call coming in.
-//    Ringing tone is muted.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_callcoming_softkeys_when_silent_slider
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdAnswer;
-            txt = text_softkey_answer;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdReject;
-            txt = text_softkey_reject;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyContextOptions;
-            txt = text_softkey_options;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_softkeys_options_softreject_slider
-//    It is softkeys for soft reject with slider devices.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_softkeys_options_softreject_slider
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdAnswer;
-            txt = text_softkey_answer;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdSoftReject;
-            txt = qtn_softkey_soft_reject;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_new_call_fetch_cba
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_new_call_fetch_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCall;
-            txt = text_softkey_call;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCall;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_exit_emergency_mode_cba
-//    Command buttons when phone exits emergency mode
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_exit_emergency_mode_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneEmergencyCmdYes;
-            txt = text_softkey_yes;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneEmergencyCmdNo;
-            txt = text_softkey_no;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_emergency_mode_note_cba
-//    Command buttons when phone is in emergency mode
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_emergency_mode_note_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneEmergencyCmdExit;
-            txt = text_softkey_exit;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_wait_note_dlg_cba
-//    Command buttons when wait note is visible
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_wait_note_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdWaitNoteOk;
-            txt = text_softkey_ok;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdDoNothing;
-            txt = text_softkey_empty;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdWaitNoteOk;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_string_list
-//    It is a list of strings for the call headers
-//    that must be preloaded.
-//
-// ---------------------------------------------------------
-//
-RESOURCE PHONE_STRING_LIST r_phoneui_string_list
-    {
-    strings =
-        {
-        PHONE_STRING
-            {
-            id = r_phoneui_mtcal_call;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_mtcal_cli_withheld;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_mtcal_diverted_call;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_mtcal_incoming_call;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_mtcal_incoming_call_short;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_out_going_call;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_out_going_call_short;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_out_going_video_call;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_out_going_video_call_short;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_held;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_held_short;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_held_calln;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_held_conference;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_disconnected;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_disconnected_short;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_disconnected_calln;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_disconnected_private;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_disconnected_diverted;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_disconnected_call;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_disconnected_conference;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_incall_call_number;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_multc_waiting;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_multc_waiting_short;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_emergency_call;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_conference_call;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_mtcal_incoming_line2;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_mtcal_arriving_number_line2;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_mtcal_waiting_number_line2;
-            },
-        PHONE_STRING
-            {
-            id = R_QTN_TIME_DURAT_LONG_WITH_ZERO;
-            },
-        PHONE_STRING
-            {
-            id = r_phone_mtcal_cli_payphone;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_emergency_call_header;
-            },
-        PHONE_STRING
-            {
-            id = r_phoneui_idle_time_format;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_use_keyguard_to_unlock
-    {
-    buf = qtn_keyg_info_note_display_lock_switch;
-    }
-
-
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_incal_remote_create_conference_text
-    {
-    buf = qtn_incal_info_conf_active;
-    }
-
- // ---------------------------------------------------------
-//
-RESOURCE TBUF r_multc_info_conference_text
-    {
-    buf = qtn_multc_conference_note;
-    }
-
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_incal_info_hold_text
-    {
-    buf = qtn_incal_info_hold;
-    }
-
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_incal_remote_active_text
-    {
-    buf = qtn_incal_remote_active_note;
-    }
-
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_incal_info_conf_hold_text
-    {
-    buf = qtn_incal_conf_hold_conf;
-    }
-
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_incal_info_hold_cli_text
-    {
-    buf = qtn_incal_conf_hold_cli;
-    }
-
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_incal_info_hold_nocli_text
-    {
-    buf = qtn_incal_conf_hold_nocli;
-    }
-
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_multc_unhold_done_text
-    {
-    buf = qtn_multc_unhold_done_note;
-    }
-
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_multc_cli_unhold_done_text
-    {
-    buf = qtn_multc_cli_unhold_done_note;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_call
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_mtcal_call
-    {
-    buf = qtn_mtcal_call;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_cli_withheld
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_mtcal_cli_withheld
-    {
-    buf = qtn_mtcal_cli_withheld;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_diverted_call
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_mtcal_diverted_call
-    {
-    buf = qtn_mtcal_diverted_call;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_incoming_call
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_mtcal_incoming_call
-    {
-    buf = qtn_mtcal_incoming_call;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_incoming_call_short
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_mtcal_incoming_call_short
-    {
-    buf = qtn_mtcal_incoming_call_short;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_incoming_call_short
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_multc_info_wait_without
-    {
-    buf = qtn_multc_info_wait_without;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_incoming_call_short
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_multc_info_wait_with
-    {
-    buf = qtn_multc_info_wait_with;
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_out_going_call
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_out_going_call
-    {
-    buf = qtn_call_out_going_call;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_out_going_call_short
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_out_going_call_short
-    {
-    buf = qtn_call_out_going_call_short;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_out_going_video_call
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_out_going_video_call
-    {
-    buf = qtn_call_out_going_video_call;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_out_going_video_call_short
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_out_going_video_call_short
-    {
-    buf = qtn_call_out_going_vt_short;
-    }
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_held
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_held
-    {
-    buf = qtn_incal_window_held;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_held_short
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_held_short
-    {
-    buf = qtn_incal_window_held_short;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_held_calln
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_held_calln
-    {
-    buf = qtn_incal_window_held_call;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_held_conference
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_held_conference
-    {
-    buf = qtn_incal_window_held_conf;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_disconnected
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_disconnected
-    {
-    buf = qtn_call_window_discon;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_disconnected_short
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_disconnected_short
-    {
-    buf = qtn_call_window_discon_short;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_disconnected_calln
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_disconnected_calln
-    {
-    buf = qtn_call_window_discon_call;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_disconnected_private
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_disconnected_private
-    {
-    buf = qtn_call_window_discon_privat;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_disconnected_diverted
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_disconnected_diverted
-    {
-    buf = qtn_call_window_discon_divert;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_disconnected_call
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_disconnected_call
-    {
-    buf = qtn_call_window_discon_nonum;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_disconnected_conference
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_disconnected_conference
-    {
-    buf = qtn_call_window_discon_conf;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incall_call_number
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_incall_call_number
-    {
-    buf = qtn_call_number;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_multc_waiting
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_multc_waiting
-    {
-    buf = qtn_multc_window_waiting;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_multc_waiting_short
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_multc_waiting_short
-    {
-    buf = qtn_multc_window_waiting_short;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_gprs_conn_in_progress
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_gprs_conn_in_progress
-    {
-    buf = qtn_gprs_err_conn_in_progress;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_emergency_call
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_emergency_call
-    {
-    buf = qtn_emerg_call_pop_up;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_conference_call
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_conference_call
-    {
-    buf = qtn_multc_conference_pop_up;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_incoming_line2
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_mtcal_incoming_line2
-    {
-    buf = qtn_als_incoming_line2_nonum;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_arriving_number_line2
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_mtcal_arriving_number_line2
-    {
-    buf = qtn_als_arriving_line2_number;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_mtcal_waiting_number_line2
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_mtcal_waiting_number_line2
-    {
-    buf = qtn_als_waiting_line2_number;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_mtcal_cli_payphone
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_mtcal_cli_payphone
-    {
-    buf = qtn_mtcal_cli_payphone;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_emergency_call_header
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF64 r_phoneui_emergency_call_header
-    {
-    buf = qtn_emerg_call_pop_up;
-    }
-
-// ---------------------------------------------------------
-//    r_phoneui_idle_time_format
-//    It define the time format shown on navi pane of idle
-//    state.
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_idle_time_format
-    {
-    buf = qtn_idle_time_format;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_life_timer_string
-//    It is template for text in life timer note.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_life_timer_string
-    {
-    buf = qtn_note_life_timer;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_network_busy
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_network_busy
-    {
-    buf = text_network_busy;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_out_of_range
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_out_of_range
-    {
-    buf = qtn_tel_info_out_of_range;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_signal_faded
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_signal_faded
-    {
-    buf = qtn_tel_sig_fade_note;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_call_failed
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_call_failed
-    {
-    buf = qtn_tel_info_call_failed;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_invalid_phonenumber
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_invalid_phonenumber
-    {
-    buf = text_invalid_number;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_empty_sim_location
-//    It is template for text used in error note.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_empty_sim_location
-    {
-    buf = qtn_simp_note_empty_location;
-    }
-
-
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_error_in_connection
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_error_in_connection
-    {
-    buf = text_network_failure;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_number_not_in_use
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_number_not_in_use
-    {
-    buf = text_unassigned_number;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_number_barred
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_number_barred
-    {
-    buf = text_cterm_nbr_barred;
-    }
-
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_no_answer
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_no_answer
-    {
-    buf = text_no_answer;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_number_not_in_cug
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_number_not_in_cug
-    {
-    buf = text_cterm_nbr_not_in_cug;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_all_incoming_calls_diverted
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_all_incoming_calls_diverted
-    {
-    buf = qtn_mocal_calls_diverted_note;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_active_diverts
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_active_diverts
-    {
-    buf = qtn_mocal_active_diverts_note;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_diverting
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_diverting
-    {
-    buf = qtn_mocal_diverting_note;
-    }
-
-// ----------------------------------------------------------------
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_diverting_incoming_call
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_diverting_incoming_call
-    {
-    buf = qtn_mtcal_diverting_note;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_notetext_call_barrings
-//    Text for a note.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_notetext_call_barrings
-    {
-    buf = qtn_mocal_barred_note;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_error_note_not_allowed
-//    Request to Phone Engine is not confirmed
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_error_note_not_allowed
-    {
-    buf = text_not_allowed;
-    }
-// ----------------------------------------------------------------
-//
-//    r_note_text_conf_audios_handset
-//    Information message text if handset activated.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_note_text_conf_audios_handset
-    {
-    buf = qtn_conf_audios_handset;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_note_text_conf_audios_bt_accessory
-//    Information message text if bluetooth handset activated.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_note_text_conf_audios_bt_accessory
-    {
-    buf = qtn_conf_audios_bt_accessory;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_note_text_cug_in_use
-//    The network might send a notification within the call
-//    creation if the CUG index is used for the current call.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_note_text_cug_in_use
-    {
-    buf = text_cug_in_use;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_note_text_clir_change
-//    If CLIR is subscribed to the permanent option for showing a caller’s
-//    number, and the user has tried to invoke CLIR temporarily,
-//    the operator prevents the calling.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_note_text_clir_change
-    {
-    buf = text_clir_change;
-    }
-
-// ----------------------------------------------------------------
-//
-// r_note_incal_query_vcall_failed
-// Query text for user to inform if video call setup failed
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_note_incal_query_vcall_failed
-    {
-    buf = qtn_incal_query_vcall_failed;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_default_skey_list
-//    It contains overrides for keypad tones.
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_SKEY_LIST r_phoneui_default_skey_list
-    {
-    list =
-        {
-        AVKON_SKEY_INFO {key='0'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='0'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='0'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='1'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='1'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='1'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='2'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='2'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='2'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='3'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='3'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='3'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='4'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='4'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='4'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='5'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='5'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='5'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='6'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='6'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='6'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='7'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='7'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='7'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='8'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='8'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='8'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='9'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='9'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='9'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key='*'; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key='*'; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key='*'; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;},
-        AVKON_SKEY_INFO {key=EStdKeyHash; sid=EAvkonSIDNoSound;},
-        AVKON_SKEY_INFO {key=EStdKeyHash; sid=EAvkonSIDNoSound; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key=EStdKeyHash; sid=EAvkonSIDNoSound; type = ESKeyTypeRepeat;}
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phone_emergency_network_connect_wait_note
-//
-//    It defines wait note showing when attempting an
-//    emergency call.
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_emergency_network_connect_wait_note
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    buttons = r_phoneui_callhandling_callsetup_empty_endoutgoing_cba;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneWaitNote;
-            control = AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                singular_label = qtn_emerg_emergency_call_note;
-                imageid=EMbmAvkonQgn_note_progress;
-                imagemask=EMbmAvkonQgn_note_progress_mask;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-// ---------------------------------------------------------
-//
-//    r_phone_emergency_network_connect_wait_note_dialer
-//
-//    It defines wait note showing when attempting an
-//    emergency call with onscreen dialer.
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_emergency_network_connect_wait_note_dialer
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    buttons = r_phoneui_callhandling_callsetup_dtmfdialer_endoutgoing_cba;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneWaitNote;
-            control = AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                singular_label = qtn_emerg_emergency_call_note;
-                imageid=EMbmAvkonQgn_note_progress;
-                imagemask=EMbmAvkonQgn_note_progress_mask;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-// ---------------------------------------------------------
-//
-//    r_phoneui_emergency_attempting_wait_note
-//
-//    It defines wait note showing when attempting an
-//    emergency call.
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_disconnecting_network_wait_note
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneWaitNote;
-            control = AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                singular_label = qtn_nam_disconnecting;
-                imageid=EMbmAvkonQgn_note_progress;
-                imagemask=EMbmAvkonQgn_note_progress_mask;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_phone_emergency_mode_information_note
-//    It defines the information note for
-//    Emergency Mode notes
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_emergency_mode_information_note
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    buttons = r_phoneui_emergency_mode_note_cba;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                singular_label = qtn_emerg_emerg_only_perm;
-                plural_label = "";
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-
-RESOURCE AVKON_LAYOUT_RECT r_avkon_exit_emergency_query_heading_pane { l=0; t=3; W=168; H=23; }
-
-// ---------------------------------------------------------
-//
-//    r_phone_exit_emergency_mode_query
-//    It defines the information note for
-//    Emergency Mode notes
-//
-// ---------------------------------------------------------
-
-
-RESOURCE DIALOG r_phone_exit_emergency_mode_query
-    {
-    flags = EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
-
-    buttons = r_phoneui_exit_emergency_mode_cba;
-    items =
-        {
-    DLG_LINE
-        {
-        type = EAknCtPopupHeadingPane;
-        id = EAknMessageQueryHeaderId;
-        control = AVKON_HEADING
-        {
-        label  = qtn_emerg_query_hdr_warn;
-        headinglayout = r_avkon_exit_emergency_query_heading_pane;
-        };
-        },
-        DLG_LINE
-            {
-            type = EAknCtMessageQuery;
-            id = EAknMessageQueryContentId;
-            control = AVKON_MESSAGE_QUERY
-                {
-                message = qtn_emerg_gps_quest_contine;
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_enter_service_area_information_note
-//    It defines the information note for
-//    Emergency Mode notes
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_phoneui_enter_service_area_information_note
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                singular_label = "";
-                plural_label = "";
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_no_service_information_note
-//    It defines the information note for
-//    Emergency Mode notes
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_phoneui_no_service_information_note
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                singular_label = "";
-                plural_label = "";
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_send_dtmf_query
-//    This is a data query used to ask for a DTMF number from the user.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phoneui_send_dtmf_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;   // NOTE: CBA is overridden by CPADataQuery inherited class
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EPhoneLayout;
-                label = qtn_dtmf_number_query;
-                control = EDWIN
-                    {
-                    flags = EEikEdwinNoHorizScrolling |
-                            EEikEdwinResizable;
-                    maxlength = 60;
-                    width = 6;
-                    lines = 1;
-                    allowed_input_modes = EAknEditorNumericInputMode;
-                    default_input_mode = EAknEditorNumericInputMode;
-                    };
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_dtmf_speed_dial_number_query
-//    This is a data query used to ask for a speed dial number from the user.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phoneui_dtmf_speed_dial_number_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;   // NOTE: CBA is overridden by CPADataQuery inherited class
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EPhoneLayout;
-                label = qtn_dtmf_spdial_number_query;
-                control = EDWIN
-                    {
-                    flags = EEikEdwinNoHorizScrolling |
-                            EEikEdwinResizable;
-                    maxlength = 60;
-                    width = 6;
-                    lines = 1;
-                    allowed_input_modes = EAknEditorNumericInputMode;
-                    default_input_mode = EAknEditorNumericInputMode;
-                    };
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_sending_dtmf_wait_note
-//    This is a wait note, shown while the PhoneEngine plays the DTMF String.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phoneui_sending_dtmf_wait_note
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-
-    buttons = r_phoneui_dtmf_softkeys_empty_cancel;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneWaitNote;
-            control = AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                singular_label = "";    // generated dynamically...
-                imageid = EMbmAvkonQgn_note_progress;
-                imagemask = EMbmAvkonQgn_note_progress_mask;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_sending_dtmf_wait_note_text
-//    This is a template used to produce the text
-//    for the r_phone_dtmf_sending_wait_note wait note.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_sending_dtmf_wait_note_text
-    {
-    buf = qtn_dtmf_sending_wait_note;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_dtmf_wait_character_confirmation_query
-//    This dialog is used by DTMF Feature, displayed after a Wait Character is
-//    parsed, to ask the user if they wish to continue sending, or cancel.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phoneui_dtmf_wait_character_confirmation_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = r_phoneui_dtmf_softkeys_send_cancel;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationLayout;
-                label = ""; // generated dynamically...
-                };
-            }
-        };
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_als_confirmation_query
-//    It defines  the confirmaiton query dialogue when the system
-//    is about to toggle primary phone line and alternative phone
-//    phone line.
-//
-// -----------------------------------------------------------------------------
-//
-
-RESOURCE DIALOG r_phoneui_als_confirmation_query
-    {
-    flags=EGeneralQueryFlags;
-    buttons=r_phoneui_als_query_softkeys_yes_no;
-    items=
-        {
-        DLG_LINE
-            {
-            type=EAknCtQuery;
-            id=EGeneralQuery;
-            control= AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationLayout;
-                label = text_als_line_change_query;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_als_query_softkeys_yes_no
-//    It is softkeys for als line change confirmation query.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_als_query_softkeys_yes_no
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdYesAlsLineChange;
-            txt = text_softkey_yes;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdNoAlsLineChange;
-            txt = text_softkey_no;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdYesAlsLineChange;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_als_line_blocking_error
-//    If user try to change als line while link blocking is on,
-//    this error note will be shown.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_line_blocking_note_text
-    {
-    buf = qtn_als_line_error_no_line_change;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_new_call_phone_number_editor
-//    The "Phone number Editor" dialog for New call
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phoneui_new_call_phone_number_editor
-    {
-    flags = EAknDialogGenericQueryFlags | EEikDialogFlagNoShadow;
-    buttons = r_phoneui_callhandling_new_call_find_cba;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EPhoneLayout;
-                label = text_phone_number;
-                control = EDWIN
-                    {
-                    flags = EEikEdwinNoHorizScrolling |
-                            EEikEdwinResizable;
-                    width=6;
-                    lines=1;
-                    maxlength=80;
-                    allowed_input_modes = EAknEditorNumericInputMode;
-                    default_input_mode = EAknEditorNumericInputMode;
-                    };
-                };
-            }
-        };
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_title_in_new_call_fetch
-//    It is title used in new call single item fetch.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_title_in_new_call_fetch
-    {
-    buf = qtn_incal_call_title;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// The following resources exist so that translated strings can be referenced
-// directly in C++ code.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_dtmf_wait_character_confirmation_query_text
-    {
-    buf = qtn_dtmf_send_string_query;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_title_in_dtmf_fetch
-//    It is text shown in title pane during DTMF fetch.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_title_in_dtmf_fetch
-    {
-    buf = qtn_dtmf_phonebook_title;
-    }
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_information_note
-//    It defines note template for information notes. Text
-//    must be replaced to correct in code.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_information_note
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                singular_label = ""; //must be replaced to correct in code
-                plural_label = "";
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_conference_private_softkeys
-//    It contains softkey definitions for private operation.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_conference_private_softkeys
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdPrivate;
-            txt = qtn_softkey_private;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdPrivate;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_conference_private_dialog
-//    It contains definition for private dialog.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_conference_private_dialog
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons |
-            EEikDialogFlagNoBackgroundFade |
-            EEikDialogFlagNotifyEsc;
-
-    buttons = r_conference_private_softkeys;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_conference_dropparticipant_softkeys
-//    It contains softkey definitions for drop participant
-//    operation.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_conference_dropparticipant_softkeys
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDrop;
-            txt = qtn_softkey_drop_participant;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyCancel;
-            txt = text_softkey_cancel;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDrop;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_conference_dropparticipant_dialog
-//    It contains definition for drop participant dialog.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_conference_dropparticipant_dialog
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons |
-            EEikDialogFlagNoBackgroundFade |
-            EEikDialogFlagNotifyEsc;
-    buttons = r_conference_dropparticipant_softkeys;
-    }
-
-
-
-// -----------------------------------------------------------------------------
-//    r_phone_imei_string
-//    It is template for text in IMEI note.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_imei_string
-    {
-    buf = text_imei;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_bt_dev_address
-//    It is template for text in bluetooth device address note.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_bt_dev_address
-    {
-    buf = qtn_bt_dev_address;
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_phone_information_note_with_wait
-//    It defines note template for information notes. Text
-//    must be replaced to correct in code. Note has wait
-//    flag.
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_information_note_with_wait
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons | EEikDialogFlagWait;
-    buttons = r_phoneui_wait_note_cba;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                singular_label = ""; //must be replaced to correct in code
-                plural_label = "";
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_confirmation_note
-//    It defines note template for confirmation notes. Text
-//    must be replaced to correct in code.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_confirmation_note
-    {
-    flags = EEikDialogFlagNoDrag |
-            EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                singular_label = ""; //must be replaced to correct in code
-                plural_label = "";
-                animation = R_QGN_NOTE_OK_ANIM;
-                };
-            }
-        };
-    }
-// -----------------------------------------------------------------------------
-//
-//    r_phone_warning_note
-//    It defines note template for warning notes. Text
-//    must be replaced to correct in code.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_warning_note
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                singular_label = ""; //must be replaced to correct in code
-                plural_label = "";
-                animation = R_QGN_NOTE_WARNING_ANIM;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_note
-//    It defines note template for error notes. Text
-//    must be replaced to correct in code.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_error_note
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                singular_label = ""; //must be replaced to correct in code
-                plural_label = "";
-                animation = R_QGN_NOTE_ERROR_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------
-//
-//    r_requesting_wait_note
-//    Requesting wait note when USSD is activated
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_requesting_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-    buttons=R_AVKON_SOFTKEYS_EMPTY;
-    items=
-        {
-        DLG_LINE
-            {
-            type=EAknCtNote;
-            id = EPhoneWaitNote;
-            control= AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                singular_label = text_sending;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_security_information_note
-//    It defines note template for information notes for
-//    security notes. Text must be replaced to correct in code.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_security_information_note
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar |
-            EEikDialogFlagCbaButtons;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EPhoneGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                singular_label = "";
-                plural_label = "";
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-
-
-
-RESOURCE TBUF  r_phone_ss_notification_mocal_waiting_text
-    {
-        buf = qtn_mocal_waiting_note;
-    }
-
-RESOURCE TBUF  r_phone_ss_notification_clir_suppr_reject_text
-    {
-        buf = text_clir_suppr_reject;
-    }
-
-
-RESOURCE TBUF  r_phone_ss_notification_incal_info_hold_text
-    {
-        buf = qtn_incal_info_hold;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_ss_notification_incal_wait_transfer_text
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF  r_phone_ss_notification_incal_wait_transfer_text
-    {
-        buf = qtn_incal_wait_transfer;
-    }
-
-RESOURCE TBUF  r_phone_ss_notification_incal_transferred_text
-    {
-        buf = qtn_incal_transferred_note;
-    }
-
-
-RESOURCE TBUF  r_phone_ss_notification_incal_transferred_nro_text
-    {
-        buf = qtn_incal_transferred_nro_note;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_request_rejected.
-//    It's used after failure of call concerned ss.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_request_rejected
-    {
-    buf = text_request_rejected;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_check_network_services
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_check_network_services
-    {
-    buf = text_net_info_lost;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_note_text_phone_engine_failed_at_startup.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_note_text_phone_engine_failed_at_startup
-    {
-    buf = qtn_debug_pe_failed_at_startup;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_call_not_allowed.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_call_not_allowed
-    {
-    buf = text_call_not_allowed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_call_not_allowed_fdn.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_call_not_allowed_fdn
-    {
-    buf = qtn_fdn_call_not_allowed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_call_in_progress.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_call_in_progress
-    {
-    buf = text_call_in_progress;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_emergency_calls_only.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_emergency_calls_only
-    {
-    buf = qtn_emerg_emergency_only;
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_phone_error_number_busy
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_number_busy
-    {
-    buf = text_user_busy;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_note_text_post_call_summary
-//    Information text shown in post call screen when call is ended
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_note_text_post_call_summary
-    {
-    buf = text_cterm_note_title;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_note_text_post_call_summary
-//    Information text shown in post call screen when call is ended
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_note_text_post_call_duration
-    {
-    buf = qtn_cterm_time;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_no_video_network
-//
-//    The text shown in information note when there is no
-//    network support for video call.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_no_video_network
-    {
-    buf = qtn_tel_info_video_setup_failed;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_error_note_speed_dial_not_assigned
-//    Information text when speed dial substitution entry is not defined
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_error_note_speed_dial_not_assigned
-    {
-    buf = qtn_dtmf_spdial_empty_err_note;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_error_note_invalid_speed_dial
-//    Information text when speed dial substitution entry is invalid
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_error_note_invalid_speed_dial
-    {
-    buf = qtn_dtmf_invalid_spdial_err_note;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_error_emergency_attempt_failed
-//    It defines text shown in error note if emergency
-//    call fails.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_error_emergency_attempt_failed
-    {
-    buf = qtn_emerg_call_error_note;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_video_call_incoming_short
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_video_call_incoming_short
-    {
-    buf = qtn_mtcal_incoming_vt_short;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_video_call_incoming
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_video_call_incoming
-    {
-    buf = qtn_mtcal_incoming_video_call;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_video_call_not_possible
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_video_call_not_possible
-    {
-    buf = qtn_video_call_not_possible;
-    }
-
-// -----------------------------------------------------------------------------
-//   Alerting video call softkeys.
-//    r_phoneui_softkeys_options_enablevideo
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_softkeys_options_enablevideo
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEnableVideo;
-            txt = qtn_incal_softk_enable_video;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_call_barred_in_cug
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_call_barred_in_cug
-    {
-    buf = text_cterm_d_barred_in_cug;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_select_cug
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_select_cug
-    {
-    buf = text_cterm_d_no_cug_selected;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_cug_unknown
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_cug_unknown
-    {
-    buf = text_cterm_d_unknown_cug_index;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_not_possible_in_cug
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_not_possible_in_cug
-    {
-    buf = text_cterm_d_cug_bs_incompab;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_check_cug
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_check_cug
-    {
-    buf = text_cterm_d_cug_call_failur;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_check_clir
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_check_clir
-    {
-    buf = text_cterm_d_clir_not_subscr;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_wlan_mac_string
-//    It is template for text in WLAN MAC note.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_wlan_mac_string
-    {
-    buf = qtn_wlan_info_mac_address;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_text_colp_connected
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_text_colp_connected
-    {
-    buf = text_colp_connected;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_bt_loopback_enabled_string
-//    It is text for bluetooth RF loopback enabled note.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_bt_loopback_enabled_string
-    {
-    buf = qtn_bt_loopback_enabled;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_bt_loopback_disabled_string
-//    It is text for bluetooth RF loopback disabled note.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_bt_loopback_disabled_string
-    {
-    buf = qtn_bt_loopback_disabled;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_incall_info_no_network_support
-//    It is text for no network support for video call note.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_incall_info_no_network_support
-    {
-    buf = qtn_incal_info_no_network_support;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_incall_info_video_call_not_allowed_during_restore
-//    It is text for video call not allowed during MC restore note.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_incall_info_video_call_not_allowed_during_restore
-    {
-    buf = qtn_video_call_not_allowed;
-    }
-
-// -----------------------------------------------------------------------------
-//    r_phone_incall_info_video_call_setup_failed
-//    It is text for video setup failure.
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_incall_info_video_call_setup_failed
-    {
-    buf = qtn_tel_info_video_setup_failed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_error_no_service
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_error_no_service
-    {
-    buf = text_no_service;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_incall_query_switch_to_video
-//    It defines the confirmation query dialogue when the system
-//    is about to switch from voice call to video call
-//    phone line.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_incall_query_switch_to_video
-    {
-    flags=EGeneralQueryFlags;
-    buttons=r_phone_incall_query_switch_to_video_softkeys_yes_no;
-    items=
-        {
-        DLG_LINE
-            {
-            type=EAknCtQuery;
-            id=EGeneralQuery;
-            control= AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationLayout;
-                label = qtn_query_create_video_call;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_incall_query_switch_to_video_softkeys_yes_no
-//    It is softkeys for switch to video query.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phone_incall_query_switch_to_video_softkeys_yes_no
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdYesSwitchToVideo;
-            txt = text_softkey_yes;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdNoSwitchToVideo;
-            txt = text_softkey_no;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdYesSwitchToVideo;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_incall_query_switch_to_voice
-//    It defines the confirmation query dialogue when the system
-//    is about to switch from video call to voice call
-//    phone line.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_incall_query_switch_to_voice
-    {
-    flags=EGeneralQueryFlags;
-    buttons=r_phone_incall_query_switch_to_voice_softkeys_yes_no;
-    items=
-        {
-        DLG_LINE
-            {
-            type=EAknCtQuery;
-            id=EGeneralQuery;
-            control= AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationLayout;
-                label = qtn_incal_query_create_video_call;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_incall_query_switch_to_voice_softkeys_yes_no
-//    It is softkeys for switch to video query.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phone_incall_query_switch_to_voice_softkeys_yes_no
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdYesSwitchToVoice;
-            txt = text_softkey_yes;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdNoSwitchToVoice;
-            txt = text_softkey_no;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdYesSwitchToVoice;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_line_blocking_note
-//    If user try to change als line while link blocking is on,
-//    this error note will be shown.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_line_blocking_note
-    {
-    buf = qtn_als_line_error_no_line_change;
-    }
-
-// SIM RELATED TEXTS
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_sim_removed
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_sim_removed
-    {
-    buf = qtn_su_note_insert_sim;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_reboot_required
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_reboot_required
-    {
-    buf = qtn_memlo_reboot;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_sim_rejected
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_sim_rejected
-    {
-    buf = text_sim_rejected;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_sim_unaccepted
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_sim_unaccepted
-    {
-    buf = text_sim_lock_active;
-    }
-
-
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_continue_in_handset
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_continue_in_handset
-    {
-    buf = qtn_que_continue_in_handset;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_continue_in_loudspeeker
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_continue_in_loudspeaker
-    {
-    buf = qtn_que_continue_in_louds;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_incomingdataorfaxcall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_incomingdataorfaxcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneCallComingCmdReject;
-            txt =  qtn_incal_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_alertingvideocall_options_menu
-//    Default commands menu pane.
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_alertingvideocall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf;
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf;
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisOutgoingCall;
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp;
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_alertingvideocall_menubar
-//    Default menubar shown when video call view is in alerting
-//    call state.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_alertingvideocall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_alertingvideocall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_incomingdataorfaxcall_menubar
-//    Default menubar shown when data or fax call is incoming.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_incomingdataorfaxcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_incomingdataorfaxcall_options_menu;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_phoneui_aiwshare_interest
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AIW_INTEREST r_phoneui_aiwshare_interest
-    {
-    items =
-        {
-        AIW_CRITERIA_ITEM
-            {
-            id              = EPhoneVideoSharing;
-            serviceCmd      = KAiwCmdShare;
-            serviceClass    = KAiwClassMenu;
-            contentType     = "*";
-            defaultProvider = 0x10282389;
-            maxProviders    = 1;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value3
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value3
-    {
-    buf = qtn_call_info_cause_value3;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value16
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value16
-    {
-    buf = qtn_call_info_cause_value16;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value18
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value18
-    {
-    buf = qtn_call_info_cause_value18;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value21
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value21
-    {
-    buf = qtn_call_info_cause_value21;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value22
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value22
-    {
-    buf = qtn_call_info_cause_value22;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value31
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value31
-    {
-    buf = qtn_call_info_cause_value31;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value34
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value34
-    {
-    buf = qtn_call_info_cause_value34;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value38
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value38
-    {
-    buf = qtn_call_info_cause_value38;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value50
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value50
-    {
-    buf = qtn_call_info_cause_value50;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value55
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value55
-    {
-    buf = qtn_call_info_cause_value55;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value57
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value57
-    {
-    buf = qtn_call_info_cause_value57;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value58
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value58
-    {
-    buf = qtn_call_info_cause_value58;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value88
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value88
-    {
-    buf = qtn_call_info_cause_value88;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_cause_value127
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_cause_value127
-    {
-    buf = qtn_call_info_cause_value127;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_not_supported
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_not_supported
-    {
-    buf = qtn_call_info_not_supported;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_call_info_service_not_available
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_info_service_not_available
-    {
-    buf = qtn_call_info_service_not_available;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_qtn_enter_manually_query_item
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_enter_manually_query_item
-    {
-    buf = qtn_enter_manually_query_item;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_qtn_find_query_item
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_find_query_item
-    {
-    buf = qtn_find_query_item;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_dtmf_list_query
-//    It is list query used to ask predefined dtmf string from user.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_phone_dtmf_list_query
-    {
-    flags   =  EEikDialogFlagNoDrag |
-               EEikDialogFlagNoTitleBar |
-               EEikDialogFlagCbaButtons;
-
-    buttons = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
-    items   =
-        {
-        DLG_LINE
-            {
-            type    = EAknCtListQueryControl;
-            id      = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;
-                listbox  = LISTBOX
-                    {
-                    flags    = EAknListBoxMenuList|
-                               EEikEdwinNoWrap;
-                    height   = 3;
-                    width    = 3;
-                    };
-
-                heading  = qtn_send_dtmf_query_prmpt;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phone_tty_info_no_audio_control
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_phone_tty_info_no_audio_control
-    {
-    buf = qtn_tty_info_no_audio_control;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_participant_list_menu
-//    Menu shown when conference participant view is active.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_participant_list_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdPrivate;
-            txt =  qtn_incal_private_part_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDrop;
-            txt =  qtn_incal_drop_part_option;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_participant_list_menubar
-//    Menubar for conference participant view.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_participant_list_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_participant_list_menu;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_participant_list_drop_menu
-//    Menu shown when conference participant view is active.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_participant_list_drop_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDrop;
-            txt =  qtn_incal_drop_part_option;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_participant_list_drop_menubar
-//    Menubar for conference participant view.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_participant_list_drop_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_participant_list_drop_menu;
-            }
-        };
-    }
-
-
-//dialer specific
-
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_dialer_numberentry_prompt_text
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_dialer_numberentry_prompt_text
-    {
-    buf = qtn_dialer_dtmf_number_input_field_text;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_dialer_tooltip_recent_calls
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_dialer_tooltip_recent_calls
-    {
-    buf = qtn_dialer_tooltip_recent_calls;
-    }
-
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_dialer_tooltip_call
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_dialer_tooltip_call
-    {
-    buf = qtn_dialer_tooltip_call;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_dialer_tooltip_send
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_dialer_tooltip_send
-    {
-    buf = qtn_dialer_tooltip_send;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_dialer_tooltip_contact
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_dialer_tooltip_contacts
-    {
-    buf = qtn_dialer_tooltip_contacts;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_dialer_tooltip_add_to_contacts
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_dialer_tooltip_add_to_contacts
-    {
-    buf = qtn_dialer_tooltip_add_to_contacts;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_dialer_tooltip_clear
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_dialer_tooltip_clear
-    {
-    buf = qtn_dialer_tooltip_clear;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_tooltip_loudspeaker
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_tooltip_loudspeaker
-    {
-    buf = qtn_incal_tooltip_loudspeaker;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_tooltip_handset
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_tooltip_handset
-    {
-    buf = qtn_incal_tooltip_handset;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_tooltip_mute
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_tooltip_mute
-    {
-    buf = qtn_incal_tooltip_mute;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_tooltip_unmute
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_tooltip_unmute
-    {
-    buf = qtn_incal_tooltip_unmute;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_tooltip_contacts
-//
-// ----------------------------------------------------------------
-//
-RESOURCE TBUF r_phoneui_tooltip_contacts
-    {
-    buf = qtn_incal_tooltip_contacts;
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneuidialer_numberacq_menubar
-//    Default menubar shown when number acquistion view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneuidialer_numberacq_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneuidialer_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneuidialer_numberacq_menubar
-//    Default menubar shown when touch DTMF view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneuidialer_dtmfview_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneuidialer_dtmfview_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneuidialer_numberacq_emergency_menubar
-//    Default menubar shown when number acquistion view is active.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneuidialer_numberacq_emergency_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneuidialer_emergency_options_menu;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//   r_phonedialer_menu
-//   Menu for Dialer
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneuidialer_options_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendCommand;
-            txt = text_nren_send_com;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdCall;
-            cascade = r_phoneui_numberacq_options_call_menu;
-            txt = text_number_call;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdSendMessage;
-            txt = qtn_nren_send_message;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCallHandling;
-            txt = qtn_dialer_call_handling_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdTouchInput;
-            txt = qtn_dialer_touch_input_options;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdLog;
-            txt = qtn_dialer_recent_calls_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdContacts;
-            txt = qtn_dialer_contacts_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdSpeedDial;
-            txt = qtn_dialer_speed_dial_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneNumberAcqCmdAddToContacts;
-            cascade = r_phoneui_numberacq_options_add_to_contacts_menu;
-            txt = qtn_phob_opt_save_to_pb;
-            flags = EEikMenuItemSeparatorAfter;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdEditItemPlaceHolder;
-            },
-       MENU_ITEM
-            {
-            command = EPhoneDialerCallSettings;
-            txt = qtn_dialer_call_settings_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdHelp;
-            txt = qtn_options_help;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneCmdBack;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//   r_phoneuidialer_emergency_options_menu
-//   Menu for Dialer in emergencycall state
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneuidialer_emergency_options_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EPhoneDialerCallHandling;
-            txt = qtn_dialer_call_handling_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdTouchInput;
-            txt = qtn_dialer_touch_input_options;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdLog;
-            txt = qtn_dialer_recent_calls_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdContacts;
-            txt = qtn_dialer_contacts_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdSpeedDial;
-            txt = qtn_dialer_speed_dial_option;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdEditItemPlaceHolder;
-            },
-       MENU_ITEM
-            {
-            command = EPhoneDialerCallSettings;
-            txt = qtn_dialer_call_settings_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdHelp;
-            txt = qtn_options_help;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneCmdBack;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//   r_phoneuidialer_dtmfview_options_menu
-//   Menu for Dialer dtmf view
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneuidialer_dtmfview_options_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = EPhoneCmdDtmfOk;
-            txt = text_nren_send_com;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdEditItemPlaceHolder;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDialerCmdHelpDtmf;
-            txt =  qtn_options_help;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneDtmfDialerExit;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_dialer_add_to_contacts_selection_list_query
-//    Resource structure
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_dialer_add_to_contacts_selection_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_dialer_add_to_contact;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_phone_contact_add_to_selection_array;
-                    };
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_phone_contact_add_to_selection_array
-//    Array for "add to contact" options.
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_phone_contact_add_to_selection_array
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_dialer_create_new;
-            },
-        LBUF
-            {
-            txt = qtn_dialer_update_existing;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_incall_dialer_cba
-//    Softkeys shown in incall situation with onscreen dialer.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_incall_dialer_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDialer;
-            txt = qtn_incal_softk_dialer;
-            },
-
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdActivatEPhonebook;
-            txt = qtn_msk_contacts;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------
-//
-//    r_phoneui_incall_dialer_tohandset_cba
-//    Softkeys shown in incall situation with onscreen dialer.
-//
-// ----------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_incall_dialer_tohandset_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdDialer;
-            txt = qtn_incal_softk_dialer;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndThisOutgoingCall;
-            txt = text_softkey_drop;
-            },
-        CBA_BUTTON
-            {
-            id = EAknSoftkeyEmpty;
-            txt = "";
-            }
-        };
-    }
-
-RESOURCE INDICATOR_PANE r_phoneui_empty_indicators
-     {
-     indicators =
-         {
-         };
-     }
-
-// ---------------------------------------------------------
-//
-//    r_phoneui_dialer_cba
-//    It contains softkey definitions for dialer.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_dialer_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCmdBack;
-            txt = text_softkey_exit;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_callhandling_incall_endactive_cba
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_callhandling_incall_endactive_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdEndThisActiveCall;
-            txt = qtn_incal_softk_end_this;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_callcoming_swivel_closed_cba
-//    It contains softkey definitions for call coming in.
-//    Ringing tone is not muted.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_callcoming_swivel_closed_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdSilent;
-            txt = text_softkey_silent;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdAnswer;
-            txt = qtn_msk_call_answer_loudspeaker;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_callcoming_silent_swivel_closed_cba
-//    It contains softkey definitions for call coming in.
-//    Ringing tone is muted.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_callcoming_silent_swivel_closed_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdReject;
-            txt = text_softkey_reject;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdAnswer;
-            txt = qtn_msk_call_answer_loudspeaker;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_waiting_answer_swivel_closed_cba
-//    It contains softkey definitions for waiting call.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_waiting_answer_swivel_closed_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdReject;
-            txt = text_softkey_reject;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdAnswer;
-            txt = qtn_msk_call_answer_loudspeaker;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_phoneui_waiting_replace_swivel_closed_cba
-//    It contains softkey definitions for waiting and held and active calls.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_phoneui_waiting_replace_swivel_closed_cba
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id = EPhoneCmdOptions;
-            txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneCallComingCmdReject;
-            txt = text_softkey_reject;
-            },
-        CBA_BUTTON
-            {
-            id = EPhoneInCallCmdReplace;
-            txt = qtn_msk_replace;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_note_video_call_only_possible_under_3g_coverage
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_note_video_call_only_possible_under_3g_coverage
-    {
-    buf = qtn_video_call_only_possible_under_3g_coverage;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_note_unable_to_make_video_call_not_supported_by_other_phone
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_note_unable_to_make_video_call_not_supported_by_other_phone
-    {
-    buf = qtn_unable_to_make_video_call_not_supported_by_other_phone;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_note_phone_out_of_3g_coverage
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_note_phone_out_of_3g_coverage
-    {
-    buf = qtn_phone_out_of_3g_coverage;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_note_called_number_has_barred_incoming_calls
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_note_called_number_has_barred_incoming_calls
-    {
-    buf = qtn_called_number_has_barred_incoming_calls;
-    }
-
-//##########################################################
-// End of File
--- a/phoneapp/phoneui/srcdata/phoneui_reg.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* 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: Resource file for phoneui.
-*
-*/
-
-
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include "phoneui.hrh"
-#include <phoneui.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x100058B3 
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "PhoneUi";
-    hidden = KAppIsHidden;
-    localisable_resource_file = LOCALISABLE_RESOURCE_FILE_EXE;
-    localisable_resource_id = R_PHONEUI_LOCALISABLE_APP_INFO;
-    }
-
-// End of File
--- a/phoneapp/phoneui/srcdata/phoneuitouch.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,736 +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 file contains touch specific menu resources.
-*
-*/
-
-
-NAME    PTCH
-
-#include    <eikon.rh>
-#include    <avkon.loc>
-#include    <incallmenuandsoftkeys.loc>
-#include    <basiccallhandling.loc>
-#include    "phoneui.hrh"
-
-//  RESOURCE DEFINITIONS 
-
-RESOURCE RSS_SIGNATURE 
-    {
-    } 
-
-RESOURCE TBUF 
-    { 
-    buf = "PTCH";
-    }
-
-// Conference call menu
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_confcall_menubar
-//    Default menubar shown when call handling view is active in
-//    conference call state.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_touch_confcall_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_touch_confcall_options_menu;
-            }
-        };
-    }
-    
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_confcall_options_menu
-//    Default commands menu pane.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_touch_confcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute; 
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnhold; 
-            txt =  qtn_incal_unhold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdParticipants;
-            txt =  qtn_incal_participants_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer; 
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf; 
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },            
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf; 
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls; 
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHold;
-            txt =  qtn_incal_hold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute; 
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdLockKeypad;
-            txt = qtn_pwrc_lock_keys;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdLockScreen;
-            txt = qtn_pwrc_lock_display;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewCall; 
-            txt =  qtn_incal_new_call_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle; 
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery; 
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp; 
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// Conference and waiting call menu
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_confandcallwaiting_menubar
-//    Default menubar shown when call handling view is active in
-//    call waiting state.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_touch_confandcallwaiting_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_touch_confandcallwaiting_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_confandcallwaiting_options_menu
-//    Default commands menu pane.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_touch_confandcallwaiting_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute; 
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdAnswer; 
-            txt =  qtn_call_answer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject; 
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdConferenceUnhold; 
-            txt =  qtn_incal_unhold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdParticipants;
-            txt =  qtn_incal_participants_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer; 
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf; 
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf; 
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },            
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls; 
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdConferenceHold; 
-            txt =  qtn_incal_hold_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute; 
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdNewCall; 
-            txt =  qtn_incal_new_call_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle; 
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery; 
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp; 
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-
-// Conference and held call menu
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_activeconfandheld_menubar
-//    Default menubar shown when call handling view is activeandheld
-//    call state.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_touch_activeconfandheld_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_touch_activeconfandheldcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_activeconfandheldcall_options_menu
-//    Default commands menu pane.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_touch_activeconfandheldcall_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute; 
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap; 
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdParticipants;
-            txt =  qtn_incal_participants_option;
-            },            
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdJoin; 
-            txt =  qtn_incal_add_to_conf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer; 
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf; 
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf; 
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },            
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall; 
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls; 
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute; 
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle; 
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery; 
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp; 
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// Held conference and active call menu
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_activeandheldconf_menubar
-//    Default menubar shown when call handling view is activeandheld
-//    call state.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_touch_activeandheldconf_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_touch_activeandheldconfcall_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_activeandheldconfcall_options_menu
-//    Default commands menu pane.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_touch_activeandheldconfcall_options_menu
-                    
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute; 
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap; 
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdJoin; 
-            txt =  qtn_incal_join_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer; 
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf; 
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf; 
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },            
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall; 
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls; 
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute; 
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle; 
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery; 
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp; 
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// Conference, held and waiting call menu
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_confcallactiveheldandwaiting_menubar
-//    Default menubar shown when call handling view is callactiveheldandwaiting
-//    call state.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_touch_confcallactiveheldandwaiting_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_touch_confcallactiveheldandwaiting_options_menu;
-            }
-        };
-    }
-    
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_confcallactiveheldandwaiting_options_menu
-//    Default commands menu pane.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_touch_confcallactiveheldandwaiting_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute; 
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject; 
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap; 
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdParticipants;
-            txt =  qtn_incal_participants_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdJoin; 
-            txt =  qtn_incal_add_to_conf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer; 
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf; 
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf; 
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },            
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall; 
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls; 
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute; 
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle; 
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery; 
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp; 
-            txt =  qtn_options_help;
-            }
-        };
-    }
-
-// Held conference, active call and waiting call menu
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_callactiveheldconfandwaiting_menubar
-//    Default menubar shown when call handling view is callactiveheldandwaiting
-//    call state.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_phoneui_touch_callactiveheldconfandwaiting_menubar
-    {
-    titles=
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_phoneui_touch_callactiveheldconfandwaiting_options_menu;
-            }
-        };
-    }
-
-// ----------------------------------------------------------------------------
-//   
-//    r_phoneui_touch_callactiveheldconfandwaiting_options_menu
-//    Default commands menu pane.
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_phoneui_touch_callactiveheldconfandwaiting_options_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdUnmute; 
-            txt =  qtn_incal_unmute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReject; 
-            txt =  qtn_call_reject_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdReplace;
-            txt =  qtn_incal_replace_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdSwap; 
-            txt =  qtn_incal_swap_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdJoin; 
-            txt =  qtn_incal_join_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDialer; 
-            txt =  qtn_incal_dialer_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdActivateIhf; 
-            txt =  qtn_incal_act_ihf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDeactivateIhf; 
-            txt =  qtn_incal_deact_ihf_option;
-            },
-        MENU_ITEM            // HANDSET
-            {
-            command = EPhoneInCallCmdHandset;
-            txt = qtn_incal_handset_option;
-            },
-        MENU_ITEM            // BT HANDSFREE
-            {
-            command = EPhoneInCallCmdBtHandsfree;
-            txt = qtn_incal_bt_handsfree_option;
-            },            
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndThisActiveCall; 
-            txt =  qtn_incal_drop_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdEndAllCalls; 
-            txt =  qtn_incal_end_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdMute; 
-            txt =  qtn_incal_mute_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdGoToIdle; 
-            txt =  qtn_incal_goto_idle;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdDtmfListQuery; 
-            txt =  qtn_incal_send_dtmf_option;
-            },
-        MENU_ITEM
-            {
-            command = EPhoneInCallCmdHelp; 
-            txt =  qtn_options_help;
-            }
-        };
-    }
-     
-// End of File
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/Bmarm/3dringingtoneinterface_testsU.DEF	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-EXPORTS
-	LibEntryL__Fv @ 1 NONAME R3UNUSED ; LibEntryL(void)
-	SetRequirements__FRP16CTestModuleParamRUl @ 2 NONAME R3UNUSED ; SetRequirements(CTestModuleParam *&, unsigned long &)
-
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/Bwins/3dringingtoneinterface_testsU.DEF	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCTestModuleBase@@XZ @ 1 NONAME ; class CTestModuleBase * __cdecl LibEntryL(void)
-	?SetRequirements@@YAHAAPAVCTestModuleParam@@AAK@Z @ 2 NONAME ; int __cdecl SetRequirements(class CTestModuleParam * &,unsigned long &)
-
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/EABI/3dringingtoneinterface_testsU.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-EXPORTS
-	_Z9LibEntryLv @ 1 NONAME
-	_Z15SetRequirementsRP16CTestModuleParamRm @ 2 NONAME
-
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/3dringingtoneinterface_tests.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +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:  MMP file for 3dringingtoneinterface_tests.
-*
-*/
-
-
-#if defined(__S60_)
-        // To get the OS_LAYER_SYSTEMINCLUDE-definition
-        #include <platform_paths.hrh>
-#endif
-
-TARGET          3dringingtoneinterface_tests.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E7
-
-CAPABILITY      ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID     0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID     0x00000000
-
-//TARGETPATH      ?target_path
-DEFFILE         3dringingtoneinterface_tests.def
-
-SOURCEPATH      ../src
-SOURCE          3dringingtoneinterface_tests.cpp
-SOURCE          3dringingtoneinterface_testsCases.cpp
-
-//RESOURCE        resource_file
-//RESOURCE        resource_file2
-
-USERINCLUDE     ../inc 
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         ecom.lib
-LIBRARY         MediaClientAudio.lib
-
-LANG            SC
-
-/*
-START WINS      
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
- 
-// DOCUMENT     ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH   ?emulated_path_on_target_machine
-HEADER
-SOURCE       ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename// End of File
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/3dringingtoneinterface_tests.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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 3dringingtoneinterface_tests.
-;
-; Languages
-&EN
-
-; Header
-#{"3dringingtoneinterface_tests"}, (0x101FB3E7), 1, 0, 0
-
-; Localised Vendor name
-%{"Nokia Test EN"}
-
-; Unique Vendor name
-:"Vendor"
-
-;Key and certificate
-*"rd-key.pem","rd.cer"
-
-;  3dringingtoneinterface_tests
-"\epoc32\release\armv5\urel\3dringingtoneinterface_tests.dll"-"C:\sys\bin\3dringingtoneinterface_tests.dll"
-"..\init\3dringingtoneinterface_tests.ini"-"C:\TestFramework\3dringingtoneinterface_tests.ini"
- 
Binary file phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/3dringingtoneinterface_tests.sis has changed
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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:  Build file for 3dringingtoneinterface_tests.
-*
-*/
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-3dringingtoneinterface_tests.mmp
-
-PRJ_MMPFILES
-
-
-//  End of File
\ No newline at end of file
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/inc/3dringingtoneinterface_tests.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +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:  3dringingtoneinterface_tests test module.
-*
-*/
-
-
-
-#ifndef _3DRINGINGTONEINTERFACE_TESTS_H
-#define _3DRINGINGTONEINTERFACE_TESTS_H
-
-// INCLUDES
-#include "StifTestModule.h"
-#include <StifLogger.h>
- 
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// Logging path
-_LIT( K3dringingtoneinterface_testsLogPath, "\\logs\\testframework\\3dringingtoneinterface_tests\\" ); 
-// Log file
-_LIT( K3dringingtoneinterface_testsLogFile, "3dringingtoneinterface_tests.txt" ); 
-
-
-#define GETPTR &
-#define ENTRY(str,func) {_S(str), GETPTR func,0,0,0}
-#define FUNCENTRY(func) {_S(#func), GETPTR func,0,0,0}
-#define OOM_ENTRY(str,func,a,b,c) {_S(str), GETPTR func,a,b,c}
-#define OOM_FUNCENTRY(func,a,b,c) {_S(#func), GETPTR func,a,b,c}
-
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class C3dringingtoneinterface_tests;
-
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-// A typedef for function that does the actual testing,
-// function is a type 
-// TInt C3dringingtoneinterface_tests::<NameOfFunction> ( TTestResult& aResult )
-typedef TInt (C3dringingtoneinterface_tests::* TestFunction)(TTestResult&);
-
-// CLASS DECLARATION
-
-/**
-*  An internal structure containing a test case name and
-*  the pointer to function doing the test
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-class TCaseInfoInternal
-    {
-    public:
-        const TText*    iCaseName;
-        TestFunction    iMethod;
-        TBool           iIsOOMTest;
-        TInt            iFirstMemoryAllocation;
-        TInt            iLastMemoryAllocation;
-    };
-
-// CLASS DECLARATION
-
-/**
-*  A structure containing a test case name and
-*  the pointer to function doing the test
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-class TCaseInfo
-    {
-    public:
-        TPtrC iCaseName;
-        TestFunction iMethod;
-        TBool           iIsOOMTest;
-        TInt            iFirstMemoryAllocation;
-        TInt            iLastMemoryAllocation;
-
-    TCaseInfo( const TText* a ) : iCaseName( (TText*) a )
-        {
-        };
-
-    };
-
-
-// CLASS DECLARATION
-
-/**
-*  This a 3dringingtoneinterface_tests class.
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-NONSHARABLE_CLASS(C3dringingtoneinterface_tests) : public CTestModuleBase
-    {
-    public:  // Constructors and destructor
-
-
-        /**
-        * Two-phased constructor.
-        */
-        static C3dringingtoneinterface_tests* NewL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~C3dringingtoneinterface_tests();
-
-    public: // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
-    public: // Functions from base classes
-
-        /**
-        * From CTestModuleBase InitL is used to initialize the 
-        *       3dringingtoneinterface_tests. It is called once for every instance of 
-        *       TestModule3dringingtoneinterface_tests after its creation.
-        * @since ?Series60_version
-        * @param aIniFile Initialization file for the test module (optional)
-        * @param aFirstTime Flag is true when InitL is executed for first 
-        *               created instance of 3dringingtoneinterface_tests.
-        * @return Symbian OS error code
-        */
-        TInt InitL( TFileName& aIniFile, TBool aFirstTime );
-
-        /**
-        * From CTestModuleBase GetTestCasesL is used to inquiry test cases 
-        *   from 3dringingtoneinterface_tests. 
-        * @since ?Series60_version
-        * @param aTestCaseFile Test case file (optional)
-        * @param aTestCases  Array of TestCases returned to test framework
-        * @return Symbian OS error code
-        */
-        TInt GetTestCasesL( const TFileName& aTestCaseFile, 
-                            RPointerArray<TTestCaseInfo>& aTestCases );
-
-        /**
-        * From CTestModuleBase RunTestCaseL is used to run an individual 
-        *   test case. 
-        * @since ?Series60_version
-        * @param aCaseNumber Test case number
-        * @param aTestCaseFile Test case file (optional)
-        * @param aResult Test case result returned to test framework (PASS/FAIL)
-        * @return Symbian OS error code (test case execution error, which is 
-        *           not reported in aResult parameter as test case failure).
-        */   
-        TInt RunTestCaseL( const TInt aCaseNumber, 
-                           const TFileName& aTestCaseFile,
-                           TTestResult& aResult );
-
-        /**
-        * From CTestModuleBase; OOMTestQueryL is used to specify is particular
-        * test case going to be executed using OOM conditions
-        * @param aTestCaseFile Test case file (optional)
-        * @param aCaseNumber Test case number (optional)
-        * @param aFailureType OOM failure type (optional)
-        * @param aFirstMemFailure The first heap memory allocation failure value (optional)
-        * @param aLastMemFailure The last heap memory allocation failure value (optional)
-        * @return TBool
-        */
-        virtual TBool OOMTestQueryL( const TFileName& /* aTestCaseFile */, 
-                                     const TInt /* aCaseNumber */, 
-                                     TOOMFailureType& aFailureType, 
-                                     TInt& /* aFirstMemFailure */, 
-                                     TInt& /* aLastMemFailure */ );
-
-        /**
-        * From CTestModuleBase; OOMTestInitializeL may be used to initialize OOM
-        * test environment
-        * @param aTestCaseFile Test case file (optional)
-        * @param aCaseNumber Test case number (optional)
-        * @return None
-        */
-        virtual void OOMTestInitializeL( const TFileName& /* aTestCaseFile */, 
-                                    const TInt /* aCaseNumber */ ); 
-
-        /**
-        * From CTestModuleBase; OOMHandleWarningL
-        * @param aTestCaseFile Test case file (optional)
-        * @param aCaseNumber Test case number (optional)
-        * @param aFailNextValue FailNextValue for OOM test execution (optional)
-        * @return None
-        *
-        * User may add implementation for OOM test warning handling. Usually no
-        * implementation is required.           
-        */
-        virtual void OOMHandleWarningL( const TFileName& /* aTestCaseFile */,
-                                        const TInt /* aCaseNumber */, 
-                                        TInt& /* aFailNextValue */); 
-
-        /**
-        * From CTestModuleBase; OOMTestFinalizeL may be used to finalize OOM
-        * test environment
-        * @param aTestCaseFile Test case file (optional)
-        * @param aCaseNumber Test case number (optional)
-        * @return None
-        *
-        */
-        virtual void OOMTestFinalizeL( const TFileName& /* aTestCaseFile */, 
-                                       const TInt /* aCaseNumber */ );
-
-    protected:  // New functions
-
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-               
-
-    protected:  // Functions from base classes
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        C3dringingtoneinterface_tests();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
-        /**
-        * Function returning test case name and pointer to test case function.
-        * @since ?Series60_version
-        * @param aCaseNumber test case number
-        * @return TCaseInfo 
-        */
-        const TCaseInfo Case ( const TInt aCaseNumber ) const;
-
-        /**
-        * Actual Hardcoded test case functions are listed below.
-        */
-        //ADD NEW METHOD DEC HERE"
-
-        /**
-        * Printing test case.
-        * @since ?Series60_version
-        * @param aResult Test case result (PASS/FAIL)
-        * @return Symbian OS error code (test case execution error 
-        *   that is not returned as test case result in aResult)
-        */
-        TInt PrintTest( TTestResult& aResult );
-
-        /**
-        * Printing loop test case.
-        * @since ?Series60_version
-        * @param aResult Test case result (PASS/FAIL)
-        * @return Symbian OS error code (test case execution error 
-        *   that is not returned as test case result in aResult)
-        */
-        TInt LoopTest( TTestResult& aResult );
-
-
-        TInt CreateAndDelete( TTestResult& aResult );
-        TInt PlayAndStop( TTestResult& aResult );
-        
-        
-    public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // Pointer to test (function) to be executed
-        TestFunction iMethod;
-
-        // Pointer to logger
-        CStifLogger * iLog; 
-
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-
-    public:     // Friend classes
-        //?friend_class_declaration;
-    protected:  // Friend classes
-        //?friend_class_declaration;
-    private:    // Friend classes
-        //?friend_class_declaration;
-
-    };
-
-#endif      // _3DRINGINGTONEINTERFACE_TESTS_H
-
-// End of File
\ No newline at end of file
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/init/3dringingtoneinterface_tests.ini	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-#
-# This is STIFTestFramework initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if 
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module. 
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= E:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-
-[New_Module]
-ModuleName= 3dringingtoneinterface_tests
-[End_Module]
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIFTestFramework logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number 
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#' 
-
-CreateLogDirectories= YES		# Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML			# Possible values: TXT or HTML
-#EmulatorOutput= FILE			# Possible values: FILE or RDEBUG
-
-HardwareBasePath= E:\LOGS\TestFramework\
-HardwareFormat= TXT			# Possible values: TXT or HTML
-HardwareOutput= FILE			# Possible values: FILE or RDEBUG
-
-FileCreationMode= OVERWRITE		# Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES			# Possible values: YES or NO
-#WithTimeStamp= YES			# Possible values: YES or NO
-#WithLineBreak= YES			# Possible values: YES or NO
-#WithEventRanking= YES			# Possible values: YES or NO
-
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
\ No newline at end of file
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/src/3dringingtoneinterface_tests.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +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:  3dringingtoneinterface_tests class member functions
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include "3dringingtoneinterface_tests.h"
-
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::C3dringingtoneinterface_tests
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-C3dringingtoneinterface_tests::C3dringingtoneinterface_tests()
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::ConstructL
-// Symbian 2nd phase constructor can leave.
-//
-// Note: If OOM test case uses STIF Logger, then STIF Logger must be created
-// with static buffer size parameter (aStaticBufferSize). Otherwise Logger 
-// allocates memory from heap and therefore causes error situations with OOM 
-// testing. For more information about STIF Logger construction, see STIF Users 
-// Guide.
-// -----------------------------------------------------------------------------
-//
-void C3dringingtoneinterface_tests::ConstructL()
-    {
-    iLog = CStifLogger::NewL( K3dringingtoneinterface_testsLogPath, 
-                          K3dringingtoneinterface_testsLogFile);
-
-    // Sample how to use logging
-    _LIT( KLogStart, "3dringingtoneinterface_tests logging starts!" );
-    iLog->Log( KLogStart );
-
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-C3dringingtoneinterface_tests* C3dringingtoneinterface_tests::NewL()
-    {
-    C3dringingtoneinterface_tests* self = new (ELeave) C3dringingtoneinterface_tests;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-
-    }
-
-// Destructor
-C3dringingtoneinterface_tests::~C3dringingtoneinterface_tests()
-    {
-    delete iLog;
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::InitL
-// InitL is used to initialize the Test Module.
-// -----------------------------------------------------------------------------
-//
-TInt C3dringingtoneinterface_tests::InitL( 
-    TFileName& /*aIniFile*/, 
-    TBool /*aFirstTime*/ )
-    {
-    return KErrNone;
-
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::GetTestCasesL
-// GetTestCases is used to inquire test cases from the Test Module. Test
-// cases are stored to array of test cases. The Test Framework will be 
-// the owner of the data in the RPointerArray after GetTestCases return
-// and it does the memory deallocation. 
-// -----------------------------------------------------------------------------
-//
-TInt C3dringingtoneinterface_tests::GetTestCasesL( 
-    const TFileName& /*aConfig*/, 
-    RPointerArray<TTestCaseInfo>& aTestCases )
-    {
-
-    // Loop through all test cases and create new
-    // TTestCaseInfo items and append items to aTestCase array    
-    for( TInt i = 0; Case(i).iMethod != NULL; i++ )
-        {
-
-        // Allocate new TTestCaseInfo from heap for a testcase definition.
-        TTestCaseInfo* newCase = new( ELeave ) TTestCaseInfo();
-
-        // PushL TTestCaseInfo to CleanupStack.    
-        CleanupStack::PushL( newCase );
-
-        // Set number for the testcase.
-        // When the testcase is run, this comes as a parameter to RunTestCaseL.
-        newCase->iCaseNumber = i;
-
-        // Set title for the test case. This is shown in UI to user.
-        newCase->iTitle.Copy( Case(i).iCaseName );
-
-        // Append TTestCaseInfo to the testcase array. After appended 
-        // successfully the TTestCaseInfo object is owned (and freed) 
-        // by the TestServer. 
-        User::LeaveIfError(aTestCases.Append ( newCase ) );
-
-        // Pop TTestCaseInfo from the CleanupStack.
-        CleanupStack::Pop( newCase );
-
-        }
-
-    return KErrNone;
-
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::RunTestCaseL
-// RunTestCaseL is used to run an individual test case specified 
-// by aTestCase. Test cases that can be run may be requested from 
-// Test Module by GetTestCases method before calling RunTestCase.
-// -----------------------------------------------------------------------------
-//
-TInt C3dringingtoneinterface_tests::RunTestCaseL( 
-    const TInt aCaseNumber,   
-    const TFileName& /*aConfig*/,
-    TTestResult& aResult )
-    {
-
-    // Return value
-    TInt execStatus = KErrNone;
-
-    // Get the pointer to test case function
-    TCaseInfo tmp = Case ( aCaseNumber );
-
-    _LIT( KLogStartTC, "Starting testcase [%S]" );
-    iLog->Log( KLogStartTC, &tmp.iCaseName);
-
-    // Check that case number was valid
-    if ( tmp.iMethod != NULL )
-        {
-        // Valid case was found, call it via function pointer
-        iMethod = tmp.iMethod;        
-        execStatus  = ( this->*iMethod )( aResult );
-        }
-    else
-        {
-        // Valid case was not found, return error.
-        execStatus = KErrNotFound;
-        }
-
-    // Return case execution status (not the result of the case execution)
-    return execStatus;
-
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::OOMTestQueryL
-// Used to check if a particular test case should be run in OOM conditions and 
-// which memory allocations should fail.    
-// -----------------------------------------------------------------------------
-//
-TBool C3dringingtoneinterface_tests::OOMTestQueryL( 
-                                const TFileName& /* aTestCaseFile */, 
-                                const TInt aCaseNumber, 
-                                TOOMFailureType& /* aFailureType */, 
-                                TInt& aFirstMemFailure, 
-                                TInt& aLastMemFailure ) 
-    {
-    _LIT( KLogOOMTestQueryL, "C3dringingtoneinterface_tests::OOMTestQueryL" );
-    iLog->Log( KLogOOMTestQueryL );     
-
-    aFirstMemFailure = Case( aCaseNumber ).iFirstMemoryAllocation;
-    aLastMemFailure = Case( aCaseNumber ).iLastMemoryAllocation;
-
-    return Case( aCaseNumber ).iIsOOMTest;
-
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::OOMTestInitializeL
-// Used to perform the test environment setup for a particular OOM test case. 
-// Test Modules may use the initialization file to read parameters for Test 
-// Module initialization but they can also have their own configure file or 
-// some other routine to initialize themselves.  
-//
-// NOTE: User may add implementation for OOM test environment initialization.
-// Usually no implementation is required.
-// -----------------------------------------------------------------------------
-//
-void C3dringingtoneinterface_tests::OOMTestInitializeL( 
-                                const TFileName& /* aTestCaseFile */, 
-                                const TInt /* aCaseNumber */ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::OOMHandleWarningL
-// In some cases the heap memory allocation should be skipped, either due to
-// problems in the OS code or components used by the code being tested, or even 
-// inside the tested components which are implemented this way on purpose (by 
-// design), so it is important to give the tester a way to bypass allocation 
-// failures.
-//
-// NOTE: User may add implementation for OOM test warning handling. Usually no
-// implementation is required.
-// -----------------------------------------------------------------------------
-//
-void C3dringingtoneinterface_tests::OOMHandleWarningL( 
-                                const TFileName& /* aTestCaseFile */,
-                                const TInt /* aCaseNumber */, 
-                                TInt& /* aFailNextValue */ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::OOMTestFinalizeL
-// Used to perform the test environment cleanup for a particular OOM test case.
-//
-// NOTE: User may add implementation for OOM test environment finalization.
-// Usually no implementation is required.
-// -----------------------------------------------------------------------------
-//
-void C3dringingtoneinterface_tests::OOMTestFinalizeL( 
-                                const TFileName& /* aTestCaseFile */, 
-                                const TInt /* aCaseNumber */ )
-    {
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point
-// Returns: CTestModuleBase*: Pointer to Test Module object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CTestModuleBase* LibEntryL()
-    {
-    return C3dringingtoneinterface_tests::NewL();
-
-    }
-
-// -----------------------------------------------------------------------------
-// SetRequirements handles test module parameters(implements evolution
-// version 1 for test module's heap and stack sizes configuring).
-// Returns: TInt: Symbian error code.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt SetRequirements( CTestModuleParam*& /*aTestModuleParam*/, 
-                                TUint32& /*aParameterValid*/ )
-    {
-
-    /* --------------------------------- NOTE ---------------------------------
-    USER PANICS occurs in test thread creation when:
-    1) "The panic occurs when the value of the stack size is negative."
-    2) "The panic occurs if the minimum heap size specified is less
-       than KMinHeapSize".
-       KMinHeapSize: "Functions that require a new heap to be allocated will
-       either panic, or will reset the required heap size to this value if
-       a smaller heap size is specified".
-    3) "The panic occurs if the minimum heap size specified is greater than
-       the maximum size to which the heap can grow".
-    Other:
-    1) Make sure that your hardware or Symbian OS is supporting given sizes.
-       e.g. Hardware might support only sizes that are divisible by four.
-    ------------------------------- NOTE end ------------------------------- */
-
-    // Normally STIF uses default heap and stack sizes for test thread, see:
-    // KTestThreadMinHeap, KTestThreadMinHeap and KStackSize.
-    // If needed heap and stack sizes can be configured here by user. Remove
-    // comments and define sizes.
-
-/*
-    aParameterValid = KStifTestModuleParameterChanged;
-
-    CTestModuleParamVer01* param = CTestModuleParamVer01::NewL();
-    // Stack size
-    param->iTestThreadStackSize= 16384; // 16K stack
-    // Heap sizes
-    param->iTestThreadMinHeap = 4096;   // 4K heap min
-    param->iTestThreadMaxHeap = 1048576;// 1M heap max
-
-    aTestModuleParam = param;
-*/
-    return KErrNone;
-
-    }
-
-
-//  End of File
--- a/phoneapp/phoneui/tsrc/public/basic/3dringingtoneinterface_tests/src/3dringingtoneinterface_testsCases.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,312 +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:  Implementation of C3dringingtoneinterface_tests class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32math.h>
-#include "3dringingtoneinterface_tests.h"
-
-
-#include <c3dringingtoneinterface.h>
- 
-// EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::Case
-// Returns a test case by number.
-//
-// This function contains an array of all available test cases 
-// i.e pair of case name and test function. If case specified by parameter
-// aCaseNumber is found from array, then that item is returned.
-// 
-// The reason for this rather complicated function is to specify all the
-// test cases only in one place. It is not necessary to understand how
-// function pointers to class member functions works when adding new test
-// cases. See function body for instructions how to add new test case.
-// -----------------------------------------------------------------------------
-//
-const TCaseInfo C3dringingtoneinterface_tests::Case ( 
-    const TInt aCaseNumber ) const 
-     {
-
-    /**
-    * To add new test cases, implement new test case function and add new 
-    * line to KCases array specify the name of the case and the function 
-    * doing the test case
-    * In practice, do following
-    * 1) Make copy of existing test case function and change its name
-    *    and functionality. Note that the function must be added to 
-    *    3dringingtoneinterface_tests.cpp file and to 3dringingtoneinterface_tests.h 
-    *    header file.
-    *
-    * 2) Add entry to following KCases array either by using:
-    *
-    * 2.1: FUNCENTRY or ENTRY macro
-    * ENTRY macro takes two parameters: test case name and test case 
-    * function name.
-    *
-    * FUNCENTRY macro takes only test case function name as a parameter and
-    * uses that as a test case name and test case function name.
-    *
-    * Or
-    *
-    * 2.2: OOM_FUNCENTRY or OOM_ENTRY macro. Note that these macros are used
-    * only with OOM (Out-Of-Memory) testing!
-    *
-    * OOM_ENTRY macro takes five parameters: test case name, test case 
-    * function name, TBool which specifies is method supposed to be run using
-    * OOM conditions, TInt value for first heap memory allocation failure and 
-    * TInt value for last heap memory allocation failure.
-    * 
-    * OOM_FUNCENTRY macro takes test case function name as a parameter and uses
-    * that as a test case name, TBool which specifies is method supposed to be
-    * run using OOM conditions, TInt value for first heap memory allocation 
-    * failure and TInt value for last heap memory allocation failure. 
-    */ 
-
-    static TCaseInfoInternal const KCases[] =
-        {
-        // To add new test cases, add new items to this array
-        
-        // NOTE: When compiled to GCCE, there must be Classname::
-        // declaration in front of the method name, e.g. 
-        // C3dringingtoneinterface_tests::PrintTest. Otherwise the compiler
-        // gives errors.
-        
-        ENTRY( "3DRinging CreateAndDelete", C3dringingtoneinterface_tests::CreateAndDelete ),
-        ENTRY( "3DRinging PlayAndStop", C3dringingtoneinterface_tests::PlayAndStop ),
-        // Example how to use OOM functionality
-        //OOM_ENTRY( "Loop test with OOM", C3dringingtoneinterface_tests::LoopTest, ETrue, 2, 3),
-        //OOM_FUNCENTRY( C3dringingtoneinterface_tests::PrintTest, ETrue, 1, 3 ),
-        };
-
-    // Verify that case number is valid
-    if( (TUint) aCaseNumber >= sizeof( KCases ) / 
-                               sizeof( TCaseInfoInternal ) )
-        {
-        // Invalid case, construct empty object
-        TCaseInfo null( (const TText*) L"" );
-        null.iMethod = NULL;
-        null.iIsOOMTest = EFalse;
-        null.iFirstMemoryAllocation = 0;
-        null.iLastMemoryAllocation = 0;
-        return null;
-        } 
-
-    // Construct TCaseInfo object and return it
-    TCaseInfo tmp ( KCases[ aCaseNumber ].iCaseName );
-    tmp.iMethod = KCases[ aCaseNumber ].iMethod;
-    tmp.iIsOOMTest = KCases[ aCaseNumber ].iIsOOMTest;
-    tmp.iFirstMemoryAllocation = KCases[ aCaseNumber ].iFirstMemoryAllocation;
-    tmp.iLastMemoryAllocation = KCases[ aCaseNumber ].iLastMemoryAllocation;
-    return tmp;
-
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::PrintTest
-// Simple printing to UI test.
-// -----------------------------------------------------------------------------
-//
-TInt C3dringingtoneinterface_tests::PrintTest( 
-    TTestResult& aResult )
-    {
-     /* Simple print test */
-    _LIT( KPrintTest, "PrintTest" );
-    _LIT( KEnter, "Enter" );
-    _LIT( KOnGoing, "On-going" );
-    _LIT( KExit, "Exit" );
-
-    TestModuleIf().Printf( 0, KPrintTest, KEnter );
-           
-    TestModuleIf().Printf( 1, KPrintTest, KOnGoing );
-    
-    TestModuleIf().Printf( 0, KPrintTest, KExit );
-
-    // Test case passed
-
-    // Sets test case result and description(Maximum size is KStifMaxResultDes)
-    _LIT( KDescription, "PrintTest passed" );
-    aResult.SetResult( KErrNone, KDescription );
-
-    // Case was executed
-    return KErrNone;
-
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::LoopTest
-// Another printing to UI test.
-// -----------------------------------------------------------------------------
-//
-TInt C3dringingtoneinterface_tests::LoopTest( TTestResult& aResult )
-    {
-
-    /* Simple print and wait loop */
-    _LIT( KState, "State" );
-    _LIT( KLooping, "Looping" );
-
-    TestModuleIf().Printf( 0, KState, KLooping );
-
-    _LIT( KRunning, "Running" );
-    _LIT( KLoop, "%d" );
-    for( TInt i=0; i<10; i++)
-        {
-        TestModuleIf().Printf( 1, KRunning, KLoop, i);
-        User::After( 1000000 );
-        }
-
-    _LIT( KFinished, "Finished" );
-    TestModuleIf().Printf( 0, KState, KFinished );
-
-    // Test case passed
-
-    // Sets test case result and description(Maximum size is KStifMaxResultDes)
-    _LIT( KDescription, "LoopTest passed" );
-    aResult.SetResult( KErrNone, KDescription );
-
-    // Case was executed
-    return KErrNone;
-
-    }
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::CreateAndDelete
-// Another printing to UI test.
-// -----------------------------------------------------------------------------
-//
-TInt C3dringingtoneinterface_tests::CreateAndDelete( TTestResult& aResult )
-    {
-    __UHEAP_MARK;
-    
-    CActiveScheduler* scheduler = new( ELeave )CActiveScheduler();
-    CActiveScheduler::Install( scheduler );
-    CleanupStack::PushL( scheduler );
-    
-    C3DRingingToneInterface* plugin=NULL;
-        
-    TRAPD( err,plugin = C3DRingingToneInterface::NewL( KNullUid ) );
-        
-    delete plugin;
-    
-    CleanupStack::PopAndDestroy( scheduler );
-
- 
-    REComSession::FinalClose();
-    __UHEAP_MARKEND;
-    
-    // Sets test case result and description(Maximum size is KStifMaxResultDes)
-    _LIT( KDescription, "CreateAndDelete passed" );
-    aResult.SetResult( KErrNone, KDescription );
-
-    // Case was executed
-    return KErrNone;
-
-    }
-    
-
-// -----------------------------------------------------------------------------
-// C3dringingtoneinterface_tests::PlayAndStop
-// Another printing to UI test.
-// -----------------------------------------------------------------------------
-//
-TInt C3dringingtoneinterface_tests::PlayAndStop( TTestResult& aResult )
-    {
-    __UHEAP_MARK;
-    
-    CActiveScheduler* scheduler = new( ELeave )CActiveScheduler();
-    CActiveScheduler::Install( scheduler );
-    CleanupStack::PushL( scheduler );
- 
-    C3DRingingToneInterface* plugin=NULL;
-    
-        
-    TRAPD( err,plugin = C3DRingingToneInterface::NewL( KNullUid ) );
-    
-    if ( !err && plugin )
-        {
-        plugin->PlayL();
-        plugin->Stop();
-        }
-  
-    delete plugin;
-    
-    CleanupStack::PopAndDestroy( scheduler );
-
-    REComSession::FinalClose();
-    __UHEAP_MARKEND;
-    
-    // Sets test case result and description(Maximum size is KStifMaxResultDes)
-    _LIT( KDescription, "PlayAndStop passed" );
-    aResult.SetResult( KErrNone, KDescription );
-
-    // Case was executed
-    return KErrNone;
-
-    }    
-  
-//  End of File
--- a/phoneapp/phoneui/tsrc/public/basic/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:  Build file for 3dringingtoneinterface_tests.
-*
-*/
-
-
-
-PRJ_PLATFORMS
-// specify the platforms your component needs to be built for here
-// defaults to WINS MARM so you can ignore this if you just build these
-DEFAULT
-
-PRJ_TESTEXPORTS
-// NOTE: If using ARS requirements all export operations should be done under this.
-// 'abld test export'
-
-PRJ_EXPORTS
-// Specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in /epoc32/include
-// Example: 
-/*
-/agnmodel/inc/AGMCOMON.H
-*/
-
-PRJ_TESTMMPFILES
-// NOTE: If using ARS requirements .mmp file operation should be done under this.
-// 'abld test build'
-
-PRJ_MMPFILES
-// Specify the .mmp files required for building the important component
-// releasables.
-//
-// Specify "tidy" if the component you need to build doesn't need to be
-// released. Specify "ignore" if the MMP file exists but should be
-// ignored.
-// Example:
-/*
-/agnmodel/group/agnmodel.mmp
-#if defined(MARM)
-/agnmodel/group/agsvexe.mmp
-#endif
-*/
-../3dringingtoneinterface_tests/group/3dringingtoneinterface_tests.mmp
-
-//  End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qgn_indi_button_swap.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,11 @@
+<?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 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" y="0px">
+<g>
+<rect fill="none" height="60" width="60"/>
+<polygon fill="#FFFFFF" points="48.238,32.606 48.238,21.683 44.691,25.234 39.162,19.706 35.476,23.391 41.005,28.92    37.318,32.604  "/>
+<polygon fill="#FFFFFF" points="19.57,22.312 19.57,33.236 23.118,29.685 28.646,35.212 32.333,31.527 26.804,25.998 30.49,22.313     "/>
+<path d="M32.988,9.917c-0.006-0.012-0.016-0.029-0.024-0.041l-0.008,0.006c-0.037-0.04-3.326-3.954-9.407-3.235   c-0.111,0.014-5.901,4.255-10.232,8.584c-6.157,6.158-9.167,10.641-9.17,10.643c-1.195,5.927,3.065,9.674,3.105,9.713   c0,0,1.178,0.982,2.302-0.127l4.418-5.89c0.216-0.267,0.879-1.169,0.046-2.18c-0.04-0.048-1.295-1.36-2.232-3.394l9.583-9.583   c2.034,0.939,3.23,2.115,3.246,2.126c0.046,0.048,1.05,1.144,2.328,0.062l5.889-4.42C33.303,11.745,33.739,11.027,32.988,9.917z" fill="#FFFFFF"/>
+<path d="M55.76,41.392c0,0,0.208-2.28-2.392-2.69l-8.405,1.095c-2.304,0.198-2.461,2.254-2.461,2.254   s-0.163,1.431-0.685,3.076l-10.598,0.07c-0.522-1.647-0.546-2.256-0.546-2.256c-0.003-0.013-0.064-2.503-2.458-3.009l-7.932-1.23   c-1.369,0-2.043,0.743-2.6,1.3c-0.938,1.878-1.96,7.034,4.182,12.197c11.074,1.996,25.51,1.14,29.26-0.104   C51.126,52.094,56.591,48.186,55.76,41.392z M50.007,49.714c-10.504,2.051-23.6,0.76-26.814,0.116   c-0.61-0.59-4.187-3.562-3.5-8.149c0.165-0.159,0.341-0.309,0.487-0.354l7.631,1.184c0,0,0,0-0.003,0   c-0.011,0,0.194,0.072,0.264,0.581c0.171,1.262,1.241,4.727,1.241,4.727l14.414-0.094c0,0,1.17-3.695,1.364-5.378l7.745-0.965   c0,0,0.479-0.028,0.489,0.569C53.4,46.651,50.497,49.312,50.007,49.714z" fill="#FFFFFF"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_large_comp_message.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,11 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" height="60" width="60"/>
+<g>
+<polygon fill="#666666" points="38.165,38.746 32.015,40.565 33.922,34.504 51.582,16.844 55.824,21.086   "/>
+<path d="M42,47.675H13.174c-3.033,0-5.501-2.47-5.501-5.503V19.692c0-3.033,2.468-5.501,5.501-5.501H42    c2.604,0,4.87,1.855,5.388,4.409l0.056,0.263L34.964,31.138H20.029l-9.354-9.158v20.194c0,1.379,1.12,2.499,2.498,2.499H42    c1.381,0,2.501-1.12,2.501-2.499v-7.643l3-3v10.641C47.501,45.205,45.034,47.675,42,47.675L42,47.675z M21.35,28.136h12.294    l10.33-9.956c-0.473-0.615-1.2-0.983-1.974-0.983H13.174c-0.829,0-1.585,0.407-2.048,1.084L21.35,28.136L21.35,28.136z" fill="#666666"/>
+</g>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_large_tb_contacts.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+	 x="0px" y="0px" width="60px" height="60px" viewBox="0 0 60 60" xml:space="preserve">
+<g>
+	<rect fill="none" width="60" height="60"/>
+	<path fill="#666666" d="M45.047,10.296h-29c-2.75,0-5,2.25-5,5v5.702h5.676v3h-5.676v5.798h5.676v3h-5.676v5.798h5.676v3h-5.676
+		v6.702c0,2.75,2.25,5,5,5h29c2.75,0,5-2.25,5-5v-33C50.047,12.546,47.797,10.296,45.047,10.296z M41.804,25.414
+		c-0.059,0.947-0.776,1.983-2.33,3.355c-1.459,1.284-2.816,2.008-3.646,1.931c-0.219-0.066-0.656-0.258-1.177-0.91
+		c-0.352-0.448-0.599-1.104-0.731-1.953l-0.068-0.403l-0.41,0.002c-2.037,0.01-5.48,3.454-5.499,5.502l-0.003,0.41l0.405,0.064
+		c0.85,0.136,1.485,0.412,1.943,0.734c0.976,0.683,0.917,1.308,0.917,1.308c0,1.237-1.479,3.006-1.934,3.518
+		c-1.375,1.554-2.402,2.273-3.34,2.332c0,0-0.506,0.045-1.388-0.448c-0.977-0.543-1.526-1.315-1.921-1.904
+		c-0.383-0.577-0.847-1.771-0.847-3.404c0-2.526,1.015-6.053,4.624-9.666c5.945-5.944,11.697-4.81,13.119-3.722
+		c0.662,0.506,1.114,0.941,1.847,1.868C41.938,24.753,41.805,25.414,41.804,25.414z"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_large_tb_dialler.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,8 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" height="60" width="60"/>
+<path d="M39.189,11.974c0-0.55,0.449-1,1-1h8.004c0.551,0,1,0.45,1,1v4.437c0,0.55-0.449,1-1,1h-8.004   c-0.551,0-1-0.45-1-1V11.974z M39.189,37.485c0,0.55,0.449,1,1,1h8.004c0.551,0,1-0.45,1-1v-4.438c0-0.55-0.449-1-1-1h-8.004   c-0.551,0-1,0.45-1,1V37.485z M39.184,26.949c0,0.55,0.451,1,1,1h8.01c0.551,0,1-0.45,1-1V22.51c0-0.55-0.449-1-1-1h-8.01   c-0.549,0-1,0.45-1,1V26.949z M24.965,16.41c0,0.55,0.449,1,1,1h7.992c0.551,0,1-0.45,1-1v-4.437c0-0.55-0.449-1-1-1h-7.992   c-0.551,0-1,0.45-1,1V16.41z M24.965,37.485c0,0.55,0.449,1,1,1h7.992c0.551,0,1-0.45,1-1v-4.438c0-0.55-0.449-1-1-1h-7.992   c-0.551,0-1,0.45-1,1V37.485z M24.965,48.026c0,0.55,0.449,1,1,1h7.992c0.551,0,1-0.45,1-1v-4.444c0-0.55-0.449-1-1-1h-7.992   c-0.551,0-1,0.45-1,1V48.026z M24.961,26.949c0,0.55,0.451,1,1,1h7.996c0.551,0,1-0.45,1-1V22.51c0-0.55-0.449-1-1-1h-7.996   c-0.549,0-1,0.45-1,1V26.949z M10.816,16.41c0,0.55,0.449,1,1,1h7.996c0.551,0,1-0.45,1-1v-4.437c0-0.55-0.449-1-1-1h-7.996   c-0.551,0-1,0.45-1,1V16.41z M10.816,37.485c0,0.55,0.449,1,1,1h7.996c0.551,0,1-0.45,1-1v-4.438c0-0.55-0.449-1-1-1h-7.996   c-0.551,0-1,0.45-1,1V37.485z M10.805,26.949c0,0.55,0.451,1,1,1h8.008c0.551,0,1-0.45,1-1V22.51c0-0.55-0.449-1-1-1h-8.008   c-0.549,0-1,0.45-1,1V26.949z" fill="#666666"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_large_tb_join.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,15 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<g>
+<path d="M33.305,22.519c0,2.729,1.895,5.014,4.434,5.633c-0.297-0.846-0.468-1.75-0.477-2.691    c-0.979-0.617-1.635-1.701-1.635-2.941c0-1.918,1.563-3.48,3.482-3.48c0.33,0,0.646,0.063,0.952,0.148    c0.678-0.605,1.452-1.107,2.305-1.465c-0.93-0.633-2.051-1.004-3.257-1.004C35.908,16.716,33.305,19.319,33.305,22.519z     M38.518,31.806c0.27-0.33,0.545-0.639,0.838-0.896c-0.385-0.436-0.721-0.914-1.012-1.426h-2.809c-1.654,0-3.295,3.881-4.42,7.145    c-1.125,3.26-1.709,5.627-1.709,5.627h2.643c0-0.408,0.543-2.563,1.438-5.201c0.971-2.604,1.691-4.162,2.493-5.246h2.538V31.806z     M32.049,28.931c0.269-0.33,0.543-0.639,0.838-0.896c-0.387-0.436-0.723-0.914-1.012-1.426h-2.81c-1.657,0-3.294,3.881-4.42,7.143    s-1.708,5.629-1.708,5.629h2.64c0-0.408,0.543-2.563,1.437-5.201c0.971-2.602,1.69-4.164,2.492-5.248H32.049L32.049,28.931z     M31.268,25.276c-0.297-0.844-0.469-1.75-0.475-2.691c-0.979-0.619-1.637-1.701-1.637-2.939c0-1.92,1.563-3.482,3.479-3.482    c0.334,0,0.648,0.063,0.953,0.148c0.683-0.605,1.455-1.105,2.309-1.465c-0.932-0.633-2.055-1.006-3.262-1.006    c-3.199,0-5.801,2.604-5.801,5.803C26.836,22.37,28.728,24.657,31.268,25.276z" fill="#666666"/>
+<path d="M39.778,25.396c0,3.199,2.601,5.803,5.799,5.803c3.201,0,5.808-2.604,5.808-5.803    s-2.604-5.803-5.808-5.803C42.377,19.593,39.778,22.196,39.778,25.396z M45.576,21.913c1.924,0,3.486,1.563,3.486,3.482    s-1.563,3.48-3.486,3.48c-1.918,0-3.48-1.561-3.48-3.48S43.658,21.913,45.576,21.913z M53.481,39.503    c-1.125-3.266-2.765-7.143-4.418-7.143h-3.438h-3.617c-1.658,0-3.295,3.877-4.422,7.143c-1.125,3.26-1.707,5.629-1.707,5.629h2.64    c0-0.41,0.545-2.564,1.438-5.201c0.971-2.605,1.692-4.164,2.491-5.248h3.179h2.993c0.804,1.084,1.523,2.646,2.494,5.248    c0.894,2.639,1.438,4.791,1.438,5.201h2.642C55.192,45.132,54.608,42.763,53.481,39.503z" fill="#666666"/>
+<g>
+<path d="M18.227,33.763l-1.555-1.557c-0.979,1.18-2.072,2.256-3.264,3.219l1.553,1.553     c-0.91,0.732-1.873,1.404-2.892,1.994l-0.041,0.039h8.403v-8.395C19.787,31.729,19.045,32.776,18.227,33.763z" fill="#666666"/>
+<path d="M19.752,22.079c-0.787-0.605-6.068-2.355-12.262,3.779l-0.076,0.074     C1.28,32.126,3.032,37.409,3.635,38.194c0.438,0.574,0.933,1.221,1.771,1.785c0.207,0.127,0.6,0.285,1.021,0.275     s1.387-0.637,2.596-1.959c1.211-1.322,1.721-2.387,1.834-2.887l0.064-0.285l-0.189-0.223c-0.119-0.145-0.262-0.277-0.43-0.41     c-0.715-0.57-2.205-0.658-2.223-0.658l-0.229-0.014L7.74,33.616c-0.046-0.086-1.137-2.184,1.998-5.438     c3.254-3.135,5.35-2.043,5.436-1.996l0.203,0.111l0.014,0.229c0,0.018,0.088,1.508,0.658,2.223c0.131,0.17,0.268,0.309,0.41,0.43     l0.223,0.189l0.283-0.064c0.5-0.113,1.567-0.623,2.89-1.834c1.321-1.211,1.948-2.174,1.959-2.596     c0.009-0.422-0.15-0.814-0.277-1.021C20.971,23.009,20.325,22.515,19.752,22.079z" fill="#666666"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_large_tb_loudsp_mute.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,11 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<g>
+<path d="M30.896,14.575h-4.929c-0.291,0-0.618,0.109-0.91,0.277l6.839,10.611v-9.889    C31.896,15.024,31.445,14.575,30.896,14.575z M36.33,20.429c-0.69,0-1.25,0.561-1.25,1.25v8.729l2.498,3.877V21.679    C37.578,20.989,37.019,20.429,36.33,20.429z M19.757,22.667H14.83c-0.55,0-1,0.449-1,1v13.994c0,0.551,0.45,1,1,1h4.927    l4.621,6.342c0.324,0.445,1.039,0.809,1.589,0.809h4.929c0.55,0,1-0.449,1-1v-7.35L21.058,20.646L19.757,22.667z" fill="#666666"/>
+<polygon fill="#666666" points="15.071,7.665 17.171,6.31 46.171,51.308 44.071,52.663 15.071,7.665   "/>
+</g>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_large_tb_loudsp_unmute.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,17 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<g>
+<path d="M25.348,14.381c-0.55,0-1.244,0.378-1.541,0.841l-4.669,7.251h-4.927c-0.55,0-1,0.45-1,1v13.995     c0,0.55,0.45,1,1,1h4.927l4.621,6.342c0.324,0.445,1.039,0.809,1.589,0.809h4.929c0.55,0,1-0.45,1-1V15.381c0-0.55-0.45-1-1-1     H25.348z" fill="#666666"/>
+</g>
+</g>
+<g>
+<path d="M34.462,37.372V21.485c0-0.691,0.559-1.251,1.248-1.251l0,0c0.689,0,1.252,0.56,1.252,1.251l0,0v15.887    c0,0.689-0.563,1.249-1.252,1.249l0,0C35.021,38.621,34.462,38.062,34.462,37.372L34.462,37.372z" fill="#666666"/>
+<path d="M39.896,40.298v-21.74c0-0.689,0.561-1.249,1.25-1.249l0,0c0.689,0,1.249,0.56,1.249,1.249l0,0v21.74    c0,0.689-0.56,1.252-1.249,1.252l0,0C40.456,41.55,39.896,40.987,39.896,40.298L39.896,40.298z" fill="#666666"/>
+<path d="M45.538,43.641V15.215c0-0.69,0.56-1.25,1.252-1.25l0,0c0.689,0,1.25,0.56,1.25,1.25l0,0v28.426    c0,0.69-0.561,1.252-1.25,1.252l0,0C46.098,44.893,45.538,44.331,45.538,43.641L45.538,43.641z" fill="#666666"/>
+</g>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_large_tb_mute.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,9 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<path d="M38.377,23.988v12.305l2.066,3.207c0.273-0.703,0.43-1.464,0.431-2.263V23.988H38.377z M25.377,40.989   c-2.056-0.005-3.747-1.698-3.752-3.752V23.988h-2.497h-0.002v13.249c0.005,3.446,2.805,6.247,6.251,6.249h1.75v10.558h5.75V43.486   h1.751c0.214,0,0.424-0.011,0.632-0.032l-1.588-2.465H25.377z M29.33,38.531h1.343c0.45,0,0.878-0.078,1.292-0.189L24.33,26.494   v7.037C24.33,36.293,26.568,38.531,29.33,38.531z M30.673,10.604H29.33c-2.434,0-4.456,1.739-4.903,4.042l11.246,17.451V15.604   C35.673,12.843,33.435,10.604,30.673,10.604z" fill="#666666"/>
+<polygon fill="#666666" points="14.45,7.471 16.551,6.115 45.55,51.114 43.45,52.47 14.45,7.471  "/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_large_tb_silence.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,14 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<g>
+<g>
+<path d="M20.253,15.567l2.602,2.604v-5.16l4.037,2.156v-4.459l-6.639-3.98V15.567L20.253,15.567z M16.163,35.304     c0.184,0.023,0.367,0.035,0.547,0.035l0,0c1.805-0.016,3.715-1.086,4.656-2.666l0,0c0.271-0.465,0.416-0.936,0.457-1.385     l0.025-0.047v-0.133l0,0c0-0.139,0-3.648,0-4.742v-0.211l-2.6-2.598v5.092l0,0c-0.078-0.004-0.156-0.006-0.234-0.004l0,0     c-1.801,0.012-3.723,1.082-4.662,2.674l0,0c-0.309,0.537-0.471,1.09-0.471,1.619l0,0C13.858,34.155,14.8,35.144,16.163,35.304     L16.163,35.304z" fill="#666666"/>
+</g>
+<polygon fill="#666666" points="9.358,11.591 11.495,9.454 31.698,29.655 29.562,31.794 9.358,11.591   "/>
+</g>
+<path d="M54.592,25.338c-0.059-0.357-0.295-1.59-0.837-2.398c-1.101-1.652-2.377-2.627-3.226-3.271   c-2.435-1.863-11.519-3.749-21.144,4.851l1.771,1.771c5.564-4.919,10.563-5.707,13.16-5.707c2.418,0,4.132,0.64,4.695,1.071   c0.758,0.576,1.793,1.364,2.66,2.67c0.153,0.229,0.334,0.788,0.434,1.311c-0.135,1.033-1.224,2.454-3.244,4.236   c-2.063,1.826-3.787,2.688-4.567,2.744c-0.112-0.073-0.452-0.311-0.878-0.847c-0.268-0.339-0.635-1.03-0.859-2.412l-0.344-2.106   l-2.133,0.007c-1.532,0.003-4.006,0.636-7.09,3.622c-3.007,3.124-3.645,5.593-3.652,7.123l-0.013,2.135l2.109,0.345   c1.443,0.236,2.127,0.645,2.407,0.866c0.5,0.396,0.742,0.72,0.84,0.878c-0.103,0.897-1.038,2.643-2.734,4.558   c-1.788,2.03-3.201,3.121-4.213,3.254c-0.513-0.092-1.09-0.277-1.321-0.434c-1.283-0.852-2.051-1.854-2.727-2.736   c-0.817-1.088-2.911-7.435,2.745-15.371l-1.793-1.794c-6.855,9.306-4.186,17.05-2.962,18.655c0.729,0.951,1.704,2.232,3.351,3.328   c0.813,0.541,2.042,0.777,2.4,0.836l0.181,0.027l0.181-0.006c1.765-0.115,3.627-1.375,6.031-4.102   c1.035-1.168,3.37-4.066,3.37-6.299c0.003-0.092-0.002-0.186-0.014-0.281l-0.019-0.18l-0.058-0.17   c-0.075-0.242-0.439-1.119-1.703-2.119c-1.062-0.846-2.514-1.207-3.56-1.379c0.006-0.939,0.431-2.775,2.927-5.352l-0.035,0.012   c2.576-2.494,4.418-2.914,5.358-2.918c0.171,1.053,0.528,2.508,1.371,3.568c1.007,1.264,1.879,1.627,2.122,1.705l0.172,0.061   l0.181,0.016c2.264,0.213,5.355-2.275,6.584-3.359c2.717-2.402,3.979-4.268,4.093-6.049l0.012-0.184L54.592,25.338z" fill="#666666"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_large_tb_unmute.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,8 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<path d="M40.864,23.988h-2.497v13.249c-0.005,2.054-1.696,3.747-3.752,3.752h-9.238   c-2.056-0.005-3.747-1.698-3.752-3.752V23.988h-2.497h-0.002v13.249c0.005,3.446,2.805,6.247,6.251,6.249h1.738v10.558h5.756   V43.486c0,0,2.241-0.017,2.389-0.032l-0.001-0.001c3.145-0.325,5.603-2.987,5.607-6.216V23.988H40.864z M29.42,38.579h1.283   c2.75,0,5-2.25,5-5V15.544c0-2.75-2.25-5-5-5H29.42c-2.75,0-5,2.25-5,5v18.035C24.42,36.329,26.67,38.579,29.42,38.579z" fill="#666666"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_mono_answer_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M28.578,7.523l-7.359,4.248c-0.364,0.152-0.771,0.057-0.953-0.256l-1.277-2.142c-0.002,0.002-0.006,0.007-0.007,0.008
+	c-0.001-0.001,0-0.003-0.001-0.004c-1.119,0.582-3.617,2.223-5.187,3.79c-1.632,1.635-3.149,3.394-4.417,5.576
+	c0,0-0.006,0.008-0.008,0.01c0.009,0.002,0.018,0.002,0.027,0.003l2.725,1.743c0.344,0.222,0.412,0.706,0.158,1.078L7.486,28.62
+	c-0.254,0.37-0.736,0.491-1.081,0.268c0,0-0.298-0.194-1.021-0.83c-0.001,0-0.002,0-0.003,0c-0.394-0.347-0.411-0.476-0.785-0.925
+	c-0.319-0.385-0.573-0.765-0.783-1.114c-0.001-0.001-0.004,0-0.005-0.002c-0.043-0.071-0.081-0.139-0.119-0.207
+	c-0.005-0.009-0.01-0.018-0.015-0.024c-0.391-0.698-0.56-1.211-0.56-1.211c-0.178-0.688-0.252-3.057,0.563-5.205
+	c0.52-1.364,3.24-5.672,6.42-8.854c3.181-3.182,8.125-6.349,10.3-7.005c2.176-0.656,3.903-0.556,4.417-0.374
+	c0,0,1.326,0.434,2.53,1.536c0.401,0.367,0.439,0.382,0.751,0.765c0.002,0.003,0,0.006,0.002,0.008
+	c-0.002-0.002-0.002-0.004-0.004-0.005c0.615,0.757,0.818,1.062,0.818,1.062C29.111,6.844,28.961,7.304,28.578,7.523z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_mono_drop_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M10.212,8.109c0.055,0.038,0.103,0.08,0.159,0.117c0.002,0.085,0.007,0.529,0.002,0.614
+	c-0.004,0.054-0.023,0.11-0.042,0.167c0.089,1.068,0.15,3.104-0.483,4.348c-0.273,0.539-0.615,1.011-1.033,1.424
+	C9.12,15.073,9.671,15.486,10.438,16h6.139c-0.073-0.132-0.162-0.251-0.228-0.389c-0.603-1.273-0.687-3.219-0.65-4.633
+	c-1.034-0.719-2.033-1.543-2.07-2.138c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552
+	c0.605-1.188,0.281-3.985,0.281-3.985C15.293,1.45,13.646,0,12.395,0H11.6c-1.254,0-2.902,1.45-2.902,2.689
+	c0,0-0.172,1.68,0.017,2.991C9.477,6.346,10.033,7.214,10.212,8.109z"/>
+<path d="M19.987,16.797c0.003,0.112,0.009,0.695,0.001,0.807c-0.005,0.076-0.032,0.158-0.061,0.24
+	c0.001-0.001,0.002-0.002,0.002-0.003h4.393c-0.027-0.081-0.055-0.162-0.06-0.237c-0.007-0.118-0.001-0.687,0.001-0.807
+	c0.814-0.549,1.385-1.194,1.814-2.037c0.795-1.559,0.369-5.229,0.369-5.229c0-1.626-2.16-3.53-3.805-3.53H21.6
+	c-1.645,0-3.81,1.904-3.81,3.53c0,0-0.376,3.652,0.367,5.225C18.564,15.615,19.153,16.25,19.987,16.797z"/>
+<path d="M24.677,18.443l-2.552,5.771l-2.552-5.771c-0.921,1.158-3.178,2.559-4.44,3.355l1.008,1.008l-1.891,1.891v0.461L16.092,27
+	H30v-4.594C29.778,22.114,25.947,20.043,24.677,18.443z"/>
+<path d="M7.129,14.841c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552c0.605-1.188,0.281-3.985,0.281-3.985
+	C8.793,7.45,7.146,6,5.895,6H5.1C3.846,6,2.197,7.45,2.197,8.689c0,0-0.287,2.783,0.279,3.981c0.311,0.654,0.76,1.139,1.395,1.556
+	c0.002,0.085,0.007,0.529,0.002,0.614C3.811,15.82,1.139,17.424,0,18.147V22h2.807l4.143-4.143l2.121,2.121l1.867-1.867
+	C9.769,17.37,7.189,15.804,7.129,14.841z"/>
+<polygon points="13.313,22.807 11.191,20.686 9.07,22.807 6.949,20.686 4.828,22.807 6.949,24.928 4.828,27.049 6.949,29.171 
+	9.07,27.05 11.191,29.171 13.313,27.049 11.191,24.928 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_mono_end_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M28.908,18.236l-7.671-2.057c-0.341-0.139-0.547-0.472-0.461-0.798l0.571-2.261c-0.002,0.001-0.008,0.001-0.01,0.001
+	c0.001-0.001,0.002-0.002,0.002-0.003c-1.125-0.355-3.859-0.922-5.933-0.923c-2.159,0.001-4.325,0.161-6.604,0.766
+	c0,0-0.009,0.002-0.012,0.002c0.006,0.007,0.012,0.013,0.017,0.02l0.648,2.953c0.081,0.374-0.194,0.738-0.608,0.816l-7.822,1.486
+	c-0.412,0.076-0.811-0.162-0.891-0.537c0,0-0.068-0.325-0.126-1.224c-0.001,0-0.001,0-0.001-0.002
+	c-0.031-0.489,0.042-0.586,0.092-1.13c0.043-0.466,0.126-0.885,0.219-1.254c0-0.001-0.003-0.003-0.002-0.005
+	c0.019-0.074,0.039-0.145,0.059-0.216c0.002-0.009,0.005-0.018,0.006-0.025c0.203-0.72,0.43-1.17,0.43-1.17
+	c0.338-0.572,1.855-2.187,3.813-3.068C5.867,9.05,10.514,8.001,14.718,8c4.205-0.001,9.565,1.174,11.438,2.178
+	s2.946,2.212,3.165,2.671c0,0,0.59,1.164,0.658,2.688c0.023,0.509,0.037,0.543-0.01,1.002c0,0.003-0.003,0.004-0.003,0.007
+	c0-0.003,0-0.004,0-0.007c-0.094,0.907-0.161,1.243-0.161,1.243C29.71,18.14,29.308,18.344,28.908,18.236z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_mono_hold_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M28.908,10.028l-7.671,2.057c-0.341,0.139-0.547,0.472-0.461,0.798l0.571,2.261c-0.002-0.001-0.008-0.001-0.01-0.001
+	c0.001,0.001,0.002,0.002,0.002,0.003c-1.125,0.355-3.859,0.922-5.933,0.923c-2.159-0.001-4.325-0.161-6.604-0.766
+	c0,0-0.009-0.002-0.012-0.002c0.006-0.007,0.012-0.013,0.017-0.02l0.648-2.953c0.081-0.374-0.194-0.738-0.608-0.816l-7.822-1.486
+	c-0.412-0.076-0.811,0.162-0.891,0.537c0,0-0.068,0.325-0.126,1.224c-0.001,0-0.001,0-0.001,0.002
+	c-0.031,0.489,0.042,0.586,0.092,1.13c0.043,0.466,0.126,0.885,0.219,1.254c0,0.001-0.003,0.003-0.002,0.005
+	c0.019,0.074,0.039,0.145,0.059,0.216c0.002,0.009,0.005,0.018,0.006,0.025c0.203,0.72,0.43,1.17,0.43,1.17
+	c0.338,0.572,1.855,2.187,3.813,3.068c1.244,0.559,5.891,1.607,10.095,1.608c4.205,0.001,9.565-1.174,11.438-2.178
+	s2.946-2.212,3.165-2.671c0,0,0.59-1.164,0.658-2.688c0.023-0.509,0.037-0.543-0.01-1.002c0-0.003-0.003-0.004-0.003-0.007
+	c0,0.003,0,0.004,0,0.007c-0.094-0.907-0.161-1.243-0.161-1.243C29.71,10.125,29.308,9.921,28.908,10.028z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_mono_join_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M10.213,8.109c0.054,0.038,0.102,0.08,0.158,0.117c0.002,0.085,0.007,0.529,0.002,0.614
+	c-0.004,0.053-0.023,0.109-0.042,0.166c0.089,1.067,0.151,3.104-0.483,4.349c-0.273,0.539-0.615,1.011-1.033,1.424
+	c0.305,0.294,0.856,0.707,1.623,1.221h6.824c-0.354-0.427-0.67-0.879-0.912-1.389c-0.469-0.993-0.623-2.394-0.651-3.634
+	c-1.034-0.719-2.032-1.543-2.069-2.137c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552
+	c0.605-1.188,0.281-3.985,0.281-3.985C15.293,1.45,13.646,0,12.395,0H11.6c-1.254,0-2.902,1.45-2.902,2.689
+	c0,0-0.172,1.68,0.018,2.992C9.477,6.346,10.033,7.214,10.213,8.109z"/>
+<path d="M19.987,15.797c0.003,0.112,0.009,0.695,0.001,0.807c-0.005,0.076-0.032,0.158-0.061,0.24c0-0.001,0.002-0.002,0.002-0.003
+	h4.393c-0.027-0.081-0.055-0.162-0.06-0.237c-0.007-0.118-0.001-0.687,0.001-0.807c0.814-0.549,1.385-1.194,1.814-2.037
+	c0.795-1.559,0.369-5.229,0.369-5.229c0-1.626-2.16-3.53-3.805-3.53H21.6c-1.645,0-3.81,1.904-3.81,3.53
+	c0,0-0.376,3.652,0.367,5.225C18.564,14.615,19.153,15.25,19.987,15.797z"/>
+<path d="M24.677,17.443l-2.552,5.771l-2.551-5.771c-0.549,0.688-1.57,1.464-2.574,2.146V26h13v-4.594
+	C29.778,21.114,25.947,19.043,24.677,17.443z"/>
+<path d="M7.129,14.841c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552c0.605-1.188,0.281-3.985,0.281-3.985
+	C8.793,7.45,7.146,6,5.895,6H5.1C3.846,6,2.197,7.45,2.197,8.689c0,0-0.287,2.783,0.279,3.981c0.311,0.654,0.76,1.139,1.395,1.556
+	c0.002,0.085,0.007,0.529,0.002,0.614C3.811,15.82,1.139,17.425,0,18.148V22h1.454l7.665-5.078
+	C8.115,16.217,7.166,15.42,7.129,14.841z"/>
+<polygon points="11,18.075 2,23.537 11,29 11,26 15,26 15,21 11,21 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_mono_private_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M12.794,12.168c1.569-1.567,4.066-3.208,5.188-3.79c0,0.001,0,0.003,0,0.004c0.002-0.001,0.005-0.006,0.006-0.008
+	l1.278,2.142c0.183,0.313,0.589,0.408,0.952,0.256l7.36-4.248c0.384-0.22,0.532-0.68,0.333-1.022c0,0-0.202-0.305-0.818-1.062
+	c0.002,0.001,0.004,0.003,0.005,0.005c-0.001-0.002-0.001-0.005-0.003-0.008c-0.311-0.383-0.349-0.397-0.75-0.765
+	c-1.205-1.103-2.531-1.536-2.531-1.536c-0.513-0.182-2.24-0.282-4.416,0.374s-7.119,3.823-10.3,7.005
+	c-3.18,3.183-5.9,7.49-6.42,8.854c-0.814,2.148-0.74,4.517-0.563,5.205c0,0,0.169,0.513,0.56,1.211
+	c0.005,0.007,0.01,0.016,0.015,0.024c0.038,0.068,0.076,0.136,0.119,0.207c0.001,0.002,0.004,0.001,0.005,0.002
+	c0.21,0.35,0.464,0.729,0.783,1.114c0.374,0.449,0.392,0.578,0.785,0.925c0.001,0,0.002,0,0.003,0
+	c0.723,0.636,1.021,0.83,1.021,0.83c0.345,0.224,0.827,0.103,1.08-0.268l4.794-7.042c0.254-0.372,0.186-0.856-0.158-1.078
+	l-2.725-1.743c-0.01-0.001-0.019-0.001-0.027-0.003c0.002-0.002,0.008-0.01,0.008-0.01C9.644,15.562,11.162,13.803,12.794,12.168z"
+	/>
+<path d="M22.5,16c-3.59,0-6.5,2.91-6.5,6.5s2.91,6.5,6.5,6.5s6.5-2.91,6.5-6.5S26.09,16,22.5,16z M27,24h-9v-3h9V24z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_mono_reject_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M15.691,11.542c1.257-0.96,2.563-1.786,3.289-2.164c0.001,0.001,0,0.003,0.001,0.004c0.001-0.001,0.005-0.006,0.007-0.008
+	l1.277,2.142c0.183,0.313,0.589,0.408,0.953,0.256l7.359-4.248c0.383-0.22,0.533-0.68,0.334-1.022c0,0-0.203-0.305-0.818-1.062
+	c0.002,0.001,0.002,0.003,0.004,0.005c-0.002-0.002,0-0.005-0.002-0.008c-0.312-0.383-0.35-0.397-0.751-0.765
+	c-1.204-1.103-2.53-1.536-2.53-1.536c-0.514-0.182-2.241-0.282-4.417,0.374c-1.677,0.506-4.996,2.505-7.888,4.851L15.691,11.542z"/>
+<path d="M9.396,18.757c-0.01-0.001-0.019-0.001-0.027-0.003c0.002-0.002,0.008-0.01,0.008-0.01c0.652-1.125,1.375-2.136,2.143-3.077
+	l-3.205-3.205c-2.367,2.794-4.219,5.808-4.637,6.907c-0.814,2.148-0.74,4.517-0.563,5.205c0,0,0.169,0.513,0.56,1.211
+	c0.005,0.007,0.01,0.016,0.015,0.024c0.038,0.068,0.076,0.136,0.119,0.207c0.001,0.002,0.004,0.001,0.005,0.002
+	c0.21,0.35,0.464,0.729,0.783,1.114c0.374,0.449,0.392,0.578,0.785,0.925c0.001,0,0.002,0,0.003,0
+	c0.723,0.636,1.021,0.83,1.021,0.83c0.345,0.224,0.827,0.103,1.08-0.268l4.794-7.042c0.254-0.372,0.186-0.856-0.158-1.078
+	L9.396,18.757z"/>
+<rect x="13.74" y="-3.24" transform="matrix(0.7066 -0.7076 0.7076 0.7066 -6.0774 14.6889)" width="1.867" height="35.826"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/qtg_mono_replace_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M27.578,6.523l-7.36,4.248c-0.363,0.152-0.77,0.057-0.952-0.256l-1.278-2.142c-0.001,0.002-0.004,0.007-0.006,0.008
+	c0-0.001,0-0.003,0-0.004c-1.121,0.582-3.618,2.223-5.188,3.79c-1.632,1.635-3.15,3.394-4.417,5.576c0,0-0.006,0.008-0.008,0.01
+	c0.009,0.002,0.018,0.002,0.027,0.003l2.725,1.743c0.344,0.222,0.412,0.706,0.158,1.078L6.485,27.62
+	c-0.253,0.37-0.735,0.491-1.08,0.268c0,0-0.298-0.194-1.021-0.83c-0.001,0-0.002,0-0.003,0c-0.394-0.347-0.411-0.476-0.785-0.925
+	c-0.319-0.385-0.573-0.765-0.783-1.114c-0.001-0.001-0.004,0-0.005-0.002c-0.043-0.071-0.081-0.139-0.119-0.207
+	c-0.005-0.009-0.01-0.018-0.015-0.024c-0.391-0.698-0.56-1.211-0.56-1.211c-0.178-0.688-0.252-3.057,0.563-5.205
+	c0.52-1.364,3.24-5.672,6.42-8.854c3.181-3.182,8.124-6.349,10.3-7.005s3.903-0.556,4.416-0.374c0,0,1.326,0.434,2.531,1.536
+	c0.401,0.367,0.439,0.382,0.75,0.765c0.002,0.003,0.002,0.006,0.003,0.008c-0.001-0.002-0.003-0.004-0.005-0.005
+	c0.616,0.757,0.818,1.062,0.818,1.062C28.11,5.844,27.962,6.304,27.578,6.523z"/>
+<path d="M24.001,11L18,19h1.963h2v2.522V25H20v-5h-0.037H16v4v1l0,0c0,3,2.775,5,5.5,5s5.5-2,5.5-5v-6h3L24.001,11z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/graphics/resources.qrc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,22 @@
+<RCC>
+    <qresource prefix="/" >   
+        <file>qtg_large_tb_silence.svg</file>
+        <file>qtg_large_tb_loudsp_mute.svg</file>
+        <file>qtg_large_tb_loudsp_unmute.svg</file>
+        <file>qtg_large_tb_dialler.svg</file>
+        <file>qtg_large_tb_mute.svg</file>
+        <file>qtg_large_tb_unmute.svg</file>
+        <file>qtg_large_tb_contacts.svg</file>
+        <file>qtg_large_tb_join.svg</file>        
+        <file>qtg_large_comp_message.svg</file>                
+        <file>qgn_indi_button_swap.svg</file>        
+        <file>qtg_mono_answer_call.svg</file>
+        <file>qtg_mono_reject_call.svg</file>
+        <file>qtg_mono_end_call.svg</file>
+        <file>qtg_mono_hold_call.svg</file>
+        <file>qtg_mono_join_call.svg</file>
+        <file>qtg_mono_private_call.svg</file>
+        <file>qtg_mono_drop_call.svg</file>
+        <file>qtg_mono_replace_call.svg</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/inc/hbphonemainwindow.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Main window for PhoneUI
+*
+*/
+
+
+#ifndef HBPHONEMAINWINDOW_H_
+#define HBPHONEMAINWINDOW_H_
+
+#include <QGraphicsItem>
+#include <hbmainwindow.h>
+
+class PhoneUiHouseHold;
+
+class HbPhoneMainWindow: public HbMainWindow
+    {
+
+public:
+
+    HbPhoneMainWindow(QWidget* parent = 0);
+    ~HbPhoneMainWindow();
+
+
+private: // data
+    PhoneUiHouseHold* mHouseHold;
+    
+
+    };
+
+
+
+#endif /* HBPHONEMAINVIEW_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/inc/phoneuicommandadapter.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,57 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Adapter for UI commands from view to state.
+*
+*/
+
+#ifndef PHONEUICOMMANDADAPTER_H
+#define PHONEUICOMMANDADAPTER_H
+
+#include <QObject>
+
+class MPhoneMenuAndCbaEvents;
+
+class PhoneUiCommandAdapter : public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    /*!
+       Constructor
+     */
+    PhoneUiCommandAdapter (MPhoneMenuAndCbaEvents &commandHandler, QObject *parent = 0);
+    
+    /*!
+       Destructor
+     */
+    virtual ~PhoneUiCommandAdapter ();
+    
+    
+public slots:
+
+    /*!
+        \fn void handleCommand (int command)
+    
+        This method handles UI command by passing it phone state.
+    */
+    void handleCommand (int command);
+    
+private:
+
+    MPhoneMenuAndCbaEvents &m_handler;
+    
+};
+
+#endif // PHONEUICOMMANDADAPTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/inc/phoneuihousehold.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  UI house hold for PhoneUI
+*
+*/
+
+#ifndef PHONEUIHOUSEHOLD_H
+#define PHONEUIHOUSEHOLD_H
+
+
+class PhoneUiHouseHoldPrivate;
+class HbMainWindow;
+
+class PhoneUiHouseHold
+{
+
+public:
+    PhoneUiHouseHold (HbMainWindow &window);
+    ~PhoneUiHouseHold ();
+
+
+private:
+    PhoneUiHouseHoldPrivate* mHouseHoldPrivate;
+
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/inc/phoneuihousehold_p.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  UI house hold private for PhoneUI
+*
+*/
+
+#ifndef PHONEUIHOUSEHOLDPRIVATE_H
+#define PHONEUIHOUSEHOLDPRIVATE_H
+
+#include <QtGui>
+#include <pevirtualengine.h>
+#include "mphonepubsubobserver.h"
+#include "cphonerecoverysystem.h"
+
+class MPEPhoneModel;
+class CPhoneUIController;
+class CPhoneQwertyHandler;
+class HbMainWindow;
+class PhoneUIKeyEventAdapter;
+class PhoneUiCommandAdapter;
+class QtCall;
+class PhoneUIQtViewAdapter;
+
+class PhoneUiHouseHoldPrivate : 
+    private MPhonePubSubObserver
+{
+
+public:
+    
+    PhoneUiHouseHoldPrivate (HbMainWindow &window);
+
+    ~PhoneUiHouseHoldPrivate ();
+    
+    /**
+    * Performs startup signalling. 
+    *
+    * Calls either idle or security signalling.
+    */
+    static TInt DoStartupSignalL( TAny* aAny );
+    
+    /**
+    * Idle signalling.
+    */
+    TInt DoStartupSignalIdleL();
+    
+    /**
+    * Security signalling. 
+    */
+    TInt DoStartupSignalSecurityL();
+  
+  // From MPhonePubSubObserver
+  /**
+  * This function is called when there is property value change.
+  * @param aCategory Category of the property
+  * @param aKey Property key that is changed
+  * @param aValue New property value
+  */
+  void HandlePropertyChangedL( 
+      const TUid& aCategory,
+      const TUint aKey,
+      const TInt aValue );
+
+private:
+    
+   /**
+    * Constructor
+    */
+    void ConstructL();
+    
+private:
+    // Startup states.
+    // EPhoneStartupInitial - Initial state.
+    // EPhoneStartedUp - Phone application is ready.
+    // EPhoneIdleStartedUp - Idle application is ready.
+    enum
+        {
+        EPhoneStartupInitial = 0x00000001,
+        EPhoneStartedUp = 0x00000002,
+        EPhoneIdleStartedUp = 0x00000004
+        };
+
+    
+    // Application (Phone and Idle) startup status.
+    TInt iAppsReady;
+
+    // Recovery id for startup signalling.
+    TRecoveryId iStartupSignalRecoveryId;
+
+    //Boolean flag. ETrue iff we have reached light idle
+    TBool iLightIdleReached;
+        
+    //Indicates whether onscreen dialer is defined
+    TBool iOnScreenDialer;
+    
+    CPhoneQwertyHandler* iQwertyHandler;
+
+    CPhoneUIController* iPhoneUIController;
+    
+    HbMainWindow &m_window;
+
+    PhoneUIKeyEventAdapter* iKeyEventAdapter;
+    
+    PhoneUiCommandAdapter* iCommandAdapter;
+    
+    PhoneUIQtViewAdapter* iViewAdapter;
+    
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/inc/phoneuikeyeventadapter.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Adapter for converting Qt key event types to
+*               Symbian types.
+*
+*/
+
+#ifndef PHONEUIKEYEVENTADAPTER_H
+#define PHONEUIKEYEVENTADAPTER_H
+
+#include <QObject>
+#include "mphonekeyeventhandler.h"
+
+class QKeyEvent;
+
+class PhoneUIKeyEventAdapter : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    /*!
+       Constructor
+     */
+    PhoneUIKeyEventAdapter (MPhoneKeyEventHandler &keyEventHandler, QObject *parent = 0);
+    
+    /*!
+       Destructor
+     */
+    virtual ~PhoneUIKeyEventAdapter ();
+    
+    
+public slots:
+
+    /*!
+        \fn void keyPressed (QKeyEvent *event)
+    
+        This method is called when keyPressEvent signal
+        is emitted from view.
+    */
+    void keyPressed (QKeyEvent *event);
+    
+    void keyReleased (QKeyEvent *event);
+    
+private:
+ 
+    /*!
+        \fn void forwardKeyEvent(TEventCode symbianEventCode,QKeyEvent *event)
+    
+        This method forwards key event for ui control.
+    */
+    void forwardKeyEvent(TEventCode symbianEventCode, QKeyEvent *event);
+    
+    /*!
+        \fn void convertKeyCode(QKeyEvent *event)
+    
+        Returns symbian key code for Qt key event.
+    */
+    int convertKeyCode(QKeyEvent *event);
+    
+private:
+
+    MPhoneKeyEventHandler &m_handler;
+    
+};
+
+#endif // PHONEUIKEYEVENTADAPTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/basiccallhandling.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,164 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/callheadertexts.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,258 @@
+/*
+* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*     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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/callterminationnote.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,36 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/dialer.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,157 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/dtmfsignalling.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,87 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/incallmenuandsoftkeys.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,273 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/incalloperations.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,530 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/mobileoriginatedcalls.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,73 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/multicallhandling.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,64 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/numberentry.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,80 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/phone.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,454 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/loc/voip.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,583 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/phoneui2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,68 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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 Phoneui component
+#
+#
+
+
+TEMPLATE = app
+TARGET = phoneui
+CONFIG += hb svg
+RESOURCES = ./graphics/resources.qrc
+
+TRANSLATIONS = telephone.ts
+
+symbian {
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.UID3 = 0x100058B3
+    TARGET.VID = VID_DEFAULT
+    TARGET.EPOCHEAPSIZE = 0x1000 0xA00000 
+    DEFINES += FT_SYMBIAN_INTEGRATION
+
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += ../../inc \
+                   ../phoneui/inc \
+                   ../phoneuicontrol/inc \
+                   ../phoneuiutils/inc \
+                   ../phoneuiqtviewadapter/inc \
+                   ../phoneuiview2/inc
+
+    LIBS += -lphoneengine \
+            -lphoneuiutils \
+            -lphoneuicontrol \
+            -lphoneuiqtviewadapter \
+            -lphoneuiqtview \
+            -lFeatMgr      
+      
+      BLD_INF_RULES.prj_exports += \
+       "$${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;"
+}
+
+HEADERS += ./inc/hbphonemainwindow.h \
+           ./inc/phoneuikeyeventadapter.h \
+           ./inc/phoneuicommandadapter.h \
+           ./inc/phoneuihousehold.h \
+           ./inc/phoneuihousehold_p.h
+       
+SOURCES   += ./src/main.cpp \
+             ./src/phoneuikeyeventadapter.cpp \
+             ./src/phoneuicommandadapter.cpp \
+             ./src/hbphonemainwindow.cpp \
+             ./src/phoneuihousehold.cpp \
+             ./src/phoneuihousehold_p.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/rom/phoneui.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,59 @@
+/*
+* 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:  PhoneUI iby file
+*
+*/
+
+
+#ifndef __PHONEUI_IBY__
+#define __PHONEUI_IBY__
+
+#ifdef RD_PHONE_NG
+
+#include <data_caging_paths_for_iby.hrh>
+
+#define UPGRADABLE_APP_REG_RSC(NAME) data=DATAZ_\PRIVATE\10003A3F\IMPORT\APPS\ ## NAME ## _reg.rsc        Private\10003a3f\import\apps\ ## NAME ## _reg.rsc
+
+REM PhoneUI
+S60_APP_EXE(phoneui)
+UPGRADABLE_APP_REG_RSC(phoneui)
+S60_APP_AIF_RSC(phoneui)
+S60_APP_RESOURCE(phoneui)
+//S60_APP_BITMAP(phoneui)
+//S60_APP_AIF_ICONS(phoneui)
+
+//#if defined (FF_TOUCH_CALL_HANDLING) || defined ( __ON_SCREEN_DIALER )
+//SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,PhoneUI)
+//#endif // FF_TOUCH_CALL_HANDLING || __ON_SCREEN_DIALER
+
+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=ZSYSTEM\install\phoneuivoipextension_stub.sis  System\Install\phoneuivoipextension_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
+
+#endif // RD_PHONE_NG
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/rom/phoneuiresources.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,31 @@
+/*
+* 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:  PhoneUI Resources iby file
+*
+*/
+
+
+#ifndef __PHONEUI_RESOURCES_IBY__
+#define __PHONEUI_RESOURCES_IBY__
+
+#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
+
+// <-- QT PHONE START -->
+data=DATAZ_\QT_TRANSLATIONS_DIR\telephony.qm QT_TRANSLATIONS_DIR\telephony.qm
+// <-- QT PHONE END -->
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/src/hbphonemainwindow.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Main window class.
+*
+*/
+
+#include "hbphonemainwindow.h"
+#include "phoneuihousehold.h"
+
+HbPhoneMainWindow::HbPhoneMainWindow(QWidget *parent): 
+    HbMainWindow(parent)
+{
+    mHouseHold = new PhoneUiHouseHold (*this);
+}
+
+HbPhoneMainWindow::~HbPhoneMainWindow ()
+{
+    delete mHouseHold;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/src/main.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Main.
+*
+*/
+
+#include <QGraphicsWidget>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbtoolbar.h>
+
+#include "hbphonemainwindow.h"
+
+
+int main (int argc, char *argv[])
+{
+    HbApplication app (argc, argv);
+    HbPhoneMainWindow window;
+    return app.exec ();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/src/phoneuicommandadapter.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Adapter for UI commands from view to state.
+*
+*/
+
+#include <exception> // must be before e32base.h so uncaught_exception gets defined
+#include "mphonemenuandcbaevents.h"
+#include "phoneuicommandadapter.h"
+
+PhoneUiCommandAdapter::PhoneUiCommandAdapter (
+    MPhoneMenuAndCbaEvents &commandHandler, QObject *parent ) :
+    QObject (parent), m_handler (commandHandler)
+{
+}
+
+PhoneUiCommandAdapter::~PhoneUiCommandAdapter ()
+{   
+}
+
+void PhoneUiCommandAdapter::handleCommand (int command)
+{
+    TRAP_IGNORE(m_handler.HandleCommandL ( (TInt) command ));
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/src/phoneuihousehold.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Ui household class.
+*
+*/
+
+#include "phoneuihousehold.h"
+#include "phoneuihousehold_p.h"
+
+PhoneUiHouseHold::PhoneUiHouseHold (HbMainWindow &window)
+{
+    mHouseHoldPrivate = new PhoneUiHouseHoldPrivate (window);
+}
+
+PhoneUiHouseHold::~PhoneUiHouseHold ()
+{
+    delete mHouseHoldPrivate;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/src/phoneuihousehold_p.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,419 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Household private class.
+*
+*/
+
+#include <exception> // must be before e32base.h so uncaught_exception gets defined
+#include <starterclient.h>
+#include <telinternalpskeys.h>
+// <-- QT PHONE START --> 
+//#include <activeidle2domainpskeys.h>
+#include <QLocale>
+#include <QTranslator>
+// <-- QT PHONE END --> 
+#include <telremotepartyinformationpskeys.h>
+#include <telinformationpskeys.h>
+#include <UikonInternalPSKeys.h>
+#include <startupdomainpskeys.h>
+#include <featmgr.h>        // for FeatureManager
+//#include <phoneui.hrh>
+#include <hbmainwindow.h>
+#include "phoneconstants.h"
+#include "cphonelogger.h"
+#include "cphonepubsubproxy.h"
+#include "cphoneqwertyhandler.h"
+#include "cphoneuicontroller.h"
+#include "phoneuihousehold_p.h"
+#include "phoneuiqtviewadapter.h"
+#include "phoneuiqtview.h"
+#include "phoneuikeyeventadapter.h"
+#include "phoneuicommandadapter.h"
+#include "phonenotecontroller.h"
+//#include "qtcall.h"
+
+PhoneUiHouseHoldPrivate::PhoneUiHouseHoldPrivate(HbMainWindow &window) :
+    iAppsReady (0), iStartupSignalRecoveryId (0), iLightIdleReached (EFalse),
+    iOnScreenDialer (EFalse), iQwertyHandler (0), iPhoneUIController (0),
+    m_window (window)
+{
+    qDebug("phoneui - Start phoneapp");
+    
+    TRAPD( error, ConstructL() );
+    qt_symbian_throwIfError(error);
+}
+
+PhoneUiHouseHoldPrivate::~PhoneUiHouseHoldPrivate()
+{
+    delete iKeyEventAdapter;
+    delete iCommandAdapter;
+    delete iPhoneUIController;
+    delete iViewAdapter;
+}
+
+TInt PhoneUiHouseHoldPrivate::DoStartupSignalL( TAny* aAny )
+{
+    PhoneUiHouseHoldPrivate* appUi =
+        static_cast< PhoneUiHouseHoldPrivate* >( aAny );
+    
+    return
+        !appUi->iLightIdleReached ?
+            appUi->DoStartupSignalIdleL() :
+            appUi->DoStartupSignalSecurityL();
+}
+
+TInt PhoneUiHouseHoldPrivate::DoStartupSignalIdleL()
+    {
+    TBool idleReached = EFalse;
+    
+// <-- QT PHONE START --> 
+    // Check if Idle application has been started.
+  const TInt idleUid = 0x20022F35; /*CPhonePubSubProxy::Instance()->Value(
+            KPSUidAiInformation,
+            KActiveIdleUid );*/
+// <-- QT PHONE END --> 
+    qDebug("phoneui::DoStartupSignalIdleL() idleUID=%d", idleUid);
+    
+    if ( idleUid != 0 && idleUid != KErrNotFound )
+        {
+        // Idle application has already started
+        if ( !( iAppsReady & EPhoneIdleStartedUp ) )
+            {
+            qDebug("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 );
+                
+// <-- QT PHONE START -->             
+            // hack to make sure EPhonePhase1Ok is set - to be fixed properly
+            idleReached = true;
+            qDebug("phoneui::DoStartupSignalIdleL() Phone and Idle apps have both been started");    
+            CPhonePubSubProxy::Instance()->ChangePropertyValue(
+                KPSUidStartup,
+                KPSPhonePhase1Ok,
+                EPhonePhase1Ok );
+// <-- QT PHONE END -->                         
+            }
+        }
+    else
+        {
+// <-- QT PHONE START --> 
+        /*qDebug("phoneui::DoStartupSignalIdleL() NotifyChangeL(KPSUidAiInformation,KActiveIdleUid) ");
+        CPhonePubSubProxy::Instance()->NotifyChangeL(
+            KPSUidAiInformation,
+            KActiveIdleUid,
+            this );*/
+// <-- QT PHONE END --> 
+        }
+
+// <-- QT PHONE START -->
+/*    const TInt current = CPhonePubSubProxy::Instance()->Value(
+        KPSUidStartup,
+        KPSGlobalSystemState );
+
+    qDebug("phoneui::DoStartupSignalIdleL() System state=%d ", current);
+    if ( current == ESwStateSelfTestOK ||
+        current == ESwStateCriticalPhaseOK )
+        {                       
+        // Check that both the Phone and Idle applications are ready
+        idleReached = ( iAppsReady & EPhoneStartedUp ) &&
+             ( iAppsReady & EPhoneIdleStartedUp );
+
+        if ( idleReached )
+            {
+            qDebug("phoneui::DoStartupSignalIdleL() Phone and Idle apps have both been started");    
+            CPhonePubSubProxy::Instance()->ChangePropertyValue(
+                KPSUidStartup,
+                KPSPhonePhase1Ok,
+                EPhonePhase1Ok );
+            }
+        }
+    else 
+        {
+        idleReached = ( iAppsReady & EPhoneIdleStartedUp ) && 
+            ( current == ESwStateEmergencyCallsOnly ||
+            current == ESwStateNormalRfOn ||
+            current == ESwStateNormalRfOff ||
+            current == ESwStateNormalBTSap );
+
+        
+        }
+*/        
+// <-- QT PHONE END -->         
+
+    if ( idleReached )
+        {
+        qDebug("phoneui::DoStartupSignalIdleL() Idle reached!");
+        // Now err == KErrNone and it means that
+        // we have succeeded in signalling.
+        CPhoneRecoverySystem::Instance()->EnablePreconditionL();
+
+        // Update the Phone light idle flag
+        iLightIdleReached = ETrue;
+
+        // Notify the UI controller that the phone is ready
+        iPhoneUIController->HandlePhoneStartupL();
+        }
+    else 
+        {
+        qDebug("phoneui::DoStartupSignalIdleL() Idle is not reached yet!");
+        // Idle has not been reached yet. Indicate to the recovery
+        // system that this iteration has failed so that it will
+        // try again at a later time.
+        User::Leave( KErrNotReady );
+        }
+
+    return KErrNone;
+    }
+
+TInt PhoneUiHouseHoldPrivate::DoStartupSignalSecurityL()
+    {
+    TInt err = KErrNone;    
+    return err;
+    }
+
+// <-- QT PHONE START -->
+void PhoneUiHouseHoldPrivate::HandlePropertyChangedL(
+        const TUid& aCategory, const TUint /*aKey*/, const TInt /*aValue*/)
+{
+    qDebug("phoneui::HandlePropertyChangedL()");
+    
+ 
+    /*if ( aCategory == KPSUidAiInformation )
+        {
+        // Call state event
+        if ( aKey == KActiveIdleUid )
+            {
+            
+            TInt idleUid = aValue;
+            
+            // If idle startup is ok.
+            if ( idleUid != 0 )
+                {
+                // If idle startup is ok for the first time, then recover
+                // the Start signal processing
+                if ( !( iAppsReady & EPhoneIdleStartedUp ) )
+                    {            
+                    qDebug("phoneui::HandlePropertyChangedL() Idle App started!");
+                    iAppsReady += EPhoneIdleStartedUp;
+                    // Try to update the startup signal again
+                    CPhoneRecoverySystem::Instance()->RecoverNow(
+                        iStartupSignalRecoveryId, 
+                        CTeleRecoverySystem::EPhonePriorityHigh );    
+                    // Remove Phone application from Fast Swap Window.
+//                    iPhoneViewController->SetHiddenL( ETrue );
+                    // Set Idle's UID to PubSub.
+                    CPhonePubSubProxy::Instance()->ChangePropertyValue(
+                        KPSUidUikon,
+                        KUikVideoCallTopApp,
+                        idleUid );
+                    }
+                }
+            }
+        }*/
+// <-- QT PHONE END --> 
+    if ( aCategory == KPSUidStartup )
+        {
+        
+        const TInt startupState = CPhonePubSubProxy::Instance()->Value(
+            KPSUidStartup,
+            KPSGlobalSystemState );
+        
+        qDebug("phoneui::HandlePropertyChangedL() StartupState value=%d", startupState );
+       
+        if ( startupState == ESwStateCriticalPhaseOK ||
+            startupState == ESwStateEmergencyCallsOnly ||
+            startupState == ESwStateNormalRfOn ||
+            startupState == ESwStateNormalRfOff ||
+            startupState == ESwStateNormalBTSap )
+            {
+            qDebug("phoneui::HandlePropertyChangedL() Try to update the startup signal again..." );
+            // Try to update the startup signal again
+            CPhoneRecoverySystem::Instance()->RecoverNow(
+                iStartupSignalRecoveryId, 
+                CTeleRecoverySystem::EPhonePriorityHigh );    
+            }
+        }
+}
+
+void PhoneUiHouseHoldPrivate::ConstructL()
+{
+    new( ELeave ) CPhoneLogger( KUidPhoneUILoggerSingleton );
+    FeatureManager::InitializeLibL();
+    
+    QString locale = QLocale::system ().name ();
+    QTranslator translator;
+    QString path = QString("z:\\resource\\qt\\translations\\");
+    QString filename = QString("telephone_");
+    bool ret = translator.load(QString(path + filename + locale));
+	qDebug() <<"PhoneUiHouseHoldPrivate::ConstructL() translator.load:" <<ret;
+    qApp->installTranslator(&translator);
+    
+    PhoneUIQtView *view = new PhoneUIQtView(m_window);
+    iViewAdapter = new PhoneUIQtViewAdapter(*view);
+    iPhoneUIController = CPhoneUIController::NewL(iViewAdapter);
+    
+    m_window.addView (view);
+    m_window.setCurrentView (view);
+    m_window.scene ()->setFocusItem (view);
+    iQwertyHandler = CPhoneQwertyHandler::NewL();
+    iKeyEventAdapter = new PhoneUIKeyEventAdapter (*iPhoneUIController);
+    iCommandAdapter = new PhoneUiCommandAdapter (*iPhoneUIController);
+    QObject::connect(view, SIGNAL(dialpadIsAboutToClose()), iViewAdapter, SLOT(dialpadClosed()));
+    QObject::connect(view, SIGNAL(keyReleased(QKeyEvent *)), iViewAdapter, SLOT(keyReleased (QKeyEvent *)));
+    QObject::connect(view, SIGNAL(keyPressed (QKeyEvent *)), iKeyEventAdapter, SLOT(keyPressed (QKeyEvent *)));
+    QObject::connect(view, SIGNAL(keyReleased (QKeyEvent *)), iKeyEventAdapter, SLOT(keyReleased (QKeyEvent *)));
+    QObject::connect(view, SIGNAL(command (int)), iCommandAdapter, SLOT(handleCommand (int)),
+                     Qt::QueuedConnection); // async to enable deletion of widget during signal handling
+    
+    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 );
+    
+    // CLI Name.
+    TInt err = RProperty::Define( 
+        KPSUidTelRemotePartyInformation,
+        KTelCLIName,
+        RProperty::EText,
+        KPhoneReadPolicy,
+        KPhoneWritePolicy );
+      
+    // CLI Number.
+    err = RProperty::Define( 
+        KPSUidTelRemotePartyInformation,
+        KTelCLINumber,
+        RProperty::EText,
+        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 
+ 
+     err = RProperty::Define( 
+        KPSUidTelInformation,
+        KTelPhoneUid,
+        RProperty::EInt,
+        KPhoneReadPolicy,
+        KPhoneWritePolicy );  
+
+// DefineNewPSKeys:
+
+    // UID: KPSUidTelInternalInformation:
+    err = RProperty::Define( 
+        KPSUidTelInternalInformation,
+        KTelRemotePartyContactInfo,
+        RProperty::EByteArray,
+        KPhoneReadPolicy,
+        KPhoneWritePolicy );    
+               
+    // VT UID.
+    err = RProperty::Define( 
+        KPSUidTelInternalInformation,
+        KTelVideoCallUid,
+        RProperty::EInt,
+        KPhoneReadPolicy,
+        KPhoneWritePolicy );
+
+    // TELINTERNALPSKEY CHANGE 
+    // Move to AudioHandling
+    // UID: KPSUidTelAudioPreference
+    // Call Audio Routing
+    err = RProperty::Define( 
+        KPSUidTelAudioPreference, 
+        KTelAudioOutput, 
+        RProperty::EInt,
+        KPhoneReadPolicyAlwaysPass,
+        KPhoneWritePolicy );
+
+    // UID: KPSUidNEInformation
+    err = RProperty::Define( 
+        KPSUidNEInformation, 
+        KTelNumberEntryInfo, 
+        RProperty::EInt,
+        KPhoneReadPolicyAlwaysPass,
+        KPhoneWritePolicy );
+
+
+    // Add DoStartupSignalL to the recovery system 
+    iStartupSignalRecoveryId = 
+        CPhoneRecoverySystem::Instance()->AddL( 
+            TCallBack( DoStartupSignalL, this ),
+            CTeleRecoverySystem::EPhonePriorityHigh,
+            CTeleRecoverySystem::EPhoneStateIdle );
+
+    // Call DoStartupSignalL within recovery system
+    const TInt startupState = CPhonePubSubProxy::Instance()->Value(
+        KPSUidStartup,
+        KPSGlobalSystemState );
+
+    qDebug("phoneui::main() startupState value=%d", startupState );
+
+    if ( startupState == ESwStateCriticalPhaseOK ||
+        startupState == ESwStateEmergencyCallsOnly ||
+        startupState == ESwStateNormalRfOn ||
+        startupState == ESwStateNormalRfOff ||
+        startupState == ESwStateNormalBTSap )
+        {
+        qDebug("phoneui::main() Notify Starter that phone is ready...");    
+        CPhoneRecoverySystem::Instance()->RecoverNow(
+            iStartupSignalRecoveryId, 
+            CTeleRecoverySystem::EPhonePriorityHigh );
+        }
+    else
+        {        
+        qDebug("phoneui::main() Startup not ready yet. Start listening...");
+        CPhonePubSubProxy::Instance()->NotifyChangeL(
+            KPSUidStartup,
+            KPSGlobalSystemState,
+            this );
+        }
+
+    if ( err == KErrNone || err == KErrAlreadyExists )
+        {
+        // Indicate to the system that the Phone has been started
+        CPhonePubSubProxy::Instance()->ChangePropertyValue(
+            KPSUidTelInformation,
+            KTelPhoneUid,
+            KUidPhoneApplication.iUid );
+        }
+
+    // Update the Apps ready flag
+    iAppsReady += EPhoneStartedUp;
+    
+    if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) )     
+        {
+        iOnScreenDialer = ETrue;
+        }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/src/phoneuikeyeventadapter.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,81 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Adapter for converting Qt key event types to
+*               Symbian types.
+*
+*/
+
+#include <exception> // must be before e32base.h so uncaught_exception gets defined
+#include "phoneuikeyeventadapter.h"
+#include "phoneconstants.h"
+#include <QKeyEvent>
+
+PhoneUIKeyEventAdapter::PhoneUIKeyEventAdapter (MPhoneKeyEventHandler &keyEventHandler, QObject *parent) :
+    QObject (parent), m_handler (keyEventHandler)
+{
+
+}
+
+PhoneUIKeyEventAdapter::~PhoneUIKeyEventAdapter ()
+{
+    
+}
+
+void PhoneUIKeyEventAdapter::keyPressed (QKeyEvent *event)
+{
+    forwardKeyEvent(EEventKey, event);
+}
+
+void PhoneUIKeyEventAdapter::keyReleased (QKeyEvent *event)
+{
+    forwardKeyEvent(EEventKeyUp, event);    
+}
+
+void PhoneUIKeyEventAdapter::forwardKeyEvent(
+        TEventCode symbianEventCode, QKeyEvent *event)
+{
+    TKeyEvent symbianKeyEvent;
+    symbianKeyEvent.iCode = convertKeyCode(event);
+    symbianKeyEvent.iRepeats = 0;
+    symbianKeyEvent.iScanCode = convertKeyCode(event);
+    
+    TRAP_IGNORE(m_handler.HandleKeyEventL (symbianKeyEvent, symbianEventCode));
+    
+}
+
+int PhoneUIKeyEventAdapter::convertKeyCode(QKeyEvent *event)
+{
+    int code(0);
+    
+    switch(event->key()) {
+        case Qt::Key_Yes:
+            code = EKeyYes;
+            break;
+        case Qt::Key_No:
+            code = EKeyNo;
+            break;
+        case Qt::Key_NumberSign:
+            code = KPhoneDtmfHashCharacter;
+            break;
+        case Qt::Key_Asterisk:
+            code = KPhoneDtmfStarCharacter;
+            break;
+        default:
+            code = event->key();
+            break;
+        }
+
+    
+    return code;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/srcdata/phoneui.hrh	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,86 @@
+/*
+* 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 file contains declarations for resources of PhoneAppS60.
+*     The file can be included in C++ or resource file.
+*     
+*
+*/
+
+#ifndef PHONEUI_HRH
+#define PHONEUI_HRH
+
+#include    <bldvariant.hrh>
+#include    <phoneappcommands.hrh>
+
+//  CONSTANTS
+
+#define PHONEUI_SCALABLE_AIF_ICON_FILE  "Z:\\resource\\apps\\phoneui_aif.mif"
+#define PHONEUI_AIF_ICON_FILE       "Z:\\resource\\apps\\phoneui_aif.mbm"
+
+#define LOCALISABLE_RESOURCE_FILE_EXE   "\\resource\\apps\\phoneui"
+#define LOCALISABLE_RESOURCE_FILE_APP   "\\System\\Apps\\phoneui"
+
+enum 
+    { 
+    EPhoneGeneralNote = 1,
+    EPhoneWaitNote
+    };
+
+// CALLING LINE IDENTITY
+
+// It enumerates different states for a call.
+enum 
+    {
+    // DO NOT MODIFY THESE
+    EPhoneStAny = 0x100,          // any state.
+    EPhoneStIncoming = 0x200,     // arriving, waiting
+    EPhoneStOutgoing = 0x400,     // initializing, alerting
+    EPhoneStConnected = 0x800,    // alerting, active, on hold
+    EPhoneStOngoing = 0x1000,     // alerting, active, on hold, disconnected
+
+    EPhoneStIdle = 0x100 + 0x7,
+    EPhoneStArriving = 0x200 + 0x100 + 0,
+    EPhoneStWaiting = 0x200 + 0x100 + 1,
+    EPhoneStInitializing = 0x400 + 0x100 + 2,
+    EPhoneStAlerting = 0x1000 + 0x400 + 0x800 + 0x100 + 3,
+    EPhoneStActive = 0x1000 + 0x800 + 0x100 + 4,
+    EPhoneStOnHold = 0x1000 + 0x800 + 0x100 + 5,
+    EPhoneStDisconnected = 0x1000 + 0x100 + 6
+    };
+
+enum TPhoneUIGSMStatesConferenceStates
+    {
+    ENoActiveCalls = 0,
+    EOneActiveCall,
+    ETwoActiveCalls
+    };
+
+enum //enums for SWIS Sharing 
+    {
+    EPhoneVideoSharing =  10000,
+    EPhoneVideoSharingOpt2,
+    EPhoneVideoSharingOpt3 
+    };
+
+// Configurable buttons
+enum TPhoneUIConfigurableButtons
+    {
+    EPhoneConfigIncomingCallButtons = 0,
+    EPhoneButtonConfigCount
+    };
+
+#endif
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/srcdata/phoneui.pan	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,82 @@
+/*
+* 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:  PhoneUI panic reason codes
+ *
+*/
+
+
+#ifndef __PHONEUI_PAN__
+#define __PHONEUI_PAN__
+
+
+enum TPhoneUiUtils
+	{
+    EPhoneUtilsIndexOutOfBounds = 1,
+    EPhoneUtilsResourcePhoneappNotFound = 2,
+    EPhoneUtilsCouldNotCreateSingleton = 3,
+    EPhoneUtilsBufferOverflow = 4,
+    EPhoneUtilsInvariant = 5,
+    EPhoneUtilsParameterNotInitialized = 6,
+    EPhoneUtilsNoCallBack = 7,
+    EPhoneUtilsInvalidArgument = 8
+    };
+
+enum TPhoneUiView
+	{
+	EPhoneViewCaseNotHandled = 20,
+	EPhoneViewGeneralError = 21,
+	EPhoneViewNoImgConverterObserver = 22,
+	EPhoneViewParameterNotInitialized = 23,
+	EPhoneViewIndexOutOfBounds = 24,
+	EPhoneViewInvariant = 25,
+	EPhoneViewErrorInAddingResourceFile = 26
+	};
+	
+enum TPhoneUiControl
+	{
+	EPhoneCtrlSingletonNotInitialized = 40,
+	EPhoneCtrlFactoryLibraryNotFound = 41,
+	EPhoneCtrlUnknownPanic = 42,
+	EPhoneCtrlInvariant = 43,
+	EPhoneCtrlParameterNotInitialized = 44,
+	EPhoneCtrlCaseNotHandled = 45,
+	EPhoneCtrlIndexOutOfBounds = 46,
+	EPhoneCtrlPSKeyDefineFail = 47,
+	};
+
+enum TPhoneUi
+	{
+    EPhoneUiNoWindowGroup = 60
+	};
+
+enum TPhoneMediatorCenter
+	{
+	EPhoneMediatorCenterSingletonNotInitialized = 80,
+	EPhoneMediatorCenterCouldNotCreateSingleton,
+	EPhoneMediatorCenterParameterNotInitialized,
+	EPhoneMediatorCenterInvalidCommand,
+	EPhoneMediatorCenterInitializationPanic,
+	EPhoneMediatorCenterRegistrationFailed
+	};
+
+inline void Panic( TInt aReason )
+    {
+	_LIT( componentName, "Common phone" );
+    User::Panic( componentName, aReason );
+    }
+
+#endif  // __PHONEUI_PAN__
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phonemainwindow/common.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+#
+######################################################################
+# Unit tests
+######################################################################
+include(../../../../trunk_6742/trunk/hb/hb/hb.prf)
+
+CONFIG += hb qtestlib
+ LIBS += -lphoneengine \
+            -lphoneuiutils \
+            -lphoneuicontrol \
+            -lphoneuiqtviewadapter \
+            -lphoneuiqtview \
+            -lFeatMgr
+unix {
+    test.commands = ./$(TARGET)
+    autotest.commands = ./$(TARGET) -style plastique -xml -o ../$(QMAKE_TARGET).xml
+} else:win32 {
+    DESTDIR = ./
+    test.CONFIG += recursive
+    autotest.CONFIG += recursive
+    build_pass {
+        test.commands = $(TARGET)
+        autotest.commands = $(TARGET) -xml -o ../$(QMAKE_TARGET).xml
+    }
+}
+QMAKE_EXTRA_TARGETS += test autotest
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phonemainwindow/hbglobal_p.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HBGLOBAL_P_H
+#define HBGLOBAL_P_H
+
+
+#define HB_TEST_MAIN(TestObject) \
+int main(int argc, char *argv[]) \
+{ \
+    HbApplication app(argc, argv); \
+    TestObject tc; \
+    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; \
+}
+
+
+#endif // HBGLOBAL_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phonemainwindow/phoneuihousehold_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  UI house hold class.
+*
+*/
+
+#include <QtGlobal>
+#include <hbmainwindow.h>
+#include "phoneuihousehold.h"
+
+PhoneUiHouseHold::PhoneUiHouseHold (HbMainWindow &window)
+{
+   Q_UNUSED(window);
+}
+
+PhoneUiHouseHold::~PhoneUiHouseHold ()
+{
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+*
+*/
+#include <QtGui>
+#include <QtTest/QtTest>
+#include <QDebug>
+#include <hbapplication.h>
+#include <hbglobal_p.h>
+#include "hbphonemainwindow.h"
+
+
+class U_PhoneMainWindow: public QObject
+{
+Q_OBJECT
+
+public:
+	U_PhoneMainWindow();
+	~U_PhoneMainWindow();
+
+private slots:
+	void initTestCase();
+    void cleanupTestCase();
+	void testShow();
+	
+private:
+	
+    HbPhoneMainWindow* m_Window; // widget under test
+
+};
+
+U_PhoneMainWindow::U_PhoneMainWindow()
+{
+}
+
+U_PhoneMainWindow::~U_PhoneMainWindow()
+{
+}
+
+void U_PhoneMainWindow::initTestCase()
+{
+
+    m_Window = new HbPhoneMainWindow();
+	
+}
+
+void U_PhoneMainWindow::cleanupTestCase()
+{
+	delete m_Window;
+}
+
+void U_PhoneMainWindow::testShow()
+{
+    m_Window->show();
+    Q_ASSERT(m_Window->isVisible());
+	
+}
+
+HB_TEST_MAIN(U_PhoneMainWindow)
+#include "ut_phonemainwindow.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+#
+
+include(common.pri)
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += .
+INCLUDEPATH += .
+INCLUDEPATH += ..\..\src
+
+
+# Input
+HEADERS += ..\..\inc\phoneuihousehold.h
+HEADERS += ..\..\inc\hbphonemainwindow.h
+
+SOURCES += phoneuihousehold_stub.cpp
+SOURCES += ut_phonemainwindow.cpp
+SOURCES += ..\..\src\hbphonemainwindow.cpp
+
+
+
+TARGET.CAPABILITY = ALL -TCB
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/cphoneuicontroller_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPhoneUIController class.
+*
+*/
+
+
+// INCLUDE FILES
+
+#include "CPhoneUIController_Stub.h"
+
+int m_command;
+bool m_leave;
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------
+// CPhoneUIController::CPhoneUIController
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------
+//
+CPhoneUIController_Stub::CPhoneUIController_Stub()  
+    {
+    m_leave = false;	
+    }
+
+
+
+// -----------------------------------------------------------
+// Destructor
+// 
+// -----------------------------------------------------------
+
+CPhoneUIController_Stub::~CPhoneUIController_Stub()
+    {
+
+    }
+
+
+
+// ---------------------------------------------------------
+// CPhoneUIController_Stub::HandleCommandL
+// ---------------------------------------------------------
+//
+TBool CPhoneUIController_Stub::HandleCommandL( TInt aCommand )
+    {
+    m_command = 0;
+    
+    if (m_leave)
+        {
+        User::Leave(KErrArgument);
+        }
+        
+    m_command = aCommand;
+    
+    return ETrue;
+    }
+
+// ---------------------------------------------------------
+// CPhoneUIController_Stub::ProcessCommandL
+// ---------------------------------------------------------
+//
+TBool CPhoneUIController_Stub::ProcessCommandL( TInt /*aCommand*/ )
+    {  
+    return ETrue;
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/cphoneuicontroller_stub.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 controller class.
+*
+*/
+
+
+#ifndef CPHONEUICONTROLLER_STUB_H
+#define CPHONEUICONTROLLER_STUB_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <e32std.h>
+
+#include "mphonemenuandcbaevents.h"
+
+extern int m_command;
+extern bool m_leave;
+
+// FORWARD DECLARATIONS
+
+class CPhoneUIController_Stub : 
+    public MPhoneMenuAndCbaEvents
+    {
+    public:
+        
+        /**
+        * C++ default constructor.
+        */
+        CPhoneUIController_Stub();
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CPhoneUIController_Stub();
+
+// From MPhoneMenuAndCbaEvents
+
+        /**
+        * HandleCommandL
+        */
+        TBool HandleCommandL( TInt aCommand );
+
+        /**
+        * Process command.
+        */
+        TBool ProcessCommandL( TInt aCommand );
+        
+    };
+
+#endif      // CPHONEUICONTROLLER_STUB_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Unit tests for PhoneUIQtView.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <QVariant>
+#include <QKeyEvent>
+#include <hbapplication.h>
+#include "phoneuicommandadapter.h"
+#include "cphoneuicontroller_stub.h"
+
+
+//CONSTANTS
+
+
+#define PHONE_QT_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 TestPhoneCommandAdapter : public QObject
+{
+    Q_OBJECT
+    
+public:
+    TestPhoneCommandAdapter ();
+    ~TestPhoneCommandAdapter ();
+
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase (); 
+    void init ();
+    void cleanup ();
+    
+private slots:
+    void testKeyHandleCommand ();
+    void testLeave ();
+
+
+
+private:
+    PhoneUiCommandAdapter *m_command_adapter; // class under test
+    CPhoneUIController_Stub *m_uicontrol;
+
+};
+
+
+TestPhoneCommandAdapter::TestPhoneCommandAdapter ()
+{    
+}
+
+TestPhoneCommandAdapter::~TestPhoneCommandAdapter ()
+{
+}
+
+void TestPhoneCommandAdapter::initTestCase ()
+{	
+}
+
+void TestPhoneCommandAdapter::cleanupTestCase ()
+{
+}
+
+void TestPhoneCommandAdapter::init ()
+{
+    m_uicontrol = new CPhoneUIController_Stub(); 
+    m_command_adapter = new PhoneUiCommandAdapter(*m_uicontrol);
+}
+
+void TestPhoneCommandAdapter::cleanup ()
+{
+    delete m_uicontrol;
+    delete m_command_adapter;
+}
+
+void TestPhoneCommandAdapter::testKeyHandleCommand ()
+{
+    int command = 1001;
+        	
+    m_command_adapter->handleCommand(command);
+
+    QVERIFY( command == m_command );
+
+}
+
+void TestPhoneCommandAdapter::testLeave ()
+{
+    m_leave = true;	
+    int command = 1001;
+    
+    m_command_adapter->handleCommand(command);
+    
+    QVERIFY( 0 == m_command );
+    m_leave = false;
+
+}
+
+PHONE_QT_TEST_MAIN(TestPhoneCommandAdapter)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuicommandadapter/ut_phoneuicommandadapter.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+TEMPLATE = app
+TARGET = ut_phoneuicommandadapter
+TARGET.UID3 = 0xEA9BEF3D
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+CONFIG += hb qtestlib
+
+symbian {
+
+    INCLUDEPATH += /epoc32/include/platform/mw \
+                   /epoc32/include/platform/app \
+                   /epoc32/include/mw \
+                   ../../../phoneuicontrol/inc/ \
+                   ../../inc/ \
+                   ../../../../inc \
+                   ./
+
+}
+
+
+# Input
+HEADERS += ../../inc/phoneuicommandadapter.h \
+           cphoneuicontroller_stub.h
+SOURCES += ../../src/phoneuicommandadapter.cpp \
+           unit_tests.cpp \
+           cphoneuicontroller_stub.cpp
+           
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/cphoneuicontroller_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPhoneUIController class.
+*
+*/
+
+// INCLUDE FILES
+
+#include "CPhoneUIController_Stub.h"
+
+int m_scan_code;
+int m_code;
+int m_scan_code_down;
+int m_code_down;
+int m_repeats;
+bool m_leave;
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------
+// CPhoneUIController::CPhoneUIController
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------
+//
+CPhoneUIController_Stub::CPhoneUIController_Stub()  
+    {
+    m_leave = false;	
+    }
+
+
+
+// -----------------------------------------------------------
+// Destructor
+// 
+// -----------------------------------------------------------
+
+CPhoneUIController_Stub::~CPhoneUIController_Stub()
+    {
+
+    }
+
+
+
+// ---------------------------------------------------------
+// CPhoneUIController_Stub::HandleKeyEventL
+// ---------------------------------------------------------
+//
+TKeyResponse CPhoneUIController_Stub::HandleKeyEventL(
+    const TKeyEvent& aKeyEvent,
+    TEventCode aEventCode )
+    {
+    m_scan_code = 0;
+    m_code = 0;
+    m_scan_code_down = 0;
+    m_code_down = 0;
+    
+    if (m_leave)
+        {
+        User::Leave(KErrArgument);
+        }
+        
+    m_repeats = aKeyEvent.iRepeats;
+    
+    if ( EEventKeyUp == aEventCode )
+        {
+        m_scan_code = aKeyEvent.iScanCode;
+        m_code = aKeyEvent.iCode;
+        }
+    else if ( EEventKey == aEventCode )
+        {
+        m_scan_code_down = aKeyEvent.iScanCode;
+        m_code_down = aKeyEvent.iCode;       	
+        }
+    
+    return EKeyWasNotConsumed;
+    }
+
+
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/cphoneuicontroller_stub.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 controller class.
+*
+*/
+
+
+#ifndef CPHONEUICONTROLLER_STUB_H
+#define CPHONEUICONTROLLER_STUB_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <e32std.h>
+
+#include "MPhoneKeyEventHandler.h"
+
+extern int m_scan_code;
+extern int m_code;
+extern int m_scan_code_down;
+extern int m_code_down;
+extern int m_repeats;
+extern bool m_leave;
+
+// FORWARD DECLARATIONS
+
+class CPhoneUIController_Stub : 
+    public MPhoneKeyEventHandler
+    {
+    public:
+        
+        /**
+        * C++ default constructor.
+        */
+        CPhoneUIController_Stub();
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CPhoneUIController_Stub();
+
+
+        TKeyResponse HandleKeyEventL(
+            const TKeyEvent& aKeyEvent,
+            TEventCode aEventCode );
+
+
+        
+    };
+
+#endif      // CPHONEUICONTROLLER_STUB_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Unit tests for PhoneUIQtView.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <QVariant>
+#include <QKeyEvent>
+#include <hbapplication.h>
+#include "phoneuikeyeventadapter.h"
+#include "cphoneuicontroller_stub.h"
+#include "phoneconstants.h"
+
+
+//CONSTANTS
+
+
+#define PHONE_QT_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 TestPhoneKeyEventAdapter : public QObject
+{
+    Q_OBJECT
+    
+public:
+    TestPhoneKeyEventAdapter ();
+    ~TestPhoneKeyEventAdapter ();
+
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase (); 
+    void init ();
+    void cleanup ();
+    
+private slots:
+    void testKeyPressEvents ();
+    void testKeyReleaseEvents ();
+    void testKeyPressEventsByQtKeys ();
+    void testLeave ();
+
+
+
+private:
+    PhoneUIKeyEventAdapter *m_keyadapter; // class under test
+    CPhoneUIController_Stub *m_uicontrol;
+
+};
+
+
+TestPhoneKeyEventAdapter::TestPhoneKeyEventAdapter ()
+{    
+}
+
+TestPhoneKeyEventAdapter::~TestPhoneKeyEventAdapter ()
+{
+}
+
+void TestPhoneKeyEventAdapter::initTestCase ()
+{	
+}
+
+void TestPhoneKeyEventAdapter::cleanupTestCase ()
+{
+}
+
+void TestPhoneKeyEventAdapter::init ()
+{
+    m_uicontrol = new CPhoneUIController_Stub(); 
+    m_keyadapter = new PhoneUIKeyEventAdapter(*m_uicontrol);
+}
+
+void TestPhoneKeyEventAdapter::cleanup ()
+{
+    delete m_uicontrol;
+    delete m_keyadapter;
+}
+
+void TestPhoneKeyEventAdapter::testKeyPressEvents ()
+{
+    quint32 scanCode = 123;
+    quint32 code = 123;
+    quint32 modifiers = 0; 
+    QKeyEvent *keyEvent = QKeyEvent::createExtendedKeyEvent( 
+        QEvent::KeyPress, 123, Qt::NoModifier, scanCode, code, modifiers );
+        	
+    m_keyadapter->keyPressed(keyEvent);
+    
+    QVERIFY( 0 == m_repeats );
+    QVERIFY( scanCode == m_scan_code_down );
+    QVERIFY( code == m_code_down );
+    
+    delete keyEvent;
+}
+
+void TestPhoneKeyEventAdapter::testKeyReleaseEvents ()
+{
+    quint32 scanCode = 100;
+    quint32 code = 100;
+    quint32 modifiers = 0; 
+    QKeyEvent *keyEvent = QKeyEvent::createExtendedKeyEvent( 
+        QEvent::KeyRelease, code, Qt::NoModifier, scanCode, code, modifiers );
+        	
+    m_keyadapter->keyReleased(keyEvent);
+    
+    QVERIFY( 0 == m_repeats );
+    QVERIFY( scanCode == m_scan_code );
+    QVERIFY( code == m_code );
+    
+    delete keyEvent;
+    
+}
+
+void TestPhoneKeyEventAdapter::testKeyPressEventsByQtKeys ()
+{
+    quint32 scanCode = 100;
+    quint32 code = 20;
+    quint32 modifiers = 0; 
+    QKeyEvent *keyEvent = QKeyEvent::createExtendedKeyEvent( 
+        QEvent::KeyRelease, Qt::Key_Yes, Qt::NoModifier, scanCode, code, modifiers );
+            
+    m_keyadapter->keyPressed(keyEvent);
+    
+    QVERIFY( 0 == m_repeats );
+    QVERIFY( EKeyYes == m_scan_code_down );
+    QVERIFY( EKeyYes == m_code_down );
+    
+    delete keyEvent;
+    
+    keyEvent = QKeyEvent::createExtendedKeyEvent( 
+            QEvent::KeyRelease, Qt::Key_No, Qt::NoModifier, scanCode, code, modifiers );
+                
+    m_keyadapter->keyPressed(keyEvent);
+        
+    QVERIFY( 0 == m_repeats );
+    QVERIFY( EKeyNo == m_scan_code_down );
+    QVERIFY( EKeyNo == m_code_down );
+    
+    delete keyEvent;
+    
+    keyEvent = QKeyEvent::createExtendedKeyEvent( 
+            QEvent::KeyRelease, Qt::Key_NumberSign, Qt::NoModifier, scanCode, code, modifiers );
+                
+    m_keyadapter->keyPressed(keyEvent);
+        
+    QVERIFY( 0 == m_repeats );
+    QVERIFY( KPhoneDtmfHashCharacter == m_scan_code_down );
+    QVERIFY( KPhoneDtmfHashCharacter == m_code_down );
+    
+    delete keyEvent;
+    
+}
+
+void TestPhoneKeyEventAdapter::testLeave ()
+{
+    m_leave = true;	
+    quint32 scanCode = 100;
+    quint32 code = 20;
+    quint32 modifiers = 0; 
+    QKeyEvent *keyEvent = QKeyEvent::createExtendedKeyEvent( 
+        QEvent::KeyRelease, 0, Qt::NoModifier, scanCode, code, modifiers );
+    
+    m_keyadapter->keyPressed(keyEvent);
+    
+    QVERIFY( 0 == m_scan_code );
+    QVERIFY( 0 == m_code );
+        	
+    m_keyadapter->keyReleased(keyEvent);
+    
+    QVERIFY( 0 == m_scan_code );
+    QVERIFY( 0 == m_code );
+    
+    m_leave = false;
+    
+    delete keyEvent;
+}
+
+PHONE_QT_TEST_MAIN(TestPhoneKeyEventAdapter)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/tsrc/ut_phoneuikeyeventadapter/ut_phoneuikeyeventadapter.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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 = ut_phoneuikeyeventadapter
+TARGET.UID3 = 0xEA9BEF3E
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+CONFIG += hb qtestlib
+
+symbian {
+
+    INCLUDEPATH += /epoc32/include/platform/mw \
+                   /epoc32/include/platform/app \
+                   /epoc32/include/mw \
+                   ../../../phoneuicontrol/inc/ \
+                   ../../../phoneuiutils/inc/ \
+                   ../../inc/ \
+                   ../../../../inc \
+                   ./
+
+}
+
+
+# Input
+HEADERS += ../../inc/phoneuikeyeventadapter.h \
+           cphoneuicontroller_stub.h
+SOURCES += ../../src/phoneuikeyeventadapter.cpp \
+           unit_tests.cpp \
+           cphoneuicontroller_stub.cpp
+           
--- a/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -20,216 +20,217 @@
 	?OpenMenuBarL@CPhoneStateCallSetup@@MAEXXZ @ 19 NONAME ; void CPhoneStateCallSetup::OpenMenuBarL(void)
 	??1CPhoneStateCallSetup@@UAE@XZ @ 20 NONAME ; CPhoneStateCallSetup::~CPhoneStateCallSetup(void)
 	?HandleEnvironmentChangeL@CPhoneUIController@@UAEXH@Z @ 21 NONAME ; void CPhoneUIController::HandleEnvironmentChangeL(int)
-	?Instance@CPhoneStateHandle@@SAPAV1@XZ @ 22 NONAME ; class CPhoneStateHandle * CPhoneStateHandle::Instance(void)
-	?HandleNumberEntryClearedL@CPhoneStateIdle@@MAEXXZ @ 23 NONAME ; void CPhoneStateIdle::HandleNumberEntryClearedL(void)
-	?DynInitMenuPaneL@CPhoneStateIncoming@@MAEXHPAVCEikMenuPane@@@Z @ 24 NONAME ; void CPhoneStateIncoming::DynInitMenuPaneL(int, class CEikMenuPane *)
-	?HandleCommandL@CPhoneState@@UAEHH@Z @ 25 NONAME ; int CPhoneState::HandleCommandL(int)
-	?StartAlsLineChangeTimerL@CPhoneState@@IAEXXZ @ 26 NONAME ; void CPhoneState::StartAlsLineChangeTimerL(void)
-	?IsNumberEntryVisibleL@CPhoneState@@QAEHXZ @ 27 NONAME ; int CPhoneState::IsNumberEntryVisibleL(void)
-	?RetainPreviousKeylockStateL@CPhoneState@@QAEXXZ @ 28 NONAME ; void CPhoneState::RetainPreviousKeylockStateL(void)
-	?HandlePhoneEngineMessageL@CPhoneStateIdle@@UAEXHH@Z @ 29 NONAME ; void CPhoneStateIdle::HandlePhoneEngineMessageL(int, int)
-	?HandleDialingL@CPhoneStateIdle@@MAEXH@Z @ 30 NONAME ; void CPhoneStateIdle::HandleDialingL(int)
-	?CustomizedDialerCbaResourceIdL@CPhoneState@@IAEHXZ @ 31 NONAME ; int CPhoneState::CustomizedDialerCbaResourceIdL(void)
-	?CaptureKeysDuringCallNotificationL@CPhoneState@@IAEXH@Z @ 32 NONAME ; void CPhoneState::CaptureKeysDuringCallNotificationL(int)
-	?HandleKeyPressDurationL@CPhoneState@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 33 NONAME ; void CPhoneState::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds)
-	?ChangeState@CPhoneStateMachine@@UAEXH@Z @ 34 NONAME ; void CPhoneStateMachine::ChangeState(int)
-	?IsSimStateNotPresentWithSecurityModeEnabled@CPhoneState@@IAEHXZ @ 35 NONAME ; int CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled(void)
-	?HandlePhoneEngineMessageL@CPhoneState@@UAEXHH@Z @ 36 NONAME ; void CPhoneState::HandlePhoneEngineMessageL(int, int)
-	?HandleNumberEntryClearedL@CPhoneStateIncoming@@UAEXXZ @ 37 NONAME ; void CPhoneStateIncoming::HandleNumberEntryClearedL(void)
-	?HandleKeyEventL@CPhoneUIController@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 38 NONAME ; enum TKeyResponse CPhoneUIController::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?HandleRemConCommandL@CPhoneStateIdle@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 39 NONAME ; int CPhoneStateIdle::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
-	?HandleAudioPlayStoppedL@CPhoneStateIncoming@@MAEXXZ @ 40 NONAME ; void CPhoneStateIncoming::HandleAudioPlayStoppedL(void)
-	?HandleCenRepChangeL@CPhoneState@@UAEXABVTUid@@I@Z @ 41 NONAME ; void CPhoneState::HandleCenRepChangeL(class TUid const &, unsigned int)
-	?HandleLongHashL@CPhoneState@@UAEXXZ @ 42 NONAME ; void CPhoneState::HandleLongHashL(void)
-	?DialL@CPhoneStateIdle@@MAEXABVTDesC16@@W4TPhoneNumberType@@W4TDialInitiationMethod@1@@Z @ 43 NONAME ; void CPhoneStateIdle::DialL(class TDesC16 const &, enum TPhoneNumberType, enum CPhoneStateIdle::TDialInitiationMethod)
-	?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 44 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void)
-	?DisconnectCallL@CPhoneState@@IAEHXZ @ 45 NONAME ; int CPhoneState::DisconnectCallL(void)
-	?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 46 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void)
-	?HandleIdleForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 47 NONAME ; void CPhoneStateIdle::HandleIdleForegroundEventL(void)
-	?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 48 NONAME ; void CPhoneState::HandleDisconnectingL(int)
-	?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 49 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void)
-	?HandleKeyLockEnabled@CPhoneState@@UAEXH@Z @ 50 NONAME ; void CPhoneState::HandleKeyLockEnabled(int)
-	?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 51 NONAME ; int CPhoneStateIncoming::HandleCommandL(int)
-	?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 52 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int)
-	?IsOnScreenDialerSupported@CPhoneState@@IBEHXZ @ 53 NONAME ; int CPhoneState::IsOnScreenDialerSupported(void) const
-	?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 54 NONAME ; enum TPESimState CPhoneState::SimState(void) const
-	?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 55 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?SetupIdleScreenInBackgroundL@CPhoneState@@IAEXXZ @ 56 NONAME ; void CPhoneState::SetupIdleScreenInBackgroundL(void)
-	?SendGlobalWarningNoteL@CPhoneState@@IAEXH@Z @ 57 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int)
-	?CompleteSatRequestL@CPhoneState@@IAEXH@Z @ 58 NONAME ; void CPhoneState::CompleteSatRequestL(int)
-	?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 59 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?LaunchNewCallQueryL@CPhoneStateInCall@@IAEXXZ @ 60 NONAME ; void CPhoneStateInCall::LaunchNewCallQueryL(void)
-	?NeedToSendToBackgroundL@CPhoneState@@IBEHXZ @ 61 NONAME ; int CPhoneState::NeedToSendToBackgroundL(void) const
-	?SetCallHeaderTextsForCallComingInL@CPhoneState@@IAEXHHPAVTPhoneCmdParamCallHeaderData@@@Z @ 62 NONAME ; void CPhoneState::SetCallHeaderTextsForCallComingInL(int, int, class TPhoneCmdParamCallHeaderData *)
-	?IsSimOk@CPhoneState@@QAEHXZ @ 63 NONAME ; int CPhoneState::IsSimOk(void)
-	?ClearNumberEntryContentCache@CPhoneState@@IAEXXZ @ 64 NONAME ; void CPhoneState::ClearNumberEntryContentCache(void)
-	?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 65 NONAME ; int CPhoneStateIdle::HandleCommandL(int)
-	?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 66 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void)
-	?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 67 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void)
-	?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 68 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void)
-	?IsKeyLockOn@CPhoneState@@MBEHXZ @ 69 NONAME ; int CPhoneState::IsKeyLockOn(void) const
-	??1CPhoneStateInCall@@UAE@XZ @ 70 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void)
-	?CustomizedDialerMenuResourceIdL@CPhoneState@@IAEHXZ @ 71 NONAME ; int CPhoneState::CustomizedDialerMenuResourceIdL(void)
-	?ShowReconnectQueryL@CPhoneReconnectQuery@@QAEXH@Z @ 72 NONAME ; void CPhoneReconnectQuery::ShowReconnectQueryL(int)
-	?UpdateSilenceButtonDimming@CPhoneState@@IAEXXZ @ 73 NONAME ; void CPhoneState::UpdateSilenceButtonDimming(void)
-	?SetNumberEntryVisibilityL@CPhoneState@@IAEXH@Z @ 74 NONAME ; void CPhoneState::SetNumberEntryVisibilityL(int)
-	?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 75 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &)
-	?ConstructL@CPhoneStateInCall@@MAEXXZ @ 76 NONAME ; void CPhoneStateInCall::ConstructL(void)
-	?OnlyHashInNumberEntryL@CPhoneStateIdle@@MAEXXZ @ 77 NONAME ; void CPhoneStateIdle::OnlyHashInNumberEntryL(void)
-	?IsVideoCallRingingL@CPhoneStateInCall@@MAEHXZ @ 78 NONAME ; int CPhoneStateInCall::IsVideoCallRingingL(void)
-	?HandlePhoneForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 79 NONAME ; void CPhoneStateIdle::HandlePhoneForegroundEventL(void)
-	?HandleHoldSwitchL@CPhoneState@@QAEXXZ @ 80 NONAME ; void CPhoneState::HandleHoldSwitchL(void)
-	?CloseDtmfQueryL@CPhoneStateInCall@@IAEXXZ @ 81 NONAME ; void CPhoneStateInCall::CloseDtmfQueryL(void)
-	?DynInitMenuBarL@CPhoneState@@UAEXHPAVCEikMenuBar@@@Z @ 82 NONAME ; void CPhoneState::DynInitMenuBarL(int, class CEikMenuBar *)
-	?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 83 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
-	?HandleNumberEntryEdited@CPhoneState@@MAEXXZ @ 84 NONAME ; void CPhoneState::HandleNumberEntryEdited(void)
-	?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 85 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int)
-	?DialMultimediaCallL@CPhoneState@@IAEXXZ @ 86 NONAME ; void CPhoneState::DialMultimediaCallL(void)
-	?NewL@CPhoneUIController@@SAPAV1@PAVMPhoneViewCommandHandle@@@Z @ 87 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class MPhoneViewCommandHandle *)
-	?HandleCreateNumberEntryL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 88 NONAME ; void CPhoneStateStartup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
-	?CheckDisableHWKeysAndCallUIL@CPhoneState@@QAEXXZ @ 89 NONAME ; void CPhoneState::CheckDisableHWKeysAndCallUIL(void)
-	?IsMenuBarVisibleL@CPhoneState@@UBEHXZ @ 90 NONAME ; int CPhoneState::IsMenuBarVisibleL(void) const
-	?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 91 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &)
-	?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 92 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int)
-	?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 93 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void)
-	??1CPhoneUIController@@UAE@XZ @ 94 NONAME ; CPhoneUIController::~CPhoneUIController(void)
-	?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 95 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?UpdateIncomingContextMenuL@CPhoneState@@MAEXH@Z @ 96 NONAME ; void CPhoneState::UpdateIncomingContextMenuL(int)
-	?OpenMenuBarL@CPhoneStateInCall@@MAEXXZ @ 97 NONAME ; void CPhoneStateInCall::OpenMenuBarL(void)
-	?UpdateIncomingCbaL@CPhoneCbaManager@@QAEXH@Z @ 98 NONAME ; void CPhoneCbaManager::UpdateIncomingCbaL(int)
-	?SetTouchPaneButtonDisabled@CPhoneState@@IAEXH@Z @ 99 NONAME ; void CPhoneState::SetTouchPaneButtonDisabled(int)
-	?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 100 NONAME ; void CPhoneStateIncoming::ConstructL(void)
-	?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 101 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &)
-	?SetTouchPaneButtons@CPhoneState@@IAEXH@Z @ 102 NONAME ; void CPhoneState::SetTouchPaneButtons(int)
-	?HandleIdleForegroundEventL@CPhoneStateStartup@@UAEXXZ @ 103 NONAME ; void CPhoneStateStartup::HandleIdleForegroundEventL(void)
-	?CallFromNumberEntryL@CPhoneState@@IAEXXZ @ 104 NONAME ; void CPhoneState::CallFromNumberEntryL(void)
-	?UpdateCbaL@CPhoneCbaManager@@QAEXH@Z @ 105 NONAME ; void CPhoneCbaManager::UpdateCbaL(int)
-	?IsVideoCall@CPhoneState@@IAEHH@Z @ 106 NONAME ; int CPhoneState::IsVideoCall(int)
-	?IsSwivelClosed@CPhoneState@@QBEHXZ @ 107 NONAME ; int CPhoneState::IsSwivelClosed(void) const
-	?CloseCustomizedDialerL@CPhoneState@@QAEXXZ @ 108 NONAME ; void CPhoneState::CloseCustomizedDialerL(void)
-	?HandlePhoneForegroundEventL@CPhoneUIController@@UAEXXZ @ 109 NONAME ; void CPhoneUIController::HandlePhoneForegroundEventL(void)
-	?CheckIfRestoreNEContentAfterDtmfDialer@CPhoneState@@IAEXXZ @ 110 NONAME ; void CPhoneState::CheckIfRestoreNEContentAfterDtmfDialer(void)
-	?UpdateInCallContextMenuL@CPhoneState@@UAEXXZ @ 111 NONAME ; void CPhoneState::UpdateInCallContextMenuL(void)
-	?HandleNumericKeyEventL@CPhoneState@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 112 NONAME ; void CPhoneState::HandleNumericKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?SendGlobalErrorNoteL@CPhoneState@@QAEXH@Z @ 113 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int)
-	?IsAutoLockOn@CPhoneState@@UBEHXZ @ 114 NONAME ; int CPhoneState::IsAutoLockOn(void) const
-	?UpdateCbaL@CPhoneStateCallSetup@@MAEXH@Z @ 115 NONAME ; void CPhoneStateCallSetup::UpdateCbaL(int)
-	?RestoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 116 NONAME ; void CPhoneState::RestoreNumberEntryContentL(void)
-	?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 117 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?IsNumberEntryContentStored@CPhoneState@@IAEHXZ @ 118 NONAME ; int CPhoneState::IsNumberEntryContentStored(void)
-	?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 119 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void)
-	?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 120 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void)
-	?DialVoiceCallL@CPhoneState@@IAEXXZ @ 121 NONAME ; void CPhoneState::DialVoiceCallL(void)
-	?EndUiUpdate@CPhoneState@@IAEXXZ @ 122 NONAME ; void CPhoneState::EndUiUpdate(void)
-	?HandleKeyPressDurationL@CPhoneStateIncoming@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 123 NONAME ; void CPhoneStateIncoming::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds)
-	?UpdateInCallCbaL@CPhoneStateInCall@@MAEXXZ @ 124 NONAME ; void CPhoneStateInCall::UpdateInCallCbaL(void)
-	?EndTransEffect@CPhoneState@@QAEXXZ @ 125 NONAME ; void CPhoneState::EndTransEffect(void)
-	?HandleEnvironmentChangeL@CPhoneState@@UAEXH@Z @ 126 NONAME ; void CPhoneState::HandleEnvironmentChangeL(int)
-	?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 127 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 128 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int)
-	?ProcessCommandL@CPhoneState@@UAEHH@Z @ 129 NONAME ; int CPhoneState::ProcessCommandL(int)
-	?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 130 NONAME ; void CPhoneState::BeginUiUpdateLC(void)
-	?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 131 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void)
-	?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 132 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void)
-	?CreateNumberEntryL@CPhoneStateInCall@@IAEXXZ @ 133 NONAME ; void CPhoneStateInCall::CreateNumberEntryL(void)
-	?HandleSystemEventL@CPhoneUIController@@UAEXABVTWsEvent@@@Z @ 134 NONAME ; void CPhoneUIController::HandleSystemEventL(class TWsEvent const &)
-	?DynInitMenuPaneL@CPhoneUIController@@UAEXHPAVCEikMenuPane@@@Z @ 135 NONAME ; void CPhoneUIController::DynInitMenuPaneL(int, class CEikMenuPane *)
-	??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 136 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?GetRemoteInfoDataL@CPhoneState@@IAEXHAAVTDes16@@@Z @ 137 NONAME ; void CPhoneState::GetRemoteInfoDataL(int, class TDes16 &)
-	?SetDivertIndication@CPhoneState@@UAEXH@Z @ 138 NONAME ; void CPhoneState::SetDivertIndication(int)
-	?UpdateCbaL@CPhoneStateInCall@@MAEXH@Z @ 139 NONAME ; void CPhoneStateInCall::UpdateCbaL(int)
-	?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 140 NONAME ; void CPhoneStateMachine::SetCallId(int)
-	?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 141 NONAME ; int CPhoneUIController::ProcessCommandL(int)
-	?DisplayHeaderForCallComingInL@CPhoneState@@IAEXHH@Z @ 142 NONAME ; void CPhoneState::DisplayHeaderForCallComingInL(int, int)
-	??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 143 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 144 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int)
-	??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 145 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 146 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 147 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
-	?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 148 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?HandleForegroundEventL@CPhoneUIController@@UAEXH@Z @ 149 NONAME ; void CPhoneUIController::HandleForegroundEventL(int)
-	?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 150 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void)
-	?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 151 NONAME ; int CPhoneUIController::HandleCommandL(int)
-	?HandleCreateNumberEntryL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 152 NONAME ; void CPhoneState::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
-	?DisableHWKeysL@CPhoneState@@QAEXXZ @ 153 NONAME ; void CPhoneState::DisableHWKeysL(void)
-	?DisplayHeaderForOutgoingCallL@CPhoneState@@IAEXH@Z @ 154 NONAME ; void CPhoneState::DisplayHeaderForOutgoingCallL(int)
-	?GetBlockedKeyList@CPhoneState@@UBEABV?$RArray@H@@XZ @ 155 NONAME ; class RArray<int> const & CPhoneState::GetBlockedKeyList(void) const
-	?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 156 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int)
-	?IsSpeedDialNumber@CPhoneStateIdle@@IBEHABVTDesC16@@@Z @ 157 NONAME ; int CPhoneStateIdle::IsSpeedDialNumber(class TDesC16 const &) const
-	?IsNumberEntryUsedL@CPhoneState@@UAEHXZ @ 158 NONAME ; int CPhoneState::IsNumberEntryUsedL(void)
-	?PhoneStorage@CPhoneStateMachine@@UAEPAVMPhoneStorage@@XZ @ 159 NONAME ; class MPhoneStorage * CPhoneStateMachine::PhoneStorage(void)
-	??1CPhoneState@@UAE@XZ @ 160 NONAME ; CPhoneState::~CPhoneState(void)
-	?HandleCreateNumberEntryL@CPhoneStateCallSetup@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 161 NONAME ; void CPhoneStateCallSetup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
-	?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 162 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int)
-	?HandlePhoneFocusLostEventL@CPhoneState@@UAEXXZ @ 163 NONAME ; void CPhoneState::HandlePhoneFocusLostEventL(void)
-	??1CPhoneStateMachine@@UAE@XZ @ 164 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void)
-	?HandleIdleForegroundEventL@CPhoneState@@UAEXXZ @ 165 NONAME ; void CPhoneState::HandleIdleForegroundEventL(void)
-	?DynInitMenuPaneL@CPhoneState@@UAEXHPAVCEikMenuPane@@@Z @ 166 NONAME ; void CPhoneState::DynInitMenuPaneL(int, class CEikMenuPane *)
-	?IsDTMFEditorVisibleL@CPhoneState@@IBEHXZ @ 167 NONAME ; int CPhoneState::IsDTMFEditorVisibleL(void) const
-	?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 168 NONAME ; void CPhoneStateCallSetup::ConstructL(void)
-	?BeginTransEffectLC@CPhoneState@@QAEXW4TStateTransEffectType@@@Z @ 169 NONAME ; void CPhoneState::BeginTransEffectLC(enum TStateTransEffectType)
-	?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 170 NONAME ; void CPhoneUIController::HandleMessage(int, int)
-	?HandleSystemEventL@CPhoneState@@UAEXABVTWsEvent@@@Z @ 171 NONAME ; void CPhoneState::HandleSystemEventL(class TWsEvent const &)
-	?DisplayCallSetupL@CPhoneStateIdle@@IAEXH@Z @ 172 NONAME ; void CPhoneStateIdle::DisplayCallSetupL(int)
-	?ConstructL@CPhoneStateStartup@@MAEXXZ @ 173 NONAME ; void CPhoneStateStartup::ConstructL(void)
-	?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 174 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?ShowNoteL@CPhoneState@@IAEXH@Z @ 175 NONAME ; void CPhoneState::ShowNoteL(int)
-	?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 176 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int)
-	?IsAnyQueryActiveL@CPhoneState@@QAEHXZ @ 177 NONAME ; int CPhoneState::IsAnyQueryActiveL(void)
-	?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 178 NONAME ; class MPhoneState * CPhoneStateMachine::State(void)
-	?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 179 NONAME ; void CPhoneState::SetHandsfreeModeL(int)
-	?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 180 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const
-	?UpdateInCallCbaL@CPhoneStateCallSetup@@MAEXXZ @ 181 NONAME ; void CPhoneStateCallSetup::UpdateInCallCbaL(void)
-	?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 182 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void)
-	??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 183 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
-	??1CPhoneStateIncoming@@UAE@XZ @ 184 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void)
-	?HandleKeyLockEnabled@CPhoneUIController@@UAEXH@Z @ 185 NONAME ; void CPhoneUIController::HandleKeyLockEnabled(int)
-	?DisableCallUIL@CPhoneState@@QAEXXZ @ 186 NONAME ; void CPhoneState::DisableCallUIL(void)
-	?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 187 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void)
-	?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 188 NONAME ; int CPhoneStateIdle::ProcessCommandL(int)
-	?IsNoteVisibleL@CPhoneState@@MAEHXZ @ 189 NONAME ; int CPhoneState::IsNoteVisibleL(void)
-	?DynInitMenuBarL@CPhoneUIController@@UAEXHPAVCEikMenuBar@@@Z @ 190 NONAME ; void CPhoneUIController::DynInitMenuBarL(int, class CEikMenuBar *)
-	?IsAlphanumericSupportedAndCharInput@CPhoneState@@MAEHABUTKeyEvent@@@Z @ 191 NONAME ; int CPhoneState::IsAlphanumericSupportedAndCharInput(struct TKeyEvent const &)
-	?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 192 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int)
-	?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 193 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 194 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
-	?HandleNumberEntryClearedL@CPhoneState@@MAEXXZ @ 195 NONAME ; void CPhoneState::HandleNumberEntryClearedL(void)
-	?OnlyHashInNumberEntryL@CPhoneState@@MAEXXZ @ 196 NONAME ; void CPhoneState::OnlyHashInNumberEntryL(void)
-	?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 197 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void)
-	?ConstructL@CPhoneStateIdle@@MAEXXZ @ 198 NONAME ; void CPhoneStateIdle::ConstructL(void)
-	?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 199 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void)
-	?SetCallHeaderType@CPhoneState@@IAEXW4TPhoneCallTypeFlags@CBubbleManager@@@Z @ 200 NONAME ; void CPhoneState::SetCallHeaderType(enum CBubbleManager::TPhoneCallTypeFlags)
-	?SendGlobalInfoNoteL@CPhoneState@@QAEXH@Z @ 201 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int)
-	?DisplayIdleScreenL@CPhoneState@@IAEXXZ @ 202 NONAME ; void CPhoneState::DisplayIdleScreenL(void)
-	?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 203 NONAME ; void CPhoneState::StartShowSecurityNoteL(void)
-	?StoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 204 NONAME ; void CPhoneState::StoreNumberEntryContentL(void)
-	?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 205 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int)
-	?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 206 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int)
-	?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 207 NONAME ; void CPhoneState::SetDefaultFlagsL(void)
-	?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 208 NONAME ; int CPhoneStateInCall::HandleCommandL(int)
-	?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 209 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void)
-	?UpdateRemoteInfoDataL@CPhoneState@@IAEXH@Z @ 210 NONAME ; void CPhoneState::UpdateRemoteInfoDataL(int)
-	?GetRingingCallL@CPhoneStateInCall@@MAEHXZ @ 211 NONAME ; int CPhoneStateInCall::GetRingingCallL(void)
-	?HandleIdleForegroundEventL@CPhoneUIController@@UAEXXZ @ 212 NONAME ; void CPhoneUIController::HandleIdleForegroundEventL(void)
-	?HandlePhoneForegroundEventL@CPhoneState@@UAEXXZ @ 213 NONAME ; void CPhoneState::HandlePhoneForegroundEventL(void)
-	?HandleForegroundEventL@CPhoneState@@UAEXH@Z @ 214 NONAME ; void CPhoneState::HandleForegroundEventL(int)
-	?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 215 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int)
-	?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 216 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
-	??1CPhoneStateIdle@@UAE@XZ @ 217 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void)
-	?PhoneNumberFromEntryLC@CPhoneState@@IAEPAVHBufC16@@XZ @ 218 NONAME ; class HBufC16 * CPhoneState::PhoneNumberFromEntryLC(void)
-	?BaseConstructL@CPhoneState@@QAEXXZ @ 219 NONAME ; void CPhoneState::BaseConstructL(void)
-	?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 220 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void)
-	?SpeedDialL@CPhoneStateIdle@@IAEXABIW4TDialInitiationMethod@1@@Z @ 221 NONAME ; void CPhoneStateIdle::SpeedDialL(unsigned int const &, enum CPhoneStateIdle::TDialInitiationMethod)
-	?SetTouchPaneButtonEnabled@CPhoneState@@IAEXH@Z @ 222 NONAME ; void CPhoneState::SetTouchPaneButtonEnabled(int)
-	?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 223 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *)
-	?SpeedDialCanceledL@CPhoneStateIdle@@IAEXABI@Z @ 224 NONAME ; void CPhoneStateIdle::SpeedDialCanceledL(unsigned int const &)
-	?CloseDTMFEditorL@CPhoneState@@IAEXXZ @ 225 NONAME ; void CPhoneState::CloseDTMFEditorL(void)
-	?SetTouchPaneVisible@CPhoneState@@IAEXH@Z @ 226 NONAME ; void CPhoneState::SetTouchPaneVisible(int)
-	?HandlePhoneFocusLostEventL@CPhoneUIController@@UAEXXZ @ 227 NONAME ; void CPhoneUIController::HandlePhoneFocusLostEventL(void)
-	?HandleKeyLockEnabled@CPhoneStateIncoming@@UAEXH@Z @ 228 NONAME ; void CPhoneStateIncoming::HandleKeyLockEnabled(int)
-	??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 229 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *)
-	??1CPhoneStateStartup@@UAE@XZ @ 230 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void)
-	?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 231 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
-	?SetToolbarButtonLoudspeakerEnabled@CPhoneState@@IAEXXZ @ 232 NONAME ; void CPhoneState::SetToolbarButtonLoudspeakerEnabled(void)
-	?SetToolbarDimming@CPhoneState@@IAEXH@Z @ 233 NONAME ; void CPhoneState::SetToolbarDimming(int)
+	?SetToolbarButtonLoudspeakerEnabled@CPhoneState@@IAEXXZ @ 22 NONAME ; void CPhoneState::SetToolbarButtonLoudspeakerEnabled(void)
+	?Instance@CPhoneStateHandle@@SAPAV1@XZ @ 23 NONAME ; class CPhoneStateHandle * CPhoneStateHandle::Instance(void)
+	?HandleNumberEntryClearedL@CPhoneStateIdle@@MAEXXZ @ 24 NONAME ; void CPhoneStateIdle::HandleNumberEntryClearedL(void)
+	?DynInitMenuPaneL@CPhoneStateIncoming@@MAEXHPAVCEikMenuPane@@@Z @ 25 NONAME ; void CPhoneStateIncoming::DynInitMenuPaneL(int, class CEikMenuPane *)
+	?HandleCommandL@CPhoneState@@UAEHH@Z @ 26 NONAME ; int CPhoneState::HandleCommandL(int)
+	?StartAlsLineChangeTimerL@CPhoneState@@IAEXXZ @ 27 NONAME ; void CPhoneState::StartAlsLineChangeTimerL(void)
+	?IsNumberEntryVisibleL@CPhoneState@@QAEHXZ @ 28 NONAME ; int CPhoneState::IsNumberEntryVisibleL(void)
+	?RetainPreviousKeylockStateL@CPhoneState@@QAEXXZ @ 29 NONAME ; void CPhoneState::RetainPreviousKeylockStateL(void)
+	?HandlePhoneEngineMessageL@CPhoneStateIdle@@UAEXHH@Z @ 30 NONAME ; void CPhoneStateIdle::HandlePhoneEngineMessageL(int, int)
+	?HandleDialingL@CPhoneStateIdle@@MAEXH@Z @ 31 NONAME ; void CPhoneStateIdle::HandleDialingL(int)
+	?CustomizedDialerCbaResourceIdL@CPhoneState@@IAEHXZ @ 32 NONAME ; int CPhoneState::CustomizedDialerCbaResourceIdL(void)
+	?CaptureKeysDuringCallNotificationL@CPhoneState@@IAEXH@Z @ 33 NONAME ; void CPhoneState::CaptureKeysDuringCallNotificationL(int)
+	?HandleKeyPressDurationL@CPhoneState@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 34 NONAME ; void CPhoneState::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds)
+	?ChangeState@CPhoneStateMachine@@UAEXH@Z @ 35 NONAME ; void CPhoneStateMachine::ChangeState(int)
+	?IsSimStateNotPresentWithSecurityModeEnabled@CPhoneState@@IAEHXZ @ 36 NONAME ; int CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled(void)
+	?HandlePhoneEngineMessageL@CPhoneState@@UAEXHH@Z @ 37 NONAME ; void CPhoneState::HandlePhoneEngineMessageL(int, int)
+	?HandleNumberEntryClearedL@CPhoneStateIncoming@@UAEXXZ @ 38 NONAME ; void CPhoneStateIncoming::HandleNumberEntryClearedL(void)
+	?HandleKeyEventL@CPhoneUIController@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 39 NONAME ; enum TKeyResponse CPhoneUIController::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?HandleRemConCommandL@CPhoneStateIdle@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 40 NONAME ; int CPhoneStateIdle::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
+	?HandleAudioPlayStoppedL@CPhoneStateIncoming@@MAEXXZ @ 41 NONAME ; void CPhoneStateIncoming::HandleAudioPlayStoppedL(void)
+	?HandleCenRepChangeL@CPhoneState@@UAEXABVTUid@@I@Z @ 42 NONAME ; void CPhoneState::HandleCenRepChangeL(class TUid const &, unsigned int)
+	?HandleLongHashL@CPhoneState@@UAEXXZ @ 43 NONAME ; void CPhoneState::HandleLongHashL(void)
+	?DialL@CPhoneStateIdle@@MAEXABVTDesC16@@W4TPhoneNumberType@@W4TDialInitiationMethod@1@@Z @ 44 NONAME ; void CPhoneStateIdle::DialL(class TDesC16 const &, enum TPhoneNumberType, enum CPhoneStateIdle::TDialInitiationMethod)
+	?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 45 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void)
+	?DisconnectCallL@CPhoneState@@IAEHXZ @ 46 NONAME ; int CPhoneState::DisconnectCallL(void)
+	?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 47 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void)
+	?HandleIdleForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 48 NONAME ; void CPhoneStateIdle::HandleIdleForegroundEventL(void)
+	?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 49 NONAME ; void CPhoneState::HandleDisconnectingL(int)
+	?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 50 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void)
+	?HandleKeyLockEnabled@CPhoneState@@UAEXH@Z @ 51 NONAME ; void CPhoneState::HandleKeyLockEnabled(int)
+	?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 52 NONAME ; int CPhoneStateIncoming::HandleCommandL(int)
+	?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 53 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int)
+	?IsOnScreenDialerSupported@CPhoneState@@IBEHXZ @ 54 NONAME ; int CPhoneState::IsOnScreenDialerSupported(void) const
+	?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 55 NONAME ; enum TPESimState CPhoneState::SimState(void) const
+	?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 56 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?SetupIdleScreenInBackgroundL@CPhoneState@@IAEXXZ @ 57 NONAME ; void CPhoneState::SetupIdleScreenInBackgroundL(void)
+	?SendGlobalWarningNoteL@CPhoneState@@IAEXH@Z @ 58 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int)
+	?CompleteSatRequestL@CPhoneState@@IAEXH@Z @ 59 NONAME ; void CPhoneState::CompleteSatRequestL(int)
+	?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 60 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?LaunchNewCallQueryL@CPhoneStateInCall@@IAEXXZ @ 61 NONAME ; void CPhoneStateInCall::LaunchNewCallQueryL(void)
+	?NeedToSendToBackgroundL@CPhoneState@@IBEHXZ @ 62 NONAME ; int CPhoneState::NeedToSendToBackgroundL(void) const
+	?SetCallHeaderTextsForCallComingInL@CPhoneState@@IAEXHHPAVTPhoneCmdParamCallHeaderData@@@Z @ 63 NONAME ; void CPhoneState::SetCallHeaderTextsForCallComingInL(int, int, class TPhoneCmdParamCallHeaderData *)
+	?IsSimOk@CPhoneState@@QAEHXZ @ 64 NONAME ; int CPhoneState::IsSimOk(void)
+	?ClearNumberEntryContentCache@CPhoneState@@IAEXXZ @ 65 NONAME ; void CPhoneState::ClearNumberEntryContentCache(void)
+	?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 66 NONAME ; int CPhoneStateIdle::HandleCommandL(int)
+	?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 67 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void)
+	?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 68 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void)
+	?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 69 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void)
+	?IsKeyLockOn@CPhoneState@@MBEHXZ @ 70 NONAME ; int CPhoneState::IsKeyLockOn(void) const
+	??1CPhoneStateInCall@@UAE@XZ @ 71 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void)
+	?CustomizedDialerMenuResourceIdL@CPhoneState@@IAEHXZ @ 72 NONAME ; int CPhoneState::CustomizedDialerMenuResourceIdL(void)
+	?ShowReconnectQueryL@CPhoneReconnectQuery@@QAEXH@Z @ 73 NONAME ; void CPhoneReconnectQuery::ShowReconnectQueryL(int)
+	?UpdateSilenceButtonDimming@CPhoneState@@IAEXXZ @ 74 NONAME ; void CPhoneState::UpdateSilenceButtonDimming(void)
+	?SetNumberEntryVisibilityL@CPhoneState@@IAEXH@Z @ 75 NONAME ; void CPhoneState::SetNumberEntryVisibilityL(int)
+	?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 76 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &)
+	?ConstructL@CPhoneStateInCall@@MAEXXZ @ 77 NONAME ; void CPhoneStateInCall::ConstructL(void)
+	?OnlyHashInNumberEntryL@CPhoneStateIdle@@MAEXXZ @ 78 NONAME ; void CPhoneStateIdle::OnlyHashInNumberEntryL(void)
+	?IsVideoCallRingingL@CPhoneStateInCall@@MAEHXZ @ 79 NONAME ; int CPhoneStateInCall::IsVideoCallRingingL(void)
+	?HandlePhoneForegroundEventL@CPhoneStateIdle@@UAEXXZ @ 80 NONAME ; void CPhoneStateIdle::HandlePhoneForegroundEventL(void)
+	?HandleHoldSwitchL@CPhoneState@@QAEXXZ @ 81 NONAME ; void CPhoneState::HandleHoldSwitchL(void)
+	?CloseDtmfQueryL@CPhoneStateInCall@@IAEXXZ @ 82 NONAME ; void CPhoneStateInCall::CloseDtmfQueryL(void)
+	?DynInitMenuBarL@CPhoneState@@UAEXHPAVCEikMenuBar@@@Z @ 83 NONAME ; void CPhoneState::DynInitMenuBarL(int, class CEikMenuBar *)
+	?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 84 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
+	?HandleNumberEntryEdited@CPhoneState@@MAEXXZ @ 85 NONAME ; void CPhoneState::HandleNumberEntryEdited(void)
+	?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 86 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int)
+	?DialMultimediaCallL@CPhoneState@@IAEXXZ @ 87 NONAME ; void CPhoneState::DialMultimediaCallL(void)
+	?NewL@CPhoneUIController@@SAPAV1@PAVMPhoneViewCommandHandle@@@Z @ 88 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class MPhoneViewCommandHandle *)
+	?HandleCreateNumberEntryL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 89 NONAME ; void CPhoneStateStartup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
+	?CheckDisableHWKeysAndCallUIL@CPhoneState@@QAEXXZ @ 90 NONAME ; void CPhoneState::CheckDisableHWKeysAndCallUIL(void)
+	?IsMenuBarVisibleL@CPhoneState@@UBEHXZ @ 91 NONAME ; int CPhoneState::IsMenuBarVisibleL(void) const
+	?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 92 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &)
+	?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 93 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int)
+	?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 94 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void)
+	??1CPhoneUIController@@UAE@XZ @ 95 NONAME ; CPhoneUIController::~CPhoneUIController(void)
+	?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 96 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?UpdateIncomingContextMenuL@CPhoneState@@MAEXH@Z @ 97 NONAME ; void CPhoneState::UpdateIncomingContextMenuL(int)
+	?OpenMenuBarL@CPhoneStateInCall@@MAEXXZ @ 98 NONAME ; void CPhoneStateInCall::OpenMenuBarL(void)
+	?UpdateIncomingCbaL@CPhoneCbaManager@@QAEXH@Z @ 99 NONAME ; void CPhoneCbaManager::UpdateIncomingCbaL(int)
+	?SetTouchPaneButtonDisabled@CPhoneState@@IAEXH@Z @ 100 NONAME ; void CPhoneState::SetTouchPaneButtonDisabled(int)
+	?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 101 NONAME ; void CPhoneStateIncoming::ConstructL(void)
+	?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 102 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &)
+	?SetTouchPaneButtons@CPhoneState@@IAEXH@Z @ 103 NONAME ; void CPhoneState::SetTouchPaneButtons(int)
+	?HandleIdleForegroundEventL@CPhoneStateStartup@@UAEXXZ @ 104 NONAME ; void CPhoneStateStartup::HandleIdleForegroundEventL(void)
+	?CallFromNumberEntryL@CPhoneState@@IAEXXZ @ 105 NONAME ; void CPhoneState::CallFromNumberEntryL(void)
+	?UpdateCbaL@CPhoneCbaManager@@QAEXH@Z @ 106 NONAME ; void CPhoneCbaManager::UpdateCbaL(int)
+	?IsVideoCall@CPhoneState@@IAEHH@Z @ 107 NONAME ; int CPhoneState::IsVideoCall(int)
+	?IsSwivelClosed@CPhoneState@@QBEHXZ @ 108 NONAME ; int CPhoneState::IsSwivelClosed(void) const
+	?CloseCustomizedDialerL@CPhoneState@@QAEXXZ @ 109 NONAME ; void CPhoneState::CloseCustomizedDialerL(void)
+	?HandlePhoneForegroundEventL@CPhoneUIController@@UAEXXZ @ 110 NONAME ; void CPhoneUIController::HandlePhoneForegroundEventL(void)
+	?CheckIfRestoreNEContentAfterDtmfDialer@CPhoneState@@IAEXXZ @ 111 NONAME ; void CPhoneState::CheckIfRestoreNEContentAfterDtmfDialer(void)
+	?UpdateInCallContextMenuL@CPhoneState@@UAEXXZ @ 112 NONAME ; void CPhoneState::UpdateInCallContextMenuL(void)
+	?HandleNumericKeyEventL@CPhoneState@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 113 NONAME ; void CPhoneState::HandleNumericKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?SetToolbarDimming@CPhoneState@@IAEXH@Z @ 114 NONAME ; void CPhoneState::SetToolbarDimming(int)
+	?SendGlobalErrorNoteL@CPhoneState@@QAEXH@Z @ 115 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int)
+	?IsAutoLockOn@CPhoneState@@UBEHXZ @ 116 NONAME ; int CPhoneState::IsAutoLockOn(void) const
+	?UpdateCbaL@CPhoneStateCallSetup@@MAEXH@Z @ 117 NONAME ; void CPhoneStateCallSetup::UpdateCbaL(int)
+	?RestoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 118 NONAME ; void CPhoneState::RestoreNumberEntryContentL(void)
+	?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 119 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?IsNumberEntryContentStored@CPhoneState@@IAEHXZ @ 120 NONAME ; int CPhoneState::IsNumberEntryContentStored(void)
+	?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 121 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void)
+	?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 122 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void)
+	?DialVoiceCallL@CPhoneState@@IAEXXZ @ 123 NONAME ; void CPhoneState::DialVoiceCallL(void)
+	?StateMachine@CPhoneStateHandle@@QAEPAVMPhoneStateMachine@@XZ @ 124 NONAME ; class MPhoneStateMachine * CPhoneStateHandle::StateMachine(void)
+	?EndUiUpdate@CPhoneState@@IAEXXZ @ 125 NONAME ; void CPhoneState::EndUiUpdate(void)
+	?HandleKeyPressDurationL@CPhoneStateIncoming@@UAEXW4TKeyCode@@VTTimeIntervalMicroSeconds@@@Z @ 126 NONAME ; void CPhoneStateIncoming::HandleKeyPressDurationL(enum TKeyCode, class TTimeIntervalMicroSeconds)
+	?UpdateInCallCbaL@CPhoneStateInCall@@MAEXXZ @ 127 NONAME ; void CPhoneStateInCall::UpdateInCallCbaL(void)
+	?EndTransEffect@CPhoneState@@QAEXXZ @ 128 NONAME ; void CPhoneState::EndTransEffect(void)
+	?HandleEnvironmentChangeL@CPhoneState@@UAEXH@Z @ 129 NONAME ; void CPhoneState::HandleEnvironmentChangeL(int)
+	?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 130 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 131 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int)
+	?ProcessCommandL@CPhoneState@@UAEHH@Z @ 132 NONAME ; int CPhoneState::ProcessCommandL(int)
+	?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 133 NONAME ; void CPhoneState::BeginUiUpdateLC(void)
+	?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 134 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void)
+	?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 135 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void)
+	?CreateNumberEntryL@CPhoneStateInCall@@IAEXXZ @ 136 NONAME ; void CPhoneStateInCall::CreateNumberEntryL(void)
+	?HandleSystemEventL@CPhoneUIController@@UAEXABVTWsEvent@@@Z @ 137 NONAME ; void CPhoneUIController::HandleSystemEventL(class TWsEvent const &)
+	?DynInitMenuPaneL@CPhoneUIController@@UAEXHPAVCEikMenuPane@@@Z @ 138 NONAME ; void CPhoneUIController::DynInitMenuPaneL(int, class CEikMenuPane *)
+	??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 139 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?GetRemoteInfoDataL@CPhoneState@@IAEXHAAVTDes16@@@Z @ 140 NONAME ; void CPhoneState::GetRemoteInfoDataL(int, class TDes16 &)
+	?SetDivertIndication@CPhoneState@@UAEXH@Z @ 141 NONAME ; void CPhoneState::SetDivertIndication(int)
+	?UpdateCbaL@CPhoneStateInCall@@MAEXH@Z @ 142 NONAME ; void CPhoneStateInCall::UpdateCbaL(int)
+	?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 143 NONAME ; void CPhoneStateMachine::SetCallId(int)
+	?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 144 NONAME ; int CPhoneUIController::ProcessCommandL(int)
+	?DisplayHeaderForCallComingInL@CPhoneState@@IAEXHH@Z @ 145 NONAME ; void CPhoneState::DisplayHeaderForCallComingInL(int, int)
+	??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 146 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 147 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int)
+	??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 148 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 149 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 150 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
+	?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 151 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?HandleForegroundEventL@CPhoneUIController@@UAEXH@Z @ 152 NONAME ; void CPhoneUIController::HandleForegroundEventL(int)
+	?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 153 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void)
+	?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 154 NONAME ; int CPhoneUIController::HandleCommandL(int)
+	?HandleCreateNumberEntryL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 155 NONAME ; void CPhoneState::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
+	?DisableHWKeysL@CPhoneState@@QAEXXZ @ 156 NONAME ; void CPhoneState::DisableHWKeysL(void)
+	?DisplayHeaderForOutgoingCallL@CPhoneState@@IAEXH@Z @ 157 NONAME ; void CPhoneState::DisplayHeaderForOutgoingCallL(int)
+	?GetBlockedKeyList@CPhoneState@@UBEABV?$RArray@H@@XZ @ 158 NONAME ; class RArray<int> const & CPhoneState::GetBlockedKeyList(void) const
+	?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 159 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int)
+	?IsSpeedDialNumber@CPhoneStateIdle@@IBEHABVTDesC16@@@Z @ 160 NONAME ; int CPhoneStateIdle::IsSpeedDialNumber(class TDesC16 const &) const
+	?IsNumberEntryUsedL@CPhoneState@@UAEHXZ @ 161 NONAME ; int CPhoneState::IsNumberEntryUsedL(void)
+	?PhoneStorage@CPhoneStateMachine@@UAEPAVMPhoneStorage@@XZ @ 162 NONAME ; class MPhoneStorage * CPhoneStateMachine::PhoneStorage(void)
+	??1CPhoneState@@UAE@XZ @ 163 NONAME ; CPhoneState::~CPhoneState(void)
+	?HandleCreateNumberEntryL@CPhoneStateCallSetup@@MAEXABUTKeyEvent@@W4TEventCode@@@Z @ 164 NONAME ; void CPhoneStateCallSetup::HandleCreateNumberEntryL(struct TKeyEvent const &, enum TEventCode)
+	?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 165 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int)
+	?HandlePhoneFocusLostEventL@CPhoneState@@UAEXXZ @ 166 NONAME ; void CPhoneState::HandlePhoneFocusLostEventL(void)
+	??1CPhoneStateMachine@@UAE@XZ @ 167 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void)
+	?HandleIdleForegroundEventL@CPhoneState@@UAEXXZ @ 168 NONAME ; void CPhoneState::HandleIdleForegroundEventL(void)
+	?DynInitMenuPaneL@CPhoneState@@UAEXHPAVCEikMenuPane@@@Z @ 169 NONAME ; void CPhoneState::DynInitMenuPaneL(int, class CEikMenuPane *)
+	?IsDTMFEditorVisibleL@CPhoneState@@IBEHXZ @ 170 NONAME ; int CPhoneState::IsDTMFEditorVisibleL(void) const
+	?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 171 NONAME ; void CPhoneStateCallSetup::ConstructL(void)
+	?BeginTransEffectLC@CPhoneState@@QAEXW4TStateTransEffectType@@@Z @ 172 NONAME ; void CPhoneState::BeginTransEffectLC(enum TStateTransEffectType)
+	?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 173 NONAME ; void CPhoneUIController::HandleMessage(int, int)
+	?HandleSystemEventL@CPhoneState@@UAEXABVTWsEvent@@@Z @ 174 NONAME ; void CPhoneState::HandleSystemEventL(class TWsEvent const &)
+	?DisplayCallSetupL@CPhoneStateIdle@@IAEXH@Z @ 175 NONAME ; void CPhoneStateIdle::DisplayCallSetupL(int)
+	?ConstructL@CPhoneStateStartup@@MAEXXZ @ 176 NONAME ; void CPhoneStateStartup::ConstructL(void)
+	?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 177 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+	?ShowNoteL@CPhoneState@@IAEXH@Z @ 178 NONAME ; void CPhoneState::ShowNoteL(int)
+	?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 179 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int)
+	?IsAnyQueryActiveL@CPhoneState@@QAEHXZ @ 180 NONAME ; int CPhoneState::IsAnyQueryActiveL(void)
+	?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 181 NONAME ; class MPhoneState * CPhoneStateMachine::State(void)
+	?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 182 NONAME ; void CPhoneState::SetHandsfreeModeL(int)
+	?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 183 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const
+	?UpdateInCallCbaL@CPhoneStateCallSetup@@MAEXXZ @ 184 NONAME ; void CPhoneStateCallSetup::UpdateInCallCbaL(void)
+	?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 185 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void)
+	??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 186 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+	??1CPhoneStateIncoming@@UAE@XZ @ 187 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void)
+	?HandleKeyLockEnabled@CPhoneUIController@@UAEXH@Z @ 188 NONAME ; void CPhoneUIController::HandleKeyLockEnabled(int)
+	?DisableCallUIL@CPhoneState@@QAEXXZ @ 189 NONAME ; void CPhoneState::DisableCallUIL(void)
+	?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 190 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void)
+	?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 191 NONAME ; int CPhoneStateIdle::ProcessCommandL(int)
+	?IsNoteVisibleL@CPhoneState@@MAEHXZ @ 192 NONAME ; int CPhoneState::IsNoteVisibleL(void)
+	?DynInitMenuBarL@CPhoneUIController@@UAEXHPAVCEikMenuBar@@@Z @ 193 NONAME ; void CPhoneUIController::DynInitMenuBarL(int, class CEikMenuBar *)
+	?IsAlphanumericSupportedAndCharInput@CPhoneState@@MAEHABUTKeyEvent@@@Z @ 194 NONAME ; int CPhoneState::IsAlphanumericSupportedAndCharInput(struct TKeyEvent const &)
+	?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 195 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int)
+	?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 196 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 197 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+	?HandleNumberEntryClearedL@CPhoneState@@MAEXXZ @ 198 NONAME ; void CPhoneState::HandleNumberEntryClearedL(void)
+	?OnlyHashInNumberEntryL@CPhoneState@@MAEXXZ @ 199 NONAME ; void CPhoneState::OnlyHashInNumberEntryL(void)
+	?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 200 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void)
+	?ConstructL@CPhoneStateIdle@@MAEXXZ @ 201 NONAME ; void CPhoneStateIdle::ConstructL(void)
+	?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 202 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void)
+	?SendGlobalInfoNoteL@CPhoneState@@QAEXH@Z @ 203 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int)
+	?DisplayIdleScreenL@CPhoneState@@IAEXXZ @ 204 NONAME ; void CPhoneState::DisplayIdleScreenL(void)
+	?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 205 NONAME ; void CPhoneState::StartShowSecurityNoteL(void)
+	?StoreNumberEntryContentL@CPhoneState@@IAEXXZ @ 206 NONAME ; void CPhoneState::StoreNumberEntryContentL(void)
+	?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 207 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int)
+	?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 208 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int)
+	?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 209 NONAME ; void CPhoneState::SetDefaultFlagsL(void)
+	?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 210 NONAME ; int CPhoneStateInCall::HandleCommandL(int)
+	?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 211 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void)
+	?UpdateRemoteInfoDataL@CPhoneState@@IAEXH@Z @ 212 NONAME ; void CPhoneState::UpdateRemoteInfoDataL(int)
+	?GetRingingCallL@CPhoneStateInCall@@MAEHXZ @ 213 NONAME ; int CPhoneStateInCall::GetRingingCallL(void)
+	?HandleIdleForegroundEventL@CPhoneUIController@@UAEXXZ @ 214 NONAME ; void CPhoneUIController::HandleIdleForegroundEventL(void)
+	?HandlePhoneForegroundEventL@CPhoneState@@UAEXXZ @ 215 NONAME ; void CPhoneState::HandlePhoneForegroundEventL(void)
+	?HandleForegroundEventL@CPhoneState@@UAEXH@Z @ 216 NONAME ; void CPhoneState::HandleForegroundEventL(int)
+	?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 217 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int)
+	?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 218 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
+	??1CPhoneStateIdle@@UAE@XZ @ 219 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void)
+	?PhoneNumberFromEntryLC@CPhoneState@@IAEPAVHBufC16@@XZ @ 220 NONAME ; class HBufC16 * CPhoneState::PhoneNumberFromEntryLC(void)
+	?BaseConstructL@CPhoneState@@QAEXXZ @ 221 NONAME ; void CPhoneState::BaseConstructL(void)
+	?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 222 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void)
+	?SpeedDialL@CPhoneStateIdle@@IAEXABIW4TDialInitiationMethod@1@@Z @ 223 NONAME ; void CPhoneStateIdle::SpeedDialL(unsigned int const &, enum CPhoneStateIdle::TDialInitiationMethod)
+	?SetCallHeaderType@CPhoneState@@IAEXH@Z @ 224 NONAME ; void CPhoneState::SetCallHeaderType(int)
+	?SetTouchPaneButtonEnabled@CPhoneState@@IAEXH@Z @ 225 NONAME ; void CPhoneState::SetTouchPaneButtonEnabled(int)
+	?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 226 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *)
+	?SpeedDialCanceledL@CPhoneStateIdle@@IAEXABI@Z @ 227 NONAME ; void CPhoneStateIdle::SpeedDialCanceledL(unsigned int const &)
+	?CloseDTMFEditorL@CPhoneState@@IAEXXZ @ 228 NONAME ; void CPhoneState::CloseDTMFEditorL(void)
+	?SetTouchPaneVisible@CPhoneState@@IAEXH@Z @ 229 NONAME ; void CPhoneState::SetTouchPaneVisible(int)
+	?HandlePhoneFocusLostEventL@CPhoneUIController@@UAEXXZ @ 230 NONAME ; void CPhoneUIController::HandlePhoneFocusLostEventL(void)
+	?HandleKeyLockEnabled@CPhoneStateIncoming@@UAEXH@Z @ 231 NONAME ; void CPhoneStateIncoming::HandleKeyLockEnabled(int)
+	??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 232 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *)
+	??1CPhoneStateStartup@@UAE@XZ @ 233 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void)
+	?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 234 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
 
--- a/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -26,446 +26,447 @@
 	_ZN11CPhoneState17HandleHoldSwitchLEv @ 25 NONAME
 	_ZN11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 26 NONAME
 	_ZN11CPhoneState17IsAnyQueryActiveLEv @ 27 NONAME
-	_ZN11CPhoneState17SetCallHeaderTypeEN14CBubbleManager19TPhoneCallTypeFlagsE @ 28 NONAME
+	_ZN11CPhoneState17SetCallHeaderTypeEi @ 28 NONAME
 	_ZN11CPhoneState17SetHandsfreeModeLEi @ 29 NONAME
-	_ZN11CPhoneState18BeginTransEffectLCE21TStateTransEffectType @ 30 NONAME
-	_ZN11CPhoneState18DisplayIdleScreenLEv @ 31 NONAME
-	_ZN11CPhoneState18GetRemoteInfoDataLEiR6TDes16 @ 32 NONAME
-	_ZN11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 33 NONAME
-	_ZN11CPhoneState18HandleSystemEventLERK8TWsEvent @ 34 NONAME
-	_ZN11CPhoneState18IsNumberEntryUsedLEv @ 35 NONAME
-	_ZN11CPhoneState19CompleteSatRequestLEi @ 36 NONAME
-	_ZN11CPhoneState19DialMultimediaCallLEv @ 37 NONAME
-	_ZN11CPhoneState19HandleCenRepChangeLERK4TUidj @ 38 NONAME
-	_ZN11CPhoneState19HandlePhoneStartupLEv @ 39 NONAME
-	_ZN11CPhoneState19SendGlobalInfoNoteLEi @ 40 NONAME
-	_ZN11CPhoneState19SetBTHandsfreeModeLEi @ 41 NONAME
-	_ZN11CPhoneState19SetDivertIndicationEi @ 42 NONAME
-	_ZN11CPhoneState19SetTouchPaneButtonsEi @ 43 NONAME
-	_ZN11CPhoneState19SetTouchPaneVisibleEi @ 44 NONAME
-	_ZN11CPhoneState19ShowNumberBusyNoteLEv @ 45 NONAME
-	_ZN11CPhoneState20CallFromNumberEntryLEv @ 46 NONAME
-	_ZN11CPhoneState20DecreaseAudioVolumeLEv @ 47 NONAME
-	_ZN11CPhoneState20HandleDisconnectingLEi @ 48 NONAME
-	_ZN11CPhoneState20HandleKeyLockEnabledEi @ 49 NONAME
-	_ZN11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 50 NONAME
-	_ZN11CPhoneState20IncreaseAudioVolumeLEv @ 51 NONAME
-	_ZN11CPhoneState20SendGlobalErrorNoteLEi @ 52 NONAME
-	_ZN11CPhoneState21IsNumberEntryVisibleLEv @ 53 NONAME
-	_ZN11CPhoneState21UpdateRemoteInfoDataLEi @ 54 NONAME
-	_ZN11CPhoneState22CloseCustomizedDialerLEv @ 55 NONAME
-	_ZN11CPhoneState22DeleteTouchPaneButtonsEv @ 56 NONAME
-	_ZN11CPhoneState22HandleForegroundEventLEi @ 57 NONAME
-	_ZN11CPhoneState22HandleNumericKeyEventLERK9TKeyEvent10TEventCode @ 58 NONAME
-	_ZN11CPhoneState22HandlePropertyChangedLERK4TUidji @ 59 NONAME
-	_ZN11CPhoneState22OnlyHashInNumberEntryLEv @ 60 NONAME
-	_ZN11CPhoneState22PhoneNumberFromEntryLCEv @ 61 NONAME
-	_ZN11CPhoneState22SendGlobalWarningNoteLEi @ 62 NONAME
-	_ZN11CPhoneState22StartShowSecurityNoteLEv @ 63 NONAME
-	_ZN11CPhoneState23HandleAudioMuteChangedLEv @ 64 NONAME
-	_ZN11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 65 NONAME
-	_ZN11CPhoneState23HandleNumberEntryEditedEv @ 66 NONAME
-	_ZN11CPhoneState23SetRingingTonePlaybackLEi @ 67 NONAME
-	_ZN11CPhoneState23UpdateSingleActiveCallLEi @ 68 NONAME
-	_ZN11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 69 NONAME
-	_ZN11CPhoneState24HandleEnvironmentChangeLEi @ 70 NONAME
-	_ZN11CPhoneState24StartAlsLineChangeTimerLEv @ 71 NONAME
-	_ZN11CPhoneState24StoreNumberEntryContentLEv @ 72 NONAME
-	_ZN11CPhoneState24UpdateInCallContextMenuLEv @ 73 NONAME
-	_ZN11CPhoneState25HandleAudioOutputChangedLEv @ 74 NONAME
-	_ZN11CPhoneState25HandleNumberEntryClearedLEv @ 75 NONAME
-	_ZN11CPhoneState25HandlePhoneEngineMessageLEii @ 76 NONAME
-	_ZN11CPhoneState25SetNumberEntryVisibilityLEi @ 77 NONAME
-	_ZN11CPhoneState25SetTouchPaneButtonEnabledEi @ 78 NONAME
-	_ZN11CPhoneState26HandleIdleForegroundEventLEv @ 79 NONAME
-	_ZN11CPhoneState26HandlePhoneFocusLostEventLEv @ 80 NONAME
-	_ZN11CPhoneState26IsNumberEntryContentStoredEv @ 81 NONAME
-	_ZN11CPhoneState26RestoreNumberEntryContentLEv @ 82 NONAME
-	_ZN11CPhoneState26SetTouchPaneButtonDisabledEi @ 83 NONAME
-	_ZN11CPhoneState26UpdateIncomingContextMenuLEi @ 84 NONAME
-	_ZN11CPhoneState26UpdateSilenceButtonDimmingEv @ 85 NONAME
-	_ZN11CPhoneState27DisplayCallTerminationNoteLEv @ 86 NONAME
-	_ZN11CPhoneState27HandlePhoneForegroundEventLEv @ 87 NONAME
-	_ZN11CPhoneState27RetainPreviousKeylockStateLEv @ 88 NONAME
-	_ZN11CPhoneState28CheckDisableHWKeysAndCallUILEv @ 89 NONAME
-	_ZN11CPhoneState28ClearNumberEntryContentCacheEv @ 90 NONAME
-	_ZN11CPhoneState28SetupIdleScreenInBackgroundLEv @ 91 NONAME
-	_ZN11CPhoneState29DisplayHeaderForCallComingInLEii @ 92 NONAME
-	_ZN11CPhoneState29DisplayHeaderForOutgoingCallLEi @ 93 NONAME
-	_ZN11CPhoneState30CheckIfShowCallTerminationNoteEv @ 94 NONAME
-	_ZN11CPhoneState30CustomizedDialerCbaResourceIdLEv @ 95 NONAME
-	_ZN11CPhoneState31CustomizedDialerMenuResourceIdLEv @ 96 NONAME
-	_ZN11CPhoneState34CaptureKeysDuringCallNotificationLEi @ 97 NONAME
-	_ZN11CPhoneState34SetCallHeaderTextsForCallComingInLEiiP28TPhoneCmdParamCallHeaderData @ 98 NONAME
-	_ZN11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 99 NONAME
-	_ZN11CPhoneState38CheckIfRestoreNEContentAfterDtmfDialerEv @ 100 NONAME
-	_ZN11CPhoneState43IsSimStateNotPresentWithSecurityModeEnabledEv @ 101 NONAME
-	_ZN11CPhoneState7IsSimOkEv @ 102 NONAME
-	_ZN11CPhoneState9ShowNoteLEi @ 103 NONAME
-	_ZN11CPhoneStateC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 104 NONAME
-	_ZN11CPhoneStateC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 105 NONAME
-	_ZN11CPhoneStateD0Ev @ 106 NONAME
-	_ZN11CPhoneStateD1Ev @ 107 NONAME
-	_ZN11CPhoneStateD2Ev @ 108 NONAME
-	_ZN15CPhoneStateIdle10ConstructLEv @ 109 NONAME
-	_ZN15CPhoneStateIdle10SpeedDialLERKjNS_21TDialInitiationMethodE @ 110 NONAME
-	_ZN15CPhoneStateIdle14DialVoiceCallLEv @ 111 NONAME
-	_ZN15CPhoneStateIdle14HandleCommandLEi @ 112 NONAME
-	_ZN15CPhoneStateIdle14HandleDialingLEi @ 113 NONAME
-	_ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 114 NONAME
-	_ZN15CPhoneStateIdle15ProcessCommandLEi @ 115 NONAME
-	_ZN15CPhoneStateIdle17DisplayCallSetupLEi @ 116 NONAME
-	_ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 117 NONAME
-	_ZN15CPhoneStateIdle18HandleSendCommandLEv @ 118 NONAME
-	_ZN15CPhoneStateIdle18SpeedDialCanceledLERKj @ 119 NONAME
-	_ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 120 NONAME
-	_ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 121 NONAME
-	_ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 122 NONAME
-	_ZN15CPhoneStateIdle22OnlyHashInNumberEntryLEv @ 123 NONAME
-	_ZN15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 124 NONAME
-	_ZN15CPhoneStateIdle25HandleNumberLongKeyPressLEv @ 125 NONAME
-	_ZN15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 126 NONAME
-	_ZN15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 127 NONAME
-	_ZN15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 128 NONAME
-	_ZN15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 129 NONAME
-	_ZN15CPhoneStateIdle5DialLERK7TDesC1616TPhoneNumberTypeNS_21TDialInitiationMethodE @ 130 NONAME
-	_ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 131 NONAME
-	_ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 132 NONAME
-	_ZN15CPhoneStateIdleD0Ev @ 133 NONAME
-	_ZN15CPhoneStateIdleD1Ev @ 134 NONAME
-	_ZN15CPhoneStateIdleD2Ev @ 135 NONAME
-	_ZN16CPhoneCbaManager10UpdateCbaLEi @ 136 NONAME
-	_ZN16CPhoneCbaManager18UpdateIncomingCbaLEi @ 137 NONAME
-	_ZN16CPhoneCbaManager7SetCbaLEi @ 138 NONAME
-	_ZN17CPhoneStateHandle17ViewCommandHandleEv @ 139 NONAME
-	_ZN17CPhoneStateHandle8InstanceEv @ 140 NONAME
-	_ZN17CPhoneStateInCall10ConstructLEv @ 141 NONAME
-	_ZN17CPhoneStateInCall10UpdateCbaLEi @ 142 NONAME
-	_ZN17CPhoneStateInCall11HandleIdleLEi @ 143 NONAME
-	_ZN17CPhoneStateInCall12OpenMenuBarLEv @ 144 NONAME
-	_ZN17CPhoneStateInCall14HandleCommandLEi @ 145 NONAME
-	_ZN17CPhoneStateInCall15CloseDtmfQueryLEv @ 146 NONAME
-	_ZN17CPhoneStateInCall15GetRingingCallLEv @ 147 NONAME
-	_ZN17CPhoneStateInCall16UpdateInCallCbaLEv @ 148 NONAME
-	_ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 149 NONAME
-	_ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 150 NONAME
-	_ZN17CPhoneStateInCall18CreateNumberEntryLEv @ 151 NONAME
-	_ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 152 NONAME
-	_ZN17CPhoneStateInCall19IsVideoCallRingingLEv @ 153 NONAME
-	_ZN17CPhoneStateInCall19LaunchNewCallQueryLEv @ 154 NONAME
-	_ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 155 NONAME
-	_ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 156 NONAME
-	_ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 157 NONAME
-	_ZN17CPhoneStateInCall34PhoneNumberAvailableInPhoneEngineLEi @ 158 NONAME
-	_ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 159 NONAME
-	_ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 160 NONAME
-	_ZN17CPhoneStateInCallD0Ev @ 161 NONAME
-	_ZN17CPhoneStateInCallD1Ev @ 162 NONAME
-	_ZN17CPhoneStateInCallD2Ev @ 163 NONAME
-	_ZN18CPhoneStateMachine11ChangeStateEi @ 164 NONAME
-	_ZN18CPhoneStateMachine11PhoneEngineEv @ 165 NONAME
-	_ZN18CPhoneStateMachine12PhoneStorageEv @ 166 NONAME
-	_ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 167 NONAME
-	_ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 168 NONAME
-	_ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 169 NONAME
-	_ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 170 NONAME
-	_ZN18CPhoneStateMachine5StateEv @ 171 NONAME
-	_ZN18CPhoneStateMachine9SetCallIdEi @ 172 NONAME
-	_ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 173 NONAME
-	_ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 174 NONAME
-	_ZN18CPhoneStateMachineD0Ev @ 175 NONAME
-	_ZN18CPhoneStateMachineD1Ev @ 176 NONAME
-	_ZN18CPhoneStateMachineD2Ev @ 177 NONAME
-	_ZN18CPhoneStateStartup10ConstructLEv @ 178 NONAME
-	_ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 179 NONAME
-	_ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 180 NONAME
-	_ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 181 NONAME
-	_ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 182 NONAME
-	_ZN18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 183 NONAME
-	_ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 184 NONAME
-	_ZN18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 185 NONAME
-	_ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 186 NONAME
-	_ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 187 NONAME
-	_ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 188 NONAME
-	_ZN18CPhoneStateStartupD0Ev @ 189 NONAME
-	_ZN18CPhoneStateStartupD1Ev @ 190 NONAME
-	_ZN18CPhoneStateStartupD2Ev @ 191 NONAME
-	_ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 192 NONAME
-	_ZN18CPhoneUIController13HandleMessageEii @ 193 NONAME
-	_ZN18CPhoneUIController14HandleCommandLEi @ 194 NONAME
-	_ZN18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 195 NONAME
-	_ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 196 NONAME
-	_ZN18CPhoneUIController15ProcessCommandLEi @ 197 NONAME
-	_ZN18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 198 NONAME
-	_ZN18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 199 NONAME
-	_ZN18CPhoneUIController19HandlePhoneStartupLEv @ 200 NONAME
-	_ZN18CPhoneUIController20HandleKeyLockEnabledEi @ 201 NONAME
-	_ZN18CPhoneUIController22HandleForegroundEventLEi @ 202 NONAME
-	_ZN18CPhoneUIController24HandleEnvironmentChangeLEi @ 203 NONAME
-	_ZN18CPhoneUIController26HandleIdleForegroundEventLEv @ 204 NONAME
-	_ZN18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 205 NONAME
-	_ZN18CPhoneUIController27HandlePhoneForegroundEventLEv @ 206 NONAME
-	_ZN18CPhoneUIController4NewLEP23MPhoneViewCommandHandle @ 207 NONAME
-	_ZN18CPhoneUIControllerD0Ev @ 208 NONAME
-	_ZN18CPhoneUIControllerD1Ev @ 209 NONAME
-	_ZN18CPhoneUIControllerD2Ev @ 210 NONAME
-	_ZN19CPhoneStateIncoming10ConstructLEv @ 211 NONAME
-	_ZN19CPhoneStateIncoming14HandleCommandLEi @ 212 NONAME
-	_ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 213 NONAME
-	_ZN19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 214 NONAME
-	_ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 215 NONAME
-	_ZN19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 216 NONAME
-	_ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 217 NONAME
-	_ZN19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 218 NONAME
-	_ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 219 NONAME
-	_ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 220 NONAME
-	_ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 221 NONAME
-	_ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 222 NONAME
-	_ZN19CPhoneStateIncomingD0Ev @ 223 NONAME
-	_ZN19CPhoneStateIncomingD1Ev @ 224 NONAME
-	_ZN19CPhoneStateIncomingD2Ev @ 225 NONAME
-	_ZN20CPhoneReconnectQuery19ShowReconnectQueryLEi @ 226 NONAME
-	_ZN20CPhoneReconnectQuery9InstanceLEv @ 227 NONAME
-	_ZN20CPhoneStateCallSetup10ConstructLEv @ 228 NONAME
-	_ZN20CPhoneStateCallSetup10UpdateCbaLEi @ 229 NONAME
-	_ZN20CPhoneStateCallSetup12OpenMenuBarLEv @ 230 NONAME
-	_ZN20CPhoneStateCallSetup14HandleCommandLEi @ 231 NONAME
-	_ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 232 NONAME
-	_ZN20CPhoneStateCallSetup16UpdateInCallCbaLEv @ 233 NONAME
-	_ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 234 NONAME
-	_ZN20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 235 NONAME
-	_ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 236 NONAME
-	_ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 237 NONAME
-	_ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 238 NONAME
-	_ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 239 NONAME
-	_ZN20CPhoneStateCallSetupD0Ev @ 240 NONAME
-	_ZN20CPhoneStateCallSetupD1Ev @ 241 NONAME
-	_ZN20CPhoneStateCallSetupD2Ev @ 242 NONAME
-	_ZNK11CPhoneState11IsKeyLockOnEv @ 243 NONAME
-	_ZNK11CPhoneState12IsAutoLockOnEv @ 244 NONAME
-	_ZNK11CPhoneState14IsSwivelClosedEv @ 245 NONAME
-	_ZNK11CPhoneState17GetBlockedKeyListEv @ 246 NONAME
-	_ZNK11CPhoneState17IsMenuBarVisibleLEv @ 247 NONAME
-	_ZNK11CPhoneState18TopAppIsDisplayedLEv @ 248 NONAME
-	_ZNK11CPhoneState20IsDTMFEditorVisibleLEv @ 249 NONAME
-	_ZNK11CPhoneState23NeedToSendToBackgroundLEv @ 250 NONAME
-	_ZNK11CPhoneState25IsOnScreenDialerSupportedEv @ 251 NONAME
-	_ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 252 NONAME
-	_ZNK11CPhoneState8SimStateEv @ 253 NONAME
-	_ZNK15CPhoneStateIdle17IsSpeedDialNumberERK7TDesC16 @ 254 NONAME
-	_ZTI11CPhoneState @ 255 NONAME
-	_ZTI15CPhoneStateIdle @ 256 NONAME
-	_ZTI17CPhoneStateHandle @ 257 NONAME
-	_ZTI17CPhoneStateInCall @ 258 NONAME
-	_ZTI18CPhoneStateMachine @ 259 NONAME
-	_ZTI18CPhoneStateStartup @ 260 NONAME
-	_ZTI18CPhoneUIController @ 261 NONAME
-	_ZTI19CPhoneStateIncoming @ 262 NONAME
-	_ZTI20CPhoneReconnectQuery @ 263 NONAME
-	_ZTI20CPhoneStateCallSetup @ 264 NONAME
-	_ZTI23CPhoneDtmfWaitCharTimer @ 265 NONAME
-	_ZTI23CPhoneKeyEventForwarder @ 266 NONAME
-	_ZTI24CPhoneSystemEventHandler @ 267 NONAME
-	_ZTI26CPhoneRemoteControlHandler @ 268 NONAME
-	_ZTI27CPhoneBtaaDisconnectHandler @ 269 NONAME
-	_ZTV11CPhoneState @ 270 NONAME
-	_ZTV15CPhoneStateIdle @ 271 NONAME
-	_ZTV17CPhoneStateHandle @ 272 NONAME
-	_ZTV17CPhoneStateInCall @ 273 NONAME
-	_ZTV18CPhoneStateMachine @ 274 NONAME
-	_ZTV18CPhoneStateStartup @ 275 NONAME
-	_ZTV18CPhoneUIController @ 276 NONAME
-	_ZTV19CPhoneStateIncoming @ 277 NONAME
-	_ZTV20CPhoneReconnectQuery @ 278 NONAME
-	_ZTV20CPhoneStateCallSetup @ 279 NONAME
-	_ZTV23CPhoneDtmfWaitCharTimer @ 280 NONAME
-	_ZTV23CPhoneKeyEventForwarder @ 281 NONAME
-	_ZTV24CPhoneSystemEventHandler @ 282 NONAME
-	_ZTV26CPhoneRemoteControlHandler @ 283 NONAME
-	_ZTV27CPhoneBtaaDisconnectHandler @ 284 NONAME
-	_ZThn12_N11CPhoneState15DynInitMenuBarLEiP11CEikMenuBar @ 285 NONAME
-	_ZThn12_N11CPhoneState16DynInitMenuPaneLEiP12CEikMenuPane @ 286 NONAME
-	_ZThn12_N11CPhoneState18HandleSystemEventLERK8TWsEvent @ 287 NONAME
-	_ZThn12_N11CPhoneState19HandleCenRepChangeLERK4TUidj @ 288 NONAME
-	_ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 289 NONAME
-	_ZThn12_N11CPhoneState20HandleKeyLockEnabledEi @ 290 NONAME
-	_ZThn12_N11CPhoneState22HandleForegroundEventLEi @ 291 NONAME
-	_ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 292 NONAME
-	_ZThn12_N11CPhoneState24HandleEnvironmentChangeLEi @ 293 NONAME
-	_ZThn12_N11CPhoneState26HandleIdleForegroundEventLEv @ 294 NONAME
-	_ZThn12_N11CPhoneState26HandlePhoneFocusLostEventLEv @ 295 NONAME
-	_ZThn12_N11CPhoneState27HandlePhoneForegroundEventLEv @ 296 NONAME
-	_ZThn12_N11CPhoneStateD0Ev @ 297 NONAME
-	_ZThn12_N11CPhoneStateD1Ev @ 298 NONAME
-	_ZThn12_N15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 299 NONAME
-	_ZThn12_N15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 300 NONAME
-	_ZThn12_N15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 301 NONAME
-	_ZThn12_N15CPhoneStateIdleD0Ev @ 302 NONAME
-	_ZThn12_N15CPhoneStateIdleD1Ev @ 303 NONAME
-	_ZThn12_N17CPhoneStateInCallD0Ev @ 304 NONAME
-	_ZThn12_N17CPhoneStateInCallD1Ev @ 305 NONAME
-	_ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 306 NONAME
-	_ZThn12_N18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 307 NONAME
-	_ZThn12_N18CPhoneStateStartupD0Ev @ 308 NONAME
-	_ZThn12_N18CPhoneStateStartupD1Ev @ 309 NONAME
-	_ZThn12_N18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 310 NONAME
-	_ZThn12_N18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 311 NONAME
-	_ZThn12_N18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 312 NONAME
-	_ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 313 NONAME
-	_ZThn12_N18CPhoneUIController20HandleKeyLockEnabledEi @ 314 NONAME
-	_ZThn12_N18CPhoneUIController22HandleForegroundEventLEi @ 315 NONAME
-	_ZThn12_N18CPhoneUIController24HandleEnvironmentChangeLEi @ 316 NONAME
-	_ZThn12_N18CPhoneUIController26HandleIdleForegroundEventLEv @ 317 NONAME
-	_ZThn12_N18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 318 NONAME
-	_ZThn12_N18CPhoneUIController27HandlePhoneForegroundEventLEv @ 319 NONAME
-	_ZThn12_N18CPhoneUIControllerD0Ev @ 320 NONAME
-	_ZThn12_N18CPhoneUIControllerD1Ev @ 321 NONAME
-	_ZThn12_N19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 322 NONAME
-	_ZThn12_N19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 323 NONAME
-	_ZThn12_N19CPhoneStateIncomingD0Ev @ 324 NONAME
-	_ZThn12_N19CPhoneStateIncomingD1Ev @ 325 NONAME
-	_ZThn12_N20CPhoneStateCallSetupD0Ev @ 326 NONAME
-	_ZThn12_N20CPhoneStateCallSetupD1Ev @ 327 NONAME
-	_ZThn16_N11CPhoneState14HandleCommandLEi @ 328 NONAME
-	_ZThn16_N11CPhoneState15ProcessCommandLEi @ 329 NONAME
-	_ZThn16_N11CPhoneStateD0Ev @ 330 NONAME
-	_ZThn16_N11CPhoneStateD1Ev @ 331 NONAME
-	_ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 332 NONAME
-	_ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 333 NONAME
-	_ZThn16_N15CPhoneStateIdleD0Ev @ 334 NONAME
-	_ZThn16_N15CPhoneStateIdleD1Ev @ 335 NONAME
-	_ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 336 NONAME
-	_ZThn16_N17CPhoneStateInCallD0Ev @ 337 NONAME
-	_ZThn16_N17CPhoneStateInCallD1Ev @ 338 NONAME
-	_ZThn16_N18CPhoneStateStartupD0Ev @ 339 NONAME
-	_ZThn16_N18CPhoneStateStartupD1Ev @ 340 NONAME
-	_ZThn16_N18CPhoneUIController14HandleCommandLEi @ 341 NONAME
-	_ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 342 NONAME
-	_ZThn16_N18CPhoneUIControllerD0Ev @ 343 NONAME
-	_ZThn16_N18CPhoneUIControllerD1Ev @ 344 NONAME
-	_ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 345 NONAME
-	_ZThn16_N19CPhoneStateIncomingD0Ev @ 346 NONAME
-	_ZThn16_N19CPhoneStateIncomingD1Ev @ 347 NONAME
-	_ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 348 NONAME
-	_ZThn16_N20CPhoneStateCallSetupD0Ev @ 349 NONAME
-	_ZThn16_N20CPhoneStateCallSetupD1Ev @ 350 NONAME
-	_ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 351 NONAME
-	_ZThn20_N11CPhoneStateD0Ev @ 352 NONAME
-	_ZThn20_N11CPhoneStateD1Ev @ 353 NONAME
-	_ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 354 NONAME
-	_ZThn20_N15CPhoneStateIdleD0Ev @ 355 NONAME
-	_ZThn20_N15CPhoneStateIdleD1Ev @ 356 NONAME
-	_ZThn20_N17CPhoneStateInCallD0Ev @ 357 NONAME
-	_ZThn20_N17CPhoneStateInCallD1Ev @ 358 NONAME
-	_ZThn20_N18CPhoneStateStartupD0Ev @ 359 NONAME
-	_ZThn20_N18CPhoneStateStartupD1Ev @ 360 NONAME
-	_ZThn20_N19CPhoneStateIncomingD0Ev @ 361 NONAME
-	_ZThn20_N19CPhoneStateIncomingD1Ev @ 362 NONAME
-	_ZThn20_N20CPhoneStateCallSetupD0Ev @ 363 NONAME
-	_ZThn20_N20CPhoneStateCallSetupD1Ev @ 364 NONAME
-	_ZThn24_N11CPhoneState19SetDivertIndicationEi @ 365 NONAME
-	_ZThn24_N11CPhoneStateD0Ev @ 366 NONAME
-	_ZThn24_N11CPhoneStateD1Ev @ 367 NONAME
-	_ZThn24_N15CPhoneStateIdleD0Ev @ 368 NONAME
-	_ZThn24_N15CPhoneStateIdleD1Ev @ 369 NONAME
-	_ZThn24_N17CPhoneStateInCallD0Ev @ 370 NONAME
-	_ZThn24_N17CPhoneStateInCallD1Ev @ 371 NONAME
-	_ZThn24_N18CPhoneStateStartupD0Ev @ 372 NONAME
-	_ZThn24_N18CPhoneStateStartupD1Ev @ 373 NONAME
-	_ZThn24_N19CPhoneStateIncomingD0Ev @ 374 NONAME
-	_ZThn24_N19CPhoneStateIncomingD1Ev @ 375 NONAME
-	_ZThn24_N20CPhoneStateCallSetupD0Ev @ 376 NONAME
-	_ZThn24_N20CPhoneStateCallSetupD1Ev @ 377 NONAME
-	_ZThn28_NK11CPhoneState17GetBlockedKeyListEv @ 378 NONAME
-	_ZThn32_N11CPhoneState25HandleNumberEntryClearedLEv @ 379 NONAME
-	_ZThn32_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 380 NONAME
-	_ZThn32_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 381 NONAME
-	_ZThn32_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 382 NONAME
-	_ZThn32_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 383 NONAME
-	_ZThn36_N11CPhoneState23HandleNumberEntryEditedEv @ 384 NONAME
-	_ZThn36_N11CPhoneStateD0Ev @ 385 NONAME
-	_ZThn36_N11CPhoneStateD1Ev @ 386 NONAME
-	_ZThn36_N15CPhoneStateIdleD0Ev @ 387 NONAME
-	_ZThn36_N15CPhoneStateIdleD1Ev @ 388 NONAME
-	_ZThn36_N17CPhoneStateInCallD0Ev @ 389 NONAME
-	_ZThn36_N17CPhoneStateInCallD1Ev @ 390 NONAME
-	_ZThn36_N18CPhoneStateStartupD0Ev @ 391 NONAME
-	_ZThn36_N18CPhoneStateStartupD1Ev @ 392 NONAME
-	_ZThn36_N19CPhoneStateIncomingD0Ev @ 393 NONAME
-	_ZThn36_N19CPhoneStateIncomingD1Ev @ 394 NONAME
-	_ZThn36_N20CPhoneStateCallSetupD0Ev @ 395 NONAME
-	_ZThn36_N20CPhoneStateCallSetupD1Ev @ 396 NONAME
-	_ZThn40_NK11CPhoneState11IsKeyLockOnEv @ 397 NONAME
-	_ZThn40_NK11CPhoneState12IsAutoLockOnEv @ 398 NONAME
-	_ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 399 NONAME
-	_ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 400 NONAME
-	_ZThn4_N11CPhoneStateD0Ev @ 401 NONAME
-	_ZThn4_N11CPhoneStateD1Ev @ 402 NONAME
-	_ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 403 NONAME
-	_ZThn4_N15CPhoneStateIdleD0Ev @ 404 NONAME
-	_ZThn4_N15CPhoneStateIdleD1Ev @ 405 NONAME
-	_ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 406 NONAME
-	_ZThn4_N17CPhoneStateInCallD0Ev @ 407 NONAME
-	_ZThn4_N17CPhoneStateInCallD1Ev @ 408 NONAME
-	_ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 409 NONAME
-	_ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 410 NONAME
-	_ZThn4_N18CPhoneStateMachine12PhoneStorageEv @ 411 NONAME
-	_ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 412 NONAME
-	_ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 413 NONAME
-	_ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 414 NONAME
-	_ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 415 NONAME
-	_ZThn4_N18CPhoneStateMachine5StateEv @ 416 NONAME
-	_ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 417 NONAME
-	_ZThn4_N18CPhoneStateMachineD0Ev @ 418 NONAME
-	_ZThn4_N18CPhoneStateMachineD1Ev @ 419 NONAME
-	_ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 420 NONAME
-	_ZThn4_N18CPhoneStateStartupD0Ev @ 421 NONAME
-	_ZThn4_N18CPhoneStateStartupD1Ev @ 422 NONAME
-	_ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 423 NONAME
-	_ZThn4_N18CPhoneUIController13HandleMessageEii @ 424 NONAME
-	_ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 425 NONAME
-	_ZThn4_N19CPhoneStateIncomingD0Ev @ 426 NONAME
-	_ZThn4_N19CPhoneStateIncomingD1Ev @ 427 NONAME
-	_ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 428 NONAME
-	_ZThn4_N20CPhoneStateCallSetupD0Ev @ 429 NONAME
-	_ZThn4_N20CPhoneStateCallSetupD1Ev @ 430 NONAME
-	_ZThn8_N11CPhoneState14IsNoteVisibleLEv @ 431 NONAME
-	_ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 432 NONAME
-	_ZThn8_N11CPhoneState15HandleLongHashLEv @ 433 NONAME
-	_ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 434 NONAME
-	_ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 435 NONAME
-	_ZThn8_N11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 436 NONAME
-	_ZThn8_N11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 437 NONAME
-	_ZThn8_N11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 438 NONAME
-	_ZThn8_N11CPhoneStateD0Ev @ 439 NONAME
-	_ZThn8_N11CPhoneStateD1Ev @ 440 NONAME
-	_ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 441 NONAME
-	_ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 442 NONAME
-	_ZThn8_N15CPhoneStateIdleD0Ev @ 443 NONAME
-	_ZThn8_N15CPhoneStateIdleD1Ev @ 444 NONAME
-	_ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 445 NONAME
-	_ZThn8_N17CPhoneStateInCallD0Ev @ 446 NONAME
-	_ZThn8_N17CPhoneStateInCallD1Ev @ 447 NONAME
-	_ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 448 NONAME
-	_ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 449 NONAME
-	_ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 450 NONAME
-	_ZThn8_N18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 451 NONAME
-	_ZThn8_N18CPhoneStateStartupD0Ev @ 452 NONAME
-	_ZThn8_N18CPhoneStateStartupD1Ev @ 453 NONAME
-	_ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 454 NONAME
-	_ZThn8_N18CPhoneUIControllerD0Ev @ 455 NONAME
-	_ZThn8_N18CPhoneUIControllerD1Ev @ 456 NONAME
-	_ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 457 NONAME
-	_ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 458 NONAME
-	_ZThn8_N19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 459 NONAME
-	_ZThn8_N19CPhoneStateIncomingD0Ev @ 460 NONAME
-	_ZThn8_N19CPhoneStateIncomingD1Ev @ 461 NONAME
-	_ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 462 NONAME
-	_ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 463 NONAME
-	_ZThn8_N20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 464 NONAME
-	_ZThn8_N20CPhoneStateCallSetupD0Ev @ 465 NONAME
-	_ZThn8_N20CPhoneStateCallSetupD1Ev @ 466 NONAME
-	_ZThn8_NK11CPhoneState17IsMenuBarVisibleLEv @ 467 NONAME
-	_ZN11CPhoneState17SetToolbarDimmingEi @ 468 NONAME
-	_ZN11CPhoneState34SetToolbarButtonLoudspeakerEnabledEv @ 469 NONAME
+	_ZN11CPhoneState17SetToolbarDimmingEi @ 30 NONAME
+	_ZN11CPhoneState18BeginTransEffectLCE21TStateTransEffectType @ 31 NONAME
+	_ZN11CPhoneState18DisplayIdleScreenLEv @ 32 NONAME
+	_ZN11CPhoneState18GetRemoteInfoDataLEiR6TDes16 @ 33 NONAME
+	_ZN11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 34 NONAME
+	_ZN11CPhoneState18HandleSystemEventLERK8TWsEvent @ 35 NONAME
+	_ZN11CPhoneState18IsNumberEntryUsedLEv @ 36 NONAME
+	_ZN11CPhoneState19CompleteSatRequestLEi @ 37 NONAME
+	_ZN11CPhoneState19DialMultimediaCallLEv @ 38 NONAME
+	_ZN11CPhoneState19HandleCenRepChangeLERK4TUidj @ 39 NONAME
+	_ZN11CPhoneState19HandlePhoneStartupLEv @ 40 NONAME
+	_ZN11CPhoneState19SendGlobalInfoNoteLEi @ 41 NONAME
+	_ZN11CPhoneState19SetBTHandsfreeModeLEi @ 42 NONAME
+	_ZN11CPhoneState19SetDivertIndicationEi @ 43 NONAME
+	_ZN11CPhoneState19SetTouchPaneButtonsEi @ 44 NONAME
+	_ZN11CPhoneState19SetTouchPaneVisibleEi @ 45 NONAME
+	_ZN11CPhoneState19ShowNumberBusyNoteLEv @ 46 NONAME
+	_ZN11CPhoneState20CallFromNumberEntryLEv @ 47 NONAME
+	_ZN11CPhoneState20DecreaseAudioVolumeLEv @ 48 NONAME
+	_ZN11CPhoneState20HandleDisconnectingLEi @ 49 NONAME
+	_ZN11CPhoneState20HandleKeyLockEnabledEi @ 50 NONAME
+	_ZN11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 51 NONAME
+	_ZN11CPhoneState20IncreaseAudioVolumeLEv @ 52 NONAME
+	_ZN11CPhoneState20SendGlobalErrorNoteLEi @ 53 NONAME
+	_ZN11CPhoneState21IsNumberEntryVisibleLEv @ 54 NONAME
+	_ZN11CPhoneState21UpdateRemoteInfoDataLEi @ 55 NONAME
+	_ZN11CPhoneState22CloseCustomizedDialerLEv @ 56 NONAME
+	_ZN11CPhoneState22DeleteTouchPaneButtonsEv @ 57 NONAME
+	_ZN11CPhoneState22HandleForegroundEventLEi @ 58 NONAME
+	_ZN11CPhoneState22HandleNumericKeyEventLERK9TKeyEvent10TEventCode @ 59 NONAME
+	_ZN11CPhoneState22HandlePropertyChangedLERK4TUidji @ 60 NONAME
+	_ZN11CPhoneState22OnlyHashInNumberEntryLEv @ 61 NONAME
+	_ZN11CPhoneState22PhoneNumberFromEntryLCEv @ 62 NONAME
+	_ZN11CPhoneState22SendGlobalWarningNoteLEi @ 63 NONAME
+	_ZN11CPhoneState22StartShowSecurityNoteLEv @ 64 NONAME
+	_ZN11CPhoneState23HandleAudioMuteChangedLEv @ 65 NONAME
+	_ZN11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 66 NONAME
+	_ZN11CPhoneState23HandleNumberEntryEditedEv @ 67 NONAME
+	_ZN11CPhoneState23SetRingingTonePlaybackLEi @ 68 NONAME
+	_ZN11CPhoneState23UpdateSingleActiveCallLEi @ 69 NONAME
+	_ZN11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 70 NONAME
+	_ZN11CPhoneState24HandleEnvironmentChangeLEi @ 71 NONAME
+	_ZN11CPhoneState24StartAlsLineChangeTimerLEv @ 72 NONAME
+	_ZN11CPhoneState24StoreNumberEntryContentLEv @ 73 NONAME
+	_ZN11CPhoneState24UpdateInCallContextMenuLEv @ 74 NONAME
+	_ZN11CPhoneState25HandleAudioOutputChangedLEv @ 75 NONAME
+	_ZN11CPhoneState25HandleNumberEntryClearedLEv @ 76 NONAME
+	_ZN11CPhoneState25HandlePhoneEngineMessageLEii @ 77 NONAME
+	_ZN11CPhoneState25SetNumberEntryVisibilityLEi @ 78 NONAME
+	_ZN11CPhoneState25SetTouchPaneButtonEnabledEi @ 79 NONAME
+	_ZN11CPhoneState26HandleIdleForegroundEventLEv @ 80 NONAME
+	_ZN11CPhoneState26HandlePhoneFocusLostEventLEv @ 81 NONAME
+	_ZN11CPhoneState26IsNumberEntryContentStoredEv @ 82 NONAME
+	_ZN11CPhoneState26RestoreNumberEntryContentLEv @ 83 NONAME
+	_ZN11CPhoneState26SetTouchPaneButtonDisabledEi @ 84 NONAME
+	_ZN11CPhoneState26UpdateIncomingContextMenuLEi @ 85 NONAME
+	_ZN11CPhoneState26UpdateSilenceButtonDimmingEv @ 86 NONAME
+	_ZN11CPhoneState27DisplayCallTerminationNoteLEv @ 87 NONAME
+	_ZN11CPhoneState27HandlePhoneForegroundEventLEv @ 88 NONAME
+	_ZN11CPhoneState27RetainPreviousKeylockStateLEv @ 89 NONAME
+	_ZN11CPhoneState28CheckDisableHWKeysAndCallUILEv @ 90 NONAME
+	_ZN11CPhoneState28ClearNumberEntryContentCacheEv @ 91 NONAME
+	_ZN11CPhoneState28SetupIdleScreenInBackgroundLEv @ 92 NONAME
+	_ZN11CPhoneState29DisplayHeaderForCallComingInLEii @ 93 NONAME
+	_ZN11CPhoneState29DisplayHeaderForOutgoingCallLEi @ 94 NONAME
+	_ZN11CPhoneState30CheckIfShowCallTerminationNoteEv @ 95 NONAME
+	_ZN11CPhoneState30CustomizedDialerCbaResourceIdLEv @ 96 NONAME
+	_ZN11CPhoneState31CustomizedDialerMenuResourceIdLEv @ 97 NONAME
+	_ZN11CPhoneState34CaptureKeysDuringCallNotificationLEi @ 98 NONAME
+	_ZN11CPhoneState34SetCallHeaderTextsForCallComingInLEiiP28TPhoneCmdParamCallHeaderData @ 99 NONAME
+	_ZN11CPhoneState34SetToolbarButtonLoudspeakerEnabledEv @ 100 NONAME
+	_ZN11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 101 NONAME
+	_ZN11CPhoneState38CheckIfRestoreNEContentAfterDtmfDialerEv @ 102 NONAME
+	_ZN11CPhoneState43IsSimStateNotPresentWithSecurityModeEnabledEv @ 103 NONAME
+	_ZN11CPhoneState7IsSimOkEv @ 104 NONAME
+	_ZN11CPhoneState9ShowNoteLEi @ 105 NONAME
+	_ZN11CPhoneStateC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 106 NONAME
+	_ZN11CPhoneStateC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 107 NONAME
+	_ZN11CPhoneStateD0Ev @ 108 NONAME
+	_ZN11CPhoneStateD1Ev @ 109 NONAME
+	_ZN11CPhoneStateD2Ev @ 110 NONAME
+	_ZN15CPhoneStateIdle10ConstructLEv @ 111 NONAME
+	_ZN15CPhoneStateIdle10SpeedDialLERKjNS_21TDialInitiationMethodE @ 112 NONAME
+	_ZN15CPhoneStateIdle14DialVoiceCallLEv @ 113 NONAME
+	_ZN15CPhoneStateIdle14HandleCommandLEi @ 114 NONAME
+	_ZN15CPhoneStateIdle14HandleDialingLEi @ 115 NONAME
+	_ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 116 NONAME
+	_ZN15CPhoneStateIdle15ProcessCommandLEi @ 117 NONAME
+	_ZN15CPhoneStateIdle17DisplayCallSetupLEi @ 118 NONAME
+	_ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 119 NONAME
+	_ZN15CPhoneStateIdle18HandleSendCommandLEv @ 120 NONAME
+	_ZN15CPhoneStateIdle18SpeedDialCanceledLERKj @ 121 NONAME
+	_ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 122 NONAME
+	_ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 123 NONAME
+	_ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 124 NONAME
+	_ZN15CPhoneStateIdle22OnlyHashInNumberEntryLEv @ 125 NONAME
+	_ZN15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 126 NONAME
+	_ZN15CPhoneStateIdle25HandleNumberLongKeyPressLEv @ 127 NONAME
+	_ZN15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 128 NONAME
+	_ZN15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 129 NONAME
+	_ZN15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 130 NONAME
+	_ZN15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 131 NONAME
+	_ZN15CPhoneStateIdle5DialLERK7TDesC1616TPhoneNumberTypeNS_21TDialInitiationMethodE @ 132 NONAME
+	_ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 133 NONAME
+	_ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 134 NONAME
+	_ZN15CPhoneStateIdleD0Ev @ 135 NONAME
+	_ZN15CPhoneStateIdleD1Ev @ 136 NONAME
+	_ZN15CPhoneStateIdleD2Ev @ 137 NONAME
+	_ZN16CPhoneCbaManager10UpdateCbaLEi @ 138 NONAME
+	_ZN16CPhoneCbaManager18UpdateIncomingCbaLEi @ 139 NONAME
+	_ZN16CPhoneCbaManager7SetCbaLEi @ 140 NONAME
+	_ZN17CPhoneStateHandle12StateMachineEv @ 141 NONAME
+	_ZN17CPhoneStateHandle17ViewCommandHandleEv @ 142 NONAME
+	_ZN17CPhoneStateHandle8InstanceEv @ 143 NONAME
+	_ZN17CPhoneStateInCall10ConstructLEv @ 144 NONAME
+	_ZN17CPhoneStateInCall10UpdateCbaLEi @ 145 NONAME
+	_ZN17CPhoneStateInCall11HandleIdleLEi @ 146 NONAME
+	_ZN17CPhoneStateInCall12OpenMenuBarLEv @ 147 NONAME
+	_ZN17CPhoneStateInCall14HandleCommandLEi @ 148 NONAME
+	_ZN17CPhoneStateInCall15CloseDtmfQueryLEv @ 149 NONAME
+	_ZN17CPhoneStateInCall15GetRingingCallLEv @ 150 NONAME
+	_ZN17CPhoneStateInCall16UpdateInCallCbaLEv @ 151 NONAME
+	_ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 152 NONAME
+	_ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 153 NONAME
+	_ZN17CPhoneStateInCall18CreateNumberEntryLEv @ 154 NONAME
+	_ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 155 NONAME
+	_ZN17CPhoneStateInCall19IsVideoCallRingingLEv @ 156 NONAME
+	_ZN17CPhoneStateInCall19LaunchNewCallQueryLEv @ 157 NONAME
+	_ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 158 NONAME
+	_ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 159 NONAME
+	_ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 160 NONAME
+	_ZN17CPhoneStateInCall34PhoneNumberAvailableInPhoneEngineLEi @ 161 NONAME
+	_ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 162 NONAME
+	_ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 163 NONAME
+	_ZN17CPhoneStateInCallD0Ev @ 164 NONAME
+	_ZN17CPhoneStateInCallD1Ev @ 165 NONAME
+	_ZN17CPhoneStateInCallD2Ev @ 166 NONAME
+	_ZN18CPhoneStateMachine11ChangeStateEi @ 167 NONAME
+	_ZN18CPhoneStateMachine11PhoneEngineEv @ 168 NONAME
+	_ZN18CPhoneStateMachine12PhoneStorageEv @ 169 NONAME
+	_ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 170 NONAME
+	_ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 171 NONAME
+	_ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 172 NONAME
+	_ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 173 NONAME
+	_ZN18CPhoneStateMachine5StateEv @ 174 NONAME
+	_ZN18CPhoneStateMachine9SetCallIdEi @ 175 NONAME
+	_ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 176 NONAME
+	_ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 177 NONAME
+	_ZN18CPhoneStateMachineD0Ev @ 178 NONAME
+	_ZN18CPhoneStateMachineD1Ev @ 179 NONAME
+	_ZN18CPhoneStateMachineD2Ev @ 180 NONAME
+	_ZN18CPhoneStateStartup10ConstructLEv @ 181 NONAME
+	_ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 182 NONAME
+	_ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 183 NONAME
+	_ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 184 NONAME
+	_ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 185 NONAME
+	_ZN18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 186 NONAME
+	_ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 187 NONAME
+	_ZN18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 188 NONAME
+	_ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 189 NONAME
+	_ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 190 NONAME
+	_ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 191 NONAME
+	_ZN18CPhoneStateStartupD0Ev @ 192 NONAME
+	_ZN18CPhoneStateStartupD1Ev @ 193 NONAME
+	_ZN18CPhoneStateStartupD2Ev @ 194 NONAME
+	_ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 195 NONAME
+	_ZN18CPhoneUIController13HandleMessageEii @ 196 NONAME
+	_ZN18CPhoneUIController14HandleCommandLEi @ 197 NONAME
+	_ZN18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 198 NONAME
+	_ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 199 NONAME
+	_ZN18CPhoneUIController15ProcessCommandLEi @ 200 NONAME
+	_ZN18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 201 NONAME
+	_ZN18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 202 NONAME
+	_ZN18CPhoneUIController19HandlePhoneStartupLEv @ 203 NONAME
+	_ZN18CPhoneUIController20HandleKeyLockEnabledEi @ 204 NONAME
+	_ZN18CPhoneUIController22HandleForegroundEventLEi @ 205 NONAME
+	_ZN18CPhoneUIController24HandleEnvironmentChangeLEi @ 206 NONAME
+	_ZN18CPhoneUIController26HandleIdleForegroundEventLEv @ 207 NONAME
+	_ZN18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 208 NONAME
+	_ZN18CPhoneUIController27HandlePhoneForegroundEventLEv @ 209 NONAME
+	_ZN18CPhoneUIController4NewLEP23MPhoneViewCommandHandle @ 210 NONAME
+	_ZN18CPhoneUIControllerD0Ev @ 211 NONAME
+	_ZN18CPhoneUIControllerD1Ev @ 212 NONAME
+	_ZN18CPhoneUIControllerD2Ev @ 213 NONAME
+	_ZN19CPhoneStateIncoming10ConstructLEv @ 214 NONAME
+	_ZN19CPhoneStateIncoming14HandleCommandLEi @ 215 NONAME
+	_ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 216 NONAME
+	_ZN19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 217 NONAME
+	_ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 218 NONAME
+	_ZN19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 219 NONAME
+	_ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 220 NONAME
+	_ZN19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 221 NONAME
+	_ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 222 NONAME
+	_ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 223 NONAME
+	_ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 224 NONAME
+	_ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 225 NONAME
+	_ZN19CPhoneStateIncomingD0Ev @ 226 NONAME
+	_ZN19CPhoneStateIncomingD1Ev @ 227 NONAME
+	_ZN19CPhoneStateIncomingD2Ev @ 228 NONAME
+	_ZN20CPhoneReconnectQuery19ShowReconnectQueryLEi @ 229 NONAME
+	_ZN20CPhoneReconnectQuery9InstanceLEv @ 230 NONAME
+	_ZN20CPhoneStateCallSetup10ConstructLEv @ 231 NONAME
+	_ZN20CPhoneStateCallSetup10UpdateCbaLEi @ 232 NONAME
+	_ZN20CPhoneStateCallSetup12OpenMenuBarLEv @ 233 NONAME
+	_ZN20CPhoneStateCallSetup14HandleCommandLEi @ 234 NONAME
+	_ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 235 NONAME
+	_ZN20CPhoneStateCallSetup16UpdateInCallCbaLEv @ 236 NONAME
+	_ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 237 NONAME
+	_ZN20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 238 NONAME
+	_ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 239 NONAME
+	_ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 240 NONAME
+	_ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 241 NONAME
+	_ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 242 NONAME
+	_ZN20CPhoneStateCallSetupD0Ev @ 243 NONAME
+	_ZN20CPhoneStateCallSetupD1Ev @ 244 NONAME
+	_ZN20CPhoneStateCallSetupD2Ev @ 245 NONAME
+	_ZNK11CPhoneState11IsKeyLockOnEv @ 246 NONAME
+	_ZNK11CPhoneState12IsAutoLockOnEv @ 247 NONAME
+	_ZNK11CPhoneState14IsSwivelClosedEv @ 248 NONAME
+	_ZNK11CPhoneState17GetBlockedKeyListEv @ 249 NONAME
+	_ZNK11CPhoneState17IsMenuBarVisibleLEv @ 250 NONAME
+	_ZNK11CPhoneState18TopAppIsDisplayedLEv @ 251 NONAME
+	_ZNK11CPhoneState20IsDTMFEditorVisibleLEv @ 252 NONAME
+	_ZNK11CPhoneState23NeedToSendToBackgroundLEv @ 253 NONAME
+	_ZNK11CPhoneState25IsOnScreenDialerSupportedEv @ 254 NONAME
+	_ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 255 NONAME
+	_ZNK11CPhoneState8SimStateEv @ 256 NONAME
+	_ZNK15CPhoneStateIdle17IsSpeedDialNumberERK7TDesC16 @ 257 NONAME
+	_ZTI11CPhoneState @ 258 NONAME
+	_ZTI15CPhoneStateIdle @ 259 NONAME
+	_ZTI17CPhoneStateHandle @ 260 NONAME
+	_ZTI17CPhoneStateInCall @ 261 NONAME
+	_ZTI18CPhoneStateMachine @ 262 NONAME
+	_ZTI18CPhoneStateStartup @ 263 NONAME
+	_ZTI18CPhoneUIController @ 264 NONAME
+	_ZTI19CPhoneStateIncoming @ 265 NONAME
+	_ZTI20CPhoneReconnectQuery @ 266 NONAME
+	_ZTI20CPhoneStateCallSetup @ 267 NONAME
+	_ZTI23CPhoneDtmfWaitCharTimer @ 268 NONAME
+	_ZTI23CPhoneKeyEventForwarder @ 269 NONAME
+	_ZTI24CPhoneSystemEventHandler @ 270 NONAME
+	_ZTI26CPhoneRemoteControlHandler @ 271 NONAME
+	_ZTI27CPhoneBtaaDisconnectHandler @ 272 NONAME
+	_ZTV11CPhoneState @ 273 NONAME
+	_ZTV15CPhoneStateIdle @ 274 NONAME
+	_ZTV17CPhoneStateHandle @ 275 NONAME
+	_ZTV17CPhoneStateInCall @ 276 NONAME
+	_ZTV18CPhoneStateMachine @ 277 NONAME
+	_ZTV18CPhoneStateStartup @ 278 NONAME
+	_ZTV18CPhoneUIController @ 279 NONAME
+	_ZTV19CPhoneStateIncoming @ 280 NONAME
+	_ZTV20CPhoneReconnectQuery @ 281 NONAME
+	_ZTV20CPhoneStateCallSetup @ 282 NONAME
+	_ZTV23CPhoneDtmfWaitCharTimer @ 283 NONAME
+	_ZTV23CPhoneKeyEventForwarder @ 284 NONAME
+	_ZTV24CPhoneSystemEventHandler @ 285 NONAME
+	_ZTV26CPhoneRemoteControlHandler @ 286 NONAME
+	_ZTV27CPhoneBtaaDisconnectHandler @ 287 NONAME
+	_ZThn12_N11CPhoneState15DynInitMenuBarLEiP11CEikMenuBar @ 288 NONAME
+	_ZThn12_N11CPhoneState16DynInitMenuPaneLEiP12CEikMenuPane @ 289 NONAME
+	_ZThn12_N11CPhoneState18HandleSystemEventLERK8TWsEvent @ 290 NONAME
+	_ZThn12_N11CPhoneState19HandleCenRepChangeLERK4TUidj @ 291 NONAME
+	_ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 292 NONAME
+	_ZThn12_N11CPhoneState20HandleKeyLockEnabledEi @ 293 NONAME
+	_ZThn12_N11CPhoneState22HandleForegroundEventLEi @ 294 NONAME
+	_ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 295 NONAME
+	_ZThn12_N11CPhoneState24HandleEnvironmentChangeLEi @ 296 NONAME
+	_ZThn12_N11CPhoneState26HandleIdleForegroundEventLEv @ 297 NONAME
+	_ZThn12_N11CPhoneState26HandlePhoneFocusLostEventLEv @ 298 NONAME
+	_ZThn12_N11CPhoneState27HandlePhoneForegroundEventLEv @ 299 NONAME
+	_ZThn12_N11CPhoneStateD0Ev @ 300 NONAME
+	_ZThn12_N11CPhoneStateD1Ev @ 301 NONAME
+	_ZThn12_N15CPhoneStateIdle26HandleIdleForegroundEventLEv @ 302 NONAME
+	_ZThn12_N15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 303 NONAME
+	_ZThn12_N15CPhoneStateIdle27HandlePhoneForegroundEventLEv @ 304 NONAME
+	_ZThn12_N15CPhoneStateIdleD0Ev @ 305 NONAME
+	_ZThn12_N15CPhoneStateIdleD1Ev @ 306 NONAME
+	_ZThn12_N17CPhoneStateInCallD0Ev @ 307 NONAME
+	_ZThn12_N17CPhoneStateInCallD1Ev @ 308 NONAME
+	_ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 309 NONAME
+	_ZThn12_N18CPhoneStateStartup26HandleIdleForegroundEventLEv @ 310 NONAME
+	_ZThn12_N18CPhoneStateStartupD0Ev @ 311 NONAME
+	_ZThn12_N18CPhoneStateStartupD1Ev @ 312 NONAME
+	_ZThn12_N18CPhoneUIController15DynInitMenuBarLEiP11CEikMenuBar @ 313 NONAME
+	_ZThn12_N18CPhoneUIController16DynInitMenuPaneLEiP12CEikMenuPane @ 314 NONAME
+	_ZThn12_N18CPhoneUIController18HandleSystemEventLERK8TWsEvent @ 315 NONAME
+	_ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 316 NONAME
+	_ZThn12_N18CPhoneUIController20HandleKeyLockEnabledEi @ 317 NONAME
+	_ZThn12_N18CPhoneUIController22HandleForegroundEventLEi @ 318 NONAME
+	_ZThn12_N18CPhoneUIController24HandleEnvironmentChangeLEi @ 319 NONAME
+	_ZThn12_N18CPhoneUIController26HandleIdleForegroundEventLEv @ 320 NONAME
+	_ZThn12_N18CPhoneUIController26HandlePhoneFocusLostEventLEv @ 321 NONAME
+	_ZThn12_N18CPhoneUIController27HandlePhoneForegroundEventLEv @ 322 NONAME
+	_ZThn12_N18CPhoneUIControllerD0Ev @ 323 NONAME
+	_ZThn12_N18CPhoneUIControllerD1Ev @ 324 NONAME
+	_ZThn12_N19CPhoneStateIncoming16DynInitMenuPaneLEiP12CEikMenuPane @ 325 NONAME
+	_ZThn12_N19CPhoneStateIncoming20HandleKeyLockEnabledEi @ 326 NONAME
+	_ZThn12_N19CPhoneStateIncomingD0Ev @ 327 NONAME
+	_ZThn12_N19CPhoneStateIncomingD1Ev @ 328 NONAME
+	_ZThn12_N20CPhoneStateCallSetupD0Ev @ 329 NONAME
+	_ZThn12_N20CPhoneStateCallSetupD1Ev @ 330 NONAME
+	_ZThn16_N11CPhoneState14HandleCommandLEi @ 331 NONAME
+	_ZThn16_N11CPhoneState15ProcessCommandLEi @ 332 NONAME
+	_ZThn16_N11CPhoneStateD0Ev @ 333 NONAME
+	_ZThn16_N11CPhoneStateD1Ev @ 334 NONAME
+	_ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 335 NONAME
+	_ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 336 NONAME
+	_ZThn16_N15CPhoneStateIdleD0Ev @ 337 NONAME
+	_ZThn16_N15CPhoneStateIdleD1Ev @ 338 NONAME
+	_ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 339 NONAME
+	_ZThn16_N17CPhoneStateInCallD0Ev @ 340 NONAME
+	_ZThn16_N17CPhoneStateInCallD1Ev @ 341 NONAME
+	_ZThn16_N18CPhoneStateStartupD0Ev @ 342 NONAME
+	_ZThn16_N18CPhoneStateStartupD1Ev @ 343 NONAME
+	_ZThn16_N18CPhoneUIController14HandleCommandLEi @ 344 NONAME
+	_ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 345 NONAME
+	_ZThn16_N18CPhoneUIControllerD0Ev @ 346 NONAME
+	_ZThn16_N18CPhoneUIControllerD1Ev @ 347 NONAME
+	_ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 348 NONAME
+	_ZThn16_N19CPhoneStateIncomingD0Ev @ 349 NONAME
+	_ZThn16_N19CPhoneStateIncomingD1Ev @ 350 NONAME
+	_ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 351 NONAME
+	_ZThn16_N20CPhoneStateCallSetupD0Ev @ 352 NONAME
+	_ZThn16_N20CPhoneStateCallSetupD1Ev @ 353 NONAME
+	_ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 354 NONAME
+	_ZThn20_N11CPhoneStateD0Ev @ 355 NONAME
+	_ZThn20_N11CPhoneStateD1Ev @ 356 NONAME
+	_ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 357 NONAME
+	_ZThn20_N15CPhoneStateIdleD0Ev @ 358 NONAME
+	_ZThn20_N15CPhoneStateIdleD1Ev @ 359 NONAME
+	_ZThn20_N17CPhoneStateInCallD0Ev @ 360 NONAME
+	_ZThn20_N17CPhoneStateInCallD1Ev @ 361 NONAME
+	_ZThn20_N18CPhoneStateStartupD0Ev @ 362 NONAME
+	_ZThn20_N18CPhoneStateStartupD1Ev @ 363 NONAME
+	_ZThn20_N19CPhoneStateIncomingD0Ev @ 364 NONAME
+	_ZThn20_N19CPhoneStateIncomingD1Ev @ 365 NONAME
+	_ZThn20_N20CPhoneStateCallSetupD0Ev @ 366 NONAME
+	_ZThn20_N20CPhoneStateCallSetupD1Ev @ 367 NONAME
+	_ZThn24_N11CPhoneState19SetDivertIndicationEi @ 368 NONAME
+	_ZThn24_N11CPhoneStateD0Ev @ 369 NONAME
+	_ZThn24_N11CPhoneStateD1Ev @ 370 NONAME
+	_ZThn24_N15CPhoneStateIdleD0Ev @ 371 NONAME
+	_ZThn24_N15CPhoneStateIdleD1Ev @ 372 NONAME
+	_ZThn24_N17CPhoneStateInCallD0Ev @ 373 NONAME
+	_ZThn24_N17CPhoneStateInCallD1Ev @ 374 NONAME
+	_ZThn24_N18CPhoneStateStartupD0Ev @ 375 NONAME
+	_ZThn24_N18CPhoneStateStartupD1Ev @ 376 NONAME
+	_ZThn24_N19CPhoneStateIncomingD0Ev @ 377 NONAME
+	_ZThn24_N19CPhoneStateIncomingD1Ev @ 378 NONAME
+	_ZThn24_N20CPhoneStateCallSetupD0Ev @ 379 NONAME
+	_ZThn24_N20CPhoneStateCallSetupD1Ev @ 380 NONAME
+	_ZThn28_NK11CPhoneState17GetBlockedKeyListEv @ 381 NONAME
+	_ZThn32_N11CPhoneState25HandleNumberEntryClearedLEv @ 382 NONAME
+	_ZThn32_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 383 NONAME
+	_ZThn32_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 384 NONAME
+	_ZThn32_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 385 NONAME
+	_ZThn32_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 386 NONAME
+	_ZThn36_N11CPhoneState23HandleNumberEntryEditedEv @ 387 NONAME
+	_ZThn36_N11CPhoneStateD0Ev @ 388 NONAME
+	_ZThn36_N11CPhoneStateD1Ev @ 389 NONAME
+	_ZThn36_N15CPhoneStateIdleD0Ev @ 390 NONAME
+	_ZThn36_N15CPhoneStateIdleD1Ev @ 391 NONAME
+	_ZThn36_N17CPhoneStateInCallD0Ev @ 392 NONAME
+	_ZThn36_N17CPhoneStateInCallD1Ev @ 393 NONAME
+	_ZThn36_N18CPhoneStateStartupD0Ev @ 394 NONAME
+	_ZThn36_N18CPhoneStateStartupD1Ev @ 395 NONAME
+	_ZThn36_N19CPhoneStateIncomingD0Ev @ 396 NONAME
+	_ZThn36_N19CPhoneStateIncomingD1Ev @ 397 NONAME
+	_ZThn36_N20CPhoneStateCallSetupD0Ev @ 398 NONAME
+	_ZThn36_N20CPhoneStateCallSetupD1Ev @ 399 NONAME
+	_ZThn40_NK11CPhoneState11IsKeyLockOnEv @ 400 NONAME
+	_ZThn40_NK11CPhoneState12IsAutoLockOnEv @ 401 NONAME
+	_ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 402 NONAME
+	_ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 403 NONAME
+	_ZThn4_N11CPhoneStateD0Ev @ 404 NONAME
+	_ZThn4_N11CPhoneStateD1Ev @ 405 NONAME
+	_ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 406 NONAME
+	_ZThn4_N15CPhoneStateIdleD0Ev @ 407 NONAME
+	_ZThn4_N15CPhoneStateIdleD1Ev @ 408 NONAME
+	_ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 409 NONAME
+	_ZThn4_N17CPhoneStateInCallD0Ev @ 410 NONAME
+	_ZThn4_N17CPhoneStateInCallD1Ev @ 411 NONAME
+	_ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 412 NONAME
+	_ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 413 NONAME
+	_ZThn4_N18CPhoneStateMachine12PhoneStorageEv @ 414 NONAME
+	_ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 415 NONAME
+	_ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 416 NONAME
+	_ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 417 NONAME
+	_ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 418 NONAME
+	_ZThn4_N18CPhoneStateMachine5StateEv @ 419 NONAME
+	_ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 420 NONAME
+	_ZThn4_N18CPhoneStateMachineD0Ev @ 421 NONAME
+	_ZThn4_N18CPhoneStateMachineD1Ev @ 422 NONAME
+	_ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 423 NONAME
+	_ZThn4_N18CPhoneStateStartupD0Ev @ 424 NONAME
+	_ZThn4_N18CPhoneStateStartupD1Ev @ 425 NONAME
+	_ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 426 NONAME
+	_ZThn4_N18CPhoneUIController13HandleMessageEii @ 427 NONAME
+	_ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 428 NONAME
+	_ZThn4_N19CPhoneStateIncomingD0Ev @ 429 NONAME
+	_ZThn4_N19CPhoneStateIncomingD1Ev @ 430 NONAME
+	_ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 431 NONAME
+	_ZThn4_N20CPhoneStateCallSetupD0Ev @ 432 NONAME
+	_ZThn4_N20CPhoneStateCallSetupD1Ev @ 433 NONAME
+	_ZThn8_N11CPhoneState14IsNoteVisibleLEv @ 434 NONAME
+	_ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 435 NONAME
+	_ZThn8_N11CPhoneState15HandleLongHashLEv @ 436 NONAME
+	_ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 437 NONAME
+	_ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 438 NONAME
+	_ZThn8_N11CPhoneState23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 439 NONAME
+	_ZThn8_N11CPhoneState24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 440 NONAME
+	_ZThn8_N11CPhoneState35IsAlphanumericSupportedAndCharInputERK9TKeyEvent @ 441 NONAME
+	_ZThn8_N11CPhoneStateD0Ev @ 442 NONAME
+	_ZThn8_N11CPhoneStateD1Ev @ 443 NONAME
+	_ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 444 NONAME
+	_ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 445 NONAME
+	_ZThn8_N15CPhoneStateIdleD0Ev @ 446 NONAME
+	_ZThn8_N15CPhoneStateIdleD1Ev @ 447 NONAME
+	_ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 448 NONAME
+	_ZThn8_N17CPhoneStateInCallD0Ev @ 449 NONAME
+	_ZThn8_N17CPhoneStateInCallD1Ev @ 450 NONAME
+	_ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 451 NONAME
+	_ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 452 NONAME
+	_ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 453 NONAME
+	_ZThn8_N18CPhoneStateStartup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 454 NONAME
+	_ZThn8_N18CPhoneStateStartupD0Ev @ 455 NONAME
+	_ZThn8_N18CPhoneStateStartupD1Ev @ 456 NONAME
+	_ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 457 NONAME
+	_ZThn8_N18CPhoneUIControllerD0Ev @ 458 NONAME
+	_ZThn8_N18CPhoneUIControllerD1Ev @ 459 NONAME
+	_ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 460 NONAME
+	_ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 461 NONAME
+	_ZThn8_N19CPhoneStateIncoming23HandleKeyPressDurationLE8TKeyCode25TTimeIntervalMicroSeconds @ 462 NONAME
+	_ZThn8_N19CPhoneStateIncomingD0Ev @ 463 NONAME
+	_ZThn8_N19CPhoneStateIncomingD1Ev @ 464 NONAME
+	_ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 465 NONAME
+	_ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 466 NONAME
+	_ZThn8_N20CPhoneStateCallSetup24HandleCreateNumberEntryLERK9TKeyEvent10TEventCode @ 467 NONAME
+	_ZThn8_N20CPhoneStateCallSetupD0Ev @ 468 NONAME
+	_ZThn8_N20CPhoneStateCallSetupD1Ev @ 469 NONAME
+	_ZThn8_NK11CPhoneState17IsMenuBarVisibleLEv @ 470 NONAME
 
--- a/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -19,7 +19,10 @@
 #include <platform_paths.hrh>
 
 // Capability assignment.
-CAPABILITY CAP_APPLICATION MultiMediaDD NetworkControl PowerMgmt DRM DiskAdmin
+// <-- QT PHONE START --> 
+CAPABILITY CAP_GENERAL_DLL
+//CAPABILITY CAP_APPLICATION MultiMediaDD NetworkControl PowerMgmt DRM DiskAdmin
+// <-- QT PHONE END --> 
 
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
@@ -57,10 +60,14 @@
 /* Languages */
 LANG SC
 
+
 USERINCLUDE     ../inc
-USERINCLUDE     ../../phoneuiview/inc
+// <-- QT PHONE START --> 
+USERINCLUDE     ../../phoneuiqtviewadapter/inc
+//USERINCLUDE     ../../phoneuiview/inc
+// <-- QT PHONE END --> 
 USERINCLUDE     ../../phoneuiutils/inc
-USERINCLUDE     ../../phoneui/srcdata
+USERINCLUDE     ../../phoneui2/srcdata
 USERINCLUDE     ../../phoneuistates/inc
 USERINCLUDE     ../../phonemediatorcenter/inc
 
@@ -74,7 +81,10 @@
 LIBRARY         engineinfo.lib
 LIBRARY         ws32.lib 
 LIBRARY         fbscli.lib
-LIBRARY         commonengine.lib //StringLoader 
+// <-- QT PHONE START --> 
+LIBRARY         phonestringloader.lib
+//LIBRARY         commonengine.lib //StringLoader 
+// <-- QT PHONE END --> 
 LIBRARY         featmgr.lib // FeatureManager
 LIBRARY         connmon.lib // RConnectionMonitor
 LIBRARY         avkon.lib // AknTextUtils
@@ -85,7 +95,6 @@
 LIBRARY         phonecmdhandler.lib
 // Soft reject
 LIBRARY         eikcore.lib // CCharFormatLayer, CParaFormatLayer
-LIBRARY         sendui.lib // CMessageData
 
 // Profiles
 LIBRARY         profileeng.lib
--- a/phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/cphonecallheadermanager.h	Fri Mar 19 09:28:42 2010 +0200
@@ -21,7 +21,9 @@
 
 //INCLUDES
 #include <e32base.h>
-#include <bmbubblemanager.h>
+// <-- QT PHONE START -->
+//#include <bmbubblemanager.h>
+// <-- QT PHONE END -->
 
 #include "mphonecallheadermanagerutility.h"
 #include "mphonestatemachine.h"
@@ -86,18 +88,20 @@
         */
         void DisplayHeaderForOutgoingCallL(
                 const TInt aCallId );
-       
+
+// <-- QT PHONE START -->       
         /**
         * Sets the call header type used in the call bubble.
         * @param aCallHeaderType, call header type.
         */
         void SetCallHeaderType( 
-                const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType );
+                TInt aCallHeaderType );
         
         /**
         * Returns the set call header type.
         */
-        CBubbleManager::TPhoneCallTypeFlags CallHeaderType() const;
+        TInt CallHeaderType() const;
+// <-- QT PHONE END -->
                 
         /**
         * Sets divert indication to call header if necessary
@@ -121,10 +125,10 @@
         */
         TBool IsVideoCall( const TInt aCallId ) const;
  
-		/**
+        /**
         * Sets texts to call header
         * @param aCallId - Call Id.
-		* @param aWaitingCall waiting call indication
+        * @param aWaitingCall waiting call indication
         * @param aCallHeaderData - Call header where indication will be set
         *                          if needed.
         */         
--- a/phoneapp/phoneuicontrol/inc/cphoneremotecontrolhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/cphoneremotecontrolhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -39,7 +39,7 @@
 * Class for handling messages from Engine and from all inputs to the states
 */
 class CPhoneRemoteControlHandler : 
-	public CBase,
+    public CBase,
     public MRemConCoreApiTargetObserver
     {
     public: 
--- a/phoneapp/phoneuicontrol/inc/cphonestate.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/cphonestate.h	Fri Mar 19 09:28:42 2010 +0200
@@ -24,7 +24,9 @@
 #include <w32std.h>
 #include <remconcoreapitargetobserver.h>
 #include <MProfileEngine.h>
-#include <bmbubblemanager.h>
+// <-- QT PHONE START -->
+//#include <bmbubblemanager.h>
+// <-- QT PHONE START -->
 
 #include "mphonestate.h"
 #include "mphoneviewcommandhandle.h"
@@ -448,15 +450,15 @@
             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
+        * @param aCallHeaderData - Call header parameter into which the text
         *                          will be set.
         */
         IMPORT_C void SetCallHeaderTextsForCallComingInL(
-			TInt aCallId,
+            TInt aCallId,
             TBool aWaitingCall,
             TPhoneCmdParamCallHeaderData* aCallHeaderData );
 
@@ -643,7 +645,9 @@
         /**
         * Sets the call header type used in the call bubble.
         */
-        IMPORT_C void SetCallHeaderType( const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType );
+// <-- QT PHONE START -->
+        IMPORT_C void SetCallHeaderType( TInt aCallHeaderType );
+// <-- QT PHONE END -->
 
         /**
         * Handles situation when hash key has been kept down long
@@ -827,7 +831,7 @@
          */
          void NumberEntryClearL();
          
-		  
+          
          /**
          * Dims silence touch button if call is not alerting.
          * @param None
@@ -988,7 +992,6 @@
         */
         void ShowWlanMacAddressL();
 
-
         /**
         * Check if ALS line change is possible
         */
--- a/phoneapp/phoneuicontrol/inc/cphonestatehandle.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/cphonestatehandle.h	Fri Mar 19 09:28:42 2010 +0200
@@ -67,7 +67,9 @@
         * Returns the state machine
         * @return State machine
         */
-        MPhoneStateMachine* StateMachine();
+// <-- QT PHONE START --> 
+        IMPORT_C MPhoneStateMachine* StateMachine();
+// <-- QT PHONE END --> 
         
         /**
         * Returns the view command handle
--- a/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/cphonestateidle.h	Fri Mar 19 09:28:42 2010 +0200
@@ -99,7 +99,7 @@
         /**
         * Indicates when the Phone app has lost focus.
         */
-		IMPORT_C virtual void HandlePhoneFocusLostEventL();
+        IMPORT_C virtual void HandlePhoneFocusLostEventL();
 
     protected:
 
--- a/phoneapp/phoneuicontrol/inc/cphonestateincall.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/cphonestateincall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -231,12 +231,12 @@
         */
         void LaunchNewCallSearchDialogL();
               
-		/**
+        /**
         * Sends command to view for 'Lock keypad'
         */
         void LockKeypadL();
         
-		/**
+        /**
         * Handle successful single item fetch.
         */
         void HandleSuccessFetchedNumberL();
@@ -285,12 +285,12 @@
         
     private:
     
-    	/**
-    	* Special timer for preventing recursive calls
-    	* which would otherwise occur with multiple
-    	* wait characters in a DTMF string.
-    	*/
-    	CPhoneDtmfWaitCharTimer* iDtmfWaitCharTimer;
+        /**
+        * Special timer for preventing recursive calls
+        * which would otherwise occur with multiple
+        * wait characters in a DTMF string.
+        */
+        CPhoneDtmfWaitCharTimer* iDtmfWaitCharTimer;
   
     
     };
--- a/phoneapp/phoneuicontrol/inc/cphonestatestartup.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/cphonestatestartup.h	Fri Mar 19 09:28:42 2010 +0200
@@ -76,7 +76,7 @@
          */
         IMPORT_C virtual void HandleIdleForegroundEventL();
 
-		protected:
+        protected:
 
         /**
         * ConstructL()
--- a/phoneapp/phoneuicontrol/inc/cphoneuicontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/cphoneuicontroller.h	Fri Mar 19 09:28:42 2010 +0200
@@ -164,7 +164,6 @@
         */
         IMPORT_C void HandleKeyLockEnabled( TBool aKeylockEnabled );
         
-        
     private:
         
         /**
--- a/phoneapp/phoneuicontrol/inc/mphonedivertif.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/mphonedivertif.h	Fri Mar 19 09:28:42 2010 +0200
@@ -40,8 +40,8 @@
         /**
         * 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.
+        *        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;            
--- a/phoneapp/phoneuicontrol/inc/mphoneuistatemachinefactory.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/mphoneuistatemachinefactory.h	Fri Mar 19 09:28:42 2010 +0200
@@ -71,8 +71,8 @@
         * @return an instance of class upcasted to CPhoneErrorMessagesHandler class
         */
         virtual CPhoneErrorMessagesHandler* CreatePhoneErrorMessagesHandlerL(
-        	MPhoneViewCommandHandle* aViewCommandHandle,
-        	MPhoneStateMachine* aStateMachine ) = 0;
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneStateMachine* aStateMachine ) = 0;
     };
 
 #endif      // __MPHONEUISTATEMACHINEFACTORY_H
--- a/phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/inc/tphonecallheaderparam.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,9 @@
 #define TPHONECALLHEADERPARAM_H
 
 //INCLUDES
-#include    <bmbubblemanager.h>
+// <-- QT PHONE START -->
+// #include    <bmbubblemanager2.h>
+// <-- QT PHONE END -->
 
 #include    "mpeengineinfo.h"
 #include    "tphonecmdparamcallheaderdata.h"
@@ -86,18 +88,20 @@
                 const TBool aWaitingCall,
                 const TBool aVideoCall,
                 TPhoneCmdParamCallHeaderData* aCallHeaderData );
-        
+
+// <-- QT PHONE START -->        
         /**
         * Sets the call header type used in the call bubble.
         * @param aCallHeaderType, call header type.
         */    
         void SetCallHeaderType( 
-                const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType );
+                TInt aCallHeaderType );
         /**
         * Returns the set call header type. Used for constructing right type
         * of call bubble.
         */
-        CBubbleManager::TPhoneCallTypeFlags CallHeaderType() const;
+        TInt CallHeaderType() const;
+// <-- QT PHONE END -->
             
         /**
         * Setter for divert indication showing in bubble.
@@ -171,7 +175,10 @@
         void GetCNAPText( 
                const TInt aCallId,
                TDes& aData, 
-               CBubbleManager::TPhoneClippingDirection& aDirection ) const;
+// <-- QT PHONE START -->
+//               CBubbleManager::TPhoneClippingDirection& aDirection ) const;
+               TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection& aDirection ) const;
+// <-- QT PHONE END -->
         
         /**
         * Check if contact is available(RemoteName or RemoteCompanyName),
@@ -251,7 +258,9 @@
         
         MPhoneCallHeaderManagerUtility& iManagerUtility;
         MPhoneStateMachine& iStateMachine;
-        CBubbleManager::TPhoneCallTypeFlags iCallHeaderType;
+// <-- QT PHONE START -->
+        TInt iCallHeaderType;
+// <-- QT PHONE END -->
         TBool iSetDivertIndication;
             
     };
--- a/phoneapp/phoneuicontrol/src/cphonebtaadisconnecthandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonebtaadisconnecthandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -283,7 +283,7 @@
 void CPhoneBtaaDisconnectHandler::ShowQueryL( TInt aResourceId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneBtaaDisconnectHandler::ShowQueryL( ) ");
-	//__ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
+    //__ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
     TPhoneCmdParamQuery queryParam;
     queryParam.SetQueryType( EPhoneGlobalQueryDialog );
   
--- a/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonecallheadermanager.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -268,8 +268,9 @@
 //  CPhoneCallHeaderManager::SetCallHeaderType
 // ---------------------------------------------------------------------------
 //
+// <-- QT PHONE START --> 
 void CPhoneCallHeaderManager::SetCallHeaderType( 
-    const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType )
+    TInt aCallHeaderType )
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::SetCallHeaderType() ");
     iCallHeaderParam->SetCallHeaderType( aCallHeaderType ); 
@@ -279,8 +280,9 @@
 //  CPhoneCallHeaderManager::~CPhoneCallHeaderManager
 // ---------------------------------------------------------------------------
 //
-CBubbleManager::TPhoneCallTypeFlags CPhoneCallHeaderManager::CallHeaderType() const
+TInt CPhoneCallHeaderManager::CallHeaderType() const
     {
+// <-- QT PHONE END --> 
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneCallHeaderManager::CallHeaderType() ");
     return iCallHeaderParam->CallHeaderType();            
     }
--- a/phoneapp/phoneuicontrol/src/cphonecbamanager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonecbamanager.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,9 @@
 #include "mphonestatemachine.h"
 
 #include <featmgr.h>
-#include <callhandlingui.rsg>
+// <-- QT PHONE START -->
+//#include <callhandlingui.rsg>
+// <-- QT PHONE END -->
 
 #include "phonerssbase.h"
 #include "phoneui.pan"
@@ -147,14 +149,14 @@
                     EPhoneViewGetCountOfActiveCalls, &activeCallCount );
             
             TPhoneCmdParamCallStateData callStateData;
-		    callStateData.SetCallState( EPEStateRinging );
+            callStateData.SetCallState( EPEStateRinging );
             iViewCommandHandle.HandleCommandL(
                     EPhoneViewGetCallIdByState, &callStateData );
-		    
+            
             TInt incomingCall = callStateData.CallId();
 
             if( dtmfEditorVisible )
-            	{
+                {
                 resourceId = EPhoneDtmfDialerCBA;
                 }                    
             else if( activeCallCount.Integer() == ENoActiveCalls )
@@ -162,10 +164,10 @@
                 resourceId = EPhoneNumberAcqCBA;
                 }
             else if ( activeCallCount.Integer() > ENoActiveCalls &&  
-            		  incomingCall > KErrNotFound )
-				{
-				resourceId = EPhoneCallHandlingCallWaitingCBA;
-				}
+                      incomingCall > KErrNotFound )
+                {
+                resourceId = EPhoneCallHandlingCallWaitingCBA;
+                }
             else
                 {
                 resourceId = EPhoneInCallNumberAcqCBA;
@@ -173,9 +175,8 @@
             }
         }
 
-    // Check if Audio is muted
-    else if ( iStateMachine.PhoneEngineInfo()->AudioMute() &&
-        !FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ))
+    // Check is Audio muted
+    else if ( iStateMachine.PhoneEngineInfo()->AudioMute() )
         {
         resourceId = EPhoneCallHandlingInCallUnmuteCBA;
         }
@@ -269,10 +270,10 @@
     TBool softRejectActivated( ETrue );
     // VoIP calls do not support sms sending
     if ( iStateMachine.PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP 
-    	|| iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() == 0 )
-    	{
-    	softRejectActivated = EFalse;
-    	}
+        || iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ).Length() == 0 )
+        {
+        softRejectActivated = EFalse;
+        }
     TPhoneCmdParamBoolean softRejectParam;
     softRejectParam.SetBoolean( softRejectActivated );
     iViewCommandHandle.ExecuteCommandL( EPhoneViewSetSoftRejectFlag,
@@ -454,10 +455,12 @@
 // -----------------------------------------------------------
 //
 TInt CPhoneCbaManager::GetIncomingCallSilenceCBA( 
-        const TBool aSoftRejectActivated )
+        const TBool /*aSoftRejectActivated*/ )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneCbaManager::GetIncomingCallSilenceCBA ()" );
-    TInt ret = EPhoneCallHandlingIncomingSoftRejectCBA;
+// <-- QT PHONE START -->
+    TInt ret = EPhoneCallHandlingIncomingCBA;
+    /*TInt ret = EPhoneCallHandlingIncomingSoftRejectCBA;
     
     //Get incoming call touchpane button set
     TPhoneCmdParamInteger touchpaneButtonsParam;
@@ -482,8 +485,9 @@
 
     // reset the iRingtoneSilence so it won't cause any problems with
     // next calls.
-    SetRingtoneSilencedStatus( EFalse );
-
+    SetRingtoneSilencedStatus( EFalse );*/
+    
+// <-- QT PHONE END -->
     return ret;
     }
 
--- a/phoneapp/phoneuicontrol/src/cphonedtmfwaitchartimer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonedtmfwaitchartimer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -31,23 +31,23 @@
 // -----------------------------------------------------------------------------
 //
 CPhoneDtmfWaitCharTimer::CPhoneDtmfWaitCharTimer( MPhoneStateMachine* aStateMachine ) :
-	iTimer( NULL ),
-	iStateMachine( aStateMachine )
-	{
-		
-	}
+    iTimer( NULL ),
+    iStateMachine( aStateMachine )
+    {
+        
+    }
 
 // Destructor
 CPhoneDtmfWaitCharTimer::~CPhoneDtmfWaitCharTimer()
     {
     if( iTimer )
-	    {
-		if( iTimer->IsActive() )
-			{
-			iTimer->CancelTimer();				
-			}
-	    }
-	    delete iTimer;
+        {
+        if( iTimer->IsActive() )
+            {
+            iTimer->CancelTimer();              
+            }
+        }
+        delete iTimer;
     }
 
 // -----------------------------------------------------------
@@ -86,7 +86,7 @@
 void CPhoneDtmfWaitCharTimer::HandleTimeOutL()
     {
     __LOGMETHODSTARTEND( EPhoneControl, 
-    	"CPhoneDtmfWaitCharTimer::HandleTimeOutL( ) ");
+        "CPhoneDtmfWaitCharTimer::HandleTimeOutL( ) ");
     
     iStateMachine->SendPhoneEngineMessage( 
         MPEPhoneModel::EPEMessageContinueDTMFSending );
@@ -97,20 +97,20 @@
 // ---------------------------------------------------------
 //
 void CPhoneDtmfWaitCharTimer::ButtonPressedL()
-	{
-	if( !iTimer )
-		{
-		iTimer = CPhoneTimer::NewL();			
-		}
-	else
-		{
-		if( iTimer->IsActive() )
-			{
-			iTimer->CancelTimer();				
-			}
-		}	
-	
-	iTimer->After( KDtmfWaitNoteTimeoutValue, this );	
-	}
+    {
+    if( !iTimer )
+        {
+        iTimer = CPhoneTimer::NewL();           
+        }
+    else
+        {
+        if( iTimer->IsActive() )
+            {
+            iTimer->CancelTimer();              
+            }
+        }   
+    
+    iTimer->After( KDtmfWaitNoteTimeoutValue, this );   
+    }
 
 // End of File
--- a/phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonekeyeventforwarder.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -35,8 +35,10 @@
 // CONSTANTS
 
 //Avkon P&S keys
-const TUid KCRUidAvkon = { 0x101F876E };
-const TUint32 KAknKeyBoardLayout = 0x0000000B;
+// <-- QT PHONE START-->
+//const TUid KCRUidAvkon = { 0x101F876E };
+//const TUint32 KAknKeyBoardLayout = 0x0000000B;
+// <-- QT PHONE END-->
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -227,10 +229,13 @@
         "CPhoneKeyEventForwarder::ConvertHalfQwertySpecialChar");
 
     TBool ret( EFalse );
-    TInt keyboard( CPhonePubSubProxy::Instance()->Value(
+// <-- QT PHONE START-->    
+    /*TInt keyboard( CPhonePubSubProxy::Instance()->Value(
           KCRUidAvkon,
-          KAknKeyBoardLayout ) );
-
+          KAknKeyBoardLayout ) );*/
+    TInt keyboard(KErrNotFound);
+// <-- QT PHONE END-->
+    
     if( keyboard == EPtiKeyboardHalfQwerty )
         {
         switch ( aKeyEvent.iScanCode )
@@ -313,7 +318,7 @@
     __LOGMETHODSTARTEND( EPhoneControl,
         "CPhoneKeyEventForwarder::OfferKeyEventAfterControlStackL");
     
-	if( !IsKeyBlocked( aKeyEvent ) )
+    if( !IsKeyBlocked( aKeyEvent ) )
         {
         // Send key to editor
         iStateMachine->State()->HandleKeyEventL( aKeyEvent, aType );
--- a/phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonenumberentrymanager.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -17,7 +17,9 @@
 
 
 #include <StringLoader.h>
-#include <activeidle2domainpskeys.h>
+// <-- QT PHONE START --> 
+//#include <activeidle2domainpskeys.h>
+// <-- QT PHONE END --> 
 #include <featmgr.h>
 #include <eikenv.h>
 
@@ -224,15 +226,18 @@
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneNumberEntryManager::HandleCreateNumberEntryL() ");
     
-    const TBool autoLcokOn = iState->IsAutoLockOn();
-    const TBool idleVal = CPhonePubSubProxy::Instance()->Value( KPSUidAiInformation, KActiveIdleState );
+     const TBool autoLcokOn = iState->IsAutoLockOn();
+// <-- QT PHONE START --> 
+    const TBool idleVal = false;
+    //const TBool idleVal = CPhonePubSubProxy::Instance()->Value( KPSUidAiInformation, KActiveIdleState );
     const TBool queryActive = iState->IsAnyQueryActiveL();
     const TBool menuBarVisible = iState->IsMenuBarVisibleL();
     
     if( autoLcokOn || 
-        ( idleVal == EPSAiForeground ) ||
+        ( idleVal /*== EPSAiForeground*/ ) ||
         ( menuBarVisible || queryActive ) )
         {
+// <-- QT PHONE END -->         
         __PHONELOG( EBasic, EPhoneControl, 
              "CPhoneNumberEntryManager::HandleCreateNumberEntryL() NE NOT CREATED" );
         __PHONELOG2( EBasic, EPhoneControl, 
--- a/phoneapp/phoneuicontrol/src/cphonereconnectquery.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonereconnectquery.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -17,7 +17,9 @@
 
 
 // INCLUDE FILES
-#include <mcauireconnectqueryobserver.h>
+// <-- QT PHONE START -->
+//#include <mcauireconnectqueryobserver.h>
+// <-- QT PHONE END -->
 #include <mpeengineinfo.h>
 
 #include "cphonereconnectquery.h"
@@ -28,8 +30,10 @@
 #include "cphonestatehandle.h"
 #include "tphonecmdparamboolean.h"
 #include "tphonecmdparaminteger.h"
-#include "tphonecmdparammessageeditor.h"
-#include "tphonecmdparamreconnectquery.h"
+// <-- QT PHONE START -->
+//#include "tphonecmdparammessageeditor.h"
+//#include "tphonecmdparamreconnectquery.h"
+// <-- QT PHONE END -->
 #include "cphonemainresourceresolver.h"
 
 // ================= MEMBER FUNCTIONS =======================
@@ -107,8 +111,8 @@
 void CPhoneReconnectQuery::HandleTimeOutL()
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneReconnectQuery::HandleTimeOutL( ) ");
-
-    TPhoneCmdParamReconnectQuery reconQueryParam( *this );
+// <-- QT PHONE START -->
+/* TPhoneCmdParamReconnectQuery reconQueryParam( *this );
     // Recipient number to CallUIs reconnect query in case message selected
     TPtrC phoneNumber( CPhoneStateHandle::Instance()->StateMachine()->
         PhoneEngineInfo()->PhoneNumber() );
@@ -117,7 +121,9 @@
     // Display reconnect query
     CPhoneStateHandle::Instance()->ViewCommandHandle()->
         ExecuteCommandL( EPhoneViewShowQuery, &reconQueryParam );
-    iDisplayingQuery = ETrue;
+    iDisplayingQuery = ETrue;*/
+// <-- QT PHONE END -->
+
     }
 
 // -----------------------------------------------------------
@@ -155,7 +161,7 @@
             // CallUi launches message editor
             break;
 
-		default:
+        default:
             // Do nothing
             break;
         }
@@ -172,7 +178,7 @@
     TPhoneCmdParamBoolean booleanParam;
     booleanParam.SetBoolean( ETrue );
     CPhoneStateHandle::Instance()->ViewCommandHandle()->
-    	ExecuteCommandL( EPhoneViewSetNumberEntryVisible, &booleanParam );
+        ExecuteCommandL( EPhoneViewSetNumberEntryVisible, &booleanParam );
 
     // Set Number Entry CBA
     TPhoneCmdParamInteger integerParam;
--- a/phoneapp/phoneuicontrol/src/cphonestate.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonestate.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -32,17 +32,21 @@
 #include <AknUtils.h>
 #include <telephonyvariant.hrh>
 #include <aknsoundsystem.h>
-#include <cphcntprofileengine.h>
+// <-- QT PHONE START --> 
+//#include <cphcntprofileengine.h>
+// <-- QT PHONE END --> 
 #include <wlaninternalpskeys.h>
 #include <btengdomainpskeys.h>
 #include <btengdomaincrkeys.h>
-#include <SettingsInternalCRKeys.h>
+#include <settingsinternalcrkeys.h>
 #include <starterclient.h>
-#include <RSSSettings.h>
+#include <rsssettings.h>
 #include <UikonInternalPSKeys.h>
 #include <telephonydomainpstypes.h>
 #include <telinformationpskeys.h>
-#include <activeidle2domainpskeys.h>
+// <-- QT PHONE START --> 
+//#include <activeidle2domainpskeys.h>
+// <-- QT PHONE END --> 
 #include <coreapplicationuisdomainpskeys.h>
 #include <mccecall.h>
 #include <ccpdefs.h>
@@ -51,7 +55,9 @@
 #include <ScreensaverInternalPSKeys.h>
 #include <startupdomainpskeys.h>
 #include <MediatorDomainUIDs.h>
+// <-- QT PHONE START --> 
 #include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE END --> 
 #include <textresolver.h>
 #include <phoneappvoipcommands.hrh>
 #include <hwrmdomainpskeys.h>
@@ -71,10 +77,12 @@
 #include "tphonecmdparamglobalnote.h"
 #include "tphonecmdparamquery.h"
 #include "tphonecmdparamstring.h"
-#include "tphonecmdparammessageeditor.h"
+// <-- QT PHONE START --> 
+//#include "tphonecmdparammessageeditor.h"
+// <-- QT PHONE END --> 
 #include "tphonecmdparamcallstatedata.h"
 #include "tphonecmdparambitmap.h"
-#include "tphonecmdparamaudiooutput.h"
+#include "tphonecmdparamAudioOutput.h"
 #include "tphonecmdparamaudioavailability.h"
 #include "tphonecmdparamappinfo.h"
 #include "tphonecmdparamtranseffect.h"
@@ -386,14 +394,14 @@
 
             if ( EFalse == handled )
                 {
-            	MPhoneMediatorMessage* mediatorMessage = CPhoneMediatorFactory::Instance()->MediatorMessage( aMessage, aCallId );
-            	if( mediatorMessage )
-    	        	{
-    	        	CleanupDeletePushL( mediatorMessage );
-	        		mediatorMessage->ExecuteL();
-	        		CleanupStack::PopAndDestroy( mediatorMessage );
-	        		mediatorMessage = NULL;
-    	        	}
+                MPhoneMediatorMessage* mediatorMessage = CPhoneMediatorFactory::Instance()->MediatorMessage( aMessage, aCallId );
+                if( mediatorMessage )
+                    {
+                    CleanupDeletePushL( mediatorMessage );
+                    mediatorMessage->ExecuteL();
+                    CleanupStack::PopAndDestroy( mediatorMessage );
+                    mediatorMessage = NULL;
+                    }
                 }
             break;
         }
@@ -650,13 +658,14 @@
         && !IsAnyQueryActiveL()
         && !IsMenuBarVisibleL() )
         {
-        if( IsKeyEventFurtherProcessedL( aKeyEvent ))
-            {
-            // Send the key event to the phone engine.
-            SendKeyEventL( aKeyEvent, aEventCode );
-            }
+// <-- QT PHONE START -->
+        //if( IsKeyEventFurtherProcessedL( aKeyEvent ))
+        //    {
+        // Send the key event to the phone engine.
+        SendKeyEventL( aKeyEvent, aEventCode );
+        //    }
         }
-
+// <-- QT PHONE END -->
     }
 
 // -----------------------------------------------------------------------------
@@ -740,9 +749,9 @@
             case ECCPErrorCCServiceNotAvailable:
                 {
                 if( IsVideoCall( aErrorInfo.iCallId ) )
-    				{
-    			    CPhoneReconnectQuery::InstanceL()->ShowReconnectQueryL( EFalse );
-    				}
+                    {
+                    CPhoneReconnectQuery::InstanceL()->ShowReconnectQueryL( EFalse );
+                    }
                 }
                 break;
 
@@ -798,12 +807,14 @@
             {
             // check, that there really was a call established before completing SAT request
             if( aErrorInfo.iCallId != KPECallIdNotUsed )
-                {                
-                // Complete sat request
+                {
+// <-- QT PHONE START --> 
+                /*// Complete sat request
                 if ( iStateMachine->PhoneEngineInfo()->CallOrigin( aErrorInfo.iCallId ) == EPECallOriginSAT )
                     {
                     CompleteSatRequestL( aErrorInfo.iCallId );
-                    }
+                    }*/
+// <-- QT PHONE END --> 
                 }
 
             // remove number entry
@@ -823,7 +834,9 @@
             break;
         }
     // clear call blacklist if call failure occurs
-    CPhoneClearBlacklist::Instance()->ClearBlackListOnNextKey();
+// <-- QT PHONE START --> 
+//    CPhoneClearBlacklist::Instance()->ClearBlackListOnNextKey();          
+// <-- QT PHONE END --> 
     }
 
 // -----------------------------------------------------------
@@ -879,12 +892,14 @@
         CPhoneReconnectQuery::InstanceL()->ShowReconnectQueryL( ETrue );
         }
     else
-        {        
-        // Complete sat request
+        {
+// <-- QT PHONE START --> 
+        /*// Complete sat request
         if ( iStateMachine->PhoneEngineInfo()->CallOrigin( aCallId ) == EPECallOriginSAT )
             {
             CompleteSatRequestL( aCallId );
-            }
+            }*/
+// <-- QT PHONE END --> 
         }
     }
 
@@ -917,8 +932,10 @@
 
     iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId,
         &callHeaderParam );
-
-    CPhoneClearBlacklist::Instance()->ClearBlackListOnNextKey();
+    
+// <-- QT PHONE START --> 
+//    CPhoneClearBlacklist::Instance()->ClearBlackListOnNextKey();
+// <-- QT PHONE END --> 
     }
 
 // -----------------------------------------------------------
@@ -1177,7 +1194,7 @@
             {
             HBufC* phoneNumber = PhoneNumberFromEntryLC();
             // Save the phone number
-            __PHONELOG1( EBasic, EPhoneControl, "SetPhoneNumber: %S ", &phoneNumber->Des() );
+            __PHONELOG1( EBasic, EPhoneControl, "SetPhoneNumber: %S ", phoneNumber->Des() );
             iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
 
             // Convert key code to western.
@@ -1297,7 +1314,8 @@
 //
 EXPORT_C void CPhoneState::HandlePhoneForegroundEventL()
     {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandlePhoneForegroundEventL( ) ");
+// <-- QT PHONE START --> 
+    /*__LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandlePhoneForegroundEventL( ) ");
 
     // Force Idle to the foreground if a foreground event is received,
     // but Idle is the top application
@@ -1320,7 +1338,6 @@
             NumberEntryManagerL()->CreateNumberEntryL();
             SetNumberEntryVisibilityL(ETrue);
             }
-
         else
             {
             TPhoneCmdParamBoolean isSecurityMode;
@@ -1334,8 +1351,8 @@
                 iViewCommandHandle->ExecuteCommandL( EPhoneViewBringIdleToForeground );
                 }
             }
-        }
-
+        }*/
+// <-- QT PHONE END --> 
      }
 
 // -----------------------------------------------------------
@@ -1887,12 +1904,13 @@
         iStateMachine->SendPhoneEngineMessage(
             MPEPhoneModel::EPEMessageSetAudioVolume );
         }
-    else
+// <-- QT PHONE START --> 
+   /* else 
         {
-        CAknKeySoundSystem* keySounds =
+        CAknKeySoundSystem* keySounds = 
             static_cast<CAknAppUi*>( iEnv.EikAppUi() )
                 ->KeySounds();
-
+                
         if ( aLevel < KPhoneVolumeMinValue )
             {
             // Set the volume value to volume control
@@ -1905,9 +1923,10 @@
             valueToControl = KPhoneVolumeMaxValue;
             keySounds->PlaySound( EAvkonSIDVolumeMaxTone );
             }
-        }
-
-    if ( aUpdateControl )
+        }*/
+// <-- QT PHONE END --> 
+        
+    if ( aUpdateControl )        
         {
         // Update the volume display.
         // Upper max (11) and under min (-1)
@@ -1961,60 +1980,78 @@
 EXPORT_C TBool CPhoneState::DisconnectCallL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DisconnectCallL( ) ");
-    // Fetch active call's id from view
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallState( EPEStateConnected );
+// <-- QT PHONE START -->
+    TPhoneCmdParamInteger callIdParam;
+    iViewCommandHandle->ExecuteCommandL( 
+            EPhoneViewGetExpandedBubbleCallId, &callIdParam );
+    // Fetch waiting call's id from view
+    /*TPhoneCmdParamCallStateData callStateData;
+    callStateData.SetCallState( EPEStateRinging );
     iViewCommandHandle->HandleCommandL(
         EPhoneViewGetCallIdByState, &callStateData );
-
     if( callStateData.CallId() == KErrNotFound )
         {
-        // No connected call, find the hold call
-        callStateData.SetCallState( EPEStateHeld );
+        // No waiting call, find the connected call
+        callStateData.SetCallState( EPEStateConnected );
         iViewCommandHandle->HandleCommandL(
             EPhoneViewGetCallIdByState, &callStateData );
 
         if( callStateData.CallId() == KErrNotFound )
             {
-            // No hold call, find the dialing call
-            callStateData.SetCallState( EPEStateDialing );
-            iViewCommandHandle->HandleCommandL(
-                EPhoneViewGetCallIdByState, &callStateData );
-            }
-
-        if( callStateData.CallId() == KErrNotFound )
-            {
-            // No dialing call, find the outgoing call
-            callStateData.SetCallState( EPEStateConnecting );
-            iViewCommandHandle->HandleCommandL(
-                EPhoneViewGetCallIdByState, &callStateData );
-            }
-
-        if( callStateData.CallId() == KErrNotFound )
-            {
-            // No active call, find the disconnectinging call
-            callStateData.SetCallState( EPEStateDisconnecting );
+            // No connected call, find the hold call
+            callStateData.SetCallState( EPEStateHeld );
             iViewCommandHandle->HandleCommandL(
                 EPhoneViewGetCallIdByState, &callStateData );
-            }
-        }
+
+            if( callStateData.CallId() == KErrNotFound )
+                {
+                // No hold call, find the dialing call
+                callStateData.SetCallState( EPEStateDialing );
+                iViewCommandHandle->HandleCommandL(
+                    EPhoneViewGetCallIdByState, &callStateData );
+                }
+
+            if( callStateData.CallId() == KErrNotFound )
+                {
+                // No dialing call, find the outgoing call
+                callStateData.SetCallState( EPEStateConnecting );
+                iViewCommandHandle->HandleCommandL(
+                    EPhoneViewGetCallIdByState, &callStateData );
+                }
+
+            if( callStateData.CallId() == KErrNotFound )
+                {
+                // No active call, find the disconnectinging call
+                callStateData.SetCallState( EPEStateDisconnecting );
+                iViewCommandHandle->HandleCommandL(
+                    EPhoneViewGetCallIdByState, &callStateData );
+                }
+           }
+        }*/
+
 
     TBool ret = EFalse;
-    if( callStateData.CallId() > KErrNotFound )
+    if( callIdParam.Integer() > KErrNotFound )
         {
         // Release the call
-        iStateMachine->SetCallId( callStateData.CallId() );
-        if( IsVideoCall( callStateData.CallId() ) )
+        iStateMachine->SetCallId( callIdParam.Integer() );
+
+        if( IsVideoCall( callIdParam.Integer() ) )
+// <-- QT PHONE END -->
             {
             // Video call can be released only after we get response to VT Shutdown Command
+// <-- QT PHONE START -->
+ 
             CPhoneMediatorFactory::Instance()->Sender()->IssueCommand( KMediatorVideoTelephonyDomain,
-			                                                           			 KCatPhoneToVideotelCommands,
-			                                                           			 EVtCmdReleaseDataport,
+                                                                                 KCatPhoneToVideotelCommands,
+                                                                                 EVtCmdReleaseDataport,
                                                                        TVersion( KPhoneToVideotelCmdVersionMajor,
-                              	                                                 KPhoneToVideotelCmdVersionMinor,
-                              	                                                 KPhoneToVideotelCmdVersionBuild ),
+                                                                                 KPhoneToVideotelCmdVersionMinor,
+                                                                                 KPhoneToVideotelCmdVersionBuild ),
                                                                        KNullDesC8,
                                                                        CPhoneReleaseCommand::NewL( *iStateMachine ) );
+
+// <-- QT PHONE END --> 
             }
         else
             {
@@ -2210,9 +2247,13 @@
     UpdateRemoteInfoDataL( aCallId );
 
     // Create call duration label if enabled
+// <-- QT PHONE START-->
+    // This key will be moved to some other area, but since key
+    // is supported we can still use it.
     TBool callDuration( EFalse );
     CPhoneCenRepProxy::Instance()->GetInt(
             KCRUidLogs, KLogsShowCallDuration, callDuration );
+// <-- QT PHONE END-->
 
     if ( callDuration )
         {
@@ -2243,7 +2284,9 @@
     // Go to background if necessary
     if ( NeedToSendToBackgroundL() ||  IsAutoLockOn() )
         {
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
+// <-- QT PHONE START -->             
+        //iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
+// <-- QT PHONE END -->         
         // If number entry is used set control and visibility.
         if ( IsNumberEntryUsedL() )
            {
@@ -2266,15 +2309,17 @@
     TBool aCaptured )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::CaptureKeysDuringCallNotificationL( ) ");
-
+// <-- QT PHONE START --> 
+/*    
     if ( AknLayoutUtils::PenEnabled() )
         {
         //Capture pointer events
         TPhoneCmdParamBoolean booleanParam;
         booleanParam.SetBoolean( aCaptured );
         iViewCommandHandle->ExecuteCommandL( EPhoneViewSetPointerCapture, &booleanParam );
-        }
-
+        }  
+*/    
+// <-- QT PHONE END --> 
     // Determine which view command to execute based on the capture status
     const TInt viewCommandId = aCaptured ?
         EPhoneViewStartCapturingKey :
@@ -2351,8 +2396,10 @@
 // CPhoneState::SetCallHeaderType
 // -----------------------------------------------------------
 //
+// <-- QT PHONE START --> 
 EXPORT_C void CPhoneState::SetCallHeaderType(
-    const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType )
+    TInt aCallHeaderType )
+// <-- QT PHONE END --> 
     {
     __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::SetCallHeaderType() ");
     TRAP_IGNORE( CallheaderManagerL()->SetCallHeaderType( aCallHeaderType ) );
@@ -2792,6 +2839,8 @@
 //
 void CPhoneState::UpdateProfileDisplayL()
     {
+// <-- QT PHONE START --> 
+/*
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::UpdateProfileDisplayL( ) ");
     // Get the profile information
     const TInt profileId =
@@ -2886,6 +2935,8 @@
         }
 
     CleanupStack::PopAndDestroy( profileString );
+*/
+// <-- QT PHONE END --> 
     }
 
 // -----------------------------------------------------------
@@ -3052,6 +3103,8 @@
 
     // We have existing video call so need to release dataport before continuing
     // emergency call. Otherwise we will face problems with dataport use later.
+// <-- QT PHONE START -->
+ 
     CPhoneMediatorFactory::Instance()->Sender()->IssueCommand( KMediatorVideoTelephonyDomain,
                                                                      KCatPhoneToVideotelCommands,
                                                                      EVtCmdReleaseDataport,
@@ -3060,6 +3113,8 @@
                                                                          KPhoneToVideotelCmdVersionBuild ),
                                                                KNullDesC8,
                                                                CPhoneContinueEmergencyCallCommand::NewL( *iStateMachine ) );
+
+// <-- QT PHONE END --> 
     }
 
 // -----------------------------------------------------------
@@ -3728,17 +3783,22 @@
 // CPhoneState::SetTouchPaneButtons
 // ---------------------------------------------------------
 //
-EXPORT_C void CPhoneState::SetTouchPaneButtons( TInt aResourceId )
+// <-- QT PHONE START --> 
+EXPORT_C void CPhoneState::SetTouchPaneButtons( TInt /*aResourceId*/ )
+// <-- QT PHONE END --> 
     {
     if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) )
         {
-        TPhoneCmdParamInteger integerParam;
-        integerParam.SetInteger( CPhoneMainResourceResolver::Instance()->
-                                 ResolveResourceID( aResourceId ) );
+// <-- QT PHONE START -->
+        TBool emergency( EPEStateIdle != 
+            iStateMachine->PhoneEngineInfo()->CallState( KPEEmergencyCallId ) );
+        TPhoneCmdParamBoolean booleanParam;
+        booleanParam.SetBoolean( emergency );
+
         TRAP_IGNORE( iViewCommandHandle->ExecuteCommandL(
                      EPhoneViewSetTouchPaneButtons,
-                     &integerParam ) );
-
+                     &booleanParam ) );
+// <-- QT PHONE END -->
         SetTouchPaneVisible( ETrue );
         }
     }
@@ -3751,12 +3811,12 @@
     {
     if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) )
         {
-        TPhoneCmdParamInteger integerParam;
-        integerParam.SetInteger( 0 );
+// <-- QT PHONE START -->
+        TPhoneCmdParamBoolean boolParam;
         TRAP_IGNORE( iViewCommandHandle->ExecuteCommandL(
                         EPhoneViewSetTouchPaneButtons,
-                        &integerParam ) );
-
+                        &boolParam ) );
+// <-- QT PHONE END -->
         SetTouchPaneVisible( EFalse );
         }
     }
@@ -4317,14 +4377,14 @@
             EPhoneInfoCugInUse ), cugIndex );
 
         TPhoneCmdParamGlobalNote globalNoteParam;
-	    globalNoteParam.SetText( *buf );
-	    globalNoteParam.SetType( EAknGlobalInformationNote );
-	    globalNoteParam.SetTone( EAvkonSIDInformationTone );
-
-	    iViewCommandHandle->ExecuteCommandL(
-	            EPhoneViewShowGlobalNote, &globalNoteParam );
-
-	    CleanupStack::PopAndDestroy( buf );
+        globalNoteParam.SetText( *buf );
+        globalNoteParam.SetType( EAknGlobalInformationNote );
+        globalNoteParam.SetTone( EAvkonSIDInformationTone );
+
+        iViewCommandHandle->ExecuteCommandL(
+                EPhoneViewShowGlobalNote, &globalNoteParam );
+
+        CleanupStack::PopAndDestroy( buf );
         }
     }
 
@@ -4687,7 +4747,7 @@
     {
     NumberEntryManagerL()->NumberEntryClearL();
     }
-	
+    
 // -----------------------------------------------------------
 // CPhoneState::UpdateSilenceButtonDimming
 // -----------------------------------------------------------
@@ -4899,18 +4959,18 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::HandleKeyLockEnabledL( ) ");
     if( !FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
-		&& CPhoneCenRepProxy::Instance()->
-			IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) )
-		{
-    	if( !aKeylockEnabled )
-	        {
-	        // Keylock disabled
+        && CPhoneCenRepProxy::Instance()->
+            IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) )
+        {
+        if( !aKeylockEnabled )
+            {
+            // Keylock disabled
             // Reset blocked keys list
             iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-	        }
-		}
+            }
+        }
     }
-	
+    
 // ---------------------------------------------------------
 // CPhoneState::SetToolbarDimming
 // ---------------------------------------------------------
--- a/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -18,7 +18,7 @@
 
 // INCLUDES
 #include <featmgr.h>
-#include <StringLoader.h> 
+#include <StringLoader.h>
 #include <ScreensaverInternalPSKeys.h>
 #include <AknUtils.h>
 #include <mpeengineinfo.h>
@@ -44,7 +44,7 @@
 #include "phonelogger.h"
 #include "phoneui.pan"
 #include "cphonedtmfwaitchartimer.h"
-#include "tphonecmdparamaudiooutput.h"
+#include "tphonecmdparamAudioOutput.h"
 #include "cphonekeys.h"
 
 // ================= MEMBER FUNCTIONS =======================
@@ -188,6 +188,16 @@
         case EPhoneDtmfDialerCancel:
             CloseDTMFEditorL();
             break;
+
+// <-- QT PHONE START -->            
+        case EPhoneInCallCmdMute: // fall through
+        case EPhoneInCallCmdUnmute:
+            iStateMachine->PhoneEngineInfo()->SetAudioMuteCommand( 
+                ( aCommand == EPhoneInCallCmdMute ) );
+            iStateMachine->SendPhoneEngineMessage( 
+                MPEPhoneModel::EPEMessageSetAudioMute );
+            break;
+// <-- QT PHONE END -->            
                                    
         default:
             commandStatus = CPhoneState::HandleCommandL( aCommand );
@@ -586,12 +596,14 @@
     
     // Update the single call
     CPhoneState::UpdateSingleActiveCallL( aCallId );
-        
-    // Complete sat request
+    
+// <-- QT PHONE START --> 
+/*  // Complete sat request
     if ( iStateMachine->PhoneEngineInfo()->CallOrigin( aCallId ) == EPECallOriginSAT )
         {
         CompleteSatRequestL( aCallId );
-        }
+        }*/
+// <-- QT PHONE END --> 
         
     // Update touch buttons
     SetTouchPaneButtons( EPhoneIncallButtons );        
--- a/phoneapp/phoneuicontrol/src/cphonestatehandle.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonestatehandle.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -100,7 +100,9 @@
 // CPhoneStateHandle::StateMachine
 // ---------------------------------------------------------
 //
-MPhoneStateMachine* CPhoneStateHandle::StateMachine()
+// <-- QT PHONE START --> 
+EXPORT_C MPhoneStateMachine* CPhoneStateHandle::StateMachine()
+// <-- QT PHONE END --> 
     {   
     __ASSERT_DEBUG( Instance(), Panic( EPhoneCtrlSingletonNotInitialized ) );
     return iPhoneStateMachine;
@@ -126,7 +128,7 @@
     {
     TFileName fileName( KDriveZ );
     fileName.Append( KDC_SHARED_LIB_DIR );
-    fileName.Append( aFileName );	
+    fileName.Append( aFileName );   
     LoadLibraryHandleL( fileName, aFactoryUid );
     }
 
@@ -176,8 +178,8 @@
     
     // Create the phone error messages handler    
     iPhoneErrorMessagesHandler = 
-    	iStateMachineFactory->CreatePhoneErrorMessagesHandlerL( 
-    						iViewCommandHandle, iPhoneStateMachine );
+        iStateMachineFactory->CreatePhoneErrorMessagesHandlerL( 
+                            iViewCommandHandle, iPhoneStateMachine );
     }
 
 // End of File
--- a/phoneapp/phoneuicontrol/src/cphonestateidle.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonestateidle.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -56,7 +56,10 @@
 #include "cphonepubsubproxy.h"
 #include "phonelogger.h"
 #include "phoneui.pan"
-#include "phoneconstants.h"
+// <-- QT PHONE START --> 
+//#include "phoneconstants.h"
+//#include <activeidle2domainpskeys.h>
+// <-- QT PHONE END --> 
 #include "mphonecustomization.h"
 
 //CONSTANTS
@@ -95,7 +98,7 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetSendKeyDialerActivationFlag, 
                 &boolean );
     
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewCreatePhoneBookServices ); 
+    iViewCommandHandle->ExecuteCommandL( EPhoneViewCreatePhoneBookServices );
     }
 
 // -----------------------------------------------------------
@@ -129,8 +132,6 @@
     // Security mode check
     TPhoneCmdParamBoolean isSecurityMode;      
     iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &isSecurityMode );  
-    
- 
     // Number entry is blocked, if active Query
     if ( !IsAnyQueryActiveL() )
         {
@@ -188,9 +189,9 @@
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandleKeyMessageL( ) ");
 
     if( aMessage == EPhoneKeyLongPress && CheckAppLaunchingL( aCode ) )
-    	{
+        {
         return;
-    	}
+        }
 
     switch ( aCode )
         {
@@ -265,14 +266,10 @@
             
         case EKeyApplication0:
             {
-            // Security mode
-            TPhoneCmdParamBoolean isSecurityMode;      
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &isSecurityMode );
-            	
             // If dialer is not open but phone is in foreground and phone receives
-            // applicaion-key event we have to open emergency dialer. 
-            // Securitymode check because Applicationkey only open dialer in securitymode.
-            if ( isSecurityMode.Boolean() && !IsNumberEntryUsedL() )
+            // applicaion-key event we have to open emergency dialer. No need own
+            // securitymode check because Applicationkey only captured in securitymode.
+            if ( !IsNumberEntryUsedL() )
                 {
                 HandleCommandL(EPhoneNumberAcqSecurityDialer);
                 }           
@@ -413,14 +410,17 @@
         }
      
     // Close fast swap window if it's displayed
-    CEikonEnv::Static()->DismissTaskList();
+// <-- QT PHONE START --> 
+//    CEikonEnv::Static()->DismissTaskList();
+
 
+    // Display incoming call
+    DisplayIncomingCallL( aCallId );
+    
     // Show incoming call buttons
     SetTouchPaneButtons( EPhoneIncomingCallButtons );
-    SetTouchPaneButtonEnabled( EPhoneCallComingCmdSilent );
     
-    // Display incoming call
-    DisplayIncomingCallL( aCallId );
+// <-- QT PHONE END --> 
 
     // Disable HW keys and Call UI if needed
     CheckDisableHWKeysAndCallUIL();
@@ -458,11 +458,13 @@
     
     SetNumberEntryVisibilityL(EFalse);
 
+    // <-- QT PHONE START -->
+    // Display call setup 
+    DisplayCallSetupL( aCallId );  
+    
     // Show call setup buttons
-    SetTouchPaneButtons( EPhoneCallSetupButtons );
-
-    // Display call setup 
-    DisplayCallSetupL( aCallId );            
+    SetTouchPaneButtons( EPhoneCallSetupButtons );          
+    // <-- QT PHONE END -->
     
     EndUiUpdate();
     
@@ -593,7 +595,7 @@
                ResolveResourceID( EPhoneNumberAcqOkMenubar ) );
            iViewCommandHandle->ExecuteCommandL( 
                EPhoneViewMenuBarOpen, &integerParam );
-	       commandStatus = ETrue;
+           commandStatus = ETrue;
            }
            break;       
            
@@ -839,7 +841,8 @@
 
 EXPORT_C void CPhoneStateIdle::HandlePhoneForegroundEventL()
     {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandlePhoneForegroundEventL( ) ");
+// <-- QT PHONE START --> 
+    /*__LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandlePhoneForegroundEventL( ) ");
     
     TPhoneCmdParamBoolean isSecurityMode;      
     iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &isSecurityMode );
@@ -875,7 +878,8 @@
         {
         // Bring Idle app to the foreground
         iViewCommandHandle->ExecuteCommandL( EPhoneViewBringIdleToForeground );
-		}
+        }*/
+// <-- QT PHONE END --> 
     }
 
 // -----------------------------------------------------------
@@ -931,6 +935,8 @@
     
     if ( NULL != phoneNumber && KNullDesC() != *phoneNumber )
         {
+
+
         DialL( *phoneNumber, speedDialParam.NumberType(), aDialMethod );
         
         if ( IsNumberEntryUsedL()  ) 
@@ -1083,6 +1089,10 @@
     keyEvent.iRepeats = 0;
     wsSession.SimulateKeyEvent( keyEvent );
     wsSession.Flush();  
+
+// <-- QT PHONE START -->     
+    iViewCommandHandle->ExecuteCommandL( EPhoneAppShutDown );
+// <-- QT PHONE END --> 
     }
 
 // -----------------------------------------------------------
@@ -1161,7 +1171,7 @@
                     iViewCommandHandle->ExecuteCommandL( 
                         EPhoneViewRemoveNumberEntry );
                     } 
-			    // Bring Idle app to the foreground
+                // Bring Idle app to the foreground
                 iViewCommandHandle->ExecuteCommandL( EPhoneViewBringIdleToForeground );
                 }
             }
@@ -1307,17 +1317,17 @@
 // -----------------------------------------------------------------------------
 //
 TBool CPhoneStateIdle::CheckAppLaunchingL( const TKeyCode aCode )
-	{
-	TBool valuesFetched( EFalse );
-	
-	if( !IsSimOk() )
-	    {
-	    return valuesFetched;
-	    }
-	
-	TPhoneCmdParamAppInfo appInfo;
-	HBufC8* appParam = HBufC8::NewL( KMaxParamLength );
-	CleanupStack::PushL( appParam );
+    {
+    TBool valuesFetched( EFalse );
+    
+    if( !IsSimOk() )
+        {
+        return valuesFetched;
+        }
+    
+    TPhoneCmdParamAppInfo appInfo;
+    HBufC8* appParam = HBufC8::NewL( KMaxParamLength );
+    CleanupStack::PushL( appParam );
 
     TPhoneCmdParamInteger numberEntryCount;
     iViewCommandHandle->ExecuteCommandL( EPhoneViewGetNumberEntryCount,
@@ -1340,21 +1350,21 @@
         {
         TRAPD( err, 
             CPhoneCenRepProxy::Instance()->FetchValuesFromCenRepL( 
-        	appInfo, aCode, appParam, valuesFetched ) );
+            appInfo, aCode, appParam, valuesFetched ) );
         
         if ( KErrNone == err && valuesFetched )
             {
             // Remove the number entry window
             iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
 
-        	// Stop playing DTMF tone
-        	iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF );
+            // Stop playing DTMF tone
+            iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF );
 
             TPhoneCommandParam* phoneCommandParam = 
                 static_cast<TPhoneCommandParam*>( &appInfo );
-        	iViewCommandHandle->ExecuteCommandL( 
-        				EPhoneViewActivateAppViewConventional,
-        				phoneCommandParam ); 
+            iViewCommandHandle->ExecuteCommandL( 
+                        EPhoneViewActivateAppViewConventional,
+                        phoneCommandParam ); 
             
             // Continue displaying current app but set up the 
             // idle screen in the background
@@ -1363,7 +1373,7 @@
         }
     CleanupStack::PopAndDestroy( appParam );
     return valuesFetched;
-	}
+    }
 
 // -----------------------------------------------------------
 // CPhoneStateIdle::NumberForSpeedDialLocationL
--- a/phoneapp/phoneuicontrol/src/cphonestateincall.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonestateincall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -23,7 +23,9 @@
 #include <hwrmdomainpskeys.h>
 #include <UikonInternalPSKeys.h>
 #include <mpeengineinfo.h>
+// <-- QT PHONE START --> 
 #include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE END --> 
 #include <MediatorDomainUIDs.h>
 #include <bldvariant.hrh>
 
@@ -33,7 +35,9 @@
 #include "tphonecmdparamstring.h"
 #include "tphonecmdparamnote.h"
 #include "tphonecmdparamquery.h"
-#include "tphonecmdparamsingleitemfetch.h"
+// <-- QT PHONE START -->
+//#include "tphonecmdparamsingleitemfetch.h"
+// <-- QT PHONE END -->
 #include "tphonecmdparamcallstatedata.h"
 #include "tphonecmdparamsfidata.h"
 #include "mphonestatemachine.h"
@@ -572,14 +576,17 @@
     switch( aCommand )
         {
         case EPhoneInCallCmdDialer:
-            BeginTransEffectLC( ENumberEntryCreate );
+            // <-- QT PHONE START -->
+            iViewCommandHandle->ExecuteCommandL( EPhoneViewOpenDialer );
+            /*BeginTransEffectLC( ENumberEntryCreate );
             if ( !IsNumberEntryUsedL() )
                 {
                 CreateNumberEntryL();
                 }
             SetNumberEntryVisibilityL(ETrue ); 
-            EndTransEffect();
-          break;
+            EndTransEffect();*/
+            // <-- QT PHONE END -->
+            break;
         case EPhoneCmdOptions:
             OpenMenuBarL();
             break;
@@ -1471,6 +1478,8 @@
         if( IsVideoCall( callStateData.CallId() ) )
             {
             // Video call can be released only after we get response to VT Shutdown Command
+// <-- QT PHONE START -->
+ 
             CPhoneMediatorFactory::Instance()->Sender()->IssueCommand( 
                 KMediatorVideoTelephonyDomain,
                 KCatPhoneToVideotelCommands, 
@@ -1480,6 +1489,8 @@
                     KPhoneToVideotelCmdVersionBuild ),
                 KNullDesC8,
                 CPhoneTerminateAllConnectionsCommand::NewL( *iStateMachine ) );
+
+// <-- QT PHONE END --> 
             }
         else
             {
--- a/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -27,7 +27,9 @@
 #include <ScreensaverInternalPSKeys.h>
 #include <mpeengineinfo.h>
 #include <MediatorDomainUIDs.h>
+// <-- QT PHONE START -->
 #include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE END -->
 
 #include "cphonepubsubproxy.h"
 #include "phoneui.pan"
@@ -256,7 +258,7 @@
             MPEPhoneModel::EPEMessagePhoneNumberEdited );
     
     if ( phoneNumber->Des().Length() < KPhoneValidPhoneNumberLength 
-    		&& iStateMachine->PhoneEngineInfo()->PhoneNumberIsServiceCode() ) 
+            && iStateMachine->PhoneEngineInfo()->PhoneNumberIsServiceCode() ) 
         {
         // Send a manual control sequence by providing number
         // information with dial command
@@ -443,7 +445,7 @@
         {
         resourceId = EPhoneCallHandlingIncomingSoftRejectCBA;
         }
-	iCbaManager->SetCbaL( resourceId );
+    iCbaManager->SetCbaL( resourceId );
     }
 
 // -----------------------------------------------------------
@@ -647,15 +649,18 @@
     if( IsVideoCall( iRingingCallId ) )
         {
         // 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,
-               CPhoneReleaseCommand::NewL( *iStateMachine ) );
+// <-- QT PHONE START -->
+ 
+        CPhoneMediatorFactory::Instance()->Sender()->IssueCommand( KMediatorVideoTelephonyDomain,
+                                                                             KCatPhoneToVideotelCommands, 
+                                                                             EVtCmdReleaseDataport,
+                                                                   TVersion( KPhoneToVideotelCmdVersionMajor,
+                                                                             KPhoneToVideotelCmdVersionMinor, 
+                                                                             KPhoneToVideotelCmdVersionBuild ),
+                                                                   KNullDesC8,
+                                                                   CPhoneReleaseCommand::NewL( *iStateMachine ) );
+
+// <-- QT PHONE END --> 
         }
     else
         {
@@ -881,25 +886,25 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIncoming::HandleKeyLockEnabledL( ) ");
     if( !FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke )
-		&& CPhoneCenRepProxy::Instance()->
-			IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) )
-		{
-    	if( aKeylockEnabled )
-        	{
-	        // Keylock enabled
+        && CPhoneCenRepProxy::Instance()->
+            IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) )
+        {
+        if( aKeylockEnabled )
+            {
+            // Keylock enabled
             if( iStateMachine->PhoneStorage()->IsBlockedKeysListEmpty() )
                 {
                 // Disable HW Keys if needed
                 DisableHWKeysL();
                 }
-	        }
-	    else
-	        {
-	        // Keylock disabled
+            }
+        else
+            {
+            // Keylock disabled
             // Reset blocked keys list
             iStateMachine->PhoneStorage()->ResetBlockedKeysList();
-	        }
-		}
+            }
+        }
     }
 
 // End of File
--- a/phoneapp/phoneuicontrol/src/cphonestatemachine.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonestatemachine.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -44,7 +44,7 @@
     iViewCommandHandle( aViewCommandHandle )
     {
     __ASSERT_ALWAYS( aViewCommandHandle,
-    	Panic( EPhoneCtrlParameterNotInitialized ) );
+        Panic( EPhoneCtrlParameterNotInitialized ) );
     }
 
 // -----------------------------------------------------------
@@ -55,35 +55,35 @@
 //
 EXPORT_C CPhoneStateMachine::~CPhoneStateMachine()
     {
-	if( iState == iIdleState )
-		{
-		delete iState;
-		iState = NULL;
-		iIdleState = NULL;			
-		}
-	else
-		{
-	    if( iState )
-		    {
-		    delete iState;
-		    iState = NULL;	    	
-		    }
-		if( iIdleState )
-			{
-		    delete iIdleState;
-		    iIdleState = NULL;			
-			}			
-		}
-	if( iPhoneEngine )
-		{
-	    delete iPhoneEngine;
-	    iPhoneEngine = NULL;			
-		}
-	if( iPhoneStorage )
-	    {
-	    delete iPhoneStorage;
-	    iPhoneStorage = NULL;
-	    }
+    if( iState == iIdleState )
+        {
+        delete iState;
+        iState = NULL;
+        iIdleState = NULL;          
+        }
+    else
+        {
+        if( iState )
+            {
+            delete iState;
+            iState = NULL;          
+            }
+        if( iIdleState )
+            {
+            delete iIdleState;
+            iIdleState = NULL;          
+            }           
+        }
+    if( iPhoneEngine )
+        {
+        delete iPhoneEngine;
+        iPhoneEngine = NULL;            
+        }
+    if( iPhoneStorage )
+        {
+        delete iPhoneStorage;
+        iPhoneStorage = NULL;
+        }
     }
 
 // ---------------------------------------------------------
@@ -95,7 +95,7 @@
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateMachine::SetPhoneEngine ");
     __ASSERT_ALWAYS( aPhoneEngine, 
-    	Panic( EPhoneCtrlParameterNotInitialized ) );
+        Panic( EPhoneCtrlParameterNotInitialized ) );
     
     iPhoneEngine = aPhoneEngine;
     }
--- a/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphonestatestartup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -144,7 +144,7 @@
     if ( iPhoneReady )
         {
         // Security mode check. 
-	    TPhoneCmdParamBoolean isSecurityMode;      
+        TPhoneCmdParamBoolean isSecurityMode;      
         iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &isSecurityMode );        
         if ( !isSecurityMode.Boolean() && !IsSimOk() )
             {
@@ -233,7 +233,7 @@
     if ( iPEReady )
         {
         // Security mode check.
-	    TPhoneCmdParamBoolean isSecurityMode;      
+        TPhoneCmdParamBoolean isSecurityMode;      
         iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &isSecurityMode );
         if ( !isSecurityMode.Boolean() && !IsSimOk() )
             {
--- a/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/cphoneuicontroller.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -70,8 +70,10 @@
      // Create the remote control handler
     iRemoteControlHandler = CPhoneRemoteControlHandler::NewL( iStateMachine );
     // Create the key event forwarder
-    iKeyEventForwarder = CPhoneKeyEventForwarder::NewL( 
-        CEikonEnv::Static()->EikAppUi()->ClientRect(), iStateMachine, aViewCommandHandle );
+// <-- QT PHONE START --> 
+//    iKeyEventForwarder = CPhoneKeyEventForwarder::NewL( 
+//        CEikonEnv::Static()->EikAppUi()->ClientRect(), iStateMachine, aViewCommandHandle );
+// <-- QT PHONE END --> 
 
     TInt leaveCode( 0 );
     TInt retry( 0 );
@@ -121,8 +123,8 @@
     // Go to the startup state
     iStateMachine->ChangeState( EPhoneStateStartup );
 
-	  CPhoneMediatorFactory::Instance()->CommandListener( this, iStateMachine,
-		    iStateMachine->PhoneEngineInfo() );
+      CPhoneMediatorFactory::Instance()->CommandListener( this, iStateMachine,
+            iStateMachine->PhoneEngineInfo() );
     }
 
 // -----------------------------------------------------------------------------
@@ -133,8 +135,8 @@
 EXPORT_C CPhoneUIController* CPhoneUIController::NewL( 
     MPhoneViewCommandHandle* aViewCommandHandle )
     {
-	__ASSERT_DEBUG( aViewCommandHandle,
-		Panic( EPhoneCtrlParameterNotInitialized ) );
+    __ASSERT_DEBUG( aViewCommandHandle,
+        Panic( EPhoneCtrlParameterNotInitialized ) );
     
     CPhoneUIController* self = new( ELeave ) CPhoneUIController;
     
@@ -153,11 +155,13 @@
 EXPORT_C CPhoneUIController::~CPhoneUIController()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneUIController::~CPhoneUIController()");
-	delete iRemoteControlHandler;
-	delete iSystemEventHandler;
-	delete iEngineHandler;
-	delete iKeyEventForwarder;
-//    delete iStateHandle; <-- CCoeStatic objects are destroyed outside application
+    delete iRemoteControlHandler;
+    delete iSystemEventHandler;
+    delete iEngineHandler;
+    delete iKeyEventForwarder;
+// <-- QT PHONE START --> 
+    delete iStateHandle;
+// <-- QT PHONE END --> 
     }
 
 // ---------------------------------------------------------
@@ -193,7 +197,7 @@
     {
     TInt err( KErrNone );
     
-   	TRAP( err, iStateMachine->State()->HandleErrorL( aErrorInfo ) );	    	
+       TRAP( err, iStateMachine->State()->HandleErrorL( aErrorInfo ) );            
     
     if( err != KErrNone )
         {
@@ -202,7 +206,7 @@
             EPhoneControl,
             "PHONEUI_ERROR: CPhoneUIController::HandleError -  leave (err=%d)",
             err);
-       	__ASSERT_DEBUG( EFalse, Panic( EPhoneCtrlUnknownPanic ) );
+           __ASSERT_DEBUG( EFalse, Panic( EPhoneCtrlUnknownPanic ) );
         }
     }    
 
@@ -214,10 +218,22 @@
     const TKeyEvent& aKeyEvent,
     TEventCode aEventCode )
     {
-    __ASSERT_DEBUG( iKeyEventForwarder, Panic( EPhoneCtrlInvariant ) );
-    return iKeyEventForwarder->OfferKeyEventAfterControlStackL( 
-                aKeyEvent,
-                aEventCode );
+// <-- QT PHONE START --> 
+//    __ASSERT_DEBUG( iKeyEventForwarder, Panic( EPhoneCtrlInvariant ) );
+//    return iKeyEventForwarder->OfferKeyEventAfterControlStackL( 
+//                aKeyEvent,
+//                aEventCode );
+    if ( EEventKey == aEventCode )
+        {
+        iStateMachine->State()->HandleKeyMessageL( 
+                        MPhoneKeyEvents::EPhoneKeyShortPress, 
+                        TKeyCode( aKeyEvent.iCode ) );
+        }
+    
+    iStateMachine->State()->HandleDtmfKeyToneL( aKeyEvent, aEventCode );
+        
+    return EKeyWasNotConsumed;
+// <-- QT PHONE END --> 
     }
 
 // ---------------------------------------------------------
@@ -323,8 +339,8 @@
     {
     __ASSERT_DEBUG( iStateMachine->State(), Panic( EPhoneCtrlInvariant ) );
 
-	// Send key up message to engine so that we wouldn't accidentally play
-	// any DTMF tone.
+    // Send key up message to engine so that we wouldn't accidentally play
+    // any DTMF tone.
     iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageEndDTMF );
 
     return iStateMachine->State()->HandleCommandL( aCommand );
@@ -355,37 +371,37 @@
 // ---------------------------------------------------------
 //
 void CPhoneUIController::CreateProtocolDllL( 
-	MPhoneViewCommandHandle* aViewCommandHandle )
-	{
-	TBool voipSupported( EFalse );
+    MPhoneViewCommandHandle* aViewCommandHandle )
+    {
+    TBool voipSupported( EFalse );
 
     if( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-	    {
-	    TInt dynamicVoIP( KDynamicVoIPOff );
-		CPhoneCenRepProxy::Instance()->GetInt( 
-	        KCRUidTelephonySettings, KDynamicVoIP, dynamicVoIP );
-	        
-	    if( dynamicVoIP == KDynamicVoIPOn )
-		    {
-			voipSupported = ETrue;		    	
-		    }
-	    }
+        {
+        TInt dynamicVoIP( KDynamicVoIPOff );
+        CPhoneCenRepProxy::Instance()->GetInt( 
+            KCRUidTelephonySettings, KDynamicVoIP, dynamicVoIP );
+            
+        if( dynamicVoIP == KDynamicVoIPOn )
+            {
+            voipSupported = ETrue;                
+            }
+        }
 
     if( voipSupported )
-	    {
-	    iStateHandle = CPhoneStateHandle::CreateL(
-	        aViewCommandHandle,
-	        KVoIPExtension,
-	        KUidAppVoIPExtensionStates );				    	
-	    }
-	else
-		{
-	    iStateHandle = CPhoneStateHandle::CreateL(
-	        aViewCommandHandle,
-	        KGSMProtocol,
-	        KUidAppGSMStates );			
-		}		
-	}
+        {
+        iStateHandle = CPhoneStateHandle::CreateL(
+            aViewCommandHandle,
+            KVoIPExtension,
+            KUidAppVoIPExtensionStates );                        
+        }
+    else
+        {
+        iStateHandle = CPhoneStateHandle::CreateL(
+            aViewCommandHandle,
+            KGSMProtocol,
+            KUidAppGSMStates );            
+        }        
+    }
 
 // ---------------------------------------------------------
 // CPhoneUIController::HandlePhoneNumberEditorCallBack
--- a/phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuicontrol/src/tphonecallheaderparam.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -43,7 +43,9 @@
         MPhoneStateMachine& aStateMachine ) 
         : iManagerUtility ( aManagerUtility ),
           iStateMachine ( aStateMachine ),
-          iCallHeaderType ( CBubbleManager::ENormal ),
+// <-- QT PHONE START --> 
+          iCallHeaderType ( EPECallTypeUninitialized ),
+// <-- QT PHONE END --> 
           iSetDivertIndication ( EFalse )
     {
     }
@@ -155,9 +157,10 @@
          ( !ContactInfoAvailable( aCallId ) ) )
         {
         // Set phonenumber/URI as the CLI text for the call header      
-        aCallHeaderData->SetCLIText( 
-                iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ),
-                CBubbleManager::ELeft );
+// <-- QT PHONE START --> 
+       aCallHeaderData->SetCLIText( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ),
+                 TPhoneCmdParamCallHeaderData::ELeft );
+// <-- QT PHONE END --> 
             
         // No contact name, use phonenumber when available.
         aCallHeaderData->SetParticipantListCLI(
@@ -165,20 +168,26 @@
         }
     else
         {
-        CBubbleManager::TPhoneClippingDirection cnapClippingDirection = CBubbleManager::ERight;
+// <-- QT PHONE START -->
+//        CBubbleManager::TPhoneClippingDirection cnapClippingDirection = CBubbleManager::ERight;
+        TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection cnapClippingDirection = TPhoneCmdParamCallHeaderData::ERight;
+// <-- QT PHONE END -->
         TBuf<KCntMaxTextFieldLength> remoteInfoText( KNullDesC );
-        
+ 
         /*If call is Private/PayPhone call then IsCallPrivateOrPayPhone
         * will set SetIdentitySpecificCallHeaderData parameters therefore
         * there is no need to call GetRemoteInfoDataL.*/  
         if ( !IsCallPrivateOrPayPhone( aCallId, remoteInfoText ) )
             {
             GetRemoteInfoDataL( aCallId, remoteInfoText );
-            cnapClippingDirection = CBubbleManager::ELeft;
+// <-- QT PHONE START -->
+//            cnapClippingDirection = CBubbleManager::ELeft;
+            cnapClippingDirection = TPhoneCmdParamCallHeaderData::ELeft;
+// <-- QT PHONE END -->
             }
-        
-        // Set remote info data as the CLI text for the call header 
-        aCallHeaderData->SetCLIText( remoteInfoText, CBubbleManager::ERight );
+// <-- QT PHONE START --> 
+        aCallHeaderData->SetCLIText( remoteInfoText,  TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
         aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ), 
                 cnapClippingDirection );
         }
@@ -235,7 +244,9 @@
 
     // Set call header type            
     aCallHeaderData->SetCallType( GetCallType( aCallId, aCallHeaderData ) );
-    aCallHeaderData->SetCallFlag( CallHeaderType() );
+// <-- QT PHONE START --> 
+//    aCallHeaderData->SetCallFlag( CallHeaderType() );
+// <-- QT PHONE END --> 
     
     // Set call header voice privacy status
     aCallHeaderData->SetCiphering( 
@@ -264,52 +275,39 @@
 //  TPhoneCallHeaderParam::GetCallType
 // ---------------------------------------------------------------------------
 //
+// <-- QT PHONE START --> 
 TPECallType TPhoneCallHeaderParam::GetCallType( 
         const TInt aCallId,
         TPhoneCmdParamCallHeaderData* aCallHeaderData )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::GetCallType( ) ");
     // Set call header type.
-    TPECallType callType = iStateMachine.PhoneEngineInfo()->CallType( aCallId );
-    switch ( callType )
-       {
-       case EPECallTypeCSVoice:
-           {
-           if ( iStateMachine.PhoneEngineInfo()->CallALSLine( aCallId ) 
-                == CCCECallParameters::ECCELineTypeAux )
-               {
-               SetCallHeaderType( CBubbleManager::ELine2 );
-               aCallHeaderData->SetLine2( ETrue );
-               }
-           else
-               {
-               SetCallHeaderType( CBubbleManager::ENormal );
-               }
-           }
-           break;
-       case EPECallTypeVideo:
-           SetCallHeaderType( CBubbleManager::EVideo );
-           break;
-       case EPECallTypeVoIP:
-           SetCallHeaderType( CBubbleManager::EVoIPCall );
-           break;
-         default:
-           // None
-           break;     
-       }
+    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;
     }
+// <-- QT PHONE END --> 
 
 // ---------------------------------------------------------------------------
 //  TPhoneCallHeaderParam::SetCallHeaderType
 // ---------------------------------------------------------------------------
 //
+// <-- QT PHONE START --> 
 void TPhoneCallHeaderParam::SetCallHeaderType( 
-    const CBubbleManager::TPhoneCallTypeFlags aCallHeaderType )
+    TInt aCallHeaderType )
     {
+// <-- QT PHONE END --> 
     __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetCallHeaderType( ) ");
     iCallHeaderType = aCallHeaderType;
     __PHONELOG1( EBasic, EPhoneControl, 
@@ -321,8 +319,10 @@
 //  TPhoneCallHeaderParam::CallHeaderType
 // ---------------------------------------------------------------------------
 //
-CBubbleManager::TPhoneCallTypeFlags TPhoneCallHeaderParam::CallHeaderType() const
+// <-- QT PHONE START --> 
+TInt TPhoneCallHeaderParam::CallHeaderType() const
     {
+// <-- QT PHONE END --> 
     __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::CallHeaderType( ) ");
     __PHONELOG1( EBasic, EPhoneControl, 
                         "TPhoneCallHeaderParam::CallHeaderType() - iCallHeaderType: %d ", 
@@ -367,10 +367,12 @@
          ( !ContactInfoAvailable( aCallId ) ) && 
          ( !info.ShowNumber() ) )
         {
-        // No contact info data available use the phone number.
+        // No contact info data available; use the phone number
+// <-- QT PHONE START --> 
         aCallHeaderData->SetCLIText(
                 iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ),
-                CBubbleManager::ELeft);
+                TPhoneCmdParamCallHeaderData::ELeft);
+// <-- QT PHONE END --> 
         
         // No contact name, use phonenumber when available.
         aCallHeaderData->SetParticipantListCLI( 
@@ -387,14 +389,18 @@
             {
             GetRemoteInfoDataL( aCallId, remoteInfoText );
             }
-        
-        // Set remote info data as the CLI text for the call header
-        aCallHeaderData->SetCLIText( remoteInfoText, CBubbleManager::ERight );
+// <-- QT PHONE START --> 
+        aCallHeaderData->SetCLIText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
         }
 
     // Fetch CNAP text and clipping direction
-    CBubbleManager::TPhoneClippingDirection cnapClippingDirection; 
+// <-- QT PHONE START -->
+//    CBubbleManager::TPhoneClippingDirection cnapClippingDirection;
+    TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection cnapClippingDirection;
+//    GetCNAPText( aCallId, cnapText, &cnapClippingDirection );
     GetCNAPText( aCallId, cnapText, cnapClippingDirection );
+// <-- QT PHONE END -->
     
     // Set CNAP data 
     aCallHeaderData->SetCNAPText( cnapText, cnapClippingDirection );
@@ -412,7 +418,10 @@
     if ( IsFeatureSupported( KTelephonyLVFlagUUS, aCallId ) )
         {
         aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()->RemotePartyName( aCallId ), 
-                CBubbleManager::ERight );
+// <-- QT PHONE START -->
+//                CBubbleManager::ERight );
+                TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END -->
         }
     }
 
@@ -421,14 +430,20 @@
 // ---------------------------------------------------------------------------
 //
 void TPhoneCallHeaderParam::GetCNAPText( 
-       const TInt aCallId,
+    const TInt aCallId,
        TDes& aData, 
-       CBubbleManager::TPhoneClippingDirection& aDirection ) const
+// <-- QT PHONE START -->
+//       CBubbleManager::TPhoneClippingDirection& aDirection ) const
+       TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection& aDirection ) const
+// <-- QT PHONE START -->
     {
     __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::GetCNAPText( ) ");
     
     // Set clipping direction  
-    aDirection = CBubbleManager::ERight;
+// <-- QT PHONE START -->
+//    aDirection = CBubbleManager::ERight;
+    aDirection = TPhoneCmdParamCallHeaderData::ERight;
+// <-- QT PHONE END -->
     
     // If it's not a private number show further info
     if ( iStateMachine.PhoneEngineInfo()->RemotePhoneNumberType( aCallId ) != 
@@ -443,7 +458,10 @@
             aData.Copy( iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ) );
             
             // Clipping direction for non-private number
-            aDirection = CBubbleManager::ELeft;
+// <-- QT PHONE START -->
+//            aDirection = CBubbleManager::ELeft;
+            aDirection = TPhoneCmdParamCallHeaderData::ELeft;
+// <-- QT PHONE END -->
             }
         }
     }
@@ -491,7 +509,10 @@
     __LOGMETHODSTARTEND(EPhoneControl, "TPhoneCallHeaderParam::SetDivertIndicatorToCallHeader( ) ");
     if( iSetDivertIndication )
         {
-        aCallHeaderData->AddCallFlag( CBubbleManager::EDiverted );
+// <-- QT PHONE START --> 
+//        aCallHeaderData->SetCallFlag( CBubbleManager::EDiverted );            
+        aCallHeaderData->SetDiverted( ETrue );
+// <-- QT PHONE END --> 
         }
     
     if ( iStateMachine.PhoneEngineInfo()->CallALSLine( aCallId ) == CCCECallParameters::ECCELineTypeAux )
@@ -589,28 +610,40 @@
     
     // Set call header type
     GetCallType( aCallId, aCallHeaderData );
-    aCallHeaderData->SetCallFlag( CallHeaderType() );
+// <-- QT PHONE START -->
+    //aCallHeaderData->SetCallFlag( CallHeaderType() );
+// <-- QT PHONE END -->
     
     // Set CLI text for the call header
     GetRemoteInfoDataL( aCallId, remoteInfoText );
     if ( remoteInfoText != KNullDesC )
         {
-        aCallHeaderData->SetCLIText( remoteInfoText, CBubbleManager::ERight );
+// <-- QT PHONE START --> 
+        aCallHeaderData->SetCLIText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
         if ( IsCallPrivateOrPayPhone( aCallId, remoteInfoText ) )
             {
-            aCallHeaderData->SetCNAPText( remoteInfoText, CBubbleManager::ERight );
+// <-- QT PHONE START --> 
+//            aCallHeaderData->SetCNAPText( remoteInfoText, CBubbleManager::ERight );
+            aCallHeaderData->SetCNAPText( remoteInfoText, TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
             }
         else
             {
             aCallHeaderData->SetCNAPText( iStateMachine.PhoneEngineInfo()->
-                RemotePhoneNumber( aCallId ), CBubbleManager::ELeft );       
+// <-- QT PHONE START -->
+//                RemotePhoneNumber( aCallId ), CBubbleManager::ELeft );       
+                RemotePhoneNumber( aCallId ), TPhoneCmdParamCallHeaderData::ELeft );       
+// <-- QT PHONE END --> 
             }
         }
     else
         {
+// <-- QT PHONE START --> 
         aCallHeaderData->SetCLIText( 
             iStateMachine.PhoneEngineInfo()->RemotePhoneNumber( aCallId ),
-            CBubbleManager::ERight );
+            TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
         }
 
     // If KTelephonyLVFlagUUS is enabled it will over write RemotePartyName setting.
@@ -623,14 +656,22 @@
         if ( iStateMachine.PhoneEngineInfo()->CallState( aCallId ) == EPEStateRinging )
             {
             // Set CNAP text  
-            aCallHeaderData->SetCNAPText( remotePartyName, CBubbleManager::ERight );
+// <-- QT PHONE START -->
+//            aCallHeaderData->SetCNAPText( remotePartyName, CBubbleManager::ERight );
+            aCallHeaderData->SetCNAPText( remotePartyName, TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END -->
             }
         else
             {
-            aCallHeaderData->SetCLIText( remotePartyName, CBubbleManager::ERight );
+// <-- QT PHONE START --> 
+            aCallHeaderData->SetCLIText( remotePartyName, TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
             }
         }   
-
+   
+// <-- QT PHONE START --> 
+//    aCallHeaderData->SetCallFlag( CallHeaderType() );
+// <-- QT PHONE END --> 
     
     // Set call header labels
     SetCallHeaderTexts( 
@@ -744,7 +785,9 @@
         {
         // If call header has customized items and callheadertype is voip
         // then load customized text.
-        if ( ( iManagerUtility.Customization() ) && ( CallHeaderType() == CBubbleManager::EVoIPCall ) )
+// <-- QT PHONE START -->
+        if ( ( iManagerUtility.Customization() ) && ( CallHeaderType() == EPECallTypeVoIP ) )
+// <-- QT PHONE END -->
             {
             // Display private address
             iManagerUtility.LoadResource( aData, iManagerUtility.Customization()->CustomizeCallHeaderText() );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/bwins/phoneuiqtviewadapteru.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,89 @@
+EXPORTS
+	?removeDialpad@PhoneUIQtViewAdapter@@AAEXXZ @ 1 NONAME ; void PhoneUIQtViewAdapter::removeDialpad(void)
+	?defaultToolbarResourceId@PhoneResourceAdapter@@QBEHXZ @ 2 NONAME ; int PhoneResourceAdapter::defaultToolbarResourceId(void) const
+	??1PhoneUIQtViewAdapter@@UAE@XZ @ 3 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(void)
+	?createEmergencyCallHeader@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 4 NONAME ; void PhoneUIQtViewAdapter::createEmergencyCallHeader(int, class TPhoneCommandParam *)
+	??0PhoneResourceAdapter@@IAE@PAVQObject@@@Z @ 5 NONAME ; PhoneResourceAdapter::PhoneResourceAdapter(class QObject *)
+	?convertToString@PhoneResourceAdapter@@QBE?AVQString@@H@Z @ 6 NONAME ; class QString PhoneResourceAdapter::convertToString(int) const
+	?addToConference@PhoneUIQtViewAdapter@@AAEXXZ @ 7 NONAME ; void PhoneUIQtViewAdapter::addToConference(void)
+	?createConferenceBubble@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 8 NONAME ; void PhoneUIQtViewAdapter::createConferenceBubble(int, class TPhoneCommandParam *)
+	?callsExists@PhoneUIQtViewAdapter@@AAE_NHH@Z @ 9 NONAME ; bool PhoneUIQtViewAdapter::callsExists(int, int)
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHAAVTDesC16@@@Z @ 10 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TDesC16 &)
+	?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *, int)
+	?convert@PhoneResourceAdapter@@QAA?AV?$QMap@W4ActionType@PhoneAction@@PAV2@@@HZZ @ 12 NONAME ; class QMap<enum PhoneAction::ActionType, class PhoneAction *> PhoneResourceAdapter::convert(int, ...)
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHH@Z @ 13 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int)
+	?noteController@PhoneUIQtViewAdapter@@QBEPAVPhoneNoteController@@XZ @ 14 NONAME ; class PhoneNoteController * PhoneUIQtViewAdapter::noteController(void) const
+	??_EPhoneResourceAdapter@@UAE@I@Z @ 15 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(unsigned int)
+	?tr@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString PhoneResourceAdapter::tr(char const *, char const *)
+	?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0@Z @ 17 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *)
+	?getStaticMetaObject@PhoneResourceAdapter@@SAABUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const & PhoneResourceAdapter::getStaticMetaObject(void)
+	?getDialpadStringLength@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 19 NONAME ; void PhoneUIQtViewAdapter::getDialpadStringLength(class TPhoneCommandParam *)
+	?trUtf8@PhoneResourceAdapter@@SA?AVQString@@PBD0H@Z @ 20 NONAME ; class QString PhoneResourceAdapter::trUtf8(char const *, char const *, int)
+	?convertCommandToString@PhoneResourceAdapter@@QBE?AVQString@@H@Z @ 21 NONAME ; class QString PhoneResourceAdapter::convertCommandToString(int) const
+	?activeCallCount@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 22 NONAME ; void PhoneUIQtViewAdapter::activeCallCount(class TPhoneCommandParam *)
+	?setTouchButtons@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 23 NONAME ; void PhoneUIQtViewAdapter::setTouchButtons(class TPhoneCommandParam *)
+	?setExpandActions@PhoneUIQtViewAdapter@@AAEXXZ @ 24 NONAME ; void PhoneUIQtViewAdapter::setExpandActions(void)
+	?qt_metacast@PhoneUIQtViewAdapter@@UAEPAXPBD@Z @ 25 NONAME ; void * PhoneUIQtViewAdapter::qt_metacast(char const *)
+	?Instance@PhoneResourceAdapter@@SAPAV1@PAVQObject@@@Z @ 26 NONAME ; class PhoneResourceAdapter * PhoneResourceAdapter::Instance(class QObject *)
+	?setTopApplication@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 27 NONAME ; void PhoneUIQtViewAdapter::setTopApplication(class TPhoneCommandParam *)
+	?getNumberFromDialpad@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 28 NONAME ; void PhoneUIQtViewAdapter::getNumberFromDialpad(class TPhoneCommandParam *)
+	?isConference@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 29 NONAME ; void PhoneUIQtViewAdapter::isConference(class TPhoneCommandParam *)
+	?convertToString@PhoneResourceAdapter@@QBE?AVQString@@HABV2@@Z @ 30 NONAME ; class QString PhoneResourceAdapter::convertToString(int, class QString const &) const
+	?qt_metacast@PhoneResourceAdapter@@UAEPAXPBD@Z @ 31 NONAME ; void * PhoneResourceAdapter::qt_metacast(char const *)
+	??0PhoneUIQtViewAdapter@@QAE@AAVPhoneUIQtViewIF@@PAVQObject@@@Z @ 32 NONAME ; PhoneUIQtViewAdapter::PhoneUIQtViewAdapter(class PhoneUIQtViewIF &, class QObject *)
+	?ExecuteCommand@PhoneUIQtViewAdapter@@UAEXHPAVTPhoneCommandParam@@@Z @ 33 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommand(int, class TPhoneCommandParam *)
+	?keyReleased@PhoneUIQtViewAdapter@@AAEXPAVQKeyEvent@@@Z @ 34 NONAME ; void PhoneUIQtViewAdapter::keyReleased(class QKeyEvent *)
+	?bringToForeground@PhoneUIQtViewAdapter@@AAEXXZ @ 35 NONAME ; void PhoneUIQtViewAdapter::bringToForeground(void)
+	??_EPhoneUIQtViewAdapter@@UAE@I@Z @ 36 NONAME ; PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter(unsigned int)
+	?buttonsController@PhoneResourceAdapter@@QAEPAVPhoneUIQtButtonsController@@XZ @ 37 NONAME ; class PhoneUIQtButtonsController * PhoneResourceAdapter::buttonsController(void)
+	?updateCallHeaderState@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 38 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderState(int, class TPhoneCommandParam *)
+	?setExpandedConferenceCallHeader@PhoneUIQtViewAdapter@@AAEXXZ @ 39 NONAME ; void PhoneUIQtViewAdapter::setExpandedConferenceCallHeader(void)
+	?HandleCommandL@PhoneUIQtViewAdapter@@UAEHHPAVTPhoneCommandParam@@@Z @ 40 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int, class TPhoneCommandParam *)
+	?setDialpadMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 41 NONAME ; void PhoneUIQtViewAdapter::setDialpadMenu(void)
+	?callIdByState@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 42 NONAME ; int PhoneUIQtViewAdapter::callIdByState(class TPhoneCommandParam *)
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHPAVTPhoneCommandParam@@@Z @ 43 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, class TPhoneCommandParam *)
+	?setDialpadVisibility@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 44 NONAME ; void PhoneUIQtViewAdapter::setDialpadVisibility(class TPhoneCommandParam *)
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXHHPAVTPhoneCommandParam@@@Z @ 45 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int, int, class TPhoneCommandParam *)
+	?removeConferenceBubble@PhoneUIQtViewAdapter@@AAEXXZ @ 46 NONAME ; void PhoneUIQtViewAdapter::removeConferenceBubble(void)
+	?showGlobalNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 47 NONAME ; void PhoneUIQtViewAdapter::showGlobalNote(class TPhoneCommandParam *)
+	?getSelectedConferenceMember@PhoneUIQtViewAdapter@@AAEHPAVTPhoneCommandParam@@@Z @ 48 NONAME ; int PhoneUIQtViewAdapter::getSelectedConferenceMember(class TPhoneCommandParam *)
+	?metaObject@PhoneUIQtViewAdapter@@UBEPBUQMetaObject@@XZ @ 49 NONAME ; struct QMetaObject const * PhoneUIQtViewAdapter::metaObject(void) const
+	?dialpadClosed@PhoneUIQtViewAdapter@@AAEXXZ @ 50 NONAME ; void PhoneUIQtViewAdapter::dialpadClosed(void)
+	?removeAllCallHeaders@PhoneUIQtViewAdapter@@AAEXXZ @ 51 NONAME ; void PhoneUIQtViewAdapter::removeAllCallHeaders(void)
+	?idleAppUid@PhoneUIQtViewAdapter@@AAEHXZ @ 52 NONAME ; int PhoneUIQtViewAdapter::idleAppUid(void)
+	?setCallHoldFlag@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 53 NONAME ; void PhoneUIQtViewAdapter::setCallHoldFlag(class TPhoneCommandParam *)
+	?setPrivateFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 54 NONAME ; void PhoneUIQtViewAdapter::setPrivateFromConference(int)
+	?setCallMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 55 NONAME ; void PhoneUIQtViewAdapter::setCallMenu(void)
+	?setAudioVolumeSliderValue@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 56 NONAME ; void PhoneUIQtViewAdapter::setAudioVolumeSliderValue(class TPhoneCommandParam *)
+	?qt_metacall@PhoneUIQtViewAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 57 NONAME ; int PhoneUIQtViewAdapter::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??1PhoneResourceAdapter@@UAE@XZ @ 58 NONAME ; PhoneResourceAdapter::~PhoneResourceAdapter(void)
+	?removeCallFromConference@PhoneUIQtViewAdapter@@AAEXH@Z @ 59 NONAME ; void PhoneUIQtViewAdapter::removeCallFromConference(int)
+	?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 60 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *, int)
+	?staticMetaObject@PhoneResourceAdapter@@2UQMetaObject@@B @ 61 NONAME ; struct QMetaObject const PhoneResourceAdapter::staticMetaObject
+	?staticMetaObject@PhoneUIQtViewAdapter@@2UQMetaObject@@B @ 62 NONAME ; struct QMetaObject const PhoneUIQtViewAdapter::staticMetaObject
+	?ExecuteCommandL@PhoneUIQtViewAdapter@@UAEXH@Z @ 63 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommandL(int)
+	?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0H@Z @ 64 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *, int)
+	?setMuteIndication@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 65 NONAME ; void PhoneUIQtViewAdapter::setMuteIndication(class TPhoneCommandParam *)
+	?HandleCommandL@PhoneUIQtViewAdapter@@UAEHH@Z @ 66 NONAME ; int PhoneUIQtViewAdapter::HandleCommandL(int)
+	?showNote@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 67 NONAME ; void PhoneUIQtViewAdapter::showNote(class TPhoneCommandParam *)
+	?FetchContent@PhoneUIQtViewAdapter@@UAEABVTDesC16@@XZ @ 68 NONAME ; class TDesC16 const & PhoneUIQtViewAdapter::FetchContent(void)
+	?writeAudioVolumeLevel@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 69 NONAME ; void PhoneUIQtViewAdapter::writeAudioVolumeLevel(class TPhoneCommandParam *)
+	?conferenceCallId@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 70 NONAME ; void PhoneUIQtViewAdapter::conferenceCallId(int, class TPhoneCommandParam *)
+	?setMenu@PhoneUIQtViewAdapter@@AAEXXZ @ 71 NONAME ; void PhoneUIQtViewAdapter::setMenu(void)
+	?trUtf8@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 72 NONAME ; class QString PhoneUIQtViewAdapter::trUtf8(char const *, char const *)
+	?tr@PhoneUIQtViewAdapter@@SA?AVQString@@PBD0@Z @ 73 NONAME ; class QString PhoneUIQtViewAdapter::tr(char const *, char const *)
+	?getStaticMetaObject@PhoneUIQtViewAdapter@@SAABUQMetaObject@@XZ @ 74 NONAME ; struct QMetaObject const & PhoneUIQtViewAdapter::getStaticMetaObject(void)
+	?updateCallHeaderRemoteInfoAndLabel@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 75 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel(int, class TPhoneCommandParam *)
+	?updateCallHeaderRemoteInfo@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 76 NONAME ; void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo(int, class TPhoneCommandParam *)
+	?qt_metacall@PhoneResourceAdapter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 77 NONAME ; int PhoneResourceAdapter::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?callHoldFlag@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 78 NONAME ; void PhoneUIQtViewAdapter::callHoldFlag(class TPhoneCommandParam *)
+	?setToolbarButtons@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 79 NONAME ; void PhoneUIQtViewAdapter::setToolbarButtons(class TPhoneCommandParam *)
+	?setAudioPath@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 80 NONAME ; void PhoneUIQtViewAdapter::setAudioPath(class TPhoneCommandParam *)
+	?expandedBubbleCallId@PhoneUIQtViewAdapter@@AAEXPAVTPhoneCommandParam@@@Z @ 81 NONAME ; void PhoneUIQtViewAdapter::expandedBubbleCallId(class TPhoneCommandParam *)
+	?openDialpad@PhoneUIQtViewAdapter@@AAEXXZ @ 82 NONAME ; void PhoneUIQtViewAdapter::openDialpad(void)
+	?createCallHeader@PhoneUIQtViewAdapter@@AAEXHPAVTPhoneCommandParam@@@Z @ 83 NONAME ; void PhoneUIQtViewAdapter::createCallHeader(int, class TPhoneCommandParam *)
+	?ExecuteCommand@PhoneUIQtViewAdapter@@UAEXH@Z @ 84 NONAME ; void PhoneUIQtViewAdapter::ExecuteCommand(int)
+	?metaObject@PhoneResourceAdapter@@UBEPBUQMetaObject@@XZ @ 85 NONAME ; struct QMetaObject const * PhoneResourceAdapter::metaObject(void) const
+	?setParticipantListActions@PhoneUIQtViewAdapter@@AAEXXZ @ 86 NONAME ; void PhoneUIQtViewAdapter::setParticipantListActions(void)
+	?convertToHbActions@PhoneResourceAdapter@@QBE?AV?$QList@PAVHbAction@@@@H@Z @ 87 NONAME ; class QList<class HbAction *> PhoneResourceAdapter::convertToHbActions(int) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/eabi/phoneuiqtviewadapteru.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,101 @@
+EXPORTS
+	_ZN20PhoneResourceAdapter11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN20PhoneResourceAdapter11qt_metacastEPKc @ 2 NONAME
+	_ZN20PhoneResourceAdapter16staticMetaObjectE @ 3 NONAME DATA 16
+	_ZN20PhoneResourceAdapter17buttonsControllerEv @ 4 NONAME
+	_ZN20PhoneResourceAdapter19getStaticMetaObjectEv @ 5 NONAME
+	_ZN20PhoneResourceAdapter7convertEiz @ 6 NONAME
+	_ZN20PhoneResourceAdapter8InstanceEP7QObject @ 7 NONAME
+	_ZN20PhoneResourceAdapterC1EP7QObject @ 8 NONAME
+	_ZN20PhoneResourceAdapterC2EP7QObject @ 9 NONAME
+	_ZN20PhoneResourceAdapterD0Ev @ 10 NONAME
+	_ZN20PhoneResourceAdapterD1Ev @ 11 NONAME
+	_ZN20PhoneResourceAdapterD2Ev @ 12 NONAME
+	_ZN20PhoneUIQtViewAdapter10idleAppUidEv @ 13 NONAME
+	_ZN20PhoneUIQtViewAdapter11callsExistsEii @ 14 NONAME
+	_ZN20PhoneUIQtViewAdapter11keyReleasedEP9QKeyEvent @ 15 NONAME
+	_ZN20PhoneUIQtViewAdapter11openDialpadEv @ 16 NONAME
+	_ZN20PhoneUIQtViewAdapter11qt_metacallEN11QMetaObject4CallEiPPv @ 17 NONAME
+	_ZN20PhoneUIQtViewAdapter11qt_metacastEPKc @ 18 NONAME
+	_ZN20PhoneUIQtViewAdapter11setCallMenuEv @ 19 NONAME
+	_ZN20PhoneUIQtViewAdapter12FetchContentEv @ 20 NONAME
+	_ZN20PhoneUIQtViewAdapter12callHoldFlagEP18TPhoneCommandParam @ 21 NONAME
+	_ZN20PhoneUIQtViewAdapter12isConferenceEP18TPhoneCommandParam @ 22 NONAME
+	_ZN20PhoneUIQtViewAdapter12setAudioPathEP18TPhoneCommandParam @ 23 NONAME
+	_ZN20PhoneUIQtViewAdapter13callIdByStateEP18TPhoneCommandParam @ 24 NONAME
+	_ZN20PhoneUIQtViewAdapter13dialpadClosedEv @ 25 NONAME
+	_ZN20PhoneUIQtViewAdapter13removeDialpadEv @ 26 NONAME
+	_ZN20PhoneUIQtViewAdapter14ExecuteCommandEi @ 27 NONAME
+	_ZN20PhoneUIQtViewAdapter14ExecuteCommandEiP18TPhoneCommandParam @ 28 NONAME
+	_ZN20PhoneUIQtViewAdapter14HandleCommandLEi @ 29 NONAME
+	_ZN20PhoneUIQtViewAdapter14HandleCommandLEiP18TPhoneCommandParam @ 30 NONAME
+	_ZN20PhoneUIQtViewAdapter14setDialpadMenuEv @ 31 NONAME
+	_ZN20PhoneUIQtViewAdapter14showGlobalNoteEP18TPhoneCommandParam @ 32 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEi @ 33 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiP18TPhoneCommandParam @ 34 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEii @ 35 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiP18TPhoneCommandParam @ 36 NONAME
+	_ZN20PhoneUIQtViewAdapter15ExecuteCommandLEiiR7TDesC16 @ 37 NONAME
+	_ZN20PhoneUIQtViewAdapter15activeCallCountEP18TPhoneCommandParam @ 38 NONAME
+	_ZN20PhoneUIQtViewAdapter15addToConferenceEv @ 39 NONAME
+	_ZN20PhoneUIQtViewAdapter15setCallHoldFlagEP18TPhoneCommandParam @ 40 NONAME
+	_ZN20PhoneUIQtViewAdapter15setTouchButtonsEP18TPhoneCommandParam @ 41 NONAME
+	_ZN20PhoneUIQtViewAdapter16conferenceCallIdEiP18TPhoneCommandParam @ 42 NONAME
+	_ZN20PhoneUIQtViewAdapter16createCallHeaderEiP18TPhoneCommandParam @ 43 NONAME
+	_ZN20PhoneUIQtViewAdapter16setExpandActionsEv @ 44 NONAME
+	_ZN20PhoneUIQtViewAdapter16staticMetaObjectE @ 45 NONAME DATA 16
+	_ZN20PhoneUIQtViewAdapter17bringToForegroundEv @ 46 NONAME
+	_ZN20PhoneUIQtViewAdapter17setMuteIndicationEP18TPhoneCommandParam @ 47 NONAME
+	_ZN20PhoneUIQtViewAdapter17setToolbarButtonsEP18TPhoneCommandParam @ 48 NONAME
+	_ZN20PhoneUIQtViewAdapter17setTopApplicationEP18TPhoneCommandParam @ 49 NONAME
+	_ZN20PhoneUIQtViewAdapter19getStaticMetaObjectEv @ 50 NONAME
+	_ZN20PhoneUIQtViewAdapter20expandedBubbleCallIdEP18TPhoneCommandParam @ 51 NONAME
+	_ZN20PhoneUIQtViewAdapter20getNumberFromDialpadEP18TPhoneCommandParam @ 52 NONAME
+	_ZN20PhoneUIQtViewAdapter20removeAllCallHeadersEv @ 53 NONAME
+	_ZN20PhoneUIQtViewAdapter20setDialpadVisibilityEP18TPhoneCommandParam @ 54 NONAME
+	_ZN20PhoneUIQtViewAdapter21updateCallHeaderStateEiP18TPhoneCommandParam @ 55 NONAME
+	_ZN20PhoneUIQtViewAdapter21writeAudioVolumeLevelEP18TPhoneCommandParam @ 56 NONAME
+	_ZN20PhoneUIQtViewAdapter22createConferenceBubbleEiP18TPhoneCommandParam @ 57 NONAME
+	_ZN20PhoneUIQtViewAdapter22getDialpadStringLengthEP18TPhoneCommandParam @ 58 NONAME
+	_ZN20PhoneUIQtViewAdapter22removeConferenceBubbleEv @ 59 NONAME
+	_ZN20PhoneUIQtViewAdapter24removeCallFromConferenceEi @ 60 NONAME
+	_ZN20PhoneUIQtViewAdapter24setPrivateFromConferenceEi @ 61 NONAME
+	_ZN20PhoneUIQtViewAdapter25createEmergencyCallHeaderEiP18TPhoneCommandParam @ 62 NONAME
+	_ZN20PhoneUIQtViewAdapter25setAudioVolumeSliderValueEP18TPhoneCommandParam @ 63 NONAME
+	_ZN20PhoneUIQtViewAdapter25setParticipantListActionsEv @ 64 NONAME
+	_ZN20PhoneUIQtViewAdapter26updateCallHeaderRemoteInfoEiP18TPhoneCommandParam @ 65 NONAME
+	_ZN20PhoneUIQtViewAdapter27getSelectedConferenceMemberEP18TPhoneCommandParam @ 66 NONAME
+	_ZN20PhoneUIQtViewAdapter31setExpandedConferenceCallHeaderEv @ 67 NONAME
+	_ZN20PhoneUIQtViewAdapter34updateCallHeaderRemoteInfoAndLabelEiP18TPhoneCommandParam @ 68 NONAME
+	_ZN20PhoneUIQtViewAdapter7setMenuEv @ 69 NONAME
+	_ZN20PhoneUIQtViewAdapter8showNoteEP18TPhoneCommandParam @ 70 NONAME
+	_ZN20PhoneUIQtViewAdapterC1ER15PhoneUIQtViewIFP7QObject @ 71 NONAME
+	_ZN20PhoneUIQtViewAdapterC2ER15PhoneUIQtViewIFP7QObject @ 72 NONAME
+	_ZN20PhoneUIQtViewAdapterD0Ev @ 73 NONAME
+	_ZN20PhoneUIQtViewAdapterD1Ev @ 74 NONAME
+	_ZN20PhoneUIQtViewAdapterD2Ev @ 75 NONAME
+	_ZNK20PhoneResourceAdapter10metaObjectEv @ 76 NONAME
+	_ZNK20PhoneResourceAdapter15convertToStringEi @ 77 NONAME
+	_ZNK20PhoneResourceAdapter15convertToStringEiRK7QString @ 78 NONAME
+	_ZNK20PhoneResourceAdapter22convertCommandToStringEi @ 79 NONAME
+	_ZNK20PhoneResourceAdapter24defaultToolbarResourceIdEv @ 80 NONAME
+	_ZNK20PhoneUIQtViewAdapter10metaObjectEv @ 81 NONAME
+	_ZNK20PhoneUIQtViewAdapter14noteControllerEv @ 82 NONAME
+	_ZTI20PhoneResourceAdapter @ 83 NONAME
+	_ZTI20PhoneUIQtViewAdapter @ 84 NONAME
+	_ZTV20PhoneResourceAdapter @ 85 NONAME
+	_ZTV20PhoneUIQtViewAdapter @ 86 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter12FetchContentEv @ 87 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter14ExecuteCommandEi @ 88 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter14ExecuteCommandEiP18TPhoneCommandParam @ 89 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter14HandleCommandLEi @ 90 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter14HandleCommandLEiP18TPhoneCommandParam @ 91 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEi @ 92 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiP18TPhoneCommandParam @ 93 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEii @ 94 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiiP18TPhoneCommandParam @ 95 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapter15ExecuteCommandLEiiR7TDesC16 @ 96 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapterD0Ev @ 97 NONAME
+	_ZThn8_N20PhoneUIQtViewAdapterD1Ev @ 98 NONAME
+	_ZNK20PhoneResourceAdapter18convertToHbActionsEi @ 99 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/mphonebuttoncustomization.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+/*
+* 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:  Interface class for touch button customization.
+*
+*/
+
+#ifndef MPHONEBUTTONCUSTOMIZATION_H
+#define MPHONEBUTTONCUSTOMIZATION_H
+// <-- QT PHONE START --> 
+//#include <bmtouchpaneinterface.h>
+
+// CLASS DECLARATION
+/**
+*  Interface class for touch button customization.
+*/
+class MPhoneButtonCustomization
+    {
+    
+public:
+    /**
+    * Customizes touch pane buttons.
+    * @param aTouchPane Interface to add and dimm
+    *                   bubble touch pane buttons.
+    */
+    virtual void CustomizeTouchPaneButtons(
+                    /*MBubbleTouchPaneInterface& aTouchPane*/ ) = 0;
+    
+
+// <-- QT PHONE END --> 
+    };
+    
+#endif // MPHONEBUTTONCUSTOMIZATION_H
+    
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/mphonedialercontroller.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,83 @@
+/*
+* 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: Definition of MPhoneDialerController class.
+*
+*/
+
+#ifndef MPHONEDIALERCONTROLLER_H_
+#define MPHONEDIALERCONTROLLER_H_
+
+// Forward declarations
+class CAknToolbar;
+
+/**
+ *  Abstract custom dialer interface.
+ *
+ *
+ *  @lib PhoneUiView.lib
+ *  @since S60 v5.0
+ */
+class MPhoneDialerController
+    {
+
+public:
+
+    /**
+    * Initializes the controller. 
+    * @param    aToolbar    CAknToolbar instance.
+    * @since    S60 v5.1
+    */
+    virtual void InitializeL( CAknToolbar& aToolbar ) = 0;
+    
+    /**
+    * Returns Cba resource id
+    * @return Resource Id of the softkeys
+    * @since S60 v5.1
+    */
+    virtual TInt CbaResourceId() const = 0;
+    
+    /**
+    * Returns Menu resource id
+    * @return Id of the menu resource
+    * @since S60 v5.1
+    */
+    virtual TInt MenuResourceId() const = 0;
+    
+    /**
+    * Returns number entry prompt text
+    * @return Reference to text to be shown on number entry
+    * @since S60 v5.1
+    */
+    virtual const TDesC& NumberEntryPromptTextL() = 0;
+    
+    /**
+    * Handles the number entry empty event
+    * @param aEmpty ETrue if numberentry is empty
+    * @since S60 v5.1
+    */
+    virtual void HandleNumberEntryIsEmpty( TBool aEmpty ) = 0;
+
+    /**
+    * Sets visibility of buttons created by the implementation
+    * @param aShow ETrue if numberentry is empty
+    * @since S60 v5.1
+    */
+    virtual void ShowButtons( TBool aShow ) = 0;
+    };
+
+#endif /*MDIALERCONTROLLER_H_*/
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/mphoneviewblockingdialogobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,40 @@
+/*
+* 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:  Interface class for view blocking dialogs.
+*
+*/
+
+
+#ifndef MPHONEVIEWBLOCKINGDIALOGOBSERVER_H
+#define MPHONEVIEWBLOCKINGDIALOGOBSERVER_H
+
+
+// CLASS DECLARATION
+/**
+*  Interface class for view blocking dialogs.
+*/
+class MPhoneViewBlockingDialogObserver
+    {
+public:
+    /**
+    * Sets the value is blocking dialogs in screen.
+    * @param aBlockingDialog ETrue if blocking dialog is
+    *                        displayed.
+    */
+    virtual void SetBlockingDialogIsDisplayed( TBool aBlockingDialog ) = 0;
+    
+
+    };
+    
+#endif // MPHONEVIEWBLOCKINGDIALOGOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/mphoneviewcommandhandle.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Phone view command handle
+*
+*/
+
+#ifndef MPHONEVIEWCOMMANDHANDLE_H
+#define MPHONEVIEWCOMMANDHANDLE_H
+
+//  INCLUDES
+#include <e32std.h>
+#include "phoneviewcommanddefinitions.h"
+
+// DATA TYPES
+
+// FORWARD DECLARATION
+class TPhoneCommandParam;
+
+// CLASS DECLARATION
+/**
+*  Interface class for executing UI commands
+*
+*/
+class MPhoneViewCommandHandle
+    {
+    public:  // Constructors and destructor
+        /**
+        * Destructor.
+        */
+        virtual ~MPhoneViewCommandHandle(){};
+
+    public: // New functions
+        
+        /**
+        * Execute Command with given Command Id
+        * @param aCmdId Command Id
+        * @return None
+        */
+        virtual void ExecuteCommandL( 
+            TPhoneViewCommandId aCmdId ) = 0;
+
+        /**
+        * Execute Command with given Command Id  and Call Id
+        * @param aCmdId Command Id
+        * @param aCallId Call Id
+        * @return None
+        */
+        virtual void ExecuteCommandL( 
+            TPhoneViewCommandId aCmdId, 
+            TInt aCallId ) = 0;
+
+         /**
+        * Execute Command with given command id, call id and command parameter.
+        * @param aCmdId Command Id
+        * @param aCommandParam Command parameter
+        * @return None
+        */
+        virtual void ExecuteCommandL( 
+            TPhoneViewCommandId aCmdId, 
+            TPhoneCommandParam* aCommandParam ) = 0;
+
+         /**
+        * 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
+        */
+        virtual void ExecuteCommandL( 
+            TPhoneViewCommandId aCmdId, 
+            TInt aCallId, 
+            TPhoneCommandParam* aCommandParam ) = 0;
+
+        /**
+        * Execute Command with given command id, call id and message.
+        * @param aCmdId Command Id
+        * @param aCallId Call Id
+        * @param aMessage Command message
+        */
+        virtual void ExecuteCommandL( 
+            TPhoneViewCommandId aCmdId, 
+            TInt aCallId, 
+            TDesC& aMessage ) = 0;
+
+        /**
+        * Handle Command with given Command Id
+        * @param aCmdId Command Id
+        * @return TPhoneViewResponseId
+        */
+        virtual TPhoneViewResponseId HandleCommandL( 
+            TPhoneViewCommandId aCmdId ) = 0;
+
+        /**
+        * Handle Command with given command id and command parameter.
+        * @param aCmdId Command Id
+        * @param aCommandParam Command parameter
+        * @return TPhoneViewResponseId
+        */
+        virtual TPhoneViewResponseId HandleCommandL( 
+            TPhoneViewCommandId aCmdId, 
+            TPhoneCommandParam* aCommandParam ) = 0;
+            
+        /**
+        * Execute Command with given Command Id
+        * @param aCmdId Command Id
+        * @return None
+        */
+        virtual void ExecuteCommand( 
+            TPhoneViewCommandId aCmdId ) = 0;
+            
+        /**
+        * Execute Command with given command id and command parameter.
+        * @param aCmdId Command Id
+        * @param aCommandParam Command parameter
+        * @return None
+        */
+        virtual void ExecuteCommand( 
+            TPhoneViewCommandId aCmdId, 
+            TPhoneCommandParam* aCommandParam ) = 0;                        
+       
+        /**
+        * Execute Command with given Command Id
+        */     
+        virtual const TDesC& FetchContent() = 0;          
+    };
+
+#endif // MPHONEVIEWCOMMANDHANDLE_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/mphoneviewcustomization.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,57 @@
+/*
+* 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:  Interface class for view control customization.
+*
+*/
+
+
+#ifndef MPHONEVIEWCUSTOMIZATION_H
+#define MPHONEVIEWCUSTOMIZATION_H
+
+#include "phoneviewcommanddefinitions.h"
+#include "tphonecommandparam.h"
+#include "mphoneviewblockingdialogobserver.h"
+
+// CLASS DECLARATION
+/**
+*  Interface class for view control customization.
+*/
+class MPhoneViewCustomization
+    {
+public:
+    /**
+    * Handles custom view commands.
+    * @param aBlockingObserver Blocking dialog observer. Sets blocking dialog 
+    *                          value (by this param) for view controller when
+    *                          handle command needs to show blocking
+    *                          dialogs on the screen.
+    * @param aCmdId Command id.
+    * @param aCommandParam Command param.
+    * @return ETrue if command handled.
+    */
+    virtual TBool HandleCommandL(
+                    MPhoneViewBlockingDialogObserver& aBlockingObserver,
+                    TPhoneViewCommandId aCmdId,
+                    TPhoneCommandParam* aCommandParam ) = 0;
+    
+
+    /**
+    * Removes dialogs.
+    */
+    virtual void RemoveDialog() = 0;
+
+    };
+    
+#endif // MPHONEVIEWCUSTOMIZATION_H
+    
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phonebubblewrapper.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,123 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 wrapper.
+*
+*/
+
+#ifndef PHONEBUBBLEWRAPPER_H
+#define PHONEBUBBLEWRAPPER_H
+
+#include <exception> // must be before e32base.h so uncaught_exception gets defined
+#include <e32base.h>
+#include <QObject>
+#include <QMap>
+
+class BubbleManagerIF;
+class HbAction;
+
+class PhoneBubbleWrapper : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    /**
+     * Constructor
+     */
+    PhoneBubbleWrapper (BubbleManagerIF& bubble, QObject *parent = 0);
+    
+    /**
+     * Destructor
+     */
+    virtual ~PhoneBubbleWrapper ();
+    
+    void updateCallState (int callId, int newState);
+    
+    int callId (int state);
+    
+    int createCallHeader (int callId);
+
+    void removeCallHeader (int callId);
+    
+    void setState (int callId, int bubble, int callState);
+    
+    void setLabel (int bubble, const TDesC &text);
+    
+    void setCli (int bubble, const TDesC &cliText);
+    
+    void setSecondaryCli (int bubble, const TDesC &cliText);
+    
+    void setCallType (int bubble, int callType);
+
+    BubbleManagerIF& bubbleManager ();
+    
+    int bubbleId (int callId);
+    
+    void setDivert (int bubble, bool enabled);
+
+    int activeCallCount();    
+    
+    QMap<int, int> callStates() const;
+    
+    QMap<int, int> bubbles() const;
+    
+    void createConferenceBubble(int callId, int callState,
+            const TDesC &labelText, const TDesC &cliText);
+    
+    void setConferenceCallId(int callId);
+    
+    QList<int> conferenceCallList() const;
+    
+    void removeConferenceCallId(int callId);
+    
+    bool conferenceCallId(int callId) const;
+    
+    void removeCallFromConference(int callId);
+    
+    void removeConferenceBubble();
+    
+    int callIdByBubbleId(int bubbleId);
+    
+    void addToConferenceBubble();
+    
+    void setServiceId(int callId, int serviceId);
+    
+    int serviceIdByCallId(int callId) const;
+    
+    QMap<int,int> serviceIds() const;
+    
+private:
+
+    int callIdForConference();
+    
+    bool getCallIdsForConference(int &first, int &second);
+    
+private:
+
+    BubbleManagerIF& m_bubbleManager;
+    
+    // Call id - call state map
+    QMap<int, int> m_callStates;
+    
+    // Call id - bubble id map
+    QMap<int, int> m_bubbles;
+    
+    // Call id - service id map
+    QMap<int, int> m_services;
+    
+    // Conference call id list
+    QList<int>     m_conferenceList;
+};
+
+#endif // PHONEBUBBLEWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phonecommandextensionwrapper.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Wraps phone menu extensions.
+*
+*/
+
+#ifndef PHONECOMMANDEXTENSIONWRAPPER_H
+#define PHONECOMMANDEXTENSIONWRAPPER_H
+
+#include <QObject>
+#include <QString>
+#include <hbaction.h>
+#include <xqteluicommandextension.h>
+
+
+class PhoneCommandExtensionWrapper : public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    /*!
+        \fn PhoneMenuExtensionWrapper (QObject *parent)
+    */
+    PhoneCommandExtensionWrapper(int pluginUid);
+        
+    /*!
+        Destructor
+     */
+    virtual ~PhoneCommandExtensionWrapper();
+    
+    /*!
+        \fn void showGlobalNote ()
+        
+        This method shows global note.
+
+    */
+    int pluginUid();
+
+    /*!
+        \fn void modifyMenuItemList(QList<int> &menuCmdList)
+        
+        Modifies menu command list. List contains current list
+        of menu commands. Interface can add new commands which should be hanled
+        by call handling or remove commands if list contains unsupported call
+        commands.
+    */
+    void modifyMenuCommandList(
+            const QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+            QList<int> &menuCmdList);
+
+    /*!
+        \fn void modifyButtonCommandList(QList<int> &menuCmdList)
+        
+        Modifies push button command list. CallInfo contains current call 
+        information and buttonCmdList contains current list of push 
+        button commands. 
+        Interface can remove commands if list contains unsupported call
+        commands (For example if service doesn't support conference call)
+        or add commads which should be handled by telephony call 
+        handling (maximum amount of push button commands is two).
+    */
+    void modifyPushButtonCommandList(
+            const QList<XQTelUiCommandExtension::CallInfo> &callInfo, 
+            QList<int> &buttonCmdList);
+    
+    /*!
+        \fn void addMenuActions(QList<HbAction*> &menuActions)
+        
+        Adds actions to menu. Interface adds own actions to the list which
+        should be added to the call menu. 
+        Interface is the responsible for handling action triggers.
+        Ownership of the actions in not transferred.
+    */
+    void addMenuActions(
+            const QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+            QList<HbAction*> &menuActions);
+    
+    /*!
+        \fn void releaseMenu()
+        
+        Releases menu actions. Method is called when menu is not needed
+        anymore and interface can release own menu actions.
+    */
+    void releaseMenu();
+    
+    /*!
+        \fn void release()
+        
+        Releases plugin. Method is called when menu plugin is not needed
+        anymore and interface can release all resources.
+    */
+    void release();
+
+    /*!
+        \fn void getCallInfoList()
+        
+        Gets call list information by call state and
+        service id map.
+    */
+    void getCallInfoList( QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+                          QMap<int,int> callStates, 
+                          QMap<int,int> serviceIds, 
+                          int expandedCall);
+    
+private:
+        
+    /*!
+        \fn void mapCallState()
+        
+        Converts phoneengine call state to ui command extension
+        call state.
+        
+        returns converted call state.
+    */
+    XQTelUiCommandExtension::CallState mapCallState( int callState );
+    
+private:
+
+    XQTelUiCommandExtension *m_plugin;
+    int m_pluginUid;
+    
+};
+
+#endif // PHONECOMMANDEXTENSIONWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phonenotecontroller.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,198 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Handles phone notes.
+*
+*/
+
+#ifndef PHONENOTECONTROLLER_H
+#define PHONENOTECONTROLLER_H
+
+#include <QObject>
+#include <QString>
+#include "tphonecmdparamnote.h"
+#include "phoneaction.h"
+
+// FORWARD DECLARATION
+class TPhoneCommandParam;
+class TPhoneCmdParamQuery;
+class HbDeviceMessageBox;
+class HbDeviceProgressDialog;
+class HbProgressNote;
+class HbMessageBox;
+class HbAction;
+class QSignalMapper;
+class QTimer;
+
+
+class PhoneNoteController : public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    /*!
+        \fn PhoneNoteController (QObject *parent)
+    */
+    PhoneNoteController(QObject *parent = 0);
+        
+    /*!
+        Destructor
+     */
+    virtual ~PhoneNoteController ();
+    
+    /*!
+        \fn void showGlobalNote ()
+        
+        This method shows global note.
+
+    */
+    void showGlobalNote(TPhoneCommandParam *commandParam);
+
+    /*!
+        \fn void showNote ()
+        
+        This method shows a note.
+
+    */
+    void showNote(TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void showNote ()
+        
+        This method shows a query.
+
+    */
+    void showQuery(TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void removeDtmfNote ()
+        
+        This method removes dtmf note.
+
+    */
+    void removeDtmfNote();
+    
+    /*!
+        \fn void removeNote()
+        
+        This method removes notes.
+
+    */
+    void removeNote();
+    
+    /*!
+        \fn void removeQuery()
+        
+        This method removes queries.
+
+    */
+    void removeQuery();
+    
+    /*!
+        \fn void removeGlobalWaitNote()
+        
+        This method removes global wait note.
+
+    */
+    void removeGlobalWaitNote();
+    
+signals:
+
+    /*!
+        \fn void command(int command)
+        
+        This signal is emitted when note action is handled.
+    */
+    void command (int command);
+    
+private slots:
+
+    /*!
+        \fn void destroyDialog ()
+        
+        Slot is called when global note is closed.
+    
+    */
+    void destroyDialog();
+
+    /*!
+        \fn void removeMappings ()
+        
+        Slot is called when note or query is closed.
+    
+    */
+    void removeMappings();
+    
+    /*!
+        \fn void queryCancelled ()
+        
+        Slot is called when query is canceled.
+    
+    */
+    void queryCancelled();
+  
+    /*!
+        \fn void queryTimeout ()
+        
+        Slot is called when query timeout expires.
+    
+    */
+    void queryTimeout();
+    
+private:
+
+    /*!
+        \fn QString globalNoteText()
+        
+        This method returns text for global note.
+    */
+    QString globalNoteText(TPhoneCommandParam *commandParam);
+    
+    
+    /*!
+        \fn void showDtmfNote()
+        
+        This method shows dtmf sending note.
+    */
+    void showDtmfNote(TPhoneCmdParamNote* noteParam);
+    
+    /*!
+        \fn void showDefaultQuery()
+        
+        This method shows default query.
+    */
+    void showDefaultQuery(TPhoneCmdParamQuery* params);
+
+    /*!
+        \fn void showDefaultQuery()
+        
+        This method shows global wait note.
+    */
+    void showGlobalWaitNote(TPhoneCmdParamQuery* params);
+    
+private:
+
+    QTimer *m_timer;
+    QList<HbDeviceMessageBox *> m_messageBoxList;
+    HbDeviceProgressDialog *m_progressDialog;
+    HbProgressNote *m_dtmfNote;
+    HbMessageBox *m_queryNote;
+    QSignalMapper *m_signalMapper;
+    QList<HbAction*> m_actions;
+    int m_queryCanceledCommand;
+    int m_timeoutCommand;
+    
+};
+
+#endif // PHONENOTECONTROLLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneresourceadapter.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,129 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Converts Symbian resources PhoneAction objects.
+*
+*/
+
+#ifndef PHONERESOURCEADAPTER_H
+#define PHONERESOURCEADAPTER_H
+
+#include <QObject>
+#include <QMap>
+#include "phoneaction.h"
+
+#ifdef BUILD_PHONEUIQTVIEWADAPTER
+#define PHONEURESOURCEADAPTER_EXPORT Q_DECL_EXPORT
+#else
+#define PHONEURESOURCEADAPTER_EXPORT Q_DECL_IMPORT
+#endif
+
+class PhoneUIQtButtonsController;
+class HbAction;
+
+class PHONEURESOURCEADAPTER_EXPORT PhoneResourceAdapter : public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    /*!
+        \fn Instance (QObject *parent)
+        
+        This method is a Singleton Design Pattern's way to get
+        instance of this class.
+    */
+    static PhoneResourceAdapter* Instance (QObject *parent = 0);
+        
+    /*!
+        Destructor
+     */
+    virtual ~PhoneResourceAdapter ();
+    
+    /*!
+        \fn PhoneUIQtButtonsController* buttonsController ()
+        
+        This method returns the pointer to buttons controller object
+        
+        Returns pointer to buttons controller.
+    */
+    PhoneUIQtButtonsController* buttonsController ();
+    
+    /*!
+        \fn QMap<PhoneAction::ActionType, PhoneAction *> PhoneResourceAdapter::convert (int symbianResourceId)
+        
+        This method converts given Symbian resource id to mapping of translated
+        texts, actions etc.
+        
+        Returns map of actions.
+    */
+    QMap<PhoneAction::ActionType, PhoneAction *> convert (int symbianResourceId, ...);
+ 
+    /*!
+        \fn QString PhoneResourceAdapter::convert (int symbianResourceId)
+        
+        This method converts given Symbian resource id to QString.
+        
+        Returns QString.
+    */
+    QString convertToString(int symbianResourceId) const;
+
+    /*!
+        \fn QString PhoneResourceAdapter::convert (int symbianResourceId, QString text )
+        
+        Converts given Symbian resource id to QString and formats given text to
+        resource converted text.
+        
+        Returns QString.
+    */   
+    QString convertToString(int symbianResourceId, const QString &text) const;
+    
+    /*!
+        \fn int PhoneResourceAdapter::defaultToolbarResourceId ()
+        
+        Returns default toolbar resource id.
+    */    
+    int defaultToolbarResourceId() const;
+    
+    /*!
+        \fn QString PhoneResourceAdapter::convertCommandToString()
+        
+        Converts given Symbian command id to QString.
+        
+        Returns QString.
+    */ 
+    QString convertCommandToString(int symbianCommandId) const;
+
+    /*!
+        \fn QString PhoneResourceAdapter::convertToHbActions()
+        
+        Converts given Symbian command id to HbAction list.
+        
+        Returns HbAction list.
+    */ 
+    QList<HbAction*> convertToHbActions(int symbianResourceId) const;
+    
+protected:    
+
+    /*!
+        Constructor
+     */
+    PhoneResourceAdapter (QObject *parent = 0);
+
+private:
+
+    PhoneUIQtButtonsController* m_buttonsCtrl; // Own
+    
+};
+
+#endif // PHONERESOURCEADAPTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuicommandcontroller.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,175 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Handles phone ui commands.
+*
+*/
+
+#ifndef PHONEUICOMMANDCONTROLLER_H
+#define PHONEUICOMMANDCONTROLLER_H
+
+#include <QObject>
+#include <QString>
+#include <hbmenu.h>
+#include <spdefinitions.h>
+#include "phonecommandextensionwrapper.h"
+#include "phoneuiqtviewif.h"
+#include "phoneaction.h"
+
+// FORWARD DECLARATION
+class HbAction;
+
+class PhoneUiCommandController : public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    /*!
+        \fn PhoneUiCommandController(
+            PhoneUIQtViewIF &m_view, QObject *parent)
+    */
+    PhoneUiCommandController(PhoneUIQtViewIF &view, QObject *parent = 0);
+        
+    /*!
+        Destructor
+     */
+    virtual ~PhoneUiCommandController();
+    
+    /*!
+        \fn void showGlobalNote()
+        
+        Sets call menu actions.
+
+    */
+    void setCallMenuActions(QMap<int,int> callStates,
+                            QMap<int,int> serviceIds,
+                            int serviceId,
+                            int expandedCallId);
+
+    /*!
+        \fn void setDialpadMenuActions ()
+        
+        Sets dialpad menu actions.
+
+    */
+    void setDialpadMenuActions();
+    
+    /*!
+        \fn void pushButtonActionsForCall ()
+        
+        Returns push button actions actions for call.
+
+    */
+    QMap<PhoneAction::ActionType, PhoneAction *> pushButtonActionsForCall( 
+            int callState,
+            bool emergencyCall,
+            QMap<int,int> callStates,
+            QMap<int,int> serviceIds,
+            int serviceId,
+            int callId);
+    
+private:
+
+    /*!
+        \fn QList<int> menuCommands()
+        
+        Returns list of current menu commands.
+
+    */
+    QList<int> menuCommands(
+            QMap<int,int> callStates, QMap<int,int> serviceIds );
+    
+    /*!
+        \fn void addMenuItems()
+        
+        Adds menu commands to menu.
+    */
+    void addMenuItems(QList<int> menuCmdList);
+    
+    /*!
+        \fn int mapCommand()
+        
+        Maps ui command extension commands to
+        phone app commands.
+    */
+    int mapCommand(int command);
+    
+    /*!
+        \fn void commandExtension()
+        
+        Returns command extension by service id (null if
+        extension not available).
+    */
+    PhoneCommandExtensionWrapper *commandExtension(int serviceId);
+
+    /*!
+        \fn void ResolveImplementationUidL()
+        
+        Returns service's plugin uid by service id.
+    */
+    TUid ResolveImplementationUidL( 
+            TUint32 aServiceId, TServicePropertyName aPropertyName );
+    
+    /*!
+        \fn void MenuExtensionL()
+        
+        Returns command extension by service id (null if
+        extension not available).
+    */
+    PhoneCommandExtensionWrapper *CommandExtensionL( TUint aServiceId );
+    
+    /*!
+        \fn void releaseMenu()
+        
+        Releases extensions menu.
+    */
+    void releaseMenu();
+       
+    /*!
+        \fn void areServicesSame()
+        
+        Checks are all calls made by same service (id).
+        Returns true when same service used.
+    */
+    bool areServicesSame(QMap<int,int> callStates, QMap<int,int> serviceIds);
+    
+    /*!
+        \fn void buttonCommandList()
+        
+        Returns push button command list.
+    */    
+    QList<int> buttonCommandList(int callState,
+            bool emergencyCall,
+            bool sameServices,
+            QList<int> callStates);
+    
+    /*!
+        \fn void buttonCommandList()
+        
+        Maps push button command to phone action.
+    */
+    PhoneAction *mapCommandToAction(int callState);
+    
+    
+    
+private:
+
+    PhoneUIQtViewIF &m_view;
+    QList<HbAction *> m_customMenuActions;
+    QList<PhoneCommandExtensionWrapper *> m_commandExtensions;
+    PhoneCommandExtensionWrapper *m_lastCommandExtension;
+    
+};
+
+#endif // PHONEUICOMMANDCONTROLLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtbuttonscontroller.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,69 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Buttons controller for storing and getting
+*               buttons' states
+*
+*/
+
+#ifndef PHONEUIQTBUTTONSCONTROLLER_H
+#define PHONEUIQTBUTTONSCONTROLLER_H
+
+#include <QObject>
+
+class PhoneUIQtButtonsController : public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    enum PhoneButtonFlag
+    {
+        Hold            = 0x02, // Hold
+        Ihf             = 0x04, // Ihf
+        Wired           = 0x08, // Wired
+        Btaa            = 0x10  // Btaa
+    };
+    Q_DECLARE_FLAGS(PhoneButtonFlags, PhoneButtonFlag)
+
+    /**
+     * Constructor
+     */
+    PhoneUIQtButtonsController ();
+
+    /**
+     * Destructor
+     */
+    virtual ~PhoneUIQtButtonsController ();
+
+    /*!
+        \fn void PhoneUIQtButtonsController::setButtonFlags (PhoneButtonFlags flag,bool set)
+        
+        This method is called when audio path or hold status is changed
+    */
+    void setButtonFlags (PhoneButtonFlags flag,bool set);
+
+    /*!
+        \fn bool PhoneUIQtButtonsController::getButtonFlags (PhoneButtonFlags flag)
+        
+        This method is called when audio path or hold status is enquired
+    */
+    inline bool getButtonFlags (PhoneButtonFlags flag) {return m_buttonFlags & flag;};
+
+private:
+    PhoneButtonFlags m_buttonFlags;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(PhoneUIQtButtonsController::PhoneButtonFlags)
+
+#endif // PHONEUIQTBUTTONSCONTROLLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneuiqtviewadapter.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,484 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PHONEUIQTVIEWADAPTER_H
+#define PHONEUIQTVIEWADAPTER_H
+
+#ifdef BUILD_PHONEUIQTVIEWADAPTER
+#define PHONEUIQTVIEWADAPTER_EXPORT Q_DECL_EXPORT
+#else
+#define PHONEUIQTVIEWADAPTER_EXPORT Q_DECL_IMPORT
+#endif
+
+#include <QObject>
+#include <QMap>
+#include "mphoneviewcommandhandle.h"
+#include "phoneaction.h"
+
+class PhoneUIQtViewIF;
+class PhoneBubbleWrapper;
+class CPhoneRingingToneController;
+class PhoneResourceAdapter;
+class PhoneUIQtButtonsController;
+class PhoneNoteController;
+class PhoneUiCommandController;
+class TelephonyService;
+class QKeyEvent;
+
+class PHONEUIQTVIEWADAPTER_EXPORT PhoneUIQtViewAdapter : 
+    public QObject, 
+    public MPhoneViewCommandHandle
+{
+    Q_OBJECT
+
+public:
+
+    /**
+     * Constructor
+     */
+    explicit PhoneUIQtViewAdapter (PhoneUIQtViewIF &view, QObject *parent = 0);
+    
+    /**
+     * Destructor
+     */
+    virtual ~PhoneUIQtViewAdapter();
+
+    
+public: // From MPhoneViewCommandHandle
+
+    /**
+    * Execute Command with given Command Id
+    * @param aCmdId Command Id
+    * @return None
+    */
+    void ExecuteCommandL (TPhoneViewCommandId aCmdId);
+
+    /**
+    * 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);
+
+     /**
+    * 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);
+
+     /**
+    * 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);
+
+    /**
+    * 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);
+
+    /**
+    * Handle Command with given Command Id
+    * @param aCmdId Command Id
+    * @return TPhoneViewResponseId
+    */
+    TPhoneViewResponseId HandleCommandL (TPhoneViewCommandId aCmdId);
+
+    /**
+    * 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);
+        
+    /**
+    * Execute Command with given Command Id
+    * @param aCmdId Command Id
+    * @return None
+    */
+    void ExecuteCommand (TPhoneViewCommandId aCmdId);
+        
+    /**
+    * Execute Command with given command id and command parameter.
+    * @param aCmdId Command Id
+    * @param aCommandParam Command parameter
+    * @return None
+    */
+    void ExecuteCommand (TPhoneViewCommandId aCmdId, TPhoneCommandParam* aCommandParam);
+   
+    /**
+    * Execute Command with given Command Id
+    */     
+    const TDesC& FetchContent ();
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::noteController ()
+        
+        Returns pointer to PhoneNoteController
+    */
+    PhoneNoteController* noteController() const;
+    
+private slots:
+
+    /*!
+        \fn void PhoneUIQtViewAdapter::dialpadClosed ()
+        
+        PhoneView calls this method when dialpad
+        is going to be closed.
+    */
+    void dialpadClosed();
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::keyPressed ()
+        
+        PhoneView calls this method when key press is released.
+    */
+    void keyReleased(QKeyEvent *event);
+    
+private:
+
+    /*!
+        \fn void PhoneUIQtViewAdapter::setTopApplication (TPhoneCommandParam *)
+        
+        This method is called when EPhoneViewSetTopApplication or
+        EPhoneViewSetIdleTopApplication command is received.
+    */
+    void setTopApplication (TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::idleAppUid()
+        
+        This method fetches Idle application's Id from PubSub and returns it.
+    */
+    int idleAppUid();
+
+    /*!
+        \fn int PhoneUIQtViewAdapter::createCallHeader()
+        
+        This method creates new call header.
+    */
+    void createCallHeader (int callId, TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::createCallHeader()
+        
+        This method creates new call header.
+    */
+    void createEmergencyCallHeader (int callId, TPhoneCommandParam *commandParam);
+
+    /*!
+        \fn int PhoneUIQtViewAdapter::updateCallHeader()
+        
+        This method updates call state information in call header.
+    */
+    void updateCallHeaderState (int callId, TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo()
+        
+        This method updates remote information in call header.
+    */
+    void updateCallHeaderRemoteInfo (int callId, TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::updateCallHeaderRemoteInfo()
+        
+        This method updates remote information in call header and label.
+    */
+    void updateCallHeaderRemoteInfoAndLabel (int callId, TPhoneCommandParam *commandParam);    
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::callIdByState()
+        
+        This method writes to commandParam the call id matching
+        given call state.
+        
+        Returns EPhoneViewResponseSuccess operation is succesful
+        otherwise EPhoneViewResponseFailed.
+    */
+    TPhoneViewResponseId callIdByState (TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::setTouchButtons (TPhoneCmdParam *commandParam)
+        
+        This method sets buttons to call bubble.        
+    */
+    void setTouchButtons (TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::setToolbarButtons (TPhoneCmdParam *commandParam)
+        
+        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)
+        
+        This method writes audio volume value into given command parameter.
+    */
+    void writeAudioVolumeLevel (TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::setAudioVolumeSliderValue (TPhoneCmdParam *commandParam)
+        
+        This method sets volume value to view.
+    */
+    void setAudioVolumeSliderValue (TPhoneCommandParam *commandParam);
+
+    /*!
+        \fn void PhoneUIQtViewAdapter::setMuteIndication (TPhoneCmdParam *commandParam)
+        
+        This method sets muted indication to view.
+    */
+    void setMuteIndication (TPhoneCommandParam *commandParam);
+    
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::callHoldFlag (TPhoneCmdParam *commandParam)
+        
+        This method retrieves number of calls. Conference call counts one call, 
+        participant calls are not count.
+    */
+    void activeCallCount (TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::setAudioPath (TPhoneCommandParam *commandParam)
+        
+        This method sets audio paths
+    */
+    void setAudioPath (TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::expandedBubbleCallId(TPhoneCommandParam *commandParam)
+        
+        This method gets call id of the expanded call bubble.
+    */
+    void expandedBubbleCallId(TPhoneCommandParam *commandParam);
+
+    /*!
+        \fn void openDialpad()
+        
+        This method opens dialpad.
+    */
+    void openDialpad();
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::createConference()
+        
+        This method creates conference bubble.
+    */
+    void createConferenceBubble(int callId, TPhoneCommandParam *commandParam);
+
+    /*!
+        \fn int PhoneUIQtViewAdapter::conferenceCallId()
+        
+        This method checks if call id belongs to conference call.
+    */
+    void conferenceCallId(int callId, TPhoneCommandParam *commandParam);
+
+    /*!
+        \fn int PhoneUIQtViewAdapter::removeConferenceBubble()
+        
+        This method removes conference bubble.
+    */
+    void removeConferenceBubble();
+
+    /*!
+        \fn int PhoneUIQtViewAdapter::isConference()
+        
+        This method checks is conference bubble active.
+    */
+    void isConference(TPhoneCommandParam *commandParam);
+
+    /*!
+        \fn int PhoneUIQtViewAdapter::removeCallFromConference()
+        
+        This method removes a call from conference.
+    */
+    void removeCallFromConference(int callId);
+
+    /*!
+        \fn TPhoneViewResponseId PhoneUIQtViewAdapter::getSelectedConferenceMember()
+        
+        This method gets call id of selected conference member.
+        Used in drop and private commands. 
+    */
+    TPhoneViewResponseId getSelectedConferenceMember(
+            TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::setPrivateFromConference()
+        
+        This method removes call from converence bubble.
+        Used in private command. 
+    */   
+    void setPrivateFromConference(int callId);
+
+    /*!
+        \fn void PhoneUIQtViewAdapter::setExpandActions()
+        
+        This method sets expand action if needed. 
+    */ 
+    void setExpandActions();
+
+    /*!
+        \fn void PhoneUIQtViewAdapter::setParticipantListActions()
+        
+        This method sets participant list actions if needed. 
+    */
+    void setParticipantListActions();
+
+    /*!
+        \fn void PhoneUIQtViewAdapter::setExpandedConferenceCallHeader()
+        
+        This method sets conference call header expanded if needed. 
+    */
+    void setExpandedConferenceCallHeader();
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::bringToForeground()
+        
+        This method brings application to foreground.
+    */
+    void bringToForeground();
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::showGlobalNote()
+        
+        This method shows global note.
+    */
+    void showGlobalNote(TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::callsExists()
+        
+        This method checks if there are calls in given states.
+    */
+    bool callsExists(int call1State, int call2State);
+ 
+    /*!
+        \fn void PhoneUIQtViewAdapter::setDialpadVisibility()
+        
+        This method sets dialpad visibility.
+    */
+    void setDialpadVisibility(TPhoneCommandParam *commandParam);
+ 
+    /*!
+        \fn void PhoneUIQtViewAdapter::removeAllCallHeaders()
+        
+        This method removes all call headers.
+    */
+    void removeAllCallHeaders();
+ 
+    /*!
+        \fn void PhoneUIQtViewAdapter::getNumberFromDialpad()
+        
+        This method gets number from dialpad.
+    */
+    void getNumberFromDialpad(TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::getNumberEntryStringLength()
+        
+        This method gets text length from the dialpad.
+    */
+    void getDialpadStringLength(TPhoneCommandParam *commandParam);
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::getNumberEntryStringLength()
+        
+        This method clears and removes dialpad from the view.
+    */
+    void removeDialpad();
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::addToConference()
+        
+        This method adds call to conference.
+    */
+    void addToConference();
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::setMenu()
+        
+        This method sets actions for menu.
+    */
+    void setMenu();
+  
+    /*!
+        \fn void PhoneUIQtViewAdapter::setMenu()
+        
+        This method sets actions for menu in call handling view.
+    */
+    void setCallMenu();
+    
+    /*!
+        \fn void PhoneUIQtViewAdapter::setMenu()
+        
+        This method sets actions for menu in dialpad view.
+    */
+    void setDialpadMenu();
+    
+    /*!
+        \fn int PhoneUIQtViewAdapter::showNote()
+        
+        This method shows a note by command params.
+    */
+    void showNote(TPhoneCommandParam *commandParam);
+    
+private:
+
+    PhoneUIQtViewIF &m_view;
+    int m_idleUid;
+    PhoneBubbleWrapper *m_bubbleWrapper;
+    CPhoneRingingToneController *m_ringingtonecontroller;
+    PhoneResourceAdapter *m_resourceAdapter;
+    PhoneNoteController *m_noteController;
+    TelephonyService *m_telephonyService;
+    PhoneUiCommandController *m_uiCommandController;
+    bool m_dialpadAboutToClose;
+};
+
+#endif // PHONEUIQTVIEWADAPTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/phoneviewcommanddefinitions.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,252 @@
+/*
+* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   Common phone view command definitions.
+*
+*/
+
+
+#ifndef PHONEVIEWCOMMANDDEFINITIONS_H
+#define PHONEVIEWCOMMANDDEFINITIONS_H
+
+// INCLUDES
+
+#include "phoneconstants.h"
+
+// DATA TYPES
+
+typedef TInt TPhoneViewCommandId;
+
+enum
+{
+    EPhoneViewCreateNumberEntry = KPhoneViewCommandCommonFirst,
+    EPhoneViewSetNumberEntryContent,
+    EPhoneViewSendKeyEventToNumberEntry,
+    EPhoneViewRemoveNumberEntry,
+    EPhoneViewSetNumberEntryVisible,
+    EPhoneViewGetNumberFromEntry,
+    EPhoneViewGetNumberEntryCount,
+    EPhoneViewGetNumberEntryIsUsedStatus,
+    EPhoneViewGetNumberEntryIsVisibleStatus,
+    EPhoneViewToggleNumberEntryAlphaNumericMode, // 10
+    EPhoneViewIsNumberEntryNumericMode,
+    EPhoneViewClearNumberEntryContent,
+    EPhoneViewCreateCallHeader,
+    EPhoneViewCreateEmergencyCallHeader,
+    EPhoneViewUpdateCallHeaderRemoteInfoData,
+    EPhoneViewUpdateCallHeaderCallDuration,
+    EPhoneViewRemoveCallHeader,
+    EPhoneViewMenuBarOpen, //20
+    EPhoneViewMenuBarClose,
+    EPhoneViewDimCbaCommand,
+    EPhoneViewUpdateCba,
+    EPhoneViewUpdateBubble,
+    EPhoneViewMenuPane,
+    EPhoneViewMenuBar,
+    EPhoneViewSetTitlePaneContent,
+    EPhoneViewSetNaviPaneContent,
+    EPhoneViewSetTitlePanePicture,
+    EPhoneViewGetTitlePaneIsVisibleStatus, //30
+    EPhoneViewActivateAudioPathUIChanges,
+    EPhoneViewActivateAudioAvailabilityUIChanges,
+    EPhoneViewActivateMuteUIChanges,
+    EPhoneViewShowNote,
+    EPhoneViewShowGlobalNote,
+    EPhoneViewShowProgressNote,
+    EPhoneViewRemoveNote,
+    EPhoneViewRemoveProgressNote,
+    EPhoneViewRemoveGlobalNote,
+    EPhoneViewGetIsNoteVisible, // 40
+    EPhoneViewGetIsProgressNoteVisible,
+    EPhoneViewShowQuery,
+    EPhoneViewSetListQueryString,
+    EPhoneViewRemoveQuery,
+    EPhoneViewGetTextQueryContent,
+    EPhoneViewSetTopApplication,
+    EPhoneViewBringAppToForeground,
+    EPhoneViewSendToBackground,
+    EPhoneViewSetNeedToSendToBackgroundStatus,
+    EPhoneViewGetNeedToSendToBackgroundStatus, // 50
+    EPhoneViewGetTopApplicationIsDisplayedStatus,
+    EPhoneViewGetForegroundApplication,
+    EPhoneViewSetBackgroundImageBitmap,
+    EPhoneViewGetBackgroundImageBitmap,
+    EPhoneViewActivateApp,
+    EPhoneViewActivateAppView,
+    EPhoneViewActivateAppViewWithCustomMessage,
+    EPhoneViewActivateAppViewConventional,
+    EPhoneViewLaunchApplication,
+    EPhoneViewLaunchHelpApplication,  // 60
+    EPhoneViewOpenMessageEditor,
+    EPhoneViewExitApplications,
+    EPhoneViewUpdateIncallIndicator,
+    EPhoneViewStartCapturingKey,
+    EPhoneViewStopCapturingKey,
+    EPhoneViewSetGlobalNotifiersDisabled,
+    EPhoneViewSetSpeedDialLocation, 
+    EPhoneViewGetNumberFromSpeedDialLocation,
+    EPhoneViewAssignSpeedDialLocation,
+    EPhoneViewGetHoldFlag,
+    EPhoneViewSetHoldFlag,
+    EPhoneViewSetSoftRejectFlag,
+    EPhoneViewGetSoftRejectFlag,
+    EPhoneViewSetServiceCodeFlag,
+    EPhoneViewUpdateContact, // 80
+    EPhoneViewAddContact,
+    EPhoneViewOpenSingleItemFetchDialog,
+    EPhoneViewRemovePhoneDialogs,
+    EPhoneViewCreateConference,
+    EPhoneViewAddToConference,
+    EPhoneViewRemoveFromConference,
+    EPhoneViewPrivateFromConference,
+    EPhoneViewSelectedConfMember,
+    EPhoneViewGetConferenceListVisibleFlag, 
+    EPhoneViewOpenConferenceList, // 90
+    EPhoneViewGetCallState,
+    EPhoneViewGetCallIdByState,
+    EPhoneViewMoveHighLightInList,
+    EPhoneViewGetCountOfActiveCalls,
+    EPhoneViewSetNaviPaneAudioVolume,
+    EPhoneViewShowNaviPaneAudioVolume,
+    EPhoneViewHideNaviPaneAudioVolume,
+    EPhoneViewGetIsConference,
+    EPhoneViewGetCallExistsInConference,
+    EPhoneViewRemoveAllCallHeaders,
+    EPhoneViewPlayRingTone,
+    EPhoneViewMuteRingTone,
+    EPhoneViewStopRingTone,
+    EPhoneViewMuteRingToneOnAnswer,
+    EPhoneViewCipheringInfoChange,
+    EPhoneViewUpdateMaxConfMemberFlag, // 110
+    EPhoneViewCloseFSW, 
+    EPhoneViewLaunchRfsDeep,
+    EPhoneViewLaunchRfsNormal,
+    EPhoneViewUpdateView,
+    EPhoneViewOpenSoftRejectEditor,
+    EPhoneViewSendMessage,
+    EPhoneViewSetBlockingDialogStatus,
+    EPhoneViewSetPhoneNumberAvailableInPhoneEngine,
+    EPhoneViewSetSecurityMode,
+    EPhoneViewGetSecurityModeStatus, // 120
+    EPhoneViewSetStatusPaneVisible, 
+    EPhoneViewEnableKeyLock,
+    EPhoneViewEnableKeyLockWithoutNote,
+    EPhoneViewLaunchFaxModem,
+    EPhoneViewUpdateFSW,
+    EPhoneViewIsQuery,
+    EPhoneViewBringIdleToForeground, 
+    EPhoneViewSetIdleTopApplication,  
+    EPhoneViewBeginUpdate,
+    EPhoneViewEndUpdate,   // 130
+    EPhoneViewSetConfrenceOptionsFlag,
+    EPhoneViewRemoveConferenceBubble,
+    EPhoneViewGetSoftRejectWindowGroupId,
+    EPhoneViewSetTouchPaneButtons,
+    EPhoneViewSetTouchPaneVisible,
+    EPhoneViewEnableTouchButton,
+    EPhoneViewDisableTouchButton, 
+    EPhoneResetTouchButtons, 
+    EPhoneViewGetIsConferenceInSelectionMode,
+    EPhoneViewIsStraightCallToVideoMailBox, // 140
+    EPhoneViewSetDtmfDialerViewVisible,
+    EPhoneViewSetRetrictedDialer,
+    EPhoneViewIsConferenceInExpandedMode,
+    EPhoneViewIsMenuBarVisible,
+    EPhoneViewGetBlockingDialogStatus,
+    EPhoneViewYesSingleItemFetch,
+    EPhoneViewNoSingleItemFetch, 
+    EPhoneViewGetLocalizedNumberFromEntry,
+    EPhoneViewIsNoteActive,
+    EPhoneViewOpenNumberEntry, //150
+    EPhoneViewOpenCallHandling,
+    EPhoneViewGetConferenceAndSingleFlag,
+    EPhoneViewSetConferenceAndSingleFlag,
+    EPhoneViewSetVideoCallFlag,
+    EPhoneViewSetDtmfOptionsFlag,
+    EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery,
+    EPhoneViewGetAudioVolumeLevel, 
+    EPhoneViewIsIdleTopApp,
+    EPhoneViewUpdateToolbar,
+    EPhoneViewSetControlAndVisibility, //160
+    EPhoneViewAllowWaitingCallHeader,
+    EPhoneViewBeginTransEffect,
+    EPhoneViewEndTransEffect,
+    EPhoneViewSetDialerControlVisible,
+    EPhoneViewCloseSingleItemFetchDialog,
+    EPhoneViewGetActivatePreviousApp,
+    EPhoneViewActivatePreviousApp, 
+    EPhoneViewSetPointerCapture,
+    EPhoneViewSetSendKeyDialerActivationFlag,
+    EPhoneViewPrepareIcons, //170
+    EPhoneViewKeypadAudioEnabled,
+    EPhoneViewKeypadAudioDisabled,
+    EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel,
+    EPhoneViewRemoveDtmfNote,
+    EPhoneViewUpdatePhoneIconToFSW,
+    EPhoneViewSetEikonNotifiersDisabled, 
+    EPhoneViewCancelAllNotications, 
+    EPhoneViewSetVideoCallDTMFVisibilityFlag,
+    EPhoneViewIsKeyLockEnabled,
+    EPhoneViewDisableKeyLock,
+    EPhoneViewLoadPlugins, // 170
+    EPhoneViewOpenVirtualKeyBoard,
+    EPhoneViewUpdateNoteSoftkeys,
+
+    EPhoneViewSendAiwCommand,
+    EPhoneViewShowCustomizedDialer,
+    EPhoneViewHideCustomizedDialer,
+    EPhoneViewGetCustomizedDialerMenuResourceId,
+    EPhoneViewGetCustomizedDialerCbaResourceId,
+    EPhoneViewCipheringInfoChangePlayTone,
+    EPhoneViewCreatePhoneBookServices,
+    EPhoneViewDisableKeyLockWithoutNote,
+    EPhoneViewGetKeyLockStatus,
+    EPhoneViewSetNumberEntryObserver,
+    EPhoneViewGetSingleItemFetchType,
+    EPhoneViewRemoveGlobalWaitNote,
+    EPhoneViewSetPhoneCustomization,
+    EPhoneViewSetViewCustomization,
+    EPhoneViewSetButtonCustomization,
+    EPhoneViewUpdateContactByString,
+    EPhoneViewAddContactByString,
+    EPhoneViewIsActiveNoteDissmissableByKeyEvent,
+    EPhoneViewUpdateContextMenu,
+    EPhoneViewSetNoConnectedCalls,
+    EPhoneViewIsDTMFEditorVisible,
+    EPhoneViewSetToolbarDimming,
+    EPhoneViewEnableToolbarButton,
+    EPhoneViewHideToolbar,
+    EPhoneViewShowToolbar,
+    EPhoneViewGetExpandedBubbleCallId,
+    EPhoneViewOpenDialer,
+    EPhoneSetConferenceExpanded,
+    EPhoneAppShutDown,
+    EPhoneViewBackButtonVisible,
+    EPhoneAmountOfCommands, // Don't remove this, this should always be the last in list.
+};
+
+
+typedef TInt TPhoneViewResponseId;
+
+enum
+{
+    EPhoneViewResponseFailed = KPhoneViewResponseCommonFirst,
+    EPhoneViewResponseSuccess,
+    EPhoneViewResponseNumberEntryCleared
+
+};
+
+#endif // PHONEVIEWCOMMANDDEFINITIONS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/inc/telephonyservice.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,59 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Telephony Service API to be used through Qt Highway.
+*
+*/
+
+#ifndef TELEPHONYSERVICE_H
+#define TELEPHONYSERVICE_H
+
+#include <QObject>
+#include <QString>
+#include <xqserviceprovider.h>
+
+class PhoneUIQtViewAdapter;
+
+
+class TelephonyService : public XQServiceProvider
+{
+    Q_OBJECT
+public:
+    TelephonyService(PhoneUIQtViewAdapter *phoneView, QObject *parent = 0);
+    ~TelephonyService();
+    
+public slots:
+
+    /*!
+        \fn void start()
+        
+        Start launches telephony UI service.
+        serviceId '0': Brings phoneapp to foreground.
+        serviceId '1': Starts incall dialer, note if there is no ongoing calls and client uses value '1'
+                       then dialer launches on top of empty call handling.
+        
+        Usage example:
+        int inCallDialer(1);
+        XQServiceRequest snd("com.nokia.services.telephonyservices.starter", "start(int)", false);
+        snd << inCallDialer;
+        QVariant err;
+        snd.send(err);
+    */
+    void start(const int serviceId);
+    
+private:
+    
+    PhoneUIQtViewAdapter *m_viewAdapter;
+};
+
+#endif // TELEPHONYSERVICE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+#
+
+HEADERS += ./inc/phoneuiqtviewadapter.h
+HEADERS += ./inc/phoneuiqtbuttonscontroller.h
+HEADERS += ./inc/mphoneviewcommandhandle.h
+HEADERS += ./inc/phoneviewcommanddefinitions.h
+HEADERS += ./inc/phonebubblewrapper.h
+HEADERS += ./inc/phoneresourceadapter.h
+HEADERS += ./inc/phonenotecontroller.h
+HEADERS += ./inc/telephonyservice.h
+HEADERS += ./inc/phoneuicommandcontroller.h
+HEADERS += ./inc/phonecommandextensionwrapper.h
+
+SOURCES += ./src/phoneuiqtviewadapter.cpp
+SOURCES += ./src/phoneuiqtbuttonscontroller.cpp
+SOURCES += ./src/phonebubblewrapper.cpp
+SOURCES += ./src/phoneresourceadapter.cpp
+SOURCES += ./src/phonenotecontroller.cpp
+SOURCES += ./src/telephonyservice.cpp
+SOURCES += ./src/phoneuicommandcontroller.cpp
+SOURCES += ./src/phonecommandextensionwrapper.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/phoneuiqtviewadapter.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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 qt view adapter component
+#
+#
+
+TEMPLATE = lib
+TARGET = phoneuiqtviewadapter
+CONFIG += hb
+
+symbian {
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.UID3 = 0x20029F86
+    DEFINES += FT_SYMBIAN_INTEGRATION
+    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
+    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += ../../inc \
+                   ../phoneuiutils/inc \
+                   ../phoneuiview2/inc \
+                   ../phoneui2/srcdata \
+                   ../phoneringingtoneplayer/inc \
+                   ../phonemediatorcenter/inc
+
+    LIBS += -lphoneuiutils \
+            -lbubblemanager2 \
+            -lphoneringingtoneplayer \
+            -lphoneuiqtview \
+            -lphonemediatorcenter \
+            -lxqservice \
+            -lxqserviceutil \
+            -lserviceprovidersettings \
+            -lxqplugins
+
+    defFiles = \
+        "$${LITERAL_HASH}ifdef WINS" \
+            "DEFFILE bwins/phoneuiqtviewadapter.def" \
+        "$${LITERAL_HASH}else" \
+            "DEFFILE eabi/phoneuiqtviewadapter.def" \
+        "$${LITERAL_HASH}endif"
+    
+    MMP_RULES += defFiles    
+}
+
+# Input
+include(phoneuiqtviewadapter.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phonebubblewrapper.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,399 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 Wrapper.
+*
+*/
+
+#include <QtDebug>
+#include <hbaction.h>
+#include <pevirtualengine.h>
+
+#include "bubblemanagerif.h"
+#include "phonebubblewrapper.h"
+#include "phoneconstants.h"
+
+
+PhoneBubbleWrapper::PhoneBubbleWrapper (BubbleManagerIF& bubble, QObject *parent) :
+    QObject (parent), m_bubbleManager (bubble)
+{
+}
+
+PhoneBubbleWrapper::~PhoneBubbleWrapper ()
+{
+    
+}
+
+void PhoneBubbleWrapper::updateCallState (int callId, int newState)
+{
+    // TODO: +1 callId because value 0 causes problems
+    //       when using QMap. Bug in S60 Qt?
+    m_callStates [callId] = newState;
+}
+
+int PhoneBubbleWrapper::callId (int state)
+{
+    // Returns call id or -1 if not found
+    // TODO: callId -1 because we +1 callId when inserted
+    //       This is because callId 0 causes problems in QMap.
+    int callId = m_callStates.key (state, -1);
+    return callId;
+}
+
+int PhoneBubbleWrapper::createCallHeader (int callId)
+{
+    int bubble;
+
+    if (!m_bubbles.contains (callId)) {
+        bubble = m_bubbleManager.createCallHeader ();
+        m_bubbles.insert (callId, bubble);
+    }
+    else {
+        bubble = m_bubbles [callId];    
+    }
+    
+    return bubble;
+}
+
+void PhoneBubbleWrapper::removeCallHeader (int callId)
+{
+    if (m_bubbles.contains (callId)) {
+        m_bubbleManager.removeCallHeader (m_bubbles [callId]);
+        m_bubbles.remove (callId);       
+    }
+}
+
+BubbleManagerIF& PhoneBubbleWrapper::bubbleManager ()
+{
+    return m_bubbleManager;
+}
+
+void PhoneBubbleWrapper::setState (int callId, int bubble, int callState)
+{
+    BubbleManagerIF::PhoneCallState state = BubbleManagerIF::None;
+    
+    switch (callState) {
+        case EPEStateIdle:
+            state = BubbleManagerIF::Disconnected;
+            break;
+        case EPEStateDialing:
+            state = BubbleManagerIF::Outgoing;
+            break;
+        case EPEStateRinging:
+            if ( m_bubbles.count() > 1 ) {
+                state = BubbleManagerIF::Waiting;
+            }
+            else {
+                state = BubbleManagerIF::Incoming;
+            }
+            break;
+        case EPEStateConnecting:
+            state = BubbleManagerIF::Alerting;
+            break;
+        case EPEStateConnected:
+            state = BubbleManagerIF::Active;
+            break;
+        case EPEStateHeld:
+            state = BubbleManagerIF::OnHold;
+            break;
+        case EPEStateDisconnecting:
+            state = BubbleManagerIF::Disconnected;
+            break;
+        case EPEStateConferenceIdle:
+            state = BubbleManagerIF::Disconnected;
+            break;
+        case EPEStateConnectedConference:
+            state = BubbleManagerIF::Active;
+            break;
+        case EPEStateHeldConference:
+            state = BubbleManagerIF::OnHold;
+            break;
+        case EPEStateUnknown:
+            state = BubbleManagerIF::None;
+            break;
+        default:
+            break;
+    }
+    
+    updateCallState (callId, callState);
+    m_bubbleManager.setState (bubble, state);
+}
+
+void PhoneBubbleWrapper::setLabel (int bubble, const TDesC &text)
+{
+    QString labelText = QString::fromUtf16 (text.Ptr (), text.Length ());
+    qDebug () << "PhoneBubbleWrapper::setLabel, label:" << labelText; 
+    m_bubbleManager.setLabel (bubble, labelText, Qt::ElideRight);
+}
+
+void PhoneBubbleWrapper::setCli (int bubble, const TDesC &cliText)
+{
+    QString text = QString::fromUtf16 (cliText.Ptr (), cliText.Length ());
+    qDebug () << "PhoneBubbleWrapper::setCli, cli:" << text; 
+    m_bubbleManager.setCli (bubble, text, Qt::ElideRight);
+}
+
+void PhoneBubbleWrapper::setSecondaryCli (int bubble, const TDesC &cliText)
+{
+    QString text = QString::fromUtf16 (cliText.Ptr (), cliText.Length ());
+    qDebug () << "PhoneBubbleWrapper::setSecondaryCli, SecondaryCli:" << text; 
+    m_bubbleManager.setSecondaryCli (bubble, text);
+}
+
+void PhoneBubbleWrapper::setCallType (int bubble, int callType)
+{
+    BubbleManagerIF::PhoneCallFlags callflag = BubbleManagerIF::Normal;
+
+    switch (callType) {
+        case EPECallTypeCSVoice:
+            callflag = BubbleManagerIF::Normal;
+            break;
+        case EPECallTypeVideo:
+            callflag = BubbleManagerIF::Video;
+            break;
+        case EPECallTypeVoIP:
+            callflag = BubbleManagerIF::VoIPCall;
+            break;
+        default:
+            break;
+    }
+
+    m_bubbleManager.setCallFlag (bubble, callflag, true);
+}
+
+int PhoneBubbleWrapper::bubbleId (int callId)
+{
+    return m_bubbles.value (callId, -1);
+}
+
+void PhoneBubbleWrapper::setDivert (int bubble, bool enabled)
+{
+    if (enabled) {
+        BubbleManagerIF::PhoneCallFlags divertedFlag = BubbleManagerIF::Diverted;
+        m_bubbleManager.setCallFlag (bubble, divertedFlag, true);
+    }
+}
+
+int PhoneBubbleWrapper::activeCallCount()
+{
+    int count(0);
+    QMap<int, int> callStateList = callStates();
+    
+    for (int i=0; i<callStateList.size(); ++i) {
+        if ( callStateList.values().at(i) == EPEStateConnected ||
+             callStateList.values().at(i) == EPEStateConnectedConference || 
+             callStateList.values().at(i) == EPEStateDisconnecting ||
+             callStateList.values().at(i) == EPEStateHeld ||
+             callStateList.values().at(i) == EPEStateHeldConference ) {
+             count++;
+         }
+    }
+    
+    return count;
+}
+
+QMap<int, int> PhoneBubbleWrapper::callStates() const 
+{
+    QMap<int, int> ret;
+    
+    for (int i=0; i<m_callStates.size(); ++i) {
+        if ( false == m_conferenceList.contains(m_callStates.keys().at(i)) 
+             && m_bubbles.keys().contains(m_callStates.keys().at(i)) ) {
+            ret.insert(m_callStates.keys().at(i), 
+                       m_callStates.value(m_callStates.keys().at(i)));
+        }
+    }
+    
+    return ret;
+}
+
+QMap<int, int> PhoneBubbleWrapper::bubbles() const
+{
+    QMap<int, int> ret;
+    
+    for (int i=0; i<m_bubbles.size(); ++i) {
+        if ( false == m_conferenceList.contains(m_bubbles.keys().at(i)) ) {
+            ret.insert(m_bubbles.keys().at(i), m_bubbles.value(m_bubbles.keys().at(i)));
+        }
+    }
+    
+    return ret;
+}
+
+void PhoneBubbleWrapper::createConferenceBubble(
+        int callId,
+        int callState,
+        const TDesC &labelText, 
+        const TDesC &cliText)
+{
+    int callId1;
+    int callId2;
+    if (getCallIdsForConference(callId1, callId2)) {
+        m_bubbleManager.startChanges();
+        int bubble = m_bubbleManager.createConference( 
+                bubbleId(callId1), 
+                bubbleId(callId2) );
+        
+        setConferenceCallId(callId1);
+        setConferenceCallId(callId2);
+        
+        m_bubbles.insert(callId,bubble);
+        setState(callId, bubble, callState );
+        setLabel(bubble, labelText);
+        setCli (bubble, cliText);
+        
+        //Set conference bubble expanded if no other
+        //bubbles (like waiting bubble).
+        m_bubbleManager.setExpandedConferenceCallHeader(
+                (1==bubbles().size()));
+        
+        m_bubbleManager.endChanges();
+    }
+}
+
+void PhoneBubbleWrapper::setConferenceCallId(int callId) 
+{
+    if ( false == m_conferenceList.contains(callId) ) {
+        m_conferenceList.append(callId);
+    }
+}
+
+void PhoneBubbleWrapper::removeConferenceCallId(int callId) 
+{
+    if ( m_conferenceList.contains(callId) ) {
+        m_conferenceList.removeOne(callId);
+    }
+}
+
+bool PhoneBubbleWrapper::conferenceCallId(int callId) const
+{
+    return m_conferenceList.contains(callId);
+}
+
+void PhoneBubbleWrapper::removeCallFromConference(int callId)
+{
+    if (m_conferenceList.contains(callId)) {
+        m_bubbleManager.startChanges();
+        if(1<m_conferenceList.size()) {
+            m_bubbleManager.removeRowFromConference(m_bubbles.value(callId));
+            m_conferenceList.removeOne(callId);
+            }
+        else {
+            m_bubbleManager.removeConference();
+
+            if (m_bubbles.contains(KConferenceCallId)) {
+                m_bubbles.remove(KConferenceCallId);
+            } 
+            m_conferenceList.clear();
+        }
+        
+        m_bubbleManager.endChanges();        
+    }
+}
+
+QList<int> PhoneBubbleWrapper::conferenceCallList() const
+    {
+    return m_conferenceList;
+    }
+
+void PhoneBubbleWrapper::removeConferenceBubble()
+{
+    if (0 < m_conferenceList.size()) {
+        m_bubbleManager.removeConference();
+        m_bubbleManager.setExpandedConferenceCallHeader(false);
+        
+        if (m_bubbles.contains(KConferenceCallId)) {
+            m_bubbles.remove(KConferenceCallId);
+        }        
+        m_conferenceList.clear();  
+    }
+}
+
+int PhoneBubbleWrapper::callIdByBubbleId(int bubbleId)
+{
+    return m_bubbles.key(bubbleId, -1);
+}
+
+void PhoneBubbleWrapper::addToConferenceBubble()
+{
+    if (m_conferenceList.size()) {
+        int callId = callIdForConference();
+        if (-1 != callId && 
+                false == m_conferenceList.contains(callId)) {
+            m_bubbleManager.startChanges();
+            setConferenceCallId(callId);
+            m_bubbleManager.addRowToConference(bubbleId(callId));
+            m_bubbleManager.endChanges();
+        }        
+    }
+}
+ 
+int PhoneBubbleWrapper::callIdForConference()
+{
+    int callId = -1;
+    QMap<int, int> bubblelist = bubbles();
+    for (int i=0; i<bubblelist.size() && callId == -1; ++i) {
+        if (KConferenceCallId != bubblelist.keys().at(i)) {
+            if ( bubblelist.size() > 2 ) {
+                if (EPEStateRinging != 
+                        m_callStates.value(bubblelist.keys().at(i))) {
+                    callId = bubblelist.keys().at(i);
+                }
+            } else {
+                callId = bubblelist.keys().at(i);
+            }
+        }
+    }
+    
+    return callId;
+}
+
+bool PhoneBubbleWrapper::getCallIdsForConference(int &first, int &second)
+{
+    first = -1;
+    second = -1;
+    
+    if (2==m_bubbles.values().size()) {
+        first = m_bubbles.keys().first();
+        second = m_bubbles.keys().at(1);
+    } else if (2<=m_bubbles.values().size()) {
+        for (int i=0;i<m_callStates.values().size();++i) {
+            if ( m_callStates.values().at(i) != EPEStateRinging ) {
+                if (first==-1) {
+                    first = m_callStates.keys().at(i);
+                } else {
+                    second = m_callStates.keys().at(i);
+                    break;
+                }
+            }
+        } // For
+    }
+        
+    return (first!=-1 && second!=-1);
+}
+
+void PhoneBubbleWrapper::setServiceId(int callId, int serviceId)
+{
+    m_services[callId] = serviceId;
+}
+
+int PhoneBubbleWrapper::serviceIdByCallId(int callId) const
+{
+    return m_services.value(callId, -1);
+}
+
+QMap<int, int> PhoneBubbleWrapper::serviceIds() const 
+{    
+    return m_services;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phonecommandextensionwrapper.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,152 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Wraps phone command extensions.
+*/
+
+#include "phonecommandextensionwrapper.h"
+#include <QtDebug>
+#include <xqplugin.h>
+#include <xqpluginloader.h>
+#include <pevirtualengine.h>
+
+  
+PhoneCommandExtensionWrapper::PhoneCommandExtensionWrapper(int pluginUid) :
+    m_plugin(0),m_pluginUid(pluginUid)
+{
+    qDebug() << "PhoneCommandExtensionWrapper::PhoneMenuExtensionWrapper";    
+    XQPluginLoader pluginLoader;
+    pluginLoader.setUid(m_pluginUid);
+    
+    QObject *plugin = pluginLoader.instance();
+    
+    if (plugin) {
+        m_plugin = qobject_cast<XQTelUiCommandExtension*>(plugin);
+    }
+}
+
+PhoneCommandExtensionWrapper::~PhoneCommandExtensionWrapper()
+{
+    qDebug() << "PhoneCommandExtensionWrapper::~PhoneCommandExtensionWrapper";
+    release();
+}
+
+int PhoneCommandExtensionWrapper::pluginUid()
+{
+    return m_pluginUid;
+}
+
+void PhoneCommandExtensionWrapper::modifyMenuCommandList(
+        const QList<XQTelUiCommandExtension::CallInfo> &callInfo, 
+        QList<int> &menuCmdList)
+{   
+    if (m_plugin) {
+        m_plugin->modifyMenuCommandList(callInfo, menuCmdList);
+    }
+}
+
+void PhoneCommandExtensionWrapper::modifyPushButtonCommandList(
+        const QList<XQTelUiCommandExtension::CallInfo> &callInfo, 
+        QList<int> &buttonCmdList)
+{   
+    if (m_plugin) {
+        m_plugin->modifyPushButtonCommandList(callInfo, buttonCmdList);
+    }
+}
+
+void PhoneCommandExtensionWrapper::addMenuActions(
+        const QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+        QList<HbAction*> &menuActions)
+{
+    if (m_plugin) {
+        m_plugin->addMenuActions(callInfo,menuActions);
+    }
+}
+
+void PhoneCommandExtensionWrapper::releaseMenu()
+{
+    if (m_plugin) {
+        m_plugin->releaseMenu();
+    }
+}
+
+void PhoneCommandExtensionWrapper::release()
+{
+    if (m_plugin) {
+        m_plugin->release();
+        m_plugin = 0;
+    }
+}
+
+void PhoneCommandExtensionWrapper::getCallInfoList(
+        QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+        QMap<int,int> callStates, 
+        QMap<int,int> serviceIds,
+        int expandedCall )
+{
+    for (int i=0;i<callStates.keys().count();++i) {
+        XQTelUiCommandExtension::CallInfo info;
+        info.mCallState = mapCallState(callStates.values().at(i));
+        info.mServiceId = serviceIds.value(callStates.keys().at(i));
+        info.mIsExpanded = (expandedCall == callStates.keys().at(i));
+        callInfo.append(info);
+    }
+}
+
+XQTelUiCommandExtension::CallState PhoneCommandExtensionWrapper::mapCallState(
+        int callState )
+{
+    XQTelUiCommandExtension::CallState state(XQTelUiCommandExtension::None);
+    
+    switch( callState ) {
+    case EPEStateDisconnecting: {
+        state = XQTelUiCommandExtension::Disconnecting;
+    }
+    break;
+    
+    case EPEStateRinging: {
+        state = XQTelUiCommandExtension::Incoming;
+    }
+    break;
+    
+    case EPEStateDialing:
+    case EPEStateConnecting: {
+        state = XQTelUiCommandExtension::Outgoing;
+    }
+    break;
+    
+    case EPEStateConnected:
+    case EPEStateConnectedConference: {
+        state = XQTelUiCommandExtension::Active;
+    }
+    break;
+    
+    case EPEStateHeld:
+    case EPEStateHeldConference: {
+        state = XQTelUiCommandExtension::OnHold;
+    }
+    break;
+    
+    case EPEStateUnknown:
+    case EPEStateIdle:
+    case EPEStateConferenceIdle:   
+    break;
+    
+    default:
+    break;
+    }
+    
+    return state;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phonenotecontroller.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,352 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Handles phone notes.
+*/
+
+#include "phonenotecontroller.h"
+#include "tphonecmdparamglobalnote.h"
+#include "tphonecmdparamquery.h"
+#include "phoneresourceadapter.h"
+#include <QtDebug>
+#include <QSignalMapper>
+#include <QTimer>
+#include <hbdevicemessagebox.h>
+#include <hbdeviceprogressdialog.h>
+#include <hbmessagebox.h>
+#include <hbprogressnote.h>
+#include <hbaction.h>
+#include <phoneappcommands.hrh>
+  
+PhoneNoteController::PhoneNoteController(QObject *parent) : 
+    QObject(parent), m_timer(0), m_progressDialog(0), m_dtmfNote(0), 
+    m_queryNote(0), m_queryCanceledCommand(-1), m_timeoutCommand(-1)
+{
+    qDebug() << "PhoneNoteController::PhoneNoteController";
+    m_signalMapper = new QSignalMapper(this);
+    connect(m_signalMapper, SIGNAL(mapped(int)), this, SIGNAL(command (int)));
+}
+
+PhoneNoteController::~PhoneNoteController()
+{
+    qDebug() << "PhoneNoteController::~PhoneNoteController";
+    if (m_timer) {
+        delete m_timer;
+    }
+}
+
+void PhoneNoteController::showGlobalNote(TPhoneCommandParam *commandParam)
+{
+    qDebug() << "PhoneNoteController::showGlobalNote";
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdGlobalNote);
+
+    TPhoneCmdParamGlobalNote* globalNoteParam = 
+        static_cast<TPhoneCmdParamGlobalNote*>( commandParam );
+    
+        
+    HbMessageBox::MessageBoxType type;
+    
+    switch( globalNoteParam->Type() ) {
+    case EAknGlobalInformationNote:
+        type = HbMessageBox::MessageTypeInformation;
+        break;
+    case EAknGlobalWarningNote:
+    default:
+        type = HbMessageBox::MessageTypeWarning;
+        break;
+    }
+    
+    QString noteString = globalNoteText(globalNoteParam);
+    
+    if (false == noteString.isNull()) {
+        if (globalNoteParam->WaitForReady()) {
+            HbDeviceMessageBox messageBox(noteString, type);
+            messageBox.setTimeout(HbDialog::StandardTimeout);
+            messageBox.exec();
+        } else {    
+            HbDeviceMessageBox *messageBox = new HbDeviceMessageBox(
+                    noteString, type);
+            messageBox->setTimeout(HbDialog::StandardTimeout);
+            m_messageBoxList.append(messageBox);
+            
+            if (1 == m_messageBoxList.size()) {
+                QObject::connect(messageBox, SIGNAL(aboutToClose()), 
+                                 this, SLOT(destroyDialog()));            
+                messageBox->show();
+            }
+        }
+    }
+}
+
+void PhoneNoteController::showNote(TPhoneCommandParam *commandParam)
+{
+    qDebug() << "PhoneNoteController::showNote";
+
+    TPhoneCmdParamNote* noteParam = static_cast<TPhoneCmdParamNote*>(
+            commandParam );
+    
+    if ( noteParam->Type() == EPhoneNoteDtmfSending ) {
+        showDtmfNote(noteParam);
+    }
+        
+}
+
+void PhoneNoteController::showQuery(TPhoneCommandParam *commandParam)
+{
+    qDebug() << "PhoneNoteController::showQuery";
+    TPhoneCmdParamQuery& params = *static_cast<TPhoneCmdParamQuery*>( commandParam );
+
+    if ( EPhoneQueryDialog == params.QueryType() && 
+         params.QueryPrompt().Length() ) {
+        showDefaultQuery(&params);
+       
+    } else if ( EPhoneGlobalWaitNote == params.QueryType() ) {
+        showGlobalWaitNote(&params);
+        
+    }
+
+        
+}
+
+void PhoneNoteController::removeDtmfNote()
+{
+    qDebug() << "PhoneNoteController::removeDtmfNote"; 
+    if (m_dtmfNote) {
+        m_dtmfNote->close();
+    }
+}
+
+void PhoneNoteController::removeNote()
+{
+    qDebug() << "PhoneNoteController::removeNote"; 
+    removeDtmfNote();
+}
+
+void PhoneNoteController::removeQuery()
+{
+    qDebug() << "PhoneNoteController::removeQuery"; 
+    if (m_queryNote) {
+        m_queryNote->close();
+    }
+}
+
+void PhoneNoteController::removeGlobalWaitNote()
+{
+    qDebug() << "PhoneNoteController::removeGlobalWaitNote"; 
+    if (m_timer) {
+        m_timeoutCommand = -1;
+        m_timer->stop();
+    }
+    
+    if (m_progressDialog) {
+        m_queryCanceledCommand = -1;
+        m_progressDialog->cancel();
+    }
+}
+
+void PhoneNoteController::destroyDialog()
+{
+    qDebug() << "PhoneNoteController::destroyDialog"; 
+    HbDeviceMessageBox *messageBox = m_messageBoxList.takeFirst();
+    messageBox->deleteLater();
+    messageBox = 0;
+    
+    if ( 0 < m_messageBoxList.size() ) {
+        qDebug() << "PhoneNoteController::show pending note";
+        HbDeviceMessageBox *messageBoxTemp = m_messageBoxList[0];
+        QObject::connect(messageBoxTemp, SIGNAL(aboutToClose()), 
+                         this, SLOT(destroyDialog()));
+        messageBoxTemp->show();
+    }
+}
+
+void PhoneNoteController::removeMappings()
+{
+    foreach (HbAction *action, m_actions ) {
+        m_signalMapper->removeMappings(action);
+    }
+    m_actions.clear();
+    
+    if (m_dtmfNote) {
+        m_dtmfNote->deleteLater();
+        m_dtmfNote = 0;
+    }
+    if (m_queryNote) {
+        m_queryNote->deleteLater();
+        m_queryNote = 0;
+    }
+    if (m_progressDialog) {
+        m_progressDialog->deleteLater();
+        m_progressDialog = 0;
+    }
+}
+
+void PhoneNoteController::queryCancelled()
+{
+    if (m_timer) {
+        m_timer->stop();
+    }
+    
+    if (m_queryCanceledCommand != -1) {
+        emit command(m_queryCanceledCommand);
+    }
+    m_queryCanceledCommand = -1;
+    m_timeoutCommand = -1;
+}
+
+void PhoneNoteController::queryTimeout()
+{
+    int sendCommand = m_timeoutCommand;
+    if (m_progressDialog) {
+        m_queryCanceledCommand = -1;
+        m_progressDialog->cancel();
+    }
+    if (sendCommand != -1) {        
+        emit command(sendCommand);
+    }
+}
+
+QString PhoneNoteController::globalNoteText(
+        TPhoneCommandParam *commandParam)
+{
+    TPhoneCmdParamGlobalNote* globalNoteParam = 
+        static_cast<TPhoneCmdParamGlobalNote*>( commandParam );
+    
+    QString ret;    
+    
+    if ( globalNoteParam->TextResourceId() && 
+         KErrNone != globalNoteParam->Text().Compare( KNullDesC() ) ) {
+         // resource and text exists
+         ret = PhoneResourceAdapter::Instance()->convertToString(
+                     globalNoteParam->TextResourceId(),
+                     QString::fromUtf16(globalNoteParam->Text().Ptr(), 
+                                     globalNoteParam->Text().Length()) );         
+    } else if ( globalNoteParam->TextResourceId() ) {
+        // resource exists
+        ret = PhoneResourceAdapter::Instance()->convertToString(
+                    globalNoteParam->TextResourceId());
+
+    } else if ( KErrNone != globalNoteParam->Text().Compare( KNullDesC() ) ) {
+        // text exists
+        ret = QString::fromUtf16(globalNoteParam->Text().Ptr(), 
+                globalNoteParam->Text().Length());
+    }
+    
+    return ret;
+}
+
+void PhoneNoteController::showDtmfNote(TPhoneCmdParamNote* noteParam)
+{    
+    if (m_dtmfNote) {
+        m_dtmfNote->setText( QString::fromUtf16(noteParam->Text().Ptr(), 
+                noteParam->Text().Length()) );
+        m_dtmfNote->update();
+    } else {
+        QList<HbAction*> hbactions = PhoneResourceAdapter::Instance()->
+            convertToHbActions(noteParam->ResourceId());
+        
+        if (hbactions.count() > 0) {
+            m_dtmfNote = new HbProgressNote(HbProgressNote::ProgressNote);
+            m_dtmfNote->setText( QString::fromUtf16(noteParam->Text().Ptr(), 
+                    noteParam->Text().Length()) ); 
+                  
+            connect(hbactions.at(0), SIGNAL(triggered()), m_signalMapper, SLOT(map()));
+            m_dtmfNote->setPrimaryAction(hbactions.at(0));
+            m_signalMapper->setMapping(hbactions.at(0), hbactions.at(0)->data().toInt());
+            
+            QObject::connect(m_dtmfNote, SIGNAL(aboutToClose()), 
+                             this, SLOT(removeMappings())); 
+            
+            m_actions.append(hbactions.at(0));
+      
+            m_dtmfNote->show();
+        }
+    }
+}
+
+void PhoneNoteController::showDefaultQuery(TPhoneCmdParamQuery* params)
+{    
+    if (!m_queryNote) {
+        QList<HbAction*> hbactions = PhoneResourceAdapter::Instance()->
+            convertToHbActions(params->QueryResourceId());
+        
+        if (hbactions.count() > 0) {
+            m_queryNote = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+            m_queryNote->setTimeout(HbPopup::NoTimeout);
+            m_queryNote->setDismissPolicy(HbPopup::NoDismiss);
+            m_queryNote->setText(QString::fromUtf16(params->QueryPrompt().Ptr(), 
+                    params->QueryPrompt().Length()));
+            
+            QObject::connect(m_queryNote, SIGNAL(aboutToClose()), 
+                             this, SLOT(removeMappings())); 
+                            
+            for (int i = 0; i < hbactions.count(); ++i) {
+                connect(hbactions.at(i), SIGNAL(triggered()), m_signalMapper, SLOT(map()));
+                m_signalMapper->setMapping(hbactions.at(i), hbactions.at(i)->data().toInt());
+                m_actions.append(hbactions.at(i));
+            }
+            
+            if (hbactions.count() == 1) {
+                m_queryNote->setPrimaryAction(hbactions.at(0));
+            } else if (hbactions.count() > 1) {
+                m_queryNote->setPrimaryAction(hbactions.at(0));
+                m_queryNote->setSecondaryAction(hbactions.at(1));
+            }
+            
+            m_queryNote->show();
+        }
+    }
+}
+
+void PhoneNoteController::showGlobalWaitNote(TPhoneCmdParamQuery* params)
+{    
+    if (!m_progressDialog) {        
+        m_queryCanceledCommand = params->CbaCommandMapping(EAknSoftkeyCancel);
+
+        m_progressDialog = new HbDeviceProgressDialog(HbProgressNote::WaitNote);
+        
+        if (params->QueryPrompt().Length()) {
+            m_progressDialog->setText(QString::fromUtf16(params->QueryPrompt().Ptr(), 
+                    params->QueryPrompt().Length()));
+        } else if (0 != params->DataText()) {
+            m_progressDialog->setText(QString::fromUtf16(params->DataText()->Ptr(), 
+                    params->DataText()->Length()));
+        }
+        
+        QObject::connect(m_progressDialog, SIGNAL(aboutToClose()), 
+                         this, SLOT(removeMappings())); 
+        
+        QObject::connect(m_progressDialog, SIGNAL(cancelled()), 
+                         this, SLOT(queryCancelled())); 
+        
+        if (params->TimeOut() != 0) {
+            if (!m_timer) {
+                m_timer = new QTimer();
+                m_timer->setSingleShot(true);
+                connect(m_timer, SIGNAL(timeout()), SLOT(queryTimeout()));
+            }           
+            
+            m_timeoutCommand = -1;
+            int customCommand;
+            if (-1 != params->GetCustomCommandForTimeOut(customCommand)) {
+                m_timeoutCommand = customCommand;
+            }
+            
+            m_timer->start(params->TimeOut());
+        }
+        
+        m_progressDialog->show();
+    }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneresourceadapter.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,608 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Converts Symbian resources to PhoneAction objects.
+*/
+
+#include "phoneresourceadapter.h"
+#include "phoneresourceids.h"
+#include "phoneui.hrh"
+#include "phoneuiqtbuttonscontroller.h"
+#include <phoneappvoipcommands.hrh>
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include <QtDebug>
+#include <QVariant>
+#include <hbaction.h>
+
+PhoneResourceAdapter *pinstance = 0;// initialize pointer
+
+PhoneResourceAdapter* PhoneResourceAdapter::Instance (QObject *parent) 
+{
+    if (pinstance == 0)  // is it the first call?
+    {  
+        pinstance = new PhoneResourceAdapter (parent); // create sole instance
+    }
+    return pinstance; // address of sole instance
+}
+  
+PhoneResourceAdapter::PhoneResourceAdapter (QObject *parent) : QObject (parent)
+{
+    m_buttonsCtrl = new PhoneUIQtButtonsController();
+    
+}
+
+PhoneResourceAdapter::~PhoneResourceAdapter ()
+{
+    delete m_buttonsCtrl;
+}
+
+PhoneUIQtButtonsController* PhoneResourceAdapter::buttonsController ()
+{
+    PhoneUIQtButtonsController* retValue = 0;
+    
+    if (m_buttonsCtrl) 
+        {
+        retValue = m_buttonsCtrl;
+        }
+    
+    return retValue;
+}
+
+QMap<PhoneAction::ActionType, PhoneAction *> PhoneResourceAdapter::convert (int symbianResourceId, ...)
+{
+    QMap<PhoneAction::ActionType, PhoneAction *> translatedActions;
+    
+    switch (symbianResourceId) {
+    case R_PHONEUI_INCOMING_CALL_BUTTONS:
+    case R_PHONEUI_WAITING_CALL_BUTTONS:        
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setText (hbTrId("txt_common_button_answer"));
+        leftButton->setIcon (HbIcon(":/pri_large_button_answer.svg"));
+        leftButton->setCommand (EPhoneCallComingCmdAnswer);
+        translatedActions [PhoneAction::LeftButton] = leftButton;
+        
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setText (hbTrId("txt_common_button_reject"));
+        rightButton->setIcon (HbIcon(":/qtg_large_button_reject.svg"));
+        rightButton->setCommand (EPhoneCallComingCmdReject);
+        translatedActions [PhoneAction::RightButton] = rightButton;
+        }
+        break;
+        
+    case R_PHONEUI_CALL_SETUP_BUTTONS:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setText (hbTrId("txt_phone_button_end_call"));
+        leftButton->setIcon (HbIcon(":/pri_large_button_endcall.svg"));
+        leftButton->setCommand (EPhoneInCallCmdEndThisOutgoingCall);
+        translatedActions [PhoneAction::LeftButton] = leftButton;
+        }
+        break;
+
+    case R_PHONEUI_INCALL_BUTTONS:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setText (hbTrId("txt_phone_button_hold"));
+        leftButton->setIcon (HbIcon(":/qtg_large_button_hold.svg"));
+        leftButton->setCommand (EPhoneInCallCmdHold);
+        translatedActions [PhoneAction::LeftButton] = leftButton;
+
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setText (hbTrId("txt_phone_button_end_call"));
+        rightButton->setIcon (HbIcon(":/pri_large_button_endcall.svg"));
+        rightButton->setCommand (EPhoneInCallCmdEndThisActiveCall);
+        translatedActions [PhoneAction::RightButton] = rightButton;
+        }
+        break;
+        
+    case R_PHONEUI_INCALL_HELD_BUTTONS:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setText (hbTrId("txt_phone_button_unhold"));
+        leftButton->setIcon (HbIcon(":/qtg_large_button_onhold.svg"));
+        leftButton->setCommand (EPhoneInCallCmdUnhold);
+        translatedActions [PhoneAction::LeftButton] = leftButton;
+
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setText (hbTrId("txt_phone_button_end_call"));
+        rightButton->setIcon (HbIcon(":/pri_large_button_endcall.svg"));
+        rightButton->setCommand (EPhoneInCallCmdEndThisActiveCall);
+        translatedActions [PhoneAction::RightButton] = rightButton;
+        }
+        break;
+
+    case R_PHONEUI_TWO_SINGLES_BUTTONS:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setText (hbTrId("txt_phone_button_swap"));
+        leftButton->setIcon (HbIcon(":/qgn_indi_button_swap.svg"));
+        leftButton->setCommand (EPhoneInCallCmdSwap);
+        translatedActions [PhoneAction::LeftButton] = leftButton;
+
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setText (hbTrId("txt_phone_button_end_call"));
+        rightButton->setIcon (HbIcon(":/pri_large_button_endcall.svg"));
+        rightButton->setCommand (EPhoneInCallCmdEndThisActiveCall);
+        translatedActions [PhoneAction::RightButton] = rightButton;                        
+        }
+        break;
+    
+    case R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setIcon (HbIcon(":/qtg_large_comp_message.svg"));
+        translatedActions [PhoneAction::ToolbarButton1] = leftButton;       
+        
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setIcon (HbIcon(":/qtg_large_tb_silence.svg"));
+        rightButton->setCommand (EPhoneCallComingCmdSilent);
+        translatedActions [PhoneAction::ToolbarButton2] = rightButton;            
+        }
+        break;
+
+    case R_PHONEUI_CALLHANDLING_INCOMINGCALL_REJECT_CBA:
+    case R_PHONEUI_CALLHANDLING_INCOMINGCALL_SOFT_REJECT_CBA:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setIcon (HbIcon(":/qtg_large_comp_message.svg"));
+        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
+        
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setIcon (HbIcon(":/qtg_large_tb_silence.svg"));
+        rightButton->setDisabled(true);
+        translatedActions [PhoneAction::ToolbarButton2] = rightButton;        
+        }
+        break;
+        
+    case R_PHONEUI_CALLHANDLING_CALLWAITING_CBA:        
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setIcon (HbIcon(":/qtg_large_comp_message.svg"));
+        translatedActions [PhoneAction::ToolbarButton1] = leftButton;       
+        
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setIcon (HbIcon(":/qtg_large_tb_join.svg"));
+        rightButton->setCommand (EPhoneInCallCmdJoin);
+        translatedActions [PhoneAction::ToolbarButton2] = rightButton;            
+        }
+        break;        
+        
+    case R_PHONEUI_DIALER_CBA:
+    case R_PHONEUI_INCALL_DIALER_CBA:
+    case R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA:
+    case R_PHONEUI_CALLHANDLING_INCALL_UNHOLD_CBA:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setIcon (HbIcon(":/qtg_large_tb_dialler.svg"));
+        leftButton->setCommand(EPhoneInCallCmdDialer);
+        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
+        
+        PhoneAction *centerButton = new PhoneAction;
+        centerButton->setIcon (HbIcon(":/qtg_large_tb_mute.svg"));
+        centerButton->setCommand (EPhoneInCallCmdMute);
+        translatedActions [PhoneAction::ToolbarButton2] = centerButton;        
+
+        PhoneAction *centerButton2 = new PhoneAction;
+        if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf))
+            {
+            centerButton2->setIcon (HbIcon(":/qtg_large_tb_loudsp_unmute.svg"));
+            centerButton2->setCommand (EPhoneInCallCmdActivateIhf);
+            }
+        else
+            {
+            centerButton2->setIcon (HbIcon(":/qtg_large_tb_loudsp_mute.svg"));
+            centerButton2->setCommand (EPhoneInCallCmdDeactivateIhf);
+            }
+        translatedActions [PhoneAction::ToolbarButton3] = centerButton2; 
+        
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setIcon(HbIcon(":/qtg_large_tb_contacts.svg"));
+        rightButton->setDisabled( 
+                (symbianResourceId==
+                 R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA));
+        
+        translatedActions[PhoneAction::ToolbarButton4] = rightButton;
+        }
+        break;
+        
+    case R_PHONEUI_CALLHANDLING_EMERGENCY_CBA:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setIcon (HbIcon(":/qtg_large_tb_dialler.svg"));
+        leftButton->setCommand(EPhoneInCallCmdDialer);
+        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
+        
+        PhoneAction *rightButton = new PhoneAction;
+        if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf))
+            {
+            rightButton->setIcon (HbIcon(":/qtg_large_tb_loudsp_unmute.svg"));
+            rightButton->setCommand (EPhoneInCallCmdActivateIhf);
+            }
+        else
+            {
+            rightButton->setIcon (HbIcon(":/qtg_large_tb_loudsp_mute.svg"));
+            rightButton->setCommand (EPhoneInCallCmdDeactivateIhf);
+            }
+        translatedActions [PhoneAction::ToolbarButton2] = rightButton;                    
+        }
+        break;
+        
+    case R_PHONEUI_CALLHANDLING_INCALL_UNMUTE_CBA:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setIcon (HbIcon(":/qtg_large_tb_dialler.svg"));
+        leftButton->setCommand(EPhoneInCallCmdDialer);
+        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
+        
+        PhoneAction *centerButton = new PhoneAction;
+        centerButton->setIcon (HbIcon(":/qtg_large_tb_unmute.svg"));
+        centerButton->setCommand (EPhoneInCallCmdUnmute);
+        translatedActions [PhoneAction::ToolbarButton2] = centerButton;        
+
+        PhoneAction *centerButton2 = new PhoneAction;
+        if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf))
+            {
+            centerButton2->setIcon (HbIcon(":/qtg_large_tb_loudsp_unmute.svg"));
+            centerButton2->setCommand (EPhoneInCallCmdActivateIhf);
+            }
+        else
+            {
+            centerButton2->setIcon (HbIcon(":/qtg_large_tb_loudsp_mute.svg"));
+            centerButton2->setCommand (EPhoneInCallCmdDeactivateIhf);
+            }
+        translatedActions [PhoneAction::ToolbarButton3] = centerButton2;     
+        
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setIcon(HbIcon(":/qtg_large_tb_contacts.svg"));
+        translatedActions[PhoneAction::ToolbarButton4] = rightButton;   
+        }
+        break;
+        
+    case R_PHONEUI_CALLHANDLING_INCALL_HANDSET_CBA:
+        {
+        PhoneAction *leftButton = new PhoneAction;
+        leftButton->setIcon (HbIcon(":/qtg_large_tb_dialler.svg"));
+        leftButton->setCommand(EPhoneInCallCmdDialer);
+        translatedActions [PhoneAction::ToolbarButton1] = leftButton;
+        
+        PhoneAction *centerButton1 = new PhoneAction;
+        if (!m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold))
+            {
+            centerButton1->setIcon (HbIcon(":/qtg_large_tb_mute.svg"));
+            centerButton1->setCommand (EPhoneInCallCmdMute);
+            }
+        else
+            {
+            centerButton1->setIcon (HbIcon(":/qtg_large_tb_unmute.svg"));
+            centerButton1->setCommand (EPhoneInCallCmdUnmute);
+            }
+        translatedActions [PhoneAction::ToolbarButton2] = centerButton1;
+
+        PhoneAction *centerButton2 = new PhoneAction;
+        centerButton2->setIcon (HbIcon(":/qtg_large_tb_loudsp_mute.svg"));
+        centerButton2->setCommand (EPhoneInCallCmdDeactivateIhf);
+        translatedActions [PhoneAction::ToolbarButton3] = centerButton2;
+        
+        PhoneAction *rightButton = new PhoneAction;
+        rightButton->setIcon(HbIcon(":/qtg_large_tb_contacts.svg"));
+        translatedActions[PhoneAction::ToolbarButton4] = rightButton;
+        }
+        break;
+
+    case R_PHONEUI_MTCAL_INCOMING_CALL:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("calling"));
+        translatedActions [PhoneAction::Text] = text;
+        }
+        break;
+        
+    case R_PHONEUI_INCALL_CALL_DISCONNECTED:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("disconnected"));
+        translatedActions [PhoneAction::Text] = text;
+        }
+        break;      
+        
+    case R_PHONEUI_INCALL_CALL_HELD:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("txt_phone_other_on_hold"));
+        translatedActions [PhoneAction::Text] = text;    
+        break;
+        }
+
+    case R_PHONEUI_MULTC_WAITING:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("txt_phone_other_waiting"));
+        translatedActions [PhoneAction::Text] = text;
+        }
+        break; 
+
+    case R_PHONEUI_INCALL_CALL_NUMBER:
+        {
+        PhoneAction *text = new PhoneAction;
+        VA_LIST list;
+        VA_START (list, symbianResourceId);
+        int intValue = VA_ARG (list, int);
+        text->setText (hbTrId("txt_phone_other_call_ln").arg (intValue));
+        translatedActions [PhoneAction::Text] = text;
+        VA_END (list);
+        }
+        break;
+        
+    case R_PHONEUI_TIME_DURAT_LONG_WITH_ZERO:
+        {
+        PhoneAction *text = new PhoneAction;
+        // Symbian modifier used here: %:0%H%:1%T%:2%S%:3
+        // This is because this text is used by Symbian localization
+        // for formatting later on.
+        text->setText ("%:0%H%:1%T%:2%S%:3");
+        translatedActions [PhoneAction::Text] = text;
+        break;
+        }
+        
+    case R_PHONEUI_OUT_GOING_CALL:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("txt_phone_other_calling"));
+        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_CALL:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("txt_common_button_call")); //Call
+        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(":/pri_large_button_endcall.svg"));
+        button->setCommand (EPhoneCmdEnd);
+        translatedActions [PhoneAction::LeftButton] = button;
+        }
+        break;
+        
+    case R_PHONEUI_ATTEMPTING_EMERGENCY_CALL_TEXT:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("txt_phone_other_attempting"));
+        translatedActions [PhoneAction::Text] = text;            
+        }
+        break;
+
+    case R_PHONEUI_CONFERENCE_CALL:
+        {
+        PhoneAction *text = new PhoneAction;
+        text->setText (hbTrId("txt_phone_other_conference_call"));
+        translatedActions [PhoneAction::Text] = text; 
+        }
+        break;
+    case R_PHONEUI_SENDING_DTMF_WAIT_NOTE_TEXT:
+        {
+        PhoneAction *text = new PhoneAction;
+        VA_LIST list;
+        VA_START (list, symbianResourceId);
+        const TDesC *string = (TDesC*)VA_ARG(list, TDesC*);
+        text->setText (hbTrId("Sending:\n%1").arg(QString::fromUtf16(string->Ptr(), 
+                string->Length())));
+        translatedActions [PhoneAction::Text] = text;
+        VA_END (list);
+        }
+        break;
+    case R_PHONEUI_DTMF_WAIT_CHARACTER_CONFIRMATION_QUERY_TEXT:
+        {
+        PhoneAction *text = new PhoneAction;
+        VA_LIST list;
+        VA_START (list, symbianResourceId);
+        const TDesC *string = (TDesC*)VA_ARG(list, TDesC*);
+        text->setText (hbTrId("Send string:\n%1").arg(QString::fromUtf16(string->Ptr(), 
+                string->Length())));
+        translatedActions [PhoneAction::Text] = text;
+        VA_END (list);
+        }
+        break;
+
+    default:
+        break;
+    }
+    
+    return translatedActions;
+}
+
+QString PhoneResourceAdapter::convertToString(int symbianResourceId) const
+{
+    QString ret;
+    
+    switch (symbianResourceId) {
+        case R_PHONE_ERROR_CALL_NOT_ALLOWED:
+            {
+            ret = hbTrId("Call not allowed");      
+            }
+            break;
+            
+        case R_ERROR_NOTE_NOT_ALLOWED:
+            {
+            ret =  hbTrId("Not allowed");  
+            }
+            break;
+            
+        case R_NOTETEXT_INVALID_PHONENUMBER:
+            {
+            ret = hbTrId("Invalid phone number"); 
+            }
+            break;
+            
+        case R_NOTETEXT_NO_ANSWER:
+            {
+            ret = hbTrId("No answer"); 
+            }
+            break;
+        
+        case R_PHONE_ERROR_NUMBER_BUSY:
+            {
+            ret = hbTrId("Number busy"); 
+            }
+            break;
+            
+        case R_PHONE_SS_NOTIFICATION_MOCAL_WAITING_TEXT:
+            {
+            ret = hbTrId("txt_phone_other_waiting");
+            }
+            break;
+            
+        case R_PHONE_SS_NOTIFICATION_INCAL_INFO_HOLD_TEXT:
+            {
+            ret = hbTrId("txt_phone_other_on_hold");
+            }
+            break;
+            
+        case R_INCAL_INFO_HOLD_TEXT:
+            {
+            ret = hbTrId("txt_phone_other_on_hold");
+            }
+            break;
+            
+        case R_INCAL_REMOTE_ACTIVE_TEXT:
+            {
+            ret = hbTrId("Connected");
+            }
+            break;
+            
+        case R_INCAL_INFO_CONF_HOLD_TEXT:
+            {
+            ret = hbTrId("Conference on hold");
+            }
+            break;
+        case R_PHONE_INCALL_INFO_NO_NETWORK_SUPPORT:
+            {
+            ret = hbTrId("No network support for video call");
+            }
+            break;
+        default:
+            break;
+    }
+
+    return ret;
+}
+
+QString PhoneResourceAdapter::convertToString(
+        int symbianResourceId, const QString &text) const
+{
+    QString ret;
+    
+    switch (symbianResourceId) {
+
+        case R_PHONE_TEXT_COLP_CONNECTED:
+            {
+            ret = hbTrId("Connected to %1").arg(text);
+            }
+            break;
+        default:
+            break;
+    }
+
+    return ret;
+}
+
+int PhoneResourceAdapter::defaultToolbarResourceId() const
+{
+    return R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA;
+}
+
+QString PhoneResourceAdapter::convertCommandToString(
+        int symbianCommandId ) const
+{
+    QString ret;
+    
+    switch(symbianCommandId) {
+    case EPhoneInCallCmdEndAllCalls:
+        ret = hbTrId("txt_phone_opt_end_all_calls");
+        break;     
+    case EPhoneInCallCmdTransfer:
+        ret = hbTrId("txt_phone_opt_transfer");
+        break;    
+    case EPhoneInCallCmdSwitchToVideo:
+        ret = hbTrId("Call back with video call");
+        break;  
+    case EPhoneCmdHandoverToWlan:
+        ret = hbTrId("Handover to WLAN");
+        break;  
+    case EPhoneCmdHandoverToGsm:
+        ret = hbTrId("Handover to GSM");
+        break;  
+        
+    // TODO
+    default:
+        break;
+    }
+
+    return ret;
+}
+
+QList<HbAction*> PhoneResourceAdapter::convertToHbActions(
+        int symbianResourceId ) const
+{
+    QList<HbAction*> ret;
+    
+    switch(symbianResourceId) {
+        case R_PHONEUI_DTMF_WAIT_CHARACTER_CONFIRMATION_QUERY:
+            {
+            HbAction *leftButton = new HbAction(hbTrId("txt_common_button_send"));
+            leftButton->setData(QVariant(EPhoneInCallCmdContinueSendingDtmfString));
+            ret.append(leftButton);
+    
+            HbAction *rightButton = new HbAction(hbTrId("txt_common_button_cancel"));
+            rightButton->setData(QVariant(EPhoneInCallCmdCancelSendingDtmfString));
+            ret.append(rightButton);
+            }
+            break;
+        case R_PHONEUI_SENDING_DTMF_WAIT_NOTE:
+            {     
+            HbAction *button = new HbAction(hbTrId("txt_common_button_cancel"));
+            button->setData(QVariant(EPhoneInCallCmdCancelSendingDtmfString));
+            ret.append(button); 
+            }
+            break;
+        default:
+            break;
+    }
+
+    return ret;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneuicommandcontroller.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,484 @@
+/*!
+* 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:  Handles phone ui commands.
+*/
+
+#include "phoneuicommandcontroller.h"
+#include "phoneresourceadapter.h"
+#include <QtDebug>
+#include <hbaction.h>
+#include <spsettings.h>
+#include <spentry.h>
+#include <spproperty.h>
+#include <xqphoneappcommands.h>
+#include <phoneappcommands.hrh>
+#include <phoneappvoipcommands.hrh>
+#include <pevirtualengine.h>
+#include <xqteluicommandextension.h>
+
+  
+PhoneUiCommandController::PhoneUiCommandController(
+        PhoneUIQtViewIF &view, QObject *parent) 
+: QObject (parent), m_view(view), m_lastCommandExtension(0)
+{
+    qDebug() << "PhoneMenuController::PhoneMenuController";
+}
+
+PhoneUiCommandController::~PhoneUiCommandController()
+{
+    qDebug() << "PhoneMenuController::~PhoneMenuController";
+    for (int i=0;i<m_commandExtensions.count();++i) {
+        m_commandExtensions.at(i)->release();
+    }
+}
+
+void PhoneUiCommandController::setCallMenuActions(
+        QMap<int,int> callStates, QMap<int,int> serviceIds, 
+        int serviceId, int expandedCallId )
+{
+    qDebug() << "PhoneMenuController::setCallMenuActions";
+    releaseMenu();
+    
+    PhoneCommandExtensionWrapper *extension = commandExtension(serviceId);
+    QList<int> menuCmdList = menuCommands(callStates, serviceIds);
+    
+    if (extension) {
+        QList<XQTelUiCommandExtension::CallInfo> callInfo;
+        extension->getCallInfoList(
+                callInfo,callStates,serviceIds,expandedCallId);
+        
+        //Modify command list by extension
+        extension->modifyMenuCommandList(callInfo,menuCmdList);
+        addMenuItems(menuCmdList);
+        
+        extension->addMenuActions(callInfo,m_customMenuActions);        
+        for (int i=0;i<m_customMenuActions.count();++i) {
+            m_view.menuReference().addAction(m_customMenuActions.at(i));
+        }
+    } else {
+        addMenuItems(menuCmdList);
+    }
+        
+    
+}
+
+void PhoneUiCommandController::setDialpadMenuActions()
+{
+    qDebug() << "PhoneMenuController::setDialpadMenuActions";
+    releaseMenu();
+    QList<PhoneAction*> values;
+    m_view.setMenuActions(values);
+    qDeleteAll(values);
+}
+
+QMap<PhoneAction::ActionType, PhoneAction *> 
+    PhoneUiCommandController::pushButtonActionsForCall( 
+        int callState,
+        bool emergencyCall,
+        QMap<int,int> callStates,
+        QMap<int,int> serviceIds,
+        int serviceId,
+        int callId)
+{
+    QMap<PhoneAction::ActionType, PhoneAction *> translatedActions;
+    bool sameServices = areServicesSame(callStates, serviceIds);
+    QList<int> commands = buttonCommandList(
+            callState, emergencyCall, sameServices, callStates.values());
+
+    PhoneCommandExtensionWrapper *extension = commandExtension(serviceId);
+    
+    if (extension) {
+        QList<XQTelUiCommandExtension::CallInfo> callInfo;
+        extension->getCallInfoList(
+                callInfo,callStates,serviceIds,callId);
+        
+        //Modify command list by extension
+        extension->modifyPushButtonCommandList(callInfo,commands);
+    }
+    
+    if (1 == commands.count()) {
+        PhoneAction *action = mapCommandToAction(commands.at(0));
+        if (action) {
+            translatedActions[PhoneAction::LeftButton] = action;
+        }
+    } else if (1 < commands.count()){
+        PhoneAction *action = mapCommandToAction(commands.at(0));
+        PhoneAction *action2 = mapCommandToAction(commands.at(1));
+        if (action) {
+            translatedActions[PhoneAction::LeftButton] = action;
+        }
+        if (action2) {
+            translatedActions[PhoneAction::RightButton] = action2;
+        }
+    }
+    
+    return translatedActions;
+}
+
+QList<int> PhoneUiCommandController::menuCommands(
+        QMap<int,int> callStates, QMap<int,int> serviceIds )
+{
+    qDebug() << "PhoneMenuController::menuCommands";
+    QList<int> commands;
+    bool sameServices = areServicesSame(callStates,serviceIds);
+
+    switch(callStates.values().count()) {
+    case 1:
+        // No logical string for switch to video option	
+        /*if (callStates.values().contains(EPEStateConnected)) {
+            commands.append(PhoneInCallCmdSwitchToVideo);
+        }*/
+        break;
+    case 2:
+        if (callStates.values().contains(EPEStateConnected) &&
+            callStates.values().contains(EPEStateHeld)) {
+            commands.append(PhoneInCallCmdEndAllCalls);
+            if (sameServices) {
+                commands.append(PhoneInCallCmdTransfer);
+            }
+        }
+        break;
+    case 3:
+
+        break;
+    default:
+        break;
+    }
+    
+    return commands;
+}
+
+void PhoneUiCommandController::addMenuItems(QList<int> menuCmdList)
+{
+    QList<PhoneAction*> values;
+    
+    for (int i=0;i<menuCmdList.count();++i) {
+        int command = mapCommand(menuCmdList.at(i));
+        if (-1 != command) {
+            PhoneAction* phoneAction = new PhoneAction();
+            phoneAction->setCommand(command);
+            phoneAction->setText(
+                    PhoneResourceAdapter::Instance()->
+                        convertCommandToString(command));
+            
+            values.append(phoneAction);
+        }
+    }
+    
+    m_view.setMenuActions(values);
+    qDeleteAll(values);
+}
+
+int PhoneUiCommandController::mapCommand(int command)
+{
+    int ret(-1);
+    
+    switch(command) {
+    case PhoneInCallCmdEndAllCalls:
+        ret = EPhoneInCallCmdEndAllCalls;
+        break;     
+    case PhoneInCallCmdTransfer:
+        ret = EPhoneInCallCmdTransfer;
+        break;    
+    case PhoneInCallCmdSwitchToVideo:
+        ret = EPhoneInCallCmdSwitchToVideo;
+        break;  
+    case PhoneInCallCmdSendMessage:
+        //TODO
+        break;    
+    case PhoneInCallShareVideo:
+        //TODO
+        break;
+    case PhoneInCallCmdHandoverToWlan:
+        ret = EPhoneCmdHandoverToWlan;
+        break;
+    case PhoneInCallCmdHandoverToGsm:
+        ret = EPhoneCmdHandoverToGsm;
+        break;
+    default:
+        break;
+    }
+    
+    return ret;
+}
+
+PhoneCommandExtensionWrapper *PhoneUiCommandController::commandExtension(
+        int serviceId)
+{
+    PhoneCommandExtensionWrapper *extension = 0;
+    TRAP_IGNORE( extension = CommandExtensionL(serviceId) );
+    return extension;
+}
+
+TUid PhoneUiCommandController::ResolveImplementationUidL( 
+        TUint32 aServiceId, TServicePropertyName aPropertyName )
+    {
+    TUid implUid = { 0 };
+    CSPEntry* entry = CSPEntry::NewLC();
+
+    CSPSettings* spSettings = CSPSettings::NewLC(); 
+    
+    User::LeaveIfError(
+        spSettings->FindEntryL( aServiceId, *entry ) ); 
+
+    CleanupStack::PopAndDestroy( spSettings ); 
+
+    const CSPProperty* property = NULL;
+    User::LeaveIfError( entry->GetProperty( property, aPropertyName ) );
+    
+    if ( property ) 
+        {
+        TInt temp(0);
+        User::LeaveIfError( property->GetValue( temp ) );
+        implUid.iUid = temp;
+        }
+
+    CleanupStack::PopAndDestroy( entry );
+    return implUid;   
+    }
+
+PhoneCommandExtensionWrapper 
+    *PhoneUiCommandController::CommandExtensionL( TUint aServiceId )
+{
+    TUid pluginUid = ResolveImplementationUidL( aServiceId, 
+        EPropertyCallMenuHandlerPluginId );
+    
+    int pluginInd(-1);
+    PhoneCommandExtensionWrapper* wrapper = NULL;
+    
+    for (int i=0; i<m_commandExtensions.count();++i) {
+        if (pluginUid.iUid==m_commandExtensions.at(i)->pluginUid()) {
+            pluginInd = i;
+            break;
+        }
+    }
+    
+    if ( -1 == pluginInd )
+        {
+        wrapper = new PhoneCommandExtensionWrapper( pluginUid.iUid );
+        if (wrapper)
+            m_commandExtensions.append( wrapper );
+        }
+    else
+        {
+        wrapper = m_commandExtensions[pluginInd];
+        }
+    
+    m_lastCommandExtension = wrapper;
+    return wrapper;
+}
+
+void PhoneUiCommandController::releaseMenu()
+{
+    qDebug() << "PhoneMenuController::setDialpadMenuActions";
+    for (int i=0;i<m_customMenuActions.count();i++) {
+        m_view.menuReference().removeAction(m_customMenuActions.at(i));
+    }
+    m_customMenuActions.clear();
+    
+    if (m_lastCommandExtension) {
+        m_lastCommandExtension->releaseMenu();
+        m_lastCommandExtension = 0;
+    }
+}
+
+bool PhoneUiCommandController::areServicesSame(
+        QMap<int,int> callStates, QMap<int,int> serviceIds)
+{
+    bool ret(true);
+    int serviceId(-1);
+    for(int i=0;i<callStates.count()&&ret;++i) {
+        if (-1==serviceId) {
+            serviceId = serviceIds.value(callStates.keys().at(i));
+        } else if (serviceId!=serviceIds.value(callStates.keys().at(i))) {
+            ret = false;
+        }
+    }
+    
+    return ret;
+}
+
+QList<int> PhoneUiCommandController::buttonCommandList(
+        int callState,
+        bool emergencyCall,
+        bool sameServices,
+        QList<int> callStates)
+{
+    QList<int> ret;
+    
+    switch( callState ) {
+    case EPEStateIdle:
+    case EPEStateDisconnecting:
+    case EPEStateConferenceIdle:    
+    break;
+    
+    case EPEStateDialing:
+    case EPEStateConnecting: {
+        ret.append(PhoneInCallCmdEndOutgoingCall);  
+    }
+    break;
+    case EPEStateRinging: {
+        if (callStates.size()<3){
+            ret.append(PhoneInCallCmdAnswer);
+            ret.append(PhoneInCallCmdReject); 
+        } else {
+            ret.append(PhoneInCallCmdReplace); 
+        }
+    }
+    break;
+    
+    case EPEStateConnected:
+    case EPEStateConnectedConference: {
+        if (!emergencyCall) {
+            if ( 1 == callStates.size() || 
+                 (2 == callStates.size() && 
+                  callStates.contains(EPEStateRinging)) ) {
+                ret.append(PhoneInCallCmdHold);
+            } else {
+                
+                if (EPEStateConnectedConference == callState) {
+                    ret.append(PhoneInCallCmdSwap);
+                } else if (sameServices) {
+                    if ( callStates.contains(EPEStateHeldConference) ) {
+                        ret.append(PhoneInCallCmdJoinToConference);                  
+                    } else {
+                        ret.append(PhoneInCallCmdCreateConference);
+                    }
+                }
+            }            
+        }
+        
+        ret.append(PhoneInCallCmdEndActive); 
+    }
+    break;
+    
+    case EPEStateHeld:
+    case EPEStateHeldConference: {
+        if (1 == callStates.size() || 
+            (2 == callStates.size() && 
+             callStates.contains(EPEStateRinging))) {
+             
+            ret.append(PhoneInCallCmdUnhold);
+        } else {
+            if (EPEStateHeldConference == callState) {
+                ret.append(PhoneInCallCmdSwap);
+            } else if (sameServices) {
+                if ( callStates.contains(EPEStateConnectedConference)) {
+                    ret.append(PhoneInCallCmdJoinToConference);
+                } else {
+                    ret.append(PhoneInCallCmdCreateConference);
+                }
+            }
+        }
+
+        ret.append(PhoneInCallCmdEndActive);
+    }
+    break;
+    
+    case EPEStateUnknown:
+    break;
+    
+    default:
+    break;    
+    }
+    
+    return ret;
+}
+
+PhoneAction *PhoneUiCommandController::mapCommandToAction(int command)
+{
+    PhoneAction *action=0;
+    
+    switch( command ) {
+    case PhoneInCallCmdJoinToConference: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qtg_mono_join_call.svg"));
+        action->setCommand(EPhoneInCallCmdJoin);
+    }
+    break;
+
+    case PhoneInCallCmdCreateConference: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qtg_mono_join_call.svg"));
+        action->setCommand(EPhoneInCallCmdCreateConference);
+    }
+    break;
+        
+    case PhoneInCallCmdAnswer: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qtg_mono_answer_call.svg"));
+        action->setCommand (EPhoneCallComingCmdAnswer);
+        action->setActionRole(PhoneAction::Accept);
+    }
+    break;
+    
+    case PhoneInCallCmdReject: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qtg_mono_reject_call.svg"));
+        action->setCommand (EPhoneCallComingCmdReject);
+        action->setActionRole(PhoneAction::Decline);
+    }
+    break;
+    
+    case PhoneInCallCmdHold: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qtg_mono_hold_call.svg"));
+        action->setCommand(EPhoneInCallCmdHold);
+    }
+    break;
+    
+    case PhoneInCallCmdUnhold: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qtg_mono_answer_call.svg")); // todo icon missing
+        action->setCommand(EPhoneInCallCmdUnhold);
+    }
+    break;
+    
+    case PhoneInCallCmdEndActive: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qtg_mono_end_call.svg"));
+        action->setCommand(EPhoneInCallCmdEndThisActiveCall);
+        action->setActionRole(PhoneAction::Decline);
+    }
+    break;
+    
+    case PhoneInCallCmdEndOutgoingCall: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qtg_mono_end_call.svg"));
+        action->setCommand(EPhoneInCallCmdEndThisOutgoingCall);
+        action->setActionRole(PhoneAction::Decline);
+    }
+    break;
+
+    case PhoneInCallCmdReplace: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qtg_mono_replace_call.svg"));
+        action->setCommand(EPhoneInCallCmdReplace);
+        action->setActionRole(PhoneAction::Accept);
+    }
+    break;
+    
+    case PhoneInCallCmdSwap: {
+        action = new PhoneAction;
+        action->setIcon(HbIcon(":/qgn_indi_button_swap.svg"));
+        action->setCommand(EPhoneInCallCmdSwap); 
+    }
+    break;
+    
+    default:
+    break;
+    }
+            
+    return action;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneuiqtbuttonscontroller.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,41 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "phoneuiqtbuttonscontroller.h"
+#include <QtDebug>
+
+PhoneUIQtButtonsController::PhoneUIQtButtonsController() : m_buttonFlags(0)
+{
+}
+
+PhoneUIQtButtonsController::~PhoneUIQtButtonsController ()
+{
+}
+
+void PhoneUIQtButtonsController::setButtonFlags (PhoneButtonFlags flag,bool set)
+{
+    if (set) 
+        {
+        // Set the flag on (=1)
+        m_buttonFlags |= flag; 
+        }
+    else 
+        {
+        // Set the flag off (=0)
+        m_buttonFlags &= (~flag);     
+        }
+    }
+    
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/phoneuiqtviewadapter.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,997 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "phoneuiqtviewadapter.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 "cphonepubsubproxy.h"
+#include "pevirtualengine.h"
+#include "cphonepubsubproxy.h"
+#include "cphoneringingtonecontroller.h"
+#include "phoneresourceadapter.h"
+#include "phoneui.hrh"
+#include "cphonemediatorfactory.h"
+#include "phoneuiqtbuttonscontroller.h"
+#include "phoneconstants.h"
+#include "phonenotecontroller.h"
+#include "telephonyservice.h"
+#include "phoneuicommandcontroller.h"
+#include <uikoninternalpskeys.h>
+#include <bubblemanagerif.h>
+#include <hbaction.h>
+#include <QtDebug>
+#include <pevirtualengine.h>
+#include <xqservicerequest.h>
+#include <QtGlobal>
+#include <xqserviceutil.h>
+#include <hbinstance.h>
+#include <QKeyEvent>
+
+//CONSTANTS
+static const int PHONE_CALL_NOT_FOUND = -1;
+
+PhoneUIQtViewAdapter::PhoneUIQtViewAdapter (PhoneUIQtViewIF &view, QObject *parent) : 
+    QObject (parent), m_view (view), m_idleUid(-1), m_dialpadAboutToClose(false)
+{
+    m_bubbleWrapper = new PhoneBubbleWrapper(m_view.bubbleManager (), this);
+    m_noteController = new PhoneNoteController(this);
+    m_uiCommandController = new PhoneUiCommandController(view, this);
+
+    TRAPD( error, m_ringingtonecontroller = CPhoneRingingToneController::NewL () );
+    qt_symbian_throwIfError(error);
+    m_resourceAdapter = PhoneResourceAdapter::Instance(this);
+    
+    // display initial toolbar to make client area size correct 
+    TPhoneCmdParamInteger intParam;
+    intParam.SetInteger(m_resourceAdapter->defaultToolbarResourceId());
+    setToolbarButtons(&intParam);
+    
+    m_telephonyService = new TelephonyService (this, this);
+}
+
+PhoneUIQtViewAdapter::~PhoneUIQtViewAdapter ()
+{
+    delete m_ringingtonecontroller;
+}
+
+void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId)
+{
+    switch (aCmdId) {
+    case EPhoneAppShutDown:
+        {
+        m_view.shutdownPhoneApp();
+        }
+        break;
+        
+    case EPhoneViewSetIdleTopApplication:
+        {
+            TPhoneCmdParamInteger uidParam;
+            uidParam.SetInteger (idleAppUid());
+            setTopApplication (&uidParam);
+        }
+        break;        
+
+    case EPhoneViewMuteRingToneOnAnswer:
+        m_ringingtonecontroller->MuteRingingToneOnAnswer();
+        break;
+    
+    case EPhoneViewStopRingTone:
+        m_ringingtonecontroller->StopPlaying();
+        break;
+    
+    case EPhoneViewMuteRingTone:
+        m_ringingtonecontroller->MuteRingingTone();
+        break;
+        
+    case EPhoneViewBeginUpdate:
+        m_bubbleWrapper->bubbleManager ().startChanges ();
+        break;
+        
+    case EPhoneViewEndUpdate:
+        m_bubbleWrapper->bubbleManager ().endChanges ();
+        break;
+        
+    case EPhoneViewHideNaviPaneAudioVolume:
+        m_view.removeVolumeSlider ();
+        break;
+
+    case EPhoneViewOpenDialer:
+        openDialpad();
+        break;
+        
+    case EPhoneViewRemoveConferenceBubble:
+        removeConferenceBubble();
+        break;
+                
+    case EPhoneViewSendToBackground:
+    case EPhoneViewBringIdleToForeground:
+        XQServiceUtil::toBackground(true);
+        break;
+    case EPhoneViewRemoveAllCallHeaders:
+        removeAllCallHeaders();
+        break;
+    case EPhoneViewRemoveNumberEntry:
+    case EPhoneViewClearNumberEntryContent: // Fall through
+        removeDialpad();
+        break;
+    case EPhoneViewAddToConference:
+        addToConference();
+        break;
+    case EPhoneViewRemoveDtmfNote:
+        m_noteController->removeDtmfNote();
+        break;
+    case EPhoneViewRemoveNote:
+        m_noteController->removeNote();
+        break;
+    case EPhoneViewRemoveQuery:
+        m_noteController->removeQuery();
+        break;
+    case EPhoneViewRemovePhoneDialogs:
+        m_noteController->removeNote();
+        m_noteController->removeQuery();
+        break;
+    case EPhoneViewRemoveGlobalNote:
+    case EPhoneViewRemoveGlobalWaitNote:
+        m_noteController->removeGlobalWaitNote();
+        break;
+        
+    default:
+        break;
+    }
+ CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId ); 
+}
+
+void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId, TInt aCallId)
+{
+    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();
+        }
+        break;
+    case EPhoneViewRemoveFromConference:
+        removeCallFromConference(aCallId);
+        break;
+    case EPhoneViewPrivateFromConference:
+        setPrivateFromConference(aCallId);
+        break;
+    default:
+        break;
+    }
+   CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId, aCallId ); 
+}
+
+void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId, TPhoneCommandParam* aCommandParam)
+{
+    switch (aCmdId) {
+    case EPhoneViewSetTopApplication:
+        setTopApplication (aCommandParam);
+        break;
+    case EPhoneViewPlayRingTone:
+        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;
+    case EPhoneViewActivateMuteUIChanges:
+        setMuteIndication(aCommandParam);
+        break;
+    case EPhoneViewGetCountOfActiveCalls:
+        activeCallCount(aCommandParam);
+        break;
+    case EPhoneViewActivateAudioPathUIChanges:
+        setAudioPath(aCommandParam);
+        break;
+    case EPhoneViewGetExpandedBubbleCallId:
+        expandedBubbleCallId(aCommandParam);
+        break;
+    case EPhoneViewGetIsConference:
+        isConference(aCommandParam);
+        break;
+    case EPhoneViewBringAppToForeground:
+        bringToForeground();
+        break;
+    case EPhoneViewShowGlobalNote:
+        showGlobalNote(aCommandParam);
+        break;
+    case EPhoneViewSetNumberEntryVisible:
+        setDialpadVisibility(aCommandParam);
+        break;
+    case EPhoneViewGetNumberEntryCount:
+        getDialpadStringLength(aCommandParam);
+        break;
+    case EPhoneViewGetNumberFromEntry:
+        getNumberFromDialpad(aCommandParam);
+        break;
+    case EPhoneViewShowNote:
+        showNote(aCommandParam);
+        break;
+    case EPhoneViewShowQuery:
+        m_noteController->showQuery(aCommandParam);
+        break;
+    default:
+        break;
+    }
+    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId, *aCommandParam ); 
+}
+
+void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId, TInt aCallId,
+    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;
+    default:
+        break;
+    }
+    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId, aCallId, *aCommandParam ); 
+}
+
+void PhoneUIQtViewAdapter::ExecuteCommandL (TPhoneViewCommandId aCmdId, TInt aCallId, 
+    TDesC &aMessage)
+{
+    switch (aCmdId) {
+    case EPhoneViewUpdateCallHeaderCallDuration:
+    { 
+        QString duration ((QChar*)aMessage.Ptr (), aMessage.Length ());
+        qDebug() << "call duration: " << duration;
+        m_bubbleWrapper->bubbleManager ().updateCallTime (m_bubbleWrapper->bubbleId (aCallId), duration);
+        break;
+    }
+    default:    
+        break;
+    }
+    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId, aCallId, &aMessage ); 
+}
+
+TPhoneViewResponseId PhoneUIQtViewAdapter::HandleCommandL (TPhoneViewCommandId aCmdId)
+{
+    TPhoneViewResponseId response = EPhoneViewResponseSuccess;
+    
+    switch (aCmdId) {
+    case EPhoneIsDTMFDialerVisible:
+    case EPhoneViewIsDTMFEditorVisible: //TODO
+    case EPhoneIsCustomizedDialerVisible:
+    case EPhoneViewGetNeedToSendToBackgroundStatus:        
+        // TODO: currently not supported
+        response = EPhoneViewResponseFailed;
+        break;
+    case EPhoneViewIsMenuBarVisible:
+        {
+        //TODO
+        response = EPhoneViewResponseFailed;
+        break;
+        }
+    case EPhoneViewGetNumberEntryIsVisibleStatus:
+    case EPhoneViewGetNumberEntryIsUsedStatus: // Fall through
+        {
+        response = (m_view.isDialpadVisible() && !m_dialpadAboutToClose) ?
+                        EPhoneViewResponseSuccess :
+                        EPhoneViewResponseFailed;
+        break;
+        }
+    default:
+        break;      
+    }
+    
+    return response;
+}
+
+TPhoneViewResponseId PhoneUIQtViewAdapter::HandleCommandL (TPhoneViewCommandId aCmdId, 
+    TPhoneCommandParam *aCommandParam)
+{
+    TPhoneViewResponseId viewResponse = EPhoneViewResponseSuccess;
+
+    switch (aCmdId) {
+    case EPhoneViewGetCallIdByState:
+        viewResponse = callIdByState (aCommandParam);
+        break;
+    case EPhoneViewSelectedConfMember:
+        viewResponse = getSelectedConferenceMember (aCommandParam); 
+        break;
+    default:
+        break;  
+    }
+
+    return viewResponse;
+}
+
+void PhoneUIQtViewAdapter::ExecuteCommand (TPhoneViewCommandId aCmdId)
+{
+    switch (aCmdId) {        
+    case EPhoneSetConferenceExpanded: 
+        m_bubbleWrapper->bubbleManager ().startChanges ();
+        m_bubbleWrapper->bubbleManager().setExpandedConferenceCallHeader(
+                m_bubbleWrapper->conferenceCallList().size());
+        m_bubbleWrapper->bubbleManager ().endChanges ();
+        break;
+    default:
+        break;
+    }      
+}
+
+void PhoneUIQtViewAdapter::ExecuteCommand (TPhoneViewCommandId aCmdId, TPhoneCommandParam *aCommandParam)
+{
+    switch (aCmdId) {        
+    case EPhoneViewGetAudioVolumeLevel:
+        writeAudioVolumeLevel (aCommandParam);
+        break;
+    case EPhoneViewGetNumberFromEntry:
+        getNumberFromDialpad(aCommandParam);
+        break;
+    case EPhoneViewSetDtmfOptionsFlag:
+        //TODO
+        break;
+    case EPhoneViewSetVideoCallDTMFVisibilityFlag:
+        //TODO
+        break;
+    case EPhoneViewBackButtonVisible: {
+        TPhoneCmdParamBoolean *param = static_cast<TPhoneCmdParamBoolean *>(aCommandParam);
+        m_view.setBackButtonVisible(param->Boolean());
+		}
+        break;
+    default:
+        break;
+    }   
+}
+
+const TDesC& PhoneUIQtViewAdapter::FetchContent ()
+{
+    return KNullDesC;
+}
+
+void PhoneUIQtViewAdapter::dialpadClosed()
+{
+    m_dialpadAboutToClose = true;
+    setCallMenu();
+}
+
+PhoneNoteController* PhoneUIQtViewAdapter::noteController() const
+{
+    return m_noteController;
+}
+
+void PhoneUIQtViewAdapter::keyReleased(QKeyEvent */*event*/)
+{
+    if (m_view.isDialpadVisible() &&
+        false == m_dialpadAboutToClose ) {
+        setDialpadMenu();
+    }
+}
+
+void PhoneUIQtViewAdapter::setTopApplication (TPhoneCommandParam *commandParam)
+{
+    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?    
+}
+
+int PhoneUIQtViewAdapter::idleAppUid ()
+{
+// <-- 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;
+}
+
+void PhoneUIQtViewAdapter::createCallHeader( 
+    int callId, 
+    TPhoneCommandParam *commandParam )
+{
+    qDebug () << "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 ());
+    m_bubbleWrapper->setServiceId(callId, data.ServiceId());
+    m_bubbleWrapper->setSecondaryCli (bubble, data.CNAPText ());
+    m_bubbleWrapper->setLabel (bubble, data.LabelText ());    
+    m_bubbleWrapper->setCallType (bubble, data.CallType ());
+    m_bubbleWrapper->setDivert (bubble, data.Diverted ());
+    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 ();
+}
+
+void PhoneUIQtViewAdapter::createEmergencyCallHeader(
+    int callId, 
+    TPhoneCommandParam *commandParam)
+{
+    qDebug () << "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 ());
+    m_bubbleWrapper->bubbleManager ().endChanges ();    
+}
+
+void PhoneUIQtViewAdapter::updateCallHeaderState (
+    int callId, 
+    TPhoneCommandParam *commandParam)
+{
+    qDebug () << "PhoneUIQtViewAdapter::updateCallHeaderState";
+    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->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, TPhoneCommandParam *commandParam)
+{
+    qDebug () << "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 ());
+         m_bubbleWrapper->setSecondaryCli (bubble, data.CNAPText ());
+         m_bubbleWrapper->setDivert (bubble, data.Diverted ());
+         m_bubbleWrapper->bubbleManager ().endChanges ();
+     }
+     
+}
+
+void PhoneUIQtViewAdapter::updateCallHeaderRemoteInfoAndLabel (int callId, TPhoneCommandParam *commandParam)
+{
+    qDebug () << "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 ());
+         m_bubbleWrapper->setSecondaryCli (bubble, data.CNAPText ());
+         m_bubbleWrapper->setLabel (bubble, data.LabelText ());
+         m_bubbleWrapper->setDivert (bubble, data.Diverted ());
+         m_bubbleWrapper->bubbleManager ().endChanges ();
+     }   
+}
+
+TPhoneViewResponseId PhoneUIQtViewAdapter::callIdByState (TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdCallStateData);
+
+    TPhoneCmdParamCallStateData &stateParam =
+        static_cast<TPhoneCmdParamCallStateData &>(*commandParam);
+
+    stateParam.SetCallId (m_bubbleWrapper->callId (stateParam.CallState ()));
+    return EPhoneViewResponseSuccess;
+}
+
+void PhoneUIQtViewAdapter::setTouchButtons (TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdBoolean);
+
+    TPhoneCmdParamBoolean &param =
+        static_cast<TPhoneCmdParamBoolean &>(*commandParam);
+    bool emergencyCall = param.Boolean();
+
+    m_bubbleWrapper->bubbleManager ().startChanges ();
+    m_view.clearParticipantListActions();
+    
+    QList<int> bubbles = m_bubbleWrapper->bubbles().keys();
+
+    for (int j = 0; j < bubbles.size(); ++j){
+        int callId = bubbles.at(j);   
+        // Clear bubble
+        m_view.clearBubbleCommands(m_bubbleWrapper->bubbles().value(callId));
+
+		// Get bubble actions by call type
+        QMap<PhoneAction::ActionType, PhoneAction *> actions =
+            m_uiCommandController->pushButtonActionsForCall( 
+                               m_bubbleWrapper->callStates().value(callId),
+                               emergencyCall,
+                               m_bubbleWrapper->callStates(),
+                               m_bubbleWrapper->serviceIds(),
+                               m_bubbleWrapper->serviceIdByCallId(callId),
+                               callId);
+        
+        QList<PhoneAction *> values = actions.values();
+        for (int i = 0; i < values.size (); ++i) {
+            PhoneAction *action = values.at (i);        
+            m_view.addBubbleCommand(m_bubbleWrapper->bubbles().value(callId), 
+                                    *action);
+            delete action;
+        }
+    }
+    
+    setParticipantListActions();
+    setExpandedConferenceCallHeader();
+    setMenu();
+    
+    m_bubbleWrapper->bubbleManager ().endChanges ();    
+}
+
+void PhoneUIQtViewAdapter::setToolbarButtons (TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdInteger);
+
+    TPhoneCmdParamInteger &intParam =
+        static_cast<TPhoneCmdParamInteger &>(*commandParam);
+
+    QMap<PhoneAction::ActionType, PhoneAction *> actions = m_resourceAdapter->convert (intParam.Integer ());
+    QList<PhoneAction*> values = actions.values();
+    
+    if (actions.count()) {
+        m_view.setToolbarActions(values);
+    }
+    
+    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);
+
+    TPhoneCmdParamInteger &intParam =
+        static_cast<TPhoneCmdParamInteger &>(*commandParam);
+    intParam.SetInteger (m_view.volumeSliderValue ());  
+}
+
+void PhoneUIQtViewAdapter::setAudioVolumeSliderValue (TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdInteger);
+
+    TPhoneCmdParamInteger &intParam =
+        static_cast<TPhoneCmdParamInteger &>(*commandParam);
+
+    m_view.setVolumeSliderValue(intParam.Integer(), 
+                                EPhoneInCallCmdSetVolumeLevel,
+                                KPhoneVolumeMaxValue,
+                                KPhoneVolumeMinValue );
+}
+
+void PhoneUIQtViewAdapter::setMuteIndication (TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdBoolean);
+    TPhoneCmdParamBoolean &boolParam =
+            static_cast<TPhoneCmdParamBoolean &>(*commandParam);
+    m_bubbleWrapper->bubbleManager().setPhoneMuted(boolParam.Boolean());
+}
+
+void PhoneUIQtViewAdapter::activeCallCount (TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdInteger);
+
+    TPhoneCmdParamInteger &integerParam =
+        static_cast<TPhoneCmdParamInteger&>(*commandParam);
+    integerParam.SetInteger (m_bubbleWrapper->activeCallCount());    
+}
+
+void PhoneUIQtViewAdapter::setAudioPath (TPhoneCommandParam *commandParam)
+    {
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdAudioOutput);
+    
+    TPhoneCmdParamAudioOutput &outputParam =
+        static_cast<TPhoneCmdParamAudioOutput &>(*commandParam);
+
+    m_resourceAdapter->buttonsController()->setButtonFlags(PhoneUIQtButtonsController::Ihf,
+                              outputParam.AudioOutput() == EPELoudspeaker);
+    m_resourceAdapter->buttonsController()->setButtonFlags(PhoneUIQtButtonsController::Wired,
+                              outputParam.AudioOutput() == EPEWiredAudioAccessory);
+    m_resourceAdapter->buttonsController()->setButtonFlags(PhoneUIQtButtonsController::Btaa,
+                              outputParam.AudioOutput() == EPEBTAudioAccessory);
+    }
+    
+void PhoneUIQtViewAdapter::expandedBubbleCallId(TPhoneCommandParam *commandParam)
+    {
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdInteger);
+    
+    TPhoneCmdParamInteger &outputParam =
+            static_cast<TPhoneCmdParamInteger &>(*commandParam);
+    int callId = PHONE_CALL_NOT_FOUND; 
+    
+    if ( 0<m_bubbleWrapper->callStates().keys().size() ) {      
+        int bubbleId = m_bubbleWrapper->bubbleManager().expandedBubble();
+        callId = m_bubbleWrapper->callIdByBubbleId(bubbleId);
+    }
+    
+    outputParam.SetInteger( callId );
+    }
+
+void PhoneUIQtViewAdapter::openDialpad()
+    {
+    m_dialpadAboutToClose = false;
+    m_view.showDialpad();
+    setDialpadMenu();
+    }
+
+void PhoneUIQtViewAdapter::createConferenceBubble(int callId, TPhoneCommandParam *commandParam)
+{
+    qDebug () << "PhoneUIQtViewAdapter::createConferenceBubble";    
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdCallHeaderData);
+    
+    TPhoneCmdParamCallHeaderData &data = 
+         static_cast<TPhoneCmdParamCallHeaderData &> (*commandParam);
+      
+    m_bubbleWrapper->createConferenceBubble(
+            callId, data.CallState(), data.LabelText(), data.CLIText());
+    
+    m_bubbleWrapper->setServiceId(callId,data.ServiceId());
+}
+
+void PhoneUIQtViewAdapter::conferenceCallId(int callId, TPhoneCommandParam *commandParam)
+{
+    qDebug () << "PhoneUIQtViewAdapter::conferenceCallId";    
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdBoolean);
+    
+    TPhoneCmdParamBoolean*  conferenceDataValue =
+        static_cast<TPhoneCmdParamBoolean*>(
+                commandParam ); 
+        
+    conferenceDataValue->SetBoolean(m_bubbleWrapper->conferenceCallId(callId));
+}
+
+void PhoneUIQtViewAdapter::removeConferenceBubble()
+{
+    m_bubbleWrapper->bubbleManager().startChanges();
+    m_view.removeExpandAction(m_bubbleWrapper->bubbleId(KConferenceCallId));
+    m_bubbleWrapper->removeConferenceBubble();
+    m_bubbleWrapper->bubbleManager().endChanges();
+}
+
+void PhoneUIQtViewAdapter::isConference(TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdBoolean);
+    
+    TPhoneCmdParamBoolean*  conferenceDataValue =
+        static_cast<TPhoneCmdParamBoolean*>(
+                commandParam ); 
+        
+    conferenceDataValue->SetBoolean(0<m_bubbleWrapper->conferenceCallList().size());
+}
+
+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();
+}
+
+TPhoneViewResponseId PhoneUIQtViewAdapter::getSelectedConferenceMember(
+        TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdInteger);
+    TPhoneViewResponseId ret = EPhoneViewResponseSuccess;
+    TPhoneCmdParamInteger*  integerValue =
+        static_cast<TPhoneCmdParamInteger*>(
+                commandParam ); 
+    
+    int bubbleId = m_bubbleWrapper->bubbleManager().selectionIdInConference();
+    int callId = m_bubbleWrapper->callIdByBubbleId(bubbleId);
+    
+    if (callId == -1) {
+        ret = EPhoneViewResponseFailed; 
+    } else {
+        integerValue->SetInteger(callId); 
+    }
+    
+    return ret;
+}
+
+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();
+}
+
+void PhoneUIQtViewAdapter::setExpandActions()
+{
+    /* If there is 2 or more calls ongoing then we should
+     * enable expancion swap*/
+    int heldBubble = -1;
+    
+    if ( 2 <= m_bubbleWrapper->callStates().values().size() ) {
+        if (callsExists(EPEStateConnected,EPEStateHeld)) {
+            heldBubble =
+                m_bubbleWrapper->bubbleId(m_bubbleWrapper->callId(EPEStateHeld));
+            m_view.setExpandAction(heldBubble, EPhoneInCallCmdSwap);
+        } else if (callsExists(EPEStateConnected,EPEStateHeldConference)) {
+            heldBubble = 
+                m_bubbleWrapper->bubbleId(m_bubbleWrapper->callId(EPEStateHeldConference));
+            m_view.setExpandAction(heldBubble, EPhoneInCallCmdSwap);        
+        } else if (callsExists(EPEStateRinging,EPEStateHeld)) {
+            heldBubble =
+                m_bubbleWrapper->bubbleId(m_bubbleWrapper->callId(EPEStateHeld));
+            m_view.setExpandAction(heldBubble, EPhoneInCallCmdUnhold);        
+        }
+
+        QList<int> calls = m_bubbleWrapper->bubbles().keys();
+        foreach (int call, calls) {
+            int bubbleId = m_bubbleWrapper->bubbleId(call); 
+            if ( bubbleId != heldBubble ) {
+                 m_view.setExpandAction(bubbleId, EPhoneCmdUpdateUiControls);
+            }
+        }            
+    }    
+}
+
+bool PhoneUIQtViewAdapter::callsExists(int call1State, int call2State)
+{
+    bool callsExist(false);
+    if ( m_bubbleWrapper->callStates().values().contains(call1State) &&
+         m_bubbleWrapper->callStates().values().contains(call2State) ) {
+        callsExist = true;
+    }
+    return callsExist;
+}
+
+void PhoneUIQtViewAdapter::setParticipantListActions()
+{
+    if ( 0<m_bubbleWrapper->conferenceCallList().size() ) {
+        m_view.addParticipantListAction(
+                EPhoneInCallCmdPrivate, 
+                hbTrId("txt_phone_button_private"), 
+                HbIcon(":/qtg_mono_private_call.svg.svg"));
+        m_view.addParticipantListAction(
+                EPhoneInCallCmdDrop, 
+                hbTrId("txt_phone_button_drop"), 
+                HbIcon(":/qtg_mono_drop_call.svg.svg"));        
+    }
+}
+
+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));
+}
+
+void PhoneUIQtViewAdapter::bringToForeground()
+{
+    m_view.bringToForeground();
+}
+
+void PhoneUIQtViewAdapter::showGlobalNote(
+        TPhoneCommandParam *commandParam)
+{
+    m_noteController->showGlobalNote(commandParam);
+}
+
+void PhoneUIQtViewAdapter::setDialpadVisibility(
+        TPhoneCommandParam *commandParam)
+{
+    Q_ASSERT (commandParam->ParamId () == TPhoneCommandParam::EPhoneParamIdBoolean);
+    TPhoneCmdParamBoolean* booleanParam =
+        static_cast<TPhoneCmdParamBoolean*>(commandParam);
+        
+    if (booleanParam->Boolean()) {
+        m_dialpadAboutToClose = false;
+        m_view.showDialpad();
+    } else {
+        m_view.hideDialpad();
+    }
+}
+
+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();
+        }
+    }
+}
+
+void PhoneUIQtViewAdapter::getNumberFromDialpad(
+        TPhoneCommandParam *commandParam)
+{
+
+    TPhoneCmdParamString* entryContent =
+        static_cast<TPhoneCmdParamString*>(commandParam);
+     
+    (*entryContent->String()).Copy(m_view.dialpadText().utf16());         
+}
+
+void PhoneUIQtViewAdapter::getDialpadStringLength(
+        TPhoneCommandParam *commandParam)
+{
+
+    TPhoneCmdParamInteger* integerParam =
+        static_cast<TPhoneCmdParamInteger*>(commandParam);
+        
+    integerParam->SetInteger(m_view.dialpadText().length());    
+}
+
+void PhoneUIQtViewAdapter::removeDialpad()
+{
+    m_view.clearAndHideDialpad();    
+}
+
+void PhoneUIQtViewAdapter::addToConference()
+{
+    m_bubbleWrapper->addToConferenceBubble();
+}
+
+void PhoneUIQtViewAdapter::setMenu()
+{
+    if (m_view.isDialpadVisible() && false == m_dialpadAboutToClose) {
+        setDialpadMenu();
+    } else {
+        setCallMenu();
+    }
+}
+
+void PhoneUIQtViewAdapter::setCallMenu()
+{
+    int bubbleId = m_bubbleWrapper->bubbleManager().expandedBubble();
+    int callId = m_bubbleWrapper->callIdByBubbleId(bubbleId);
+    m_uiCommandController->setCallMenuActions(
+            m_bubbleWrapper->callStates(),
+            m_bubbleWrapper->serviceIds(),
+            m_bubbleWrapper->serviceIdByCallId(callId),
+            callId );
+
+}
+
+void PhoneUIQtViewAdapter::setDialpadMenu()
+{
+    m_uiCommandController->setDialpadMenuActions();
+}
+
+void PhoneUIQtViewAdapter::showNote(TPhoneCommandParam *commandParam)
+{
+    m_noteController->showNote(commandParam);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/src/telephonyservice.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,61 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: telephony service
+*
+*/
+
+#include <QDebug>
+#include <xqserviceutil.h>
+#include "telephonyservice.h"
+#include "phoneuiqtviewadapter.h"
+#include "tphonecmdparaminteger.h"
+    
+TelephonyService::TelephonyService( PhoneUIQtViewAdapter *viewAdapter, QObject* parent) : 
+    XQServiceProvider(QLatin1String("com.nokia.services.telephony.uistarter"), parent),
+    m_viewAdapter (viewAdapter)
+{
+    qDebug () << "TelephonyService::TelephonyService";
+    publishAll();
+}
+
+TelephonyService::~TelephonyService()
+{
+    qDebug () << "TelephonyService::~TelephonyService";
+}
+
+void TelephonyService::start(const int serviceId)
+{
+    qDebug () << "TelephonyService::start:"  << serviceId;
+    switch (serviceId) {
+        case 0: {
+            TPhoneCmdParamInteger uidParam;
+            uidParam.SetInteger( KUidPhoneApplication.iUid );
+            m_viewAdapter->ExecuteCommandL(EPhoneViewBringAppToForeground, &uidParam);
+            break;
+        }
+        case 1: {
+            m_viewAdapter->ExecuteCommandL( EPhoneViewOpenDialer );
+            
+            /*TODO: remove this as soon as QT Highway brings in call dialer to foreground*/
+            TPhoneCmdParamInteger uidParam;
+            uidParam.SetInteger( KUidPhoneApplication.iUid );
+            m_viewAdapter->ExecuteCommandL(EPhoneViewBringAppToForeground, &uidParam);
+            break;
+        }
+        default: {
+            // do nothing
+            break;
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/runtests.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+@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
+
+del \epoc32\winscw\c\private\e37686c5\ut_phoneuiqtbuttonscontroller.log
+\epoc32\release\winscw\udeb\ut_phoneuiqtbuttonscontroller.exe -o ut_phoneuiqtbuttonscontroller.log
+type \epoc32\winscw\c\private\e37686c5\ut_phoneuiqtbuttonscontroller.log
+
+del \epoc32\winscw\c\private\eff8fea2\ut_phoneuiqtviewadapter.log
+\epoc32\release\winscw\udeb\ut_phoneuiqtviewadapter.exe -o ut_phoneuiqtviewadapter.log
+type \epoc32\winscw\c\private\eff8fea2\ut_phoneuiqtviewadapter.log
+
+del \epoc32\winscw\c\private\eacf41fe\ut_phonebubblewrapper.log
+\epoc32\release\winscw\udeb\ut_phonebubblewrapper.exe -o ut_phonebubblewrapper.log
+type \epoc32\winscw\c\private\eacf41fe\ut_phonebubblewrapper.log
+
+del \epoc32\winscw\c\private\eda69235\ut_phoneresourceadapter.log
+\epoc32\release\winscw\udeb\ut_phoneresourceadapter.exe -o ut_phoneresourceadapter.log
+type \epoc32\winscw\c\private\eda69235\ut_phoneresourceadapter.log
+
+del \epoc32\winscw\c\private\e37686c5\ut_telephonyservice.log
+\epoc32\release\winscw\udeb\ut_telephonyservice.exe -o ut_telephonyservice.log
+type \epoc32\winscw\c\private\e37686c5\ut_telephonyservice.log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/unit.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,22 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: 
+#
+#
+
+TEMPLATE = subdirs
+SUBDIRS += ut_phoneuiqtbuttonscontroller
+SUBDIRS += ut_phoneuiqtviewadapter
+SUBDIRS += ut_phonebubblewrapper
+SUBDIRS += ut_phoneresourceadapter
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonebubblewrapper/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,533 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PhoneBubbleWrapper.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <hbapplication.h>
+#include <QSignalSpy>
+#include <hbmainwindow.h>
+//#include <hbglobal_p.h>
+#include "phonebubblewrapper.h"
+#include "bubblemanagerif.h"
+#include "pevirtualengine.h"
+
+class TestPhoneBubbleWrapper : public QObject, public BubbleManagerIF
+{
+    Q_OBJECT
+public:
+    TestPhoneBubbleWrapper();
+    virtual ~TestPhoneBubbleWrapper();
+    QString sayTestPhoneBubbleWrapper ();
+
+    // From BubbleManagerIF
+    void startChanges () { m_startChangesCalled=true; };
+    void endChanges () { m_endChangesCalled=true; };
+    int createCallHeader () { return 5; };
+    void removeCallHeader (int bubbleId) { m_removeCallHeaderCalled=true; m_int=bubbleId; };
+    void setState (int bubbleId, PhoneCallState state) { m_int=bubbleId; m_bubbleState=state; };
+    void setLabel ( 
+        int bubbleId, 
+        const QString& text, 
+        Qt::TextElideMode clipDirection) { m_int=bubbleId; m_string=text; m_elideMode=clipDirection; };
+    void setCli (int bubbleId, 
+                 const QString& cliText, 
+                 Qt::TextElideMode clipDirection) { m_int=bubbleId; m_string=cliText; m_elideMode=clipDirection; };
+    void updateCLI ( 
+        int bubbleId, 
+        const QString& cliText, 
+        Qt::TextElideMode clipDirection) {};
+    void setSecondaryCli ( 
+        int bubbleId, 
+        const QString& cliText, 
+        Qt::TextElideMode clipDirection = Qt::ElideLeft) { m_int=bubbleId; m_string=cliText; m_elideMode=clipDirection; };
+    void setCallTime (int bubbleId, const QString& callTime) {};
+    void updateCallTime (int bubbleId, const QString& callTime) {};
+    void setCallObjectImage (int bubbleId, const QString &fileName) {};
+    void setCallObjectFromTheme (int bubbleId) {};
+    void setCallObjectText (int bubbleId, const QString &text) {};
+    void setCallFlags (int bubbleId, int flags) {};
+    void setCallFlag (int bubbleId, PhoneCallFlags flag, bool set) { m_setCallFlagCalled=true; m_int=bubbleId; m_callFlags=flag; m_set=set; };
+    void setNumberType (int bubbleId, PhoneNumberType type) {};
+    void updateCallHeaderText( 
+        int bubbleId, 
+        const QString &longText, 
+        const QString &shortText, 
+        Qt::TextElideMode clipDirection) {};
+    void setPhoneMuted (bool muted) {};
+    int createConference (int bubble1, int bubble2) { return 1; };
+    void removeConference () {};
+    void addRowToConference (int bubbleId) {};
+    void removeRowFromConference (int bubbleId) {};
+    int conferenceRowCount () const { return 2; };
+    void setSelectionInConference (int rowNumber) {};
+    void setSelectionIdInConference (int bubbleId) {};
+    int selectionInConference () const { return 0; };
+    int selectionIdInConference () const { return 0; };
+    void moveHighlightOneUpInConference () {};
+    void moveHighlightOneDownInConference () {};
+    void setExpandedConferenceCallHeader (bool expanded) {};
+    bool isConferenceExpanded () const { return false; };
+    int shownHeaderCount () const { return 1; };
+    void setParticipantListCli (int aBubbleId, ParticipantListCli aParticipantCli) {};
+    void addAction (int bubble, HbAction *action) {};
+    void clearActions (int bubble) {};
+    QGraphicsWidget* graphicsWidgetForAction (HbAction *action) const { return 0;};
+    void addParticipantListAction (HbAction *action) {};
+    void clearParticipantListActions () {};
+    int expandedBubble() const { return 0; };
+    void setExpandAction(int bubbleId, HbAction* action) {};
+    void setBubbleSelectionDisabled(bool b) {};
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup (); 
+    
+private slots:
+    void testBubbleManager ();
+    void testSetLabel ();
+    void testSetCli ();
+    void testSetSecondaryCli ();
+    void testSetCallType ();
+    void testCreateCallHeader ();
+    void testRemoveCallHeader ();
+    void testSetState ();
+    void testBubbleId ();
+    void testSetDivert();
+    void testActiveCallCount();
+    void testCallStates ();
+    void testBubbles ();
+    void testSetConferenceCallId ();
+    void testRemoveConferenceCallId ();
+    void testCreateConferenceBubble ();
+    void testRemoveCallFromConference ();
+    void testRemoveConferenceBubble ();
+    void testCallIdByBubbleId ();
+    void testAddToConferenceBubble();
+    void testSetServiceId();
+
+private:
+    PhoneBubbleWrapper *m_wrapper; // class under test
+    QString m_string;
+    int m_int;
+    Qt::TextElideMode m_elideMode;
+    bool m_startChangesCalled;
+    bool m_endChangesCalled;
+    bool m_removeCallHeaderCalled;
+    bool m_setCallFlagCalled;
+    bool m_set;
+    PhoneCallState m_bubbleState;
+    PhoneCallFlags m_callFlags;
+};
+
+TestPhoneBubbleWrapper::TestPhoneBubbleWrapper ()
+{
+}
+
+TestPhoneBubbleWrapper::~TestPhoneBubbleWrapper ()
+{
+}
+
+void TestPhoneBubbleWrapper::initTestCase ()
+{
+                    
+}
+
+void TestPhoneBubbleWrapper::cleanupTestCase ()
+{
+//    delete m_wrapper;
+    
+}
+
+void TestPhoneBubbleWrapper::init ()
+{
+    m_wrapper = new PhoneBubbleWrapper (*this);
+    m_string = "";
+    m_int = -1;
+    m_elideMode = Qt::ElideNone;
+    m_startChangesCalled = false;
+    m_endChangesCalled = false;
+    m_removeCallHeaderCalled = false;
+    m_setCallFlagCalled = false;
+    m_set = false;
+    m_callFlags = BubbleManagerIF::Normal;
+}
+
+void TestPhoneBubbleWrapper::cleanup ()
+{
+    delete m_wrapper;
+    m_wrapper = 0;
+}
+
+QString TestPhoneBubbleWrapper::sayTestPhoneBubbleWrapper ()
+{
+    QString say ("TestPhoneBubbleWrapper");
+    return say;
+}
+
+void TestPhoneBubbleWrapper::testBubbleManager ()
+{
+    TestPhoneBubbleWrapper &fetched = reinterpret_cast<TestPhoneBubbleWrapper&>(m_wrapper-> bubbleManager ());
+	
+    // Comparing two references not possible so we circumvent it this way
+    // to be sure we are dealing with same object.
+    // fetched should be this object so calling sayTestPhoneBubbleWrapper should
+    // return a QString - if it's not this object it should simply crash.
+    QCOMPARE (fetched.sayTestPhoneBubbleWrapper (), sayTestPhoneBubbleWrapper () );
+}
+
+void TestPhoneBubbleWrapper::testSetLabel ()
+{
+    _LIT (KTestText, "Test Name");
+    m_wrapper->setLabel (2, KTestText);
+    QCOMPARE (m_int, 2);
+    QCOMPARE (m_string, QString ("Test Name"));
+    QCOMPARE (m_elideMode, Qt::ElideRight);
+}
+
+void TestPhoneBubbleWrapper::testSetCli ()
+{
+    _LIT (KTestText, "Test Name");
+    m_wrapper->setCli (3, KTestText);
+    QCOMPARE (m_int, 3);
+    QCOMPARE (m_string, QString ("Test Name"));
+    QCOMPARE (m_elideMode, Qt::ElideRight);	
+}
+
+void TestPhoneBubbleWrapper::testSetSecondaryCli ()
+{
+    _LIT (KTestText, "Test Name");
+    m_wrapper->setSecondaryCli (4, KTestText);
+    QCOMPARE (m_int, 4);
+    QCOMPARE (m_string, QString ("Test Name"));
+    QCOMPARE (m_elideMode, Qt::ElideLeft);	
+}
+
+void TestPhoneBubbleWrapper::testSetCallType ()
+{
+    m_wrapper->setCallType(0, EPECallTypeVideo);
+    m_wrapper->setCallType(0, EPECallTypeVoIP);
+    m_wrapper->setCallType(0, 100);
+    
+    m_wrapper->setCallType(1, EPECallTypeCSVoice);
+    
+    QVERIFY(m_setCallFlagCalled);
+    QCOMPARE(m_int, 1);
+    QCOMPARE(m_callFlags, BubbleManagerIF::Normal);
+}
+
+void TestPhoneBubbleWrapper::testCreateCallHeader ()
+{
+    QCOMPARE (m_wrapper->createCallHeader (1), 5);
+    QCOMPARE (m_wrapper->createCallHeader (1), 5);
+    m_wrapper->removeCallHeader(1);
+}
+
+void TestPhoneBubbleWrapper::testRemoveCallHeader ()
+{
+    m_wrapper->removeCallHeader (3);
+    QVERIFY (m_startChangesCalled == false);
+    QVERIFY (m_removeCallHeaderCalled == false);
+    QVERIFY (m_endChangesCalled == false);
+    
+    m_wrapper->createCallHeader (2);
+    m_wrapper->removeCallHeader (2);
+
+    QVERIFY (m_removeCallHeaderCalled == true);
+    QCOMPARE (m_int, 5);
+}
+
+void TestPhoneBubbleWrapper::testSetState ()
+{
+    m_wrapper->setState (0, 1, EPEStateIdle);
+    QCOMPARE (m_int, 1);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::Disconnected);
+    QCOMPARE (m_wrapper->callId (EPEStateIdle), 0);
+    
+    m_wrapper->setState (0, 2, EPEStateDialing);
+    QCOMPARE (m_int, 2);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::Outgoing);
+    QCOMPARE (m_wrapper->callId (EPEStateDialing), 0);
+
+    m_wrapper->setState (0, 3, EPEStateRinging);
+    QCOMPARE (m_int, 3);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::Incoming);
+    QCOMPARE (m_wrapper->callId (EPEStateRinging), 0);
+
+    m_wrapper->setState (0, 4, EPEStateConnecting);
+    QCOMPARE (m_int, 4);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::Alerting);
+    QCOMPARE (m_wrapper->callId (EPEStateConnecting), 0);
+
+    m_wrapper->setState (0, 5, EPEStateConnected);
+    QCOMPARE (m_int, 5);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::Active);
+    QCOMPARE (m_wrapper->callId (EPEStateConnected), 0);
+
+    m_wrapper->setState (0, 6, EPEStateHeld);
+    QCOMPARE (m_int, 6);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::OnHold);
+    QCOMPARE (m_wrapper->callId (EPEStateHeld), 0);
+
+    m_wrapper->setState (0, 7, EPEStateDisconnecting);
+    QCOMPARE (m_int, 7);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::Disconnected);
+    QCOMPARE (m_wrapper->callId (EPEStateDisconnecting), 0);
+
+    m_wrapper->setState (0, 8, EPEStateConferenceIdle);
+    QCOMPARE (m_int, 8);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::Disconnected);
+    QCOMPARE (m_wrapper->callId (EPEStateConferenceIdle), 0);
+
+    m_wrapper->setState (0, 9, EPEStateConnectedConference);
+    QCOMPARE (m_int, 9);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::Active);
+    QCOMPARE (m_wrapper->callId (EPEStateConnectedConference), 0);
+
+    m_wrapper->setState (0, 10, EPEStateHeldConference);
+    QCOMPARE (m_int, 10);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::OnHold);
+    QCOMPARE (m_wrapper->callId (EPEStateHeldConference), 0);
+    
+    m_wrapper->setState (0, 11, EPEStateUnknown);
+    QCOMPARE (m_int, 11);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::None);
+    QCOMPARE (m_wrapper->callId (EPEStateUnknown), 0);
+
+    m_wrapper->createCallHeader (0);
+    int bubble = m_wrapper->createCallHeader (1);
+    m_wrapper->setState (1, bubble, EPEStateRinging);
+    QCOMPARE (m_int, bubble);	
+    QCOMPARE (m_bubbleState, BubbleManagerIF::Waiting);    
+    QCOMPARE (m_wrapper->callId (EPEStateRinging), 1);
+    m_wrapper->removeCallHeader (1);
+    m_wrapper->removeCallHeader (0);
+    
+    m_wrapper->setState (0, 11, 100);
+}
+
+void TestPhoneBubbleWrapper::testBubbleId ()
+{
+    QCOMPARE (m_wrapper->bubbleId (0), -1);
+    int bubble = m_wrapper->createCallHeader (0);
+    QCOMPARE (m_wrapper->bubbleId (0), bubble);
+    m_wrapper->removeCallHeader (0);
+    QCOMPARE (m_wrapper->bubbleId (0), -1);    	
+}
+
+void TestPhoneBubbleWrapper::testSetDivert ()
+{
+    m_wrapper->setDivert (2, false);
+    QVERIFY (m_setCallFlagCalled == false);
+    QCOMPARE (m_int, -1);
+    QCOMPARE (m_callFlags, (int)BubbleManagerIF::None);
+    QVERIFY (m_set == false);
+
+    m_wrapper->setDivert (1, true);
+    QVERIFY (m_setCallFlagCalled == true);
+    QCOMPARE (m_int, 1);
+    QCOMPARE (m_callFlags, BubbleManagerIF::Diverted);
+    QVERIFY (m_set == true);    
+}
+
+void TestPhoneBubbleWrapper::testActiveCallCount ()
+{
+    QCOMPARE (m_wrapper->activeCallCount(), 0);
+    int bubble = m_wrapper->createCallHeader (0);
+    m_wrapper->setState(0,bubble,EPEStateConnected);
+    QCOMPARE (m_wrapper->activeCallCount(), 1);
+    m_wrapper->removeCallHeader (0);
+    QCOMPARE (m_wrapper->activeCallCount(), 0);     
+}
+
+void TestPhoneBubbleWrapper::testCallStates ()
+{
+    QCOMPARE( 0, m_wrapper->callStates().size() );
+    
+    m_wrapper->createCallHeader (0);
+    m_wrapper->createCallHeader (1);
+    
+    
+    m_wrapper->updateCallState(0, 2);
+    m_wrapper->updateCallState(1, 3);
+    m_wrapper->updateCallState(2, 4);
+    
+    QCOMPARE( 2, m_wrapper->callStates().size() );
+    
+    m_wrapper->createCallHeader (2);
+    QCOMPARE( 3, m_wrapper->callStates().size() );
+    
+    m_wrapper->setConferenceCallId(0);
+    m_wrapper->setConferenceCallId(1);
+    m_wrapper->updateCallState(8, 5);
+    
+    QCOMPARE( 1, m_wrapper->callStates().size() );
+ 
+}
+
+void TestPhoneBubbleWrapper::testBubbles ()
+{
+    QCOMPARE( 0, m_wrapper->bubbles().size() );
+    
+    m_wrapper->createCallHeader (0);
+    m_wrapper->createCallHeader (1);
+    m_wrapper->createCallHeader (3);
+    
+    QCOMPARE( 3, m_wrapper->bubbles().size() );
+    
+    m_wrapper->setConferenceCallId(0);
+    
+    QCOMPARE( 2, m_wrapper->bubbles().size() );  
+}
+
+void TestPhoneBubbleWrapper::testSetConferenceCallId ()
+{
+    m_wrapper->setConferenceCallId(0);
+    m_wrapper->setConferenceCallId(1);
+    
+    QCOMPARE( 2, m_wrapper->conferenceCallList().size() );
+    
+    //set same call id
+    m_wrapper->setConferenceCallId(1);
+    QCOMPARE( 2, m_wrapper->conferenceCallList().size() );
+    
+    QCOMPARE( true, m_wrapper->conferenceCallId(0) );
+    QCOMPARE( false, m_wrapper->conferenceCallId(3) );
+}
+
+void TestPhoneBubbleWrapper::testRemoveConferenceCallId ()
+{
+    m_wrapper->setConferenceCallId(0);
+    m_wrapper->setConferenceCallId(1);
+    
+    QCOMPARE( 2, m_wrapper->conferenceCallList().size() );
+    m_wrapper->removeConferenceCallId(3);
+    QCOMPARE( 2, m_wrapper->conferenceCallList().size() );
+    m_wrapper->removeConferenceCallId(1);
+    QCOMPARE( 1, m_wrapper->conferenceCallList().size() );
+    QCOMPARE( true, m_wrapper->conferenceCallId(0) );
+    QCOMPARE( false, m_wrapper->conferenceCallId(1) );
+    m_wrapper->removeConferenceCallId(0);
+    QCOMPARE( 0, m_wrapper->conferenceCallList().size() );
+}
+
+void TestPhoneBubbleWrapper::testCreateConferenceBubble ()
+{
+    m_wrapper->createConferenceBubble(8,EPEStateConnectedConference,_L("conference"),_L("conference"));
+    QVERIFY( 0 == m_wrapper->conferenceCallList().size() );
+    
+    m_wrapper->createCallHeader(0);
+    m_wrapper->createCallHeader(1);
+    
+    m_wrapper->createConferenceBubble(0,EPEStateConnectedConference,_L("conference"),_L("conference"));
+    
+    QVERIFY( 2 == m_wrapper->conferenceCallList().size() );
+    
+}
+
+void TestPhoneBubbleWrapper::testRemoveCallFromConference ()
+{
+    m_wrapper->createCallHeader(0);
+    m_wrapper->createCallHeader(1);
+    
+    m_wrapper->createConferenceBubble(0,EPEStateConnectedConference,_L("conference"),_L("conference"));
+
+    m_wrapper->removeCallFromConference(0);
+
+    QVERIFY( 1 == m_wrapper->conferenceCallList().size() );
+    
+    m_wrapper->removeConferenceCallId(1);
+    
+    QVERIFY( 0 == m_wrapper->conferenceCallList().size() );
+}
+
+void TestPhoneBubbleWrapper::testRemoveConferenceBubble ()
+{
+    m_wrapper->createCallHeader(0);
+    m_wrapper->createCallHeader(1);
+    
+    m_wrapper->createConferenceBubble(0,EPEStateConnectedConference,_L("conference"),_L("conference"));
+    m_wrapper->removeConferenceBubble();
+    
+    QVERIFY( 0 == m_wrapper->conferenceCallList().size() );
+}
+
+void TestPhoneBubbleWrapper::testAddToConferenceBubble ()
+{
+    m_wrapper->addToConferenceBubble();
+
+    int bubbleId = m_wrapper->createCallHeader(0);
+    m_wrapper->setState(0, bubbleId, EPEStateRinging);
+    int bubbleId2 = m_wrapper->createCallHeader(1);
+    m_wrapper->setState(1, bubbleId2, EPEStateConnected);
+    int bubbleId3 = m_wrapper->createCallHeader(2);
+    m_wrapper->setState(2, bubbleId3, EPEStateHeld);
+    
+    m_wrapper->createConferenceBubble(8,EPEStateConnectedConference,_L("conference"),_L("conference"));
+    
+    m_wrapper->addToConferenceBubble();
+    
+    QCOMPARE( 3, m_wrapper->conferenceCallList().size() );
+    
+    m_wrapper->removeCallFromConference(0);
+    QCOMPARE( 2, m_wrapper->conferenceCallList().size() );
+    
+    int bubbleId4 = m_wrapper->createCallHeader(3);
+    m_wrapper->setState(3, bubbleId4, EPEStateHeld);
+    
+    m_wrapper->addToConferenceBubble();
+    QCOMPARE( 3, m_wrapper->conferenceCallList().size() );
+    
+    m_wrapper->removeCallFromConference(0);
+    m_wrapper->removeCallHeader(0);
+    QCOMPARE( 3, m_wrapper->conferenceCallList().size() );
+    
+    m_wrapper->removeCallFromConference(1);
+    m_wrapper->removeCallHeader(1);
+    m_wrapper->removeCallFromConference(2);
+    m_wrapper->removeCallHeader(2);
+    m_wrapper->removeCallFromConference(3);
+    m_wrapper->removeCallHeader(3);
+    
+    QCOMPARE( 0, m_wrapper->conferenceCallList().size() );
+}
+
+void TestPhoneBubbleWrapper::testCallIdByBubbleId ()
+{
+		int callId = 1;
+    int bubbleId = m_wrapper->createCallHeader(callId);
+    
+    QVERIFY( callId == m_wrapper->callIdByBubbleId(bubbleId) );
+}
+
+void TestPhoneBubbleWrapper::testSetServiceId()
+{
+    int serviceId(1);
+    int callId(2);
+    int callId2(3);
+    
+    m_wrapper->setServiceId(callId, serviceId);
+    
+    QVERIFY(serviceId == m_wrapper->serviceIdByCallId(callId));
+    QVERIFY(-1 == m_wrapper->serviceIdByCallId(callId2));
+    QVERIFY(1 == m_wrapper->serviceIds().keys().count());
+    
+}
+
+QTEST_MAIN(TestPhoneBubbleWrapper)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonebubblewrapper/ut_phonebubblewrapper.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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 = 
+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
+
+    LIBS += -lphoneuiutils
+
+    TARGET.CAPABILITY = ALL -TCB
+}
+
+# Input
+HEADERS += ../../inc/phonebubblewrapper.h
+SOURCES += ../../src/phonebubblewrapper.cpp
+SOURCES += unit_tests.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/menuextension_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,69 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 class.
+*
+*/
+
+
+#include "menuextension_stub.h"
+
+//#include "xqplugin.h"
+#include <xqphoneappcommands.h>
+
+bool m_modifyMenuCommandListCalled;
+bool m_modifyPushButtonCommandListCalled;
+bool m_addMenuActionsCalled;
+bool m_releaseMenuCalled;
+bool m_releaseCalled;
+
+SvtMenu::SvtMenu() 
+:
+QObject()
+{ 
+
+}
+	
+SvtMenu::~SvtMenu()
+{ 
+
+}
+    
+void SvtMenu::modifyMenuCommandList(const QList<CallInfo> &callInfo,QList<int> &menuCmdList)
+{
+    m_modifyMenuCommandListCalled = true;
+}
+
+void SvtMenu::modifyPushButtonCommandList(const QList<CallInfo> &callInfo,QList<int> &buttonCmdList)
+{
+    m_modifyPushButtonCommandListCalled = true;
+}
+
+void SvtMenu::addMenuActions(const QList<CallInfo> &callInfo,QList<HbAction*> &menuActions)
+{
+    m_addMenuActionsCalled = true;
+}
+
+void SvtMenu::releaseMenu()
+{
+    m_releaseMenuCalled = true;
+}
+
+void SvtMenu::release()
+{
+    m_releaseCalled = true;
+    delete this;
+}
+
+
+//XQ_EXPORT_PLUGIN2(testplugin, SvtMenu);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/menuextension_stub.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,114 @@
+/*
+* ============================================================================
+*  Name        : 
+*  Part of     : 
+*  Description : 
+*  Version     : %version:  1 % 
+*
+*  Copyright 2008 Nokia.  All rights reserved.
+*  This material, including documentation and any related computer
+*  programs, is protected by copyright controlled by Nokia.  All
+*  rights are reserved.  Copying, including reproducing, storing,
+*  adapting or translating, any or all of this material requires the
+*  prior written consent of Nokia.  This material also contains
+*  confidential information which may not be disclosed to others
+*  without the prior written consent of Nokia.
+* ============================================================================
+*/
+
+#ifndef MENUEXTENSION_STUB_H_
+#define MENUEXTENSION_STUB_H_
+
+#include <QObject>
+#include <hbaction.h>
+
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <xqteluicommandextension.h>
+
+
+#ifdef BUILD_DLL
+#define DLL_EXPORT Q_DECL_EXPORT
+#else
+#define DLL_EXPORT Q_DECL_IMPORT
+#endif
+
+class SvtMenu : public QObject, public XQTelUiCommandExtension
+    {
+    Q_OBJECT
+    Q_INTERFACES(XQTelUiCommandExtension)
+
+public:
+	SvtMenu();
+	
+	virtual ~SvtMenu();
+
+    /*!
+        \fn void modifyMenuItemList(QList<int> &menuCmdList)
+        
+        Modifies menu command list. List contains current list
+        of menu commands. Interface can add new commands which should be hanled
+        by call handling or remove commands if list contains unsupported call
+        commands.
+    */
+    virtual void modifyMenuCommandList(const QList<CallInfo> &callInfo,
+            QList<int> &menuCmdList);
+    
+    /*!
+        \fn void modifyButtonCommandList(QList<int> &menuCmdList)
+        
+        Modifies push button command list. CallInfo contains current call 
+        information and buttonCmdList contains current list of push 
+        button commands. 
+        Interface can remove commands if list contains unsupported call
+        commands (For example if service doesn't support conference call).
+    */
+    virtual void modifyPushButtonCommandList(const QList<CallInfo> &callInfo,
+                                             QList<int> &buttonCmdList);
+    
+    /*!
+        \fn void addMenuActions(QList<HbAction*> &menuActions)
+        
+        Adds actions to menu. Interface adds own actions to the list which
+        should be added to the call menu. 
+        Interface is the responsible for handling action triggers.
+        Ownership of the actions in not transferred.
+    */
+    virtual void addMenuActions(const QList<CallInfo> &callInfo,QList<HbAction*> &menuActions);
+    
+        /*!
+        \fn void getCallsL(QList<CallInfo> &calls)
+        
+        Releases menu actions. Method is called when menu is not needed
+        anymore and interface can release own menu actions.
+    */
+    virtual void releaseMenu();
+    
+    /*!
+        \fn void release()
+        
+        Releases plugin. Method is called when menu plugin is not needed
+        anymore and interface can release all resources.
+    */
+    virtual void release();
+    
+
+
+    };
+
+#endif /* MENUEXTENSION_STUB_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,261 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PhoneCommandExtensionWrapper.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <QList>
+#include <QMap>
+#include <hbapplication.h>
+#include <phoneappcommands.hrh>
+#include "phonecommandextensionwrapper.h"
+#include "pevirtualengine.h"
+#include "menuextension_stub.h"
+
+extern bool m_modifyMenuCommandListCalled;
+extern bool m_modifyPushButtonCommandListCalled;
+extern bool m_addMenuActionsCalled;
+extern bool m_releaseMenuCalled;
+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
+public:
+    TestPhoneCommandExtensionWrapper();
+    virtual ~TestPhoneCommandExtensionWrapper();
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup ();
+    
+private slots:
+    void testNullPlugin();
+    void testPlugin();
+    void testGetCallInfo();
+
+private:
+    PhoneCommandExtensionWrapper *m_wrapper; // class under test
+
+};
+
+TestPhoneCommandExtensionWrapper::TestPhoneCommandExtensionWrapper()
+{
+}
+
+TestPhoneCommandExtensionWrapper::~TestPhoneCommandExtensionWrapper()
+{
+}
+
+void TestPhoneCommandExtensionWrapper::initTestCase()
+{
+    
+}
+
+void TestPhoneCommandExtensionWrapper::cleanupTestCase()
+{
+    
+}
+
+void TestPhoneCommandExtensionWrapper::init()
+{
+
+}
+
+void TestPhoneCommandExtensionWrapper::cleanup()
+{
+}
+
+
+
+void TestPhoneCommandExtensionWrapper::testNullPlugin()
+{
+    QList<XQTelUiCommandExtension::CallInfo> callInfo; 
+    QList<int> menuCmdList;
+    QList<HbAction*> menuActions;
+    m_useExtensionStub = false;
+    m_wrapper = new PhoneCommandExtensionWrapper(123456);
+    
+    m_wrapper->modifyMenuCommandList(callInfo, menuCmdList);
+    QVERIFY( false == m_modifyMenuCommandListCalled );
+    
+    m_wrapper->modifyPushButtonCommandList(callInfo, menuCmdList);
+    QVERIFY( false == m_modifyPushButtonCommandListCalled );
+    
+    m_wrapper->addMenuActions(callInfo, menuActions);
+    QVERIFY( false == m_addMenuActionsCalled );
+    
+    m_wrapper->releaseMenu();
+    QVERIFY( false == m_releaseMenuCalled );
+    
+    delete m_wrapper;
+    
+    QVERIFY( false == m_releaseCalled );
+}
+
+void TestPhoneCommandExtensionWrapper::testPlugin()
+{
+    QList<XQTelUiCommandExtension::CallInfo> callInfo; 
+    QList<int> menuCmdList;
+    QList<HbAction*> menuActions;
+    m_useExtensionStub = true;
+    m_wrapper = new PhoneCommandExtensionWrapper(123456);
+    
+    QVERIFY( 123456 == m_wrapper->pluginUid() );
+    
+    m_wrapper->modifyMenuCommandList(callInfo, menuCmdList);
+    QVERIFY( m_modifyMenuCommandListCalled );
+    
+    m_wrapper->modifyPushButtonCommandList(callInfo, menuCmdList);
+    QVERIFY( m_modifyPushButtonCommandListCalled );
+    
+    m_wrapper->addMenuActions(callInfo, menuActions);
+    QVERIFY( m_addMenuActionsCalled );
+    
+    m_wrapper->releaseMenu();
+    QVERIFY( m_releaseMenuCalled );
+    
+    delete m_wrapper;
+
+    QVERIFY( m_releaseCalled );
+}
+
+void TestPhoneCommandExtensionWrapper::testGetCallInfo()
+{
+    m_wrapper = new PhoneCommandExtensionWrapper(123456);
+    QList<XQTelUiCommandExtension::CallInfo> callInfo; 
+    QMap<int,int> callStates;
+    QMap<int,int> serviceIds;
+    int expandedCall(0);
+    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(0, callInfo.count());
+    
+    callStates[0] = EPEStateDisconnecting; 
+    serviceIds[0] = 3;   
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::Disconnecting == callInfo.at(0).mCallState);
+    QVERIFY(true == callInfo.at(0).mIsExpanded);
+    QVERIFY(3 == callInfo.at(0).mServiceId);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateRinging;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::Incoming == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateDialing;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::Outgoing == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateConnecting;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::Outgoing == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateConnected;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::Active == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateConnectedConference;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::Active == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateHeld;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::OnHold == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateHeldConference;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::OnHold == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateUnknown;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::None == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateIdle;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::None == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateConferenceIdle;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::None == callInfo.at(0).mCallState);
+    
+    callInfo.clear();
+    callStates[0] = EPEStateMaximumState;    
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(1, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::None == callInfo.at(0).mCallState);
+    
+    //////////////////////////////////////////////////////////////////////////
+    // Two calls
+    //////////////////////////////////////////////////////////////////////////
+    callInfo.clear();
+    callStates[0] = EPEStateConnected;
+    callStates[1] = EPEStateHeld;
+    serviceIds[1] = 2;
+    m_wrapper->getCallInfoList(callInfo, callStates, serviceIds, expandedCall);
+    QCOMPARE(2, callInfo.count());
+    QVERIFY(XQTelUiCommandExtension::Active == callInfo.at(0).mCallState);
+    QVERIFY(true == callInfo.at(0).mIsExpanded);
+    QVERIFY(3 == callInfo.at(0).mServiceId);
+    QVERIFY(XQTelUiCommandExtension::OnHold == callInfo.at(1).mCallState);
+    QVERIFY(false == callInfo.at(1).mIsExpanded);
+    QVERIFY(2 == callInfo.at(1).mServiceId);
+    
+    delete m_wrapper;
+}
+
+
+PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestPhoneCommandExtensionWrapper)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/ut_phonecommandextensionwrapper.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,52 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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 = 
+TARGET.UID3 = 0xEFF8FEA4
+DEPENDPATH += .
+INCLUDEPATH += .
+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 \
+                   ../../../phoneui2/srcdata
+
+
+    TARGET.CAPABILITY = ALL -TCB
+    DEFINES += FT_SYMBIAN_INTEGRATION
+    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
+}
+
+# Input
+HEADERS += ../../inc/phonecommandextensionwrapper.h
+SOURCES += ../../src/phonecommandextensionwrapper.cpp
+HEADERS += menuextension_stub.h
+SOURCES += menuextension_stub.cpp
+SOURCES += xqpluginloader_stub.cpp
+SOURCES += unit_tests.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonecommandextensionwrapper/xqpluginloader_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <xqpluginloader.h>
+#include <QtDebug>
+#include <QList>
+#include <QString>
+#include "menuextension_stub.h"
+
+int m_phoneButtonFlags;
+int m_pluginUid;
+bool m_useExtensionStub;
+
+XQPluginLoader::XQPluginLoader(QObject* parent) :
+    QObject(parent)
+{
+}
+
+XQPluginLoader::XQPluginLoader(int uid, QObject* parent) :
+    QObject(parent)
+{
+    m_pluginUid = uid;	
+}
+
+XQPluginLoader::~XQPluginLoader ()
+{
+}
+
+int XQPluginLoader::uid()const
+{
+    return m_pluginUid;
+}
+
+QObject* XQPluginLoader::instance()
+{
+    if (m_useExtensionStub) {
+        return new SvtMenu();
+    }
+    return 0;
+}
+
+void XQPluginLoader::setUid( int uid )
+{
+    m_pluginUid = uid;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonenotecontroller/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,263 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PhoneNoteController.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <hbapplication.h>
+#include <QSignalSpy>
+//#include <hbglobal_p.h>
+#include "phonenotecontroller.h"
+#include "phoneresourceids.h"
+#include "phoneui.hrh"
+#include "tphonecmdparamglobalnote.h"
+#include "tphonecmdparamquery.h"
+#include "phoneresourceadapter.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 TestPhoneNoteController : public QObject
+{
+    Q_OBJECT
+public:
+    TestPhoneNoteController();
+    virtual ~TestPhoneNoteController();
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup (); 
+    
+private slots:
+    void testShowGlobalNoteDefault ();
+    void testShowGlobalInfoNoteWithResourceId ();
+    void testShowGlobalWarningNoteWithText ();
+    void testShowGlobalNoteWithTextAndResourceId ();
+    void testShowGlobalNoteTwoTimes ();
+    void testShowGlobalNoteThreeTimes ();
+    void testShowNote();
+    void testShowQuery();
+    void testShowClobalWaitNote();
+
+    
+private:
+    PhoneNoteController *m_noteController; // class under test
+};
+
+TestPhoneNoteController::TestPhoneNoteController ()
+{
+}
+
+TestPhoneNoteController::~TestPhoneNoteController ()
+{
+}
+
+void TestPhoneNoteController::initTestCase ()
+{
+    m_noteController = new PhoneNoteController();
+}
+
+void TestPhoneNoteController::cleanupTestCase ()
+{
+    delete m_noteController;
+}
+
+void TestPhoneNoteController::init ()
+{
+}
+
+void TestPhoneNoteController::cleanup ()
+{
+}
+
+void TestPhoneNoteController::testShowGlobalNoteDefault ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetWaitForReady(ETrue);
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    QTest::qWait(5000);
+}
+
+void TestPhoneNoteController::testShowGlobalInfoNoteWithResourceId ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetTextResourceId(R_NOTETEXT_NO_ANSWER);
+    globalNoteParam.SetWaitForReady(EFalse);
+    globalNoteParam.SetType( EAknGlobalInformationNote );
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    QTest::qWait(5000);
+}
+
+void TestPhoneNoteController::testShowGlobalWarningNoteWithText ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetWaitForReady(ETrue);
+    globalNoteParam.SetType( EAknGlobalWarningNote );
+    globalNoteParam.SetText(_L("Test note 1"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+}
+
+void TestPhoneNoteController::testShowGlobalNoteWithTextAndResourceId ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    globalNoteParam.SetTextResourceId(R_PHONE_TEXT_COLP_CONNECTED);
+    globalNoteParam.SetWaitForReady(EFalse);
+    globalNoteParam.SetType( EAknGlobalInformationNote );
+    globalNoteParam.SetText(_L("Test number"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    QTest::qWait(5000);
+}
+
+void TestPhoneNoteController::testShowGlobalNoteTwoTimes ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    //globalNoteParam.SetTextResourceId(R_NOTETEXT_NO_ANSWER);
+    globalNoteParam.SetWaitForReady(EFalse);
+    globalNoteParam.SetType( EAknGlobalInformationNote );
+    globalNoteParam.SetText(_L("Test note 2"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    globalNoteParam.SetText(_L("Test note 3"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    QTest::qWait(10000);
+
+}
+
+void TestPhoneNoteController::testShowGlobalNoteThreeTimes ()
+{
+    TPhoneCmdParamGlobalNote globalNoteParam;
+    //globalNoteParam.SetTextResourceId(R_NOTETEXT_NO_ANSWER);
+    globalNoteParam.SetWaitForReady(EFalse);
+    globalNoteParam.SetType( EAknGlobalInformationNote );
+    globalNoteParam.SetText(_L("Test note 4"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    globalNoteParam.SetText(_L("Test note 5"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    globalNoteParam.SetText(_L("Test note 6"));
+    
+    m_noteController->showGlobalNote(&globalNoteParam);
+    
+    QTest::qWait(20000);
+}
+
+void TestPhoneNoteController::testShowNote()
+{
+    TPhoneCmdParamNote noteParam;
+    
+    m_noteController->showNote(&noteParam);
+    m_noteController->removeDtmfNote();
+    m_noteController->removeNote();
+    
+    noteParam.SetType(EPhoneNoteDtmfSending);
+    m_noteController->showNote(&noteParam);
+    
+    noteParam.SetResourceId(R_PHONEUI_SENDING_DTMF_WAIT_NOTE);
+    noteParam.SetText(_L("Sending:\n123p456"));
+    
+    m_noteController->showNote(&noteParam);
+    QTest::qWait(20000);
+    
+    noteParam.SetText(_L("Sending:\n123p456"));
+    m_noteController->showNote(&noteParam);
+    
+    QTest::qWait(20000);
+    
+    m_noteController->removeNote();
+    
+    QTest::qWait(20000);
+}
+
+void TestPhoneNoteController::testShowQuery()
+{
+    TPhoneCmdParamQuery queryParam;    
+    m_noteController->showQuery(&queryParam);
+    
+    queryParam.SetQueryType(EPhoneQueryDialog);
+    m_noteController->showQuery(&queryParam);
+    
+    queryParam.SetQueryPrompt(_L("TestQuery"));
+    m_noteController->showQuery(&queryParam);
+    m_noteController->removeQuery();
+
+    queryParam.SetQueryResourceId(R_PHONEUI_DTMF_WAIT_CHARACTER_CONFIRMATION_QUERY);
+    m_noteController->showQuery(&queryParam);
+    
+    QTest::qWait(20000);
+    m_noteController->showQuery(&queryParam);
+    
+    m_noteController->removeQuery();
+    
+    QTest::qWait(20000);
+}
+
+void TestPhoneNoteController::testShowClobalWaitNote()
+{
+    TPhoneCmdParamQuery queryParam;    
+    
+    queryParam.SetQueryType(EPhoneGlobalWaitNote);
+    m_noteController->showQuery(&queryParam);
+    QTest::qWait(5000);
+    m_noteController->removeGlobalWaitNote();
+    QTest::qWait(5000);
+    
+    queryParam.SetQueryPrompt(_L("TestQuery"));
+    m_noteController->showQuery(&queryParam);
+    QTest::qWait(5000);
+    m_noteController->removeGlobalWaitNote();
+    QTest::qWait(5000);
+    
+    queryParam.SetQueryPrompt(KNullDesC);
+    TBuf<4> buf(_L("test"));
+    queryParam.SetDataText(&buf);
+    queryParam.SetTimeOut(2000);
+    m_noteController->showQuery(&queryParam);
+    QTest::qWait(10000);
+     
+    queryParam.SetCustomCommandForTimeOut(10);
+    m_noteController->showQuery(&queryParam);
+    QTest::qWait(10000);
+}
+
+PHONE_QT_NOTE_CONTROLLER_TEST_MAIN(TestPhoneNoteController)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phonenotecontroller/ut_phonenotecontroller.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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 = 
+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
+
+    LIBS += -lphoneuiutils
+    LIBS += -lphoneuiqtview
+
+    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
+HEADERS += ../../inc/phonenotecontroller.h
+SOURCES += ../../src/phonenotecontroller.cpp
+SOURCES += unit_tests.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,447 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hbaction.h>
+//#include <hbglobal_p.h>
+#include <phoneappvoipcommands.hrh>
+#include "phoneresourceadapter.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
+{
+    Q_OBJECT
+public:
+    TestPhoneResourceAdapter();
+    virtual ~TestPhoneResourceAdapter();
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup (); 
+    
+private slots:
+    void testConvert ();
+    void testConvertToString ();
+    void testConvertToString2 ();
+    void testDefaultToolbarResourceId();
+    void testConvertCommandToString();
+    void testConvertToHbActions();
+
+private:
+    void testIncallToolbar (int id); // helper function
+    
+private:
+    PhoneResourceAdapter *m_resourceAdapter; // class under test
+};
+
+TestPhoneResourceAdapter::TestPhoneResourceAdapter ()
+{
+}
+
+TestPhoneResourceAdapter::~TestPhoneResourceAdapter ()
+{
+}
+
+void TestPhoneResourceAdapter::initTestCase ()
+{
+    m_resourceAdapter = PhoneResourceAdapter::Instance (this);
+}
+
+void TestPhoneResourceAdapter::cleanupTestCase ()
+{
+    delete m_resourceAdapter;
+}
+
+void TestPhoneResourceAdapter::init ()
+{
+}
+
+void TestPhoneResourceAdapter::cleanup ()
+{
+}
+
+void TestPhoneResourceAdapter::testConvert ()
+{
+    // For coverage
+    m_resourceAdapter = PhoneResourceAdapter::Instance (this);
+    PhoneUIQtButtonsController* buttonsController = 
+        m_resourceAdapter->buttonsController ();
+    
+
+    QMap<PhoneAction::ActionType, PhoneAction *> map;
+    map = m_resourceAdapter->convert (R_PHONEUI_INCOMING_CALL_BUTTONS);
+    QCOMPARE (map.size (), 2);
+    PhoneAction *action = map [PhoneAction::LeftButton];
+    QCOMPARE (action->text (), QString ("Answer"));
+    QCOMPARE (action->icon (), HbIcon(":/pri_large_button_answer.svg"));
+    QCOMPARE (action->command (), (int)EPhoneCallComingCmdAnswer);
+    action = map [PhoneAction::RightButton];
+    QCOMPARE (action->text (), QString ("Reject"));
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_button_reject.svg"));
+    QCOMPARE (action->command (), (int)EPhoneCallComingCmdReject);
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_INCALL_BUTTONS);
+    QCOMPARE (map.size (), 2);
+    action = map [PhoneAction::LeftButton];
+    QCOMPARE (action->text (), QString ("Hold"));
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_button_hold.svg"));
+    QCOMPARE (action->command (), (int)EPhoneInCallCmdHold);
+    action = map [PhoneAction::RightButton];
+    QCOMPARE (action->text (), QString ("End call"));
+    QCOMPARE (action->icon (), HbIcon(":/pri_large_button_endcall.svg"));
+    QCOMPARE (action->command (), (int)EPhoneInCallCmdEndThisActiveCall);
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_INCALL_HELD_BUTTONS);
+    QCOMPARE (map.size (), 2);
+    action = map [PhoneAction::LeftButton];
+    QCOMPARE (action->text (), QString ("Unhold"));
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_button_onhold.svg"));
+    QCOMPARE (action->command (), (int)EPhoneInCallCmdUnhold);
+    action = map [PhoneAction::RightButton];
+    QCOMPARE (action->text (), QString ("End call"));
+    QCOMPARE (action->icon (), HbIcon(":/pri_large_button_endcall.svg"));
+    QCOMPARE (action->command (), (int)EPhoneInCallCmdEndThisActiveCall);
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_WAITING_CALL_BUTTONS);
+    QCOMPARE (map.size (), 2);
+    action = map [PhoneAction::LeftButton];
+    QCOMPARE (action->text (), QString ("Answer"));
+    QCOMPARE (action->icon (), HbIcon(":/pri_large_button_answer.svg"));
+    QCOMPARE (action->command (), (int)EPhoneCallComingCmdAnswer);
+    action = map [PhoneAction::RightButton];
+    QCOMPARE (action->text (), QString ("Reject"));
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_button_reject.svg"));
+    QCOMPARE (action->command (), (int)EPhoneCallComingCmdReject);
+
+    map = m_resourceAdapter->convert (R_PHONEUI_TWO_SINGLES_BUTTONS);
+    QCOMPARE (map.size (), 2);
+    action = map [PhoneAction::LeftButton];
+    QCOMPARE (action->text (), QString ("Swap"));
+    QCOMPARE (action->icon (), HbIcon(":/qgn_indi_button_swap.svg"));
+    QCOMPARE (action->command (), (int)EPhoneInCallCmdSwap);
+    action = map [PhoneAction::RightButton];
+    QCOMPARE (action->text (), QString ("End call"));
+    QCOMPARE (action->icon (), HbIcon(":/pri_large_button_endcall.svg"));
+    QCOMPARE (action->command (), (int)EPhoneInCallCmdEndThisActiveCall);    
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA);
+    QCOMPARE (map.size (), 2);
+    action = map [PhoneAction::ToolbarButton1];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_comp_message.svg"));    
+    action = map [PhoneAction::ToolbarButton2];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_silence.svg"));
+    QCOMPARE (action->command (), (int)EPhoneCallComingCmdSilent);    
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_INCOMINGCALL_REJECT_CBA);
+    QCOMPARE (map.size (), 2);
+    action = map [PhoneAction::ToolbarButton1];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_comp_message.svg"));    
+    action = map [PhoneAction::ToolbarButton2];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_silence.svg"));
+    //Command is disabled
+    //QCOMPARE (action->command (), (int)EPhoneCallComingCmdReject);    
+     
+    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_INCOMINGCALL_SOFT_REJECT_CBA);
+    QCOMPARE (map.size (), 2);
+    action = map [PhoneAction::ToolbarButton1];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_comp_message.svg"));    
+    action = map [PhoneAction::ToolbarButton2];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_silence.svg"));
+    //Command is disabled
+    //QCOMPARE (action->command (), (int)EPhoneCallComingCmdReject); 
+
+    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_CALLWAITING_CBA);
+    QCOMPARE (map.size (), 2);
+    action = map [PhoneAction::ToolbarButton1];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_comp_message.svg"));    
+    action = map [PhoneAction::ToolbarButton2];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_join.svg"));
+    QCOMPARE (action->command (), (int)EPhoneInCallCmdJoin);    
+    
+    testIncallToolbar( R_PHONEUI_DIALER_CBA );
+    testIncallToolbar( R_PHONEUI_INCALL_DIALER_CBA );
+    testIncallToolbar( R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA );
+    testIncallToolbar( R_PHONEUI_CALLHANDLING_INCALL_UNHOLD_CBA );
+    testIncallToolbar( R_PHONEUI_CALLHANDLING_INCALL_UNMUTE_CBA );
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_MTCAL_INCOMING_CALL);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("calling"));
+
+    map = m_resourceAdapter->convert (R_PHONEUI_INCALL_CALL_DISCONNECTED);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("disconnected"));
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_INCALL_CALL_HELD);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("on hold"));
+
+    map = m_resourceAdapter->convert (R_PHONEUI_MULTC_WAITING);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("waiting"));
+
+    map = m_resourceAdapter->convert (R_PHONEUI_INCALL_CALL_NUMBER, 3);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("Call 3"));
+
+    map = m_resourceAdapter->convert (R_PHONEUI_CALL_SETUP_BUTTONS);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::LeftButton];
+    QCOMPARE (action->text (), QString ("End call"));
+    QCOMPARE (action->icon (), HbIcon(":/pri_large_button_endcall.svg"));
+    QCOMPARE (action->command (), (int)EPhoneInCallCmdEndThisOutgoingCall);
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_TIME_DURAT_LONG_WITH_ZERO);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("%:0%H%:1%T%:2%S%:3"));
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_OUT_GOING_CALL);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("Calling"));
+
+    map = m_resourceAdapter->convert (R_PHONEUI_MTCAL_CLI_WITHHELD);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("Private number"));
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_MTCAL_CALL);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("Call"));
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_EMERGENCY_CALL_HEADER);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("Emergency call"));
+
+    map = m_resourceAdapter->convert (R_PHONEUI_ATTEMPTING_EMERGENCY_CALL_TEXT);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("Attempting"));
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_EMERGENCY_CALL_BUTTONS);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::LeftButton];
+    QCOMPARE (action->text (), QString ("End call"));
+    QCOMPARE (action->icon (), HbIcon(":/pri_large_button_endcall.svg"));
+    QCOMPARE (action->command (), (int)EPhoneCmdEnd);
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_EMERGENCY_CBA);
+    QCOMPARE (map.size (), 2);
+    action = map [PhoneAction::ToolbarButton1];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_dialler.svg"));
+    action = map [PhoneAction::ToolbarButton2];
+    QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_loudsp_unmute.svg"));
+    QCOMPARE (action->command (), (int)EPhoneInCallCmdActivateIhf);        
+    
+    map = m_resourceAdapter->convert (R_PHONEUI_CONFERENCE_CALL);
+    QCOMPARE (map.size (), 1);
+    action = map [PhoneAction::Text];
+    QCOMPARE (action->text (), QString ("Conference"));
+    
+    TBuf<10> buffer(_L("123"));
+    map = m_resourceAdapter->convert (R_PHONEUI_SENDING_DTMF_WAIT_NOTE_TEXT, &buffer);
+    QCOMPARE (map.size(), 1);
+    action = map[PhoneAction::Text];
+    QCOMPARE (action->text(), QString("Sending:\n123"));
+    
+    map = m_resourceAdapter->convert(R_PHONEUI_DTMF_WAIT_CHARACTER_CONFIRMATION_QUERY_TEXT, &buffer);
+    QCOMPARE(map.size(), 1);
+    action = map[PhoneAction::Text];
+    QCOMPARE(action->text(), QString("Send string:\n123"));
+    
+    // TODO
+    map = m_resourceAdapter->convert (R_PHONEUI_CALLHANDLING_INCALL_HANDSET_CBA);
+    
+    map = m_resourceAdapter->convert (0);
+    QCOMPARE (map.size (), 0);
+}
+
+void TestPhoneResourceAdapter::testConvertToString ()
+{
+    m_resourceAdapter = PhoneResourceAdapter::Instance (this);
+        
+    QString testString = m_resourceAdapter->convertToString(R_PHONE_ERROR_CALL_NOT_ALLOWED); 
+    QCOMPARE( testString, QString ("Call not allowed") );
+    
+    QString testString2 = m_resourceAdapter->convertToString(R_ERROR_NOTE_NOT_ALLOWED); 
+    QCOMPARE( testString2, QString ("Not allowed") );
+    
+    QString testString3 = m_resourceAdapter->convertToString(R_NOTETEXT_INVALID_PHONENUMBER); 
+    QCOMPARE( testString3, QString ("Invalid phone number") );
+    
+    QString testString4 = m_resourceAdapter->convertToString(R_NOTETEXT_NO_ANSWER); 
+    QCOMPARE( testString4, QString ("No answer") );
+    
+    QString testString5 = m_resourceAdapter->convertToString(R_PHONE_ERROR_NUMBER_BUSY); 
+    QCOMPARE( testString5, QString ("Number busy") );
+    
+    QString testString6 = m_resourceAdapter->convertToString(R_PHONE_SS_NOTIFICATION_MOCAL_WAITING_TEXT); 
+    QCOMPARE( testString6, QString ("Waiting") );
+    
+    QString testString7 = m_resourceAdapter->convertToString(R_PHONE_SS_NOTIFICATION_INCAL_INFO_HOLD_TEXT); 
+    QCOMPARE( testString7, QString ("On hold") );
+    
+    QString testString8 = m_resourceAdapter->convertToString(R_INCAL_INFO_HOLD_TEXT); 
+    QCOMPARE( testString8, QString ("On hold") );
+    
+    QString testString9 = m_resourceAdapter->convertToString(R_INCAL_REMOTE_ACTIVE_TEXT); 
+    QCOMPARE( testString9, QString ("Connected") );
+    
+    QString testString10 = m_resourceAdapter->convertToString(R_INCAL_INFO_CONF_HOLD_TEXT); 
+    QCOMPARE( testString10, QString ("Conference on hold") );
+    
+    QString testString11 = m_resourceAdapter->convertToString(R_PHONE_INCALL_INFO_NO_NETWORK_SUPPORT); 
+    QCOMPARE( testString11, QString ("No network support for video call") );
+    
+    QString testString12 = m_resourceAdapter->convertToString(0); 
+    QCOMPARE( testString12, QString ("") );
+}
+
+void TestPhoneResourceAdapter::testConvertToString2 ()
+{
+    m_resourceAdapter = PhoneResourceAdapter::Instance (this);
+        
+    QString testString = m_resourceAdapter->convertToString(
+            R_PHONE_TEXT_COLP_CONNECTED, QString("123456"));
+    
+    QCOMPARE( testString, QString ("Connected to 123456") );
+       
+    QString testString2 = m_resourceAdapter->convertToString(0, QString()); 
+    QCOMPARE( testString2, QString ("") );
+}
+
+void TestPhoneResourceAdapter::testIncallToolbar (int id)
+{
+    QMap<PhoneAction::ActionType, PhoneAction *> map;
+    PhoneAction *action;
+    map = m_resourceAdapter->convert (id);
+    QCOMPARE (map.size (), 4);
+    
+    switch(id) {
+    case R_PHONEUI_CALLHANDLING_INCALL_UNMUTE_CBA:
+        action = map [PhoneAction::ToolbarButton1];
+        QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_dialler.svg"));
+        action = map [PhoneAction::ToolbarButton2];
+        QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_unmute.svg"));
+        QCOMPARE (action->command (), (int)EPhoneInCallCmdUnmute);    
+        action = map [PhoneAction::ToolbarButton3];
+        QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_loudsp_unmute.svg"));
+        QCOMPARE (action->command (), (int)EPhoneInCallCmdActivateIhf);        
+        break;
+    default:    
+        action = map [PhoneAction::ToolbarButton1];
+        QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_dialler.svg"));
+        action = map [PhoneAction::ToolbarButton2];
+        QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_mute.svg"));
+        QCOMPARE (action->command (), (int)EPhoneInCallCmdMute);    
+        action = map [PhoneAction::ToolbarButton3];
+        QCOMPARE (action->icon (), HbIcon(":/qtg_large_tb_loudsp_unmute.svg"));
+        QCOMPARE (action->command (), (int)EPhoneInCallCmdActivateIhf);
+        break;
+    }
+}
+
+void TestPhoneResourceAdapter::testDefaultToolbarResourceId()
+{
+    QVERIFY(m_resourceAdapter->defaultToolbarResourceId()==
+            R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA);
+}
+
+void TestPhoneResourceAdapter::testConvertCommandToString ()
+{
+    m_resourceAdapter = PhoneResourceAdapter::Instance (this);
+    
+    QString testString = m_resourceAdapter->convertCommandToString(
+            EPhoneInCallCmdEndAllCalls);    
+    QCOMPARE( testString, QString ("End all calls") );
+    
+    testString = m_resourceAdapter->convertCommandToString(
+            EPhoneInCallCmdTransfer);    
+    QCOMPARE( testString, QString ("Transfer") );
+    
+    testString = m_resourceAdapter->convertCommandToString(
+            EPhoneInCallCmdSwitchToVideo);    
+    QCOMPARE( testString, QString ("Call back with video call") );
+    
+    testString = m_resourceAdapter->convertCommandToString(
+            EPhoneCmdHandoverToWlan);    
+    QCOMPARE( testString, QString ("Handover to WLAN") );
+    
+    testString = m_resourceAdapter->convertCommandToString(
+            EPhoneCmdHandoverToGsm);    
+    QCOMPARE( testString, QString ("Handover to GSM") );
+    
+    testString = m_resourceAdapter->convertCommandToString(0); 
+    QCOMPARE( testString, QString ("") );
+}
+
+void TestPhoneResourceAdapter::testConvertToHbActions()
+{
+    m_resourceAdapter = PhoneResourceAdapter::Instance (this);
+    
+    QList<HbAction*> testList = m_resourceAdapter->convertToHbActions(R_PHONEUI_DTMF_WAIT_CHARACTER_CONFIRMATION_QUERY);    
+    QCOMPARE( testList.count(), 2 );
+    QCOMPARE( (int)EPhoneInCallCmdContinueSendingDtmfString, 
+              testList.at(0)->data().toInt());
+    QCOMPARE( (int)EPhoneInCallCmdCancelSendingDtmfString, 
+              testList.at(1)->data().toInt());
+    qDeleteAll(testList);
+    testList.clear();
+    
+    testList = m_resourceAdapter->convertToHbActions(R_PHONEUI_SENDING_DTMF_WAIT_NOTE);    
+    QCOMPARE( testList.count(), 1 );
+    QCOMPARE( (int)EPhoneInCallCmdCancelSendingDtmfString, 
+              testList.at(0)->data().toInt());
+    qDeleteAll(testList);
+    testList.clear();
+    
+    testList = m_resourceAdapter->convertToHbActions(0);    
+    QCOMPARE( testList.count(), 0 );
+}
+
+PHONE_QT_RESOURCE_ADAPTER_TEST_MAIN(TestPhoneResourceAdapter)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneresourceadapter/ut_phoneresourceadapter.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+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
+
+    LIBS += -lphoneuiutils
+    LIBS += -lphoneuiqtview
+
+    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 += unit_tests.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/phonecommandextensionwrapper_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,147 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Wraps phone command extensions.
+*/
+
+#include "phonecommandextensionwrapper.h"
+#include <QtDebug>
+#include <pevirtualengine.h>
+#include <hbaction.h>
+
+bool m_setActions;
+bool m_setInvalidCommand;
+bool m_setInvalidButtonCommands;
+QList<HbAction*> m_menuActions;
+
+  
+PhoneCommandExtensionWrapper::PhoneCommandExtensionWrapper(int pluginUid) :
+    m_pluginUid(pluginUid)
+{
+
+}
+
+PhoneCommandExtensionWrapper::~PhoneCommandExtensionWrapper()
+{
+
+}
+
+int PhoneCommandExtensionWrapper::pluginUid()
+{
+    return m_pluginUid;
+}
+
+void PhoneCommandExtensionWrapper::modifyMenuCommandList(
+        const QList<XQTelUiCommandExtension::CallInfo> &callInfo, 
+        QList<int> &menuCmdList)
+{    
+    if (m_setInvalidCommand) {
+        menuCmdList.append(-1);
+    }
+}
+
+void PhoneCommandExtensionWrapper::modifyPushButtonCommandList(
+        const QList<XQTelUiCommandExtension::CallInfo> &callInfo, 
+        QList<int> &buttonCmdList)
+{    
+    if (m_setInvalidButtonCommands) {
+        buttonCmdList.clear();
+        buttonCmdList.append(-1);
+        buttonCmdList.append(-2);
+    }
+}
+
+void PhoneCommandExtensionWrapper::addMenuActions(
+        const QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+        QList<HbAction*> &menuActions)
+{
+    if (m_setActions) {
+        HbAction *action = new HbAction;
+        action->setText(QString("Test"));
+        m_menuActions.append(action);
+        menuActions.append(action);
+    }
+}
+
+void PhoneCommandExtensionWrapper::releaseMenu()
+{
+    qDeleteAll(m_menuActions);
+    m_menuActions.clear();
+}
+
+void PhoneCommandExtensionWrapper::release()
+{
+
+}
+
+void PhoneCommandExtensionWrapper::getCallInfoList(
+        QList<XQTelUiCommandExtension::CallInfo> &callInfo,
+        QMap<int,int> callStates, 
+        QMap<int,int> serviceIds,
+        int expandedCall )
+{
+    for (int i=0;i<callStates.keys().count();++i) {
+        XQTelUiCommandExtension::CallInfo info;
+        info.mCallState = mapCallState(callStates.values().at(i));
+        info.mServiceId = serviceIds.value(callStates.keys().at(i));
+        info.mIsExpanded = (expandedCall == callStates.keys().at(i));
+        callInfo.append(info);
+    }
+}
+
+XQTelUiCommandExtension::CallState PhoneCommandExtensionWrapper::mapCallState(
+        int callState )
+{
+    XQTelUiCommandExtension::CallState state(XQTelUiCommandExtension::None);
+    
+    switch( callState ) {
+    case EPEStateDisconnecting:
+        {
+        state = XQTelUiCommandExtension::Disconnecting;
+        }
+        break;
+    case EPEStateRinging:
+        {
+        state = XQTelUiCommandExtension::Incoming;
+        }
+        break;
+    case EPEStateDialing:
+    case EPEStateConnecting: 
+        {
+        state = XQTelUiCommandExtension::Outgoing;
+        }
+        break;
+    case EPEStateConnected:
+    case EPEStateConnectedConference:
+        {
+        state = XQTelUiCommandExtension::Active;
+        }
+        break;
+    case EPEStateHeld:
+    case EPEStateHeldConference:
+        {
+        state = XQTelUiCommandExtension::OnHold;
+        }
+        break;
+    case EPEStateUnknown:
+    case EPEStateIdle:
+    case EPEStateConferenceIdle:   
+        break;
+    default:
+        break;
+    }
+    
+    return state;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/phoneuiqtbuttonscontroller_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "phoneuiqtbuttonscontroller.h"
+#include <QtDebug>
+
+int m_phoneButtonFlags;
+
+PhoneUIQtButtonsController::PhoneUIQtButtonsController() : m_buttonFlags(0)
+{
+}
+
+PhoneUIQtButtonsController::~PhoneUIQtButtonsController ()
+{
+}
+
+void PhoneUIQtButtonsController::setButtonFlags (PhoneButtonFlags flag,bool set)
+{
+    if (set) 
+        {
+        // Set the flag on (=1)
+        m_buttonFlags |= flag; 
+        }
+    else 
+        {
+        // Set the flag off (=0)
+        m_buttonFlags &= (~flag);     
+        }
+    
+    m_phoneButtonFlags = m_buttonFlags;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,680 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PhoneUIQtViewAdapter.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <QList>
+#include <hbapplication.h>
+#include <phoneappcommands.hrh>
+#include "phoneuiqtviewif.h"
+#include "pevirtualengine.h"
+#include "bubblemanagerif.h"
+#include "phonebubblewrapper.h"
+#include "phoneuicommandcontroller.h"
+
+extern bool m_setActions;
+extern bool m_setInvalidCommand;
+extern QList<HbAction*> m_menuActions;
+extern bool m_setInvalidButtonCommands;
+
+#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 TestPhoneUiCommandController : public QObject, public PhoneUIQtViewIF, public BubbleManagerIF
+{
+    Q_OBJECT
+public:
+    TestPhoneUiCommandController();
+    virtual ~TestPhoneUiCommandController();
+
+    // From PhoneUIQtViewIF
+    BubbleManagerIF& bubbleManager ();
+    void addBubbleCommand (int bubbleId, const PhoneAction& action);
+    void clearBubbleCommands (int bubbleId);
+    void addParticipantListAction(
+            int commandId,  
+            const QString &text, 
+            const HbIcon &icon);
+    void clearParticipantListActions();
+    void hideToolbar () { };
+    void showToolbar () { m_showToolbarCalled = true; };
+    void setToolbarActions (const QList<PhoneAction*>& actions) {m_toolbarActionCount = actions.count(); };
+    int volumeSliderValue () { m_volumeSliderValueCalled = true; return 5; };
+    void removeVolumeSlider () { m_removeVolumeSliderCalled = true; };
+    void setVolumeSliderValue (
+            int value, 
+            int commandId, 
+            int maxVolumeValue, 
+            int minVolumeValue ) { m_setVolumeSliderValueCalled = true; m_volumeSliderValue = value; };
+
+    void setExpandAction(int bubbleId, int commandId) {m_expandAction[bubbleId]=commandId;};
+    void removeExpandAction(int bubbleId) {};
+    void showDialpad() {m_showDialpadCalled = true;};  
+    void hideDialpad() {m_hideDialpadCalled = true;};  
+    bool isDialpadVisible() 
+        {m_dialpadVisibilityCalled = true;
+    return m_isDialpadVisible; }
+    QString dialpadText() {return m_dialpadText;};
+    void clearAndHideDialpad() { m_clearAndHideDialpadCalled = true;};
+    void bringToForeground() {;};
+    void setMenuActions(const QList<PhoneAction*>& actions) { m_setMenuActionsCalled = true;};
+    void shutdownPhoneApp() {;};
+    void setBackButtonVisible(bool visible) {;};
+    HbMenu &menuReference(){return m_menu;};
+    
+    // From BubbleManagerIF
+    void startChanges () { m_startChangesCalled=true; };
+    void endChanges () { m_endChangesCalled=true; };
+    int createCallHeader () { return 0; };
+    void removeCallHeader (int bubbleId) {};
+    void setState (int bubbleId, PhoneCallState state) {};
+    void setLabel ( 
+        int bubbleId, 
+        const QString& text, 
+        Qt::TextElideMode clipDirection) {};
+    void setCli (int bubbleId, 
+                 const QString& cliText, 
+                 Qt::TextElideMode clipDirection) {};
+    void updateCLI ( 
+        int bubbleId, 
+        const QString& cliText, 
+        Qt::TextElideMode clipDirection) {};
+    void setSecondaryCli ( 
+        int bubbleId, 
+        const QString& cliText, 
+        Qt::TextElideMode clipDirection = Qt::ElideLeft) {};
+    void setCallTime (int bubbleId, const QString& callTime) {};
+    void updateCallTime (int bubbleId, const QString& callTime) { m_updateCallTimeCalled=true; m_int=bubbleId; m_string=callTime; };
+    void setCallObjectImage (int bubbleId, const QString &fileName) {};
+    void setCallObjectFromTheme (int bubbleId) {};
+    void setCallObjectText (int bubbleId, const QString &text) {};
+    void setCallFlags (int bubbleId, int flags) {};
+    void setCallFlag (int bubbleId, PhoneCallFlags flag, bool set) {};
+    void setNumberType (int bubbleId, PhoneNumberType type) {};
+    void updateCallHeaderText( 
+        int bubbleId, 
+        const QString &longText, 
+        const QString &shortText, 
+        Qt::TextElideMode clipDirection) {};
+    void setPhoneMuted (bool muted) { m_setPhoneMutedCalled = muted; };
+    int createConference (int bubble1, int bubble2) { return 1; };
+    void removeConference () {};
+    void addRowToConference (int bubbleId) {};
+    void removeRowFromConference (int bubbleId) {};
+    int conferenceRowCount () const { return 2; };
+    void setSelectionInConference (int rowNumber) {};
+    void setSelectionIdInConference (int bubbleId) {};
+    int selectionInConference () const { return 0; };
+    int selectionIdInConference () const { return 0; };
+    void moveHighlightOneUpInConference () {};
+    void moveHighlightOneDownInConference () {};
+    void setExpandedConferenceCallHeader (bool expanded) { m_ExpandConferenceCalled = true; };
+    bool isConferenceExpanded () const { return false; };
+    int shownHeaderCount () const { return 1; };
+    void setParticipantListCli (int aBubbleId, ParticipantListCli aParticipantCli) {};
+    void addAction (int bubble, HbAction *action) {};
+    void clearActions (int bubble) {};
+    QGraphicsWidget* graphicsWidgetForAction (HbAction *action) const { return 0;};
+    void addParticipantListAction (HbAction *action) {};
+    int expandedBubble() const { return 1; };
+    void setExpandAction(int bubbleId, HbAction* action) {};
+    void setBubbleSelectionDisabled(bool b) {};
+    
+signals:
+    void dialpadAboutToClose();
+    void keyPressReleased(QKeyEvent *event);
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup ();
+    
+private slots:
+    void testSetCallMenuActions();
+    void testSetDialpadMenuActions();
+    void testPushButtonActionsForCall();
+
+
+private:
+    PhoneUiCommandController *m_commandController; // class under test
+
+    bool m_showToolbarCalled;
+    bool m_updateCallTimeCalled;
+    int m_int;
+    QString m_string;
+    HbAction *m_action;
+    int  m_toolbarActionCount;
+    bool m_startChangesCalled;
+    bool m_endChangesCalled;
+    bool m_volumeSliderValueCalled;
+    bool m_removeVolumeSliderCalled;
+    bool m_setVolumeSliderValueCalled;
+    int m_volumeSliderValue;
+    bool m_setPhoneMutedCalled;
+    QMap<int, QList<int> *> m_actionMap;
+    QMap<int,int> m_expandAction;
+    bool m_showDialpadCalled;
+    bool m_hideDialpadCalled;
+    bool m_dialpadVisibilityCalled;
+    bool m_clearAndHideDialpadCalled;
+    bool m_ExpandConferenceCalled;
+    bool m_setMenuActionsCalled;
+    bool m_isDialpadVisible;
+    QString m_dialpadText;
+    HbMenu m_menu;
+
+};
+
+TestPhoneUiCommandController::TestPhoneUiCommandController ()
+{
+}
+
+TestPhoneUiCommandController::~TestPhoneUiCommandController ()
+{
+}
+
+void TestPhoneUiCommandController::initTestCase ()
+{
+    m_commandController = new PhoneUiCommandController (*this);
+}
+
+void TestPhoneUiCommandController::cleanupTestCase ()
+{
+    delete m_commandController;
+}
+
+void TestPhoneUiCommandController::init ()
+{
+    m_startChangesCalled = false;
+    m_endChangesCalled = false;
+}
+
+void TestPhoneUiCommandController::cleanup ()
+{
+}
+
+BubbleManagerIF& TestPhoneUiCommandController::bubbleManager ()
+{
+    return *this;
+}
+
+void TestPhoneUiCommandController::addBubbleCommand (
+        int bubbleId, const PhoneAction& action)
+{
+
+}
+
+void TestPhoneUiCommandController::clearBubbleCommands (int bubbleId)
+{
+
+}
+
+void TestPhoneUiCommandController::addParticipantListAction(
+    int commandId,
+    const QString& text, 
+    const HbIcon& icon)
+{
+
+}
+
+void TestPhoneUiCommandController::clearParticipantListActions()
+{
+
+}
+
+void TestPhoneUiCommandController::testSetCallMenuActions()
+{
+    QMap<int,int> callStates;
+    QMap<int,int> serviceIds;
+    int serviceId(2);
+    int expandedCallId(1);
+    callStates[expandedCallId] = EPEStateConnected;
+    serviceIds[expandedCallId] = serviceId;
+    
+    
+    m_commandController->setCallMenuActions(callStates,serviceIds,serviceId,expandedCallId);
+    QVERIFY(m_setMenuActionsCalled);
+    m_setMenuActionsCalled = false;
+    
+    m_setActions = true;
+    m_commandController->setCallMenuActions(callStates,serviceIds,serviceId,expandedCallId);
+    QVERIFY(m_setMenuActionsCalled);
+    m_setMenuActionsCalled = false;
+    m_setActions = false;
+    
+    m_setInvalidCommand = true;
+    callStates[expandedCallId] = EPEStateHeld;
+    m_commandController->setCallMenuActions(callStates,serviceIds,serviceId,expandedCallId);
+    QVERIFY(m_setMenuActionsCalled);
+    m_setMenuActionsCalled = false;
+    m_setInvalidCommand = false;
+    
+    callStates[0] = EPEStateConnected;
+    serviceIds[0] = serviceId;
+    
+    m_commandController->setCallMenuActions(callStates,serviceIds,serviceId,expandedCallId);
+    QVERIFY(m_setMenuActionsCalled);
+    m_setMenuActionsCalled = false;
+    
+    callStates[0] = EPEStateRinging;
+    
+    m_commandController->setCallMenuActions(callStates,serviceIds,serviceId,expandedCallId);
+    QVERIFY(m_setMenuActionsCalled);
+    m_setMenuActionsCalled = false;
+    
+    serviceIds[0] = 3;
+    callStates[0] = EPEStateConnected;
+    
+    m_commandController->setCallMenuActions(callStates,serviceIds,3,expandedCallId);
+    QVERIFY(m_setMenuActionsCalled);
+    m_setMenuActionsCalled = false;
+    
+    callStates[2] = EPEStateRinging;
+    serviceIds[2] = 3;
+    
+    m_commandController->setCallMenuActions(callStates,serviceIds,serviceId,expandedCallId);
+    QVERIFY(m_setMenuActionsCalled);
+    m_setMenuActionsCalled = false;
+    
+    callStates[3] = EPEStateDisconnecting;
+    serviceIds[3] = 3;
+    
+    m_commandController->setCallMenuActions(callStates,serviceIds,serviceId,expandedCallId);
+    QVERIFY(m_setMenuActionsCalled);
+    m_setMenuActionsCalled = false;
+}
+
+void TestPhoneUiCommandController::testSetDialpadMenuActions()
+{
+    m_setMenuActionsCalled = false;
+    m_commandController->setDialpadMenuActions();
+    QVERIFY(m_setMenuActionsCalled);
+}
+
+void TestPhoneUiCommandController::testPushButtonActionsForCall()
+{
+    int callState = EPEStateConnected;
+    bool emergencyCall = false;
+    QMap<int,int> callStates;
+    QMap<int,int> serviceIds;
+    int serviceId(2);
+    int callId(1);
+    callStates[callId] = EPEStateConnected;
+    serviceIds[callId] = serviceId;
+    
+    QMap<PhoneAction::ActionType, PhoneAction *> actions = 
+        m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    m_setInvalidButtonCommands = true;
+    actions =  m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0==actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();  
+    m_setInvalidButtonCommands = false;
+    
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            true,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateHeld;
+    callState = EPEStateHeld;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateRinging;
+    callState = EPEStateRinging;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateIdle;
+    callState = EPEStateIdle;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0==actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+
+    callStates[callId] = EPEStateDisconnecting;
+    callState = EPEStateDisconnecting;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0==actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateConferenceIdle;
+    callState = EPEStateConferenceIdle;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0==actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateUnknown;
+    callState = EPEStateUnknown;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0==actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateDialing;
+    callState = EPEStateDialing;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateConnecting;
+    callState = EPEStateConnecting;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateConnectedConference;
+    callState = EPEStateConnectedConference;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateHeldConference;
+    callState = EPEStateHeldConference;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+ 
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    //////////////////////////////////////////////////////////////////////////
+    //2 calls
+    //////////////////////////////////////////////////////////////////////////
+    
+    callStates[2] = EPEStateHeldConference;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[2] = EPEStateHeldConference;
+    callState = EPEStateHeldConference;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    serviceId = 3;
+    serviceIds[callId] = serviceId;
+    callStates[2] = EPEStateHeld;
+    serviceIds[2] = serviceId;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            true,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[2] = EPEStateHeldConference;
+    callState = EPEStateHeldConference;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[2] = EPEStateConnectedConference;
+    callState = EPEStateHeld;
+    callStates[callId] = EPEStateHeld;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callState = EPEStateConnectedConference;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateConnected;
+    callStates[2] = EPEStateHeldConference;
+    callState = EPEStateConnected;
+    
+    callState = EPEStateConnectedConference;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    callStates[callId] = EPEStateConnected;
+    callStates[2] = EPEStateHeldConference;
+    callState = EPEStateHeldConference;
+    
+    //////////////////////////////////////////////////////////////////////////
+    //3 calls
+    //////////////////////////////////////////////////////////////////////////
+    callStates[3] = EPEStateRinging;
+    serviceIds[3] = serviceId;
+    actions = m_commandController->pushButtonActionsForCall(
+            callState,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            callId);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    actions = m_commandController->pushButtonActionsForCall(
+            EPEStateRinging,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            3);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+    actions = m_commandController->pushButtonActionsForCall(
+            EPEStateHeld,
+            emergencyCall,
+            callStates,
+            serviceIds,
+            serviceId,
+            2);
+    
+    QVERIFY(0<actions.values().count());
+    qDeleteAll(actions.values());
+    actions.clear();
+    
+}
+
+
+PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestPhoneUiCommandController)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuicommandcontroller/ut_phoneuicommandcontroller.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,59 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+TEMPLATE = app
+TARGET = 
+TARGET.UID3 = 0xEFF8FEA9
+DEPENDPATH += .
+INCLUDEPATH += .
+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 \
+                   ../../../phoneui2/srcdata
+
+
+    LIBS += -lphoneuiutils
+    LIBS += -lphoneuiqtview
+    LIBS += -lserviceprovidersettings
+
+    TARGET.CAPABILITY = ALL -TCB
+    DEFINES += FT_SYMBIAN_INTEGRATION
+    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
+}
+
+# Input
+HEADERS += ../../inc/phoneuicommandcontroller.h
+SOURCES += ../../src/phoneuicommandcontroller.cpp
+HEADERS += ../../inc/phoneresourceadapter.h
+SOURCES += ../../src/phoneresourceadapter.cpp
+HEADERS += ../../inc/phoneuiqtbuttonscontroller.h
+HEADERS += ../../inc/phonecommandextensionwrapper.h
+SOURCES += phoneuiqtbuttonscontroller_stub.cpp
+SOURCES += phonecommandextensionwrapper_stub.cpp
+SOURCES += unit_tests.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtbuttonscontroller/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,282 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <hbapplication.h>
+#include <QSignalSpy>
+//#include <hbglobal_p.h>
+#include "phoneuiqtbuttonscontroller.h"
+
+class TestPhoneUIQtButtonsController : public QObject
+{
+    Q_OBJECT
+public:
+    TestPhoneUIQtButtonsController();
+    virtual ~TestPhoneUIQtButtonsController();
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup (); 
+    
+private slots:
+    void testSetButtonFlags();
+    void testUnsetButtonFlags();
+    void testGetButtonFlags();
+
+private:
+    // Helper functions
+    bool checkFlags(bool hold, bool ihf, bool wired, bool btaa);
+    void setFlags(bool hold, bool ihf, bool wired, bool btaa);
+    
+private:
+    PhoneUIQtButtonsController *m_buttonsCtrl; // class under test
+};
+
+TestPhoneUIQtButtonsController::TestPhoneUIQtButtonsController ()
+{
+}
+
+TestPhoneUIQtButtonsController::~TestPhoneUIQtButtonsController ()
+{
+}
+
+void TestPhoneUIQtButtonsController::initTestCase ()
+{
+
+}
+
+void TestPhoneUIQtButtonsController::cleanupTestCase ()
+{
+
+}
+
+void TestPhoneUIQtButtonsController::init ()
+{
+    m_buttonsCtrl = new PhoneUIQtButtonsController ();
+}
+
+void TestPhoneUIQtButtonsController::cleanup ()
+{
+    delete m_buttonsCtrl;
+}
+
+void TestPhoneUIQtButtonsController::testSetButtonFlags()
+{
+    // Set one flag
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,true);
+    QVERIFY(checkFlags(true,false,false,false) == true);
+    
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,true);
+    QVERIFY(checkFlags(false,true,false,false) == true);
+    
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,true);
+    QVERIFY(checkFlags(false,false,true,false) == true);
+    
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,true);
+    QVERIFY(checkFlags(false,false,false,true) == true);
+    
+    // Two flags combinations
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,true);
+    QVERIFY(checkFlags(true,true,false,false) == true);
+    
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,true);
+    QVERIFY(checkFlags(true,false,true,false) == true);
+    
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,true);
+    QVERIFY(checkFlags(true,false,false,true) == true);
+    
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,true);
+    QVERIFY(checkFlags(false,true,true,false) == true);
+    
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,true);
+    QVERIFY(checkFlags(false,true,false,true) == true);
+    
+    // Three flags combinations
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,true);    
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,true);
+    QVERIFY(checkFlags(true,true,true,false) == true);
+    
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,true);        
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,true);
+    QVERIFY(checkFlags(true,true,false,true) == true);
+
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,true);
+    QVERIFY(checkFlags(true,false,true,true) == true);
+    
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,true);
+    QVERIFY(checkFlags(false,true,true,true) == true);
+    
+    // All flags set
+    setFlags(false,false,false,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,true);
+    QVERIFY(checkFlags(true,true,true,true) == true);    
+}
+
+void TestPhoneUIQtButtonsController::testUnsetButtonFlags()
+{
+    // Unset one flag
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,false);
+    QVERIFY(checkFlags(false,true,true,true) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,false);
+    QVERIFY(checkFlags(true,false,true,true) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,false);
+    QVERIFY(checkFlags(true,true,false,true) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,false);
+    QVERIFY(checkFlags(true,true,true,false) == true);
+    
+    // Two flags combinations
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,false);
+    QVERIFY(checkFlags(false,false,true,true) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,false);
+    QVERIFY(checkFlags(false,true,false,true) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,false);
+    QVERIFY(checkFlags(false,true,true,false) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,false);
+    QVERIFY(checkFlags(true,false,false,true) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,false);
+    QVERIFY(checkFlags(true,false,true,false) == true);
+    
+    // Three flags combinations
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,false);    
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,false);
+    QVERIFY(checkFlags(false,false,false,true) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,false);        
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,false);
+    QVERIFY(checkFlags(false,false,true,false) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,false);
+    QVERIFY(checkFlags(false,true,false,false) == true);
+    
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,false);
+    QVERIFY(checkFlags(true,false,false,false) == true);
+    
+    // All flags unset
+    setFlags(true,true,true,true);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,false);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,false);
+    QVERIFY(checkFlags(false,false,false,false) == true);    
+}
+
+void TestPhoneUIQtButtonsController::testGetButtonFlags()
+{
+    setFlags(true,false,false,false);
+    QVERIFY((m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold) == true &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf) == false &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Wired) == false &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Btaa) == false) == true);
+    
+    setFlags(false,true,false,false);
+    QVERIFY((m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold) == false &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf) == true &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Wired) == false &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Btaa) == false) == true);
+    
+    setFlags(false,false,true,false);
+    QVERIFY((m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold) == false &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf) == false &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Wired) == true &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Btaa) == false) == true);
+
+    setFlags(false,false,false,true);
+    QVERIFY((m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold) == false &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf) == false &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Wired) == false &&
+    m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Btaa) == true) == true);
+}
+
+bool TestPhoneUIQtButtonsController::checkFlags(bool hold, bool ihf, bool wired, bool btaa)
+{
+    return (hold == m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Hold) &&
+             ihf == m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Ihf) &&
+           wired == m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Wired) &&
+            btaa == m_buttonsCtrl->getButtonFlags(PhoneUIQtButtonsController::Btaa) );
+}
+
+void TestPhoneUIQtButtonsController::setFlags(bool hold, bool ihf, bool wired, bool btaa)
+{
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Hold,hold);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Ihf,ihf);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Wired,wired);
+    m_buttonsCtrl->setButtonFlags(PhoneUIQtButtonsController::Btaa,btaa);    
+}
+
+QTEST_MAIN(TestPhoneUIQtButtonsController)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtbuttonscontroller/ut_phoneuiqtbuttonscontroller.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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 = 
+TARGET.UID3 = 0xE37686c5
+DEPENDPATH += . \
+    ../../src
+INCLUDEPATH += . \
+    ../../inc
+CONFIG += hb
+CONFIG += qtestlib
+symbian:
+else:win32:DESTDIR = ./
+
+# CONFIG(debug,debug|release)
+# {
+# QMAKE_CXX = ctc -i d g++
+# LIBS += $$(CTCHOME)\lib\ctcmsnt.lib
+# }
+SOURCES += unit_tests.cpp \
+    ../../src/phoneuiqtbuttonscontroller.cpp
+HEADERS += ../../inc/phoneuiqtbuttonscontroller.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/cphonemediatorfactory_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,137 @@
+/*
+* 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 CPhoneMediatorFactory class.
+*
+*/
+
+
+// INCLUDE FILES
+#include "CPhoneMediatorFactory.h"
+#include "PhoneLogger.h"
+#include "PhoneConstants.h"
+#include "phoneui.pan"
+#include "cphonemediatorsender.h"
+#include "cphonemediatorcommandlistener.h"
+#include "cphonemediatormessagefactory.h"
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPhoneMediatorFactory::Instance
+// Initializes the singleton object
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+EXPORT_C CPhoneMediatorFactory* CPhoneMediatorFactory::Instance()
+    {
+    CPhoneMediatorFactory* instance = static_cast<CPhoneMediatorFactory*> 
+        ( CCoeEnv::Static ( KUidMediatorFactorySingleton ) );
+    
+    if ( !instance )
+        {
+        TRAPD( err, instance = CPhoneMediatorFactory::NewL() );
+        if ( err )
+	        {
+	        Panic( EPhoneMediatorCenterCouldNotCreateSingleton );	
+	        }
+        }
+    return instance;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorFactory::CPhoneMediatorFactory
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CPhoneMediatorFactory::CPhoneMediatorFactory() :
+    CCoeStatic( KUidMediatorFactorySingleton )
+    {
+    }
+
+// Destructor
+CPhoneMediatorFactory::~CPhoneMediatorFactory()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorFactory::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CPhoneMediatorFactory::ConstructL()
+    {
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorFactory::ConstructL( ) ");
+    }
+
+// -----------------------------------------------------------
+// CPhoneMediatorFactory::NewL()
+// Constructor
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+CPhoneMediatorFactory* CPhoneMediatorFactory::NewL()
+    {
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorFactory::NewL( ) ");
+    
+    CPhoneMediatorFactory* self = new ( ELeave ) CPhoneMediatorFactory;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorFactory::Sender
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CPhoneMediatorSender* CPhoneMediatorFactory::Sender()
+	{
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorFactory::Sender( ) ");
+    return CPhoneMediatorSender::Instance();
+	}
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorFactory::CommandListener
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CPhoneMediatorCommandListener* CPhoneMediatorFactory::CommandListener( 
+	MPhoneMenuAndCbaEvents* aMenuAndCbaEventHandler, 
+	MPhoneEngineMessageSender* aMessageSender,
+	MPEEngineInfo* aEngineInfo )
+	{
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorFactory::CommandListener( ) ");
+    CPhoneMediatorCommandListener* list = NULL;
+	return list;
+	}
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorFactory::MediatorMessage
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MPhoneMediatorMessage* CPhoneMediatorFactory::MediatorMessage(
+    const TInt aMessage, TInt aCallId )
+	{
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorFactory::MediatorMessage( ) ");
+	__ASSERT_DEBUG( iEngineInfo, Panic( EPhoneMediatorCenterParameterNotInitialized ) );
+
+	CPhoneMediatorMessageFactory* messageFactory = NULL;
+    MPhoneMediatorMessage* message = NULL;
+
+	return message;
+	}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/cphonemediatorsender_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,335 @@
+/*
+* 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 CPhoneMediatorSender class.
+*
+*/
+
+
+// INCLUDE FILES
+#include <MediatorDomainUIDs.h>
+#include "PhoneUI.hrh"
+#include "CPhoneMediatorSender.h"
+#include "PhoneLogger.h"
+#include "PhoneConstants.h"
+#include "PhoneMediatorPackageTypes.h"
+// <-- QT PHONE START --> 
+//#include "MPhoneCoverUiObserver.h"
+// <-- QT PHONE END --> 
+#include "phoneui.pan"
+#include "tphonecmdparamcallheaderdata.h"
+#include "tphonecmdparamboolean.h"
+//#include "mphoneenginemessagesender.h"
+#include "pevirtualengine.h"
+#include "mphoneshutdowncommand.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CPhoneMediatorSender::Instance
+// Initializes the singleton object
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+EXPORT_C CPhoneMediatorSender* CPhoneMediatorSender::Instance()
+    {
+    CPhoneMediatorSender* instance = static_cast<CPhoneMediatorSender*> 
+        ( CCoeEnv::Static ( KUidMediatorSenderSingleton ) );
+    
+    if ( !instance )
+        {
+        TRAPD( err, instance = CPhoneMediatorSender::NewL() );
+        if ( err )
+	        {
+	        Panic( EPhoneMediatorCenterCouldNotCreateSingleton );	
+	        }
+        }
+    return instance;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::CPhoneMediatorSender
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CPhoneMediatorSender::CPhoneMediatorSender() :
+    CCoeStatic( KUidMediatorSenderSingleton )
+    {
+    }
+
+// Destructor
+CPhoneMediatorSender::~CPhoneMediatorSender()
+    {
+    delete iCommandInitiator;
+    iEvents.Close();
+    iGenericEvents.Close(); 
+    delete iEventSender;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CPhoneMediatorSender::ConstructL()
+    {
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::ConstructL( ) ");
+   
+    }
+
+// -----------------------------------------------------------
+// CPhoneMediatorSender::NewL()
+// Constructor
+// (other items were commented in a header).
+// -----------------------------------------------------------
+//
+CPhoneMediatorSender* CPhoneMediatorSender::NewL()
+    {
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::NewL( ) ");
+    
+    CPhoneMediatorSender* self = new ( ELeave ) CPhoneMediatorSender;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::RegisterGenericEvents
+// -----------------------------------------------------------------------------
+//
+void CPhoneMediatorSender::RegisterGenericEvents()
+	{
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::RegisterGenericEvents( ) ");
+
+	}
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::SendEvent
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneMediatorSender::SendEvent( 
+    const TPhoneViewCommandId /*aCommandId*/ ) const
+    {
+    // No one yet intereseted this event.
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::SendEvent
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
+	const TInt aCallId ) const
+	{
+
+	}
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::SendEvent
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
+	TPhoneCommandParam& aCommandParam )
+	{
+
+	}
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::SendEvent
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
+ 	const TInt aCallId, TPhoneCommandParam& aCommandParam ) const
+	{
+	
+	}
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::SendEvent
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneMediatorSender::SendEvent( 
+    const TPhoneViewCommandId /*aCommandId*/, 
+    const TInt /*aCallId*/, const TDesC* /*aMessage*/ ) const
+    {
+    // No one interested yet from these events.
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::IssueCommand
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CPhoneMediatorSender::IssueCommand( const TUid aDomain, const TUid aCategory, 
+    const TInt aCommandId, const TVersion aVersion, const TDesC8& aData, 
+    MPhoneShutdownCommand* aShutdownCommand  )
+    {
+	return KErrNone;	
+	}
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::CommandResponseL
+// -----------------------------------------------------------------------------
+//
+void CPhoneMediatorSender::CommandResponseL( TUid aDomain, TUid aCategory, 
+	TInt aCommandId, TInt /*aStatus*/, const TDesC8& /*aData*/ )
+	{
+    // First check for buffered command
+	if( iCommandBuffer.iCommandId != KErrNotFound )
+		{
+		// We have a buffered command waiting
+        __PHONELOG( EBasic, EPhoneMediatorCenter, 
+            "CPhoneMediatorSender::VideoTelephonyCommandResponse - Buffered Command waiting" );
+		if( iCommandBuffer.iCommandId != aCommandId )
+			{
+			// And it's not identical to the command which response we now received
+			// so it's necessary to re-send it
+	        __PHONELOG1( EBasic, EPhoneMediatorCenter, 
+	            "CPhoneMediatorSender::VideoTelephonyCommandResponse - Resending command %d", iCommandBuffer.iCommandId );
+			IssueCommand( iCommandBuffer.iDomainUid,
+			              iCommandBuffer.iCategoryUid, 
+			              iCommandBuffer.iCommandId,
+                          iCommandBuffer.iVersion,
+                          KNullDesC8 );
+                          
+			ResetCommandBuffer();
+			}
+		}
+
+	}
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::VideoTelephonyCommandResponse
+// -----------------------------------------------------------------------------
+//
+void CPhoneMediatorSender::VideoTelephonyCommandResponse( TInt aCommandId )
+    {
+ 
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::MapCallState
+// -----------------------------------------------------------------------------
+//
+TCallState CPhoneMediatorSender::MapCallState( const TInt aCallState ) const
+    {
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::MapCallState( ) ");
+    TCallState callState( ECallStateUnknown );
+    
+    switch( aCallState )
+        {
+        case EPEStateUnknown:
+            callState = ECallStateUnknown;
+            break;
+            
+        case EPEStateIdle:
+            callState = ECallStateIdle;
+            break;
+            
+        case EPEStateDialing:
+            callState = ECallStateDialling;
+            break;
+            
+        case EPEStateEmergencyDialing:
+            callState = ECallStateEmergencyDialling;
+            break;
+            
+        case EPEStateRinging:
+            callState = ECallStateRinging;
+            break;
+            
+        case EPEStateConnecting:
+            callState = ECallStateConnecting;
+            break;
+            
+        case EPEStateConnected:
+            callState = ECallStateConnected;
+            break;
+            
+        case EPEStateHangingUp:
+            callState = ECallStateHangingUp;
+            break;
+            
+        case EPEStateHeld:
+            callState = ECallStateHeld;
+            break;
+            
+        case EPEStateAnswering:
+            callState = ECallStateAnswering;
+            break;
+            
+        case EPEStateRejecting:
+            callState = ECallStateRejecting;
+            break;
+            
+        case EPEStateDisconnecting:
+            callState = ECallStateDisconnecting;
+            break;
+            
+        default:
+            break;
+        }
+        
+    return callState;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::MapCallType
+// -----------------------------------------------------------------------------
+//
+TCallType CPhoneMediatorSender::MapCallType( const TInt aCallType ) const
+    {
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::MapCallType( ) ");
+    TCallType callType( ECallTypeUninitialized );
+    
+    switch( aCallType )
+        {
+        case EPECallTypeUninitialized:
+            callType = ECallTypeUninitialized;
+            break;
+            
+        case EPECallTypeCSVoice:
+            callType = ECallTypeCSVoice;
+            break;
+            
+        case EPECallTypeVideo:
+            callType = ECallTypeVideo;
+            break;
+            
+        case EPECallTypeVoIP:
+            callType = ECallTypeVoIP;
+            break;
+            
+        default:
+            break;
+        }
+        
+    return callType;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneMediatorSender::ResetCommandBuffer
+// -----------------------------------------------------------------------------
+//
+void CPhoneMediatorSender::ResetCommandBuffer()
+    {
+    __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::ResetCommandBuffer( ) ");
+    TUid nullUid = TUid::Null();
+    iCommandBuffer.iCommandId = KErrNotFound;
+    iCommandBuffer.iDomainUid = nullUid;
+    iCommandBuffer.iCategoryUid = nullUid;
+    iCommandBuffer.iVersion = TVersion( KErrNotFound, KErrNotFound, KErrNotFound );
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/cphoneringingtonecontroller_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,275 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <telephonyvariant.hrh>
+#include "cphoneringingtonecontroller.h"
+#include "phonelogger.h"
+#include "cphoneringingtone.h"
+#include "tphonecmdparamringtone.h"
+#include "cphonecenrepproxy.h"
+#include "cphoneringingtoneplayer.h"
+#include "cphonettsplayer.h"
+
+
+bool m_EPhoneViewMuteRingToneOnAnswer_called;
+bool m_EPhoneViewStopRingTone_called;
+bool m_EPhoneViewMuteRingTone_called;
+bool m_EPhoneViewPlayRingTone_called;
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::NewL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CPhoneRingingToneController* CPhoneRingingToneController::NewL()
+    {
+    CPhoneRingingToneController* self = 
+        new ( ELeave ) CPhoneRingingToneController();
+    
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::CPhoneRingingToneController
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingToneController::CPhoneRingingToneController()
+    {
+    m_EPhoneViewMuteRingToneOnAnswer_called = false;
+    m_EPhoneViewStopRingTone_called = false;
+    m_EPhoneViewMuteRingTone_called = false;
+    m_EPhoneViewPlayRingTone_called = false;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::ConstructL()
+    {
+
+
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::~CPhoneRingingToneController
+// -----------------------------------------------------------------------------
+//
+CPhoneRingingToneController::~CPhoneRingingToneController()
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::PlayRingToneL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneRingingToneController::PlayRingToneL( 
+                                         TPhoneCommandParam* aCommandParam )
+    {
+
+    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdRingTone )
+        {
+        m_EPhoneViewPlayRingTone_called = true;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::PlayAudioRingTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::PlayAudioRingTone( 
+    TInt aVolume, 
+    TProfileRingingType aRingingType )
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::MuteRingingToneOnAnswer
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneRingingToneController::MuteRingingToneOnAnswer()
+    {
+    m_EPhoneViewMuteRingToneOnAnswer_called = true;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::MuteRingingTone
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneRingingToneController::MuteRingingTone()
+    {
+    m_EPhoneViewMuteRingTone_called = true;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::StopPlaying
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPhoneRingingToneController::StopPlaying()
+    {
+    m_EPhoneViewStopRingTone_called = true;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::DoMuteRingingTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::DoMuteRingingTone()
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::ConvertVideoRingingType
+// -----------------------------------------------------------------------------
+//
+MPhoneVideoPlayer::TPlayMode CPhoneRingingToneController::ConvertVideoRingingType(
+    TProfileRingingType aRingingType )
+    {
+    MPhoneVideoPlayer::TPlayMode playMode;
+        
+    
+    return playMode;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::SetVideoPlayer
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::SetVideoPlayer( 
+    MPhoneVideoPlayer* aVideoPlayer )
+    {
+    iVideoPlayer = aVideoPlayer;    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::PlayVideoRingingTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::PlayVideoRingingTone( 
+    const CPhoneRingingTone& aRingingTone, 
+    TInt aVolume, 
+    TProfileRingingType aRingingType,
+    TBool aPersonalTone )
+    {
+   
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::HandleVideoPlayerError
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::HandleVideoPlayerError( 
+    TPhoneVideoPlayerErrorEvent /*aEvent*/,
+    TInt aError )
+    {
+ 
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::HandleVideoPlayerInitComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::HandleVideoPlayerInitComplete()
+    {
+    __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::HandleVideoPlayerInitComplete()" );
+    
+    // cancel guarding timer
+    //iTimer->Cancel();
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::HandleVideoPlayerPlayingComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::HandleVideoPlayerPlayingComplete()
+    {
+    //__LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::HandleVideoPlayerPlayingComplete()" );
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::PlayDefaultVideoAsync
+// -----------------------------------------------------------------------------
+//
+void CPhoneRingingToneController::PlayDefaultVideoAsync()
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::ExtendedSecurity
+// -----------------------------------------------------------------------------
+//    
+TBool CPhoneRingingToneController::ExtendedSecurity() const
+    {
+    //__LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::ExtendedSecurity()" );
+    return EFalse;
+   
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::CoverUIPlayVideoRingingToneL
+// -----------------------------------------------------------------------------
+//   
+TBool CPhoneRingingToneController::CoverUIPlayVideoRingingToneL( 
+    const CPhoneRingingTone& aRingingTone )
+    {
+    //__LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::CoverUIPlayVideoRingingToneL()" );
+
+    TBool showVideo( EFalse );
+
+    RBuf8 data;
+    CleanupClosePushL( data );
+    data.CreateL( aRingingTone.FileName().Length() );
+    data.Copy( aRingingTone.FileName() );
+    /*TInt err = iMediatorSender->IssueCommand( 
+    	EPhoneCmdCoverUiShowMultimediaRingingTone, 
+	    data );
+    if ( err == KErrNone )
+        {
+        showVideo = ETrue;
+        iActiveCoverUICommand = ETrue;
+        }*/
+    CleanupStack::PopAndDestroy(); //data 
+
+    return showVideo;
+    }
+
+// -----------------------------------------------------------------------------
+// CPhoneRingingToneController::ShowMultimediaRingingToneResponseL
+// -----------------------------------------------------------------------------
+//   
+void CPhoneRingingToneController::ShowMultimediaRingingToneResponseL( 
+	TInt aStatus )
+	{
+    //__LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::ShowMultimediaRingingToneResponseL()" );
+
+	}
+
+
+    
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PHONEBUBBLEWRAPPERMOCK_H
+#define PHONEBUBBLEWRAPPERMOCK_H
+
+#include <QObject>
+#include <QMap>
+#include <e32cmn.h>
+#include "bubblemanagerif.h"
+
+extern bool m_setDivertCalled;
+extern bool m_bubblewrapperbool;
+extern int m_bubblewrapperint;
+extern bool m_setStateCalled;
+extern bool m_setLabelCalled;
+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;
+extern int m_setStateCallState;
+extern const TDesC *m_setLabelText;
+extern int m_setLabelBubbleId;
+extern int m_setCliBubbleId;
+extern const TDesC *m_setCliText;
+extern int m_setSecondaryCliBubbleId;
+extern const TDesC *m_setSecondaryCliText;
+extern int m_setCallTypeBubbleId;
+extern int m_setCallTypeType;
+extern bool m_bubbleIdCalled;
+extern int m_bubbleIdCallId;
+extern bool m_activeCallCountCalled;
+extern QMap<int, int> m_callStateMap;
+extern QMap<int, int> m_bubblesMap;
+extern QList<int> m_conferenceCallList;
+extern bool m_creataConferenceCalled;
+extern bool m_removeConferenceCalled;
+extern bool m_removeCallFromConference;
+extern int m_bubble_id;
+extern QMap<int,int> m_services;
+
+
+class PhoneBubbleWrapper : public QObject
+{
+    Q_OBJECT
+    
+public:
+    PhoneBubbleWrapper (BubbleManagerIF& bubble, QObject *parent = 0);
+    virtual ~PhoneBubbleWrapper ();
+    void updateCallState (int callId, int newState);
+    int callId (int state);
+    int createCallHeader (int callId);
+    void removeCallHeader (int callId);
+    void setState (int callId, int bubble, int callState);
+    void setLabel (int bubble, const TDesC &text);
+    void setCli (int bubble, const TDesC &cliText);
+    void setSecondaryCli (int bubble, const TDesC &cliText);
+    void setCallType (int bubble, int callType);
+    BubbleManagerIF& bubbleManager ();
+    int bubbleId (int callId);
+    void setDivert (int bubble, bool enabled);
+    int activeCallCount ();
+    
+    const QMap<int, int> callStates() const;
+    
+    QMap<int, int> bubbles();
+    
+    void createConferenceBubble(int callId, int callState, 
+            const TDesC &labelText, const TDesC &cliText);
+    
+    void setConferenceCallId(int callId);
+    
+    QList<int> conferenceCallList();
+    
+    void removeConferenceCallId(int callId);
+    
+    bool conferenceCallId(int callId);
+    
+    void removeCallFromConference(int callId);
+    
+    void removeConferenceBubble();
+    
+    int callIdByBubbleId(int bubbleId);
+    
+    void addToConferenceBubble();
+    
+    void setServiceId(int callId, int serviceId);
+    
+    int serviceIdByCallId(int callId) const;
+    
+    QMap<int,int> serviceIds() const;
+    
+private:
+    BubbleManagerIF& m_bubble;
+};
+
+#endif // PHONEBUBBLEWRAPPERMOCK_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonebubblewrapper_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,255 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "phonebubblewrapper.h"
+
+bool m_setDivertCalled;
+bool m_bubblewrapperbool;
+int m_bubblewrapperint;
+bool m_setStateCalled;
+bool m_setLabelCalled;
+bool m_setCliCalled;
+bool m_setSecondaryCliCalled;
+bool m_setCallTypeCalled;
+bool m_createCallHeaderCalled;
+int m_createCallHeaderInt;
+int m_setStateCallId;
+int m_setStateBubbleId;
+int m_setStateCallState;
+const TDesC *m_setLabelText;
+int m_setLabelBubbleId;
+int m_setCliBubbleId;
+const TDesC *m_setCliText;
+int m_setSecondaryCliBubbleId;
+const TDesC *m_setSecondaryCliText;
+int m_setCallTypeBubbleId;
+int m_setCallTypeType;
+bool m_bubbleIdCalled;
+int m_bubbleIdCallId;
+bool m_activeCallCountCalled;
+QMap<int, int> m_callStateMap;
+QMap<int, int> m_bubblesMap;
+QList<int> m_conferenceCallList;
+bool m_creataConferenceCalled;
+bool m_removeConferenceCalled;
+bool m_removeCallFromConference;
+bool m_removeCallHeaderCalled;
+int m_bubble_id;
+bool m_addToConferenceBubbleCalled;
+QMap<int,int> m_services;
+
+PhoneBubbleWrapper::PhoneBubbleWrapper (BubbleManagerIF& bubble, QObject *parent) : m_bubble(bubble)
+{
+    m_setDivertCalled = false;
+    m_bubblewrapperbool = false;
+    m_bubblewrapperint = -1;
+    m_setStateCalled = false;
+    m_setLabelCalled = false;
+    m_setCliCalled = false;
+    m_setSecondaryCliCalled = false;
+    m_setCallTypeCalled = false;
+    m_createCallHeaderCalled = false;
+    m_createCallHeaderInt = false;
+    m_setStateCallId = -1;
+    m_setStateBubbleId = -1;
+    m_setStateCallState = -1;
+    m_setLabelBubbleId = -1;
+    m_setCliBubbleId = -1;
+    m_setSecondaryCliBubbleId = -1;
+    m_setCallTypeBubbleId = -1;
+    m_setCallTypeType = -1;
+    m_bubbleIdCalled = false;
+    m_bubbleIdCallId = -1;
+    m_activeCallCountCalled = false;
+    m_creataConferenceCalled = false;
+    m_removeCallFromConference = false;
+    m_removeCallHeaderCalled = false;
+    m_bubble_id = -2;
+    m_addToConferenceBubbleCalled = false;
+}
+
+PhoneBubbleWrapper::~PhoneBubbleWrapper () 
+{
+}
+
+void PhoneBubbleWrapper::updateCallState (int callId, int newState) 
+{
+}
+
+int PhoneBubbleWrapper::callId (int state) 
+{ 
+    return m_callStateMap.key(state, 0);
+}
+
+int PhoneBubbleWrapper::createCallHeader (int callId) 
+{
+    m_createCallHeaderCalled = true;
+    m_createCallHeaderInt = callId;
+    return 1; 
+}
+
+void PhoneBubbleWrapper::removeCallHeader (int callId) 
+{
+    m_removeCallHeaderCalled = true;
+}
+
+void PhoneBubbleWrapper::setState (int callId, int bubble, int callState) 
+{
+    m_setStateCalled = true;
+    m_setStateCallId = callId;
+    m_setStateBubbleId = bubble;
+    m_setStateCallState = callState;
+}
+
+void PhoneBubbleWrapper::setLabel (int bubble, const TDesC &text) 
+{
+    m_setLabelCalled = true;
+    m_setLabelBubbleId = bubble;
+    m_setLabelText = &text;
+}
+
+void PhoneBubbleWrapper::setCli (int bubble, const TDesC &cliText) 
+{
+    m_setCliCalled = true;
+    m_setCliBubbleId = bubble;
+    m_setCliText = &cliText;
+}
+
+void PhoneBubbleWrapper::setSecondaryCli (int bubble, const TDesC &cliText) 
+{
+    m_setSecondaryCliCalled = true;
+    m_setSecondaryCliBubbleId = bubble;
+    m_setSecondaryCliText = &cliText;
+}
+
+void PhoneBubbleWrapper::setCallType (int bubble, int callType) 
+{
+    m_setCallTypeCalled = true;
+    m_setCallTypeBubbleId = bubble;
+    m_setCallTypeType = callType;
+}
+
+BubbleManagerIF& PhoneBubbleWrapper::bubbleManager () 
+{ 
+    return m_bubble;
+}
+
+int PhoneBubbleWrapper::bubbleId (int callId) 
+{ 
+    m_bubbleIdCalled = true;
+    m_bubbleIdCallId = callId;
+
+    if (m_bubblesMap.contains(callId)) {
+        return m_bubblesMap.value(callId);
+    }
+    
+    if (-2 != m_bubble_id)
+        return m_bubble_id;
+        
+    return 2; 
+}
+
+void PhoneBubbleWrapper::setDivert (int bubble, bool enabled)
+{
+    m_setDivertCalled = true;	
+    m_bubblewrapperint = bubble;
+    m_bubblewrapperbool = enabled;
+}
+
+int PhoneBubbleWrapper::activeCallCount ()
+{
+    m_activeCallCountCalled = true;
+    return 0;
+}
+
+const QMap<int, int> PhoneBubbleWrapper::callStates() const 
+{
+    return m_callStateMap;
+}
+
+QMap<int, int> PhoneBubbleWrapper::bubbles() 
+{
+    return m_bubblesMap;
+}
+
+void PhoneBubbleWrapper::createConferenceBubble(
+        int callId, int callState, const TDesC &labelText, const TDesC &cliText)
+{
+    m_creataConferenceCalled = true;
+    for (int i=0; i<m_bubblesMap.size(); ++i) {
+        setConferenceCallId( m_bubblesMap.keys()[i] );
+    }
+}
+
+void PhoneBubbleWrapper::setConferenceCallId(int callId) 
+{
+    m_conferenceCallList.append(callId);
+}
+
+void PhoneBubbleWrapper::removeConferenceCallId(int callId) 
+{
+    if (m_conferenceCallList.contains(callId))
+        m_conferenceCallList.removeOne(callId);
+}
+
+bool PhoneBubbleWrapper::conferenceCallId(int callId)
+{
+    return m_conferenceCallList.contains(callId);
+}
+
+void PhoneBubbleWrapper::removeCallFromConference(int callId)
+{
+    m_removeCallFromConference = true;
+    removeConferenceCallId(callId);
+}
+
+QList<int> PhoneBubbleWrapper::conferenceCallList()
+    {
+    return m_conferenceCallList;
+    }
+
+void PhoneBubbleWrapper::removeConferenceBubble()
+{
+    m_removeConferenceCalled = true;
+    m_conferenceCallList.clear();
+}
+
+int PhoneBubbleWrapper::callIdByBubbleId(int bubbleId)
+{
+    return m_bubblesMap.key(bubbleId, -1);
+}
+
+void PhoneBubbleWrapper::addToConferenceBubble()
+{
+    m_addToConferenceBubbleCalled = true;
+}
+
+void PhoneBubbleWrapper::setServiceId(int callId, int serviceId)
+{
+    m_services[callId] = serviceId;
+}
+
+int PhoneBubbleWrapper::serviceIdByCallId(int callId) const
+{
+    return m_services.value(callId, -1);
+}
+
+QMap<int, int> PhoneBubbleWrapper::serviceIds() const 
+{    
+    return m_services;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phonenotecontroller_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,99 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Handles phone notes.
+*/
+
+#include "phonenotecontroller.h"
+#include "tphonecmdparamglobalnote.h"
+#include "phoneresourceadapter.h"
+#include <QtDebug>
+#include <hbdevicemessagebox.h>
+
+bool m_showGlobalNoteCalled;
+bool m_showQueryCalled;
+bool m_showNoteCalled;
+bool m_removeDtmfNoteCalled;
+bool m_removeNoteCalled;
+bool m_removeQueryCalled;
+bool m_removeGlobalWaitNoteCalled;
+
+PhoneNoteController::PhoneNoteController(QObject *parent) : QObject (parent)
+{
+    m_showGlobalNoteCalled = false;
+}
+
+PhoneNoteController::~PhoneNoteController()
+{
+
+}
+
+void PhoneNoteController::showGlobalNote(TPhoneCommandParam */*commandParam*/)
+{
+    m_showGlobalNoteCalled = true;
+}
+
+void PhoneNoteController::showNote(TPhoneCommandParam */*commandParam*/)
+{
+    m_showNoteCalled = true;
+}
+
+void PhoneNoteController::showQuery(TPhoneCommandParam */*commandParam*/)
+{
+    m_showQueryCalled = true;
+}
+
+void PhoneNoteController::removeDtmfNote()
+{
+    m_removeDtmfNoteCalled = true;
+}
+
+void PhoneNoteController::removeNote()
+{
+    m_removeNoteCalled = true;
+}
+
+void PhoneNoteController::removeQuery()
+{
+    m_removeQueryCalled = true;
+}
+
+void PhoneNoteController::removeGlobalWaitNote()
+{
+    m_removeGlobalWaitNoteCalled = true;
+}
+
+QString PhoneNoteController::globalNoteText(
+        TPhoneCommandParam *commandParam)
+{   
+    QString ret;    
+    
+    return ret;
+}
+
+void PhoneNoteController::destroyDialog()
+{
+}
+
+void PhoneNoteController::removeMappings()
+{
+}
+
+void PhoneNoteController::queryCancelled()
+{
+}
+
+void PhoneNoteController::queryTimeout()
+{
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/phoneuiqtbuttonscontroller_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "phoneuiqtbuttonscontroller.h"
+#include <QtDebug>
+
+int m_phoneButtonFlags;
+
+PhoneUIQtButtonsController::PhoneUIQtButtonsController() : m_buttonFlags(0)
+{
+}
+
+PhoneUIQtButtonsController::~PhoneUIQtButtonsController ()
+{
+}
+
+void PhoneUIQtButtonsController::setButtonFlags (PhoneButtonFlags flag,bool set)
+{
+    if (set) 
+        {
+        // Set the flag on (=1)
+        m_buttonFlags |= flag; 
+        }
+    else 
+        {
+        // Set the flag off (=0)
+        m_buttonFlags &= (~flag);     
+        }
+    
+    m_phoneButtonFlags = m_buttonFlags;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,1223 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PhoneUIQtViewAdapter.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <QList>
+#include <QKeyEvent>
+#include <hbapplication.h>
+#include <QSignalSpy>
+#include <hbmainwindow.h>
+#include <phoneappcommands.hrh>
+#include <hbmenu.h>
+//#include <hbglobal_p.h>
+#include "phoneuiqtviewadapter.h"
+#include "tphonecmdparaminteger.h"
+#include "tphonecmdparamaudiooutput.h"
+#include "phoneuiqtviewif.h"
+#include "tphonecmdparamcallstatedata.h"
+#include "tphonecmdparamcallheaderdata.h"
+#include "tphonecmdparamemergencycallheaderdata.h"
+#include "tphonecmdparamboolean.h"
+#include "tphonecmdparamringtone.h"
+#include "pevirtualengine.h"
+#include "bubblemanagerif.h"
+#include "phoneresourceids.h"
+#include "phonebubblewrapper.h"
+#include "phoneuiqtbuttonscontroller.h"
+#include "tphonecmdparamglobalnote.h"
+#include "tphonecmdparamstring.h"
+
+extern int m_phoneButtonFlags;
+extern bool m_EPhoneViewMuteRingToneOnAnswer_called;
+extern bool m_EPhoneViewStopRingTone_called;
+extern bool m_EPhoneViewMuteRingTone_called;
+extern bool m_EPhoneViewPlayRingTone_called;
+extern bool m_showGlobalNoteCalled;
+extern bool m_removeCallHeaderCalled;
+extern bool m_addToConferenceBubbleCalled;
+extern bool m_showQueryCalled;
+extern bool m_removeDtmfNoteCalled;
+extern bool m_removeNoteCalled;
+extern bool m_removeQueryCalled;
+extern bool m_showNoteCalled;
+extern bool m_removeGlobalWaitNoteCalled;
+
+
+#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; \
+    }
+
+// Own assert initialization  
+/*void qt_assert(const char *assertion, const char *file, int line)
+{
+    qDebug () << "View test assert FAIL";
+}*/
+
+class TestPhoneUIQtViewAdapter : public QObject, public PhoneUIQtViewIF, public BubbleManagerIF
+{
+    Q_OBJECT
+public:
+    TestPhoneUIQtViewAdapter();
+    virtual ~TestPhoneUIQtViewAdapter();
+
+    // From PhoneUIQtViewIF
+    BubbleManagerIF& bubbleManager ();
+    void addBubbleCommand (int bubbleId, const PhoneAction& action);
+    void clearBubbleCommands (int bubbleId);
+    void addParticipantListAction(
+            int commandId,  
+            const QString &text, 
+            const HbIcon &icon);
+    void clearParticipantListActions();
+    void hideToolbar () { };
+    void showToolbar () { m_showToolbarCalled = true; };
+    void setToolbarActions (const QList<PhoneAction*>& actions) {m_toolbarActionCount = actions.count(); };
+    int volumeSliderValue () { m_volumeSliderValueCalled = true; return 5; };
+    void removeVolumeSlider () { m_removeVolumeSliderCalled = true; };
+    void setVolumeSliderValue (
+            int value, 
+            int commandId, 
+            int maxVolumeValue, 
+            int minVolumeValue ) { m_setVolumeSliderValueCalled = true; m_volumeSliderValue = value; };
+
+    void setExpandAction(int bubbleId, int commandId) {m_expandAction[bubbleId]=commandId;};
+    void removeExpandAction(int bubbleId) {};
+    void showDialpad() {m_showDialpadCalled = true;};  
+    void hideDialpad() {m_hideDialpadCalled = true;};  
+    bool isDialpadVisible() 
+        {m_dialpadVisibilityCalled = true;
+    return m_isDialpadVisible; }
+    QString dialpadText() {return m_dialpadText;};
+    void clearAndHideDialpad() { m_clearAndHideDialpadCalled = true;};
+    void bringToForeground() {;};
+    void setMenuActions(const QList<PhoneAction*>& actions) { m_setMenuActionsCalled = true;};
+    void shutdownPhoneApp() {;};
+    void setBackButtonVisible(bool visible) {;};
+    HbMenu &menuReference(){return m_menu;};
+    
+    // From BubbleManagerIF
+    void startChanges () { m_startChangesCalled=true; };
+    void endChanges () { m_endChangesCalled=true; };
+    int createCallHeader () { return 0; };
+    void removeCallHeader (int bubbleId) {};
+    void setState (int bubbleId, PhoneCallState state) {};
+    void setLabel ( 
+        int bubbleId, 
+        const QString& text, 
+        Qt::TextElideMode clipDirection) {};
+    void setCli (int bubbleId, 
+                 const QString& cliText, 
+                 Qt::TextElideMode clipDirection) {};
+    void updateCLI ( 
+        int bubbleId, 
+        const QString& cliText, 
+        Qt::TextElideMode clipDirection) {};
+    void setSecondaryCli ( 
+        int bubbleId, 
+        const QString& cliText, 
+        Qt::TextElideMode clipDirection = Qt::ElideLeft) {};
+    void setCallTime (int bubbleId, const QString& callTime) {};
+    void updateCallTime (int bubbleId, const QString& callTime) { m_updateCallTimeCalled=true; m_int=bubbleId; m_string=callTime; };
+    void setCallObjectImage (int bubbleId, const QString &fileName) {};
+    void setCallObjectFromTheme (int bubbleId) {};
+    void setCallObjectText (int bubbleId, const QString &text) {};
+    void setCallFlags (int bubbleId, int flags) {};
+    void setCallFlag (int bubbleId, PhoneCallFlags flag, bool set) {};
+    void setNumberType (int bubbleId, PhoneNumberType type) {};
+    void updateCallHeaderText( 
+        int bubbleId, 
+        const QString &longText, 
+        const QString &shortText, 
+        Qt::TextElideMode clipDirection) {};
+    void setPhoneMuted (bool muted) { m_setPhoneMutedCalled = muted; };
+    int createConference (int bubble1, int bubble2) { return 1; };
+    void removeConference () {};
+    void addRowToConference (int bubbleId) {};
+    void removeRowFromConference (int bubbleId) {};
+    int conferenceRowCount () const { return 2; };
+    void setSelectionInConference (int rowNumber) {};
+    void setSelectionIdInConference (int bubbleId) {};
+    int selectionInConference () const { return 0; };
+    int selectionIdInConference () const { return 0; };
+    void moveHighlightOneUpInConference () {};
+    void moveHighlightOneDownInConference () {};
+    void setExpandedConferenceCallHeader (bool expanded) { m_ExpandConferenceCalled = true; };
+    bool isConferenceExpanded () const { return false; };
+    int shownHeaderCount () const { return 1; };
+    void setParticipantListCli (int aBubbleId, ParticipantListCli aParticipantCli) {};
+    void addAction (int bubble, HbAction *action) {};
+    void clearActions (int bubble) {};
+    QGraphicsWidget* graphicsWidgetForAction (HbAction *action) const { return 0;};
+    void addParticipantListAction (HbAction *action) {};
+    int expandedBubble() const { return 1; };
+    void setExpandAction(int bubbleId, HbAction* action) {};
+    void setBubbleSelectionDisabled(bool b) {};
+    
+signals:
+    void dialpadAboutToClose();
+    void keyPressReleased(QKeyEvent *event);
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup ();
+    
+private slots:
+    void testEPhoneViewSetTopApplicationCommand ();
+    void testEPhoneViewSetIdleTopApplicationCommand ();
+    void testEPhoneViewUpdateCallHeaderCallDurationCommand ();
+    void testEPhoneViewCreateCallHeaderCommand ();
+    void testEPhoneViewCreateEmergencyCallHeader ();
+    void testEPhoneViewUpdateBubble ();
+    void testEPhoneViewUpdateCallHeaderRemoteInfoData ();
+    void testEPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel();
+    void testCallIdByState ();
+    void testSetToolbarButtons ();
+    void testHoldFlag ();
+    void testEPhoneViewHideNaviPaneAudioVolume ();
+    void testEPhoneViewSetNaviPaneAudioVolume ();
+    void testEPhoneViewGetAudioVolumeLevel ();
+    void testEPhoneViewActivateMuteUIChanges ();
+    void testEPhoneViewGetCountOfActiveCallss ();
+    void testExecuteCommandLwithCmdId ();
+    void testExecuteCommandLwithCmdIdAndCallId ();
+    void testExecuteCommandLwithCmdIdAndCmdParam ();
+    void testSetTouchButtons ();
+    void testCreateConferenceBubble ();
+    void testHandleCommandL ();
+    void testGetSelectedConferenceMember ();
+    void testSetAudioPath ();
+    void testMuteRingToneOnAnswer ();
+    void testStopRingTone ();
+    void testMuteRingTone ();
+    void testPlayRingTone ();
+    void testShowGlobalNote ();
+    void testSetExpandActions();
+    void testShowDialpad ();
+    void testDialpadVisibility ();
+    void removeAllCallHeaders ();
+    void testRemoveDialpad();
+    void testGetDialpadStringLength();
+    void testGetDialpadString();
+    void testAddToConference();
+    void testSetConferenceExpanded();
+    void testSetMenuActions();
+    void testNoteController();
+
+private:
+    PhoneUIQtViewAdapter *m_adapter; // class under test
+    bool m_showToolbarCalled;
+    bool m_updateCallTimeCalled;
+    int m_int;
+    QString m_string;
+    HbAction *m_action;
+    int  m_toolbarActionCount;
+    bool m_startChangesCalled;
+    bool m_endChangesCalled;
+    bool m_volumeSliderValueCalled;
+    bool m_removeVolumeSliderCalled;
+    bool m_setVolumeSliderValueCalled;
+    int m_volumeSliderValue;
+    bool m_setPhoneMutedCalled;
+    QMap<int, QList<int> *> m_actionMap;
+    QMap<int,int> m_expandAction;
+    bool m_showDialpadCalled;
+    bool m_hideDialpadCalled;
+    bool m_dialpadVisibilityCalled;
+    bool m_clearAndHideDialpadCalled;
+    bool m_ExpandConferenceCalled;
+    bool m_setMenuActionsCalled;
+    bool m_isDialpadVisible;
+    QString m_dialpadText;
+    HbMenu m_menu;
+
+};
+
+TestPhoneUIQtViewAdapter::TestPhoneUIQtViewAdapter () :
+    m_isDialpadVisible(false),
+    m_dialpadText("1234567")
+{
+}
+
+TestPhoneUIQtViewAdapter::~TestPhoneUIQtViewAdapter ()
+{
+}
+
+void TestPhoneUIQtViewAdapter::initTestCase ()
+{
+    m_adapter = new PhoneUIQtViewAdapter (*this);
+}
+
+void TestPhoneUIQtViewAdapter::cleanupTestCase ()
+{
+    delete m_adapter;
+}
+
+void TestPhoneUIQtViewAdapter::init ()
+{
+    m_startChangesCalled = false;
+    m_endChangesCalled = false;
+}
+
+void TestPhoneUIQtViewAdapter::cleanup ()
+{
+}
+
+BubbleManagerIF& TestPhoneUIQtViewAdapter::bubbleManager ()
+{
+    return *this;
+}
+
+void TestPhoneUIQtViewAdapter::addBubbleCommand (
+        int bubbleId, const PhoneAction& action)
+{
+    if (m_actionMap.keys().contains(bubbleId)) {
+        m_actionMap.value(bubbleId)->append(action.command());
+    } else {
+        QList<int> *list = new QList<int>();
+        list->append(action.command());
+        m_actionMap.insert( bubbleId, list);
+    }
+}
+
+void TestPhoneUIQtViewAdapter::clearBubbleCommands (int bubbleId)
+{
+    if (m_actionMap.keys().contains(bubbleId)) {
+        QList<int> *list = m_actionMap.value(bubbleId);
+        list->clear();
+        delete list;
+        m_actionMap.remove(bubbleId);
+    }
+}
+
+void TestPhoneUIQtViewAdapter::addParticipantListAction(
+    int commandId,
+    const QString& text, 
+    const HbIcon& icon)
+{
+
+}
+
+void TestPhoneUIQtViewAdapter::clearParticipantListActions()
+{
+
+}
+
+void TestPhoneUIQtViewAdapter::testEPhoneViewSetTopApplicationCommand ()
+{
+    TPhoneCmdParamInteger intParam;
+    intParam.SetInteger (12345);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTopApplication, &intParam);
+}
+
+void TestPhoneUIQtViewAdapter::testEPhoneViewSetIdleTopApplicationCommand ()
+{
+    m_adapter->ExecuteCommandL (EPhoneViewSetIdleTopApplication);
+}
+
+void TestPhoneUIQtViewAdapter::testEPhoneViewUpdateCallHeaderCallDurationCommand ()
+{
+    _LIT (KText, "01:20:13");
+    TBufC<8> textBuf (KText);
+    m_adapter->ExecuteCommandL (EPhoneViewUpdateCallHeaderCallDuration, 1, textBuf);	
+    QCOMPARE (m_updateCallTimeCalled, true);
+    QCOMPARE (m_int, 2);
+    QVERIFY (m_string == "01:20:13");
+}
+
+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);
+    m_adapter->ExecuteCommandL (EPhoneViewCreateCallHeader, 2, &callHeader);
+
+    QVERIFY (m_startChangesCalled == true);
+
+    QVERIFY (m_createCallHeaderCalled == true);
+    QCOMPARE (m_createCallHeaderInt, 2);
+
+    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"));
+
+    QVERIFY (m_setCliCalled == true);
+    QString cliText = QString::fromUtf16 (m_setCliText->Ptr (), m_setCliText->Length ());
+    QCOMPARE (m_setCliBubbleId, 1);
+    QCOMPARE (cliText, QString("Bar"));
+    
+    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_endChangesCalled == true);
+}
+
+void TestPhoneUIQtViewAdapter::testEPhoneViewCreateEmergencyCallHeader ()
+{
+    TPhoneCmdParamEmergencyCallHeaderData callHeader;
+    callHeader.SetLabelText (_L("Attempting"));
+    callHeader.SetHeaderText (_L("emergency") );
+    m_adapter->ExecuteCommandL (EPhoneViewCreateEmergencyCallHeader, 2, &callHeader);
+
+    QVERIFY (m_startChangesCalled == true);
+
+    QVERIFY (m_createCallHeaderCalled == true);
+    QCOMPARE (m_createCallHeaderInt, 2);
+
+    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_endChangesCalled == true);    
+}
+
+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);
+
+    QVERIFY (m_setStateCalled == true); 
+    QCOMPARE (m_setStateCallId, 3);
+    QCOMPARE (m_setStateBubbleId, 2);
+    QCOMPARE (m_setStateCallState, 2); 
+
+    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 ()
+{
+    // 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);
+
+    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"));
+
+    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);
+
+    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);   
+}
+
+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);
+}
+
+void TestPhoneUIQtViewAdapter::testSetToolbarButtons ()
+{
+    m_toolbarActionCount = 0;
+    TPhoneCmdParamInteger intParam;
+    intParam.SetInteger (R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA);
+    m_adapter->ExecuteCommandL (EPhoneViewUpdateCba, &intParam);
+    QCOMPARE(m_toolbarActionCount,2);
+
+    m_toolbarActionCount = 0;
+    intParam.SetInteger (R_PHONEUI_DIALER_CBA);
+    m_adapter->ExecuteCommandL (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);
+    QCOMPARE (m_removeVolumeSliderCalled, true);
+}
+
+void TestPhoneUIQtViewAdapter::testEPhoneViewSetNaviPaneAudioVolume ()
+{
+    TPhoneCmdParamInteger intParam;
+    intParam.SetInteger (3);
+    m_adapter->ExecuteCommandL (EPhoneViewSetNaviPaneAudioVolume, &intParam);
+    QCOMPARE (m_setVolumeSliderValueCalled, true);
+    QCOMPARE (m_volumeSliderValue, 3);
+}
+
+void TestPhoneUIQtViewAdapter::testEPhoneViewGetAudioVolumeLevel ()
+{
+    TPhoneCmdParamInteger intParam;
+    m_adapter->ExecuteCommand (EPhoneViewGetAudioVolumeLevel, &intParam);
+    QCOMPARE (m_volumeSliderValueCalled, true);
+    QCOMPARE (intParam.Integer (), 5);
+}
+
+void TestPhoneUIQtViewAdapter::testEPhoneViewActivateMuteUIChanges ()
+{
+    TPhoneCmdParamBoolean boolParam;
+    boolParam.SetBoolean (true);
+    m_adapter->ExecuteCommandL (EPhoneViewActivateMuteUIChanges, &boolParam);
+    QCOMPARE (m_setPhoneMutedCalled, true);
+}
+
+void TestPhoneUIQtViewAdapter::testEPhoneViewGetCountOfActiveCallss ()
+{
+    TPhoneCmdParamInteger intParam;
+    m_adapter->ExecuteCommandL (EPhoneViewGetCountOfActiveCalls, &intParam);
+    QVERIFY (m_activeCallCountCalled == true);
+}
+
+void TestPhoneUIQtViewAdapter::testExecuteCommandLwithCmdId ()
+{
+    // Default
+    m_adapter->ExecuteCommandL (0);
+    
+    m_adapter->ExecuteCommandL (EPhoneViewBeginUpdate);
+    QVERIFY (m_startChangesCalled == true);
+    
+    m_adapter->ExecuteCommandL (EPhoneViewEndUpdate);
+    QVERIFY (m_endChangesCalled == true);
+}
+
+void TestPhoneUIQtViewAdapter::testExecuteCommandLwithCmdIdAndCallId ()
+{
+    // Default
+    m_adapter->ExecuteCommandL (0, 0);
+
+    m_adapter->ExecuteCommandL (EPhoneViewRemoveCallHeader, 0);
+    QVERIFY (m_startChangesCalled == true);
+    QVERIFY (m_endChangesCalled == true);
+    
+    m_removeCallFromConference = false;
+    m_adapter->ExecuteCommandL (EPhoneViewRemoveFromConference, 0);   
+    QVERIFY (m_startChangesCalled == true);
+    QVERIFY (m_endChangesCalled == true);
+    QVERIFY (m_removeCallFromConference == true);
+    
+    m_removeCallFromConference = false;
+    m_adapter->ExecuteCommandL (EPhoneViewPrivateFromConference, 0);   
+    QVERIFY (m_startChangesCalled == true);
+    QVERIFY (m_endChangesCalled == true); 
+    QVERIFY (m_removeCallFromConference == true);      
+}
+
+void TestPhoneUIQtViewAdapter::testExecuteCommandLwithCmdIdAndCmdParam ()
+{
+    TPhoneCmdParamBoolean boolParam;
+    // Default
+    m_adapter->ExecuteCommandL (0, &boolParam);
+    
+    
+    // Is conference
+    m_adapter->ExecuteCommandL (EPhoneViewGetIsConference, &boolParam);
+    QCOMPARE ((bool)boolParam.Boolean (), false);
+    
+    
+    // Get expand bubble call id
+    TPhoneCmdParamInteger intParam;
+    m_adapter->ExecuteCommandL (EPhoneViewGetExpandedBubbleCallId, &intParam);
+    QCOMPARE ((int)intParam.Integer(), -1);
+    
+    m_callStateMap.insert(0, EPEStateConnected);
+    m_bubblesMap.insert(0, 0); 
+    m_callStateMap.insert(1, EPEStateHeld);
+    m_bubblesMap.insert(1, 1);  
+    
+    m_adapter->ExecuteCommandL (EPhoneViewGetExpandedBubbleCallId, &intParam);
+    QCOMPARE ((int)intParam.Integer(), 1);
+    
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+}
+
+void TestPhoneUIQtViewAdapter::testSetTouchButtons ()
+{
+    TPhoneCmdParamBoolean boolParam;
+    boolParam.SetBoolean( false );
+    
+    
+    
+    //Connected call
+    m_callStateMap.insert(0, EPEStateConnected);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);    
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdHold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
+    
+    //Emergency
+    boolParam.SetBoolean(true);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(false == m_actionMap.value(0)->contains(EPhoneInCallCmdHold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
+    
+    //Held and active
+    boolParam.SetBoolean(false);
+    m_callStateMap.insert(1, EPEStateHeld);
+    m_bubblesMap.insert(1, 1);    
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdCreateConference));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
+    QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdCreateConference));
+    QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdEndThisActiveCall));
+    clearBubbleCommands(0);
+    clearBubbleCommands(1);
+
+    //Connected call and waiting
+    m_callStateMap.insert(0, EPEStateConnected);
+    m_bubblesMap.insert(0, 0);
+   
+    boolParam.SetBoolean(false);
+    m_callStateMap.insert(1, EPEStateRinging);
+    m_bubblesMap.insert(1, 1);    
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdHold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
+    QVERIFY(m_actionMap.value(1)->contains(EPhoneCallComingCmdReject));
+    clearBubbleCommands(0);
+    clearBubbleCommands(1);
+
+    //Held call and waiting
+    m_callStateMap.insert(0, EPEStateHeld);
+    m_bubblesMap.insert(0, 0);
+   
+    boolParam.SetBoolean(false);
+    m_callStateMap.insert(1, EPEStateRinging);
+    m_bubblesMap.insert(1, 1);    
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdUnhold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
+    QVERIFY(m_actionMap.value(1)->contains(EPhoneCallComingCmdReject));
+    clearBubbleCommands(0);
+    clearBubbleCommands(1);    
+    
+    //Idle
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateIdle);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(0==m_actionMap.keys().size());
+    clearBubbleCommands(0);
+    
+    //Conference Idle
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateConferenceIdle);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(0==m_actionMap.keys().size());
+    clearBubbleCommands(0);
+    
+    //Disconnecting
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateDisconnecting);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(0==m_actionMap.keys().size());
+    clearBubbleCommands(0);
+    
+    //Dialling
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateDialing);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(1==m_actionMap.value(0)->size());
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisOutgoingCall));
+    clearBubbleCommands(0);
+    
+    //Ringing
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateRinging);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(2==m_actionMap.value(0)->size());
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneCallComingCmdAnswer));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneCallComingCmdReject));
+    clearBubbleCommands(0);
+    
+    //Connecting
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateConnecting);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(1==m_actionMap.value(0)->size());
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisOutgoingCall));
+    clearBubbleCommands(0);
+
+    //Connected Conference
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateConnectedConference);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(2==m_actionMap.value(0)->size());
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdHold));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
+
+    // Conference and held
+    m_callStateMap.insert(1, EPEStateHeld);
+    m_bubblesMap.insert(1, 1);    
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdSwap));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
+    QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdJoin));
+    QVERIFY(m_actionMap.value(1)->contains(EPhoneInCallCmdEndThisActiveCall));
+    clearBubbleCommands(0);
+    clearBubbleCommands(1);
+    
+    //Held conference
+    m_conferenceCallList.append(1); //for coverage
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateHeldConference);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(2==m_actionMap.value(0)->size());
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdEndThisActiveCall));
+    QVERIFY(m_actionMap.value(0)->contains(EPhoneInCallCmdUnhold));
+    clearBubbleCommands(0);
+    m_conferenceCallList.clear();
+    
+    //Unknown state
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateUnknown);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(0==m_actionMap.keys().size());
+    clearBubbleCommands(0);
+    
+    //Default case
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, 100);
+    m_bubblesMap.insert(0, 0);
+    m_adapter->ExecuteCommandL (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);
+    m_adapter->ExecuteCommandL (EPhoneViewCreateConference, 3, &callHeader);    
+    QVERIFY (m_creataConferenceCalled == true);
+    
+    //
+    TPhoneCmdParamBoolean  conferenceDataValue;
+    m_adapter->ExecuteCommandL (EPhoneViewGetCallExistsInConference, 0, &conferenceDataValue);
+    QVERIFY (conferenceDataValue.Boolean() == true);
+    
+    m_adapter->ExecuteCommandL(EPhoneViewRemoveConferenceBubble);
+    QVERIFY (m_removeConferenceCalled == true);
+    
+    m_adapter->ExecuteCommandL (EPhoneViewGetCallExistsInConference, 0, &conferenceDataValue);
+    QVERIFY (conferenceDataValue.Boolean() == false);
+}
+
+void TestPhoneUIQtViewAdapter::testHandleCommandL ()
+{
+    QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL (
+            EPhoneIsDTMFDialerVisible) );    
+    QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL (
+            EPhoneViewIsDTMFEditorVisible) ); 
+    QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL (
+            EPhoneViewGetNumberEntryIsVisibleStatus) ); 
+    /*QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL (
+            EPhoneViewGetNumberEntryIsUsedStatus) );*/ 
+    QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL (
+            EPhoneIsCustomizedDialerVisible) ); 
+    QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL (
+            EPhoneViewGetNeedToSendToBackgroundStatus) );
+    
+    //Default handling for coverage
+    QVERIFY( EPhoneViewResponseSuccess == m_adapter->HandleCommandL (0) ); 
+    TPhoneCmdParamBoolean boolean;
+    QVERIFY( EPhoneViewResponseSuccess == m_adapter->HandleCommandL (0, &boolean) );
+    
+    m_adapter->ExecuteCommand(0);
+    m_adapter->ExecuteCommand(EPhoneViewSetDtmfOptionsFlag, &boolean);
+    m_adapter->ExecuteCommand(EPhoneViewSetVideoCallDTMFVisibilityFlag, &boolean);
+    m_adapter->ExecuteCommand(0, &boolean);
+    m_adapter->ExecuteCommandL(0, 0, &boolean);
+    _LIT (KText, "test");
+    TBufC<8> textBuf (KText);
+    m_adapter->ExecuteCommandL(0, 0, textBuf);
+    m_adapter->FetchContent();
+    
+}
+
+void TestPhoneUIQtViewAdapter::testGetSelectedConferenceMember ()
+{
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+
+    TPhoneCmdParamInteger  integerParam;
+    QVERIFY( EPhoneViewResponseFailed == m_adapter->HandleCommandL(
+            EPhoneViewSelectedConfMember, &integerParam) );    
+    
+    m_callStateMap.insert(1, EPEStateConnected);
+    m_bubblesMap.insert(1, 0);
+    
+    QVERIFY( EPhoneViewResponseSuccess == m_adapter->HandleCommandL(
+            EPhoneViewSelectedConfMember, &integerParam) ); 
+    
+    QVERIFY( integerParam.Integer() == 1 );    
+}
+
+void TestPhoneUIQtViewAdapter::testSetAudioPath ()
+{
+    TPhoneCmdParamAudioOutput audioOutput;
+    audioOutput.SetAudioOutput( EPELoudspeaker );
+    m_adapter->ExecuteCommandL(EPhoneViewActivateAudioPathUIChanges, &audioOutput);
+    QVERIFY( m_phoneButtonFlags == PhoneUIQtButtonsController::Ihf );
+    
+    audioOutput.SetAudioOutput( EPEWiredAudioAccessory );
+    m_adapter->ExecuteCommandL(EPhoneViewActivateAudioPathUIChanges, &audioOutput);
+    QVERIFY( m_phoneButtonFlags == PhoneUIQtButtonsController::Wired );
+    
+    audioOutput.SetAudioOutput( EPEBTAudioAccessory );
+    m_adapter->ExecuteCommandL(EPhoneViewActivateAudioPathUIChanges, &audioOutput);
+    QVERIFY( m_phoneButtonFlags == PhoneUIQtButtonsController::Btaa );
+
+}
+
+void TestPhoneUIQtViewAdapter::testMuteRingToneOnAnswer ()
+{
+    m_adapter->ExecuteCommandL(EPhoneViewMuteRingToneOnAnswer);
+    QVERIFY( m_EPhoneViewMuteRingToneOnAnswer_called == true );
+}
+
+void TestPhoneUIQtViewAdapter::testStopRingTone ()
+{
+    m_adapter->ExecuteCommandL(EPhoneViewStopRingTone);
+    QVERIFY( m_EPhoneViewStopRingTone_called == true );
+}
+
+void TestPhoneUIQtViewAdapter::testMuteRingTone ()
+{
+    m_adapter->ExecuteCommandL(EPhoneViewMuteRingTone);
+    QVERIFY( m_EPhoneViewMuteRingTone_called == true );
+}
+
+void TestPhoneUIQtViewAdapter::testPlayRingTone ()
+{
+    TPhoneCmdParamRingTone ringToneParam;
+    m_adapter->ExecuteCommandL(EPhoneViewPlayRingTone, &ringToneParam);
+    QVERIFY( m_EPhoneViewPlayRingTone_called == true );
+}
+
+void TestPhoneUIQtViewAdapter::testShowGlobalNote ()
+{
+    TPhoneCmdParamGlobalNote param;
+    m_adapter->ExecuteCommandL(EPhoneViewShowGlobalNote, &param);
+    QVERIFY( m_showGlobalNoteCalled == true );
+}
+
+void TestPhoneUIQtViewAdapter::testSetExpandActions()
+{
+    TPhoneCmdParamBoolean boolParam;
+    boolParam.SetBoolean( false );
+
+    m_callStateMap.clear();
+    m_bubblesMap.clear();
+    m_callStateMap.insert(0, EPEStateConnected);
+    m_callStateMap.insert(1, EPEStateHeld);
+    m_bubblesMap.insert(0, 0);
+    m_bubblesMap.insert(1, 1);
+    m_expandAction.clear();
+    
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(m_expandAction.contains(0));        
+    QVERIFY(m_expandAction[0]==EPhoneCmdUpdateUiControls);
+    QVERIFY(m_expandAction.contains(1));        
+    QVERIFY(m_expandAction[1]==EPhoneInCallCmdSwap);
+} 
+
+void TestPhoneUIQtViewAdapter::testShowDialpad ()
+{
+    m_adapter->ExecuteCommandL(EPhoneViewOpenDialer);
+    QVERIFY( m_showDialpadCalled == true );
+}
+
+void TestPhoneUIQtViewAdapter::testDialpadVisibility ()
+{
+    m_showDialpadCalled = false;
+    m_hideDialpadCalled = false;
+    
+    TPhoneCmdParamBoolean param;
+    param.SetBoolean(ETrue);
+    m_adapter->ExecuteCommandL(EPhoneViewSetNumberEntryVisible, &param);
+    QVERIFY( m_showDialpadCalled == true );
+    QVERIFY( m_hideDialpadCalled == false );
+    
+    m_showDialpadCalled = false;
+    m_hideDialpadCalled = false;
+    
+    param.SetBoolean(EFalse);
+    m_adapter->ExecuteCommandL(EPhoneViewSetNumberEntryVisible, &param);
+    QVERIFY( m_showDialpadCalled == false );
+    QVERIFY( m_hideDialpadCalled == true );
+}
+
+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);
+}
+
+void TestPhoneUIQtViewAdapter::testRemoveDialpad ()
+{
+    m_clearAndHideDialpadCalled = false;
+
+    m_adapter->ExecuteCommandL(EPhoneViewRemoveNumberEntry);
+    QVERIFY( m_clearAndHideDialpadCalled == true );
+    
+    m_clearAndHideDialpadCalled = false;
+
+    m_adapter->ExecuteCommandL(EPhoneViewClearNumberEntryContent);
+    QVERIFY( m_clearAndHideDialpadCalled == true );
+}
+
+void TestPhoneUIQtViewAdapter::testGetDialpadStringLength ()
+{
+    TPhoneCmdParamInteger integerParam;
+
+    m_adapter->ExecuteCommandL(EPhoneViewGetNumberEntryCount, &integerParam );
+    QVERIFY( integerParam.Integer() == 7 );
+    
+}
+
+void TestPhoneUIQtViewAdapter::testGetDialpadString ()
+{
+    HBufC *numberEntryContent = 0;
+    
+    TRAP_IGNORE( numberEntryContent = HBufC::NewL( KPhoneNumberEntryBufferSize ) );
+    if (numberEntryContent) {    
+        TPtr ptr( numberEntryContent->Des() );
+        ptr.Zero();   
+                       
+        TPhoneCmdParamString stringParam;
+        stringParam.SetString( &ptr );
+        m_adapter->ExecuteCommand(
+                EPhoneViewGetNumberFromEntry,
+                &stringParam );  
+    
+        QVERIFY( 0 == numberEntryContent->Des().Compare(_L("1234567")) );
+        
+        TPtr ptr2( numberEntryContent->Des() );
+        ptr2.Zero();
+        TPhoneCmdParamString stringParam2;
+        stringParam2.SetString( &ptr2 );
+        m_adapter->ExecuteCommandL(
+                EPhoneViewGetNumberFromEntry,
+                &stringParam2 );  
+    
+        QVERIFY( 0 == numberEntryContent->Des().Compare(_L("1234567")) );
+    }
+}
+
+void TestPhoneUIQtViewAdapter::testAddToConference()
+{
+    m_adapter->ExecuteCommandL(EPhoneViewAddToConference);
+    QVERIFY( m_addToConferenceBubbleCalled == true );
+    
+}
+
+void TestPhoneUIQtViewAdapter::testSetConferenceExpanded()
+{
+    m_adapter->ExecuteCommand(EPhoneSetConferenceExpanded);
+    QVERIFY( m_ExpandConferenceCalled == true );
+    
+}
+
+void TestPhoneUIQtViewAdapter::testSetMenuActions()
+{
+    m_setMenuActionsCalled = false;
+    m_isDialpadVisible = false;
+    TPhoneCmdParamBoolean boolParam;
+    boolParam.SetBoolean( false );
+    
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam); 
+    
+    QVERIFY(m_setMenuActionsCalled);
+    
+    m_setMenuActionsCalled = false;
+    m_isDialpadVisible = true;
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(m_setMenuActionsCalled);
+    
+    m_dialpadText = QString("");
+    m_setMenuActionsCalled = false;
+    m_isDialpadVisible = true;
+    m_adapter->ExecuteCommandL (EPhoneViewSetTouchPaneButtons, &boolParam);
+    QVERIFY(m_setMenuActionsCalled);
+    
+    connect(this, SIGNAL(dialpadAboutToClose()), m_adapter, SLOT(dialpadClosed()));
+    connect(this, SIGNAL(keyPressReleased(QKeyEvent*)), 
+            m_adapter, SLOT(keyReleased(QKeyEvent*)));
+    
+    m_setMenuActionsCalled = false;
+    m_isDialpadVisible = true;
+    QKeyEvent keyEvent(QEvent::MouseButtonPress, 0, Qt::NoModifier);
+    
+    emit keyPressReleased(&keyEvent);
+    QVERIFY(m_setMenuActionsCalled);
+    
+    m_setMenuActionsCalled = false;
+    m_isDialpadVisible = false;
+    emit keyPressReleased(&keyEvent);
+    QVERIFY(false == m_setMenuActionsCalled);
+    
+    m_setMenuActionsCalled = false;
+    m_isDialpadVisible = true;
+    emit dialpadAboutToClose();
+    QVERIFY(m_setMenuActionsCalled);
+    
+    m_setMenuActionsCalled = false;
+    emit keyPressReleased(&keyEvent);
+    QVERIFY(false == m_setMenuActionsCalled);
+}
+
+void TestPhoneUIQtViewAdapter::testNoteController()
+{
+    m_showQueryCalled = false;
+    m_removeDtmfNoteCalled = false;
+    m_removeNoteCalled = false;
+    m_removeQueryCalled = false;
+    m_showNoteCalled = false;
+    m_removeGlobalWaitNoteCalled = false;
+    
+    QVERIFY( (0 != m_adapter->noteController()) );
+    
+    m_adapter->ExecuteCommandL(EPhoneViewRemoveDtmfNote);
+    QVERIFY( m_removeDtmfNoteCalled == true );
+    
+    m_adapter->ExecuteCommandL(EPhoneViewRemoveNote);
+    QVERIFY( m_removeNoteCalled == true );
+    
+    m_adapter->ExecuteCommandL(EPhoneViewRemoveQuery);
+    QVERIFY( m_removeQueryCalled == true );
+    
+    TPhoneCmdParamGlobalNote param;
+    m_adapter->ExecuteCommandL(EPhoneViewShowQuery, &param);
+    QVERIFY( m_showQueryCalled == true );
+    
+    m_adapter->ExecuteCommandL(EPhoneViewShowNote, &param);
+    QVERIFY( m_showNoteCalled == true );
+    
+    m_adapter->ExecuteCommandL(EPhoneViewRemoveGlobalNote);
+    QVERIFY( m_removeGlobalWaitNoteCalled == true );
+    
+    m_removeGlobalWaitNoteCalled = false;
+    m_adapter->ExecuteCommandL(EPhoneViewRemoveGlobalWaitNote);
+    QVERIFY( m_removeGlobalWaitNoteCalled == true );
+    
+    m_showQueryCalled = false;
+    m_removeDtmfNoteCalled = false;
+    m_removeNoteCalled = false;
+    m_removeQueryCalled = false;
+    m_showNoteCalled = false;
+    
+    m_adapter->ExecuteCommandL(EPhoneViewRemovePhoneDialogs);
+    QVERIFY( m_removeQueryCalled == true );
+    QVERIFY( m_removeNoteCalled == true );
+    
+}
+
+PHONE_QT_VIEW_ADAPTER_TEST_MAIN(TestPhoneUIQtViewAdapter)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/ut_phoneuiqtviewadapter.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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: Project file for building unit test component
+#
+#
+
+TEMPLATE = app
+TARGET = 
+TARGET.UID3 = 0xEFF8FEA2
+DEPENDPATH += .
+INCLUDEPATH += .
+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
+
+
+    LIBS += -lphoneuiutils
+    LIBS += -lPhoneRingingtonePlayer
+    LIBS += -lphoneuiqtview
+    LIBS += -lxqservice
+    LIBS += -lxqserviceutil
+    LIBS += -lxqplugins
+    LIBS += -lserviceprovidersettings
+
+    TARGET.CAPABILITY = ALL -TCB
+    DEFINES += FT_SYMBIAN_INTEGRATION
+    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
+}
+
+# Input
+HEADERS += ../../inc/phoneuiqtviewadapter.h
+SOURCES += ../../src/phoneuiqtviewadapter.cpp
+HEADERS += ../../inc/phoneresourceadapter.h
+SOURCES += ../../src/phoneresourceadapter.cpp
+HEADERS += ../../inc/phoneuiqtbuttonscontroller.h
+HEADERS += ../../inc/phonenotecontroller.h
+HEADERS += ../../inc/telephonyservice.h
+SOURCES += ../../src/telephonyservice.cpp
+HEADERS += ../../inc/phoneuicommandcontroller.h
+SOURCES += ../../src/phoneuicommandcontroller.cpp
+HEADERS += ../../inc/phonecommandextensionwrapper.h
+SOURCES += ../../src/phonecommandextensionwrapper.cpp
+SOURCES += phoneuiqtbuttonscontroller_stub.cpp
+HEADERS += phonebubblewrapper.h
+SOURCES += phonebubblewrapper_stub.cpp
+SOURCES += cphoneringingtonecontroller_stub.cpp
+SOURCES += cphonemediatorfactory_stub.cpp
+SOURCES += cphonemediatorsender_stub.cpp
+SOURCES += phonenotecontroller_stub.cpp
+SOURCES += unit_tests.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/phoneuiqtviewadapter_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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: !!!!!!!!! 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*/)
+{}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,166 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 telephonyservice.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <hbapplication.h>
+#include <QSignalSpy>
+#include <xqservicerequest.h>
+#include <hbmenu.h>
+
+#include "telephonyservice.h"
+#include "phoneuiqtviewif.h"
+#include "phoneuiqtviewadapter.h"
+
+extern bool phoneAppStart;
+extern bool inCallDialerStart;
+
+#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
+{
+    Q_OBJECT
+public:
+    TestTelephonyService();
+    virtual ~TestTelephonyService();
+    
+public: // PhoneUIQtViewIF
+    
+        BubbleManagerIF& bubbleManager (){};
+        void addBubbleCommand ( 
+                int bubbleId,
+                const PhoneAction& action ){};
+        void clearBubbleCommands (int bubbleId){};
+        void addParticipantListAction(
+                int commandId,  
+                const QString &text, 
+                const HbIcon &icon){};
+        void clearParticipantListActions(){};
+        void hideToolbar () {};
+        void showToolbar () {};
+        void setToolbarActions (const QList<PhoneAction*>& actions){};
+        int volumeSliderValue () {};
+        void removeVolumeSlider () {};
+        void setVolumeSliderValue (
+                int value, 
+                int commandId, 
+                int maxVolumeValue, 
+                int minVolumeValue ) { };
+
+        void setExpandAction(int bubbleId, int commandId) {};
+        void removeExpandAction(int bubbleId) {};
+        void showDialpad() {};
+        void hideDialpad() {};
+        bool isDialpadVisible() {};
+        QString dialpadText() {return QString("1234567");};
+        void clearAndHideDialpad(){};
+        void bringToForeground() {;};
+        void setMenuActions(const QList<PhoneAction*>& actions){;};
+        void shutdownPhoneApp() {;};
+        void setBackButtonVisible(bool visible) {;};        
+        HbMenu &menuReference() { return mMenu; };
+        
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup (); 
+    
+private slots:
+    void testConstructionDestruction ();
+    void startPhoneApp ();
+    void startInCallDialer ();
+    
+private:
+    TelephonyService *m_service; // class under test
+    PhoneUIQtViewAdapter *m_viewstub; // stub test
+    HbMenu mMenu;
+};
+
+TestTelephonyService::TestTelephonyService ()
+{
+}
+
+TestTelephonyService::~TestTelephonyService ()
+{
+}
+
+void TestTelephonyService::initTestCase ()
+{
+    m_viewstub = new PhoneUIQtViewAdapter (*this);
+    m_service = new TelephonyService(m_viewstub, this);
+}
+
+void TestTelephonyService::cleanupTestCase ()
+{
+    if (m_viewstub) {
+    delete m_viewstub;
+    }
+    
+    if (m_service) {
+    delete m_service;
+    }
+}
+
+void TestTelephonyService::init ()
+{
+}
+
+void TestTelephonyService::cleanup ()
+{
+}
+
+void TestTelephonyService::testConstructionDestruction ()
+{
+// empty
+}
+
+void TestTelephonyService::startPhoneApp ()
+{
+    phoneAppStart = false;
+    inCallDialerStart = false;
+    int phoneApp(0);
+    m_service->start(phoneApp);
+    QVERIFY (phoneAppStart == true);
+    QVERIFY (inCallDialerStart == false);
+}
+
+void TestTelephonyService::startInCallDialer ()
+{
+    phoneAppStart = false;
+    inCallDialerStart = false;
+    int dialer(1);
+    m_service->start(dialer);
+    QVERIFY (phoneAppStart == true);
+    QVERIFY (inCallDialerStart == true);
+}
+
+PHONE_QT_NOTE_CONTROLLER_TEST_MAIN(TestTelephonyService)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiqtviewadapter/tsrc/ut_telephonyservice/ut_telephonyservice.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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 = 
+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
+
+   
+    LIBS += -lphoneuiutils \
+            -lxqservice \
+            -lxqserviceutil 
+
+    TARGET.CAPABILITY = ALL -TCB
+    DEFINES += FT_SYMBIAN_INTEGRATION
+    DEFINES += BUILD_PHONEUIQTVIEWADAPTER
+}
+
+# Input
+HEADERS += ../../inc/telephonyservice.h
+SOURCES += ../../src/telephonyservice.cpp
+HEADERS += ../../inc/phoneuiqtviewadapter.h
+SOURCES += phoneuiqtviewadapter_stub.cpp
+SOURCES += unit_tests.cpp
--- a/phoneapp/phoneuistates/group/phoneuistates.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/group/phoneuistates.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,10 @@
 #include <platform_paths.hrh>
 
 // Capability assignment.
-CAPABILITY CAP_APPLICATION MultiMediaDD PowerMgmt NetworkControl DRM DiskAdmin
+// <-- QT PHONE START --> 
+CAPABILITY CAP_GENERAL_DLL
+//CAPABILITY CAP_APPLICATION MultiMediaDD PowerMgmt NetworkControl DRM DiskAdmin
+// <-- QT PHONE END --> 
 
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
@@ -68,10 +71,13 @@
 
 USERINCLUDE     ../inc
 USERINCLUDE     ../../phoneuicontrol/inc
-USERINCLUDE     ../../phoneuiview/inc
+// <-- QT PHONE START --> 
+USERINCLUDE     ../../phoneuiqtviewadapter/inc
+//USERINCLUDE     ../../phoneuiview/inc
+// <-- QT PHONE END --> 
 USERINCLUDE     ../../phoneui/inc
 USERINCLUDE     ../../phoneuiutils/inc
-USERINCLUDE     ../../phoneui/srcdata
+USERINCLUDE     ../../phoneui2/srcdata
 USERINCLUDE     ../../phonemediatorcenter/inc
 
 APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
@@ -79,7 +85,10 @@
 
 LIBRARY         avkon.lib // AknTextUtils
 LIBRARY         bafl.lib
-LIBRARY         commonengine.lib //StringLoader 
+// <-- QT PHONE START --> 
+LIBRARY         phonestringloader.lib
+//LIBRARY       commonengine.lib //StringLoader 
+// <-- QT PHONE END -->
 LIBRARY         cone.lib
 LIBRARY         engineinfo.lib
 LIBRARY         euser.lib
--- a/phoneapp/phoneuistates/inc/cphoneconference.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphoneconference.h	Fri Mar 19 09:28:42 2010 +0200
@@ -116,11 +116,11 @@
         virtual void DefineAndSetHoldFlagL();
   
         virtual void HandleCreateNumberEntryL( 
-			const TKeyEvent& aKeyEvent,
+            const TKeyEvent& aKeyEvent,
             TEventCode aEventCode );
 
         void UpdateConferenceSecurityStatusL( TInt aCallId );
-		
+        
         
      private:
               
--- a/phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphoneconferenceandwaiting.h	Fri Mar 19 09:28:42 2010 +0200
@@ -61,11 +61,18 @@
         virtual void HandleKeyMessageL(
             TPhoneKeyEventMessages aMessage,
             TKeyCode aCode );
-     
+            
         virtual void HandleKeyEventL(
             const TKeyEvent& aKeyEvent,
             TEventCode aEventCode );
-        
+        // <-- QT PHONE START -->        
+        /**
+        * Handles user selected UI commands.
+        * @param aCommand - selected command
+        */    
+        TBool HandleCommandL( TInt aCommand );
+        // <-- QT PHONE END -->     
+
     protected:
 
         /**
@@ -99,6 +106,13 @@
          void HandleDiallingL( TInt aCallId );
          
          void HandleWentOneToOneL( TInt aCallId );
+         
+         // <-- QT PHONE START -->
+         /**
+         *  Handles received EPhoneCmdUpdateUiControls command.
+         */
+         void UpdateUiControlsL();
+         // <-- QT PHONE END -->   
       
      private:
         TInt iRingingCallId;
--- a/phoneapp/phoneuistates/inc/cphoneconferenceandwaitingandcallsetup.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphoneconferenceandwaitingandcallsetup.h	Fri Mar 19 09:28:42 2010 +0200
@@ -91,19 +91,19 @@
         
      private:
 
-		void HandleConnectingL( TInt aCallId );
-		
-		void HandleConnectedL( TInt aCallId );
-		
-		void UpdateConnectingCbaL();
-		
+        void HandleConnectingL( TInt aCallId );
+        
+        void HandleConnectedL( TInt aCallId );
+        
+        void UpdateConnectingCbaL();
+        
      private:
          
          /**
          * Status of ConferenceAndWaitingAndCallSetup alerting
          */
          TBool iAlerting;
-		
+        
     };
 
 #endif // CPHONECONFERENCEANDWAITINGANDCALLSETUP_H
--- a/phoneapp/phoneuistates/inc/cphoneemergency.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphoneemergency.h	Fri Mar 19 09:28:42 2010 +0200
@@ -165,34 +165,29 @@
                     TRemConCoreApiButtonAction aButtonAct );
         
     private:
-    	
-    	/**
-		* Check whether UseEmergencyNoIhfCBA set should be used or not. 
-		* @param aAudioOutput current audio output type.
+        
+        /**
+        * Check whether UseEmergencyNoIhfCBA set should be used or not. 
+        * @param aAudioOutput current audio output type.
         * @return ETrue if UseEmergencyNoIhfCBA should be used,
         * EFalse otherwise.
-		*/
-    	TBool UseEmergencyNoIhfCBA( const TPEAudioOutput& aAudioOutput ) const;
-    	
-    	/**
-		* Check whether UseHandsetEmergencyCBA set should be used or not.
-		* @param aAudioOutput current audio output type.
+        */
+        TBool UseEmergencyNoIhfCBA( const TPEAudioOutput& aAudioOutput ) const;
+        
+        /**
+        * Check whether UseHandsetEmergencyCBA set should be used or not.
+        * @param aAudioOutput current audio output type.
         * @return ETrue if UseHandsetEmergencyCBA should be used,
         * EFalse otherwise.
-		*/
-    	TBool UseHandsetEmergencyCBA( const TPEAudioOutput& aAudioOutput ) const;
-    	
-    	/**
-		* Check whether the touch call handling is supported or not.
-		* @return ETrue if KFeatureIdTouchCallHandling is supported,
-		* EFalse otherwise.
-		*/
-    	TBool TouchCallHandlingSupported () const;
-    	
-       /**
-       * Update status of startup if startup finish during emergency call
-       */
-       void HandlePhoneStartupL();
+        */
+        TBool UseHandsetEmergencyCBA( const TPEAudioOutput& aAudioOutput ) const;
+        
+        /**
+        * Check whether the touch call handling is supported or not.
+        * @return ETrue if KFeatureIdTouchCallHandling is supported,
+        * EFalse otherwise.
+        */
+        TBool TouchCallHandlingSupported () const;
          
     private:
         /**
--- a/phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphoneerrormessageshandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -12,12 +12,12 @@
 * Contributors:
 *
 * Description: 
-* 		Class that does processing for Phone Engine messages that are common
-*		for all GSM states. Most of the GSM states are intressed of these 
-*		messages but due to the class architecture they don't have any single
-*		state class to be put into. This class exists to minimize duplicate
-*		code so that not every GSM class need to implement these same handlings
-*		for the same messages.
+*       Class that does processing for Phone Engine messages that are common
+*       for all GSM states. Most of the GSM states are intressed of these 
+*       messages but due to the class architecture they don't have any single
+*       state class to be put into. This class exists to minimize duplicate
+*       code so that not every GSM class need to implement these same handlings
+*       for the same messages.
 *
 */
 
@@ -42,16 +42,16 @@
 *
 */
 class CPhoneErrorMessagesHandler : public CBase, 
-								   public MPhoneErrorMessagesHandler
+                                   public MPhoneErrorMessagesHandler
     {
     public:
-    	/**
+        /**
         * Creates the error handler instance
         * @return an instance of class CPhoneErrorMessagesHandler
         */
         static CPhoneErrorMessagesHandler* NewL( 
-        		MPhoneViewCommandHandle* aViewCommandHandle,
-        		MPhoneStateMachine* aStateMachine ); 
+                MPhoneViewCommandHandle* aViewCommandHandle,
+                MPhoneStateMachine* aStateMachine ); 
     
     public: //From MPhoneErrorMessagesHandler
         /**
@@ -66,25 +66,25 @@
         */
         IMPORT_C void ShowErrorSpecificNoteL( const TPEErrorInfo& aErrorInfo );
         
-    protected:		
+    protected:      
         /**
         * By default EPOC constructor is private.
         */
         IMPORT_C CPhoneErrorMessagesHandler( 
-        			MPhoneViewCommandHandle* aViewCommandHandle,
-        			MPhoneStateMachine* aStateMachine );
-        		
+                    MPhoneViewCommandHandle* aViewCommandHandle,
+                    MPhoneStateMachine* aStateMachine );
+                
         /**
         * Two phase construction - Second phase.
         * @return None
         */
         void ConstructL();
-	
+    
         /**
         * Show global InfoNote
         * @param aResourceId resource id to be resolved
         */
-		IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId );
+        IMPORT_C void SendGlobalInfoNoteL( TInt aResourceId );
  
         /**
         * Show global ErrorNote
@@ -99,7 +99,7 @@
         IMPORT_C void SendGlobalWarningNoteL( TInt aResourceId );
         
 
-	private:        
+    private:        
         /**
         * Return SimState.
         */
@@ -111,14 +111,14 @@
         TBool IsVideoCall( const TInt aCallId ) const;
  
     protected:
-		
-		/**
-		* Handle for sending view commands.
-		*/
-		MPhoneViewCommandHandle* iViewCommandHandle;
-		
-		MPhoneStateMachine* iStateMachine;
-	          
+        
+        /**
+        * Handle for sending view commands.
+        */
+        MPhoneViewCommandHandle* iViewCommandHandle;
+        
+        MPhoneStateMachine* iStateMachine;
+              
     };
 
 #endif // __CPHONEERRORMESSAGESHANDLER_H
--- a/phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphonegeneralgsmmessageshandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -12,12 +12,12 @@
 * Contributors:
 *
 * Description: 
-* 		Class that does processing for Phone Engine messages that are common
-*		for all GSM states. Most of the GSM states are intressed of these 
-*		messages but due to the class architecture they don't have any single
-*		state class to be put into. This class exists to minimize duplicate
-*		code so that not every GSM class need to implement these same handlings
-*		for the same messages.
+*       Class that does processing for Phone Engine messages that are common
+*       for all GSM states. Most of the GSM states are intressed of these 
+*       messages but due to the class architecture they don't have any single
+*       state class to be put into. This class exists to minimize duplicate
+*       code so that not every GSM class need to implement these same handlings
+*       for the same messages.
 *
 */
 
@@ -75,7 +75,7 @@
          
 
     private:
-		
+        
         /**
         * By default EPOC constructor is private.
         */
@@ -85,14 +85,14 @@
             MPhoneState& aActiveState );
 
 
-	private:
-	
+    private:
+    
         /**
         * Show global InfoNote
         * @param aResourceId resource id to be resolved
         */
-		void SendGlobalInfoNoteL( TInt aResourceId );
-	    
+        void SendGlobalInfoNoteL( TInt aResourceId );
+        
         /**
         * Shows divert indication or sets internal divert flag
         * depending in which order we receive Incoming and 
@@ -114,20 +114,20 @@
 
     private:
 
-		/**
-		* Currently active state.
-		*/    
-		MPhoneStateMachine& iStateMachine;
-		
-		/**
-		* Handle for sending view commands.
-		*/
-		MPhoneViewCommandHandle& iViewCommandHandle;
-		
-		/**
-		* Currently active state object.
-		*/
-		MPhoneState& iActiveState; 
+        /**
+        * Currently active state.
+        */    
+        MPhoneStateMachine& iStateMachine;
+        
+        /**
+        * Handle for sending view commands.
+        */
+        MPhoneViewCommandHandle& iViewCommandHandle;
+        
+        /**
+        * Currently active state object.
+        */
+        MPhoneState& iActiveState; 
            
     };
 
--- a/phoneapp/phoneuistates/inc/cphonegsmincall.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphonegsmincall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -119,13 +119,13 @@
         
     private:
     
-    	void ReplaceCallL();
-    	/**
+        void ReplaceCallL();
+        /**
         * Handles divert indication 
         */
-    	void HandeDivertIndicationL();
+        void HandeDivertIndicationL();
     };
 
 #endif // CPHONEGSMINCALL_H
 
-// End of File
+// End of File
\ No newline at end of file
--- a/phoneapp/phoneuistates/inc/cphoneresourceresolvergsm.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphoneresourceresolvergsm.h	Fri Mar 19 09:28:42 2010 +0200
@@ -78,8 +78,8 @@
         
     protected: // Data
 
-		CEikonEnv& iEnv;
-	};
+        CEikonEnv& iEnv;
+    };
 
 #endif      // CPHONERESOURCERESOLVERGSM_H   
             
--- a/phoneapp/phoneuistates/inc/cphonesingleandwaiting.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphonesingleandwaiting.h	Fri Mar 19 09:28:42 2010 +0200
@@ -113,16 +113,16 @@
             
      private:
      
-     	/**
-     	* Unholds the call.
-     	* @param aCallId - call id to unhold
-     	*/
+        /**
+        * Unholds the call.
+        * @param aCallId - call id to unhold
+        */
         void HandleUnholdL( TInt aCallId );
      
-     	/**
-     	* Performs a state transition to Two Singles.
-     	* @param aCallId - call id that got connected
-     	*/
+        /**
+        * Performs a state transition to Two Singles.
+        * @param aCallId - call id that got connected
+        */
         void MakeStateTransitionToTwoSinglesL( TInt aCallId );
         
         /**
@@ -165,6 +165,13 @@
         * @param aCallId: the call id of the call
         */
         void HandleDisconnectingL( TInt aCallId );
+
+// <-- QT PHONE START -->
+        /**
+        *  Handles received EPhoneCmdUpdateUiControls command.
+        */
+        void UpdateUiControlsL();
+// <-- QT PHONE END -->        
         
     private: //Data
             
--- a/phoneapp/phoneuistates/inc/cphonesinglecall.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphonesinglecall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -93,7 +93,7 @@
         IMPORT_C TInt CallId() const;
     private:
     
-    	void OpenVideoCallMenuBarL();
+        void OpenVideoCallMenuBarL();
     
         void HandleHeldL( TInt aCallId );
         
--- a/phoneapp/phoneuistates/inc/cphonestatemachinegsm.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphonestatemachinegsm.h	Fri Mar 19 09:28:42 2010 +0200
@@ -76,11 +76,11 @@
         // Phone customization
         MPhoneCustomization* iCustomization;
         
- 	private: // Data
- 	
-		// Is emergency object instantiated - needed to prevent multiple instantiation
- 		TBool iEmergencyStateConstructed;
- 	
+    private: // Data
+    
+        // Is emergency object instantiated - needed to prevent multiple instantiation
+        TBool iEmergencyStateConstructed;
+    
          // Emergency state which is hold in memory all the time.
         MPhoneState* iEmergencyState;         
     };
--- a/phoneapp/phoneuistates/inc/cphonetwosinglesandwaiting.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphonetwosinglesandwaiting.h	Fri Mar 19 09:28:42 2010 +0200
@@ -72,7 +72,15 @@
         * @param aErrorInfo: the error info
         */
         IMPORT_C virtual void HandleErrorL( 
-            const TPEErrorInfo& aErrorInfo ); 
+            const TPEErrorInfo& aErrorInfo );
+
+// <-- QT PHONE START -->        
+        /**
+        * Handles user selected UI commands.
+        * @param aCommand - selected command
+        */    
+        TBool HandleCommandL( TInt aCommand );
+// <-- QT PHONE END -->        
         
     protected:
 
@@ -111,6 +119,13 @@
         */ 
         void HandleNumberEntryClearedL();
         
+// <-- QT PHONE START -->
+        /**
+        *  Handles received EPhoneCmdUpdateUiControls command.
+        */
+        void UpdateUiControlsL();
+// <-- QT PHONE END -->        
+        
         // call id of ringing call
         TInt iRingingCallId;
     };
--- a/phoneapp/phoneuistates/inc/cphoneuistatemachinefactorygsm.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/inc/cphoneuistatemachinefactorygsm.h	Fri Mar 19 09:28:42 2010 +0200
@@ -42,8 +42,8 @@
         CPhoneResourceResolverBase* CreatePhoneResourceResolverL();
         
         CPhoneErrorMessagesHandler* CreatePhoneErrorMessagesHandlerL(
-        	MPhoneViewCommandHandle* aViewCommandHandle,
-        	MPhoneStateMachine* aStateMachine );
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneStateMachine* aStateMachine );
     };
 
 #endif      // __CPHONEUISTATEMACHINEFACTORYGSM_H
--- a/phoneapp/phoneuistates/src/cphonealerting.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonealerting.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -21,7 +21,9 @@
 #include <mpeengineinfo.h>
 #include <mpeclientinformation.h>
 #include <MediatorDomainUIDs.h>
-#include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE START --> 
+//#include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE END --> 
 #include "cphonealerting.h"
 #include "mphonestatemachine.h"
 #include "tphonecmdparamboolean.h"
@@ -177,22 +179,17 @@
     switch ( aMessage )
         {
         case MEngineMonitor::EPEMessageConnected:
-            {
             HandleConnectedL( aCallId );
-            }
             break;
         
         case MEngineMonitor::EPEMessageDisconnecting:
-            {
             HandleDisconnectingL( aCallId );
-            }
             break;
         
         case MEngineMonitor::EPEMessageRemoteTerminated:
-            {
             iViewCommandHandle->ExecuteCommandL( 
-                EPhoneViewHideNaviPaneAudioVolume );            
-            }
+                EPhoneViewHideNaviPaneAudioVolume );
+            CPhoneGsmInCall::HandlePhoneEngineMessageL( aMessage, aCallId );
             break;
         
         case MEngineMonitor::EPEMessageIncoming:
@@ -226,12 +223,6 @@
                 }
             }
             break;
-        case MEngineMonitor::EPEMessageColpNumberAvailable:
-            {
-            HandleColpNoteL( aCallId );
-            return;
-            }
-            break;            
         
         default:
             break;
@@ -251,23 +242,25 @@
     // Keep Phone in the foreground
     TPhoneCmdParamBoolean booleanParam;
     booleanParam.SetBoolean( EFalse );
-    iViewCommandHandle->ExecuteCommandL(
+    iViewCommandHandle->ExecuteCommandL( 
         EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
 
     // Close menu bar, if it is displayed
     iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarClose );
 
     BeginUiUpdateLC();
-
+        
     // Update the single call
     UpdateSingleActiveCallL( aCallId );
 
-    SetTouchPaneButtons( EPhoneIncallButtons );
+    SetTouchPaneButtons( EPhoneIncallButtons ); 
 
     SetToolbarDimming( EFalse );
-
+        
     EndUiUpdate();
     
+    HandleColpNoteL( aCallId );
+    
     // Go to single state
     UpdateCbaL( EPhoneCallHandlingInCallCBA );    
     iStateMachine->ChangeState( EPhoneStateSingle );
@@ -385,12 +378,14 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates,  
             "CPhoneAlerting::HandleDisconnectingL()" );
-    
-    if ( iStateMachine->PhoneEngineInfo()->CallOrigin( aCallId ) == EPECallOriginSAT )
+
+// <-- QT PHONE START --> 
+    /*if ( iStateMachine->PhoneEngineInfo()->CallOrigin( aCallId ) == EPECallOriginSAT )
         {
         // User has hangup alerting SAT call, complete sat request
         CompleteSatRequestL( aCallId );
-        }
+        }*/
+// <-- QT PHONE END --> 
     
     CPhoneGsmInCall::HandleDisconnectingL( aCallId );
     }
--- a/phoneapp/phoneuistates/src/cphonecallsetup.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonecallsetup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -18,7 +18,9 @@
 
 // INCLUDES
 #include <MediatorDomainUIDs.h>
-#include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE START --> 
+//#include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE END --> 
 #include "cphonecallsetup.h"
 #include "mphonestatemachine.h"
 #include "tphonecmdparamboolean.h"
--- a/phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonecallsetupandwaiting.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,9 @@
 #include <pevirtualengine.h>
 #include <StringLoader.h>
 #include <MediatorDomainUIDs.h>
-#include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE START --> 
+//#include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE END --> 
 
 #include "cphonecallsetupandwaiting.h"
 #include "tphonecmdparamboolean.h"
--- a/phoneapp/phoneuistates/src/cphoneconference.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneconference.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -260,11 +260,13 @@
 //
 void CPhoneConference::UpdateInCallCbaL()
     {
-    if ( iViewCommandHandle->HandleCommandL( EPhoneViewIsConferenceInExpandedMode ) 
-        != EPhoneViewResponseSuccess )
-        {
-        UpdateCbaL( EPhoneCallHandlingInCallCBA );
-        }    
+// <-- QT PHONE START -->
+    //if ( iViewCommandHandle->HandleCommandL( EPhoneViewIsConferenceInExpandedMode ) 
+    //    != EPhoneViewResponseSuccess )
+    //    {
+    UpdateCbaL( EPhoneCallHandlingInCallCBA );
+    //    }
+// <-- QT PHONE END -->    
     }
 
 // -----------------------------------------------------------
@@ -495,7 +497,9 @@
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneConference::HandleHeldConferenceL()");
     TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateHeld );
+    // <-- QT PHONE START --> 
+    callHeaderParam.SetCallState( EPEStateHeldConference );
+    // <-- QT PHONE END -->
     
     TInt callLabelId;
     TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
@@ -520,7 +524,9 @@
         }
     
     SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate );
-    
+    // <-- QT PHONE START --> 
+    SetTouchPaneButtons( EPhoneConferenceButtons );
+    // <-- QT PHONE END -->
     UpdateInCallCbaL();
     }
 
@@ -575,8 +581,10 @@
         "CPhoneConference::HandleConnectedConferenceL()");
     // Update call state
     TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
-
+    // <-- QT PHONE START -->
+    callHeaderParam.SetCallState( EPEStateConnectedConference );
+    // <-- QT PHONE END -->
+    
     TBuf<KPhoneCallHeaderLabelMaxLength> conferenceText( KNullDesC );
     TInt callLabelId = CPhoneMainResourceResolver::Instance()->
             ResolveResourceID( EPhoneCLIConferenceCall );
@@ -601,6 +609,9 @@
         }
     
     SetTouchPaneButtonEnabled( EPhoneInCallCmdPrivate );
+    // <-- QT PHONE START --> 
+    SetTouchPaneButtons( EPhoneConferenceButtons );
+    // <-- QT PHONE END -->
     
     UpdateInCallCbaL();
     }
@@ -935,14 +946,16 @@
 
     // Close fast swap window if it's displayed
     CEikonEnv::Static()->DismissTaskList();
-
+    
     // Check if HW Keys or Call UI should be disabled
     CheckDisableHWKeysAndCallUIL();
     
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
-    
+// <-- QT PHONE START -->
     // Display incoming call
     DisplayIncomingCallL( aCallId, dialerParam );
+    
+    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+// <-- QT PHONE END -->
 
     EndUiUpdate();
 
--- a/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandcallsetup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -57,8 +57,10 @@
         {
         TPhoneCmdParamBoolean dtmfSendFlag;
         dtmfSendFlag.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfOptionsFlag, 
-    	    &dtmfSendFlag );
+// <-- QT PHONE START -->
+        iViewCommandHandle->ExecuteCommand( EPhoneViewSetDtmfOptionsFlag, 
+            &dtmfSendFlag );
+// <-- QT PHONE END -->         
         }
     }
 
@@ -107,41 +109,25 @@
     switch ( aMessage )
         {
         case MEngineMonitor::EPEMessageConnecting:
-            {
             iAlerting = ETrue;
             HandleConnectingL( aCallId );
-            }
             break;
             
         case MEngineMonitor::EPEMessageConnected:
-            {
             HandleConnectedL( aCallId );
-            }
             break;
             
         case MEngineMonitor::EPEMessageIdle:
-            {
             HandleIdleL( aCallId );
-            }
             break;
             
         case MEngineMonitor::EPEMessageConferenceIdle:
-            {
             HandleConferenceIdleL();
-            }
             break;
             
-        case MEngineMonitor::EPEMessageColpNumberAvailable:
-            {
-            HandleColpNoteL( aCallId );            
-            }
-            break;         
-            
         default:
-            {
             CPhoneConference::HandlePhoneEngineMessageL( aMessage, 
                 aCallId );
-            }
             break;
         }
     }
@@ -216,7 +202,7 @@
     TPhoneCmdParamBoolean dtmfSendFlag;
     dtmfSendFlag.SetBoolean( ETrue );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfOptionsFlag, 
-    	&dtmfSendFlag );
+        &dtmfSendFlag );
      
     if ( iOnScreenDialer &&  IsDTMFEditorVisibleL() )
         {
@@ -231,15 +217,15 @@
         resourceId = EPhoneConfCallParticipantsDropMenubar;    
         }        
     else
-	    {
-	    resourceId = EPhoneAlertingAndConfHeldCallMenuBar;
-	    }
+        {
+        resourceId = EPhoneAlertingAndConfHeldCallMenuBar;
+        }
 
     TPhoneCmdParamInteger integerParam;
     integerParam.SetInteger( 
                 CPhoneMainResourceResolver::Instance()->
                 ResolveResourceID( resourceId ) );
-	    
+        
     iViewCommandHandle->ExecuteCommandL( EPhoneViewMenuBarOpen, 
         &integerParam );
     }
@@ -327,7 +313,8 @@
     SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
     SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate );
     EndUiUpdate(); 
-    
+
+    HandleColpNoteL( aCallId );
     UpdateCbaL ( EPhoneCallHandlingNewCallSwapCBA );
    
     iStateMachine->ChangeState( EPhoneStateConferenceAndSingle );                     
@@ -359,8 +346,8 @@
     
     if( conferenceExistsForCallId.Boolean() )
         {
-		// Remove 'Conference on hold' global note
-	    iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveGlobalNote );
+        // Remove 'Conference on hold' global note
+        iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveGlobalNote );
     
         // Remove conference member from conference bubble
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveFromConference, 
@@ -402,8 +389,8 @@
             {
             // Show the number entry if it exists
             SetNumberEntryVisibilityL(ETrue);
-	        }
-	        
+            }
+            
         SetTouchPaneButtons( EPhoneConferenceButtons );
         EndUiUpdate();
         EndTransEffect(); 
--- a/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingle.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -62,8 +62,10 @@
         {
         TPhoneCmdParamBoolean dtmfSendFlag;
         dtmfSendFlag.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfOptionsFlag, 
-    	    &dtmfSendFlag );     	
+// <-- QT PHONE START -->
+        iViewCommandHandle->ExecuteCommand( EPhoneViewSetDtmfOptionsFlag, 
+            &dtmfSendFlag );
+// <-- QT PHONE END -->         
         }
     }
 
@@ -127,13 +129,13 @@
             HandleHeldL( aCallId );
             break;
             
-        case MEngineMonitor::EPEMessageInValidEmergencyNumber:				
-	 		SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed );  	 					
+        case MEngineMonitor::EPEMessageInValidEmergencyNumber:              
+            SendGlobalErrorNoteL( EPhoneNoteTextNotAllowed );                       
             break;
             
         case MEngineMonitor::EPEMessageValidEmergencyNumber:
             DialVoiceCallL();
-            break;        	 				
+            break;                          
            
         case MEngineMonitor::EPEMessageAddedConferenceMember:
             HandleAddedConferenceMemberL( aCallId );
@@ -198,13 +200,13 @@
     TPhoneCmdParamBoolean conferenceAndSingleFlag;
     conferenceAndSingleFlag.SetBoolean( ETrue );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, 
-    	&conferenceAndSingleFlag );
+        &conferenceAndSingleFlag );
     
     // Set specific flag to view so that DTMF menu item available
     TPhoneCmdParamBoolean dtmfSendFlag;
     dtmfSendFlag.SetBoolean( ETrue );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfOptionsFlag, 
-    	&dtmfSendFlag );    	
+        &dtmfSendFlag );        
     
     TPhoneViewResponseId response;
     TPhoneCmdParamCallStateData callStateData;
@@ -305,7 +307,9 @@
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingle::HandleConnectedConferenceL");
     // Update call state
     TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateConnected );
+    // <-- QT PHONE START -->
+    callHeaderParam.SetCallState( EPEStateConnectedConference );
+    // <-- QT PHONE END -->
 
     TBuf<KPhoneCallHeaderLabelMaxLength> conferenceText( KNullDesC );
     TInt callLabelId = CPhoneMainResourceResolver::Instance()->
@@ -342,7 +346,9 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndSingle::HandleHeldConferenceL");
     TPhoneCmdParamCallHeaderData callHeaderParam;
-    callHeaderParam.SetCallState( EPEStateHeld );
+    // <-- QT PHONE START -->
+    callHeaderParam.SetCallState( EPEStateHeldConference );
+    // <-- QT PHONE END -->
     
     TInt callLabelId;
     TBuf<KPhoneCallHeaderLabelMaxLength> labelText( KNullDesC );
@@ -382,7 +388,10 @@
     callHeaderParam.SetCallState( EPEStateConnected );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
         &callHeaderParam );
-    
+
+    // <-- QT PHONE START --> 
+    SetTouchPaneButtons( EPhoneConferenceButtons );
+    // <-- QT PHONE END -->
     }
 
 // -----------------------------------------------------------
@@ -407,7 +416,11 @@
     callHeaderParam.SetLabelText( labelText );
 
     iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
-        &callHeaderParam );        
+        &callHeaderParam );      
+    
+    // <-- QT PHONE START --> 
+    SetTouchPaneButtons( EPhoneConferenceButtons );
+    // <-- QT PHONE END -->
     }
 
 // -----------------------------------------------------------
@@ -433,7 +446,7 @@
     TPhoneCmdParamBoolean conferenceAndSingleFlag;
     conferenceAndSingleFlag.SetBoolean( EFalse );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, 
-    	&conferenceAndSingleFlag );
+        &conferenceAndSingleFlag );
 
     UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateConference );        
@@ -457,7 +470,7 @@
 void CPhoneConferenceAndSingle::HandleIncomingL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-    	"CPhoneConferenceAndSingle::HandleIncomingL");
+        "CPhoneConferenceAndSingle::HandleIncomingL");
     
     BeginUiUpdateLC();  
     
@@ -471,27 +484,28 @@
     TPhoneCmdParamBoolean booleanParam;
     booleanParam.SetBoolean( EFalse );
     iViewCommandHandle->ExecuteCommandL( 
-    	EPhoneViewOpenConferenceList, &booleanParam );
+        EPhoneViewOpenConferenceList, &booleanParam );
 
     iViewCommandHandle->ExecuteCommandL( EPhoneViewCloseFSW );
     
-    // Set touch controls
-    SetTouchPaneButtonDisabled( EPhoneCallComingCmdAnswer );
-
     // Check if HW Keys or Call UI should be disabled
     CheckDisableHWKeysAndCallUIL();
-
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
-        
+    
+    // <-- QT PHONE START -->
     // Display incoming call
     DisplayIncomingCallL( aCallId, dialerParam  );
 
+    // Set touch controls
+    SetTouchPaneButtonDisabled( EPhoneCallComingCmdAnswer );
+    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+    // <-- QT PHONE END -->
+    
     EndUiUpdate();
 
     TPhoneCmdParamBoolean conferenceAndSingleFlag;
     conferenceAndSingleFlag.SetBoolean( EFalse );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, 
-    	&conferenceAndSingleFlag );
+        &conferenceAndSingleFlag );
     
     // Go to Conference And Single And Waiting state
     UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
@@ -505,7 +519,7 @@
 void CPhoneConferenceAndSingle::HandleIdleL( TInt aCallId )
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-    	"CPhoneConferenceAndSingle::HandleIdleL");
+        "CPhoneConferenceAndSingle::HandleIdleL");
     
     // If dialler is not open then close menu bar.
     if ( !IsNumberEntryUsedL() )
@@ -531,24 +545,24 @@
         BeginUiUpdateLC(); 
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveCallHeader, aCallId );
 
-	    TPhoneCmdParamBoolean conferenceAndSingleFlag;
-	    conferenceAndSingleFlag.SetBoolean( EFalse );
-	    iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, 
-	    	&conferenceAndSingleFlag );
+        TPhoneCmdParamBoolean conferenceAndSingleFlag;
+        conferenceAndSingleFlag.SetBoolean( EFalse );
+        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetConferenceAndSingleFlag, 
+            &conferenceAndSingleFlag );
+        
+        TPhoneCmdParamBoolean participantsVisibleFlag;
+        iViewCommandHandle->ExecuteCommandL( EPhoneViewGetConferenceListVisibleFlag,
+                &participantsVisibleFlag );
         
-	    TPhoneCmdParamBoolean participantsVisibleFlag;
-	    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetConferenceListVisibleFlag,
-	            &participantsVisibleFlag );
-	    
-	    // if participants list is visible - do not change buttons or cba
-	    if( !participantsVisibleFlag.Boolean() )
-	        {
-	        // Go to Conference state
-	        SetTouchPaneButtons( EPhoneConferenceButtons );
-	        SetTouchPaneButtonEnabled( EPhoneInCallCmdPrivate );  
-	        
-	        UpdateCbaL( EPhoneCallHandlingInCallCBA );
-	        }
+        // if participants list is visible - do not change buttons or cba
+        if( !participantsVisibleFlag.Boolean() )
+            {
+            // Go to Conference state
+            SetTouchPaneButtons( EPhoneConferenceButtons );
+            SetTouchPaneButtonEnabled( EPhoneInCallCmdPrivate );  
+            
+            UpdateCbaL( EPhoneCallHandlingInCallCBA );
+            }
       
 
         EndUiUpdate();
@@ -570,19 +584,19 @@
     
     TPhoneCmdParamInteger intParam;
     iViewCommandHandle->ExecuteCommandL( EPhoneViewGetCountOfActiveCalls,
-    	&intParam );
-    	
+        &intParam );
+        
     switch( intParam.Integer() )
-	    {
-	    case EOneActiveCall:
-	    	MakeStateTransitionToSingleL();
-	    	break;
-	    	
-	    case ETwoActiveCalls: // Fall through
-	    default:
-	    	MakeStateTransitionToTwoSinglesL();
-	    	break;
-	    }
+        {
+        case EOneActiveCall:
+            MakeStateTransitionToSingleL();
+            break;
+            
+        case ETwoActiveCalls: // Fall through
+        default:
+            MakeStateTransitionToTwoSinglesL();
+            break;
+        }
     }
 
 // --------------------------------------------------------------
@@ -600,15 +614,15 @@
         // send-key
         case EKeyYes:
             if( IsNumberEntryVisibleL() )
-				{
+                {
                 HandleSendL();
                 }
- 			else
-	 			{
+            else
+                {
                 // Number entry is below so swap the call
                 iStateMachine->SendPhoneEngineMessage(
-                	CPEPhoneModelIF::EPEMessageSwap );        
-	 			}
+                    CPEPhoneModelIF::EPEMessageSwap );        
+                }
             break;
             
         default:
@@ -649,7 +663,7 @@
         {
         iStateMachine->SendPhoneEngineMessage( 
             MPEPhoneModel::EPEMessageCheckEmergencyNumber );
-        } 	
+        }   
     CleanupStack::PopAndDestroy( phoneNumber );
     }
 
--- a/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandsingleandwaiting.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -34,7 +34,7 @@
 #include "phoneui.hrh"
 #include "mphonestorage.h"
 #include "cphonecenrepproxy.h"
-#include <TelephonyVariant.hrh>
+#include <telephonyvariant.hrh>
 
 // ================= MEMBER FUNCTIONS =======================
 
@@ -62,8 +62,10 @@
         {
         TPhoneCmdParamBoolean dtmfSendFlag;
         dtmfSendFlag.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfOptionsFlag, 
-    	&dtmfSendFlag );
+// <-- QT PHONE START -->
+        iViewCommandHandle->ExecuteCommand( EPhoneViewSetDtmfOptionsFlag, 
+            &dtmfSendFlag );
+// <-- QT PHONE END -->
         }
     }
 
@@ -139,7 +141,7 @@
     TPhoneCmdParamBoolean dtmfSendFlag;
     dtmfSendFlag.SetBoolean( ETrue );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfOptionsFlag, 
-    	&dtmfSendFlag );
+        &dtmfSendFlag );
   
 
     TPhoneCmdParamCallStateData callStateData;
@@ -384,7 +386,7 @@
 
     MakeTransitionAccordingToActiveCallsL();
     
-    EndUiUpdate();    	    
+    EndUiUpdate();          
     }
 
 // --------------------------------------------------------------
@@ -402,15 +404,15 @@
         // send-key
         case EKeyYes:
             if( IsNumberEntryVisibleL() )
- 				{
-                CallFromNumberEntryL();    	 					
- 				}
- 			else
-	 			{
+                {
+                CallFromNumberEntryL();                         
+                }
+            else
+                {
                 // Not allowed to answer
                 SendGlobalWarningNoteL( 
-                    EPhoneNoteTextCallNotAllowed );		 				
-	 			}
+                    EPhoneNoteTextCallNotAllowed );                     
+                }
             break;
             
         default:
@@ -426,7 +428,7 @@
 //
 void CPhoneConferenceAndSingleAndWaiting::HandleKeyEventL(
     const TKeyEvent& aKeyEvent,
-    TEventCode aEventCode )
+    TEventCode /*aEventCode*/ )
     {
     if( EKeyDeviceF == aKeyEvent.iCode )
         {
--- a/phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaiting.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 #include <StringLoader.h>
 #include <cpephonemodelif.h>
 #include <featmgr.h>
-#include <TelephonyVariant.hrh>
+#include <telephonyvariant.hrh>
 #include "cphoneconferenceandwaiting.h"
 #include "mphonestatemachine.h"
 #include "phoneviewcommanddefinitions.h"
@@ -130,6 +130,25 @@
             HandleWentOneToOneL( aCallId );
             break;
 
+// <-- QT PHONE START -->
+        case MEngineMonitor::EPEMessageHeldConference:            
+        case MEngineMonitor::EPEMessageConnectedConference:
+            {
+            TPhoneCmdParamInteger callIdParam;
+            iViewCommandHandle->ExecuteCommandL( 
+                        EPhoneViewGetExpandedBubbleCallId, &callIdParam );
+            
+            CPhoneConference::HandlePhoneEngineMessageL( aMessage, 
+                            aCallId );
+            
+            if ( KConferenceCallId == callIdParam.Integer() )
+                {
+                iViewCommandHandle->ExecuteCommand(EPhoneSetConferenceExpanded);
+                }
+            }
+            break;
+// <-- QT PHONE END -->
+            
         default:
             CPhoneConference::HandlePhoneEngineMessageL( aMessage, 
                 aCallId );
@@ -176,7 +195,7 @@
 //
 void CPhoneConferenceAndWaiting::HandleKeyEventL(
     const TKeyEvent& aKeyEvent,
-    TEventCode aEventCode )
+    TEventCode /*aEventCode*/ )
     {
     if( EKeyDeviceF == aKeyEvent.iCode )
         {
@@ -295,8 +314,9 @@
         if ( NeedToSendToBackgroundL() )
             {
             // Return phone to the background if send to background is needed.
-            iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-            
+// <-- QT PHONE START -->            
+            //iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
+// <-- QT PHONE END -->                        
             iViewCommandHandle->ExecuteCommandL( EPhoneViewSetControlAndVisibility );
             
             UpdateCbaL( EPhoneCallHandlingInCallCBA );
@@ -312,11 +332,13 @@
         UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
         // If numberentry is not open just check NeedToSendToBackgroundL and 
         // sendbackround if needed.
-        if ( NeedToSendToBackgroundL() )
+// <-- QT PHONE START -->        
+        /*if ( NeedToSendToBackgroundL() )
             {
             // Return phone to the background if send to background is needed.
             iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-            }
+            }*/
+// <-- QT PHONE END -->            
         }
     SetTouchPaneButtons( EPhoneConferenceAndSingleButtons );
     SetTouchPaneButtonDisabled( EPhoneInCallCmdPrivate );
@@ -625,4 +647,43 @@
     EndUiUpdate();
     }
 
+// <-- QT PHONE START -->
+// -----------------------------------------------------------
+// CPhoneConferenceAndWaiting::HandleCommandL
+// -----------------------------------------------------------
+//
+TBool CPhoneConferenceAndWaiting::HandleCommandL( TInt aCommand )
+    {
+    __LOGMETHODSTARTEND( EPhoneUIStates,
+        "CPhoneConferenceAndWaiting::HandleCommandL() ");
+    TBool commandStatus = ETrue;
+
+    switch( aCommand )
+        {
+        case EPhoneCmdUpdateUiControls:
+            UpdateUiControlsL();
+            break;
+
+        default:
+            commandStatus = CPhoneConference::HandleCommandL( aCommand );
+            break;
+        }
+
+    return commandStatus;
+    }
+
+// -----------------------------------------------------------
+// CPhoneConferenceAndWaiting::UpdateUiControlsL
+// -----------------------------------------------------------
+//
+void CPhoneConferenceAndWaiting::UpdateUiControlsL()
+    {
+    __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneConferenceAndWaiting::UpdateUiControlsL( ) ");
+    iViewCommandHandle->ExecuteCommand(EPhoneSetConferenceExpanded);
+    UpdateCbaL( EPhoneCallHandlingInCallCBA );
+    }
+
+// <-- QT PHONE END -->
+
+
 // End of File
--- a/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneconferenceandwaitingandcallsetup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -59,8 +59,10 @@
         {
         TPhoneCmdParamBoolean dtmfSendFlag;
         dtmfSendFlag.SetBoolean( EFalse );
-        iViewCommandHandle->ExecuteCommandL( EPhoneViewSetDtmfOptionsFlag, 
-            &dtmfSendFlag );        
+// <-- QT PHONE START -->
+        iViewCommandHandle->ExecuteCommand( EPhoneViewSetDtmfOptionsFlag, 
+            &dtmfSendFlag );
+// <-- QT PHONE END -->        
         }
     }
 
@@ -112,41 +114,25 @@
     switch ( aMessage )
         {
         case MEngineMonitor::EPEMessageConnecting:
-            {
             iAlerting = ETrue;
             HandleConnectingL( aCallId );
-            }
             break;
             
         case MEngineMonitor::EPEMessageConnected:
-            {
             HandleConnectedL( aCallId );
-            }
             break;
         
         case MEngineMonitor::EPEMessageConferenceIdle:
-            {
             HandleConferenceIdleL();
-            }
             break;
 
         case MEngineMonitor::EPEMessageIdle:
-            {
             HandleIdleL( aCallId );
-            }
             break;
-            
-        case MEngineMonitor::EPEMessageColpNumberAvailable:
-            {
-            HandleColpNoteL( aCallId );            
-            }
-            break;         
 
         default:
-            {
             CPhoneConference::HandlePhoneEngineMessageL( aMessage, 
                 aCallId );
-            }
             break;
         }
     }
@@ -337,6 +323,8 @@
         {
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
         }
+        
+    HandleColpNoteL( aCallId );
     
     SetTouchPaneButtons( EPhoneWaitingCallButtons );    
     SetTouchPaneButtonDisabled( EPhoneCallComingCmdAnswer );
--- a/phoneapp/phoneuistates/src/cphoneemergency.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneemergency.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -41,6 +41,9 @@
 #include "cphonepubsubproxy.h"
 #include "cphonekeys.h"
 #include "tphonecmdparamaudiooutput.h"
+// <-- QT PHONE START -->
+#include "phoneresourceids.h"
+// <-- QT PHONE END -->
 
 // ================= MEMBER FUNCTIONS =======================
 
@@ -177,7 +180,6 @@
 
                 if ( !isProgressNoteVisible.Boolean() )
                     {
-                    ShowNoteL( EPhoneEmergencyConnectWaitNote );
                     UpdateSetupCbaL();
                     }
                  }
@@ -232,6 +234,9 @@
                 // Continue displaying current app but set up the
                 // idle screen in the background
                 SetupIdleScreenInBackgroundL();
+
+                // Update toolbar
+                iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateToolbar );
                 }
 
             else if ( iOnScreenDialer && IsNumberEntryContentStored() )
@@ -249,6 +254,8 @@
                 {
                 // Show the number entry if it exists
                 SetNumberEntryVisibilityL(ETrue);
+                // Update toolbar
+                iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateToolbar );
                 }
 
             else
@@ -277,15 +284,15 @@
                 {
                 SetDefaultFlagsL();
                 }
-
-            // As long as security note is not shown with feature flag
+            
+            // As long as security note is not shown with feature flag 
             // KFeatureIdFfSimlessOfflineSupport undef it is ok to do SetupIdleScreenInBackgroundL.
-            if ( ( !IsNumberEntryUsedL() ) &&
-                 !( IsSimStateNotPresentWithSecurityModeEnabled() &&
+            if ( ( !IsNumberEntryUsedL() ) && 
+                 !( IsSimStateNotPresentWithSecurityModeEnabled() && 
                     !FeatureManager::FeatureSupported( KFeatureIdFfSimlessOfflineSupport ) ) )
                 {
                 UpdateCbaL( EPhoneEmptyCBA );
-
+                
                 TPhoneCmdParamBoolean securityMode;
                 iViewCommandHandle->ExecuteCommandL( EPhoneViewGetSecurityModeStatus, &securityMode );
                 if ( !securityMode.Boolean() )
@@ -294,7 +301,7 @@
                     SetupIdleScreenInBackgroundL();
                     }
                 }
-
+            
             iStateMachine->ChangeState( EPhoneStateIdle );
             }
         }
@@ -374,11 +381,59 @@
         // Enable the volume display
         iViewCommandHandle->ExecuteCommandL( EPhoneViewShowNaviPaneAudioVolume );
 
-        SetTouchPaneButtons( EPhoneEmergencyCallButtons );
+        
+// <-- QT PHONE START -->
+        BeginUiUpdateLC();
+        
+        TPhoneCmdParamEmergencyCallHeaderData emergencyHeaderParam;
+        // Set call header
+        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 );
 
-        ShowNoteL( EPhoneEmergencyConnectWaitNote );
+        TPhoneCmdParamCallHeaderData headerParam;
+        headerParam.SetCallState( EPEStateDialing );
+        
+        StringLoader::Load(
+            headerText,
+            CPhoneMainResourceResolver::Instance()->ResolveResourceID(
+                    EPhoneAttemptingEmergencyText ),
+            CCoeEnv::Static() );
+        headerParam.SetLabelText( headerText );
+        
+        iViewCommandHandle->ExecuteCommandL(
+            EPhoneViewUpdateBubble,
+            aCallId,
+            &headerParam );
 
+        SetTouchPaneButtons( EPhoneEmergencyCallButtons );
+        
+        TPhoneCmdParamBoolean val;
+        val.SetBoolean(EFalse);
+        iViewCommandHandle->ExecuteCommand(
+            EPhoneViewBackButtonVisible, &val );
+        
+        EndUiUpdate();        
+
+        // ShowNoteL( EPhoneEmergencyConnectWaitNote );
         UpdateSetupCbaL();
+// <-- QT PHONE END -->        
         }
     }
 // -----------------------------------------------------------
@@ -422,7 +477,8 @@
     // Remove emergency connecting note
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNote );
 
-    TPhoneCmdParamEmergencyCallHeaderData emergencyHeaderParam;
+// <-- QT PHONE START -->    
+    /*TPhoneCmdParamEmergencyCallHeaderData emergencyHeaderParam;
     // Set call header
     TBuf<KPhoneCallHeaderLabelMaxLength> headerText( KNullDesC );
     StringLoader::Load(
@@ -454,10 +510,18 @@
         aCallId,
         &headerParam );
 
-    EndUiUpdate();
+    EndUiUpdate();*/
+// <-- QT PHONE END -->
 
-    //Make sure that toolbar is not shown
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewHideToolbar );
+    TPhoneCmdParamCallHeaderData headerParam;
+    headerParam.SetCallState( EPEStateConnecting );
+    // Notify the view
+    iViewCommandHandle->ExecuteCommandL(
+        EPhoneViewUpdateBubble,
+        aCallId,
+        &headerParam );
+
+    SetToolbarButtonLoudspeakerEnabled();
 
     UpdateInCallCbaL();
     }
@@ -480,7 +544,15 @@
         aCallId,
         &emergencyHeaderParam );
 
+// <-- QT PHONE START -->
+    TPhoneCmdParamBoolean val;
+    val.SetBoolean(ETrue);
+    iViewCommandHandle->ExecuteCommand(
+        EPhoneViewBackButtonVisible, &val );
+// <-- QT PHONE END -->
+
     EndUiUpdate();
+    SetToolbarDimming( ETrue );
     UpdateInCallCbaL();
     }
 
@@ -522,7 +594,8 @@
 void CPhoneEmergency::UpdateInCallCbaL()
     {
     __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneEmergency::UpdateInCallCbaL() ");
-    TInt resourceId = EPhoneCallHandlingEmergencyCBA;
+// <-- QT PHONE START -->    
+    /*TInt resourceId = EPhoneCallHandlingEmergencyCBA;
     const TPEAudioOutput audioOutput =
         iStateMachine->PhoneEngineInfo()->AudioOutput();
     const TBool btAvailable =
@@ -534,7 +607,7 @@
 
     if ( IsNumberEntryVisibleL() )
         {
-        if ( IsDTMFEditorVisibleL() )
+        if ( IsDTMFDialerVisibleL() )
             {
             resourceId = EPhoneDtmfDialerCBA;
             }
@@ -545,11 +618,7 @@
         }
     else if ( iDeviceLockOn || SimState() != EPESimUsable || iStartupInterrupted )
         {
-        if ( TouchCallHandlingSupported() )
-        	{
-            resourceId = EPhoneCallHandlingEmergencyInCallNoOptions;
-            }
-        else if ( audioOutput == EPEWiredAudioAccessory || IsSwivelClosed())
+        if ( audioOutput == EPEWiredAudioAccessory || IsSwivelClosed() )
             {
             resourceId = EPhoneCallHandlingEmergencyNoOptionsNoIhfCBA;
             }
@@ -564,21 +633,24 @@
         }
     else
         {
-        if ( UseEmergencyNoIhfCBA( audioOutput ) )
+        if ( audioOutput == EPEWiredAudioAccessory || IsSwivelClosed() )
             {
             resourceId = EPhoneCallHandlingEmergencyNoIhfCBA;
             }
-        else if ( UseHandsetEmergencyCBA( audioOutput ) )
+        else if ( ( audioOutput == EPELoudspeaker ) ||
+                  ( audioOutput == EPEBTAudioAccessory ) )
             {
             resourceId = EPhoneCallHandlingEmergencyHandsetCBA;
             }
-        else if ( ( audioOutput == EPEHandset ) 
-        		&& ( btAvailable ) )
+        else if ( ( audioOutput == EPEHandset ) &&
+                  ( btAvailable ) )
             {
             resourceId = EPhoneCallHandlingInCallBtaaCBA;
             }
-        }
-
+        }*/
+    
+    TInt resourceId = EPhoneCallHandlingEmergencyCBA;        
+// <-- QT PHONE END -->        
     iCbaManager->SetCbaL( resourceId );
     }
 
@@ -679,7 +751,6 @@
 
                  if ( !isProgressNoteVisible.Boolean() )
                      {
-                     ShowNoteL( EPhoneEmergencyConnectWaitNote );
                      UpdateSetupCbaL();
                      }
                  }
@@ -774,16 +845,16 @@
         }
     else
         {
-		 if ( iDeviceLockOn && CPhoneKeys::IsNumericKey( aKeyEvent, aEventCode ) )
-			{
-			// Send the key event to the phone engine
-			SendKeyEventL( aKeyEvent, aEventCode );
-			}
-		else
-			{
-			// Handle numeric keys when key events are received in idle state
-			CPhoneState::HandleKeyEventL( aKeyEvent, aEventCode );
-			}
+         if ( iDeviceLockOn && CPhoneKeys::IsNumericKey( aKeyEvent, aEventCode ) )
+            {
+            // Send the key event to the phone engine
+            SendKeyEventL( aKeyEvent, aEventCode );
+            }
+        else
+            {
+            // Handle numeric keys when key events are received in idle state
+            CPhoneState::HandleKeyEventL( aKeyEvent, aEventCode );
+            }
         }
     }
 
@@ -872,14 +943,13 @@
 void CPhoneEmergency::UpdateSetupCbaL()
     {
     __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneEmergency::UpdateSetupCbaL() ");
-
-    TInt resourceId = EPhoneCallHandlingCallSetupCBA;
+// <-- QT PHONE START -->
+    /*TInt resourceId = EPhoneCallHandlingCallSetupCBA;
 
     const TPEAudioOutput audioOutput =
         iStateMachine->PhoneEngineInfo()->AudioOutput();
 
-    if ( !( TouchCallHandlingSupported() ) 
-    		&& iCallSetup && audioOutput != EPENotActive )
+    if ( iCallSetup && audioOutput != EPENotActive)
         {
         if ( audioOutput == EPELoudspeaker )
             {
@@ -900,7 +970,11 @@
 
         iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateNoteSoftkeys,
                 &integerParam );
-        }
+        }*/
+
+   TInt resourceId = EPhoneCallHandlingEmergencyCBA;        
+   iCbaManager->SetCbaL( resourceId );
+// <-- QT PHONE END -->        
     }
 
 // ---------------------------------------------------------
@@ -930,7 +1004,7 @@
     TBool handled = EFalse;
 
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneEmergency::MrccatoCommand() ");
-
+    
     switch ( aOperationId )
         {
          case ERemConCoreApiMute:
@@ -949,59 +1023,49 @@
 // --------------------------------------------------------------
 //
 TBool CPhoneEmergency::TouchCallHandlingSupported () const
-	{
-	if ( FeatureManager::FeatureSupported ( KFeatureIdTouchCallHandling ) )
-		{
-		return ETrue;
-		}
-	else 
-		{
-		return EFalse;
-		}
-	}
+    {
+    if ( FeatureManager::FeatureSupported ( KFeatureIdTouchCallHandling ) )
+        {
+        return ETrue;
+        }
+    else 
+        {
+        return EFalse;
+        }
+    }
 
 // --------------------------------------------------------------
 // CPhoneEmergency::UseEmergencyNoIhfCBA
 // --------------------------------------------------------------
 //
 TBool CPhoneEmergency::UseEmergencyNoIhfCBA( const TPEAudioOutput& aAudioOutput ) const
-	{
-	if ( !( TouchCallHandlingSupported() ) 
-		&& ( ( aAudioOutput == EPEWiredAudioAccessory ) || ( IsSwivelClosed() ) ) )
-		{
-		return ETrue;
-		}
-	else 
-		{
-		return EFalse;
-		}
-	}
+    {
+    if ( !( TouchCallHandlingSupported() ) 
+        && ( ( aAudioOutput == EPEWiredAudioAccessory ) || ( IsSwivelClosed() ) ) )
+        {
+        return ETrue;
+        }
+    else 
+        {
+        return EFalse;
+        }
+    }
 
 // --------------------------------------------------------------
 // CPhoneEmergency::UseHandsetEmergencyCBA
 // --------------------------------------------------------------
 //
 TBool CPhoneEmergency::UseHandsetEmergencyCBA( const TPEAudioOutput& aAudioOutput ) const
-    {
-	if ( !( TouchCallHandlingSupported() ) 
-		&& ( ( aAudioOutput == EPELoudspeaker ) || ( aAudioOutput == EPEBTAudioAccessory ) ) )
-		{
-		return ETrue;
-		}
-	else 
-		{
-		return EFalse;
-		}
-    }
-
-// --------------------------------------------------------------
-// CPhoneEmergency::HandlePhoneStartupL
-// --------------------------------------------------------------
-//
-void CPhoneEmergency::HandlePhoneStartupL()
-    {
-    __LOGMETHODSTARTEND(EPhoneControl, "CPhoneEmergency::HandlePhoneStartupL( ) ");
-    iStartupInterrupted = EFalse;
-    }
+{
+    if ( !( TouchCallHandlingSupported() ) 
+        && ( ( aAudioOutput == EPELoudspeaker ) || ( aAudioOutput == EPEBTAudioAccessory ) ) )
+        {
+        return ETrue;
+        }
+    else 
+        {
+        return EFalse;
+        }
+}
 
 // End of File
--- a/phoneapp/phoneuistates/src/cphonegsmincall.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonegsmincall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -128,20 +128,20 @@
         case MEngineMonitor::EPEMessageOutCallForwToC: // fall through
         case MEngineMonitor::EPEMessageForwardUnconditionalModeActive: // fall through
         case MEngineMonitor::EPEMessageForwardConditionallyModeActive:
-			{
-			CPhoneGeneralGsmMessagesHandler* gsmMsgHandler =
-				CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine,
-													   *iViewCommandHandle,
-													   *this );
-			CleanupStack::PushL( gsmMsgHandler );
-			gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId );
-			CleanupStack::PopAndDestroy( gsmMsgHandler );
-			
+            {
+            CPhoneGeneralGsmMessagesHandler* gsmMsgHandler =
+                CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine,
+                                                       *iViewCommandHandle,
+                                                       *this );
+            CleanupStack::PushL( gsmMsgHandler );
+            gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId );
+            CleanupStack::PopAndDestroy( gsmMsgHandler );
+            
             // Needed also in non-touch, if call waiting request (*43#) 
             // is sent during active call at least.
-    	    UpdateCbaL( EPhoneCallHandlingInCallCBA );
-			}
-			break;
+            UpdateCbaL( EPhoneCallHandlingInCallCBA );
+            }
+            break;
 
         default:
             CPhoneStateInCall::HandlePhoneEngineMessageL( 
@@ -170,7 +170,7 @@
         
         // 'Replace' from menu            
         case EPhoneInCallCmdReplace:
-        	ReplaceCallL();
+            ReplaceCallL();
             break;
         
         case EPhoneInCallCmdSwap:
@@ -218,23 +218,26 @@
 // CPhoneGsmInCall::HandleColpNoteL
 // -----------------------------------------------------------
 //
-void CPhoneGsmInCall::HandleColpNoteL( TInt aCallId )
+void CPhoneGsmInCall::HandleColpNoteL( 
+    TInt aCallId )
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneGsmInCall::HandleColpNoteL() ");
 
     MPEEngineInfo* EngineInfo = CPhoneState::iStateMachine->PhoneEngineInfo();
-    
-    TPhoneCmdParamGlobalNote globalNoteParam;
-    globalNoteParam.SetText(  EngineInfo->RemoteColpNumber( aCallId ) ); 
-    globalNoteParam.SetType( EAknGlobalInformationNote );
-    globalNoteParam.SetTextResourceId( 
+
+    if ( EngineInfo->RemoteColpNumber( aCallId ).Length() )
+        {
+        TPhoneCmdParamGlobalNote globalNoteParam;
+        globalNoteParam.SetText(  EngineInfo->RemoteColpNumber( aCallId ) ); 
+        globalNoteParam.SetType( EAknGlobalInformationNote );
+        globalNoteParam.SetTextResourceId( 
             CPhoneMainResourceResolver::Instance()->
-	        ResolveResourceID( EPhoneColpConnected ) );
-    globalNoteParam.SetTone( EAvkonSIDInformationTone );
-	        
-    iViewCommandHandle->ExecuteCommandL( 
-            EPhoneViewShowGlobalNote, &globalNoteParam );
-    
+            ResolveResourceID( EPhoneColpConnected ) );
+        globalNoteParam.SetTone( EAvkonSIDInformationTone );
+            
+        iViewCommandHandle->ExecuteCommandL( 
+                EPhoneViewShowGlobalNote, &globalNoteParam );
+        }
     }
 
 // -----------------------------------------------------------
@@ -387,7 +390,7 @@
     CPhoneState::SetDivertIndication( aDivertIndication );    
     
     TRAP_IGNORE( HandeDivertIndicationL() );
-	}
+    }
 
 // ---------------------------------------------------------
 // CPhoneGsmInCall::HandeDivertIndicationL
@@ -406,12 +409,18 @@
        {
        TPhoneCmdParamCallHeaderData divertData;
     
-       divertData.SetCallFlag( CBubbleManager::EDiverted );
+// <-- QT PHONE START --> 
+//       divertData.SetCallFlag( CBubbleManager::EDiverted );
+        divertData.SetDiverted( ETrue );
+// <-- QT PHONE END --> 
        
        GetRemoteInfoDataL( ringingCallId, remoteInfoText );
        divertData.SetCLIText( 
                   remoteInfoText,
-                  CBubbleManager::ERight );
+// <-- QT PHONE START -->
+//                  CBubbleManager::ERight );
+                  TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
        
        divertData.SetCiphering(
            iStateMachine->PhoneEngineInfo()->IsSecureCall( ringingCallId ) );
--- a/phoneapp/phoneuistates/src/cphoneidle.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneidle.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -106,12 +106,12 @@
             break;
 
         case MEngineMonitor::EPEMessageIssuedSSRequest: // fall through 
-        	// Note that after the sending of SS 
-			// strings the view stays in Dialer.
+            // Note that after the sending of SS 
+            // strings the view stays in Dialer.
             if ( !iOnScreenDialer )  
-        		{
-            	SetupIdleScreenInBackgroundL();
-        		}
+                {
+                SetupIdleScreenInBackgroundL();
+                }
         case MEngineMonitor::EPEMessageIssuingSSRequest: // fall through
         case MEngineMonitor::EPEMessageCallBarred: // fall through
         case MEngineMonitor::EPEMessageShowVersion: // fall through
@@ -121,16 +121,16 @@
         case MEngineMonitor::EPEMessageOutCallForwToC: // fall through
         case MEngineMonitor::EPEMessageForwardUnconditionalModeActive: // fall through
         case MEngineMonitor::EPEMessageForwardConditionallyModeActive:
-			{
-			CPhoneGeneralGsmMessagesHandler* gsmMsgHandler =
-				CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine,
-													   *iViewCommandHandle,
-													   *this );
-			CleanupStack::PushL( gsmMsgHandler );
-			gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId );
-			CleanupStack::PopAndDestroy( gsmMsgHandler );
-			}
-			break;
+            {
+            CPhoneGeneralGsmMessagesHandler* gsmMsgHandler =
+                CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine,
+                                                       *iViewCommandHandle,
+                                                       *this );
+            CleanupStack::PushL( gsmMsgHandler );
+            gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId );
+            CleanupStack::PopAndDestroy( gsmMsgHandler );
+            }
+            break;
 
         default:
             CPhoneStateIdle::HandlePhoneEngineMessageL( 
--- a/phoneapp/phoneuistates/src/cphoneincoming.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneincoming.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -202,7 +202,7 @@
     // 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 became Connected, this is waiting call
     // If the 1st incoming call went just Idle, this is a normal call
     if ( connectedCall > KErrNotFound )
         {
@@ -219,9 +219,13 @@
         }
     
     SetToolbarDimming( EFalse );
+    
+// <-- QT PHONE START -->
     // Display incoming call
     DisplayIncomingCallL( aCallId, dialerParam );
-
+    
+    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+// <-- QT PHONE END -->
     if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
             && !CPhoneCenRepProxy::Instance()->
             IsTelephonyFeatureSupported( KTelephonyLVFlagAllowUnlockOnIncoming ) 
@@ -237,14 +241,14 @@
             iViewCommandHandle->ExecuteCommandL( EPhoneViewDisableKeyLockWithoutNote );
             }
         }
-    
+        
     if( CPhoneCenRepProxy::Instance()->
             IsTelephonyFeatureSupported( KTelephonyLVFlagDisableCallControlHardKeysWhileLocked ) 
             && ( IsKeyLockOn() || IsAutoLockOn() ) )
         {
         DisableHWKeysL();
         }
-    
+        
     EndUiUpdate();
 
     if ( connectedCall > KErrNotFound )
@@ -300,7 +304,7 @@
     iViewCommandHandle->ExecuteCommandL( EPhoneViewSetTopApplication,
         &uidParam );
 
-    DisplayHeaderForCallComingInL( aCallId, aCommandParam.Boolean() ); //waiting call 
+    DisplayHeaderForCallComingInL( aCallId, ETrue ); //waiting call 
     }    
 
 // -----------------------------------------------------------
--- a/phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneresourceresolvergsm.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -29,7 +29,10 @@
 #include "phonerssgsm.h"
 #include "phonerssbase.h"
 #include "phonelogger.h"
-#include <phoneui.rsg>
+// <-- QT PHONE START -->
+//#include <phoneui.rsg>
+#include "phoneresourceids.h"
+// <-- QT PHONE END --> 
 
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -53,8 +56,10 @@
     {
     
     __LOGMETHODSTARTEND(EPhoneUIStates, "CPhoneResourceResolverGSM::ConstructL");
-      
-    BaseConstructL();
+
+// <-- QT PHONE START -->    
+//    BaseConstructL();
+// <-- QT PHONE END -->    
     
     // Register resolver
     CPhoneMainResourceResolver::Instance()->RegisterResolver( this );
@@ -78,6 +83,15 @@
 // Destructor
 EXPORT_C CPhoneResourceResolverGSM::~CPhoneResourceResolverGSM()
     {   
+// <-- QT PHONE START -->    
+    // Remove resource file
+    /*iEnv.DeleteResourceFile( iResourceOffset );
+    if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) )
+        {
+        iEnv.DeleteResourceFile( iCUIResourceOffset );
+        iEnv.DeleteResourceFile( iPTCHResourceOffset );
+        }*/
+// <-- QT PHONE END -->    
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonesingleandalerting.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -102,26 +102,15 @@
     switch ( aMessage )
         {
         case MEngineMonitor::EPEMessageConnected:
-            {
             HandleConnectedL( aCallId );
             break;
-            }
-        case MEngineMonitor::EPEMessageIdle:
-            {
-            HandleIdleL( aCallId );
-            }
-            break;
             
-        case MEngineMonitor::EPEMessageColpNumberAvailable:
-            {
-            HandleColpNoteL( aCallId );            
-            }
-            break;         
+        case MEngineMonitor::EPEMessageIdle:
+            HandleIdleL( aCallId );
+            break;
             
         default:
-            {
             CPhoneAlerting::HandlePhoneEngineMessageL( aMessage, aCallId );
-            }
             break;
         }
     }
@@ -226,7 +215,7 @@
         
         
         // Set Two singles softkeys
-	    UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
+        UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
         
         // Go to two singles state
         iStateMachine->ChangeState( EPhoneStateTwoSingles );
@@ -242,7 +231,9 @@
         TPhoneCmdParamBoolean holdFlag;
         holdFlag.SetBoolean( EFalse );
         iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
-        }    
+        }
+        
+    CPhoneGsmInCall::HandleColpNoteL( aCallId );
     }
 // -----------------------------------------------------------
 // CPhoneSingleAndAlerting::HandleIdleL
@@ -327,7 +318,7 @@
 void CPhoneSingleAndAlerting::UpdateInCallCbaL()
     {
     __LOGMETHODSTARTEND(EPhoneControl, "CPhoneSingleAndAlerting::UpdateInCallCbaL() ");
- 	UpdateCbaL( EPhoneCallHandlingInCallCBA );
+    UpdateCbaL( EPhoneCallHandlingInCallCBA );
     }
     
         
--- a/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -314,13 +314,13 @@
             {
             // Show the number entry if it exists
             SetNumberEntryVisibilityL(ETrue);
-	        }
-	    else
-    	    {
-    	    // Set incall CBAs
-    	    UpdateCbaL( EPhoneCallHandlingInCallCBA );    
-    	    }
-	        
+            }
+        else
+            {
+            // Set incall CBAs
+            UpdateCbaL( EPhoneCallHandlingInCallCBA );    
+            }
+            
         SetTouchPaneButtons( EPhoneIncallButtons );    
         // UnCapture keys callsetup fails
         CaptureKeysDuringCallNotificationL( EFalse );
@@ -329,13 +329,13 @@
         }
     else
         {
-    	// Display call termination note, if necessary
-    	DisplayCallTerminationNoteL();
+        // Display call termination note, if necessary
+        DisplayCallTerminationNoteL();
 
         // Single call was terminated
         SetTouchPaneButtons( EPhoneCallSetupButtons );
         SetToolbarDimming( ETrue );
-		SetToolbarButtonLoudspeakerEnabled();
+        SetToolbarButtonLoudspeakerEnabled();
         // Update call setup CBAs
         UpdateCbaL( EPhoneCallHandlingCallSetupCBA );
         iStateMachine->ChangeState( EPhoneStateCallSetup );            
--- a/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonesingleandcallsetupandwaiting.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -120,18 +120,18 @@
         {
         // send-key
         case EKeyYes:
-			if( IsNumberEntryVisibleL() )
-				{
-            	CPhoneState::CallFromNumberEntryL();    						
-				}
-			else
-				{
-				// Number entry is behind waiting call bubble
-				// We can't answer to waiting call in this state
-				// so display Not allowed -note.						
+            if( IsNumberEntryVisibleL() )
+                {
+                CPhoneState::CallFromNumberEntryL();                            
+                }
+            else
+                {
+                // Number entry is behind waiting call bubble
+                // We can't answer to waiting call in this state
+                // so display Not allowed -note.                        
                 CPhoneState::SendGlobalErrorNoteL( 
                     EPhoneNoteTextNotAllowed );
-				}
+                }
             break;
             
         // end-key
@@ -197,40 +197,24 @@
     switch ( aMessage )
         {
         case MEngineMonitor::EPEMessageConnecting:
-            {
             iAlerting = ETrue;
             HandleConnectingL( aCallId );
-            }
             break;
         
         case MEngineMonitor::EPEMessageConnected:
-            {
             HandleConnectedL( aCallId );
-            }
             break;
         
         case MEngineMonitor::EPEMessageIdle:
-            {
             HandleIdleL( aCallId );
-            }
             break;
                     
         case MEngineMonitor::EPEMessageRemoteBusy:
-            {
             // If call setup failed then stop capturing keys.
             // Flow through to default branch.
-            CaptureKeysDuringCallNotificationL( EFalse );
-            }
-            
-        case MEngineMonitor::EPEMessageColpNumberAvailable:
-            {
-            HandleColpNoteL( aCallId );            
-            }
-            break;   
+            CaptureKeysDuringCallNotificationL( EFalse );     
         default:
-            {
             CPhoneGsmInCall::HandlePhoneEngineMessageL( aMessage, aCallId );
-            }
             break;
         }
     }
@@ -465,6 +449,8 @@
         iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
         }
     
+    HandleColpNoteL( aCallId );
+
     if ( aCallId != iWaitingCallId )
         {
         // Alerting call is connected
@@ -576,8 +562,8 @@
     SetTouchPaneButtons( EPhoneCallSetupButtons );
     
     EndUiUpdate();
-	// Go to Single And Alerting state
-	UpdateCbaL( EPhoneCallHandlingInCallCBA );
+    // Go to Single And Alerting state
+    UpdateCbaL( EPhoneCallHandlingInCallCBA );
     iStateMachine->ChangeState( EPhoneStateAlertingInSingle );        
     }
 
@@ -585,10 +571,12 @@
 // CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL
 // -----------------------------------------------------------
 //
-void CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL( TInt aCallId )
+// <-- QT PHONE START --> 
+void CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL( TInt /*aCallId*/ )
+// <-- QT PHONE END --> 
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-	    "CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL()");
+        "CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesL()");
 
     BeginUiUpdateLC();
     
@@ -606,10 +594,12 @@
 // CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL
 // -----------------------------------------------------------
 //
-void CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL( TInt aCallId )
+// <-- QT PHONE START --> 
+void CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL( TInt /*aCallId*/ )
+// <-- QT PHONE END --> 
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
-	    "CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL()");
+        "CPhoneSingleAndCallSetupAndWaiting::StateChangeToTwoSinglesAndWaitingL()");
 
     BeginUiUpdateLC();
     
--- a/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonesingleandwaiting.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -66,14 +66,15 @@
 //
 CPhoneSingleAndWaiting::~CPhoneSingleAndWaiting()
     {
-    if( iViewCommandHandle )
+// <-- QT PHONE START -->
+    if ( iViewCommandHandle )
         {
         TPhoneCmdParamBoolean dtmfSendFlag;
         dtmfSendFlag.SetBoolean( EFalse );
-        TRAP_IGNORE( iViewCommandHandle->ExecuteCommandL( 
-                        EPhoneViewSetVideoCallDTMFVisibilityFlag,
-                        &dtmfSendFlag ); )
+        iViewCommandHandle->ExecuteCommand( EPhoneViewSetVideoCallDTMFVisibilityFlag,
+                &dtmfSendFlag );
         }
+// <-- QT PHONE END -->
     }
 
 // -----------------------------------------------------------
@@ -219,6 +220,12 @@
                 MPEPhoneModel::EPEMessageReject );
             break;
 
+// <-- QT PHONE START -->
+        case EPhoneCmdUpdateUiControls:
+            UpdateUiControlsL();
+            break;
+// <-- QT PHONE END -->            
+
         default:
             commandStatus = CPhoneGsmInCall::HandleCommandL( aCommand );
             break;
@@ -333,7 +340,7 @@
 //
 void CPhoneSingleAndWaiting::HandleKeyEventL(
     const TKeyEvent& aKeyEvent,
-    TEventCode aEventCode )
+    TEventCode /*aEventCode*/ )
     {
     if( EKeyDeviceF == aKeyEvent.iCode )
         {
@@ -532,7 +539,9 @@
     TInt callLabelId = CPhoneMainResourceResolver::Instance()->
             ResolveResourceID( EPhoneCallOnHold );
 
-    StringLoader::Load( labelText, callLabelId, CCoeEnv::Static() );
+// <-- QT PHONE START --> 
+    StringLoader::Load( labelText, callLabelId, CCoeEnv::Static() );        
+// <-- QT PHONE END --> 
     callHeaderParam.SetLabelText( labelText );
 
     iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId,
@@ -549,6 +558,10 @@
         }
 
     UpdateInCallCbaL();
+    
+    // <-- QT PHONE START -->
+    SetTouchPaneButtons( EPhoneWaitingCallButtons ); 
+    // <-- QT PHONE END -->
     }
 
 // -----------------------------------------------------------
@@ -607,8 +620,13 @@
         HandleHoldNoteL( aCallId, EFalse );
         }
 
+    // <-- QT PHONE START -->
+    
     // Set CBAs
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+    UpdateInCallCbaL();
+    
+    SetTouchPaneButtons( EPhoneWaitingCallButtons ); 
+    // <-- QT PHONE END -->
     }
 
 // -----------------------------------------------------------
@@ -669,11 +687,13 @@
 
         // If numberentry is not open just check NeedToSendToBackgroundL and
         // sendbackround if needed.
-        if ( NeedToSendToBackgroundL() )
+// <-- QT PHONE START -->        
+        /*if ( NeedToSendToBackgroundL() )
             {
             // Return phone to the background if send to background is needed.
             iViewCommandHandle->ExecuteCommandL( EPhoneViewSendToBackground );
-            }
+            }*/
+// <-- QT PHONE END -->            
         }
 
     // Close dtmf dialer if exist.
@@ -793,7 +813,20 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates,
         "CPhoneSingleAndWaiting::UpdateInCallCbaL() ");
-     UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+// <-- QT PHONE START -->    
+    TPhoneCmdParamInteger callIdParam;
+    iViewCommandHandle->ExecuteCommandL( 
+            EPhoneViewGetExpandedBubbleCallId, &callIdParam );
+
+    if ( callIdParam.Integer()==iSingleCallId )
+        {
+        CPhoneGsmInCall::UpdateInCallCbaL();
+        } 
+    else 
+        {
+        iCbaManager->SetCbaL(  EPhoneCallHandlingCallWaitingCBA );
+        }
+// <-- QT PHONE END -->    
     }
 
 // -----------------------------------------------------------
@@ -839,4 +872,17 @@
         }
     }
 
+// <-- QT PHONE START -->
+// -----------------------------------------------------------
+// CPhoneSingleAndWaiting::UpdateUiControlsL
+// -----------------------------------------------------------
+//
+void CPhoneSingleAndWaiting::UpdateUiControlsL()
+    {
+    __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndWaiting::UpdateUiControlsL( ) ");
+    
+    UpdateInCallCbaL();
+    }
+// <-- QT PHONE END -->
+
 // End of File
--- a/phoneapp/phoneuistates/src/cphonesinglecall.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonesinglecall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -25,9 +25,11 @@
 #include <mpeengineinfo.h>
 #include <cpephonemodelif.h>
 #include <connect/sbdefs.h>
+// <-- QT PHONE START --> 
 #include <videotelcontrolmediatorapi.h>
+// <-- QT PHONE END --> 
 #include <MediatorDomainUIDs.h>
-#include <TelephonyVariant.hrh>
+#include <telephonyvariant.hrh>
 
 #include "cphonesinglecall.h"
 #include "tphonecmdparamstring.h"
@@ -120,7 +122,7 @@
     
     // Update phone number availability for menu use
     PhoneNumberAvailableInPhoneEngineL( callStateData.CallId() );
-	  
+      
     }
 
 // -----------------------------------------------------------
@@ -301,23 +303,27 @@
         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 );					
-						}
+                        if( IsVideoCall( iCallId ) )
+                        {
+                           // Video call can be released only after we get response to VT Shutdown Command
+// <-- QT PHONE START -->
+ 
+                           CPhoneMediatorFactory::Instance()->Sender()->IssueCommand( KMediatorVideoTelephonyDomain,
+                                                                                      KCatPhoneToVideotelCommands, 
+                                                                                      EVtCmdReleaseDataport,
+                                                                                      TVersion( KPhoneToVideotelCmdVersionMajor,
+                                                                                            KPhoneToVideotelCmdVersionMinor, 
+                                                                                            KPhoneToVideotelCmdVersionBuild ),
+                                                                                      KNullDesC8,
+                                                                                      CPhoneSwitchToVideoOrVoiceCommand::NewL( *iStateMachine ) );
+
+// <-- QT PHONE END --> 
+                        }
+                        else
+                        {
+                          iStateMachine->SendPhoneEngineMessage(
+                              CPEPhoneModelIF::EPEMessageSwitchToVideoOrVoice );                    
+                        }
             break;
 
         case EPhoneVideoSharing:
@@ -431,6 +437,9 @@
         }
 
     UpdateInCallCbaL();
+// <-- QT PHONE START -->
+    SetTouchPaneButtons( EPhoneIncallHeldButtons );
+// <-- QT PHONE END -->
     }
     
 // -----------------------------------------------------------
@@ -465,6 +474,9 @@
         }
 
     UpdateInCallCbaL();  
+// <-- QT PHONE START -->
+    SetTouchPaneButtons( EPhoneIncallButtons );
+// <-- QT PHONE END -->
     }
     
 // -----------------------------------------------------------
@@ -475,17 +487,28 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneSingleCall::ToggleHoldL()");
-    TPhoneCmdParamBoolean hold;
-    iViewCommandHandle->ExecuteCommandL( EPhoneViewGetHoldFlag, &hold );
-   
-    if( hold.Boolean() )
+
+    // <-- QT PHONE START --> 
+    TPECallControlCaps callControlCaps =
+        iStateMachine->PhoneEngineInfo()->CallControlCaps( iCallId );
+    
+    if ( callControlCaps & MCCECallObserver::ECCECapsHold  )
         {
-        SetCallResumeL();
+        iStateMachine->SetCallId( iCallId );         
+        iStateMachine->SendPhoneEngineMessage( 
+            CPEPhoneModelIF::EPEMessageHold );    
+        }
+    else if ( callControlCaps & MCCECallObserver::ECCECapsResume )
+        {
+        iStateMachine->SetCallId( iCallId );         
+        iStateMachine->SendPhoneEngineMessage( 
+            CPEPhoneModelIF::EPEMessageResume );    
         }
     else
         {
-        SetCallHoldL();
+        SendGlobalInfoNoteL( EPhoneNoteTextNotAllowed );    
         }
+    // <-- QT PHONE END -->
     }
         
 // -----------------------------------------------------------
@@ -506,14 +529,17 @@
     AllowShowingOfWaitingCallHeaderL( dialerParam );    
 
     // Close fast swap window if it's displayed
-    CEikonEnv::Static()->DismissTaskList();
-
-    // Show incoming call buttons
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );    
+// <-- QT PHONE START --> 
+//    CEikonEnv::Static()->DismissTaskList();
+ 
 
     // Display incoming call
     DisplayIncomingCallL( aCallId, dialerParam );
-
+    
+    // Show incoming call buttons
+    SetTouchPaneButtons( EPhoneWaitingCallButtons ); 
+// <-- QT PHONE END -->
+    
     if( FeatureManager::FeatureSupported( KFeatureIdFfTouchUnlockStroke ) 
             && !CPhoneCenRepProxy::Instance()->
             IsTelephonyFeatureSupported( KTelephonyLVFlagAllowUnlockOnIncoming ) 
@@ -536,7 +562,7 @@
         {
         DisableHWKeysL();
         }
-    
+        
     EndUiUpdate();
 
     // This query is required to dismiss
@@ -636,12 +662,14 @@
     BeginUiUpdateLC();
     
     SetNumberEntryVisibilityL(EFalse);
+
+    //QT PHONE START
+    // Display call setup 
+    DisplayCallSetupL( aCallId );
     
     // Show incoming call buttons
     SetTouchPaneButtons( EPhoneCallSetupAndSingleButtons );
-
-    // Display call setup 
-    DisplayCallSetupL( aCallId );
+    //QT PHONE END
 
     EndUiUpdate();
     
@@ -743,7 +771,7 @@
         "CPhoneSingleCall::SwitchToVideoL()");
 
     if( FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
-    	{        
+        {        
         TInt networkMode( CPhonePubSubProxy::Instance()->Value( KPSUidNetworkInfo,
             KNWTelephonyNetworkMode ) );
         TBool restoreOngoing( CPhonePubSubProxy::Instance()->Value( KUidSystemCategory,
--- a/phoneapp/phoneuistates/src/cphonestartup.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonestartup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -111,16 +111,16 @@
         case MEngineMonitor::EPEMessageOutCallForwToC: // fall through
         case MEngineMonitor::EPEMessageForwardUnconditionalModeActive: // fall through
         case MEngineMonitor::EPEMessageForwardConditionallyModeActive:
-			{
-			CPhoneGeneralGsmMessagesHandler* gsmMsgHandler =
-				CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine,
-													   *iViewCommandHandle,
-													   *this );
-			CleanupStack::PushL( gsmMsgHandler );
-			gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId );
-			CleanupStack::PopAndDestroy( gsmMsgHandler );
-			}
-			break;
+            {
+            CPhoneGeneralGsmMessagesHandler* gsmMsgHandler =
+                CPhoneGeneralGsmMessagesHandler::NewL( *iStateMachine,
+                                                       *iViewCommandHandle,
+                                                       *this );
+            CleanupStack::PushL( gsmMsgHandler );
+            gsmMsgHandler->HandlePhoneEngineMessageL( aMessage, aCallId );
+            CleanupStack::PopAndDestroy( gsmMsgHandler );
+            }
+            break;
 
         default:
             CPhoneStateStartup::HandlePhoneEngineMessageL( 
--- a/phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonestatemachinegsm.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -67,10 +67,10 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneStateMachineGSM::~CPhoneStateMachineGSM() ");
     if( iEmergencyState )
-	    {
-	    delete iEmergencyState;
-	    iEmergencyState = NULL;	    	
-	    }
+        {
+        delete iEmergencyState;
+        iEmergencyState = NULL;         
+        }
     Dll::FreeTls();
     }
 
@@ -99,7 +99,7 @@
             // Possible that derived class has been deleted iState,
             // so this delete statement may be useless.
             delete iState;
-            iState = NULL;	            		
+            iState = NULL;                      
             }
         
         // State transition need to be made - construct new state and
@@ -108,163 +108,163 @@
             {
             case EPhoneStateCallSetup:
                 TRAP( err, iState = CPhoneCallSetup::NewL( 
-                	this, iViewCommandHandle, iCustomization ));
+                    this, iViewCommandHandle, iCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateAlerting:
                 TRAP( err, iState = CPhoneAlerting::NewL(
-                	this, iViewCommandHandle, iCustomization ));
+                    this, iViewCommandHandle, iCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateSingle:
                 TRAP( err, iState = CPhoneSingleCall::NewL( 
-                	this, iViewCommandHandle, iCustomization ));
+                    this, iViewCommandHandle, iCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateWaitingInSingle:
                 TRAP( err, iState = CPhoneSingleAndWaiting::NewL( 
-                	this, iViewCommandHandle, iCustomization ));
+                    this, iViewCommandHandle, iCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateTwoSingles:
                 TRAP( err, iState = CPhoneTwoSingles::NewL( 
-                	this, iViewCommandHandle, iCustomization ));
+                    this, iViewCommandHandle, iCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateCallSetupInSingle:
                 TRAP( err, iState = CPhoneSingleAndCallSetup::NewL( 
-                	this, iViewCommandHandle, iCustomization ));
+                    this, iViewCommandHandle, iCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateAlertingInSingle:
                 TRAP( err, iState = CPhoneSingleAndAlerting::NewL( 
-                	this, iViewCommandHandle, iCustomization ));
+                    this, iViewCommandHandle, iCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateConference:
                 TRAP( err, iState = CPhoneConference::NewL( 
-                	this, iViewCommandHandle, iCustomization ));
+                    this, iViewCommandHandle, iCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateConferenceAndCallSetup:
                 TRAP( err, iState = CPhoneConferenceAndCallSetup::NewL( 
-                	this, iViewCommandHandle, iCustomization ) );
+                    this, iViewCommandHandle, iCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
  
             case EPhoneStateConferenceAndSingle:
                 TRAP( err, iState = CPhoneConferenceAndSingle::NewL( 
-                	this, iViewCommandHandle, iCustomization ) );
+                    this, iViewCommandHandle, iCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateConferenceAndWaiting:
                 TRAP( err, iState = CPhoneConferenceAndWaiting::NewL( 
-                	this, iViewCommandHandle, iCustomization ) );
+                    this, iViewCommandHandle, iCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateSingleAndCallSetupAndWaiting:
                 TRAP( err, iState = CPhoneSingleAndCallSetupAndWaiting::NewL( 
-                	this, iViewCommandHandle, iCustomization ) );
+                    this, iViewCommandHandle, iCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateCallSetupAndWaiting:
                 TRAP( err, iState = CPhoneCallSetupAndWaiting::NewL( 
-                	this, iViewCommandHandle, iCustomization ) );
+                    this, iViewCommandHandle, iCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
 
             case EPhoneStateTwoSinglesAndWaiting:
                 TRAP( err, iState = CPhoneTwoSinglesAndWaiting::NewL( 
-                	this, iViewCommandHandle, iCustomization ) );
+                    this, iViewCommandHandle, iCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateConferenceAndSingleAndWaiting:
                 TRAP( err, iState = CPhoneConferenceAndSingleAndWaiting::NewL( 
-                	this, iViewCommandHandle, iCustomization ));
+                    this, iViewCommandHandle, iCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateEmergency:
                 if( !iEmergencyStateConstructed )
-	                {
-	                TRAP( err, iEmergencyState = CPhoneEmergency::NewL( 
-	                	this, iViewCommandHandle, iCustomization ) );
-	                __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );						                	
-					iEmergencyStateConstructed = ETrue;
-	                }
+                    {
+                    TRAP( err, iEmergencyState = CPhoneEmergency::NewL( 
+                        this, iViewCommandHandle, iCustomization ) );
+                    __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );                                          
+                    iEmergencyStateConstructed = ETrue;
+                    }
                 static_cast< CPhoneEmergency* >( iEmergencyState )->
                     SetStartupInterrupted( iOldStateId == EPhoneStateStartup );
-				iState = iEmergencyState;
+                iState = iEmergencyState;
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateConferenceAndWaitingAndCallSetup:
                 TRAP( err, iState = 
-          			CPhoneConferenceAndWaitingAndCallSetup::NewL( 
-          				this, iViewCommandHandle, iCustomization ) );
+                    CPhoneConferenceAndWaitingAndCallSetup::NewL( 
+                        this, iViewCommandHandle, iCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateIdle:
-            	if ( iOldStateId != EPhoneStateEmergency )
-	            	{
+                if ( iOldStateId != EPhoneStateEmergency )
+                    {
                     if( !iEmergencyStateConstructed )
-	                    {
-	                    TRAP( err, iEmergencyState = CPhoneEmergency::NewL( 
-	                    	this, iViewCommandHandle, iCustomization ) );
-	                    __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );						                	
-					    iEmergencyStateConstructed = ETrue;
-	                    }
-	            	}
-	            if( iIdleState == NULL )
-		            {
-	                TRAP( err, iIdleState = 
-	          			CPhoneIdle::NewL( this, iViewCommandHandle, iCustomization ) );
-	                __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
-		            }
-				iState = iIdleState;
+                        {
+                        TRAP( err, iEmergencyState = CPhoneEmergency::NewL( 
+                            this, iViewCommandHandle, iCustomization ) );
+                        __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );                                          
+                        iEmergencyStateConstructed = ETrue;
+                        }
+                    }
+                if( iIdleState == NULL )
+                    {
+                    TRAP( err, iIdleState = 
+                        CPhoneIdle::NewL( this, iViewCommandHandle, iCustomization ) );
+                    __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
+                    }
+                iState = iIdleState;
                 madeStateTransition = ETrue;
                 break;
                 
             case EPhoneStateIncoming:
                 TRAP( err, iState = 
-          			CPhoneIncoming::NewL( this, iViewCommandHandle, iCustomization ) );
+                    CPhoneIncoming::NewL( this, iViewCommandHandle, iCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
 
             case EPhoneStateStartup:
                 TRAP( err, iState = 
-          			CPhoneStartup::NewL( this, iViewCommandHandle, 
-          			iOldStateId == EPhoneStateEmergency ) );
+                    CPhoneStartup::NewL( this, iViewCommandHandle, 
+                    iOldStateId == EPhoneStateEmergency ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
--- a/phoneapp/phoneuistates/src/cphonetwosingles.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonetwosingles.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -237,7 +237,7 @@
 
             iViewCommandHandle->ExecuteCommandL( EPhoneViewSetHoldFlag, &holdFlag );
 
-    	    SetTouchPaneButtons( EPhoneIncallButtons );         
+            SetTouchPaneButtons( EPhoneIncallButtons );         
             // Go to single state
             // CBA updates in above if-else conditions
             iStateMachine->ChangeState( EPhoneStateSingle ); 
@@ -296,6 +296,10 @@
     callHeaderParam.SetCallState( EPEStateConnected );
     iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
         &callHeaderParam );
+    
+    // <-- QT PHONE START --> 
+    SetTouchPaneButtons( EPhoneIncallButtons );
+    // <-- QT PHONE END -->
     }
     
 // -----------------------------------------------------------
@@ -322,6 +326,10 @@
     
     iViewCommandHandle->ExecuteCommandL( EPhoneViewUpdateBubble, aCallId, 
         &callHeaderParam );
+    
+    // <-- QT PHONE START --> 
+    SetTouchPaneButtons( EPhoneIncallButtons );
+    // <-- QT PHONE END -->
     }
     
 // -----------------------------------------------------------
@@ -355,7 +363,11 @@
         conferenceText, 
         callLabelId, 
         CCoeEnv::Static() );
-    callHeaderParam.SetCLIText( conferenceText, CBubbleManager::ERight );
+// <-- QT PHONE START --> 
+    callHeaderParam.SetCLIText( conferenceText, TPhoneCmdParamCallHeaderData::ERight );
+    
+    callHeaderParam.SetCallState(EPEStateConnectedConference);
+// <-- QT PHONE END --> 
     BeginUiUpdateLC();
     
     callHeaderParam.SetCiphering(
@@ -422,7 +434,10 @@
     EndUiUpdate();
 
     // Go to incoming state
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+// <-- QT PHONE START -->    
+    iCbaManager->SetCbaL( EPhoneCallHandlingIncomingSoftRejectCBA );
+// <-- QT PHONE END -->    
+    
     iStateMachine->ChangeState( EPhoneStateTwoSinglesAndWaiting );        
     }
 
@@ -480,7 +495,7 @@
 EXPORT_C void CPhoneTwoSingles::UpdateInCallCbaL()
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneTwoSingles::UpdateInCallCbaL() ");
-	UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
+    UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
     }
 
 // End of File
--- a/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphonetwosinglesandwaiting.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 #include <pevirtualengine.h>
 #include <StringLoader.h>
 #include <mpeengineinfo.h>
-#include <FeatMgr.h>
+#include <featmgr.h>
 #include "cphonetwosinglesandwaiting.h"
 #include "tphonecmdparamboolean.h"
 #include "mphonestatemachine.h"
@@ -114,20 +114,20 @@
         {
         // send-key
         case EKeyYes:
-			{
+            {
             if( IsNumberEntryVisibleL() )
                 {
-                CallFromNumberEntryL();    	 					
+                CallFromNumberEntryL();                         
                 }
             else
                 {
                 // Waiting call bubble is over number entry
                 // so display not allowed note because we
                 // can't answer the call
-                SendGlobalWarningNoteL( EPhoneNoteTextCallNotAllowed );		 				
+                SendGlobalWarningNoteL( EPhoneNoteTextCallNotAllowed );                     
                 }
             break;
-			}
+            }
 
         default:
             CPhoneTwoSingles::HandleKeyMessageL( aMessage, aCode );   
@@ -141,7 +141,7 @@
 //
 void CPhoneTwoSinglesAndWaiting::HandleKeyEventL(
     const TKeyEvent& aKeyEvent,
-    TEventCode aEventCode )
+    TEventCode /*aEventCode*/ )
     {
     if( EKeyDeviceF == aKeyEvent.iCode )
         {
@@ -301,7 +301,7 @@
         {
         // Set Two singles softkeys
         UpdateCbaL( EPhoneCallHandlingNewCallSwapCBA );
-	    
+        
         // If numberentry is not open just check NeedToSendToBackgroundL and 
         // sendbackround if needed.
         if ( NeedToSendToBackgroundL() )
@@ -324,7 +324,7 @@
     SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
     SetTouchPaneButtons( EPhoneTwoSinglesButtons );
     // CBA updates in above if-else conditions
-    iStateMachine->ChangeState( EPhoneStateTwoSingles );
+    iStateMachine->ChangeState( EPhoneStateTwoSingles );                     
     }
 
 // -----------------------------------------------------------
@@ -336,7 +336,20 @@
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSinglesAndWaiting::StateTransitionToSingleAndWaitingL()");
     // Go to two singles state
-    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+    // <-- QT PHONE START -->    
+    TPhoneCmdParamInteger callIdParam;
+    iViewCommandHandle->ExecuteCommandL( 
+            EPhoneViewGetExpandedBubbleCallId, &callIdParam );
+    
+    if ( callIdParam.Integer()!=iRingingCallId )
+        {
+        CPhoneGsmInCall::UpdateInCallCbaL();
+        } 
+    else 
+        {
+        iCbaManager->SetCbaL( EPhoneCallHandlingCallWaitingCBA );
+        }
+    // <-- QT PHONE END -->    
   
     // Set touch controls
     SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
@@ -370,7 +383,11 @@
         conferenceText, 
         callLabelId, 
         CCoeEnv::Static() );        
-    callHeaderParam.SetCLIText( conferenceText, CBubbleManager::ERight );
+// <-- QT PHONE START --> 
+    callHeaderParam.SetCLIText( conferenceText, TPhoneCmdParamCallHeaderData::ERight );
+    
+    callHeaderParam.SetCallState(EPEStateConnectedConference);
+// <-- QT PHONE END --> 
     
     callHeaderParam.SetCiphering(
         iStateMachine->PhoneEngineInfo()->IsSecureCall( aCallId ) );
@@ -378,18 +395,15 @@
     callHeaderParam.SetCipheringIndicatorAllowed(
         iStateMachine->PhoneEngineInfo()->SecureSpecified() );
 
+// <-- QT PHONE START -->
     // Service identifier must be given so that service specific settings
     // can be taken into account at phoneuiview.
     callHeaderParam.SetServiceId( 
         iStateMachine->PhoneEngineInfo()->ServiceId( aCallId ) );
-    
-    // Set touch controls
-    SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
-
+        
     // Check if HW Keys or Call UI should be disabled
     CheckDisableHWKeysAndCallUIL();
-    
-    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+
 
     iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateConference, aCallId,
         &callHeaderParam );
@@ -399,7 +413,14 @@
     booleanParam.SetBoolean( EFalse );
     iViewCommandHandle->ExecuteCommandL( 
         EPhoneViewSetNeedToSendToBackgroundStatus, &booleanParam );
-        
+    
+    // Set touch controls
+    SetTouchPaneButtonEnabled( EPhoneCallComingCmdAnswer );
+    SetTouchPaneButtons( EPhoneWaitingCallButtons );
+    
+    UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
+    
+// <-- QT PHONE END -->
     EndUiUpdate();
     // Go to Conference And Waiting state
     // No need for CBA update
@@ -414,7 +435,21 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIStates, 
         "CPhoneTwoSinglesAndWaiting::UpdateInCallCbaL()");
-	UpdateCbaL ( EPhoneCallHandlingCallWaitingCBA );   
+
+// <-- QT PHONE START -->    
+    TPhoneCmdParamInteger callIdParam;
+    iViewCommandHandle->ExecuteCommandL( 
+            EPhoneViewGetExpandedBubbleCallId, &callIdParam );
+    
+    if ( callIdParam.Integer()!=iRingingCallId )
+        {
+        CPhoneGsmInCall::UpdateInCallCbaL();
+        } 
+    else 
+        {
+        iCbaManager->SetCbaL( EPhoneCallHandlingIncomingSoftRejectCBA );
+        }
+// <-- QT PHONE END -->    
     }
 
 // -----------------------------------------------------------
@@ -427,5 +462,43 @@
         "CPhoneTwoSinglesAndWaiting::HandleNumberEntryClearedL()");
     UpdateCbaL( EPhoneCallHandlingCallWaitingCBA );
     }
-    
+
+// <-- QT PHONE START -->
+// -----------------------------------------------------------
+// CPhoneTwoSinglesAndWaiting::HandleCommandL
+// -----------------------------------------------------------
+//
+TBool CPhoneTwoSinglesAndWaiting::HandleCommandL( TInt aCommand )
+    {
+    __LOGMETHODSTARTEND( EPhoneUIStates,
+        "CPhoneTwoSinglesAndWaiting::HandleCommandL() ");
+    TBool commandStatus = ETrue;
+
+    switch( aCommand )
+        {
+        case EPhoneCmdUpdateUiControls:
+            UpdateUiControlsL();
+            break;
+
+        default:
+            commandStatus = CPhoneGsmInCall::HandleCommandL( aCommand );
+            break;
+        }
+
+    return commandStatus;
+    }
+
+// -----------------------------------------------------------
+// CPhoneTwoSinglesAndWaiting::UpdateUiControlsL
+// -----------------------------------------------------------
+//
+void CPhoneTwoSinglesAndWaiting::UpdateUiControlsL()
+    {
+    __LOGMETHODSTARTEND( EPhoneUIStates, "CPhoneSingleAndWaiting::UpdateUiControlsL( ) ");
+    UpdateInCallCbaL();
+    }
+
+// <-- QT PHONE END -->
+
+
 // End of File
--- a/phoneapp/phoneuistates/src/cphoneuistatemachinefactorygsm.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuistates/src/cphoneuistatemachinefactorygsm.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -52,11 +52,11 @@
 // ---------------------------------------------------------
 CPhoneErrorMessagesHandler*
     CPhoneUIStateMachineFactoryGSM::CreatePhoneErrorMessagesHandlerL(
-    	MPhoneViewCommandHandle* aViewCommandHandle,
-    	MPhoneStateMachine* aStateMachine )
+        MPhoneViewCommandHandle* aViewCommandHandle,
+        MPhoneStateMachine* aStateMachine )
     {
     return CPhoneErrorMessagesHandler::NewL( aViewCommandHandle,
-    										 aStateMachine );
+                                             aStateMachine );
     }
 
 // ---------------------------------------------------------
--- a/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/bwins/phoneuiutilsu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -1,337 +1,316 @@
 EXPORTS
 	?DynMenu@TPhoneCmdParamDynMenu@@QAEPAXXZ @ 1 NONAME ; void * TPhoneCmdParamDynMenu::DynMenu(void)
-	?CLITextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneClippingDirection@CBubbleManager@@XZ @ 2 NONAME ; enum CBubbleManager::TPhoneClippingDirection TPhoneCmdParamCallHeaderData::CLITextClippingDirection(void) const
-	?SetParticipantListCLI@TPhoneCmdParamCallHeaderData@@QAEXW4TPhoneParticipantListCLI@1@@Z @ 3 NONAME ; void TPhoneCmdParamCallHeaderData::SetParticipantListCLI(enum TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI)
-	?ContactLink@TPhoneCmdParamCallHeaderData@@QBEABVTDesC8@@XZ @ 4 NONAME ; class TDesC8 const & TPhoneCmdParamCallHeaderData::ContactLink(void) const
-	?LogIt@CPhoneLogger@@QAAXW4TPhoneUILoggingLevel@@W4TPhoneUILoggingComponent@@V?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 5 NONAME ; void CPhoneLogger::LogIt(enum TPhoneUILoggingLevel, enum TPhoneUILoggingComponent, class TRefByValue<class TDesC16 const >, ...)
-	?IsEscapeKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 6 NONAME ; int CPhoneKeys::IsEscapeKey(struct TKeyEvent const &, enum TEventCode)
-	?Tone@TPhoneCmdParamNote@@QBE?AW4TTone@CAknNoteDialog@@XZ @ 7 NONAME ; enum CAknNoteDialog::TTone TPhoneCmdParamNote::Tone(void) const
-	?LogStateChange@CPhoneLogger@@QAEXHH@Z @ 8 NONAME ; void CPhoneLogger::LogStateChange(int, int)
-	?SetObserver@TPhoneCmdParamNumberEntryObserver@@QAEXVTCallBack@@@Z @ 9 NONAME ; void TPhoneCmdParamNumberEntryObserver::SetObserver(class TCallBack)
-	?QueryType@TPhoneCmdParamQuery@@QBE?AW4TPhoneQueryType@@XZ @ 10 NONAME ; enum TPhoneQueryType TPhoneCmdParamQuery::QueryType(void) const
-	?SetCallType@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 11 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallType(int)
-	?NumberType@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 12 NONAME ; int TPhoneCmdParamCallHeaderData::NumberType(void) const
-	?CbaCommandMapping@TPhoneCmdParamQuery@@QBEHH@Z @ 13 NONAME ; int TPhoneCmdParamQuery::CbaCommandMapping(int) const
-	?SetTone@TPhoneCmdParamQuery@@QAEXH@Z @ 14 NONAME ; void TPhoneCmdParamQuery::SetTone(int)
-	??0TPhoneCmdParamSingleItemFetch@@QAE@XZ @ 15 NONAME ; TPhoneCmdParamSingleItemFetch::TPhoneCmdParamSingleItemFetch(void)
-	?PhoneNumber@TPhoneCmdParamSpeedDial@@QAEPAVTPtr16@@XZ @ 16 NONAME ; class TPtr16 * TPhoneCmdParamSpeedDial::PhoneNumber(void)
-	?CLIText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 17 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CLIText(void) const
-	??0CPhoneLogger@@QAE@VTUid@@@Z @ 18 NONAME ; CPhoneLogger::CPhoneLogger(class TUid)
-	?RingingType@TPhoneCmdParamRingTone@@QBEHXZ @ 19 NONAME ; int TPhoneCmdParamRingTone::RingingType(void) const
-	?Remove@CPhoneRecoverySystem@@SAXH@Z @ 20 NONAME ; void CPhoneRecoverySystem::Remove(int)
-	??0TPhoneCmdParamKeyEvent@@QAE@XZ @ 21 NONAME ; TPhoneCmdParamKeyEvent::TPhoneCmdParamKeyEvent(void)
-	?SetPhoneEngine@CPhoneLogger@@QAEXPAVMPEPhoneModel@@@Z @ 22 NONAME ; void CPhoneLogger::SetPhoneEngine(class MPEPhoneModel *)
-	?SetSendKeyEnabled@TPhoneCmdParamQuery@@QAEXH@Z @ 23 NONAME ; void TPhoneCmdParamQuery::SetSendKeyEnabled(int)
-	?Pointer@TPhoneCmdParamPointer@@QBEPAXXZ @ 24 NONAME ; void * TPhoneCmdParamPointer::Pointer(void) const
-	?SetCallerText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 25 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallerText(class TDesC16 const &)
-	?PhoneNumber@TPhoneCmdParamReconnectQuery@@QBE?BVTPtrC16@@XZ @ 26 NONAME ; class TPtrC16 const TPhoneCmdParamReconnectQuery::PhoneNumber(void) const
-	?Line2@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 27 NONAME ; int TPhoneCmdParamIncallIndicatorData::Line2(void) const
-	?Text@TPhoneCmdParamGlobalNote@@QBEABVTDesC16@@XZ @ 28 NONAME ; class TDesC16 const & TPhoneCmdParamGlobalNote::Text(void) const
-	?RecoverNow@CPhoneRecoverySystem@@QAEHHCH@Z @ 29 NONAME ; int CPhoneRecoverySystem::RecoverNow(int, signed char, int)
-	?LogMsgFromControlToView@CPhoneLogger@@QAEXHH@Z @ 30 NONAME ; void CPhoneLogger::LogMsgFromControlToView(int, int)
-	??0TPhoneCmdParamBitmap@@QAE@XZ @ 31 NONAME ; TPhoneCmdParamBitmap::TPhoneCmdParamBitmap(void)
-	?NumberType@TPhoneCmdParamSpeedDial@@QAE?AW4TPhoneNumberType@@XZ @ 32 NONAME ; enum TPhoneNumberType TPhoneCmdParamSpeedDial::NumberType(void)
-	?SetHasThumbnail@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 33 NONAME ; void TPhoneCmdParamCallHeaderData::SetHasThumbnail(int)
-	?Text@TPhoneCmdParamNote@@QBEABVTDesC16@@XZ @ 34 NONAME ; class TDesC16 const & TPhoneCmdParamNote::Text(void) const
-	??1CPhoneMethodLogger@@UAE@XZ @ 35 NONAME ; CPhoneMethodLogger::~CPhoneMethodLogger(void)
-	?WaitForReady@TPhoneCmdParamGlobalNote@@QBEHXZ @ 36 NONAME ; int TPhoneCmdParamGlobalNote::WaitForReady(void) const
-	?MaskBitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 37 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::MaskBitmap(void) const
-	?IsScreenLocked@CPhoneStorage@@UAEHXZ @ 38 NONAME ; int CPhoneStorage::IsScreenLocked(void)
-	?SetText@TPhoneCmdParamGlobalNote@@QAEXABVTDesC16@@@Z @ 39 NONAME ; void TPhoneCmdParamGlobalNote::SetText(class TDesC16 const &)
-	?AddLibraryL@CPhoneLibraryContainer@@QAEXABVRLibrary@@@Z @ 40 NONAME ; void CPhoneLibraryContainer::AddLibraryL(class RLibrary const &)
-	??1CPhoneResourceResolverBase@@UAE@XZ @ 41 NONAME ; CPhoneResourceResolverBase::~CPhoneResourceResolverBase(void)
-	?ResetBlockedKeysList@CPhoneStorage@@UAEXXZ @ 42 NONAME ; void CPhoneStorage::ResetBlockedKeysList(void)
-	?SetInt@CPhoneCenRepProxy@@QAEHABVTUid@@IH@Z @ 43 NONAME ; int CPhoneCenRepProxy::SetInt(class TUid const &, unsigned int, int)
-	?GetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QBEHAAH@Z @ 44 NONAME ; int TPhoneCmdParamQuery::GetCustomCommandForTimeOut(int &) const
-	?ParamId@TPhoneCommandParam@@QBE?AW4TPhoneParamId@1@XZ @ 45 NONAME ; enum TPhoneCommandParam::TPhoneParamId TPhoneCommandParam::ParamId(void) const
-	?SetString@CPhoneCenRepProxy@@QAEHABVTUid@@IABVTDesC16@@@Z @ 46 NONAME ; int CPhoneCenRepProxy::SetString(class TUid const &, unsigned int, class TDesC16 const &)
-	?Line2@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 47 NONAME ; int TPhoneCmdParamCallHeaderData::Line2(void) const
-	??1CPhoneTimer@@UAE@XZ @ 48 NONAME ; CPhoneTimer::~CPhoneTimer(void)
-	?LogMsgFromPEToPhoneUIEnd@CPhoneLogger@@QAEXH@Z @ 49 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUIEnd(int)
-	?DialerController@TPhoneCmdParamCustomDialer@@QAEPAVMPhoneDialerController@@XZ @ 50 NONAME ; class MPhoneDialerController * TPhoneCmdParamCustomDialer::DialerController(void)
-	?Type@TPhoneCmdParamGlobalNote@@QBE?AW4TAknGlobalNoteType@@XZ @ 51 NONAME ; enum TAknGlobalNoteType TPhoneCmdParamGlobalNote::Type(void) const
-	?SetMultipleInstances@TPhoneCmdParamAppInfo@@QAEXH@Z @ 52 NONAME ; void TPhoneCmdParamAppInfo::SetMultipleInstances(int)
-	?Tone@TPhoneCmdParamGlobalNote@@QBEHXZ @ 53 NONAME ; int TPhoneCmdParamGlobalNote::Tone(void) const
-	?ChangePropertyValue@CPhonePubSubProxy@@QAEXABVTUid@@IH@Z @ 54 NONAME ; void CPhonePubSubProxy::ChangePropertyValue(class TUid const &, unsigned int, int)
-	?SetThumbnail@TPhoneCmdParamCallHeaderData@@QAEXPAVCFbsBitmap@@@Z @ 55 NONAME ; void TPhoneCmdParamCallHeaderData::SetThumbnail(class CFbsBitmap *)
-	?SetCbaCommandMapping@TPhoneCmdParamQuery@@QAEXHH@Z @ 56 NONAME ; void TPhoneCmdParamQuery::SetCbaCommandMapping(int, int)
-	?EventCode@TPhoneCmdParamKeyEvent@@QBE?AW4TEventCode@@XZ @ 57 NONAME ; enum TEventCode TPhoneCmdParamKeyEvent::EventCode(void) const
-	?KeyEvent@TPhoneCmdParamKeyEvent@@QBE?BUTKeyEvent@@XZ @ 58 NONAME ; struct TKeyEvent const TPhoneCmdParamKeyEvent::KeyEvent(void) const
-	?SetDataText@TPhoneCmdParamQuery@@QAEXPAVTDes16@@@Z @ 59 NONAME ; void TPhoneCmdParamQuery::SetDataText(class TDes16 *)
-	??0TPhoneCmdParamAppInfo@@QAE@XZ @ 60 NONAME ; TPhoneCmdParamAppInfo::TPhoneCmdParamAppInfo(void)
-	?LittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 61 NONAME ; int TPhoneCmdParamIncallIndicatorData::LittleBubbleVisible(void) const
-	?SetCallState@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 62 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCallState(int)
-	?GetString@CPhoneCenRepProxy@@QBEHABVTUid@@IAAVTDes16@@@Z @ 63 NONAME ; int CPhoneCenRepProxy::GetString(class TUid const &, unsigned int, class TDes16 &) const
-	?ResourceId@TPhoneCmdParamProgressNote@@QBEHXZ @ 64 NONAME ; int TPhoneCmdParamProgressNote::ResourceId(void) const
-	?ReconnectQueryObserver@TPhoneCmdParamReconnectQuery@@QBEAAVMCaUiReconnectQueryObserver@@XZ @ 65 NONAME ; class MCaUiReconnectQueryObserver & TPhoneCmdParamReconnectQuery::ReconnectQueryObserver(void) const
-	?CallId@TPhoneCmdParamCallStateData@@QBEHXZ @ 66 NONAME ; int TPhoneCmdParamCallStateData::CallId(void) const
-	?SetContactMatcher@TPhoneCmdParamReconnectQuery@@QAEXPAVCPhCntMatcher@@@Z @ 67 NONAME ; void TPhoneCmdParamReconnectQuery::SetContactMatcher(class CPhCntMatcher *)
-	?NotifyChangeL@CPhoneCenRepProxy@@QAEXABVTUid@@IPAVMPhoneCenRepObserver@@@Z @ 68 NONAME ; void CPhoneCenRepProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhoneCenRepObserver *)
-	?SetResourceId@TPhoneCmdParamDynMenu@@QAEXH@Z @ 69 NONAME ; void TPhoneCmdParamDynMenu::SetResourceId(int)
-	?Validate@CPhoneKeys@@SAHABVTDesC16@@@Z @ 70 NONAME ; int CPhoneKeys::Validate(class TDesC16 const &)
-	??0TPhoneCmdParamKeyCapture@@QAE@XZ @ 71 NONAME ; TPhoneCmdParamKeyCapture::TPhoneCmdParamKeyCapture(void)
-	?SetResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 72 NONAME ; void TPhoneCmdParamNote::SetResourceId(int)
-	?LogMsgFromPEToPhoneUI@CPhoneLogger@@QAEXHH@Z @ 73 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUI(int, int)
-	??0TPhoneCmdParamProgressNote@@QAE@XZ @ 74 NONAME ; TPhoneCmdParamProgressNote::TPhoneCmdParamProgressNote(void)
-	?CallState@TPhoneCmdParamCallStateData@@QBEHXZ @ 75 NONAME ; int TPhoneCmdParamCallStateData::CallState(void) const
-	?SetPointer@TPhoneCmdParamPointer@@QAEXPAX@Z @ 76 NONAME ; void TPhoneCmdParamPointer::SetPointer(void *)
-	??1CPhoneCenRepProxy@@UAE@XZ @ 77 NONAME ; CPhoneCenRepProxy::~CPhoneCenRepProxy(void)
-	?SetEventCode@TPhoneCmdParamKeyEvent@@QAEXW4TEventCode@@@Z @ 78 NONAME ; void TPhoneCmdParamKeyEvent::SetEventCode(enum TEventCode)
-	?WaitTime@TPhoneCmdParamProgressNote@@QBE?AVTTimeIntervalMicroSeconds32@@XZ @ 79 NONAME ; class TTimeIntervalMicroSeconds32 TPhoneCmdParamProgressNote::WaitTime(void) const
-	?SetParam@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 80 NONAME ; void TPhoneCmdParamAppInfo::SetParam(class TDesC8 const &)
-	?CallType@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 81 NONAME ; int TPhoneCmdParamCallHeaderData::CallType(void) const
-	??0TPhoneCmdParamPointer@@QAE@XZ @ 82 NONAME ; TPhoneCmdParamPointer::TPhoneCmdParamPointer(void)
-	??0TPhoneCmdParamGlobalNote@@QAE@XZ @ 83 NONAME ; TPhoneCmdParamGlobalNote::TPhoneCmdParamGlobalNote(void)
-	?SetCiphering@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 84 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCiphering(int)
-	?SetTone@TPhoneCmdParamNote@@QAEXW4TTone@CAknNoteDialog@@@Z @ 85 NONAME ; void TPhoneCmdParamNote::SetTone(enum CAknNoteDialog::TTone)
-	?SetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 86 NONAME ; void TPhoneCmdParamQuery::SetCustomCommandForTimeOut(int)
-	?SetIncludeVideoOption@TPhoneCmdParamReconnectQuery@@QAEXH@Z @ 87 NONAME ; void TPhoneCmdParamReconnectQuery::SetIncludeVideoOption(int)
-	?IsBTAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 88 NONAME ; int TPhoneCmdParamAudioAvailability::IsBTAccAvailable(void) const
-	?NewL@CPhoneStorage@@SAPAV1@XZ @ 89 NONAME ; class CPhoneStorage * CPhoneStorage::NewL(void)
-	?Timeout@TPhoneCmdParamNote@@QBE?AW4TTimeout@CAknNoteDialog@@XZ @ 90 NONAME ; enum CAknNoteDialog::TTimeout TPhoneCmdParamNote::Timeout(void) const
-	?Instance@CPhoneRecoverySystem@@SAPAV1@XZ @ 91 NONAME ; class CPhoneRecoverySystem * CPhoneRecoverySystem::Instance(void)
-	?CancelTimer@CPhoneTimer@@QAEXXZ @ 92 NONAME ; void CPhoneTimer::CancelTimer(void)
-	?NewL@CPhoneTimer@@SAPAV1@H@Z @ 93 NONAME ; class CPhoneTimer * CPhoneTimer::NewL(int)
-	?GetInt@CPhoneCenRepProxy@@QBEHABVTUid@@IAAH@Z @ 94 NONAME ; int CPhoneCenRepProxy::GetInt(class TUid const &, unsigned int, int &) const
-	?SetTextToSay@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 95 NONAME ; void TPhoneCmdParamRingTone::SetTextToSay(class TDesC16 const &)
-	?SetCallState@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 96 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallState(int)
-	?ContentCba@TPhoneCmdParamQuery@@QBEHXZ @ 97 NONAME ; int TPhoneCmdParamQuery::ContentCba(void) const
-	?SetTextResourceId@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 98 NONAME ; void TPhoneCmdParamGlobalNote::SetTextResourceId(int)
-	??0TPhoneCmdParamDynMenu@@QAE@XZ @ 99 NONAME ; TPhoneCmdParamDynMenu::TPhoneCmdParamDynMenu(void)
-	?CancelAllNotifications@CPhonePubSubProxy@@SAXPAVMPhonePubSubObserver@@@Z @ 100 NONAME ; void CPhonePubSubProxy::CancelAllNotifications(class MPhonePubSubObserver *)
-	??0TPhoneCommandParam@@QAE@XZ @ 101 NONAME ; TPhoneCommandParam::TPhoneCommandParam(void)
-	?SetCNAPText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneClippingDirection@CBubbleManager@@@Z @ 102 NONAME ; void TPhoneCmdParamCallHeaderData::SetCNAPText(class TDesC16 const &, enum CBubbleManager::TPhoneClippingDirection)
-	??1CPhoneLogger@@UAE@XZ @ 103 NONAME ; CPhoneLogger::~CPhoneLogger(void)
-	?Softkeys@TPhoneCmdParamGlobalNote@@QBEHXZ @ 104 NONAME ; int TPhoneCmdParamGlobalNote::Softkeys(void) const
-	??0TPhoneCmdParamMessageEditor@@QAE@XZ @ 105 NONAME ; TPhoneCmdParamMessageEditor::TPhoneCmdParamMessageEditor(void)
-	?SetCallState@TPhoneCmdParamCallStateData@@QAEXH@Z @ 106 NONAME ; void TPhoneCmdParamCallStateData::SetCallState(int)
-	?CallerText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 107 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CallerText(void) const
-	?String@TPhoneCmdParamString@@QAEPAVTPtr16@@XZ @ 108 NONAME ; class TPtr16 * TPhoneCmdParamString::String(void)
-	?SetKey@TPhoneCmdParamKeyCapture@@QAEXW4TStdScanCode@@@Z @ 109 NONAME ; void TPhoneCmdParamKeyCapture::SetKey(enum TStdScanCode)
-	?IsExtraChar@CPhoneKeys@@SAHH@Z @ 110 NONAME ; int CPhoneKeys::IsExtraChar(int)
-	?SetDynMenu@TPhoneCmdParamDynMenu@@QAEXPAX@Z @ 111 NONAME ; void TPhoneCmdParamDynMenu::SetDynMenu(void *)
-	?IsSecondHashKey@CPhoneKeys@@SAHABVTDes16@@@Z @ 112 NONAME ; int CPhoneKeys::IsSecondHashKey(class TDes16 const &)
-	?SetCallerImageStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 113 NONAME ; void TPhoneCmdParamRingTone::SetCallerImageStatus(int)
-	?GetReal@CPhoneCenRepProxy@@QBEHABVTUid@@IAAN@Z @ 114 NONAME ; int CPhoneCenRepProxy::GetReal(class TUid const &, unsigned int, double &) const
-	?SetShortLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 115 NONAME ; void TPhoneCmdParamCallHeaderData::SetShortLabelText(class TDesC16 const &)
-	?SetDialerController@TPhoneCmdParamCustomDialer@@QAEXPAVMPhoneDialerController@@@Z @ 116 NONAME ; void TPhoneCmdParamCustomDialer::SetDialerController(class MPhoneDialerController *)
-	?RingTone@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 117 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::RingTone(void) const
-	?TimeOut@TPhoneCmdParamQuery@@QBEHXZ @ 118 NONAME ; int TPhoneCmdParamQuery::TimeOut(void) const
-	?ShortLabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 119 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::ShortLabelText(void) const
-	?SetInteger@TPhoneCmdParamInteger@@QAEXH@Z @ 120 NONAME ; void TPhoneCmdParamInteger::SetInteger(int)
-	?SetMaskBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 121 NONAME ; void TPhoneCmdParamBitmap::SetMaskBitmap(class CFbsBitmap *)
-	?SetTimeout@TPhoneCmdParamNote@@QAEXW4TTimeout@CAknNoteDialog@@@Z @ 122 NONAME ; void TPhoneCmdParamNote::SetTimeout(enum CAknNoteDialog::TTimeout)
-	?IsBlockedKeysListEmpty@CPhoneStorage@@UAEHXZ @ 123 NONAME ; int CPhoneStorage::IsBlockedKeysListEmpty(void)
-	?SetCustomMessage@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 124 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessage(class TDesC8 const &)
-	?BaseConstructL@CPhoneResourceResolverBase@@QAEXXZ @ 125 NONAME ; void CPhoneResourceResolverBase::BaseConstructL(void)
-	?SetTextResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 126 NONAME ; void TPhoneCmdParamNote::SetTextResourceId(int)
-	?SetString@TPhoneCmdParamString@@QAEXPAVTPtr16@@@Z @ 127 NONAME ; void TPhoneCmdParamString::SetString(class TPtr16 *)
-	?SetAppUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 128 NONAME ; void TPhoneCmdParamAppInfo::SetAppUid(class TUid const &)
-	?String@TPhoneCmdParamSingleItemFetch@@QBEPAVTDes16@@XZ @ 129 NONAME ; class TDes16 * TPhoneCmdParamSingleItemFetch::String(void) const
-	?SetBTAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 130 NONAME ; void TPhoneCmdParamAudioAvailability::SetBTAccAvailable(int)
-	?IsTelephonyFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 131 NONAME ; int CPhoneCenRepProxy::IsTelephonyFeatureSupported(int)
-	?CallImageThemeFilePath@CPhoneCallThemeMonitor@@QBE?AVTPtrC16@@XZ @ 132 NONAME ; class TPtrC16 CPhoneCallThemeMonitor::CallImageThemeFilePath(void) const
-	?HasThumbnail@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 133 NONAME ; int TPhoneCmdParamCallHeaderData::HasThumbnail(void) const
-	?ClearBlackListNow@CPhoneClearBlacklist@@QAEXXZ @ 134 NONAME ; void CPhoneClearBlacklist::ClearBlackListNow(void)
-	?SetCipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 135 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCipheringIndicatorAllowed(int)
-	?SetCommandParamId@TPhoneCmdParamQuery@@QAEXW4TPhoneParamId@TPhoneCommandParam@@@Z @ 136 NONAME ; void TPhoneCmdParamQuery::SetCommandParamId(enum TPhoneCommandParam::TPhoneParamId)
-	??0TPhoneCmdParamEmergencyCallHeaderData@@QAE@XZ @ 137 NONAME ; TPhoneCmdParamEmergencyCallHeaderData::TPhoneCmdParamEmergencyCallHeaderData(void)
-	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@PAVMPhoneTimer@@@Z @ 138 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class MPhoneTimer *)
-	?NewL@CPhoneLibraryContainer@@SAPAV1@XZ @ 139 NONAME ; class CPhoneLibraryContainer * CPhoneLibraryContainer::NewL(void)
-	?CreateL@CPhoneClearBlacklist@@SAPAV1@AAVRWsSession@@ABVRWindowBase@@@Z @ 140 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::CreateL(class RWsSession &, class RWindowBase const &)
-	??1CPhoneStorage@@UAE@XZ @ 141 NONAME ; CPhoneStorage::~CPhoneStorage(void)
-	?SetVolume@TPhoneCmdParamRingTone@@QAEXH@Z @ 142 NONAME ; void TPhoneCmdParamRingTone::SetVolume(int)
-	??0TPhoneCmdParamString@@QAE@XZ @ 143 NONAME ; TPhoneCmdParamString::TPhoneCmdParamString(void)
-	?SetContactLink@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC8@@@Z @ 144 NONAME ; void TPhoneCmdParamCallHeaderData::SetContactLink(class TDesC8 const &)
-	??4TPhoneCmdParamQuery@@QAEAAV0@ABV0@@Z @ 145 NONAME ; class TPhoneCmdParamQuery & TPhoneCmdParamQuery::operator=(class TPhoneCmdParamQuery const &)
-	??0TPhoneCmdParamAudioAvailability@@QAE@XZ @ 146 NONAME ; TPhoneCmdParamAudioAvailability::TPhoneCmdParamAudioAvailability(void)
-	?GetBlockedKeyList@CPhoneStorage@@UBEABV?$RArray@H@@XZ @ 147 NONAME ; class RArray<int> const & CPhoneStorage::GetBlockedKeyList(void) const
-	??0TPhoneCmdParamRingTone@@QAE@XZ @ 148 NONAME ; TPhoneCmdParamRingTone::TPhoneCmdParamRingTone(void)
-	?Observer@TPhoneCmdParamNumberEntryObserver@@QAE?AVTCallBack@@XZ @ 149 NONAME ; class TCallBack TPhoneCmdParamNumberEntryObserver::Observer(void)
-	?SetSoftkeys@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 150 NONAME ; void TPhoneCmdParamGlobalNote::SetSoftkeys(int)
-	??0CPhoneResourceResolverBase@@IAE@XZ @ 151 NONAME ; CPhoneResourceResolverBase::CPhoneResourceResolverBase(void)
-	?SetCallId@TPhoneCmdParamCallStateData@@QAEXH@Z @ 152 NONAME ; void TPhoneCmdParamCallStateData::SetCallId(int)
-	?MultipleInstances@TPhoneCmdParamAppInfo@@QBEHXZ @ 153 NONAME ; int TPhoneCmdParamAppInfo::MultipleInstances(void) const
-	?ItemTextArrayForListQuery@TPhoneCmdParamQuery@@QBEPAVMDesC16Array@@XZ @ 154 NONAME ; class MDesC16Array * TPhoneCmdParamQuery::ItemTextArrayForListQuery(void) const
-	?SetHeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 155 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetHeaderText(class TDesC16 const &)
-	?SetContentCba@TPhoneCmdParamQuery@@QAEXH@Z @ 156 NONAME ; void TPhoneCmdParamQuery::SetContentCba(int)
-	?CaptureType@TPhoneCmdParamKeyCapture@@QBE?AW4TPhoneCaptureType@@XZ @ 157 NONAME ; enum TPhoneCaptureType TPhoneCmdParamKeyCapture::CaptureType(void) const
-	?SetQueryResourceId@TPhoneCmdParamQuery@@QAEXH@Z @ 158 NONAME ; void TPhoneCmdParamQuery::SetQueryResourceId(int)
-	?CancelNotify@CPhoneCenRepProxy@@QAEXPAVMPhoneCenRepObserver@@I@Z @ 159 NONAME ; void CPhoneCenRepProxy::CancelNotify(class MPhoneCenRepObserver *, unsigned int)
-	?Param@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 160 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::Param(void) const
-	??0CPhoneMethodLogger@@QAE@W4TPhoneUILoggingComponent@@VTPtrC16@@@Z @ 161 NONAME ; CPhoneMethodLogger::CPhoneMethodLogger(enum TPhoneUILoggingComponent, class TPtrC16)
-	?IsDtmfTone@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 162 NONAME ; int CPhoneKeys::IsDtmfTone(struct TKeyEvent const &, enum TEventCode)
-	?SetMode@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 163 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMode(int)
-	?NewL@CPhoneCallThemeMonitor@@SAPAV1@XZ @ 164 NONAME ; class CPhoneCallThemeMonitor * CPhoneCallThemeMonitor::NewL(void)
-	?SetCLIText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneClippingDirection@CBubbleManager@@@Z @ 165 NONAME ; void TPhoneCmdParamCallHeaderData::SetCLIText(class TDesC16 const &, enum CBubbleManager::TPhoneClippingDirection)
-	?SetPhoneNumber@TPhoneCmdParamSpeedDial@@QAEXPAVTPtr16@@@Z @ 166 NONAME ; void TPhoneCmdParamSpeedDial::SetPhoneNumber(class TPtr16 *)
-	?SendKeyEnabled@TPhoneCmdParamQuery@@QBEHXZ @ 167 NONAME ; int TPhoneCmdParamQuery::SendKeyEnabled(void) const
-	?SetNeedToEnableKeylock@CPhoneStorage@@UAEXH@Z @ 168 NONAME ; void CPhoneStorage::SetNeedToEnableKeylock(int)
-	?SetTitlePaneResourceId@TPhoneCmdParamSingleItemFetch@@QAEXH@Z @ 169 NONAME ; void TPhoneCmdParamSingleItemFetch::SetTitlePaneResourceId(int)
-	?Find@CPhoneCenRepProxy@@QBEHABVTUid@@KKAAV?$RArray@K@@@Z @ 170 NONAME ; int CPhoneCenRepProxy::Find(class TUid const &, unsigned long, unsigned long, class RArray<unsigned long> &) const
-	?SetLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 171 NONAME ; void TPhoneCmdParamCallHeaderData::SetLabelText(class TDesC16 const &)
-	?CNAPText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 172 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CNAPText(void) const
-	?SetOwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 173 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetOwnPhoneNumberText(class TDesC16 const &)
-	?Emergency@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 174 NONAME ; int TPhoneCmdParamIncallIndicatorData::Emergency(void) const
-	?SetCbaResourceId@TPhoneCmdParamSingleItemFetch@@QAEXH@Z @ 175 NONAME ; void TPhoneCmdParamSingleItemFetch::SetCbaResourceId(int)
-	?AppUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 176 NONAME ; class TUid TPhoneCmdParamAppInfo::AppUid(void) const
-	?CustomMessage@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 177 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::CustomMessage(void) const
-	?QueryResourceId@TPhoneCmdParamQuery@@QBEHXZ @ 178 NONAME ; int TPhoneCmdParamQuery::QueryResourceId(void) const
-	?SetRingTone@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 179 NONAME ; void TPhoneCmdParamRingTone::SetRingTone(class TDesC16 const &)
-	?NotifyChangeL@CPhonePubSubProxy@@QAEXABVTUid@@IPAVMPhonePubSubObserver@@@Z @ 180 NONAME ; void CPhonePubSubProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhonePubSubObserver *)
-	?AppendBlockedKeysListL@CPhoneStorage@@UAEXW4TStdScanCode@@@Z @ 181 NONAME ; void CPhoneStorage::AppendBlockedKeysListL(enum TStdScanCode)
-	?SetEmergency@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 182 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetEmergency(int)
-	?SetDefaultCba@TPhoneCmdParamQuery@@QAEXH@Z @ 183 NONAME ; void TPhoneCmdParamQuery::SetDefaultCba(int)
-	?Type@TPhoneCmdParamTransEffect@@QBE?AW4TPhoneTransEffectType@@XZ @ 184 NONAME ; enum TPhoneTransEffectType TPhoneCmdParamTransEffect::Type(void) const
-	??0TPhoneCmdParamSfiData@@QAE@XZ @ 185 NONAME ; TPhoneCmdParamSfiData::TPhoneCmdParamSfiData(void)
-	??0TPhoneCmdParamCallHeaderData@@QAE@XZ @ 186 NONAME ; TPhoneCmdParamCallHeaderData::TPhoneCmdParamCallHeaderData(void)
-	??1CPhoneClearBlacklist@@UAE@XZ @ 187 NONAME ; CPhoneClearBlacklist::~CPhoneClearBlacklist(void)
-	?SetMute@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 188 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMute(int)
-	?KeyCode@TPhoneCmdParamKeyCapture@@QBE?AW4TKeyCode@@XZ @ 189 NONAME ; enum TKeyCode TPhoneCmdParamKeyCapture::KeyCode(void) const
-	?IsNumberKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 190 NONAME ; int CPhoneKeys::IsNumberKey(struct TKeyEvent const &, enum TEventCode)
-	?TextResourceId@TPhoneCmdParamGlobalNote@@QBEHXZ @ 191 NONAME ; int TPhoneCmdParamGlobalNote::TextResourceId(void) const
-	?SetCiphering@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 192 NONAME ; void TPhoneCmdParamCallHeaderData::SetCiphering(int)
-	?EnablePreconditionL@CPhoneRecoverySystem@@QAEXXZ @ 193 NONAME ; void CPhoneRecoverySystem::EnablePreconditionL(void)
-	?AddL@CPhoneRecoverySystem@@QAEHVTCallBack@@CW4TRecoveryState@CTeleRecoverySystem@@@Z @ 194 NONAME ; int CPhoneRecoverySystem::AddL(class TCallBack, signed char, enum CTeleRecoverySystem::TRecoveryState)
-	?SetLine2@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 195 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLine2(int)
-	?SetAudioOutput@TPhoneCmdParamAudioOutput@@QAEXW4TPEAudioOutput@@@Z @ 196 NONAME ; void TPhoneCmdParamAudioOutput::SetAudioOutput(enum TPEAudioOutput)
-	?HeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 197 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::HeaderText(void) const
-	?CallImageThemeSettings@CPhoneCallThemeMonitor@@QBEHXZ @ 198 NONAME ; int CPhoneCallThemeMonitor::CallImageThemeSettings(void) const
-	?SetLocation@TPhoneCmdParamSpeedDial@@QAEXH@Z @ 199 NONAME ; void TPhoneCmdParamSpeedDial::SetLocation(int)
-	??0TPhoneCmdParamTransEffect@@QAE@XZ @ 200 NONAME ; TPhoneCmdParamTransEffect::TPhoneCmdParamTransEffect(void)
-	?Number@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 201 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Number(void) const
-	?OwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 202 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::OwnPhoneNumberText(void) const
-	?QueryPrompt@TPhoneCmdParamQuery@@QBEABVTDesC16@@XZ @ 203 NONAME ; class TDesC16 const & TPhoneCmdParamQuery::QueryPrompt(void) const
-	?SetQueryPrompt@TPhoneCmdParamQuery@@QAEXABVTDesC16@@@Z @ 204 NONAME ; void TPhoneCmdParamQuery::SetQueryPrompt(class TDesC16 const &)
-	?NewL@CPhoneQwertyHandler@@SAPAV1@XZ @ 205 NONAME ; class CPhoneQwertyHandler * CPhoneQwertyHandler::NewL(void)
-	?IsNumericKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 206 NONAME ; int CPhoneKeys::IsNumericKey(struct TKeyEvent const &, enum TEventCode)
-	?SetCaptureType@TPhoneCmdParamKeyCapture@@QAEXW4TPhoneCaptureType@@@Z @ 207 NONAME ; void TPhoneCmdParamKeyCapture::SetCaptureType(enum TPhoneCaptureType)
-	?ViewUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 208 NONAME ; class TUid TPhoneCmdParamAppInfo::ViewUid(void) const
-	?CallFlag@TPhoneCmdParamCallHeaderData@@QBEKXZ @ 209 NONAME ; unsigned long TPhoneCmdParamCallHeaderData::CallFlag(void) const
-	?SetLabelText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 210 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetLabelText(class TDesC16 const &)
-	??0TPhoneCmdParamSpeedDial@@QAE@XZ @ 211 NONAME ; TPhoneCmdParamSpeedDial::TPhoneCmdParamSpeedDial(void)
-	?IsCallerText@TPhoneCmdParamRingTone@@QAEHXZ @ 212 NONAME ; int TPhoneCmdParamRingTone::IsCallerText(void)
-	?SetBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 213 NONAME ; void TPhoneCmdParamBitmap::SetBitmap(class CFbsBitmap *)
-	?SetNumber@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 214 NONAME ; void TPhoneCmdParamSfiData::SetNumber(class TDesC16 const &)
-	?Location@TPhoneCmdParamSpeedDial@@QAEHXZ @ 215 NONAME ; int TPhoneCmdParamSpeedDial::Location(void)
-	?CipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 216 NONAME ; int TPhoneCmdParamCallHeaderData::CipheringIndicatorAllowed(void) const
-	?Name@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 217 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Name(void) const
-	??0TPhoneCmdParamQuery@@QAE@ABV0@@Z @ 218 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(class TPhoneCmdParamQuery const &)
-	?CallState@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 219 NONAME ; int TPhoneCmdParamCallHeaderData::CallState(void) const
-	??0TPhoneCmdParamIncallIndicatorData@@QAE@XZ @ 220 NONAME ; TPhoneCmdParamIncallIndicatorData::TPhoneCmdParamIncallIndicatorData(void)
-	?Picture@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 221 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::Picture(void) const
-	?SetCallThemeSettingsObserver@CPhoneCallThemeMonitor@@QAEXPAVMPhoneCallThemeSettingsObserver@@@Z @ 222 NONAME ; void CPhoneCallThemeMonitor::SetCallThemeSettingsObserver(class MPhoneCallThemeSettingsObserver *)
-	?ServiceId@TPhoneCmdParamCallHeaderData@@QBEKXZ @ 223 NONAME ; unsigned long TPhoneCmdParamCallHeaderData::ServiceId(void) const
-	?LabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 224 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::LabelText(void) const
-	?Overflow@CPhoneLogger@@EAEXAAVTDes16@@@Z @ 225 NONAME ; void CPhoneLogger::Overflow(class TDes16 &)
-	?SetServiceId@TPhoneCmdParamSpeedDial@@QAEXI@Z @ 226 NONAME ; void TPhoneCmdParamSpeedDial::SetServiceId(unsigned int)
-	?SetKeyEvent@TPhoneCmdParamKeyEvent@@QAEXABUTKeyEvent@@@Z @ 227 NONAME ; void TPhoneCmdParamKeyEvent::SetKeyEvent(struct TKeyEvent const &)
-	?Instance@CPhonePubSubProxy@@SAPAV1@XZ @ 228 NONAME ; class CPhonePubSubProxy * CPhonePubSubProxy::Instance(void)
-	?ResourceId@TPhoneCmdParamNote@@QBEHXZ @ 229 NONAME ; int TPhoneCmdParamNote::ResourceId(void) const
-	?CipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 230 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::CipheringIndicatorAllowed(void) const
-	?CancelAllNotifies@CPhoneCenRepProxy@@SAXPAVMPhoneCenRepObserver@@@Z @ 231 NONAME ; void CPhoneCenRepProxy::CancelAllNotifies(class MPhoneCenRepObserver *)
-	??1CPhoneQwertyHandler@@UAE@XZ @ 232 NONAME ; CPhoneQwertyHandler::~CPhoneQwertyHandler(void)
-	?TextResourceId@TPhoneCmdParamNote@@QBEHXZ @ 233 NONAME ; int TPhoneCmdParamNote::TextResourceId(void) const
-	?SetRemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 234 NONAME ; void TPhoneCmdParamCallHeaderData::SetRemotePhoneNumber(class TDesC16 const &)
-	?CipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 235 NONAME ; int TPhoneCmdParamIncallIndicatorData::CipheringIndicatorAllowed(void) const
-	?SetScreenLocked@CPhoneStorage@@UAEXH@Z @ 236 NONAME ; void CPhoneStorage::SetScreenLocked(int)
-	??0TPhoneCmdParamCallStateData@@QAE@XZ @ 237 NONAME ; TPhoneCmdParamCallStateData::TPhoneCmdParamCallStateData(void)
-	?SetKeyCode@TPhoneCmdParamKeyCapture@@QAEXW4TKeyCode@@@Z @ 238 NONAME ; void TPhoneCmdParamKeyCapture::SetKeyCode(enum TKeyCode)
-	?CustomMessageId@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 239 NONAME ; class TUid TPhoneCmdParamAppInfo::CustomMessageId(void) const
-	?RemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 240 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::RemotePhoneNumber(void) const
-	?SetType@TPhoneCmdParamNote@@QAEXW4TPhoneNoteType@@@Z @ 241 NONAME ; void TPhoneCmdParamNote::SetType(enum TPhoneNoteType)
-	?Instance@CPhoneClearBlacklist@@SAPAV1@XZ @ 242 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::Instance(void)
-	?TextToSay@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 243 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::TextToSay(void) const
-	?Type@TPhoneCmdParamNote@@QBE?AW4TPhoneNoteType@@XZ @ 244 NONAME ; enum TPhoneNoteType TPhoneCmdParamNote::Type(void) const
-	??0TPhoneCmdParamReconnectQuery@@QAE@AAVMCaUiReconnectQueryObserver@@@Z @ 245 NONAME ; TPhoneCmdParamReconnectQuery::TPhoneCmdParamReconnectQuery(class MCaUiReconnectQueryObserver &)
-	?SetCallFlag@TPhoneCmdParamCallHeaderData@@QAEXW4TPhoneCallTypeFlags@CBubbleManager@@@Z @ 246 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallFlag(enum CBubbleManager::TPhoneCallTypeFlags)
-	?SetPicture@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 247 NONAME ; void TPhoneCmdParamCallHeaderData::SetPicture(class TDesC16 const &)
-	?Integer@TPhoneCmdParamInteger@@QBEHXZ @ 248 NONAME ; int TPhoneCmdParamInteger::Integer(void) const
-	?Mode@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 249 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mode(void) const
-	?SetText@TPhoneCmdParamNote@@QAEXABVTDesC16@@@Z @ 250 NONAME ; void TPhoneCmdParamNote::SetText(class TDesC16 const &)
-	?SetCallerTextStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 251 NONAME ; void TPhoneCmdParamRingTone::SetCallerTextStatus(int)
-	?IsWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 252 NONAME ; int TPhoneCmdParamAudioAvailability::IsWiredAccAvailable(void) const
-	?SetWaitForReady@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 253 NONAME ; void TPhoneCmdParamGlobalNote::SetWaitForReady(int)
-	??0TPhoneCmdParamBoolean@@QAE@XZ @ 254 NONAME ; TPhoneCmdParamBoolean::TPhoneCmdParamBoolean(void)
-	?QueryCommandObserver@TPhoneCmdParamQuery@@QAEPAVMPhoneQueryCommandObserver@@XZ @ 255 NONAME ; class MPhoneQueryCommandObserver * TPhoneCmdParamQuery::QueryCommandObserver(void)
-	?DataText@TPhoneCmdParamQuery@@QBEPAVTDes16@@XZ @ 256 NONAME ; class TDes16 * TPhoneCmdParamQuery::DataText(void) const
-	?SetType@TPhoneCmdParamSingleItemFetch@@QAEXW4TFetchType@CPhCntSingleItemFetch@@@Z @ 257 NONAME ; void TPhoneCmdParamSingleItemFetch::SetType(enum CPhCntSingleItemFetch::TFetchType)
-	?SetReal@CPhoneCenRepProxy@@QAEHABVTUid@@IN@Z @ 258 NONAME ; int CPhoneCenRepProxy::SetReal(class TUid const &, unsigned int, double)
-	??0TPhoneCmdParamCustomDialer@@QAE@XZ @ 259 NONAME ; TPhoneCmdParamCustomDialer::TPhoneCmdParamCustomDialer(void)
-	??1CPhonePubSubProxy@@UAE@XZ @ 260 NONAME ; CPhonePubSubProxy::~CPhonePubSubProxy(void)
-	?NumericKeyCode@CPhoneQwertyHandler@@QAEHABUTKeyEvent@@@Z @ 261 NONAME ; int CPhoneQwertyHandler::NumericKeyCode(struct TKeyEvent const &)
-	?SetMessageData@TPhoneCmdParamMessageEditor@@QAEXPAVCMessageData@@@Z @ 262 NONAME ; void TPhoneCmdParamMessageEditor::SetMessageData(class CMessageData *)
-	??0TPhoneCmdParamNote@@QAE@XZ @ 263 NONAME ; TPhoneCmdParamNote::TPhoneCmdParamNote(void)
-	?Volume@TPhoneCmdParamRingTone@@QBEHXZ @ 264 NONAME ; int TPhoneCmdParamRingTone::Volume(void) const
-	?SetItemTextArrayForListQuery@TPhoneCmdParamQuery@@QAEXAAVMDesC16Array@@@Z @ 265 NONAME ; void TPhoneCmdParamQuery::SetItemTextArrayForListQuery(class MDesC16Array &)
-	?Type@TPhoneCmdParamRingTone@@QBE?AW4TPhoneRingToneType@@XZ @ 266 NONAME ; enum TPhoneRingToneType TPhoneCmdParamRingTone::Type(void) const
-	?Key@TPhoneCmdParamKeyCapture@@QBE?AW4TStdScanCode@@XZ @ 267 NONAME ; enum TStdScanCode TPhoneCmdParamKeyCapture::Key(void) const
-	?LabelText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 268 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::LabelText(void) const
-	?Ciphering@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 269 NONAME ; int TPhoneCmdParamIncallIndicatorData::Ciphering(void) const
-	?SetQueryCommandObserver@TPhoneCmdParamQuery@@QAEXAAVMPhoneQueryCommandObserver@@@Z @ 270 NONAME ; void TPhoneCmdParamQuery::SetQueryCommandObserver(class MPhoneQueryCommandObserver &)
-	?IsPhoneUIFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 271 NONAME ; int CPhoneCenRepProxy::IsPhoneUIFeatureSupported(int)
-	?DefaultCba@TPhoneCmdParamQuery@@QBEHXZ @ 272 NONAME ; int TPhoneCmdParamQuery::DefaultCba(void) const
-	?CallState@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 273 NONAME ; int TPhoneCmdParamIncallIndicatorData::CallState(void) const
-	??0TPhoneCmdParamNumberEntryObserver@@QAE@XZ @ 274 NONAME ; TPhoneCmdParamNumberEntryObserver::TPhoneCmdParamNumberEntryObserver(void)
-	?MessageData@TPhoneCmdParamMessageEditor@@QBEPAVCMessageData@@XZ @ 275 NONAME ; class CMessageData * TPhoneCmdParamMessageEditor::MessageData(void) const
-	?SetLine2@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 276 NONAME ; void TPhoneCmdParamCallHeaderData::SetLine2(int)
-	?FetchValuesFromCenRepL@CPhoneCenRepProxy@@QAEXAAVTPhoneCmdParamAppInfo@@W4TKeyCode@@PAVHBufC8@@AAH@Z @ 277 NONAME ; void CPhoneCenRepProxy::FetchValuesFromCenRepL(class TPhoneCmdParamAppInfo &, enum TKeyCode, class HBufC8 *, int &)
-	?CNAPTextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneClippingDirection@CBubbleManager@@XZ @ 278 NONAME ; enum CBubbleManager::TPhoneClippingDirection TPhoneCmdParamCallHeaderData::CNAPTextClippingDirection(void) const
-	?ParticipantCLI@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneParticipantListCLI@1@XZ @ 279 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI TPhoneCmdParamCallHeaderData::ParticipantCLI(void) const
-	?Thumbnail@TPhoneCmdParamCallHeaderData@@QBEPAVCFbsBitmap@@XZ @ 280 NONAME ; class CFbsBitmap * TPhoneCmdParamCallHeaderData::Thumbnail(void) const
-	?SetTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 281 NONAME ; void TPhoneCmdParamQuery::SetTimeOut(int)
-	?Boolean@TPhoneCmdParamBoolean@@QBEHXZ @ 282 NONAME ; int TPhoneCmdParamBoolean::Boolean(void) const
-	?LogMsgFromPhoneUIToPE@CPhoneLogger@@QAEXHH@Z @ 283 NONAME ; void CPhoneLogger::LogMsgFromPhoneUIToPE(int, int)
-	?SetCustomMessageId@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 284 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessageId(class TUid const &)
-	?ResolveResourceID@CPhoneResourceResolverBase@@UBEHABH@Z @ 285 NONAME ; int CPhoneResourceResolverBase::ResolveResourceID(int const &) const
-	?SetName@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 286 NONAME ; void TPhoneCmdParamSfiData::SetName(class TDesC16 const &)
-	?TitlePaneResourceId@TPhoneCmdParamSingleItemFetch@@QBEHXZ @ 287 NONAME ; int TPhoneCmdParamSingleItemFetch::TitlePaneResourceId(void) const
-	?SetType@TPhoneCmdParamGlobalNote@@QAEXW4TAknGlobalNoteType@@@Z @ 288 NONAME ; void TPhoneCmdParamGlobalNote::SetType(enum TAknGlobalNoteType)
-	?IncludeVideoCallOption@TPhoneCmdParamReconnectQuery@@QBEHXZ @ 289 NONAME ; int TPhoneCmdParamReconnectQuery::IncludeVideoCallOption(void) const
-	?SetLittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 290 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLittleBubbleVisible(int)
-	?Ciphering@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 291 NONAME ; int TPhoneCmdParamCallHeaderData::Ciphering(void) const
-	?SetType@TPhoneCmdParamRingTone@@QAEXW4TPhoneRingToneType@@@Z @ 292 NONAME ; void TPhoneCmdParamRingTone::SetType(enum TPhoneRingToneType)
-	?ResourceId@TPhoneCmdParamDynMenu@@QBEHXZ @ 293 NONAME ; int TPhoneCmdParamDynMenu::ResourceId(void) const
-	?SetCipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 294 NONAME ; void TPhoneCmdParamCallHeaderData::SetCipheringIndicatorAllowed(int)
-	?SetWaitTime@TPhoneCmdParamProgressNote@@QAEXVTTimeIntervalMicroSeconds32@@@Z @ 295 NONAME ; void TPhoneCmdParamProgressNote::SetWaitTime(class TTimeIntervalMicroSeconds32)
-	?Ciphering@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 296 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::Ciphering(void) const
-	??1CPhoneCallThemeMonitor@@UAE@XZ @ 297 NONAME ; CPhoneCallThemeMonitor::~CPhoneCallThemeMonitor(void)
-	?SetNumberType@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 298 NONAME ; void TPhoneCmdParamCallHeaderData::SetNumberType(int)
-	?Mute@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 299 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mute(void) const
-	?IsQwertyInput@CPhoneQwertyHandler@@QBEHXZ @ 300 NONAME ; int CPhoneQwertyHandler::IsQwertyInput(void) const
-	?SetBoolean@TPhoneCmdParamBoolean@@QAEXH@Z @ 301 NONAME ; void TPhoneCmdParamBoolean::SetBoolean(int)
-	?IsTelephonyFeatureSupported@CPhoneResourceResolverBase@@MBEHH@Z @ 302 NONAME ; int CPhoneResourceResolverBase::IsTelephonyFeatureSupported(int) const
-	?Instance@CPhoneMainErrorMessagesHandler@@SAPAV1@XZ @ 303 NONAME ; class CPhoneMainErrorMessagesHandler * CPhoneMainErrorMessagesHandler::Instance(void)
-	?SetViewUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 304 NONAME ; void TPhoneCmdParamAppInfo::SetViewUid(class TUid const &)
-	?SetServiceId@TPhoneCmdParamCallHeaderData@@QAEXK@Z @ 305 NONAME ; void TPhoneCmdParamCallHeaderData::SetServiceId(unsigned long)
-	?Instance@CPhoneCenRepProxy@@SAPAV1@XZ @ 306 NONAME ; class CPhoneCenRepProxy * CPhoneCenRepProxy::Instance(void)
-	?AddCallFlag@TPhoneCmdParamCallHeaderData@@QAEXW4TPhoneCallTypeFlags@CBubbleManager@@@Z @ 307 NONAME ; void TPhoneCmdParamCallHeaderData::AddCallFlag(enum CBubbleManager::TPhoneCallTypeFlags)
-	?SetQueryType@TPhoneCmdParamQuery@@QAEXW4TPhoneQueryType@@@Z @ 308 NONAME ; void TPhoneCmdParamQuery::SetQueryType(enum TPhoneQueryType)
-	?Value@CPhonePubSubProxy@@QAEHABVTUid@@I@Z @ 309 NONAME ; int CPhonePubSubProxy::Value(class TUid const &, unsigned int)
-	?SetWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 310 NONAME ; void TPhoneCmdParamAudioAvailability::SetWiredAccAvailable(int)
-	?SetString@TPhoneCmdParamSingleItemFetch@@QAEXPAVTDes16@@@Z @ 311 NONAME ; void TPhoneCmdParamSingleItemFetch::SetString(class TDes16 *)
-	??0TPhoneCmdParamAudioOutput@@QAE@XZ @ 312 NONAME ; TPhoneCmdParamAudioOutput::TPhoneCmdParamAudioOutput(void)
-	?IsCallerImage@TPhoneCmdParamRingTone@@QAEHXZ @ 313 NONAME ; int TPhoneCmdParamRingTone::IsCallerImage(void)
-	??0TPhoneCmdParamQuery@@QAE@XZ @ 314 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(void)
-	?SetPhoneNumber@TPhoneCmdParamReconnectQuery@@QAEXVTPtrC16@@@Z @ 315 NONAME ; void TPhoneCmdParamReconnectQuery::SetPhoneNumber(class TPtrC16)
-	?Instance@CPhoneMainResourceResolver@@SAPAV1@XZ @ 316 NONAME ; class CPhoneMainResourceResolver * CPhoneMainResourceResolver::Instance(void)
-	?ServiceId@TPhoneCmdParamSpeedDial@@QBEIXZ @ 317 NONAME ; unsigned int TPhoneCmdParamSpeedDial::ServiceId(void) const
-	??1CPhoneLibraryContainer@@UAE@XZ @ 318 NONAME ; CPhoneLibraryContainer::~CPhoneLibraryContainer(void)
-	?ClearBlackListOnNextKey@CPhoneClearBlacklist@@QAEXXZ @ 319 NONAME ; void CPhoneClearBlacklist::ClearBlackListOnNextKey(void)
-	?Tone@TPhoneCmdParamQuery@@QBEHXZ @ 320 NONAME ; int TPhoneCmdParamQuery::Tone(void) const
-	?SetNumberType@TPhoneCmdParamSpeedDial@@QAEXW4TPhoneNumberType@@@Z @ 321 NONAME ; void TPhoneCmdParamSpeedDial::SetNumberType(enum TPhoneNumberType)
-	?SetRingingType@TPhoneCmdParamRingTone@@QAEXH@Z @ 322 NONAME ; void TPhoneCmdParamRingTone::SetRingingType(int)
-	?CbaResourceId@TPhoneCmdParamSingleItemFetch@@QBEHXZ @ 323 NONAME ; int TPhoneCmdParamSingleItemFetch::CbaResourceId(void) const
-	?SetCiphering@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 324 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCiphering(int)
-	?SetCipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 325 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCipheringIndicatorAllowed(int)
-	?NeedToEnableKeylock@CPhoneStorage@@UAEHXZ @ 326 NONAME ; int CPhoneStorage::NeedToEnableKeylock(void)
-	?AudioOutput@TPhoneCmdParamAudioOutput@@QBE?AW4TPEAudioOutput@@XZ @ 327 NONAME ; enum TPEAudioOutput TPhoneCmdParamAudioOutput::AudioOutput(void) const
-	?SetResourceId@TPhoneCmdParamProgressNote@@QAEXH@Z @ 328 NONAME ; void TPhoneCmdParamProgressNote::SetResourceId(int)
-	??0TPhoneCmdParamInteger@@QAE@XZ @ 329 NONAME ; TPhoneCmdParamInteger::TPhoneCmdParamInteger(void)
-	?Type@TPhoneCmdParamSingleItemFetch@@QAE?AW4TFetchType@CPhCntSingleItemFetch@@XZ @ 330 NONAME ; enum CPhCntSingleItemFetch::TFetchType TPhoneCmdParamSingleItemFetch::Type(void)
-	?SetType@TPhoneCmdParamTransEffect@@QAEXW4TPhoneTransEffectType@@@Z @ 331 NONAME ; void TPhoneCmdParamTransEffect::SetType(enum TPhoneTransEffectType)
-	?Bitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 332 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::Bitmap(void) const
-	?SetTone@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 333 NONAME ; void TPhoneCmdParamGlobalNote::SetTone(int)
-	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@VTCallBack@@@Z @ 334 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class TCallBack)
-	?ContactMatcher@TPhoneCmdParamReconnectQuery@@QBEPAVCPhCntMatcher@@XZ @ 335 NONAME ; class CPhCntMatcher * TPhoneCmdParamReconnectQuery::ContactMatcher(void) const
+	?SetParticipantListCLI@TPhoneCmdParamCallHeaderData@@QAEXW4TPhoneParticipantListCLI@1@@Z @ 2 NONAME ; void TPhoneCmdParamCallHeaderData::SetParticipantListCLI(enum TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI)
+	?ContactLink@TPhoneCmdParamCallHeaderData@@QBEABVTDesC8@@XZ @ 3 NONAME ; class TDesC8 const & TPhoneCmdParamCallHeaderData::ContactLink(void) const
+	?LogIt@CPhoneLogger@@QAAXW4TPhoneUILoggingLevel@@W4TPhoneUILoggingComponent@@V?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 4 NONAME ; void CPhoneLogger::LogIt(enum TPhoneUILoggingLevel, enum TPhoneUILoggingComponent, class TRefByValue<class TDesC16 const >, ...)
+	?IsEscapeKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 5 NONAME ; int CPhoneKeys::IsEscapeKey(struct TKeyEvent const &, enum TEventCode)
+	?Tone@TPhoneCmdParamNote@@QBE?AW4TTone@CAknNoteDialog@@XZ @ 6 NONAME ; enum CAknNoteDialog::TTone TPhoneCmdParamNote::Tone(void) const
+	?LogStateChange@CPhoneLogger@@QAEXHH@Z @ 7 NONAME ; void CPhoneLogger::LogStateChange(int, int)
+	?SetObserver@TPhoneCmdParamNumberEntryObserver@@QAEXVTCallBack@@@Z @ 8 NONAME ; void TPhoneCmdParamNumberEntryObserver::SetObserver(class TCallBack)
+	?QueryType@TPhoneCmdParamQuery@@QBE?AW4TPhoneQueryType@@XZ @ 9 NONAME ; enum TPhoneQueryType TPhoneCmdParamQuery::QueryType(void) const
+	?SetCallType@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 10 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallType(int)
+	?NumberType@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 11 NONAME ; int TPhoneCmdParamCallHeaderData::NumberType(void) const
+	?CbaCommandMapping@TPhoneCmdParamQuery@@QBEHH@Z @ 12 NONAME ; int TPhoneCmdParamQuery::CbaCommandMapping(int) const
+	?SetTone@TPhoneCmdParamQuery@@QAEXH@Z @ 13 NONAME ; void TPhoneCmdParamQuery::SetTone(int)
+	?PhoneNumber@TPhoneCmdParamSpeedDial@@QAEPAVTPtr16@@XZ @ 14 NONAME ; class TPtr16 * TPhoneCmdParamSpeedDial::PhoneNumber(void)
+	?CLIText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 15 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CLIText(void) const
+	??0CPhoneLogger@@QAE@VTUid@@@Z @ 16 NONAME ; CPhoneLogger::CPhoneLogger(class TUid)
+	?RingingType@TPhoneCmdParamRingTone@@QBEHXZ @ 17 NONAME ; int TPhoneCmdParamRingTone::RingingType(void) const
+	?Remove@CPhoneRecoverySystem@@SAXH@Z @ 18 NONAME ; void CPhoneRecoverySystem::Remove(int)
+	??0TPhoneCmdParamKeyEvent@@QAE@XZ @ 19 NONAME ; TPhoneCmdParamKeyEvent::TPhoneCmdParamKeyEvent(void)
+	?SetPhoneEngine@CPhoneLogger@@QAEXPAVMPEPhoneModel@@@Z @ 20 NONAME ; void CPhoneLogger::SetPhoneEngine(class MPEPhoneModel *)
+	?SetSendKeyEnabled@TPhoneCmdParamQuery@@QAEXH@Z @ 21 NONAME ; void TPhoneCmdParamQuery::SetSendKeyEnabled(int)
+	?Pointer@TPhoneCmdParamPointer@@QBEPAXXZ @ 22 NONAME ; void * TPhoneCmdParamPointer::Pointer(void) const
+	?SetCallerText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 23 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallerText(class TDesC16 const &)
+	?Line2@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 24 NONAME ; int TPhoneCmdParamIncallIndicatorData::Line2(void) const
+	?Text@TPhoneCmdParamGlobalNote@@QBEABVTDesC16@@XZ @ 25 NONAME ; class TDesC16 const & TPhoneCmdParamGlobalNote::Text(void) const
+	?RecoverNow@CPhoneRecoverySystem@@QAEHHCH@Z @ 26 NONAME ; int CPhoneRecoverySystem::RecoverNow(int, signed char, int)
+	?LogMsgFromControlToView@CPhoneLogger@@QAEXHH@Z @ 27 NONAME ; void CPhoneLogger::LogMsgFromControlToView(int, int)
+	??0TPhoneCmdParamBitmap@@QAE@XZ @ 28 NONAME ; TPhoneCmdParamBitmap::TPhoneCmdParamBitmap(void)
+	?NumberType@TPhoneCmdParamSpeedDial@@QAE?AW4TPhoneNumberType@@XZ @ 29 NONAME ; enum TPhoneNumberType TPhoneCmdParamSpeedDial::NumberType(void)
+	?SetHasThumbnail@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 30 NONAME ; void TPhoneCmdParamCallHeaderData::SetHasThumbnail(int)
+	?Text@TPhoneCmdParamNote@@QBEABVTDesC16@@XZ @ 31 NONAME ; class TDesC16 const & TPhoneCmdParamNote::Text(void) const
+	??1CPhoneMethodLogger@@UAE@XZ @ 32 NONAME ; CPhoneMethodLogger::~CPhoneMethodLogger(void)
+	?WaitForReady@TPhoneCmdParamGlobalNote@@QBEHXZ @ 33 NONAME ; int TPhoneCmdParamGlobalNote::WaitForReady(void) const
+	?MaskBitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 34 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::MaskBitmap(void) const
+	?IsScreenLocked@CPhoneStorage@@UAEHXZ @ 35 NONAME ; int CPhoneStorage::IsScreenLocked(void)
+	?SetText@TPhoneCmdParamGlobalNote@@QAEXABVTDesC16@@@Z @ 36 NONAME ; void TPhoneCmdParamGlobalNote::SetText(class TDesC16 const &)
+	?AddLibraryL@CPhoneLibraryContainer@@QAEXABVRLibrary@@@Z @ 37 NONAME ; void CPhoneLibraryContainer::AddLibraryL(class RLibrary const &)
+	??1CPhoneResourceResolverBase@@UAE@XZ @ 38 NONAME ; CPhoneResourceResolverBase::~CPhoneResourceResolverBase(void)
+	?ResetBlockedKeysList@CPhoneStorage@@UAEXXZ @ 39 NONAME ; void CPhoneStorage::ResetBlockedKeysList(void)
+	?SetInt@CPhoneCenRepProxy@@QAEHABVTUid@@IH@Z @ 40 NONAME ; int CPhoneCenRepProxy::SetInt(class TUid const &, unsigned int, int)
+	?GetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QBEHAAH@Z @ 41 NONAME ; int TPhoneCmdParamQuery::GetCustomCommandForTimeOut(int &) const
+	?ParamId@TPhoneCommandParam@@QBE?AW4TPhoneParamId@1@XZ @ 42 NONAME ; enum TPhoneCommandParam::TPhoneParamId TPhoneCommandParam::ParamId(void) const
+	?SetString@CPhoneCenRepProxy@@QAEHABVTUid@@IABVTDesC16@@@Z @ 43 NONAME ; int CPhoneCenRepProxy::SetString(class TUid const &, unsigned int, class TDesC16 const &)
+	?Line2@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 44 NONAME ; int TPhoneCmdParamCallHeaderData::Line2(void) const
+	??1CPhoneTimer@@UAE@XZ @ 45 NONAME ; CPhoneTimer::~CPhoneTimer(void)
+	?LogMsgFromPEToPhoneUIEnd@CPhoneLogger@@QAEXH@Z @ 46 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUIEnd(int)
+	?DialerController@TPhoneCmdParamCustomDialer@@QAEPAVMPhoneDialerController@@XZ @ 47 NONAME ; class MPhoneDialerController * TPhoneCmdParamCustomDialer::DialerController(void)
+	?Type@TPhoneCmdParamGlobalNote@@QBE?AW4TAknGlobalNoteType@@XZ @ 48 NONAME ; enum TAknGlobalNoteType TPhoneCmdParamGlobalNote::Type(void) const
+	?SetMultipleInstances@TPhoneCmdParamAppInfo@@QAEXH@Z @ 49 NONAME ; void TPhoneCmdParamAppInfo::SetMultipleInstances(int)
+	?Tone@TPhoneCmdParamGlobalNote@@QBEHXZ @ 50 NONAME ; int TPhoneCmdParamGlobalNote::Tone(void) const
+	?ChangePropertyValue@CPhonePubSubProxy@@QAEXABVTUid@@IH@Z @ 51 NONAME ; void CPhonePubSubProxy::ChangePropertyValue(class TUid const &, unsigned int, int)
+	?SetThumbnail@TPhoneCmdParamCallHeaderData@@QAEXPAVCFbsBitmap@@@Z @ 52 NONAME ; void TPhoneCmdParamCallHeaderData::SetThumbnail(class CFbsBitmap *)
+	?SetCbaCommandMapping@TPhoneCmdParamQuery@@QAEXHH@Z @ 53 NONAME ; void TPhoneCmdParamQuery::SetCbaCommandMapping(int, int)
+	?EventCode@TPhoneCmdParamKeyEvent@@QBE?AW4TEventCode@@XZ @ 54 NONAME ; enum TEventCode TPhoneCmdParamKeyEvent::EventCode(void) const
+	?KeyEvent@TPhoneCmdParamKeyEvent@@QBE?BUTKeyEvent@@XZ @ 55 NONAME ; struct TKeyEvent const TPhoneCmdParamKeyEvent::KeyEvent(void) const
+	?SetDataText@TPhoneCmdParamQuery@@QAEXPAVTDes16@@@Z @ 56 NONAME ; void TPhoneCmdParamQuery::SetDataText(class TDes16 *)
+	??0TPhoneCmdParamAppInfo@@QAE@XZ @ 57 NONAME ; TPhoneCmdParamAppInfo::TPhoneCmdParamAppInfo(void)
+	?LittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 58 NONAME ; int TPhoneCmdParamIncallIndicatorData::LittleBubbleVisible(void) const
+	?SetCallState@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 59 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCallState(int)
+	?GetString@CPhoneCenRepProxy@@QBEHABVTUid@@IAAVTDes16@@@Z @ 60 NONAME ; int CPhoneCenRepProxy::GetString(class TUid const &, unsigned int, class TDes16 &) const
+	?ResourceId@TPhoneCmdParamProgressNote@@QBEHXZ @ 61 NONAME ; int TPhoneCmdParamProgressNote::ResourceId(void) const
+	?CallId@TPhoneCmdParamCallStateData@@QBEHXZ @ 62 NONAME ; int TPhoneCmdParamCallStateData::CallId(void) const
+	?NotifyChangeL@CPhoneCenRepProxy@@QAEXABVTUid@@IPAVMPhoneCenRepObserver@@@Z @ 63 NONAME ; void CPhoneCenRepProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhoneCenRepObserver *)
+	?SetResourceId@TPhoneCmdParamDynMenu@@QAEXH@Z @ 64 NONAME ; void TPhoneCmdParamDynMenu::SetResourceId(int)
+	?Validate@CPhoneKeys@@SAHABVTDesC16@@@Z @ 65 NONAME ; int CPhoneKeys::Validate(class TDesC16 const &)
+	??0TPhoneCmdParamKeyCapture@@QAE@XZ @ 66 NONAME ; TPhoneCmdParamKeyCapture::TPhoneCmdParamKeyCapture(void)
+	?SetResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 67 NONAME ; void TPhoneCmdParamNote::SetResourceId(int)
+	?LogMsgFromPEToPhoneUI@CPhoneLogger@@QAEXHH@Z @ 68 NONAME ; void CPhoneLogger::LogMsgFromPEToPhoneUI(int, int)
+	??0TPhoneCmdParamProgressNote@@QAE@XZ @ 69 NONAME ; TPhoneCmdParamProgressNote::TPhoneCmdParamProgressNote(void)
+	?CallState@TPhoneCmdParamCallStateData@@QBEHXZ @ 70 NONAME ; int TPhoneCmdParamCallStateData::CallState(void) const
+	?SetPointer@TPhoneCmdParamPointer@@QAEXPAX@Z @ 71 NONAME ; void TPhoneCmdParamPointer::SetPointer(void *)
+	??1CPhoneCenRepProxy@@UAE@XZ @ 72 NONAME ; CPhoneCenRepProxy::~CPhoneCenRepProxy(void)
+	?SetEventCode@TPhoneCmdParamKeyEvent@@QAEXW4TEventCode@@@Z @ 73 NONAME ; void TPhoneCmdParamKeyEvent::SetEventCode(enum TEventCode)
+	?WaitTime@TPhoneCmdParamProgressNote@@QBE?AVTTimeIntervalMicroSeconds32@@XZ @ 74 NONAME ; class TTimeIntervalMicroSeconds32 TPhoneCmdParamProgressNote::WaitTime(void) const
+	?SetParam@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 75 NONAME ; void TPhoneCmdParamAppInfo::SetParam(class TDesC8 const &)
+	??0TPhoneCmdParamPointer@@QAE@XZ @ 76 NONAME ; TPhoneCmdParamPointer::TPhoneCmdParamPointer(void)
+	??0TPhoneCmdParamGlobalNote@@QAE@XZ @ 77 NONAME ; TPhoneCmdParamGlobalNote::TPhoneCmdParamGlobalNote(void)
+	?CallType@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 78 NONAME ; int TPhoneCmdParamCallHeaderData::CallType(void) const
+	?SetCiphering@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 79 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCiphering(int)
+	?SetTone@TPhoneCmdParamNote@@QAEXW4TTone@CAknNoteDialog@@@Z @ 80 NONAME ; void TPhoneCmdParamNote::SetTone(enum CAknNoteDialog::TTone)
+	?SetCustomCommandForTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 81 NONAME ; void TPhoneCmdParamQuery::SetCustomCommandForTimeOut(int)
+	?IsBTAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 82 NONAME ; int TPhoneCmdParamAudioAvailability::IsBTAccAvailable(void) const
+	?NewL@CPhoneStorage@@SAPAV1@XZ @ 83 NONAME ; class CPhoneStorage * CPhoneStorage::NewL(void)
+	?CNAPTextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 84 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CNAPTextClippingDirection(void) const
+	?Timeout@TPhoneCmdParamNote@@QBE?AW4TTimeout@CAknNoteDialog@@XZ @ 85 NONAME ; enum CAknNoteDialog::TTimeout TPhoneCmdParamNote::Timeout(void) const
+	?Instance@CPhoneRecoverySystem@@SAPAV1@XZ @ 86 NONAME ; class CPhoneRecoverySystem * CPhoneRecoverySystem::Instance(void)
+	?CancelTimer@CPhoneTimer@@QAEXXZ @ 87 NONAME ; void CPhoneTimer::CancelTimer(void)
+	?NewL@CPhoneTimer@@SAPAV1@H@Z @ 88 NONAME ; class CPhoneTimer * CPhoneTimer::NewL(int)
+	?GetInt@CPhoneCenRepProxy@@QBEHABVTUid@@IAAH@Z @ 89 NONAME ; int CPhoneCenRepProxy::GetInt(class TUid const &, unsigned int, int &) const
+	?SetTextToSay@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 90 NONAME ; void TPhoneCmdParamRingTone::SetTextToSay(class TDesC16 const &)
+	?SetCallState@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 91 NONAME ; void TPhoneCmdParamCallHeaderData::SetCallState(int)
+	?ContentCba@TPhoneCmdParamQuery@@QBEHXZ @ 92 NONAME ; int TPhoneCmdParamQuery::ContentCba(void) const
+	?SetTextResourceId@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 93 NONAME ; void TPhoneCmdParamGlobalNote::SetTextResourceId(int)
+	??0TPhoneCmdParamDynMenu@@QAE@XZ @ 94 NONAME ; TPhoneCmdParamDynMenu::TPhoneCmdParamDynMenu(void)
+	?CancelAllNotifications@CPhonePubSubProxy@@SAXPAVMPhonePubSubObserver@@@Z @ 95 NONAME ; void CPhonePubSubProxy::CancelAllNotifications(class MPhonePubSubObserver *)
+	??0TPhoneCommandParam@@QAE@XZ @ 96 NONAME ; TPhoneCommandParam::TPhoneCommandParam(void)
+	?SetCLIText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 97 NONAME ; void TPhoneCmdParamCallHeaderData::SetCLIText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection)
+	??1CPhoneLogger@@UAE@XZ @ 98 NONAME ; CPhoneLogger::~CPhoneLogger(void)
+	?Softkeys@TPhoneCmdParamGlobalNote@@QBEHXZ @ 99 NONAME ; int TPhoneCmdParamGlobalNote::Softkeys(void) const
+	?SetCallState@TPhoneCmdParamCallStateData@@QAEXH@Z @ 100 NONAME ; void TPhoneCmdParamCallStateData::SetCallState(int)
+	?CallerText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 101 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CallerText(void) const
+	?Diverted@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 102 NONAME ; int TPhoneCmdParamCallHeaderData::Diverted(void) const
+	?String@TPhoneCmdParamString@@QAEPAVTPtr16@@XZ @ 103 NONAME ; class TPtr16 * TPhoneCmdParamString::String(void)
+	?SetKey@TPhoneCmdParamKeyCapture@@QAEXW4TStdScanCode@@@Z @ 104 NONAME ; void TPhoneCmdParamKeyCapture::SetKey(enum TStdScanCode)
+	?IsExtraChar@CPhoneKeys@@SAHH@Z @ 105 NONAME ; int CPhoneKeys::IsExtraChar(int)
+	?SetDynMenu@TPhoneCmdParamDynMenu@@QAEXPAX@Z @ 106 NONAME ; void TPhoneCmdParamDynMenu::SetDynMenu(void *)
+	?IsSecondHashKey@CPhoneKeys@@SAHABVTDes16@@@Z @ 107 NONAME ; int CPhoneKeys::IsSecondHashKey(class TDes16 const &)
+	?SetCallerImageStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 108 NONAME ; void TPhoneCmdParamRingTone::SetCallerImageStatus(int)
+	?GetReal@CPhoneCenRepProxy@@QBEHABVTUid@@IAAN@Z @ 109 NONAME ; int CPhoneCenRepProxy::GetReal(class TUid const &, unsigned int, double &) const
+	?SetShortLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 110 NONAME ; void TPhoneCmdParamCallHeaderData::SetShortLabelText(class TDesC16 const &)
+	?SetDialerController@TPhoneCmdParamCustomDialer@@QAEXPAVMPhoneDialerController@@@Z @ 111 NONAME ; void TPhoneCmdParamCustomDialer::SetDialerController(class MPhoneDialerController *)
+	?RingTone@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 112 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::RingTone(void) const
+	?TimeOut@TPhoneCmdParamQuery@@QBEHXZ @ 113 NONAME ; int TPhoneCmdParamQuery::TimeOut(void) const
+	?ShortLabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 114 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::ShortLabelText(void) const
+	?SetInteger@TPhoneCmdParamInteger@@QAEXH@Z @ 115 NONAME ; void TPhoneCmdParamInteger::SetInteger(int)
+	?SetMaskBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 116 NONAME ; void TPhoneCmdParamBitmap::SetMaskBitmap(class CFbsBitmap *)
+	?SetTimeout@TPhoneCmdParamNote@@QAEXW4TTimeout@CAknNoteDialog@@@Z @ 117 NONAME ; void TPhoneCmdParamNote::SetTimeout(enum CAknNoteDialog::TTimeout)
+	?IsBlockedKeysListEmpty@CPhoneStorage@@UAEHXZ @ 118 NONAME ; int CPhoneStorage::IsBlockedKeysListEmpty(void)
+	?SetCustomMessage@TPhoneCmdParamAppInfo@@QAEXABVTDesC8@@@Z @ 119 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessage(class TDesC8 const &)
+	?BaseConstructL@CPhoneResourceResolverBase@@QAEXXZ @ 120 NONAME ; void CPhoneResourceResolverBase::BaseConstructL(void)
+	?SetTextResourceId@TPhoneCmdParamNote@@QAEXH@Z @ 121 NONAME ; void TPhoneCmdParamNote::SetTextResourceId(int)
+	?SetString@TPhoneCmdParamString@@QAEXPAVTPtr16@@@Z @ 122 NONAME ; void TPhoneCmdParamString::SetString(class TPtr16 *)
+	?SetAppUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 123 NONAME ; void TPhoneCmdParamAppInfo::SetAppUid(class TUid const &)
+	?SetBTAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 124 NONAME ; void TPhoneCmdParamAudioAvailability::SetBTAccAvailable(int)
+	?IsTelephonyFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 125 NONAME ; int CPhoneCenRepProxy::IsTelephonyFeatureSupported(int)
+	?CallImageThemeFilePath@CPhoneCallThemeMonitor@@QBE?AVTPtrC16@@XZ @ 126 NONAME ; class TPtrC16 CPhoneCallThemeMonitor::CallImageThemeFilePath(void) const
+	?HasThumbnail@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 127 NONAME ; int TPhoneCmdParamCallHeaderData::HasThumbnail(void) const
+	?ClearBlackListNow@CPhoneClearBlacklist@@QAEXXZ @ 128 NONAME ; void CPhoneClearBlacklist::ClearBlackListNow(void)
+	?SetCipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QAEXH@Z @ 129 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetCipheringIndicatorAllowed(int)
+	?SetCommandParamId@TPhoneCmdParamQuery@@QAEXW4TPhoneParamId@TPhoneCommandParam@@@Z @ 130 NONAME ; void TPhoneCmdParamQuery::SetCommandParamId(enum TPhoneCommandParam::TPhoneParamId)
+	??0TPhoneCmdParamEmergencyCallHeaderData@@QAE@XZ @ 131 NONAME ; TPhoneCmdParamEmergencyCallHeaderData::TPhoneCmdParamEmergencyCallHeaderData(void)
+	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@PAVMPhoneTimer@@@Z @ 132 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class MPhoneTimer *)
+	?NewL@CPhoneLibraryContainer@@SAPAV1@XZ @ 133 NONAME ; class CPhoneLibraryContainer * CPhoneLibraryContainer::NewL(void)
+	?CreateL@CPhoneClearBlacklist@@SAPAV1@AAVRWsSession@@ABVRWindowBase@@@Z @ 134 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::CreateL(class RWsSession &, class RWindowBase const &)
+	??1CPhoneStorage@@UAE@XZ @ 135 NONAME ; CPhoneStorage::~CPhoneStorage(void)
+	?SetVolume@TPhoneCmdParamRingTone@@QAEXH@Z @ 136 NONAME ; void TPhoneCmdParamRingTone::SetVolume(int)
+	??0TPhoneCmdParamString@@QAE@XZ @ 137 NONAME ; TPhoneCmdParamString::TPhoneCmdParamString(void)
+	?SetContactLink@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC8@@@Z @ 138 NONAME ; void TPhoneCmdParamCallHeaderData::SetContactLink(class TDesC8 const &)
+	??4TPhoneCmdParamQuery@@QAEAAV0@ABV0@@Z @ 139 NONAME ; class TPhoneCmdParamQuery & TPhoneCmdParamQuery::operator=(class TPhoneCmdParamQuery const &)
+	??0TPhoneCmdParamAudioAvailability@@QAE@XZ @ 140 NONAME ; TPhoneCmdParamAudioAvailability::TPhoneCmdParamAudioAvailability(void)
+	?GetBlockedKeyList@CPhoneStorage@@UBEABV?$RArray@H@@XZ @ 141 NONAME ; class RArray<int> const & CPhoneStorage::GetBlockedKeyList(void) const
+	??0TPhoneCmdParamRingTone@@QAE@XZ @ 142 NONAME ; TPhoneCmdParamRingTone::TPhoneCmdParamRingTone(void)
+	?Observer@TPhoneCmdParamNumberEntryObserver@@QAE?AVTCallBack@@XZ @ 143 NONAME ; class TCallBack TPhoneCmdParamNumberEntryObserver::Observer(void)
+	?SetSoftkeys@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 144 NONAME ; void TPhoneCmdParamGlobalNote::SetSoftkeys(int)
+	??0CPhoneResourceResolverBase@@IAE@XZ @ 145 NONAME ; CPhoneResourceResolverBase::CPhoneResourceResolverBase(void)
+	?SetCallId@TPhoneCmdParamCallStateData@@QAEXH@Z @ 146 NONAME ; void TPhoneCmdParamCallStateData::SetCallId(int)
+	?MultipleInstances@TPhoneCmdParamAppInfo@@QBEHXZ @ 147 NONAME ; int TPhoneCmdParamAppInfo::MultipleInstances(void) const
+	?ItemTextArrayForListQuery@TPhoneCmdParamQuery@@QBEPAVMDesC16Array@@XZ @ 148 NONAME ; class MDesC16Array * TPhoneCmdParamQuery::ItemTextArrayForListQuery(void) const
+	?SetHeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 149 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetHeaderText(class TDesC16 const &)
+	?SetContentCba@TPhoneCmdParamQuery@@QAEXH@Z @ 150 NONAME ; void TPhoneCmdParamQuery::SetContentCba(int)
+	?CaptureType@TPhoneCmdParamKeyCapture@@QBE?AW4TPhoneCaptureType@@XZ @ 151 NONAME ; enum TPhoneCaptureType TPhoneCmdParamKeyCapture::CaptureType(void) const
+	?SetQueryResourceId@TPhoneCmdParamQuery@@QAEXH@Z @ 152 NONAME ; void TPhoneCmdParamQuery::SetQueryResourceId(int)
+	?CancelNotify@CPhoneCenRepProxy@@QAEXPAVMPhoneCenRepObserver@@I@Z @ 153 NONAME ; void CPhoneCenRepProxy::CancelNotify(class MPhoneCenRepObserver *, unsigned int)
+	?Param@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 154 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::Param(void) const
+	??0CPhoneMethodLogger@@QAE@W4TPhoneUILoggingComponent@@VTPtrC16@@@Z @ 155 NONAME ; CPhoneMethodLogger::CPhoneMethodLogger(enum TPhoneUILoggingComponent, class TPtrC16)
+	?IsDtmfTone@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 156 NONAME ; int CPhoneKeys::IsDtmfTone(struct TKeyEvent const &, enum TEventCode)
+	?SetMode@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 157 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMode(int)
+	?NewL@CPhoneCallThemeMonitor@@SAPAV1@XZ @ 158 NONAME ; class CPhoneCallThemeMonitor * CPhoneCallThemeMonitor::NewL(void)
+	?SetPhoneNumber@TPhoneCmdParamSpeedDial@@QAEXPAVTPtr16@@@Z @ 159 NONAME ; void TPhoneCmdParamSpeedDial::SetPhoneNumber(class TPtr16 *)
+	?SendKeyEnabled@TPhoneCmdParamQuery@@QBEHXZ @ 160 NONAME ; int TPhoneCmdParamQuery::SendKeyEnabled(void) const
+	?SetNeedToEnableKeylock@CPhoneStorage@@UAEXH@Z @ 161 NONAME ; void CPhoneStorage::SetNeedToEnableKeylock(int)
+	?Find@CPhoneCenRepProxy@@QBEHABVTUid@@KKAAV?$RArray@K@@@Z @ 162 NONAME ; int CPhoneCenRepProxy::Find(class TUid const &, unsigned long, unsigned long, class RArray<unsigned long> &) const
+	?SetLabelText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 163 NONAME ; void TPhoneCmdParamCallHeaderData::SetLabelText(class TDesC16 const &)
+	?CNAPText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 164 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::CNAPText(void) const
+	?SetOwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 165 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetOwnPhoneNumberText(class TDesC16 const &)
+	?Emergency@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 166 NONAME ; int TPhoneCmdParamIncallIndicatorData::Emergency(void) const
+	?AppUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 167 NONAME ; class TUid TPhoneCmdParamAppInfo::AppUid(void) const
+	?CustomMessage@TPhoneCmdParamAppInfo@@QBEABVTDesC8@@XZ @ 168 NONAME ; class TDesC8 const & TPhoneCmdParamAppInfo::CustomMessage(void) const
+	?QueryResourceId@TPhoneCmdParamQuery@@QBEHXZ @ 169 NONAME ; int TPhoneCmdParamQuery::QueryResourceId(void) const
+	?SetRingTone@TPhoneCmdParamRingTone@@QAEXABVTDesC16@@@Z @ 170 NONAME ; void TPhoneCmdParamRingTone::SetRingTone(class TDesC16 const &)
+	?NotifyChangeL@CPhonePubSubProxy@@QAEXABVTUid@@IPAVMPhonePubSubObserver@@@Z @ 171 NONAME ; void CPhonePubSubProxy::NotifyChangeL(class TUid const &, unsigned int, class MPhonePubSubObserver *)
+	?AppendBlockedKeysListL@CPhoneStorage@@UAEXW4TStdScanCode@@@Z @ 172 NONAME ; void CPhoneStorage::AppendBlockedKeysListL(enum TStdScanCode)
+	?SetEmergency@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 173 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetEmergency(int)
+	?SetDefaultCba@TPhoneCmdParamQuery@@QAEXH@Z @ 174 NONAME ; void TPhoneCmdParamQuery::SetDefaultCba(int)
+	?Type@TPhoneCmdParamTransEffect@@QBE?AW4TPhoneTransEffectType@@XZ @ 175 NONAME ; enum TPhoneTransEffectType TPhoneCmdParamTransEffect::Type(void) const
+	??0TPhoneCmdParamSfiData@@QAE@XZ @ 176 NONAME ; TPhoneCmdParamSfiData::TPhoneCmdParamSfiData(void)
+	??0TPhoneCmdParamCallHeaderData@@QAE@XZ @ 177 NONAME ; TPhoneCmdParamCallHeaderData::TPhoneCmdParamCallHeaderData(void)
+	??1CPhoneClearBlacklist@@UAE@XZ @ 178 NONAME ; CPhoneClearBlacklist::~CPhoneClearBlacklist(void)
+	?SetMute@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 179 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetMute(int)
+	?KeyCode@TPhoneCmdParamKeyCapture@@QBE?AW4TKeyCode@@XZ @ 180 NONAME ; enum TKeyCode TPhoneCmdParamKeyCapture::KeyCode(void) const
+	?IsNumberKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 181 NONAME ; int CPhoneKeys::IsNumberKey(struct TKeyEvent const &, enum TEventCode)
+	?TextResourceId@TPhoneCmdParamGlobalNote@@QBEHXZ @ 182 NONAME ; int TPhoneCmdParamGlobalNote::TextResourceId(void) const
+	?SetCiphering@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 183 NONAME ; void TPhoneCmdParamCallHeaderData::SetCiphering(int)
+	?EnablePreconditionL@CPhoneRecoverySystem@@QAEXXZ @ 184 NONAME ; void CPhoneRecoverySystem::EnablePreconditionL(void)
+	?AddL@CPhoneRecoverySystem@@QAEHVTCallBack@@CW4TRecoveryState@CTeleRecoverySystem@@@Z @ 185 NONAME ; int CPhoneRecoverySystem::AddL(class TCallBack, signed char, enum CTeleRecoverySystem::TRecoveryState)
+	?SetLine2@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 186 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLine2(int)
+	?SetAudioOutput@TPhoneCmdParamAudioOutput@@QAEXW4TPEAudioOutput@@@Z @ 187 NONAME ; void TPhoneCmdParamAudioOutput::SetAudioOutput(enum TPEAudioOutput)
+	?HeaderText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 188 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::HeaderText(void) const
+	?CallImageThemeSettings@CPhoneCallThemeMonitor@@QBEHXZ @ 189 NONAME ; int CPhoneCallThemeMonitor::CallImageThemeSettings(void) const
+	?SetLocation@TPhoneCmdParamSpeedDial@@QAEXH@Z @ 190 NONAME ; void TPhoneCmdParamSpeedDial::SetLocation(int)
+	??0TPhoneCmdParamTransEffect@@QAE@XZ @ 191 NONAME ; TPhoneCmdParamTransEffect::TPhoneCmdParamTransEffect(void)
+	?Number@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 192 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Number(void) const
+	?OwnPhoneNumberText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 193 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::OwnPhoneNumberText(void) const
+	?QueryPrompt@TPhoneCmdParamQuery@@QBEABVTDesC16@@XZ @ 194 NONAME ; class TDesC16 const & TPhoneCmdParamQuery::QueryPrompt(void) const
+	?NewL@CPhoneQwertyHandler@@SAPAV1@XZ @ 195 NONAME ; class CPhoneQwertyHandler * CPhoneQwertyHandler::NewL(void)
+	?SetQueryPrompt@TPhoneCmdParamQuery@@QAEXABVTDesC16@@@Z @ 196 NONAME ; void TPhoneCmdParamQuery::SetQueryPrompt(class TDesC16 const &)
+	?IsNumericKey@CPhoneKeys@@SAHABUTKeyEvent@@W4TEventCode@@@Z @ 197 NONAME ; int CPhoneKeys::IsNumericKey(struct TKeyEvent const &, enum TEventCode)
+	?SetCaptureType@TPhoneCmdParamKeyCapture@@QAEXW4TPhoneCaptureType@@@Z @ 198 NONAME ; void TPhoneCmdParamKeyCapture::SetCaptureType(enum TPhoneCaptureType)
+	?ViewUid@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 199 NONAME ; class TUid TPhoneCmdParamAppInfo::ViewUid(void) const
+	?SetLabelText@TPhoneCmdParamEmergencyCallHeaderData@@QAEXABVTDesC16@@@Z @ 200 NONAME ; void TPhoneCmdParamEmergencyCallHeaderData::SetLabelText(class TDesC16 const &)
+	??0TPhoneCmdParamSpeedDial@@QAE@XZ @ 201 NONAME ; TPhoneCmdParamSpeedDial::TPhoneCmdParamSpeedDial(void)
+	?IsCallerText@TPhoneCmdParamRingTone@@QAEHXZ @ 202 NONAME ; int TPhoneCmdParamRingTone::IsCallerText(void)
+	?SetBitmap@TPhoneCmdParamBitmap@@QAEXPAVCFbsBitmap@@@Z @ 203 NONAME ; void TPhoneCmdParamBitmap::SetBitmap(class CFbsBitmap *)
+	?SetNumber@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 204 NONAME ; void TPhoneCmdParamSfiData::SetNumber(class TDesC16 const &)
+	?Location@TPhoneCmdParamSpeedDial@@QAEHXZ @ 205 NONAME ; int TPhoneCmdParamSpeedDial::Location(void)
+	?CipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 206 NONAME ; int TPhoneCmdParamCallHeaderData::CipheringIndicatorAllowed(void) const
+	?Name@TPhoneCmdParamSfiData@@QBEABVTDesC16@@XZ @ 207 NONAME ; class TDesC16 const & TPhoneCmdParamSfiData::Name(void) const
+	??0TPhoneCmdParamQuery@@QAE@ABV0@@Z @ 208 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(class TPhoneCmdParamQuery const &)
+	?CallState@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 209 NONAME ; int TPhoneCmdParamCallHeaderData::CallState(void) const
+	??0TPhoneCmdParamIncallIndicatorData@@QAE@XZ @ 210 NONAME ; TPhoneCmdParamIncallIndicatorData::TPhoneCmdParamIncallIndicatorData(void)
+	?Picture@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 211 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::Picture(void) const
+	?SetCallThemeSettingsObserver@CPhoneCallThemeMonitor@@QAEXPAVMPhoneCallThemeSettingsObserver@@@Z @ 212 NONAME ; void CPhoneCallThemeMonitor::SetCallThemeSettingsObserver(class MPhoneCallThemeSettingsObserver *)
+	?SetDiverted@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 213 NONAME ; void TPhoneCmdParamCallHeaderData::SetDiverted(int)
+	?ServiceId@TPhoneCmdParamCallHeaderData@@QBEKXZ @ 214 NONAME ; unsigned long TPhoneCmdParamCallHeaderData::ServiceId(void) const
+	?LabelText@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 215 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::LabelText(void) const
+	?Overflow@CPhoneLogger@@EAEXAAVTDes16@@@Z @ 216 NONAME ; void CPhoneLogger::Overflow(class TDes16 &)
+	?SetCNAPText@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@W4TPhoneTextClippingDirection@1@@Z @ 217 NONAME ; void TPhoneCmdParamCallHeaderData::SetCNAPText(class TDesC16 const &, enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection)
+	?SetServiceId@TPhoneCmdParamSpeedDial@@QAEXI@Z @ 218 NONAME ; void TPhoneCmdParamSpeedDial::SetServiceId(unsigned int)
+	?SetKeyEvent@TPhoneCmdParamKeyEvent@@QAEXABUTKeyEvent@@@Z @ 219 NONAME ; void TPhoneCmdParamKeyEvent::SetKeyEvent(struct TKeyEvent const &)
+	?Instance@CPhonePubSubProxy@@SAPAV1@XZ @ 220 NONAME ; class CPhonePubSubProxy * CPhonePubSubProxy::Instance(void)
+	?ResourceId@TPhoneCmdParamNote@@QBEHXZ @ 221 NONAME ; int TPhoneCmdParamNote::ResourceId(void) const
+	?CipheringIndicatorAllowed@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 222 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::CipheringIndicatorAllowed(void) const
+	?CancelAllNotifies@CPhoneCenRepProxy@@SAXPAVMPhoneCenRepObserver@@@Z @ 223 NONAME ; void CPhoneCenRepProxy::CancelAllNotifies(class MPhoneCenRepObserver *)
+	??1CPhoneQwertyHandler@@UAE@XZ @ 224 NONAME ; CPhoneQwertyHandler::~CPhoneQwertyHandler(void)
+	?TextResourceId@TPhoneCmdParamNote@@QBEHXZ @ 225 NONAME ; int TPhoneCmdParamNote::TextResourceId(void) const
+	?SetRemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 226 NONAME ; void TPhoneCmdParamCallHeaderData::SetRemotePhoneNumber(class TDesC16 const &)
+	?CipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 227 NONAME ; int TPhoneCmdParamIncallIndicatorData::CipheringIndicatorAllowed(void) const
+	?SetScreenLocked@CPhoneStorage@@UAEXH@Z @ 228 NONAME ; void CPhoneStorage::SetScreenLocked(int)
+	??0TPhoneCmdParamCallStateData@@QAE@XZ @ 229 NONAME ; TPhoneCmdParamCallStateData::TPhoneCmdParamCallStateData(void)
+	?SetKeyCode@TPhoneCmdParamKeyCapture@@QAEXW4TKeyCode@@@Z @ 230 NONAME ; void TPhoneCmdParamKeyCapture::SetKeyCode(enum TKeyCode)
+	?CustomMessageId@TPhoneCmdParamAppInfo@@QBE?AVTUid@@XZ @ 231 NONAME ; class TUid TPhoneCmdParamAppInfo::CustomMessageId(void) const
+	?RemotePhoneNumber@TPhoneCmdParamCallHeaderData@@QBEABVTDesC16@@XZ @ 232 NONAME ; class TDesC16 const & TPhoneCmdParamCallHeaderData::RemotePhoneNumber(void) const
+	?SetType@TPhoneCmdParamNote@@QAEXW4TPhoneNoteType@@@Z @ 233 NONAME ; void TPhoneCmdParamNote::SetType(enum TPhoneNoteType)
+	?Instance@CPhoneClearBlacklist@@SAPAV1@XZ @ 234 NONAME ; class CPhoneClearBlacklist * CPhoneClearBlacklist::Instance(void)
+	?TextToSay@TPhoneCmdParamRingTone@@QBEABVTDesC16@@XZ @ 235 NONAME ; class TDesC16 const & TPhoneCmdParamRingTone::TextToSay(void) const
+	?Type@TPhoneCmdParamNote@@QBE?AW4TPhoneNoteType@@XZ @ 236 NONAME ; enum TPhoneNoteType TPhoneCmdParamNote::Type(void) const
+	?SetPicture@TPhoneCmdParamCallHeaderData@@QAEXABVTDesC16@@@Z @ 237 NONAME ; void TPhoneCmdParamCallHeaderData::SetPicture(class TDesC16 const &)
+	?Integer@TPhoneCmdParamInteger@@QBEHXZ @ 238 NONAME ; int TPhoneCmdParamInteger::Integer(void) const
+	?Mode@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 239 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mode(void) const
+	?SetText@TPhoneCmdParamNote@@QAEXABVTDesC16@@@Z @ 240 NONAME ; void TPhoneCmdParamNote::SetText(class TDesC16 const &)
+	?SetCallerTextStatus@TPhoneCmdParamRingTone@@QAEXH@Z @ 241 NONAME ; void TPhoneCmdParamRingTone::SetCallerTextStatus(int)
+	?IsWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QBEHXZ @ 242 NONAME ; int TPhoneCmdParamAudioAvailability::IsWiredAccAvailable(void) const
+	?SetWaitForReady@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 243 NONAME ; void TPhoneCmdParamGlobalNote::SetWaitForReady(int)
+	??0TPhoneCmdParamBoolean@@QAE@XZ @ 244 NONAME ; TPhoneCmdParamBoolean::TPhoneCmdParamBoolean(void)
+	?QueryCommandObserver@TPhoneCmdParamQuery@@QAEPAVMPhoneQueryCommandObserver@@XZ @ 245 NONAME ; class MPhoneQueryCommandObserver * TPhoneCmdParamQuery::QueryCommandObserver(void)
+	?DataText@TPhoneCmdParamQuery@@QBEPAVTDes16@@XZ @ 246 NONAME ; class TDes16 * TPhoneCmdParamQuery::DataText(void) const
+	?SetReal@CPhoneCenRepProxy@@QAEHABVTUid@@IN@Z @ 247 NONAME ; int CPhoneCenRepProxy::SetReal(class TUid const &, unsigned int, double)
+	??0TPhoneCmdParamCustomDialer@@QAE@XZ @ 248 NONAME ; TPhoneCmdParamCustomDialer::TPhoneCmdParamCustomDialer(void)
+	??1CPhonePubSubProxy@@UAE@XZ @ 249 NONAME ; CPhonePubSubProxy::~CPhonePubSubProxy(void)
+	?NumericKeyCode@CPhoneQwertyHandler@@QAEHABUTKeyEvent@@@Z @ 250 NONAME ; int CPhoneQwertyHandler::NumericKeyCode(struct TKeyEvent const &)
+	??0TPhoneCmdParamNote@@QAE@XZ @ 251 NONAME ; TPhoneCmdParamNote::TPhoneCmdParamNote(void)
+	?Volume@TPhoneCmdParamRingTone@@QBEHXZ @ 252 NONAME ; int TPhoneCmdParamRingTone::Volume(void) const
+	?SetItemTextArrayForListQuery@TPhoneCmdParamQuery@@QAEXAAVMDesC16Array@@@Z @ 253 NONAME ; void TPhoneCmdParamQuery::SetItemTextArrayForListQuery(class MDesC16Array &)
+	?Type@TPhoneCmdParamRingTone@@QBE?AW4TPhoneRingToneType@@XZ @ 254 NONAME ; enum TPhoneRingToneType TPhoneCmdParamRingTone::Type(void) const
+	?Key@TPhoneCmdParamKeyCapture@@QBE?AW4TStdScanCode@@XZ @ 255 NONAME ; enum TStdScanCode TPhoneCmdParamKeyCapture::Key(void) const
+	?LabelText@TPhoneCmdParamEmergencyCallHeaderData@@QBEABVTDesC16@@XZ @ 256 NONAME ; class TDesC16 const & TPhoneCmdParamEmergencyCallHeaderData::LabelText(void) const
+	?Ciphering@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 257 NONAME ; int TPhoneCmdParamIncallIndicatorData::Ciphering(void) const
+	?SetQueryCommandObserver@TPhoneCmdParamQuery@@QAEXAAVMPhoneQueryCommandObserver@@@Z @ 258 NONAME ; void TPhoneCmdParamQuery::SetQueryCommandObserver(class MPhoneQueryCommandObserver &)
+	?IsPhoneUIFeatureSupported@CPhoneCenRepProxy@@QAEHH@Z @ 259 NONAME ; int CPhoneCenRepProxy::IsPhoneUIFeatureSupported(int)
+	?DefaultCba@TPhoneCmdParamQuery@@QBEHXZ @ 260 NONAME ; int TPhoneCmdParamQuery::DefaultCba(void) const
+	?CallState@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 261 NONAME ; int TPhoneCmdParamIncallIndicatorData::CallState(void) const
+	??0TPhoneCmdParamNumberEntryObserver@@QAE@XZ @ 262 NONAME ; TPhoneCmdParamNumberEntryObserver::TPhoneCmdParamNumberEntryObserver(void)
+	?SetLine2@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 263 NONAME ; void TPhoneCmdParamCallHeaderData::SetLine2(int)
+	?FetchValuesFromCenRepL@CPhoneCenRepProxy@@QAEXAAVTPhoneCmdParamAppInfo@@W4TKeyCode@@PAVHBufC8@@AAH@Z @ 264 NONAME ; void CPhoneCenRepProxy::FetchValuesFromCenRepL(class TPhoneCmdParamAppInfo &, enum TKeyCode, class HBufC8 *, int &)
+	?ParticipantCLI@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneParticipantListCLI@1@XZ @ 265 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneParticipantListCLI TPhoneCmdParamCallHeaderData::ParticipantCLI(void) const
+	?Thumbnail@TPhoneCmdParamCallHeaderData@@QBEPAVCFbsBitmap@@XZ @ 266 NONAME ; class CFbsBitmap * TPhoneCmdParamCallHeaderData::Thumbnail(void) const
+	?SetTimeOut@TPhoneCmdParamQuery@@QAEXH@Z @ 267 NONAME ; void TPhoneCmdParamQuery::SetTimeOut(int)
+	?Boolean@TPhoneCmdParamBoolean@@QBEHXZ @ 268 NONAME ; int TPhoneCmdParamBoolean::Boolean(void) const
+	?CLITextClippingDirection@TPhoneCmdParamCallHeaderData@@QBE?AW4TPhoneTextClippingDirection@1@XZ @ 269 NONAME ; enum TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection TPhoneCmdParamCallHeaderData::CLITextClippingDirection(void) const
+	?LogMsgFromPhoneUIToPE@CPhoneLogger@@QAEXHH@Z @ 270 NONAME ; void CPhoneLogger::LogMsgFromPhoneUIToPE(int, int)
+	?SetCustomMessageId@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 271 NONAME ; void TPhoneCmdParamAppInfo::SetCustomMessageId(class TUid const &)
+	?ResolveResourceID@CPhoneResourceResolverBase@@UBEHABH@Z @ 272 NONAME ; int CPhoneResourceResolverBase::ResolveResourceID(int const &) const
+	?SetName@TPhoneCmdParamSfiData@@QAEXABVTDesC16@@@Z @ 273 NONAME ; void TPhoneCmdParamSfiData::SetName(class TDesC16 const &)
+	?SetType@TPhoneCmdParamGlobalNote@@QAEXW4TAknGlobalNoteType@@@Z @ 274 NONAME ; void TPhoneCmdParamGlobalNote::SetType(enum TAknGlobalNoteType)
+	?SetLittleBubbleVisible@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 275 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetLittleBubbleVisible(int)
+	?Ciphering@TPhoneCmdParamCallHeaderData@@QBEHXZ @ 276 NONAME ; int TPhoneCmdParamCallHeaderData::Ciphering(void) const
+	?SetType@TPhoneCmdParamRingTone@@QAEXW4TPhoneRingToneType@@@Z @ 277 NONAME ; void TPhoneCmdParamRingTone::SetType(enum TPhoneRingToneType)
+	?ResourceId@TPhoneCmdParamDynMenu@@QBEHXZ @ 278 NONAME ; int TPhoneCmdParamDynMenu::ResourceId(void) const
+	?SetCipheringIndicatorAllowed@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 279 NONAME ; void TPhoneCmdParamCallHeaderData::SetCipheringIndicatorAllowed(int)
+	?SetWaitTime@TPhoneCmdParamProgressNote@@QAEXVTTimeIntervalMicroSeconds32@@@Z @ 280 NONAME ; void TPhoneCmdParamProgressNote::SetWaitTime(class TTimeIntervalMicroSeconds32)
+	?Ciphering@TPhoneCmdParamEmergencyCallHeaderData@@QBEHXZ @ 281 NONAME ; int TPhoneCmdParamEmergencyCallHeaderData::Ciphering(void) const
+	??1CPhoneCallThemeMonitor@@UAE@XZ @ 282 NONAME ; CPhoneCallThemeMonitor::~CPhoneCallThemeMonitor(void)
+	?SetNumberType@TPhoneCmdParamCallHeaderData@@QAEXH@Z @ 283 NONAME ; void TPhoneCmdParamCallHeaderData::SetNumberType(int)
+	?Mute@TPhoneCmdParamIncallIndicatorData@@QBEHXZ @ 284 NONAME ; int TPhoneCmdParamIncallIndicatorData::Mute(void) const
+	?IsQwertyInput@CPhoneQwertyHandler@@QBEHXZ @ 285 NONAME ; int CPhoneQwertyHandler::IsQwertyInput(void) const
+	?SetBoolean@TPhoneCmdParamBoolean@@QAEXH@Z @ 286 NONAME ; void TPhoneCmdParamBoolean::SetBoolean(int)
+	?IsTelephonyFeatureSupported@CPhoneResourceResolverBase@@MBEHH@Z @ 287 NONAME ; int CPhoneResourceResolverBase::IsTelephonyFeatureSupported(int) const
+	?Instance@CPhoneMainErrorMessagesHandler@@SAPAV1@XZ @ 288 NONAME ; class CPhoneMainErrorMessagesHandler * CPhoneMainErrorMessagesHandler::Instance(void)
+	?SetViewUid@TPhoneCmdParamAppInfo@@QAEXABVTUid@@@Z @ 289 NONAME ; void TPhoneCmdParamAppInfo::SetViewUid(class TUid const &)
+	?SetServiceId@TPhoneCmdParamCallHeaderData@@QAEXK@Z @ 290 NONAME ; void TPhoneCmdParamCallHeaderData::SetServiceId(unsigned long)
+	?Instance@CPhoneCenRepProxy@@SAPAV1@XZ @ 291 NONAME ; class CPhoneCenRepProxy * CPhoneCenRepProxy::Instance(void)
+	?SetQueryType@TPhoneCmdParamQuery@@QAEXW4TPhoneQueryType@@@Z @ 292 NONAME ; void TPhoneCmdParamQuery::SetQueryType(enum TPhoneQueryType)
+	?Value@CPhonePubSubProxy@@QAEHABVTUid@@I@Z @ 293 NONAME ; int CPhonePubSubProxy::Value(class TUid const &, unsigned int)
+	?SetWiredAccAvailable@TPhoneCmdParamAudioAvailability@@QAEXH@Z @ 294 NONAME ; void TPhoneCmdParamAudioAvailability::SetWiredAccAvailable(int)
+	??0TPhoneCmdParamAudioOutput@@QAE@XZ @ 295 NONAME ; TPhoneCmdParamAudioOutput::TPhoneCmdParamAudioOutput(void)
+	?IsCallerImage@TPhoneCmdParamRingTone@@QAEHXZ @ 296 NONAME ; int TPhoneCmdParamRingTone::IsCallerImage(void)
+	??0TPhoneCmdParamQuery@@QAE@XZ @ 297 NONAME ; TPhoneCmdParamQuery::TPhoneCmdParamQuery(void)
+	?Instance@CPhoneMainResourceResolver@@SAPAV1@XZ @ 298 NONAME ; class CPhoneMainResourceResolver * CPhoneMainResourceResolver::Instance(void)
+	?ServiceId@TPhoneCmdParamSpeedDial@@QBEIXZ @ 299 NONAME ; unsigned int TPhoneCmdParamSpeedDial::ServiceId(void) const
+	??1CPhoneLibraryContainer@@UAE@XZ @ 300 NONAME ; CPhoneLibraryContainer::~CPhoneLibraryContainer(void)
+	?ClearBlackListOnNextKey@CPhoneClearBlacklist@@QAEXXZ @ 301 NONAME ; void CPhoneClearBlacklist::ClearBlackListOnNextKey(void)
+	?Tone@TPhoneCmdParamQuery@@QBEHXZ @ 302 NONAME ; int TPhoneCmdParamQuery::Tone(void) const
+	?SetNumberType@TPhoneCmdParamSpeedDial@@QAEXW4TPhoneNumberType@@@Z @ 303 NONAME ; void TPhoneCmdParamSpeedDial::SetNumberType(enum TPhoneNumberType)
+	?SetRingingType@TPhoneCmdParamRingTone@@QAEXH@Z @ 304 NONAME ; void TPhoneCmdParamRingTone::SetRingingType(int)
+	?SetCiphering@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 305 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCiphering(int)
+	?SetCipheringIndicatorAllowed@TPhoneCmdParamIncallIndicatorData@@QAEXH@Z @ 306 NONAME ; void TPhoneCmdParamIncallIndicatorData::SetCipheringIndicatorAllowed(int)
+	?NeedToEnableKeylock@CPhoneStorage@@UAEHXZ @ 307 NONAME ; int CPhoneStorage::NeedToEnableKeylock(void)
+	?AudioOutput@TPhoneCmdParamAudioOutput@@QBE?AW4TPEAudioOutput@@XZ @ 308 NONAME ; enum TPEAudioOutput TPhoneCmdParamAudioOutput::AudioOutput(void) const
+	?SetResourceId@TPhoneCmdParamProgressNote@@QAEXH@Z @ 309 NONAME ; void TPhoneCmdParamProgressNote::SetResourceId(int)
+	??0TPhoneCmdParamInteger@@QAE@XZ @ 310 NONAME ; TPhoneCmdParamInteger::TPhoneCmdParamInteger(void)
+	?SetType@TPhoneCmdParamTransEffect@@QAEXW4TPhoneTransEffectType@@@Z @ 311 NONAME ; void TPhoneCmdParamTransEffect::SetType(enum TPhoneTransEffectType)
+	?Bitmap@TPhoneCmdParamBitmap@@QBEPAVCFbsBitmap@@XZ @ 312 NONAME ; class CFbsBitmap * TPhoneCmdParamBitmap::Bitmap(void) const
+	?SetTone@TPhoneCmdParamGlobalNote@@QAEXH@Z @ 313 NONAME ; void TPhoneCmdParamGlobalNote::SetTone(int)
+	?After@CPhoneTimer@@QAEXVTTimeIntervalMicroSeconds32@@VTCallBack@@@Z @ 314 NONAME ; void CPhoneTimer::After(class TTimeIntervalMicroSeconds32, class TCallBack)
 
--- a/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/eabi/phoneuiutilsu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -216,228 +216,204 @@
 	_ZN27TPhoneCmdParamCallStateData9SetCallIdEi @ 215 NONAME
 	_ZN27TPhoneCmdParamCallStateDataC1Ev @ 216 NONAME
 	_ZN27TPhoneCmdParamCallStateDataC2Ev @ 217 NONAME
-	_ZN27TPhoneCmdParamMessageEditor14SetMessageDataEP12CMessageData @ 218 NONAME
-	_ZN27TPhoneCmdParamMessageEditorC1Ev @ 219 NONAME
-	_ZN27TPhoneCmdParamMessageEditorC2Ev @ 220 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData10SetCLITextERK7TDesC16N14CBubbleManager23TPhoneClippingDirectionE @ 221 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData10SetPictureERK7TDesC16 @ 222 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11AddCallFlagEN14CBubbleManager19TPhoneCallTypeFlagsE @ 223 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11SetCNAPTextERK7TDesC16N14CBubbleManager23TPhoneClippingDirectionE @ 224 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11SetCallFlagEN14CBubbleManager19TPhoneCallTypeFlagsE @ 225 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData11SetCallTypeEi @ 226 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetCallStateEi @ 227 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetCipheringEi @ 228 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetLabelTextERK7TDesC16 @ 229 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetServiceIdEm @ 230 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData12SetThumbnailEP10CFbsBitmap @ 231 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData13SetCallerTextERK7TDesC16 @ 232 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData13SetNumberTypeEi @ 233 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData14SetContactLinkERK6TDesC8 @ 234 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData15SetHasThumbnailEi @ 235 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData17SetShortLabelTextERK7TDesC16 @ 236 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData20SetRemotePhoneNumberERK7TDesC16 @ 237 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData21SetParticipantListCLIENS_24TPhoneParticipantListCLIE @ 238 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData28SetCipheringIndicatorAllowedEi @ 239 NONAME
-	_ZN28TPhoneCmdParamCallHeaderData8SetLine2Ei @ 240 NONAME
-	_ZN28TPhoneCmdParamCallHeaderDataC1Ev @ 241 NONAME
-	_ZN28TPhoneCmdParamCallHeaderDataC2Ev @ 242 NONAME
-	_ZN28TPhoneCmdParamReconnectQuery14SetPhoneNumberE7TPtrC16 @ 243 NONAME
-	_ZN28TPhoneCmdParamReconnectQuery17SetContactMatcherEP13CPhCntMatcher @ 244 NONAME
-	_ZN28TPhoneCmdParamReconnectQuery21SetIncludeVideoOptionEi @ 245 NONAME
-	_ZN28TPhoneCmdParamReconnectQueryC1ER27MCaUiReconnectQueryObserver @ 246 NONAME
-	_ZN28TPhoneCmdParamReconnectQueryC2ER27MCaUiReconnectQueryObserver @ 247 NONAME
-	_ZN29TPhoneCmdParamSingleItemFetch16SetCbaResourceIdEi @ 248 NONAME
-	_ZN29TPhoneCmdParamSingleItemFetch22SetTitlePaneResourceIdEi @ 249 NONAME
-	_ZN29TPhoneCmdParamSingleItemFetch4TypeEv @ 250 NONAME
-	_ZN29TPhoneCmdParamSingleItemFetch7SetTypeEN21CPhCntSingleItemFetch10TFetchTypeE @ 251 NONAME
-	_ZN29TPhoneCmdParamSingleItemFetch9SetStringEP6TDes16 @ 252 NONAME
-	_ZN29TPhoneCmdParamSingleItemFetchC1Ev @ 253 NONAME
-	_ZN29TPhoneCmdParamSingleItemFetchC2Ev @ 254 NONAME
-	_ZN30CPhoneMainErrorMessagesHandler8InstanceEv @ 255 NONAME
-	_ZN31TPhoneCmdParamAudioAvailability17SetBTAccAvailableEi @ 256 NONAME
-	_ZN31TPhoneCmdParamAudioAvailability20SetWiredAccAvailableEi @ 257 NONAME
-	_ZN31TPhoneCmdParamAudioAvailabilityC1Ev @ 258 NONAME
-	_ZN31TPhoneCmdParamAudioAvailabilityC2Ev @ 259 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData12SetCallStateEi @ 260 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData12SetCipheringEi @ 261 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData12SetEmergencyEi @ 262 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData22SetLittleBubbleVisibleEi @ 263 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData28SetCipheringIndicatorAllowedEi @ 264 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData7SetModeEi @ 265 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData7SetMuteEi @ 266 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorData8SetLine2Ei @ 267 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorDataC1Ev @ 268 NONAME
-	_ZN33TPhoneCmdParamIncallIndicatorDataC2Ev @ 269 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserver11SetObserverE9TCallBack @ 270 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserver8ObserverEv @ 271 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserverC1Ev @ 272 NONAME
-	_ZN33TPhoneCmdParamNumberEntryObserverC2Ev @ 273 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetCipheringEi @ 274 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetLabelTextERK7TDesC16 @ 275 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData13SetHeaderTextERK7TDesC16 @ 276 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData21SetOwnPhoneNumberTextERK7TDesC16 @ 277 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderData28SetCipheringIndicatorAllowedEi @ 278 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC1Ev @ 279 NONAME
-	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC2Ev @ 280 NONAME
-	_ZNK13CPhoneStorage17GetBlockedKeyListEv @ 281 NONAME
-	_ZNK17CPhoneCenRepProxy4FindERK4TUidmmR6RArrayImE @ 282 NONAME
-	_ZNK17CPhoneCenRepProxy6GetIntERK4TUidjRi @ 283 NONAME
-	_ZNK17CPhoneCenRepProxy7GetRealERK4TUidjRd @ 284 NONAME
-	_ZNK17CPhoneCenRepProxy9GetStringERK4TUidjR6TDes16 @ 285 NONAME
-	_ZNK18TPhoneCmdParamNote10ResourceIdEv @ 286 NONAME
-	_ZNK18TPhoneCmdParamNote14TextResourceIdEv @ 287 NONAME
-	_ZNK18TPhoneCmdParamNote4TextEv @ 288 NONAME
-	_ZNK18TPhoneCmdParamNote4ToneEv @ 289 NONAME
-	_ZNK18TPhoneCmdParamNote4TypeEv @ 290 NONAME
-	_ZNK18TPhoneCmdParamNote7TimeoutEv @ 291 NONAME
-	_ZNK18TPhoneCommandParam7ParamIdEv @ 292 NONAME
-	_ZNK19CPhoneQwertyHandler13IsQwertyInputEv @ 293 NONAME
-	_ZNK19TPhoneCmdParamQuery10ContentCbaEv @ 294 NONAME
-	_ZNK19TPhoneCmdParamQuery10DefaultCbaEv @ 295 NONAME
-	_ZNK19TPhoneCmdParamQuery11QueryPromptEv @ 296 NONAME
-	_ZNK19TPhoneCmdParamQuery14SendKeyEnabledEv @ 297 NONAME
-	_ZNK19TPhoneCmdParamQuery15QueryResourceIdEv @ 298 NONAME
-	_ZNK19TPhoneCmdParamQuery17CbaCommandMappingEi @ 299 NONAME
-	_ZNK19TPhoneCmdParamQuery25ItemTextArrayForListQueryEv @ 300 NONAME
-	_ZNK19TPhoneCmdParamQuery26GetCustomCommandForTimeOutERi @ 301 NONAME
-	_ZNK19TPhoneCmdParamQuery4ToneEv @ 302 NONAME
-	_ZNK19TPhoneCmdParamQuery7TimeOutEv @ 303 NONAME
-	_ZNK19TPhoneCmdParamQuery8DataTextEv @ 304 NONAME
-	_ZNK19TPhoneCmdParamQuery9QueryTypeEv @ 305 NONAME
-	_ZNK20TPhoneCmdParamBitmap10MaskBitmapEv @ 306 NONAME
-	_ZNK20TPhoneCmdParamBitmap6BitmapEv @ 307 NONAME
-	_ZNK21TPhoneCmdParamAppInfo13CustomMessageEv @ 308 NONAME
-	_ZNK21TPhoneCmdParamAppInfo15CustomMessageIdEv @ 309 NONAME
-	_ZNK21TPhoneCmdParamAppInfo17MultipleInstancesEv @ 310 NONAME
-	_ZNK21TPhoneCmdParamAppInfo5ParamEv @ 311 NONAME
-	_ZNK21TPhoneCmdParamAppInfo6AppUidEv @ 312 NONAME
-	_ZNK21TPhoneCmdParamAppInfo7ViewUidEv @ 313 NONAME
-	_ZNK21TPhoneCmdParamBoolean7BooleanEv @ 314 NONAME
-	_ZNK21TPhoneCmdParamDynMenu10ResourceIdEv @ 315 NONAME
-	_ZNK21TPhoneCmdParamInteger7IntegerEv @ 316 NONAME
-	_ZNK21TPhoneCmdParamPointer7PointerEv @ 317 NONAME
-	_ZNK21TPhoneCmdParamSfiData4NameEv @ 318 NONAME
-	_ZNK21TPhoneCmdParamSfiData6NumberEv @ 319 NONAME
-	_ZNK22CPhoneCallThemeMonitor22CallImageThemeFilePathEv @ 320 NONAME
-	_ZNK22CPhoneCallThemeMonitor22CallImageThemeSettingsEv @ 321 NONAME
-	_ZNK22TPhoneCmdParamKeyEvent8KeyEventEv @ 322 NONAME
-	_ZNK22TPhoneCmdParamKeyEvent9EventCodeEv @ 323 NONAME
-	_ZNK22TPhoneCmdParamRingTone11RingingTypeEv @ 324 NONAME
-	_ZNK22TPhoneCmdParamRingTone4TypeEv @ 325 NONAME
-	_ZNK22TPhoneCmdParamRingTone6VolumeEv @ 326 NONAME
-	_ZNK22TPhoneCmdParamRingTone8RingToneEv @ 327 NONAME
-	_ZNK22TPhoneCmdParamRingTone9TextToSayEv @ 328 NONAME
-	_ZNK23TPhoneCmdParamSpeedDial9ServiceIdEv @ 329 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote12WaitForReadyEv @ 330 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote14TextResourceIdEv @ 331 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote4TextEv @ 332 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote4ToneEv @ 333 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote4TypeEv @ 334 NONAME
-	_ZNK24TPhoneCmdParamGlobalNote8SoftkeysEv @ 335 NONAME
-	_ZNK24TPhoneCmdParamKeyCapture11CaptureTypeEv @ 336 NONAME
-	_ZNK24TPhoneCmdParamKeyCapture3KeyEv @ 337 NONAME
-	_ZNK24TPhoneCmdParamKeyCapture7KeyCodeEv @ 338 NONAME
-	_ZNK25TPhoneCmdParamAudioOutput11AudioOutputEv @ 339 NONAME
-	_ZNK25TPhoneCmdParamTransEffect4TypeEv @ 340 NONAME
-	_ZNK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 341 NONAME
-	_ZNK26CPhoneResourceResolverBase27IsTelephonyFeatureSupportedEi @ 342 NONAME
-	_ZNK26TPhoneCmdParamProgressNote10ResourceIdEv @ 343 NONAME
-	_ZNK26TPhoneCmdParamProgressNote8WaitTimeEv @ 344 NONAME
-	_ZNK27TPhoneCmdParamCallStateData6CallIdEv @ 345 NONAME
-	_ZNK27TPhoneCmdParamCallStateData9CallStateEv @ 346 NONAME
-	_ZNK27TPhoneCmdParamMessageEditor11MessageDataEv @ 347 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData10CallerTextEv @ 348 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData10NumberTypeEv @ 349 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData11ContactLinkEv @ 350 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData12HasThumbnailEv @ 351 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData14ParticipantCLIEv @ 352 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData14ShortLabelTextEv @ 353 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData17RemotePhoneNumberEv @ 354 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData24CLITextClippingDirectionEv @ 355 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData25CNAPTextClippingDirectionEv @ 356 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData25CipheringIndicatorAllowedEv @ 357 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData5Line2Ev @ 358 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData7CLITextEv @ 359 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData7PictureEv @ 360 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData8CNAPTextEv @ 361 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData8CallFlagEv @ 362 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData8CallTypeEv @ 363 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9CallStateEv @ 364 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9CipheringEv @ 365 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9LabelTextEv @ 366 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9ServiceIdEv @ 367 NONAME
-	_ZNK28TPhoneCmdParamCallHeaderData9ThumbnailEv @ 368 NONAME
-	_ZNK28TPhoneCmdParamReconnectQuery11PhoneNumberEv @ 369 NONAME
-	_ZNK28TPhoneCmdParamReconnectQuery14ContactMatcherEv @ 370 NONAME
-	_ZNK28TPhoneCmdParamReconnectQuery22IncludeVideoCallOptionEv @ 371 NONAME
-	_ZNK28TPhoneCmdParamReconnectQuery22ReconnectQueryObserverEv @ 372 NONAME
-	_ZNK29TPhoneCmdParamSingleItemFetch13CbaResourceIdEv @ 373 NONAME
-	_ZNK29TPhoneCmdParamSingleItemFetch19TitlePaneResourceIdEv @ 374 NONAME
-	_ZNK29TPhoneCmdParamSingleItemFetch6StringEv @ 375 NONAME
-	_ZNK31TPhoneCmdParamAudioAvailability16IsBTAccAvailableEv @ 376 NONAME
-	_ZNK31TPhoneCmdParamAudioAvailability19IsWiredAccAvailableEv @ 377 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData19LittleBubbleVisibleEv @ 378 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData25CipheringIndicatorAllowedEv @ 379 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData4ModeEv @ 380 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData4MuteEv @ 381 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData5Line2Ev @ 382 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData9CallStateEv @ 383 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData9CipheringEv @ 384 NONAME
-	_ZNK33TPhoneCmdParamIncallIndicatorData9EmergencyEv @ 385 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData10HeaderTextEv @ 386 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData18OwnPhoneNumberTextEv @ 387 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData25CipheringIndicatorAllowedEv @ 388 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9CipheringEv @ 389 NONAME
-	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9LabelTextEv @ 390 NONAME
-	_ZTI11CPhoneTimer @ 391 NONAME
-	_ZTI12CPhoneLogger @ 392 NONAME
-	_ZTI13CPhoneStorage @ 393 NONAME
-	_ZTI17CPhoneCenRepProxy @ 394 NONAME
-	_ZTI17CPhonePubSubProxy @ 395 NONAME
-	_ZTI18CPhoneMethodLogger @ 396 NONAME
-	_ZTI19CPhoneQwertyHandler @ 397 NONAME
-	_ZTI20CPhoneClearBlacklist @ 398 NONAME
-	_ZTI20CPhoneRecoverySystem @ 399 NONAME
-	_ZTI22CPhoneCallThemeMonitor @ 400 NONAME
-	_ZTI22CPhoneLibraryContainer @ 401 NONAME
-	_ZTI23CPhoneQwertyModeMonitor @ 402 NONAME
-	_ZTI24CPhoneCenRepEventHandler @ 403 NONAME
-	_ZTI24CPhoneLangSettingMonitor @ 404 NONAME
-	_ZTI25CPhonePublishSubscriberAO @ 405 NONAME
-	_ZTI26CPhoneMainResourceResolver @ 406 NONAME
-	_ZTI26CPhoneResourceResolverBase @ 407 NONAME
-	_ZTI30CPhoneMainErrorMessagesHandler @ 408 NONAME
-	_ZTV11CPhoneTimer @ 409 NONAME
-	_ZTV12CPhoneLogger @ 410 NONAME
-	_ZTV13CPhoneStorage @ 411 NONAME
-	_ZTV17CPhoneCenRepProxy @ 412 NONAME
-	_ZTV17CPhonePubSubProxy @ 413 NONAME
-	_ZTV18CPhoneMethodLogger @ 414 NONAME
-	_ZTV19CPhoneQwertyHandler @ 415 NONAME
-	_ZTV20CPhoneClearBlacklist @ 416 NONAME
-	_ZTV20CPhoneRecoverySystem @ 417 NONAME
-	_ZTV22CPhoneCallThemeMonitor @ 418 NONAME
-	_ZTV22CPhoneLibraryContainer @ 419 NONAME
-	_ZTV23CPhoneQwertyModeMonitor @ 420 NONAME
-	_ZTV24CPhoneCenRepEventHandler @ 421 NONAME
-	_ZTV24CPhoneLangSettingMonitor @ 422 NONAME
-	_ZTV25CPhonePublishSubscriberAO @ 423 NONAME
-	_ZTV26CPhoneMainResourceResolver @ 424 NONAME
-	_ZTV26CPhoneResourceResolverBase @ 425 NONAME
-	_ZTV30CPhoneMainErrorMessagesHandler @ 426 NONAME
-	_ZThn4_N12CPhoneLoggerD0Ev @ 427 NONAME
-	_ZThn4_N12CPhoneLoggerD1Ev @ 428 NONAME
-	_ZThn4_N13CPhoneStorage14IsScreenLockedEv @ 429 NONAME
-	_ZThn4_N13CPhoneStorage15SetScreenLockedEi @ 430 NONAME
-	_ZThn4_N13CPhoneStorage19NeedToEnableKeylockEv @ 431 NONAME
-	_ZThn4_N13CPhoneStorage20ResetBlockedKeysListEv @ 432 NONAME
-	_ZThn4_N13CPhoneStorage22AppendBlockedKeysListLE12TStdScanCode @ 433 NONAME
-	_ZThn4_N13CPhoneStorage22IsBlockedKeysListEmptyEv @ 434 NONAME
-	_ZThn4_N13CPhoneStorage22SetNeedToEnableKeylockEi @ 435 NONAME
-	_ZThn4_N13CPhoneStorageD0Ev @ 436 NONAME
-	_ZThn4_N13CPhoneStorageD1Ev @ 437 NONAME
-	_ZThn4_N26CPhoneResourceResolverBaseD0Ev @ 438 NONAME
-	_ZThn4_N26CPhoneResourceResolverBaseD1Ev @ 439 NONAME
-	_ZThn4_NK13CPhoneStorage17GetBlockedKeyListEv @ 440 NONAME
-	_ZThn4_NK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 441 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData10SetCLITextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 218 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData10SetPictureERK7TDesC16 @ 219 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData11SetCNAPTextERK7TDesC16NS_27TPhoneTextClippingDirectionE @ 220 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData11SetCallTypeEi @ 221 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData11SetDivertedEi @ 222 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetCallStateEi @ 223 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetCipheringEi @ 224 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetLabelTextERK7TDesC16 @ 225 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetServiceIdEm @ 226 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData12SetThumbnailEP10CFbsBitmap @ 227 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData13SetCallerTextERK7TDesC16 @ 228 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData13SetNumberTypeEi @ 229 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData14SetContactLinkERK6TDesC8 @ 230 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData15SetHasThumbnailEi @ 231 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData17SetShortLabelTextERK7TDesC16 @ 232 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData20SetRemotePhoneNumberERK7TDesC16 @ 233 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData21SetParticipantListCLIENS_24TPhoneParticipantListCLIE @ 234 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData28SetCipheringIndicatorAllowedEi @ 235 NONAME
+	_ZN28TPhoneCmdParamCallHeaderData8SetLine2Ei @ 236 NONAME
+	_ZN28TPhoneCmdParamCallHeaderDataC1Ev @ 237 NONAME
+	_ZN28TPhoneCmdParamCallHeaderDataC2Ev @ 238 NONAME
+	_ZN30CPhoneMainErrorMessagesHandler8InstanceEv @ 239 NONAME
+	_ZN31TPhoneCmdParamAudioAvailability17SetBTAccAvailableEi @ 240 NONAME
+	_ZN31TPhoneCmdParamAudioAvailability20SetWiredAccAvailableEi @ 241 NONAME
+	_ZN31TPhoneCmdParamAudioAvailabilityC1Ev @ 242 NONAME
+	_ZN31TPhoneCmdParamAudioAvailabilityC2Ev @ 243 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData12SetCallStateEi @ 244 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData12SetCipheringEi @ 245 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData12SetEmergencyEi @ 246 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData22SetLittleBubbleVisibleEi @ 247 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData28SetCipheringIndicatorAllowedEi @ 248 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData7SetModeEi @ 249 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData7SetMuteEi @ 250 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorData8SetLine2Ei @ 251 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorDataC1Ev @ 252 NONAME
+	_ZN33TPhoneCmdParamIncallIndicatorDataC2Ev @ 253 NONAME
+	_ZN33TPhoneCmdParamNumberEntryObserver11SetObserverE9TCallBack @ 254 NONAME
+	_ZN33TPhoneCmdParamNumberEntryObserver8ObserverEv @ 255 NONAME
+	_ZN33TPhoneCmdParamNumberEntryObserverC1Ev @ 256 NONAME
+	_ZN33TPhoneCmdParamNumberEntryObserverC2Ev @ 257 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetCipheringEi @ 258 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData12SetLabelTextERK7TDesC16 @ 259 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData13SetHeaderTextERK7TDesC16 @ 260 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData21SetOwnPhoneNumberTextERK7TDesC16 @ 261 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderData28SetCipheringIndicatorAllowedEi @ 262 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC1Ev @ 263 NONAME
+	_ZN37TPhoneCmdParamEmergencyCallHeaderDataC2Ev @ 264 NONAME
+	_ZNK13CPhoneStorage17GetBlockedKeyListEv @ 265 NONAME
+	_ZNK17CPhoneCenRepProxy4FindERK4TUidmmR6RArrayImE @ 266 NONAME
+	_ZNK17CPhoneCenRepProxy6GetIntERK4TUidjRi @ 267 NONAME
+	_ZNK17CPhoneCenRepProxy7GetRealERK4TUidjRd @ 268 NONAME
+	_ZNK17CPhoneCenRepProxy9GetStringERK4TUidjR6TDes16 @ 269 NONAME
+	_ZNK18TPhoneCmdParamNote10ResourceIdEv @ 270 NONAME
+	_ZNK18TPhoneCmdParamNote14TextResourceIdEv @ 271 NONAME
+	_ZNK18TPhoneCmdParamNote4TextEv @ 272 NONAME
+	_ZNK18TPhoneCmdParamNote4ToneEv @ 273 NONAME
+	_ZNK18TPhoneCmdParamNote4TypeEv @ 274 NONAME
+	_ZNK18TPhoneCmdParamNote7TimeoutEv @ 275 NONAME
+	_ZNK18TPhoneCommandParam7ParamIdEv @ 276 NONAME
+	_ZNK19CPhoneQwertyHandler13IsQwertyInputEv @ 277 NONAME
+	_ZNK19TPhoneCmdParamQuery10ContentCbaEv @ 278 NONAME
+	_ZNK19TPhoneCmdParamQuery10DefaultCbaEv @ 279 NONAME
+	_ZNK19TPhoneCmdParamQuery11QueryPromptEv @ 280 NONAME
+	_ZNK19TPhoneCmdParamQuery14SendKeyEnabledEv @ 281 NONAME
+	_ZNK19TPhoneCmdParamQuery15QueryResourceIdEv @ 282 NONAME
+	_ZNK19TPhoneCmdParamQuery17CbaCommandMappingEi @ 283 NONAME
+	_ZNK19TPhoneCmdParamQuery25ItemTextArrayForListQueryEv @ 284 NONAME
+	_ZNK19TPhoneCmdParamQuery26GetCustomCommandForTimeOutERi @ 285 NONAME
+	_ZNK19TPhoneCmdParamQuery4ToneEv @ 286 NONAME
+	_ZNK19TPhoneCmdParamQuery7TimeOutEv @ 287 NONAME
+	_ZNK19TPhoneCmdParamQuery8DataTextEv @ 288 NONAME
+	_ZNK19TPhoneCmdParamQuery9QueryTypeEv @ 289 NONAME
+	_ZNK20TPhoneCmdParamBitmap10MaskBitmapEv @ 290 NONAME
+	_ZNK20TPhoneCmdParamBitmap6BitmapEv @ 291 NONAME
+	_ZNK21TPhoneCmdParamAppInfo13CustomMessageEv @ 292 NONAME
+	_ZNK21TPhoneCmdParamAppInfo15CustomMessageIdEv @ 293 NONAME
+	_ZNK21TPhoneCmdParamAppInfo17MultipleInstancesEv @ 294 NONAME
+	_ZNK21TPhoneCmdParamAppInfo5ParamEv @ 295 NONAME
+	_ZNK21TPhoneCmdParamAppInfo6AppUidEv @ 296 NONAME
+	_ZNK21TPhoneCmdParamAppInfo7ViewUidEv @ 297 NONAME
+	_ZNK21TPhoneCmdParamBoolean7BooleanEv @ 298 NONAME
+	_ZNK21TPhoneCmdParamDynMenu10ResourceIdEv @ 299 NONAME
+	_ZNK21TPhoneCmdParamInteger7IntegerEv @ 300 NONAME
+	_ZNK21TPhoneCmdParamPointer7PointerEv @ 301 NONAME
+	_ZNK21TPhoneCmdParamSfiData4NameEv @ 302 NONAME
+	_ZNK21TPhoneCmdParamSfiData6NumberEv @ 303 NONAME
+	_ZNK22CPhoneCallThemeMonitor22CallImageThemeFilePathEv @ 304 NONAME
+	_ZNK22CPhoneCallThemeMonitor22CallImageThemeSettingsEv @ 305 NONAME
+	_ZNK22TPhoneCmdParamKeyEvent8KeyEventEv @ 306 NONAME
+	_ZNK22TPhoneCmdParamKeyEvent9EventCodeEv @ 307 NONAME
+	_ZNK22TPhoneCmdParamRingTone11RingingTypeEv @ 308 NONAME
+	_ZNK22TPhoneCmdParamRingTone4TypeEv @ 309 NONAME
+	_ZNK22TPhoneCmdParamRingTone6VolumeEv @ 310 NONAME
+	_ZNK22TPhoneCmdParamRingTone8RingToneEv @ 311 NONAME
+	_ZNK22TPhoneCmdParamRingTone9TextToSayEv @ 312 NONAME
+	_ZNK23TPhoneCmdParamSpeedDial9ServiceIdEv @ 313 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote12WaitForReadyEv @ 314 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote14TextResourceIdEv @ 315 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote4TextEv @ 316 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote4ToneEv @ 317 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote4TypeEv @ 318 NONAME
+	_ZNK24TPhoneCmdParamGlobalNote8SoftkeysEv @ 319 NONAME
+	_ZNK24TPhoneCmdParamKeyCapture11CaptureTypeEv @ 320 NONAME
+	_ZNK24TPhoneCmdParamKeyCapture3KeyEv @ 321 NONAME
+	_ZNK24TPhoneCmdParamKeyCapture7KeyCodeEv @ 322 NONAME
+	_ZNK25TPhoneCmdParamAudioOutput11AudioOutputEv @ 323 NONAME
+	_ZNK25TPhoneCmdParamTransEffect4TypeEv @ 324 NONAME
+	_ZNK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 325 NONAME
+	_ZNK26CPhoneResourceResolverBase27IsTelephonyFeatureSupportedEi @ 326 NONAME
+	_ZNK26TPhoneCmdParamProgressNote10ResourceIdEv @ 327 NONAME
+	_ZNK26TPhoneCmdParamProgressNote8WaitTimeEv @ 328 NONAME
+	_ZNK27TPhoneCmdParamCallStateData6CallIdEv @ 329 NONAME
+	_ZNK27TPhoneCmdParamCallStateData9CallStateEv @ 330 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData10CallerTextEv @ 331 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData10NumberTypeEv @ 332 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData11ContactLinkEv @ 333 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData12HasThumbnailEv @ 334 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData14ParticipantCLIEv @ 335 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData14ShortLabelTextEv @ 336 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData17RemotePhoneNumberEv @ 337 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData24CLITextClippingDirectionEv @ 338 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData25CNAPTextClippingDirectionEv @ 339 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData25CipheringIndicatorAllowedEv @ 340 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData5Line2Ev @ 341 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData7CLITextEv @ 342 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData7PictureEv @ 343 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData8CNAPTextEv @ 344 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData8CallTypeEv @ 345 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData8DivertedEv @ 346 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9CallStateEv @ 347 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9CipheringEv @ 348 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9LabelTextEv @ 349 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9ServiceIdEv @ 350 NONAME
+	_ZNK28TPhoneCmdParamCallHeaderData9ThumbnailEv @ 351 NONAME
+	_ZNK31TPhoneCmdParamAudioAvailability16IsBTAccAvailableEv @ 352 NONAME
+	_ZNK31TPhoneCmdParamAudioAvailability19IsWiredAccAvailableEv @ 353 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData19LittleBubbleVisibleEv @ 354 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData25CipheringIndicatorAllowedEv @ 355 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData4ModeEv @ 356 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData4MuteEv @ 357 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData5Line2Ev @ 358 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData9CallStateEv @ 359 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData9CipheringEv @ 360 NONAME
+	_ZNK33TPhoneCmdParamIncallIndicatorData9EmergencyEv @ 361 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData10HeaderTextEv @ 362 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData18OwnPhoneNumberTextEv @ 363 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData25CipheringIndicatorAllowedEv @ 364 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9CipheringEv @ 365 NONAME
+	_ZNK37TPhoneCmdParamEmergencyCallHeaderData9LabelTextEv @ 366 NONAME
+	_ZTI11CPhoneTimer @ 367 NONAME
+	_ZTI12CPhoneLogger @ 368 NONAME
+	_ZTI13CPhoneStorage @ 369 NONAME
+	_ZTI17CPhoneCenRepProxy @ 370 NONAME
+	_ZTI17CPhonePubSubProxy @ 371 NONAME
+	_ZTI18CPhoneMethodLogger @ 372 NONAME
+	_ZTI19CPhoneQwertyHandler @ 373 NONAME
+	_ZTI20CPhoneClearBlacklist @ 374 NONAME
+	_ZTI20CPhoneRecoverySystem @ 375 NONAME
+	_ZTI22CPhoneCallThemeMonitor @ 376 NONAME
+	_ZTI22CPhoneLibraryContainer @ 377 NONAME
+	_ZTI23CPhoneQwertyModeMonitor @ 378 NONAME
+	_ZTI24CPhoneCenRepEventHandler @ 379 NONAME
+	_ZTI24CPhoneLangSettingMonitor @ 380 NONAME
+	_ZTI25CPhonePublishSubscriberAO @ 381 NONAME
+	_ZTI26CPhoneMainResourceResolver @ 382 NONAME
+	_ZTI26CPhoneResourceResolverBase @ 383 NONAME
+	_ZTI30CPhoneMainErrorMessagesHandler @ 384 NONAME
+	_ZTV11CPhoneTimer @ 385 NONAME
+	_ZTV12CPhoneLogger @ 386 NONAME
+	_ZTV13CPhoneStorage @ 387 NONAME
+	_ZTV17CPhoneCenRepProxy @ 388 NONAME
+	_ZTV17CPhonePubSubProxy @ 389 NONAME
+	_ZTV18CPhoneMethodLogger @ 390 NONAME
+	_ZTV19CPhoneQwertyHandler @ 391 NONAME
+	_ZTV20CPhoneClearBlacklist @ 392 NONAME
+	_ZTV20CPhoneRecoverySystem @ 393 NONAME
+	_ZTV22CPhoneCallThemeMonitor @ 394 NONAME
+	_ZTV22CPhoneLibraryContainer @ 395 NONAME
+	_ZTV23CPhoneQwertyModeMonitor @ 396 NONAME
+	_ZTV24CPhoneCenRepEventHandler @ 397 NONAME
+	_ZTV24CPhoneLangSettingMonitor @ 398 NONAME
+	_ZTV25CPhonePublishSubscriberAO @ 399 NONAME
+	_ZTV26CPhoneMainResourceResolver @ 400 NONAME
+	_ZTV26CPhoneResourceResolverBase @ 401 NONAME
+	_ZTV30CPhoneMainErrorMessagesHandler @ 402 NONAME
+	_ZThn4_N12CPhoneLoggerD0Ev @ 403 NONAME
+	_ZThn4_N12CPhoneLoggerD1Ev @ 404 NONAME
+	_ZThn4_N13CPhoneStorage14IsScreenLockedEv @ 405 NONAME
+	_ZThn4_N13CPhoneStorage15SetScreenLockedEi @ 406 NONAME
+	_ZThn4_N13CPhoneStorage19NeedToEnableKeylockEv @ 407 NONAME
+	_ZThn4_N13CPhoneStorage20ResetBlockedKeysListEv @ 408 NONAME
+	_ZThn4_N13CPhoneStorage22AppendBlockedKeysListLE12TStdScanCode @ 409 NONAME
+	_ZThn4_N13CPhoneStorage22IsBlockedKeysListEmptyEv @ 410 NONAME
+	_ZThn4_N13CPhoneStorage22SetNeedToEnableKeylockEi @ 411 NONAME
+	_ZThn4_N13CPhoneStorageD0Ev @ 412 NONAME
+	_ZThn4_N13CPhoneStorageD1Ev @ 413 NONAME
+	_ZThn4_N26CPhoneResourceResolverBaseD0Ev @ 414 NONAME
+	_ZThn4_N26CPhoneResourceResolverBaseD1Ev @ 415 NONAME
+	_ZThn4_NK13CPhoneStorage17GetBlockedKeyListEv @ 416 NONAME
+	_ZThn4_NK26CPhoneResourceResolverBase17ResolveResourceIDERKi @ 417 NONAME
 
--- a/phoneapp/phoneuiutils/group/phoneuiutils.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/group/phoneuiutils.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,10 @@
 #include <platform_paths.hrh>
 
 // Capability assignment.
-CAPABILITY CAP_APPLICATION MultiMediaDD PowerMgmt NetworkControl DRM DiskAdmin
+// <-- QT PHONE START --> 
+CAPABILITY CAP_GENERAL_DLL
+//CAPABILITY CAP_APPLICATION MultiMediaDD PowerMgmt NetworkControl DRM DiskAdmin
+// <-- QT PHONE END --> 
 
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
@@ -69,14 +72,20 @@
 SOURCE          tphonecmdparaminteger.cpp
 SOURCE          tphonecmdparamkeycapture.cpp
 SOURCE          tphonecmdparamkeyevent.cpp
-SOURCE          tphonecmdparammessageeditor.cpp
+// <-- QT PHONE START --> 
+//SOURCE          tphonecmdparammessageeditor.cpp
+// <-- QT PHONE END --> 
 SOURCE          tphonecmdparamnote.cpp
 SOURCE          tphonecmdparamprogressnote.cpp
 SOURCE          tphonecmdparamquery.cpp
-SOURCE          tphonecmdparamreconnectquery.cpp
+// <-- QT PHONE START -->
+//SOURCE          tphonecmdparamreconnectquery.cpp
+// <-- QT PHONE END -->
 SOURCE          tphonecmdparamringtone.cpp
 SOURCE          tphonecmdparamsfidata.cpp
-SOURCE          tphonecmdparamsingleitemfetch.cpp
+// <-- QT PHONE START -->
+//SOURCE          tphonecmdparamsingleitemfetch.cpp
+// <-- QT PHONE END -->
 SOURCE          tphonecmdparamspeeddial.cpp
 SOURCE          tphonecmdparamstring.cpp
 SOURCE          tphonecommandparam.cpp
@@ -88,7 +97,7 @@
 SOURCE          tphonetouchbuttonconfig.cpp
 
 USERINCLUDE     ../../phoneuiutils/inc
-USERINCLUDE     ../../phoneui/srcdata
+USERINCLUDE     ../../phoneui2/srcdata
 
 APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
 SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
@@ -101,9 +110,12 @@
 LIBRARY         cenrepnotifhandler.lib
 LIBRARY         centralrepository.lib
 LIBRARY         ptiengine.lib
-LIBRARY	        avkon.lib
+LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         cauiengine.lib
+// <-- QT PHONE START -->
+//LIBRARY         cauiengine.lib
+// <-- QT PHONE END -->
+
 #ifndef __WINS__
 LIBRARY         efsrv.lib
 #endif
--- a/phoneapp/phoneuiutils/inc/cphonecenrepproxy.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/cphonecenrepproxy.h	Fri Mar 19 09:28:42 2010 +0200
@@ -241,10 +241,10 @@
          * @return KErrNone if successful, system wide error code otherwise.
          */
         IMPORT_C TInt Find(
-        		const TUid& aUid,
-        	    const TUint32 aPartial, 
-        	    const TUint32 aMask,
-        	    RArray<TUint32>& aValues ) const;
+                const TUid& aUid,
+                const TUint32 aPartial, 
+                const TUint32 aMask,
+                RArray<TUint32>& aValues ) const;
         
         /**
         * Fetches values from central repository
@@ -255,8 +255,8 @@
         * @param aValuesFetched ETrue if values fetched ok
         */
         IMPORT_C void FetchValuesFromCenRepL( TPhoneCmdParamAppInfo& aAppInfo, 
-       		 							TKeyCode aCode,
-       		 							HBufC8* aAppParam, TBool& aValuesFetched );
+                                        TKeyCode aCode,
+                                        HBufC8* aAppParam, TBool& aValuesFetched );
 
 
     public: // New methods
--- a/phoneapp/phoneuiutils/inc/cphoneclearblacklist.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/cphoneclearblacklist.h	Fri Mar 19 09:28:42 2010 +0200
@@ -49,12 +49,12 @@
         * Singleton must be initialized only once and then Instance() method 
         * may be used to get handle to instance.
         * @param aWsSession window server session.
-	    * @param aDevice window.
+        * @param aDevice window.
         * @return the created instance.
         */
         IMPORT_C static CPhoneClearBlacklist* CreateL(
-	        RWsSession& aWsSession, 
-	        const RWindowBase& aDevice );
+            RWsSession& aWsSession, 
+            const RWindowBase& aDevice );
     
         /**
         * Returns an instance of this class.
--- a/phoneapp/phoneuiutils/inc/cphonekeys.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/cphonekeys.h	Fri Mar 19 09:28:42 2010 +0200
@@ -73,7 +73,7 @@
         * Checks if keyevent is "*" key or following via taps of
         */    
         IMPORT_C static TBool IsExtraChar(
-        	TInt aChar ); 
+            TInt aChar ); 
         
         /**
         * Validates number entry string.
--- a/phoneapp/phoneuiutils/inc/cphonelogger.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/cphonelogger.h	Fri Mar 19 09:28:42 2010 +0200
@@ -310,43 +310,43 @@
 
 //If logging method == 2 define log file name.
      
-    #define __PHONELOG(A, B, C)			  	(static_cast<CPhoneLogger*> \
-    	(CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
-    		LogIt(A, B, _L(C) );
-    	
-    #define __PHONELOG1(A, B, C, X)        	(static_cast<CPhoneLogger*> \
-    	(CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
-    		LogIt(A, B, _L(C), X);
-    	
-    #define __PHONELOG2(A, B, C, X, Y)     	(static_cast<CPhoneLogger*> \
-    	(CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
-    		LogIt(A, B, _L(C), X, Y);
-    	
-    #define __PHONELOG3(A, B, C, X, Y, Z)  	(static_cast<CPhoneLogger*> \
-    	(CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
-    		LogIt(A, B, _L(C), X, Y, Z);
+    #define __PHONELOG(A, B, C)             (static_cast<CPhoneLogger*> \
+        (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
+            LogIt(A, B, _L(C) );
+        
+    #define __PHONELOG1(A, B, C, X)         (static_cast<CPhoneLogger*> \
+        (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
+            LogIt(A, B, _L(C), X);
+        
+    #define __PHONELOG2(A, B, C, X, Y)      (static_cast<CPhoneLogger*> \
+        (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
+            LogIt(A, B, _L(C), X, Y);
+        
+    #define __PHONELOG3(A, B, C, X, Y, Z)   (static_cast<CPhoneLogger*> \
+        (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
+            LogIt(A, B, _L(C), X, Y, Z);
 
-    #define __PHONELOGENGINEMSG( C, X )		(static_cast<CPhoneLogger*> \
-    	(CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
-    		LogMsgFromPEToPhoneUI( (TInt)C, X);
-    	
+    #define __PHONELOGENGINEMSG( C, X )     (static_cast<CPhoneLogger*> \
+        (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
+            LogMsgFromPEToPhoneUI( (TInt)C, X);
+        
     #define __PHONELOGENGINEMSGEND( C )      (static_cast<CPhoneLogger*> \
-    	(CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
-    		LogMsgFromPEToPhoneUIEnd( (TInt)C );
+        (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
+            LogMsgFromPEToPhoneUIEnd( (TInt)C );
     
     #define __PHONELOGENGINECMD( C )         (static_cast<CPhoneLogger*> \
-    	(CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
-    		LogMsgFromPhoneUIToPE( (TInt)C, 0 );
+        (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
+            LogMsgFromPhoneUIToPE( (TInt)C, 0 );
     
-    #define __PHONELOGVIEWMSG( C, X )     	(static_cast<CPhoneLogger*> \
-    	(CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
-    		LogMsgFromControlToView( (TInt)C, X);
+    #define __PHONELOGVIEWMSG( C, X )       (static_cast<CPhoneLogger*> \
+        (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
+            LogMsgFromControlToView( (TInt)C, X);
     
     #define __PHONELOGSTATECHANGE( C, X )    (static_cast<CPhoneLogger*> \
-    	(CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
-    		LogStateChange( (TInt)C, TInt(X) );
+        (CCoeEnv::Static(KUidPhoneUILoggerSingleton)))-> \
+            LogStateChange( (TInt)C, TInt(X) );
 
-    #define __LOGMETHODSTARTEND( A, C )   	CPhoneMethodLogger __log( A, ( _L(C) ) );
+    #define __LOGMETHODSTARTEND( A, C )     CPhoneMethodLogger __log( A, ( _L(C) ) );
 
 
 #endif   // else --> #if (PHONE_LOGGING_METHOD==0 )
--- a/phoneapp/phoneuiutils/inc/cphonerecoverysystem.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/cphonerecoverysystem.h	Fri Mar 19 09:28:42 2010 +0200
@@ -126,7 +126,7 @@
         * @param aState new state.
         */
         void SetState( TRecoveryId aId, 
-        	CTeleRecoverySystem::TRecoveryState aState );
+            CTeleRecoverySystem::TRecoveryState aState );
     
         /**
         * Resets pending recovery actions back to waiting.
@@ -202,23 +202,23 @@
         * @param aId - Id to be added in container
         * @exception -1 (KErrNoSpace) is thrown if there isn't room in the container
         */
-		void AddIdToContainer( TRecoveryId aId );
-		
-		/**
-		* Removes given id from the container which holds all the ids this singleton
-		* has given out via AddL method.
-		* @param aId - Id to be removed from container
-		*/
-		void RemoveFromContainer( TRecoveryId aId );
-		
-		/**
-		* This is called from destructor. Method removes all the ids from recovery
-		* system that are hold within container. This is done this way because
-		* this singleton object is actually destructed by coeenv before some of
-		* object's clients' destructor is called where it would try to remove
-		* id from the recovery system. Now this way we do not leak any resources.
-		*/
-		void RemoveAllIdsFromContainer();
+        void AddIdToContainer( TRecoveryId aId );
+        
+        /**
+        * Removes given id from the container which holds all the ids this singleton
+        * has given out via AddL method.
+        * @param aId - Id to be removed from container
+        */
+        void RemoveFromContainer( TRecoveryId aId );
+        
+        /**
+        * This is called from destructor. Method removes all the ids from recovery
+        * system that are hold within container. This is done this way because
+        * this singleton object is actually destructed by coeenv before some of
+        * object's clients' destructor is called where it would try to remove
+        * id from the recovery system. Now this way we do not leak any resources.
+        */
+        void RemoveAllIdsFromContainer();
 
 
     private:    // Data  
--- a/phoneapp/phoneuiutils/inc/cphoneresourceresolverbase.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/cphoneresourceresolverbase.h	Fri Mar 19 09:28:42 2010 +0200
@@ -33,8 +33,8 @@
 *  Concrete resource resolver for common phoneapp resources.
 */
 class CPhoneResourceResolverBase : 
-	public CBase,
-	public MPhoneResourceResolver
+    public CBase,
+    public MPhoneResourceResolver
     {
     public: // Constructors and destructor
         
@@ -94,13 +94,13 @@
             EVideoCallMenu = 4
             };
         TInt iVariationFlags;
-		
-		CEikonEnv& iEnv;
+        
+        CEikonEnv& iEnv;
         
         TInt iCUIResourceOffset;
         TInt iPTCHResourceOffset;
-		
-		// Touch button config
+        
+        // Touch button config
         TPhoneTouchButtonConfig iTouchButtonConfig;
     };
 
--- a/phoneapp/phoneuiutils/inc/ctelerecoverysystem.inl	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/ctelerecoverysystem.inl	Fri Mar 19 09:28:42 2010 +0200
@@ -53,4 +53,4 @@
     CleanupEarlyDestruct<T>::PushL( aRef );
     }
 
-//  End of File
\ No newline at end of file
+//  End of File
--- a/phoneapp/phoneuiutils/inc/phoneconstants.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/phoneconstants.h	Fri Mar 19 09:28:42 2010 +0200
@@ -309,10 +309,10 @@
 const TInt KConferenceCallId = 8;
 
 // LifeTimer const
-const TInt KPhoneLifeTimerHoursLength 	= 6;
+const TInt KPhoneLifeTimerHoursLength   = 6;
 const TInt KPhoneLifeTimerMinutesLength = 2;
-const TInt KTimerTextLength				= 64;
-const TInt KTimerMinuteSeparator		= 2;
+const TInt KTimerTextLength             = 64;
+const TInt KTimerMinuteSeparator        = 2;
 
 //AudioVolume const
 // CONSTANTS
--- a/phoneapp/phoneuiutils/inc/phonelogger.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/phonelogger.h	Fri Mar 19 09:28:42 2010 +0200
@@ -34,10 +34,10 @@
  set PHONEUI_LOGGER_METHOD to RDEBUG_LOGGING to get logging via RDebug::Print
  set PHONEUI_LOGGER_METHOD to FILE_LOGGING to get logging to log file
  */
-  	
- #define  NO_LOGGING 		0   // No logging at all.
- #define  RDEBUG_LOGGING	1 	// Logging via RDebug::Print
- #define  FILE_LOGGING  	2   // Logging to log file
+    
+ #define  NO_LOGGING        0   // No logging at all.
+ #define  RDEBUG_LOGGING    1   // Logging via RDebug::Print
+ #define  FILE_LOGGING      2   // Logging to log file
 
 /*
  * here is default logic: if we have DEBUG build then select
--- a/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/phoneloggerviewcommands.h	Fri Mar 19 09:28:42 2010 +0200
@@ -27,399 +27,399 @@
 
 /** A String table */
 class PhoneLoggerviewCommands 
-	{
+    {
 public:
-	enum TStrings
-		{
-		/** EPhoneViewStartValue */
-		EPhoneViewStartValue,
-		/** EPhoneViewCreateNumberEntry */
-		EPhoneViewCreateNumberEntry,
-		/** EPhoneViewSetNumberEntryContent */
-		EPhoneViewSetNumberEntryContent,
-		/** EPhoneViewSendKeyEventToNumberEntry */
-		EPhoneViewSendKeyEventToNumberEntry,
-		/** EPhoneViewRemoveNumberEntry */
-		EPhoneViewRemoveNumberEntry,
-		/** EPhoneViewSetNumberEntryVisible */
-		EPhoneViewSetNumberEntryVisible,
-		/** EPhoneViewGetNumberFromEntry */
-		EPhoneViewGetNumberFromEntry,
-		/** EPhoneViewGetNumberEntryCount */
-		EPhoneViewGetNumberEntryCount,
-		/** EPhoneViewGetNumberEntryIsUsedStatus */
-		EPhoneViewGetNumberEntryIsUsedStatus,
-		/** EPhoneViewGetNumberEntryIsVisibleStatus */
-		EPhoneViewGetNumberEntryIsVisibleStatus,
-		/** EPhoneViewToggleNumberEntryAlphaNumericMode */
-		EPhoneViewToggleNumberEntryAlphaNumericMode,
-		/** EPhoneViewIsNumberEntryNumericMode */
-		EPhoneViewIsNumberEntryNumericMode,
-		/** EPhoneViewClearNumberEntryContent */
-		EPhoneViewClearNumberEntryContent,
-		/** EPhoneViewCreateCallHeader */
-		EPhoneViewCreateCallHeader,
-		/** EPhoneViewCreateEmergencyCallHeader */
-		EPhoneViewCreateEmergencyCallHeader,
-		/** EPhoneViewUpdateCallHeaderRemoteInfoData */
-		EPhoneViewUpdateCallHeaderRemoteInfoData,
-		/** EPhoneViewUpdateCallHeaderCallDuration */
-		EPhoneViewUpdateCallHeaderCallDuration,
-		/** EPhoneViewRemoveCallHeader */
-		EPhoneViewRemoveCallHeader,
-		/** EPhoneViewMenuBarOpen */
-		EPhoneViewMenuBarOpen,
-		/** EPhoneViewMenuBarClose */
-		EPhoneViewMenuBarClose,
-		/** EPhoneViewDimCbaCommand */
-		EPhoneViewDimCbaCommand,
-		/** EPhoneViewUpdateCba */
-		EPhoneViewUpdateCba,
-		/** EPhoneViewUpdateBubble */
-		EPhoneViewUpdateBubble,
-		/** EPhoneViewMenuPane */
-		EPhoneViewMenuPane,
-		/** EPhoneViewMenuBar */
-		EPhoneViewMenuBar,
-		/** EPhoneViewSetTitlePaneContent */
-		EPhoneViewSetTitlePaneContent,
-		/** EPhoneViewSetNaviPaneContent */
-		EPhoneViewSetNaviPaneContent,
-		/** EPhoneViewSetTitlePanePicture */
-		EPhoneViewSetTitlePanePicture,
-		/** EPhoneViewGetTitlePaneIsVisibleStatus */
-		EPhoneViewGetTitlePaneIsVisibleStatus,
-		/** EPhoneViewActivateAudioPathUIChanges */
-		EPhoneViewActivateAudioPathUIChanges,
-		/** EPhoneViewActivateAudioAvailabilityUIChanges */
-		EPhoneViewActivateAudioAvailabilityUIChanges,
-		/** EPhoneViewActivateMuteUIChanges */
-		EPhoneViewActivateMuteUIChanges,
-		/** EPhoneViewShowNote */
-		EPhoneViewShowNote,
-		/** EPhoneViewShowGlobalNote */
-		EPhoneViewShowGlobalNote,
-		/** EPhoneViewShowProgressNote */
-		EPhoneViewShowProgressNote,
-		/** EPhoneViewRemoveNote */
-		EPhoneViewRemoveNote,
-		/** EPhoneViewRemoveProgressNote */
-		EPhoneViewRemoveProgressNote,
-		/** EPhoneViewRemoveGlobalNote */
-		EPhoneViewRemoveGlobalNote,
-		/** EPhoneViewGetIsNoteVisible */
-		EPhoneViewGetIsNoteVisible,
-		/** EPhoneViewGetIsProgressNoteVisible */
-		EPhoneViewGetIsProgressNoteVisible,
-		/** EPhoneViewShowQuery */
-		EPhoneViewShowQuery,
-		/** EPhoneViewSetListQueryString */
-		EPhoneViewSetListQueryString,
-		/** EPhoneViewRemoveQuery */
-		EPhoneViewRemoveQuery,
-		/** EPhoneViewGetTextQueryContents */
-		EPhoneViewGetTextQueryContents,
-		/** EPhoneViewSetTopApplication */
-		EPhoneViewSetTopApplication,
-		/** EPhoneViewBringAppToForeground */
-		EPhoneViewBringAppToForeground,
-		/** EPhoneViewSendToBackground */
-		EPhoneViewSendToBackground,
-		/** EPhoneViewSetNeedToSendToBackgroundStatus */
-		EPhoneViewSetNeedToSendToBackgroundStatus,
-		/** EPhoneViewGetNeedToSendToBackgroundStatus */
-		EPhoneViewGetNeedToSendToBackgroundStatus,
-		/** EPhoneViewGetTopApplicationIsDisplayedStatus */
-		EPhoneViewGetTopApplicationIsDisplayedStatus,
-		/** EPhoneViewGetForegroundApplication */
-		EPhoneViewGetForegroundApplication,
-		/** EPhoneViewSetBackgroundImageBitmap */
-		EPhoneViewSetBackgroundImageBitmap,
-		/** EPhoneViewGetBackgroundImageBitmap */
-		EPhoneViewGetBackgroundImageBitmap,
-		/** EPhoneViewActivateApp */
-		EPhoneViewActivateApp,
-		/** EPhoneViewActivateAppView */
-		EPhoneViewActivateAppView,
-		/** EPhoneViewActivateAppViewWithCustomMessage */
-		EPhoneViewActivateAppViewWithCustomMessage,
-		/** EPhoneViewActivateAppViewConventional */
-		EPhoneViewActivateAppViewConventional,
-		/** EPhoneViewLaunchApplication */
-		EPhoneViewLaunchApplication,
-		/** EPhoneViewLaunchHelpApplication */
-		EPhoneViewLaunchHelpApplication,
-		/** EPhoneViewOpenMessageEditor */
-		EPhoneViewOpenMessageEditor,
-		/** EPhoneViewExitApplications */
-		EPhoneViewExitApplications,
-		/** EPhoneViewUpdateIncallIndicator */
-		EPhoneViewUpdateIncallIndicator,
-		/** EPhoneViewStartCapturingKey */
-		EPhoneViewStartCapturingKey,
-		/** EPhoneViewStopCapturingKey */
-		EPhoneViewStopCapturingKey,
-		/** EPhoneViewSetGlobalNotifiersDisabled */
-		EPhoneViewSetGlobalNotifiersDisabled,
-		/** EPhoneViewSetSpeedDialLocation */
-		EPhoneViewSetSpeedDialLocation,
-		/** EPhoneViewGetNumberFromSpeedDialLocation */
-		EPhoneViewGetNumberFromSpeedDialLocation,
-		/** EPhoneViewAssignSpeedDialLocation */
-		EPhoneViewAssignSpeedDialLocation,
-		/** EPhoneViewGetHoldFlag */
-		EPhoneViewGetHoldFlag,
-		/** EPhoneViewSetHoldFlag */
-		EPhoneViewSetHoldFlag,
-		/** EPhoneViewSetSoftRejectFlag */
-		EPhoneViewSetSoftRejectFlag,
-		/** EPhoneViewGetSoftRejectFlag */
-		EPhoneViewGetSoftRejectFlag,
-		/** EPhoneViewSetServiceCodeFlag */
-		EPhoneViewSetServiceCodeFlag,
-		/** EPhoneViewUpdateContact */
-		EPhoneViewUpdateContact,
-		/** EPhoneViewAddContact */
-		EPhoneViewAddContact,
-		/** EPhoneViewOpenSingleItemFetchDialog */
-		EPhoneViewOpenSingleItemFetchDialog,
-		/** EPhoneViewRemovePhoneDialogs */
-		EPhoneViewRemovePhoneDialogs,
-		/** EPhoneViewCreateConference */
-		EPhoneViewCreateConference,
-		/** EPhoneViewAddToConference */
-		EPhoneViewAddToConference,
-		/** EPhoneViewRemoveFromConference */
-		EPhoneViewRemoveFromConference,
-		/** EPhoneViewPrivateFromConference */
-		EPhoneViewPrivateFromConference,
-		/** EPhoneViewSelectedConfMember */
-		EPhoneViewSelectedConfMember,
-		/** EPhoneViewOpenConferenceList */
-		EPhoneViewOpenConferenceList,
-		/** EPhoneViewGetConferenceListVisibleFlag */
-		EPhoneViewGetConferenceListVisibleFlag,
-		/** EPhoneViewGetCallState */
-		EPhoneViewGetCallState,
-		/** EPhoneViewGetCallIdByState */
-		EPhoneViewGetCallIdByState,
-		/** EPhoneViewMoveHighLightInList */
-		EPhoneViewMoveHighLightInList,
-		/** EPhoneViewGetCountOfActiveCalls */
-		EPhoneViewGetCountOfActiveCalls,
-		/** EPhoneViewSetNaviPaneAudioVolume */
-		EPhoneViewSetNaviPaneAudioVolume,
-		/** EPhoneViewShowNaviPaneAudioVolume */
-		EPhoneViewShowNaviPaneAudioVolume,
-		/** EPhoneViewHideNaviPaneAudioVolume */
-		EPhoneViewHideNaviPaneAudioVolume,
-		/** EPhoneViewGetIsConference */
-		EPhoneViewGetIsConference,
-		/** EPhoneViewGetCallExistsInConference */
-		EPhoneViewGetCallExistsInConference,
-		/** EPhoneViewRemoveAllCallHeaders */
-		EPhoneViewRemoveAllCallHeaders,
-		/** EPhoneViewPlayRingTone */
-		EPhoneViewPlayRingTone,
-		/** EPhoneViewMuteRingTone */
-		EPhoneViewMuteRingTone,
-		/** EPhoneViewStopRingTone */
-		EPhoneViewStopRingTone,
-		/** EPhoneViewMuteRingToneOnAnswer */
-		EPhoneViewMuteRingToneOnAnswer,
-		/** EPhoneViewCipheringInfoChange */
-		EPhoneViewCipheringInfoChange,
-		/** EPhoneViewUpdateMaxConfMemberFlag */
-		EPhoneViewUpdateMaxConfMemberFlag,
-		/** EPhoneViewCloseFSW */
-		EPhoneViewCloseFSW,
-		/** EPhoneViewLaunchRfsDeep */
-		EPhoneViewLaunchRfsDeep,
-		/** EPhoneViewLaunchRfsNormal */
-		EPhoneViewLaunchRfsNormal,
-		/** EPhoneViewUpdateView */
-		EPhoneViewUpdateView,
-		/** EPhoneViewOpenSoftRejectEditor */
-		EPhoneViewOpenSoftRejectEditor,
-		/** EPhoneViewSendMessage */
-		EPhoneViewSendMessage,
-		/** EPhoneViewSetBlockingDialogStatus */
-		EPhoneViewSetBlockingDialogStatus,
-		/** EPhoneViewSetPhoneNumberAvailableInPhoneEngine */
-		EPhoneViewSetPhoneNumberAvailableInPhoneEngine,
-		/** EPhoneViewSetSecurityMode */
-		EPhoneViewSetSecurityMode,
-		/** EPhoneViewGetSecurityModeStatus */
-		EPhoneViewGetSecurityModeStatus,
-		/** EPhoneViewSetStatusPaneVisible */
-		EPhoneViewSetStatusPaneVisible,
-		/** EPhoneViewEnableKeyLock */
-		EPhoneViewEnableKeyLock,
-		/** EPhoneViewEnableKeyLockWithoutNote */
-		EPhoneViewEnableKeyLockWithoutNote,
-		/** EPhoneViewLaunchFaxModem */
-		EPhoneViewLaunchFaxModem,
-		/** EPhoneViewUpdateFSW */
-		EPhoneViewUpdateFSW,
-		/** EPhoneViewIsQuery */
-		EPhoneViewIsQuery,
-		/** EPhoneViewBringIdleToForeground */
-		EPhoneViewBringIdleToForeground,
-		/** EPhoneViewSetIdleTopApplication */
-		EPhoneViewSetIdleTopApplication,
-		/** EPhoneViewBeginUpdate */
-		EPhoneViewBeginUpdate,
-		/** EPhoneViewEndUpdate */
-		EPhoneViewEndUpdate,
-		/** EPhoneViewSetConfrenceOptionsFlag */
-		EPhoneViewSetConfrenceOptionsFlag,
-		/** EPhoneViewRemoveConferenceBubble */
-		EPhoneViewRemoveConferenceBubble,
-		/** EPhoneViewGetSoftRejectWindowGroupId */
-		EPhoneViewGetSoftRejectWindowGroupId,
-		/** EPhoneViewSetTouchPaneButtons */
-		EPhoneViewSetTouchPaneButtons,
-		/** EPhoneViewSetTouchPaneVisible */
-		EPhoneViewSetTouchPaneVisible,
-		/** EPhoneViewEnableTouchButton */
-		EPhoneViewEnableTouchButton,
-		/** EPhoneViewDisableTouchButton */
-		EPhoneViewDisableTouchButton,
-		/** EPhoneResetTouchButtons */
-		EPhoneResetTouchButtons,
-		/** EPhoneViewGetIsConferenceInSelectionMode */
-		EPhoneViewGetIsConferenceInSelectionMode,
-		/** EPhoneViewIsStraightCallToVideoMailBox */
-		EPhoneViewIsStraightCallToVideoMailBox,
-		/** EPhoneViewSetDtmfDialerViewVisible */
-		EPhoneViewSetDtmfDialerViewVisible,
-		/** EPhoneViewSetRetrictedDialer */
-		EPhoneViewSetRetrictedDialer,
-		/** EPhoneViewIsConferenceInExpandedMode */
-		EPhoneViewIsConferenceInExpandedMode,
-		/** EPhoneViewIsMenuBarVisible */
-		EPhoneViewIsMenuBarVisible,
-		/** EPhoneViewGetBlockingDialogStatus */
-		EPhoneViewGetBlockingDialogStatus,
-		/** EPhoneViewYesSingleItemFetch */
-		EPhoneViewYesSingleItemFetch,
-		/** EPhoneViewNoSingleItemFetch */
-		EPhoneViewNoSingleItemFetch,
-		/** EPhoneViewGetLocalizedNumberFromEntry */
-		EPhoneViewGetLocalizedNumberFromEntry,
-		/** EPhoneViewIsNoteActive */
-		EPhoneViewIsNoteActive,
-		/** EPhoneViewOpenNumberEntry */
-		EPhoneViewOpenNumberEntry,
-		/** EPhoneViewOpenCallHandling */
-		EPhoneViewOpenCallHandling,
-		/** EPhoneViewGetConferenceAndSingleFlag */
-		EPhoneViewGetConferenceAndSingleFlag,
-		/** EPhoneViewSetConferenceAndSingleFlag */
-		EPhoneViewSetConferenceAndSingleFlag,
-		/** EPhoneViewSetVideoCallFlag */
-		EPhoneViewSetVideoCallFlag,
-		/** EPhoneViewSetDtmfOptionsFlag */
-		EPhoneViewSetDtmfOptionsFlag,
-		/** EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery */
-		EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery,
-		/** EPhoneViewGetAudioVolumeLevel */
-		EPhoneViewGetAudioVolumeLevel,
-		/** EPhoneViewIsIdleTopApp */
-		EPhoneViewIsIdleTopApp,
-		/** EPhoneViewUpdateToolbar */
-		EPhoneViewUpdateToolbar,
-		/** EPhoneViewSetControlAndVisibility */
-		EPhoneViewSetControlAndVisibility,
-		/** EPhoneViewAllowWaitingCallHeader */
-		EPhoneViewAllowWaitingCallHeader,
-		/** EPhoneViewBeginTransEffect */
-		EPhoneViewBeginTransEffect,
-		/** EPhoneViewEndTransEffect */
-		EPhoneViewEndTransEffect,
-		/** EPhoneViewSetDialerControlVisible */
-		EPhoneViewSetDialerControlVisible,
-		/** EPhoneViewCloseSingleItemFetchDialog */
-		EPhoneViewCloseSingleItemFetchDialog,
-		/** EPhoneViewGetActivatePreviousApp */
-		EPhoneViewGetActivatePreviousApp,
-		/** EPhoneViewActivatePreviousApp */
-		EPhoneViewActivatePreviousApp,
-		/** EPhoneViewSetPointerCapture */
-		EPhoneViewSetPointerCapture,
-		/** EPhoneViewSetSendKeyDialerActivationFlag */
-		EPhoneViewSetSendKeyDialerActivationFlag,
-		/** EPhoneViewPrepareIcons */
-		EPhoneViewPrepareIcons,
-		/** EPhoneViewKeypadAudioEnabled */
-		EPhoneViewKeypadAudioEnabled,
-		/** EPhoneViewKeypadAudioDisabled */
-		EPhoneViewKeypadAudioDisabled,
-		/** EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel */
-		EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel,
-		/** EPhoneViewRemoveDtmfNote */
-		EPhoneViewRemoveDtmfNote,
-		/** EPhoneViewUpdatePhoneIconToFSW */
-		EPhoneViewUpdatePhoneIconToFSW,
-		/** EPhoneViewSetEikonNotifiersDisabled */
-		EPhoneViewSetEikonNotifiersDisabled,
-		/** EPhoneViewCancelAllNotications */
-		EPhoneViewCancelAllNotications,
-		/** EPhoneViewSetVideoCallDTMFVisibilityFlag */
-		EPhoneViewSetVideoCallDTMFVisibilityFlag,
-		/** EPhoneViewIsKeyLockEnabled */
-		EPhoneViewIsKeyLockEnabled,
-		/** EPhoneViewDisableKeyLock */
-		EPhoneViewDisableKeyLock,
-		/** EPhoneViewLoadPlugins */
-		EPhoneViewLoadPlugins,
-		/** PhoneViewServiceSelection */
-		PhoneViewServiceSelection,
-		/** EPhoneViewOpenVirtualKeyBoard */
-		EPhoneViewOpenVirtualKeyBoard,
-		/** EPhoneViewUpdateNoteSoftkeys */
-		EPhoneViewUpdateNoteSoftkeys,
-		/** EPhoneViewShowCustomizedDialer */
-		EPhoneViewShowCustomizedDialer,
-		/** EPhoneViewHideCustomizedDialer */
-		EPhoneViewHideCustomizedDialer,
-		/** EPhoneViewGetCustomizedDialerMenuResourceId */
-		EPhoneViewGetCustomizedDialerMenuResourceId,
-		/** EPhoneViewGetCustomizedDialerCbaResourceId */
-		EPhoneViewGetCustomizedDialerCbaResourceId,
-		/** EPhoneViewCreatePhoneBookServices */
-		EPhoneViewCreatePhoneBookServices,
-		/** EPhoneViewDisableKeyLockWithoutNote */
-		EPhoneViewDisableKeyLockWithoutNote,
-		/** EPhoneViewGetKeyLockStatus */
-		EPhoneViewGetKeyLockStatus,
-		/** EPhoneViewSetNumberEntryObserver */
-		EPhoneViewSetNumberEntryObserver,
-		/** EPhoneViewGetSingleItemFetchType */
-		EPhoneViewGetSingleItemFetchType,
-		/** EPhoneViewRemoveGlobalWaitNote */
-		EPhoneViewRemoveGlobalWaitNote,
-		/** EPhoneViewSetPhoneCustomization */
-		EPhoneViewSetPhoneCustomization,
-		/** EPhoneViewSetViewCustomization */
-		EPhoneViewSetViewCustomization,
-		/** EPhoneViewSetButtonCustomization */
-		EPhoneViewSetButtonCustomization,
-		/** EPhoneViewUpdateContactByString */
-		EPhoneViewUpdateContactByString,
-		/** EPhoneViewAddContactByString */
-		EPhoneViewAddContactByString,
-		/** EPhoneViewIsActiveNoteDissmissableByKeyEvent */
-		EPhoneViewIsActiveNoteDissmissableByKeyEvent,
-		/** EPhoneViewSetNoConnectedCalls */
-		EPhoneViewSetNoConnectedCalls,
-		/** EPhoneViewIsDTMFEditorVisible */
-		EPhoneViewIsDTMFEditorVisible,
-		/** , // Don't remove this, this should always be the last in list. */
-		EPhoneAmountOfCommands
-		};
-	static const TStringTable Table;	
-	};
+    enum TStrings
+        {
+        /** EPhoneViewStartValue */
+        EPhoneViewStartValue,
+        /** EPhoneViewCreateNumberEntry */
+        EPhoneViewCreateNumberEntry,
+        /** EPhoneViewSetNumberEntryContent */
+        EPhoneViewSetNumberEntryContent,
+        /** EPhoneViewSendKeyEventToNumberEntry */
+        EPhoneViewSendKeyEventToNumberEntry,
+        /** EPhoneViewRemoveNumberEntry */
+        EPhoneViewRemoveNumberEntry,
+        /** EPhoneViewSetNumberEntryVisible */
+        EPhoneViewSetNumberEntryVisible,
+        /** EPhoneViewGetNumberFromEntry */
+        EPhoneViewGetNumberFromEntry,
+        /** EPhoneViewGetNumberEntryCount */
+        EPhoneViewGetNumberEntryCount,
+        /** EPhoneViewGetNumberEntryIsUsedStatus */
+        EPhoneViewGetNumberEntryIsUsedStatus,
+        /** EPhoneViewGetNumberEntryIsVisibleStatus */
+        EPhoneViewGetNumberEntryIsVisibleStatus,
+        /** EPhoneViewToggleNumberEntryAlphaNumericMode */
+        EPhoneViewToggleNumberEntryAlphaNumericMode,
+        /** EPhoneViewIsNumberEntryNumericMode */
+        EPhoneViewIsNumberEntryNumericMode,
+        /** EPhoneViewClearNumberEntryContent */
+        EPhoneViewClearNumberEntryContent,
+        /** EPhoneViewCreateCallHeader */
+        EPhoneViewCreateCallHeader,
+        /** EPhoneViewCreateEmergencyCallHeader */
+        EPhoneViewCreateEmergencyCallHeader,
+        /** EPhoneViewUpdateCallHeaderRemoteInfoData */
+        EPhoneViewUpdateCallHeaderRemoteInfoData,
+        /** EPhoneViewUpdateCallHeaderCallDuration */
+        EPhoneViewUpdateCallHeaderCallDuration,
+        /** EPhoneViewRemoveCallHeader */
+        EPhoneViewRemoveCallHeader,
+        /** EPhoneViewMenuBarOpen */
+        EPhoneViewMenuBarOpen,
+        /** EPhoneViewMenuBarClose */
+        EPhoneViewMenuBarClose,
+        /** EPhoneViewDimCbaCommand */
+        EPhoneViewDimCbaCommand,
+        /** EPhoneViewUpdateCba */
+        EPhoneViewUpdateCba,
+        /** EPhoneViewUpdateBubble */
+        EPhoneViewUpdateBubble,
+        /** EPhoneViewMenuPane */
+        EPhoneViewMenuPane,
+        /** EPhoneViewMenuBar */
+        EPhoneViewMenuBar,
+        /** EPhoneViewSetTitlePaneContent */
+        EPhoneViewSetTitlePaneContent,
+        /** EPhoneViewSetNaviPaneContent */
+        EPhoneViewSetNaviPaneContent,
+        /** EPhoneViewSetTitlePanePicture */
+        EPhoneViewSetTitlePanePicture,
+        /** EPhoneViewGetTitlePaneIsVisibleStatus */
+        EPhoneViewGetTitlePaneIsVisibleStatus,
+        /** EPhoneViewActivateAudioPathUIChanges */
+        EPhoneViewActivateAudioPathUIChanges,
+        /** EPhoneViewActivateAudioAvailabilityUIChanges */
+        EPhoneViewActivateAudioAvailabilityUIChanges,
+        /** EPhoneViewActivateMuteUIChanges */
+        EPhoneViewActivateMuteUIChanges,
+        /** EPhoneViewShowNote */
+        EPhoneViewShowNote,
+        /** EPhoneViewShowGlobalNote */
+        EPhoneViewShowGlobalNote,
+        /** EPhoneViewShowProgressNote */
+        EPhoneViewShowProgressNote,
+        /** EPhoneViewRemoveNote */
+        EPhoneViewRemoveNote,
+        /** EPhoneViewRemoveProgressNote */
+        EPhoneViewRemoveProgressNote,
+        /** EPhoneViewRemoveGlobalNote */
+        EPhoneViewRemoveGlobalNote,
+        /** EPhoneViewGetIsNoteVisible */
+        EPhoneViewGetIsNoteVisible,
+        /** EPhoneViewGetIsProgressNoteVisible */
+        EPhoneViewGetIsProgressNoteVisible,
+        /** EPhoneViewShowQuery */
+        EPhoneViewShowQuery,
+        /** EPhoneViewSetListQueryString */
+        EPhoneViewSetListQueryString,
+        /** EPhoneViewRemoveQuery */
+        EPhoneViewRemoveQuery,
+        /** EPhoneViewGetTextQueryContents */
+        EPhoneViewGetTextQueryContents,
+        /** EPhoneViewSetTopApplication */
+        EPhoneViewSetTopApplication,
+        /** EPhoneViewBringAppToForeground */
+        EPhoneViewBringAppToForeground,
+        /** EPhoneViewSendToBackground */
+        EPhoneViewSendToBackground,
+        /** EPhoneViewSetNeedToSendToBackgroundStatus */
+        EPhoneViewSetNeedToSendToBackgroundStatus,
+        /** EPhoneViewGetNeedToSendToBackgroundStatus */
+        EPhoneViewGetNeedToSendToBackgroundStatus,
+        /** EPhoneViewGetTopApplicationIsDisplayedStatus */
+        EPhoneViewGetTopApplicationIsDisplayedStatus,
+        /** EPhoneViewGetForegroundApplication */
+        EPhoneViewGetForegroundApplication,
+        /** EPhoneViewSetBackgroundImageBitmap */
+        EPhoneViewSetBackgroundImageBitmap,
+        /** EPhoneViewGetBackgroundImageBitmap */
+        EPhoneViewGetBackgroundImageBitmap,
+        /** EPhoneViewActivateApp */
+        EPhoneViewActivateApp,
+        /** EPhoneViewActivateAppView */
+        EPhoneViewActivateAppView,
+        /** EPhoneViewActivateAppViewWithCustomMessage */
+        EPhoneViewActivateAppViewWithCustomMessage,
+        /** EPhoneViewActivateAppViewConventional */
+        EPhoneViewActivateAppViewConventional,
+        /** EPhoneViewLaunchApplication */
+        EPhoneViewLaunchApplication,
+        /** EPhoneViewLaunchHelpApplication */
+        EPhoneViewLaunchHelpApplication,
+        /** EPhoneViewOpenMessageEditor */
+        EPhoneViewOpenMessageEditor,
+        /** EPhoneViewExitApplications */
+        EPhoneViewExitApplications,
+        /** EPhoneViewUpdateIncallIndicator */
+        EPhoneViewUpdateIncallIndicator,
+        /** EPhoneViewStartCapturingKey */
+        EPhoneViewStartCapturingKey,
+        /** EPhoneViewStopCapturingKey */
+        EPhoneViewStopCapturingKey,
+        /** EPhoneViewSetGlobalNotifiersDisabled */
+        EPhoneViewSetGlobalNotifiersDisabled,
+        /** EPhoneViewSetSpeedDialLocation */
+        EPhoneViewSetSpeedDialLocation,
+        /** EPhoneViewGetNumberFromSpeedDialLocation */
+        EPhoneViewGetNumberFromSpeedDialLocation,
+        /** EPhoneViewAssignSpeedDialLocation */
+        EPhoneViewAssignSpeedDialLocation,
+        /** EPhoneViewGetHoldFlag */
+        EPhoneViewGetHoldFlag,
+        /** EPhoneViewSetHoldFlag */
+        EPhoneViewSetHoldFlag,
+        /** EPhoneViewSetSoftRejectFlag */
+        EPhoneViewSetSoftRejectFlag,
+        /** EPhoneViewGetSoftRejectFlag */
+        EPhoneViewGetSoftRejectFlag,
+        /** EPhoneViewSetServiceCodeFlag */
+        EPhoneViewSetServiceCodeFlag,
+        /** EPhoneViewUpdateContact */
+        EPhoneViewUpdateContact,
+        /** EPhoneViewAddContact */
+        EPhoneViewAddContact,
+        /** EPhoneViewOpenSingleItemFetchDialog */
+        EPhoneViewOpenSingleItemFetchDialog,
+        /** EPhoneViewRemovePhoneDialogs */
+        EPhoneViewRemovePhoneDialogs,
+        /** EPhoneViewCreateConference */
+        EPhoneViewCreateConference,
+        /** EPhoneViewAddToConference */
+        EPhoneViewAddToConference,
+        /** EPhoneViewRemoveFromConference */
+        EPhoneViewRemoveFromConference,
+        /** EPhoneViewPrivateFromConference */
+        EPhoneViewPrivateFromConference,
+        /** EPhoneViewSelectedConfMember */
+        EPhoneViewSelectedConfMember,
+        /** EPhoneViewOpenConferenceList */
+        EPhoneViewOpenConferenceList,
+        /** EPhoneViewGetConferenceListVisibleFlag */
+        EPhoneViewGetConferenceListVisibleFlag,
+        /** EPhoneViewGetCallState */
+        EPhoneViewGetCallState,
+        /** EPhoneViewGetCallIdByState */
+        EPhoneViewGetCallIdByState,
+        /** EPhoneViewMoveHighLightInList */
+        EPhoneViewMoveHighLightInList,
+        /** EPhoneViewGetCountOfActiveCalls */
+        EPhoneViewGetCountOfActiveCalls,
+        /** EPhoneViewSetNaviPaneAudioVolume */
+        EPhoneViewSetNaviPaneAudioVolume,
+        /** EPhoneViewShowNaviPaneAudioVolume */
+        EPhoneViewShowNaviPaneAudioVolume,
+        /** EPhoneViewHideNaviPaneAudioVolume */
+        EPhoneViewHideNaviPaneAudioVolume,
+        /** EPhoneViewGetIsConference */
+        EPhoneViewGetIsConference,
+        /** EPhoneViewGetCallExistsInConference */
+        EPhoneViewGetCallExistsInConference,
+        /** EPhoneViewRemoveAllCallHeaders */
+        EPhoneViewRemoveAllCallHeaders,
+        /** EPhoneViewPlayRingTone */
+        EPhoneViewPlayRingTone,
+        /** EPhoneViewMuteRingTone */
+        EPhoneViewMuteRingTone,
+        /** EPhoneViewStopRingTone */
+        EPhoneViewStopRingTone,
+        /** EPhoneViewMuteRingToneOnAnswer */
+        EPhoneViewMuteRingToneOnAnswer,
+        /** EPhoneViewCipheringInfoChange */
+        EPhoneViewCipheringInfoChange,
+        /** EPhoneViewUpdateMaxConfMemberFlag */
+        EPhoneViewUpdateMaxConfMemberFlag,
+        /** EPhoneViewCloseFSW */
+        EPhoneViewCloseFSW,
+        /** EPhoneViewLaunchRfsDeep */
+        EPhoneViewLaunchRfsDeep,
+        /** EPhoneViewLaunchRfsNormal */
+        EPhoneViewLaunchRfsNormal,
+        /** EPhoneViewUpdateView */
+        EPhoneViewUpdateView,
+        /** EPhoneViewOpenSoftRejectEditor */
+        EPhoneViewOpenSoftRejectEditor,
+        /** EPhoneViewSendMessage */
+        EPhoneViewSendMessage,
+        /** EPhoneViewSetBlockingDialogStatus */
+        EPhoneViewSetBlockingDialogStatus,
+        /** EPhoneViewSetPhoneNumberAvailableInPhoneEngine */
+        EPhoneViewSetPhoneNumberAvailableInPhoneEngine,
+        /** EPhoneViewSetSecurityMode */
+        EPhoneViewSetSecurityMode,
+        /** EPhoneViewGetSecurityModeStatus */
+        EPhoneViewGetSecurityModeStatus,
+        /** EPhoneViewSetStatusPaneVisible */
+        EPhoneViewSetStatusPaneVisible,
+        /** EPhoneViewEnableKeyLock */
+        EPhoneViewEnableKeyLock,
+        /** EPhoneViewEnableKeyLockWithoutNote */
+        EPhoneViewEnableKeyLockWithoutNote,
+        /** EPhoneViewLaunchFaxModem */
+        EPhoneViewLaunchFaxModem,
+        /** EPhoneViewUpdateFSW */
+        EPhoneViewUpdateFSW,
+        /** EPhoneViewIsQuery */
+        EPhoneViewIsQuery,
+        /** EPhoneViewBringIdleToForeground */
+        EPhoneViewBringIdleToForeground,
+        /** EPhoneViewSetIdleTopApplication */
+        EPhoneViewSetIdleTopApplication,
+        /** EPhoneViewBeginUpdate */
+        EPhoneViewBeginUpdate,
+        /** EPhoneViewEndUpdate */
+        EPhoneViewEndUpdate,
+        /** EPhoneViewSetConfrenceOptionsFlag */
+        EPhoneViewSetConfrenceOptionsFlag,
+        /** EPhoneViewRemoveConferenceBubble */
+        EPhoneViewRemoveConferenceBubble,
+        /** EPhoneViewGetSoftRejectWindowGroupId */
+        EPhoneViewGetSoftRejectWindowGroupId,
+        /** EPhoneViewSetTouchPaneButtons */
+        EPhoneViewSetTouchPaneButtons,
+        /** EPhoneViewSetTouchPaneVisible */
+        EPhoneViewSetTouchPaneVisible,
+        /** EPhoneViewEnableTouchButton */
+        EPhoneViewEnableTouchButton,
+        /** EPhoneViewDisableTouchButton */
+        EPhoneViewDisableTouchButton,
+        /** EPhoneResetTouchButtons */
+        EPhoneResetTouchButtons,
+        /** EPhoneViewGetIsConferenceInSelectionMode */
+        EPhoneViewGetIsConferenceInSelectionMode,
+        /** EPhoneViewIsStraightCallToVideoMailBox */
+        EPhoneViewIsStraightCallToVideoMailBox,
+        /** EPhoneViewSetDtmfDialerViewVisible */
+        EPhoneViewSetDtmfDialerViewVisible,
+        /** EPhoneViewSetRetrictedDialer */
+        EPhoneViewSetRetrictedDialer,
+        /** EPhoneViewIsConferenceInExpandedMode */
+        EPhoneViewIsConferenceInExpandedMode,
+        /** EPhoneViewIsMenuBarVisible */
+        EPhoneViewIsMenuBarVisible,
+        /** EPhoneViewGetBlockingDialogStatus */
+        EPhoneViewGetBlockingDialogStatus,
+        /** EPhoneViewYesSingleItemFetch */
+        EPhoneViewYesSingleItemFetch,
+        /** EPhoneViewNoSingleItemFetch */
+        EPhoneViewNoSingleItemFetch,
+        /** EPhoneViewGetLocalizedNumberFromEntry */
+        EPhoneViewGetLocalizedNumberFromEntry,
+        /** EPhoneViewIsNoteActive */
+        EPhoneViewIsNoteActive,
+        /** EPhoneViewOpenNumberEntry */
+        EPhoneViewOpenNumberEntry,
+        /** EPhoneViewOpenCallHandling */
+        EPhoneViewOpenCallHandling,
+        /** EPhoneViewGetConferenceAndSingleFlag */
+        EPhoneViewGetConferenceAndSingleFlag,
+        /** EPhoneViewSetConferenceAndSingleFlag */
+        EPhoneViewSetConferenceAndSingleFlag,
+        /** EPhoneViewSetVideoCallFlag */
+        EPhoneViewSetVideoCallFlag,
+        /** EPhoneViewSetDtmfOptionsFlag */
+        EPhoneViewSetDtmfOptionsFlag,
+        /** EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery */
+        EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery,
+        /** EPhoneViewGetAudioVolumeLevel */
+        EPhoneViewGetAudioVolumeLevel,
+        /** EPhoneViewIsIdleTopApp */
+        EPhoneViewIsIdleTopApp,
+        /** EPhoneViewUpdateToolbar */
+        EPhoneViewUpdateToolbar,
+        /** EPhoneViewSetControlAndVisibility */
+        EPhoneViewSetControlAndVisibility,
+        /** EPhoneViewAllowWaitingCallHeader */
+        EPhoneViewAllowWaitingCallHeader,
+        /** EPhoneViewBeginTransEffect */
+        EPhoneViewBeginTransEffect,
+        /** EPhoneViewEndTransEffect */
+        EPhoneViewEndTransEffect,
+        /** EPhoneViewSetDialerControlVisible */
+        EPhoneViewSetDialerControlVisible,
+        /** EPhoneViewCloseSingleItemFetchDialog */
+        EPhoneViewCloseSingleItemFetchDialog,
+        /** EPhoneViewGetActivatePreviousApp */
+        EPhoneViewGetActivatePreviousApp,
+        /** EPhoneViewActivatePreviousApp */
+        EPhoneViewActivatePreviousApp,
+        /** EPhoneViewSetPointerCapture */
+        EPhoneViewSetPointerCapture,
+        /** EPhoneViewSetSendKeyDialerActivationFlag */
+        EPhoneViewSetSendKeyDialerActivationFlag,
+        /** EPhoneViewPrepareIcons */
+        EPhoneViewPrepareIcons,
+        /** EPhoneViewKeypadAudioEnabled */
+        EPhoneViewKeypadAudioEnabled,
+        /** EPhoneViewKeypadAudioDisabled */
+        EPhoneViewKeypadAudioDisabled,
+        /** EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel */
+        EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel,
+        /** EPhoneViewRemoveDtmfNote */
+        EPhoneViewRemoveDtmfNote,
+        /** EPhoneViewUpdatePhoneIconToFSW */
+        EPhoneViewUpdatePhoneIconToFSW,
+        /** EPhoneViewSetEikonNotifiersDisabled */
+        EPhoneViewSetEikonNotifiersDisabled,
+        /** EPhoneViewCancelAllNotications */
+        EPhoneViewCancelAllNotications,
+        /** EPhoneViewSetVideoCallDTMFVisibilityFlag */
+        EPhoneViewSetVideoCallDTMFVisibilityFlag,
+        /** EPhoneViewIsKeyLockEnabled */
+        EPhoneViewIsKeyLockEnabled,
+        /** EPhoneViewDisableKeyLock */
+        EPhoneViewDisableKeyLock,
+        /** EPhoneViewLoadPlugins */
+        EPhoneViewLoadPlugins,
+        /** PhoneViewServiceSelection */
+        PhoneViewServiceSelection,
+        /** EPhoneViewOpenVirtualKeyBoard */
+        EPhoneViewOpenVirtualKeyBoard,
+        /** EPhoneViewUpdateNoteSoftkeys */
+        EPhoneViewUpdateNoteSoftkeys,
+        /** EPhoneViewShowCustomizedDialer */
+        EPhoneViewShowCustomizedDialer,
+        /** EPhoneViewHideCustomizedDialer */
+        EPhoneViewHideCustomizedDialer,
+        /** EPhoneViewGetCustomizedDialerMenuResourceId */
+        EPhoneViewGetCustomizedDialerMenuResourceId,
+        /** EPhoneViewGetCustomizedDialerCbaResourceId */
+        EPhoneViewGetCustomizedDialerCbaResourceId,
+        /** EPhoneViewCreatePhoneBookServices */
+        EPhoneViewCreatePhoneBookServices,
+        /** EPhoneViewDisableKeyLockWithoutNote */
+        EPhoneViewDisableKeyLockWithoutNote,
+        /** EPhoneViewGetKeyLockStatus */
+        EPhoneViewGetKeyLockStatus,
+        /** EPhoneViewSetNumberEntryObserver */
+        EPhoneViewSetNumberEntryObserver,
+        /** EPhoneViewGetSingleItemFetchType */
+        EPhoneViewGetSingleItemFetchType,
+        /** EPhoneViewRemoveGlobalWaitNote */
+        EPhoneViewRemoveGlobalWaitNote,
+        /** EPhoneViewSetPhoneCustomization */
+        EPhoneViewSetPhoneCustomization,
+        /** EPhoneViewSetViewCustomization */
+        EPhoneViewSetViewCustomization,
+        /** EPhoneViewSetButtonCustomization */
+        EPhoneViewSetButtonCustomization,
+        /** EPhoneViewUpdateContactByString */
+        EPhoneViewUpdateContactByString,
+        /** EPhoneViewAddContactByString */
+        EPhoneViewAddContactByString,
+        /** EPhoneViewIsActiveNoteDissmissableByKeyEvent */
+        EPhoneViewIsActiveNoteDissmissableByKeyEvent,
+        /** EPhoneViewSetNoConnectedCalls */
+        EPhoneViewSetNoConnectedCalls,
+        /** EPhoneViewIsDTMFEditorVisible */
+        EPhoneViewIsDTMFEditorVisible,
+        /** , // Don't remove this, this should always be the last in list. */
+        EPhoneAmountOfCommands
+        };
+    static const TStringTable Table;    
+    };
 
 #endif // STRINGTABLE_PhoneLoggerviewCommands
 
--- a/phoneapp/phoneuiutils/inc/phonemediatorpackagetypes.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/phonemediatorpackagetypes.h	Fri Mar 19 09:28:42 2010 +0200
@@ -29,18 +29,18 @@
 
 // DATA TYPES
 class TCallIdAndCommandParam
-	{
-	public:
-		TInt iCallId;
-		TPhoneCommandParam iCommandParam;	
-	};
-	
+    {
+    public:
+        TInt iCallId;
+        TPhoneCommandParam iCommandParam;   
+    };
+    
 class TCallIdAndTDesC
-	{
-	public:
-		TInt iCallId;
-		TBuf<KPhoneDescriptorSize> iMessage;		
-	};
+    {
+    public:
+        TInt iCallId;
+        TBuf<KPhoneDescriptorSize> iMessage;        
+    };
 
 typedef TPckgBuf<TInt> TCallIdPackage;
 typedef TPckgBuf<TPhoneCommandParam> TCommandParamPackage;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiutils/inc/phoneresourceids.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,400 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Old Symbian resource ids.
+*
+*/
+
+#ifndef PHONERESOURCEIDS_H
+#define PHONERESOURCEIDS_H
+
+enum
+    {
+    R_PHONE_ERROR_NUMBER_BUSY = 1,
+    R_PHONE_SS_NOTIFICATION_MOCAL_WAITING_TEXT,
+    R_PHONEUI_IDLE_MENUBAR,
+    R_PHONEUIDIALER_NUMBERACQ_MENUBAR,
+    R_PHONEUI_NUMBERACQ_VIDEOCALL_MENUBAR,
+    R_PHONEUI_NUMBERACQ_MENUBAR,
+    R_PHONEUI_NUMBERACQ_OK_VIDEOCALL_MENUBAR,
+    R_PHONEUI_NUMBERACQ_OK_MENUBAR,
+    R_PHONEUI_CALLHANDLING_MENUBAR,
+    R_PHONEUI_CALLHANDLING_EMERGENCY_MENUBAR,//10
+    R_PHONEUIDIALER_NUMBERACQ_EMERGENCY_MENUBAR,
+    R_PHONEUI_CALLHANDLING_EMERGENCY_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_INCOMINGCALL_MENUBAR,
+    R_PHONEUI_INCOMINGVIDEOCALL_MENUBAR,
+    R_PHONEUI_INCOMINGCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_INCOMINGVIDEOCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_ALERTINGCALL_MENUBAR,
+    R_PHONEUI_ALERTINGCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_ACTIVEANDHELD_MENUBAR,
+    R_PHONEUI_ACTIVEANDHELD_MENUBAR_WITH_NUMBERENTRY,//20
+    R_PHONEUI_CALLWAITING_MENUBAR, 
+    R_PHONEUI_CALLWAITING_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_CALLACTIVEHELDANDWAITING_MENUBAR,
+    R_PHONEUI_CALLACTIVEHELDANDWAITING_MENUBAR_VARIED,
+    R_PHONEUI_CALLACTIVEHELDANDWAITING_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_ALERTINGANDHELDCALL_MENUBAR,
+    R_PHONEUI_ALERTINGANDHELDCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_ALERTINGANDCONFHELDCALL_MENUBAR,
+    R_PHONEUI_ALERTINGANDCONFHELDCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_ALERTINGWAITINGANDHELDCONFCALL_MENUBAR,//30
+    R_PHONEUI_ALERTINGWAITINGANDHELDCONFCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_ALERTINGHELDANDWAITINGCALL_MENUBAR,
+    R_PHONEUI_ALERTINGHELDANDWAITINGCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_ALERTINGANDWAITINGCALL_MENUBAR,
+    R_PHONEUI_TOUCH_CONFCALL_MENUBAR,
+    R_PHONEUI_CONFCALL_MENUBAR,
+    R_PHONEUI_CONFCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_TOUCH_CONFANDCALLWAITING_MENUBAR,
+    R_PHONEUI_CONFANDCALLWAITING_MENUBAR,
+    R_PHONEUI_CONFANDCALLWAITING_MENUBAR_WITH_NUMBERENTRY,//40
+    R_PHONEUI_TOUCH_ACTIVECONFANDHELD_MENUBAR,
+    R_PHONEUI_ACTIVECONFANDHELD_MENUBAR,
+    R_PHONEUI_ACTIVECONFANDHELD_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_TOUCH_ACTIVEANDHELDCONF_MENUBAR,
+    R_PHONEUI_ACTIVEANDHELDCONF_MENUBAR,
+    R_PHONEUI_ACTIVEANDHELDCONF_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_TOUCH_CONFCALLACTIVEHELDANDWAITING_MENUBAR,
+    R_PHONEUI_CONFCALLACTIVEHELDANDWAITING_MENUBAR,
+    R_PHONEUI_CONFCALLACTIVEHELDANDWAITING_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_TOUCH_CALLACTIVEHELDCONFANDWAITING_MENUBAR,//50
+    R_PHONEUI_CALLACTIVEHELDCONFANDWAITING_MENUBAR,
+    R_PHONEUI_CALLACTIVEHELDCONFANDWAITING_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_PARTICIPANT_LIST_MENUBAR,
+    R_PHONEUI_PARTICIPANT_LIST_DROP_MENUBAR,
+    R_PHONE_INCALL_VIDEOCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONE_INCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUIDIALER_DTMFVIEW_MENUBAR,
+    R_PHONEUI_EMPTY_CBA,
+    R_PHONEUI_EMERGENCY_IDLE_CBA,
+    R_PHONEUI_SEND_DTMF_NO_CBA,//60
+    R_PHONEUI_SEND_DTMF_EMPTY_EDIT_BOX_CBA,
+    R_PHONEUI_SEND_DTMF_NORMAL_EDIT_BOX_CBA,
+    R_PHONEUI_DTMF_SPEED_DIAL_NORMAL_EDIT_BOX_CBA,
+    R_PHONEUI_NUMBERACQ_VIDEOCALL_CBA,
+    R_PHONEUI_DIALER_CBA,
+    R_PHONEUI_NUMBERACQ_CBA,
+    R_PHONEUI_INCALL_NUMBERACQ_CBA,
+    R_PHONEUI_SETTINGSUI_CBA,
+    R_PHONEUI_CALLHANDLING_CALLSETUP_CBA,
+    R_PHONEUI_CALLHANDLING_CALLSETUP_TOIHF_CBA,//70
+    R_PHONEUI_CALLHANDLING_CALLSETUP_TOHANDSET_CBA,
+    R_PHONEUI_INCALL_DIALER_CBA,
+    R_PHONEUI_CALLHANDLING_INCALL_CBA,
+    R_PHONEUI_CALLHANDLING_INCALL_NOIHF_CBA,
+    R_PHONEUI_CALLHANDLING_INCALL_UNMUTE_CBA,
+    R_PHONEUI_CALLHANDLING_INCALL_UNHOLD_CBA,
+    R_PHONEUI_CALLHANDLING_INCALL_HANDSET_CBA,
+    R_PHONEUI_CALLHANDLING_INCALL_BTAA_CBA,
+    R_PHONEUI_CALLHANDLING_EMERGENCY_CBA,
+    R_PHONEUI_CALLHANDLING_EMERGENCY_HANDSET_CBA,//80
+    R_PHONEUI_CALLHANDLING_EMERGENCY_NOIHF_CBA,
+    R_PHONEUI_CALLHANDLING_EMERGENCY_NO_OPTIONS_CBA,
+    R_PHONEUI_CALLHANDLING_EMERGENCY_NO_OPTIONS_HANDSET_CBA,
+    R_PHONEUI_CALLHANDLING_EMERGENCY_NO_OPTIONS_NOIHF_CBA,
+    R_PHONEUI_CALLHANDLING_INCOMINGCALL_CBA,
+    R_PHONEUI_CALLHANDLING_INCOMINGCALL_REJECT_CBA,
+    R_PHONEUI_CALLHANDLING_INCOMINGCALL_SOFT_REJECT_CBA,
+    R_PHONEUI_CALLHANDLING_CALLWAITING_CBA,
+    R_PHONEUI_CALLHANDLING_NEW_CALL_FIND_CBA,
+    R_PHONEUI_CALLHANDLING_NEW_CALL_CALL_CBA,//90
+    R_PHONEUI_CALLHANDLING_NEW_CALL_SWAP_CBA,
+    R_PHONEUI_NEW_CALL_FETCH_CBA,
+    R_PHONEUI_EXIT_EMERGENCY_MODE_CBA,
+    R_PHONEUI_EMERGENCY_MODE_NOTE_CBA,
+    R_CONFERENCE_DROPPARTICIPANT_SOFTKEYS,
+    R_CONFERENCE_PRIVATE_SOFTKEYS,
+    R_PHONEUI_CALLHANDLING_INCALL_ENDACTIVE_CBA,
+    R_NOTETEXT_NUMBER_NOT_IN_USE,
+    R_NOTETEXT_NUMBER_BARRED,
+    R_NOTETEXT_NUMBER_NOT_IN_CUG,//100
+    R_NOTETEXT_NO_ANSWER,
+    R_NOTETEXT_NETWORK_BUSY,
+    R_NOTETEXT_OUT_OF_RANGE,
+    R_NOTETEXT_CALL_FAILED,
+    R_NOTETEXT_SIGNAL_FADED,
+    R_NOTETEXT_ERROR_IN_CONNECTION,
+    R_NOTETEXT_INVALID_PHONENUMBER,
+    R_NOTETEXT_EMPTY_SIM_LOCATION,
+    R_PHONEUI_CONFERENCE_CALL,
+    R_PHONE_ERROR_EMERGENCY_CALLS_ONLY,
+    R_PHONE_ERROR_CALL_NOT_ALLOWED,
+    R_PHONE_ERROR_CALL_NOT_ALLOWED_FDN,
+    R_PHONE_ERROR_CHECK_NETWORK_SERVICES,
+    R_PHONE_ERROR_REQUEST_REJECTED,
+    R_ERROR_NOTE_NOT_ALLOWED,
+    R_PHONEUI_ERROR_EMERGENCY_ATTEMPT_FAILED,
+    R_PHONEUI_NO_VIDEO_NETWORK,
+    R_PHONEUI_VIDEO_CALL_INCOMING,
+    R_PHONEUI_VIDEO_CALL_INCOMING_SHORT,
+    R_PHONEUI_VIDEOCALL_2G_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_VIDEOCALL_MENUBAR,
+    R_PHONEUI_VIDEOCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_VIDEOCALL_WAITING_MENUBAR,
+    R_PHONEUI_WAITING_LOCK_MENUBAR,
+    R_PHONEUI_TWOSINGLES_WAITING_LOCK_MENUBAR,
+    R_PHONEUI_VIDEOCALL_WAITING_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_SOFTKEYS_EMPTY_BACK,
+//    R_AVKON_IHF_ACTIVATED_CONFIRMATION_NOTE_TEXT,
+//    R_AVKON_IHF_DEACTIVATED_CONFIRMATION_NOTE_TEXT,
+    R_NOTE_TEXT_CONF_AUDIOS_HANDSET,
+    R_NOTE_TEXT_CONF_AUDIOS_BT_ACCESSORY,
+    R_PHONEUI_STRING_LIST,
+    R_NOTETEXT_ALL_INCOMING_CALLS_DIVERTED,
+    R_NOTETEXT_ACTIVE_DIVERTS,
+    R_PHONEUI_DEFAULT_SKEY_LIST,
+    R_PHONEUI_EMERGENCY_CALL_HEADER,
+    R_PHONE_EMERGENCY_NETWORK_CONNECT_WAIT_NOTE,
+    R_PHONE_EMERGENCY_NETWORK_CONNECT_WAIT_NOTE_TOIHF,
+    R_PHONE_EMERGENCY_NETWORK_CONNECT_WAIT_NOTE_TOHANDSET,
+    R_PHONE_EMERGENCY_MODE_INFORMATION_NOTE,
+    R_PHONE_EXIT_EMERGENCY_MODE_QUERY,
+    R_PHONEUI_MTCAL_INCOMING_CALL,
+    R_PHONEUI_MTCAL_INCOMING_CALL_SHORT,
+    R_PHONEUI_OUT_GOING_CALL,
+    R_PHONEUI_OUT_GOING_CALL_SHORT,
+    R_PHONEUI_OUT_GOING_VIDEO_CALL,
+    R_PHONEUI_OUT_GOING_VIDEO_CALL_SHORT,
+//    R_QTN_TIME_DURAT_LONG_WITH_ZERO,
+    R_PHONEUI_SEND_DTMF_QUERY,
+    R_PHONEUI_SENDING_DTMF_WAIT_NOTE,
+    R_PHONEUI_SENDING_DTMF_WAIT_NOTE_TEXT,
+    R_PHONEUI_DTMF_WAIT_CHARACTER_CONFIRMATION_QUERY,
+    R_PHONEUI_DTMF_WAIT_CHARACTER_CONFIRMATION_QUERY_TEXT,
+    R_PHONEUI_TITLE_IN_DTMF_FETCH,
+    R_PHONEUI_DTMF_SPEED_DIAL_NUMBER_QUERY,
+    R_ERROR_NOTE_SPEED_DIAL_NOT_ASSIGNED,
+    R_ERROR_NOTE_INVALID_SPEED_DIAL,
+    R_PHONEUI_ALS_CONFIRMATION_QUERY,
+    R_PHONEUI_LINE_BLOCKING_NOTE_TEXT,
+    R_PHONEUI_MTCAL_INCOMING_LINE2,
+    R_PHONEUI_MTCAL_WAITING_NUMBER_LINE2,
+    R_PHONEUI_MTCAL_ARRIVING_NUMBER_LINE2,
+    R_PHONEUI_MULTC_WAITING,
+    R_PHONEUI_MULTC_INFO_WAIT_WITHOUT,
+    R_PHONEUI_MULTC_INFO_WAIT_WITH,
+    R_PHONEUI_GPRS_CONN_IN_PROGRESS,
+    R_PHONEUI_MULTC_WAITING_SHORT,
+    R_PHONEUI_NEW_CALL_PHONE_NUMBER_EDITOR,
+    R_PHONEUI_TITLE_IN_NEW_CALL_FETCH,
+    R_PHONEUI_IDLE_APPS,
+    R_PHONE_DISCONNECTING_NETWORK_WAIT_NOTE,
+    R_PHONE_INCALL_MUTED_PANE,
+    R_PHONEUI_INCALL_CALL_NUMBER,
+    R_PHONEUI_INCALL_CALL_DISCONNECTED,
+    R_PHONE_ERROR_CALL_IN_PROGRESS,
+    R_CONFERENCE_DROPPARTICIPANT_DIALOG,
+    R_CONFERENCE_PRIVATE_DIALOG,
+    R_PHONEUI_AUTOMATICREDIAL_WAIT_NOTE,
+    R_PHONE_INFORMATION_NOTE,
+    R_PHONE_INFORMATION_NOTE_WITH_WAIT,
+    R_PHONE_ERROR_NOTE,
+    R_PHONE_WARNING_NOTE,
+    R_PHONE_CONFIRMATION_NOTE,
+    R_PHONE_IMEI_STRING,
+    R_PHONE_SECURITY_INFORMATION_NOTE,
+    R_PHONE_BT_DEV_ADDRESS,
+    R_INCAL_INFO_HOLD_TEXT,
+    R_INCAL_REMOTE_ACTIVE_TEXT,
+    R_INCAL_REMOTE_CREATE_CONFERENCE_TEXT,
+    R_PHONE_SS_NOTIFICATION_INCAL_INFO_HOLD_TEXT,
+    R_PHONE_SS_NOTIFICATION_INCAL_TRANSFERRED_TEXT,
+    R_INCAL_INFO_HOLD_CLI_TEXT,
+    R_INCAL_INFO_CONF_HOLD_TEXT,
+    R_INCAL_INFO_HOLD_NOCLI_TEXT,
+    R_MULTC_INFO_CONFERENCE_TEXT,
+    R_PHONEUI_INCALL_CALL_HELD,
+    R_MULTC_UNHOLD_DONE_TEXT,
+    R_REQUESTING_WAIT_NOTE,
+    R_MULTC_CLI_UNHOLD_DONE_TEXT,
+    R_NOTETEXT_DIVERTING,
+    R_NOTETEXT_DIVERTING_INCOMING_CALL,
+    R_NOTETEXT_CALL_BARRINGS,
+    R_PHONEUI_MTCAL_CLI_WITHHELD,
+    R_PHONEUI_NOTE_TEXT_POST_CALL_SUMMARY,
+    R_PHONEUI_NOTE_TEXT_POST_CALL_DURATION,
+    R_PHONEUI_IDLE_TIME_FORMAT,
+    R_PHONEUI_LIFE_TIMER_STRING,
+    R_PHONEUI_NOTE_TEXT_PHONE_ENGINE_FAILED_AT_STARTUP,
+    R_PHONE_MTCAL_CLI_PAYPHONE,
+    R_PHONE_ERROR_CALL_BARRED_IN_CUG,
+    R_PHONE_ERROR_SELECT_CUG,
+    R_PHONE_ERROR_CUG_UNKNOWN,
+    R_PHONE_ERROR_NOT_POSSIBLE_IN_CUG,
+    R_PHONE_ERROR_CHECK_CUG,
+    R_PHONE_ERROR_CHECK_CLIR,
+    R_PHONE_SS_NOTIFICATION_CLIR_SUPPR_REJECT_TEXT,
+    R_PHONE_WLAN_MAC_STRING,
+    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,
+    R_PHONE_INCALL_INFO_VIDEO_CALL_NOT_ALLOWED_DURING_RESTORE,
+    R_PHONEUI_SIM_REJECTED,
+    R_PHONEUI_SIM_UNACCEPTED,
+    R_PHONEUI_SIM_REMOVED,
+    R_PHONEUI_REBOOT_REQUIRED,
+    R_PHONEUI_VIDEO_CALL_NOT_POSSIBLE,
+    R_PHONEUI_CONTINUE_IN_HANDSET,
+    R_PHONEUI_CONTINUE_IN_LOUDSPEAKER,
+//    R_AVKON_SOFTKEYS_YES_NO,
+    R_PHONEUI_ALERTINGVIDEOCALL_MENUBAR,
+    R_PHONEUI_CALLCOMING_SOFTKEYS_WHEN_SLIDER,
+    R_PHONEUI_CALLCOMING_SOFTKEYS_WHEN_SILENT_SLIDER,
+    R_PHONEUI_SOFTKEYS_OPTIONS_SOFTREJECT_SLIDER,
+    R_PHONE_INCALL_INFO_VIDEO_CALL_SETUP_FAILED,
+    R_PHONE_ERROR_NO_SERVICE,
+    R_PHONEUI_INCALL_BUTTONS,
+    R_PHONEUI_TWO_SINGLES_BUTTONS,
+    R_PHONEUI_CONFERENCE_BUTTONS,
+    R_PHONEUI_PARTICIPANT_LIST_BUTTONS,
+    R_PHONEUI_CONFERENCE_AND_SINGLE_BUTTONS,
+    R_PHONEUI_CONFERENCE_AND_HELD_SINGLE_BUTTONS,
+    R_PHONEUI_EMERGENCY_CALL_BUTTONS,
+    R_CONFERENCE_PARTICIPANT_LIST_SOFTKEYS,
+    R_PHONEUI_BT_TOGGLE_BUTTON,
+    R_PHONEUI_IHF_TOGGLE_BUTTON,
+    R_PHONEUI_INCOMING_CALL_BUTTONS,
+    R_PHONEUI_CALL_SETUP_BUTTONS,
+    R_PHONEUI_WAITING_CALL_BUTTONS,
+    R_PHONEUI_CALL_SETUP_AND_SINGLE_BUTTONS,
+    R_CALL_INFO_CAUSE_VALUE3,
+    R_CALL_INFO_CAUSE_VALUE16,
+    R_CALL_INFO_CAUSE_VALUE18,
+    R_CALL_INFO_CAUSE_VALUE21,
+    R_CALL_INFO_CAUSE_VALUE22,
+    R_CALL_INFO_CAUSE_VALUE31,
+    R_CALL_INFO_CAUSE_VALUE34,
+    R_CALL_INFO_CAUSE_VALUE38,
+    R_CALL_INFO_CAUSE_VALUE50,
+    R_CALL_INFO_CAUSE_VALUE55,
+    R_CALL_INFO_CAUSE_VALUE57,
+    R_CALL_INFO_CAUSE_VALUE58,
+    R_CALL_INFO_CAUSE_VALUE88,
+    R_CALL_INFO_CAUSE_VALUE127,
+    R_CALL_INFO_NOT_SUPPORTED,
+    R_CALL_INFO_SERVICE_NOT_AVAILABLE,
+    R_PHONE_DTMF_LIST_QUERY,
+    R_PHONE_TTY_INFO_NO_AUDIO_CONTROL,
+    R_DIALER_ADD_TO_CONTACTS_SELECTION_LIST_QUERY,
+    R_PHONEUI_DTMFDIALER_SOFTKEYS_OPTIONS_CANCEL,
+    R_PHONEUI_DIALER_NUMBERENTRY_PROMPT_TEXT,
+    R_PHONEUI_MTCAL_CALL,
+    R_NOTE_INCAL_QUERY_VCALL_FAILED,
+    R_NOTE_TEXT_CLIR_CHANGE,
+    R_NOTE_TEXT_CUG_IN_USE,
+    R_PHONEUI_MTCAL_DIVERTED_CALL,
+    R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_DTMFDIALER_CBA,
+    R_PHONEUI_CALLHANDLING_CALLSETUP_EMPTY_ENDOUTGOING_CBA,
+    R_PHONEUI_CALLHANDLING_CALLSETUP_TOIHF_DTMFDIALER_CBA,
+    R_PHONEUI_CALLHANDLING_CALLSETUP_TOIHF_ENDOUTGOING_CBA,
+    R_PHONEUI_CALLHANDLING_CALLSETUP_TOHANDSET_DTMFDIALER_CBA,
+    R_PHONEUI_CALLHANDLING_CALLSETUP_TOHANDSET_ENDOUTGOING_CBA,
+    R_PHONE_EMERGENCY_NETWORK_CONNECT_WAIT_NOTE_EMPTY_DIALER,
+    R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU,
+    R_PHONEUI_NUMBERACQ_OPTIONS_MENU,
+    R_PHONEUIDIALER_OPTIONS_MENU,
+    R_PHONEUI_CALLHANDLING_INCALL_OPTIONS_MENU,
+    R_PHONEUI_CALLWAITING_OPTIONS_MENU,
+    R_PHONEUI_ACTIVEANDHELDCALL_OPTIONS_MENU,
+    R_PHONEUI_ACTIVEANDHELDCONFCALL_OPTIONS_MENU,
+    R_PHONEUI_CALLACTIVEHELDANDWAITING_OPTIONS_MENU,
+    R_PHONEUI_TIME_DURAT_LONG_WITH_ZERO,
+    R_PHONEUI_CALLCOMING_SWIVEL_CLOSED_CBA,
+    R_PHONEUI_CALLCOMING_SILENT_SWIVEL_CLOSED_CBA,
+    R_PHONEUI_WAITING_ANSWER_SWIVEL_CLOSED_CBA,
+    R_PHONEUI_WAITING_REPLACE_SWIVEL_CLOSED_CBA,
+    R_PHONEUI_ALERTINGANDWAITINGCALL_MENUBAR_WITH_NUMBERENTRY,
+    R_PHONEUI_NUMBERACQ_MENUBAR_VOIP,
+    R_PHONEUI_NUMBERACQ_MENUBAR_VOIP_WITH_SERVICE_NUMBER,
+    R_PHONEUI_NUMBERACQ_OK_MENUBAR_VOIP,
+    R_PHONEUI_NUMBERACQ_OK_MENUBAR_VOIP_WITH_SERVICE_NUMBER,
+    R_PHONEUI_NUMBERACQ_INTERNETCALL_CBA,
+    R_PHONEUI_VOIP_PRIVATE_ADDRESS,
+    R_PHONE_VOIP_NO_AUDIO_SUPPORT,
+    R_PHONE_VOIP_NO_VOIP_SERVICE_ERROR,
+    R_PHONE_VOIP_CALL_BEING_FORWARDED,
+    R_NO_SERVICE_AVAILABLE_INFO,
+    R_PHONE_VOIP_ADDRESS_NOT_IN_USE,
+    R_PHONE_VOIP_REQUEST_TIME_OUT,
+    R_PHONE_VOIP_INVALID_RECIPIENT_ADDRESS,
+    R_PHONE_VOIP_NUMBER_BUSY,
+    R_PHONE_VOIP_NOT_FOUND,
+    R_PHONE_VOIP_NO_ANSWER,
+    R_PHONE_SS_NOTIFICATION_TEXT_VOIP_SIPS_FAILED,
+    R_VOIP_NETWORK_ERROR_NOTE,
+    R_VOIP_HOLD_FAILED,
+    R_VOIP_HOLD_NUMBER_FAILED,
+    R_VOIP_RESUME_FAILED,
+    R_VOIP_RESUME_NUMBER_FAILED,
+    R_VOIP_SWAP_FAILED,
+    R_VOIP_CONFERENCE_HOLD_FAILED,
+    R_VOIP_CONFERENCE_RESUME_FAILED,
+    R_VOIP_TRANSFER_FAILED_NOTE,
+    R_VOIP_TRANSFER_WAITING_ACCEPTENCE,
+    R_VOIP_CALL_TYPE_INTERNET,
+    R_VOIP_UNATTENDED_TRANSFER_OPTION,       
+    R_PHONE_VOIP_TRANSFER_ACCEPT,
+    R_PHONE_VOIP_TRANSFER_ACCEPT_CLI,
+    R_PHONE_VOIP_QUERY_ACC_ID_HEADER,
+    R_VOIP_TRANSFER_ADDRESS,
+    R_PHONEUIDIALER_NUMBERENTRY_EMPTY_TRANSFER_MENUBAR,
+    R_PHONEUIDIALER_NUMBERENTRY_NOT_EMPTY_TRANSFER_MENUBAR,
+    R_PHONEUI_TRANSFER_DIALER_SOFTKEYS_OPTIONS_CANCEL,
+    R_PHONE_TRANSFER_VOIP_CALL_QUERY,
+    R_PHONE_VOIP_SOFTKEYS_SEARCH_CANCEL,
+    R_PHONE_VOIP_SOFTKEYS_OK_CANCEL,
+    R_PHONE_NEW_VOIP_CALL_QUERY,
+    R_PHONE_NEW_VOIP_CALL_SOFTKEYS_SEARCH_CANCEL,
+    R_PHONE_VOIP_NEW_CALL_SOFTKEYS_OK_CANCEL,
+    R_PHONE_VOIP_CONNECTING_SERVICE,
+    R_PHONEUI_VOIP_ERROR_NOTE_AUTHENTICATION_FAILED,
+    R_VOIP_HANDOVER_TO_WLAN_OPTION,      
+    R_VOIP_HANDOVER_TO_GSM_OPTION,
+    R_PHONE_VOIP_NEW_CALL_OPTION,       
+    R_PHONEUI_VOIP_ERROR_IN_CONNECTION,
+    R_VOIP_VCC_WAIT_HO_FROM_WLAN,      
+    R_VOIP_VCC_WAIT_HO_FROM_GSM,      
+    R_VOIP_VCC_INFO_HO_FAILED,
+    R_PHONEUI_VOIP_QUERY_HEADER_MOVED_PERMANENTLY,
+    R_PHONE_VOIP_SOFTKEYS_OK_END_CALL,
+    R_PHONE_VOIP_MULTIPLE_CHOICES_LIST_QUERY,
+    R_PHONE_VOIP_NO_CONNECTIONS_DEFINED,
+    R_PHONE_VOIP_NO_CONNECTIONS_AVAILABLE,
+    R_PHONE_VOIP_CONNECTION_DOES_NOT_SUPPORT_CALLS,
+    R_PHONE_VOIP_CONNECTION_NOT_AVAILABLE_DURING_ALR,
+    R_PHONE_VOIP_CREATING_CONN_FAILED_PERMANENTLY,
+    R_PHONEUI_NEW_CALL_MENU_VOIP,
+    R_PHONEUI_NUMBERACQ_OPTIONS_MENU_VOIP,
+    R_PHONEUI_NUMBERACQ_OPTIONS_MENU_VOIP_WITH_SERVICE_NUMBER,
+    R_PHONEUI_NUMBERACQ_OPTIONS_MENU_ITEM_ALPHA_MODE,
+    R_PHONEUI_NUMBERACQ_OPTIONS_MENU_ITEM_NUMERIC_MODE,
+    R_VOIP_DIALER_TOOLTIP_ACCEPT,
+    R_VOIP_DIALER_TOOLTIP_SEARCH,
+    R_PHONEUI_INCALL_HELD_BUTTONS,
+    R_PHONEUI_ATTEMPTING_EMERGENCY_CALL_TEXT,
+    R_NOTE_PHONE_OUT_OF_3G_COVERAGE,
+    R_NOTE_CALLED_NUMBER_HAS_BARRED_INCOMING_CALLS,
+    R_NOTE_VIDEO_CALL_ONLY_POSSIBLE_UNDER_3G_COVERAGE,
+    R_NOTE_UNABLE_TO_MAKE_VIDEO_CALL_NOT_SUPPORTED_BY_OTHER_PHONE,
+    R_NOTETEXT_USE_KEYGUARD_TO_UNLOCK,
+    R_PHONEUI_CALLHANDLING_EMERGENCY_INCALL_NO_OPTIONS,
+    EPhoneResourceLast
+    };
+
+#endif // PHONERESOURCEIDS_H
--- a/phoneapp/phoneuiutils/inc/phonerssbase.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/phonerssbase.h	Fri Mar 19 09:28:42 2010 +0200
@@ -383,12 +383,16 @@
     EPhoneWaitingCallButtons,
     EPhoneCallSetupAndSingleButtons,
     
-    // Video call error notes
+// Video call error notes
     EPhoneNotePhoneOutOf3GCoverage, // cause 3,31,69
     EPhoneNoteVideoCallOnlyPossibleUnder3GCoverage, // cause 50
     EPhoneNoteUnableToMakeVideoCallNotSupportedByOtherPhone, // cause 57,88 
     EPhoneNoteCalledNumberHasBarredIncomingCalls, // cause 21
-
+    
+// <-- QT PHONE START -->
+    EPhoneIncallHeldButtons,
+    EPhoneAttemptingEmergencyText,
+// <-- QT PHONE END -->
     // Last
     EPhoneRssBaseLast
     };
--- a/phoneapp/phoneuiutils/inc/phonestatestrings.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/phonestatestrings.h	Fri Mar 19 09:28:42 2010 +0200
@@ -27,27 +27,27 @@
 
 /** A String table */
 class PhoneStateStrings 
-	{
+    {
 public:
-	enum TStrings
-		{
-		/** EPhoneStateNull */
-		EPhoneStateNull,
-		/** EPhoneStateStartup */
-		EPhoneStateStartup,
-		/** EPhoneStateIdle */
-		EPhoneStateIdle,
-		/** EPhoneStateCallSetup */
-		EPhoneStateCallSetup,
-		/** EPhoneStateSingle */
-		EPhoneStateSingle,
-		/** EPhoneStateIncoming */
-		EPhoneStateIncoming,
-		/** EPhoneStateEmergency */
-		EPhoneStateEmergency
-		};
-	static const TStringTable Table;	
-	};
+    enum TStrings
+        {
+        /** EPhoneStateNull */
+        EPhoneStateNull,
+        /** EPhoneStateStartup */
+        EPhoneStateStartup,
+        /** EPhoneStateIdle */
+        EPhoneStateIdle,
+        /** EPhoneStateCallSetup */
+        EPhoneStateCallSetup,
+        /** EPhoneStateSingle */
+        EPhoneStateSingle,
+        /** EPhoneStateIncoming */
+        EPhoneStateIncoming,
+        /** EPhoneStateEmergency */
+        EPhoneStateEmergency
+        };
+    static const TStringTable Table;    
+    };
 
 #endif // STRINGTABLE_PhoneStateStrings
 
--- a/phoneapp/phoneuiutils/inc/phonestatestringsgsm.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/phonestatestringsgsm.h	Fri Mar 19 09:28:42 2010 +0200
@@ -27,44 +27,44 @@
 
 /** A String table */
 class PhoneStateStringsGSM 
-	{
+    {
 public:
-	enum TStrings
-		{
-		// GSM States - start at KPhoneStateProtocolFirst
-		/** EPhoneStateAlerting */
-		EPhoneStateAlerting,
-		/** EPhoneStateAlertingInSingle */
-		EPhoneStateAlertingInSingle,
-		/** EPhoneStateWaitingInSingle */
-		EPhoneStateWaitingInSingle,
-		/** EPhoneStateTwoSingles */
-		EPhoneStateTwoSingles,
-		/** EPhoneStateCallSetupInSingle */
-		EPhoneStateCallSetupInSingle,
-		/** EPhoneStateConference */
-		EPhoneStateConference,
-		/** EPhoneStateConferenceAndCallSetup */
-		EPhoneStateConferenceAndCallSetup,
-		/** EPhoneStateConferenceAndSingle */
-		EPhoneStateConferenceAndSingle,
-		/** EPhoneStateConferenceAndWaiting */
-		EPhoneStateConferenceAndWaiting,
-		/** EPhoneStateSingleAndCallSetupAndWaiting */
-		EPhoneStateSingleAndCallSetupAndWaiting,
-		/** EPhoneStateCallSetupAndWaiting */
-		EPhoneStateCallSetupAndWaiting,
-		/** EPhoneStateTwoSinglesAndWaiting */
-		EPhoneStateTwoSinglesAndWaiting,
-		/** EPhoneStateConferenceAndSingleAndWaiting */
-		EPhoneStateConferenceAndSingleAndWaiting,
-		/** EPhoneStateConferenceAndWaitingAndCallSetup */
-		EPhoneStateConferenceAndWaitingAndCallSetup,
-		/** EPhoneStateLastGSMState */
-		EPhoneStateLastGSMState
-		};
-	static const TStringTable Table;	
-	};
+    enum TStrings
+        {
+        // GSM States - start at KPhoneStateProtocolFirst
+        /** EPhoneStateAlerting */
+        EPhoneStateAlerting,
+        /** EPhoneStateAlertingInSingle */
+        EPhoneStateAlertingInSingle,
+        /** EPhoneStateWaitingInSingle */
+        EPhoneStateWaitingInSingle,
+        /** EPhoneStateTwoSingles */
+        EPhoneStateTwoSingles,
+        /** EPhoneStateCallSetupInSingle */
+        EPhoneStateCallSetupInSingle,
+        /** EPhoneStateConference */
+        EPhoneStateConference,
+        /** EPhoneStateConferenceAndCallSetup */
+        EPhoneStateConferenceAndCallSetup,
+        /** EPhoneStateConferenceAndSingle */
+        EPhoneStateConferenceAndSingle,
+        /** EPhoneStateConferenceAndWaiting */
+        EPhoneStateConferenceAndWaiting,
+        /** EPhoneStateSingleAndCallSetupAndWaiting */
+        EPhoneStateSingleAndCallSetupAndWaiting,
+        /** EPhoneStateCallSetupAndWaiting */
+        EPhoneStateCallSetupAndWaiting,
+        /** EPhoneStateTwoSinglesAndWaiting */
+        EPhoneStateTwoSinglesAndWaiting,
+        /** EPhoneStateConferenceAndSingleAndWaiting */
+        EPhoneStateConferenceAndSingleAndWaiting,
+        /** EPhoneStateConferenceAndWaitingAndCallSetup */
+        EPhoneStateConferenceAndWaitingAndCallSetup,
+        /** EPhoneStateLastGSMState */
+        EPhoneStateLastGSMState
+        };
+    static const TStringTable Table;    
+    };
 
 #endif // STRINGTABLE_PhoneStateStringsGSM
 
--- a/phoneapp/phoneuiutils/inc/tphonecmdparamcallheaderdata.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/tphonecmdparamcallheaderdata.h	Fri Mar 19 09:28:42 2010 +0200
@@ -23,9 +23,14 @@
 //  INCLUDES
 
 #include <w32std.h>
+// <-- QT PHONE START -->
+#include <cntdef.h>
+// <-- QT PHONE START -->
 #include "tphonecommandparam.h"
 #include "phoneconstants.h"
-#include "bmbubblemanager.h"
+// <-- QT PHONE START -->
+//#include "bmbubblemanager.h"
+// <-- QT PHONE START -->
 
 // DATA TYPES
 
@@ -44,6 +49,14 @@
             EPhoneParticipantCLIText,
             EPhoneParticipantCNAPText,                
             };
+
+// <-- QT PHONE START -->         
+        enum TPhoneTextClippingDirection
+            {
+            ERight,
+            ELeft
+            };
+// <-- QT PHONE END --> 
            
     public:  
         
@@ -95,29 +108,45 @@
         * @param aCLI is the CLI text
         * @param aDirection Clipping direction of the CLI text.
         */
+// <-- QT PHONE START --> 
+//        IMPORT_C void SetCLIText( const TDesC& aCLIText, 
+//                                  CBubbleManager::TPhoneClippingDirection aDirection );
         IMPORT_C void SetCLIText( const TDesC& aCLIText, 
-                                  CBubbleManager::TPhoneClippingDirection aDirection );
+                                  TPhoneTextClippingDirection aDirection );
+// <-- QT PHONE END --> 
 
         /**
         * Sets the call header CNAP text
         * @param aCNAP is the CNAP text
         * @param aDirection Clipping direction of the CNAP text.
         */
+// <-- QT PHONE START -->
+//        IMPORT_C void SetCNAPText( const TDesC& aCNAPText,
+//                CBubbleManager::TPhoneClippingDirection aDirection );
         IMPORT_C void SetCNAPText( const TDesC& aCNAPText,
-                CBubbleManager::TPhoneClippingDirection aDirection );
+                                   TPhoneTextClippingDirection aDirection );
+// <-- QT PHONE END -->
 
         /**
         * Sets the call header picture
         * @param aPicture is the picture data
         */
         IMPORT_C void SetPicture( const TDesC& aPicture );
-        
+
+// <-- QT PHONE START -->         
         /**
         * Sets the call flag
         * @param call flag
         */
-        IMPORT_C void SetCallFlag( 
-            CBubbleManager::TPhoneCallTypeFlags aCallFlag );
+//        IMPORT_C void SetCallFlag(
+//          CBubbleManager::TPhoneCallTypeFlags aCallFlag );
+
+        /**
+        * Sets the call header diverted status.
+        * @param call flag
+        */
+        IMPORT_C void SetDiverted( TBool aDiverted );
+// <-- QT PHONE END --> 
             
         /**
         * Sets the call header line2 status.
@@ -129,8 +158,10 @@
         * Adds the call flag
         * @param call flag
         */
-        IMPORT_C void AddCallFlag( 
-            CBubbleManager::TPhoneCallTypeFlags aCallFlag );
+// <-- QT PHONE START -->
+//        IMPORT_C void AddCallFlag( 
+//            CBubbleManager::TPhoneCallTypeFlags aCallFlag );
+// <-- QT PHONE END -->
 
         /**
         * Returns the call header label text
@@ -178,13 +209,15 @@
          * Returns the clipping direction of the CLI text.
          * @return  Clipping direction of the CLI text.
          */
-        IMPORT_C CBubbleManager::TPhoneClippingDirection CLITextClippingDirection() const;
+// <-- QT PHONE START -->         
+        IMPORT_C TPhoneTextClippingDirection CLITextClippingDirection() const;
 
         /**
          * Returns the clipping direction of the CNAP text.
          * @return  Clipping direction of the CNAP text.
          */
-        IMPORT_C CBubbleManager::TPhoneClippingDirection CNAPTextClippingDirection() const;
+        IMPORT_C TPhoneTextClippingDirection CNAPTextClippingDirection() const;
+// <-- QT PHONE END -->         
         
         /**
         * Returns the call header CNAP text.
@@ -198,11 +231,19 @@
         */
         IMPORT_C const TDesC& Picture() const;
         
+// <-- QT PHONE START -->         
         /**
         * Returns the call flag
         * @return Returns the call flag
         */
-        IMPORT_C TUint32 CallFlag() const;
+//      IMPORT_C TUint32 CallFlag() const;
+
+        /**
+        * Returns call diverted status.
+        * @return Returns ETrue if diverted call.
+        */
+        IMPORT_C TBool Diverted() const;
+// <-- QT PHONE END -->         
         
         /**
         * Returns the call header line 2 active.
@@ -318,7 +359,7 @@
         /**
         * Call header short label text
         */
-    	TBuf<KPhoneCallHeaderLabelMaxLength> iShortLabelText;
+        TBuf<KPhoneCallHeaderLabelMaxLength> iShortLabelText;
 
         /**
         * Call header call state
@@ -348,12 +389,17 @@
         /**
          * Clipping direction of the CLI text.
          */
-        CBubbleManager::TPhoneClippingDirection iCLITextClippingDirection;
-        
+// <-- QT PHONE START -->         
+        TPhoneTextClippingDirection iCLITextClippingDirection;
+// <-- QT PHONE END -->
+       
         /**
          * Clipping direction of the CLI text.
          */
-        CBubbleManager::TPhoneClippingDirection iCNAPTextClippingDirection;
+// <-- QT PHONE START -->
+//        CBubbleManager::TPhoneClippingDirection iCNAPTextClippingDirection;
+        TPhoneTextClippingDirection iCNAPTextClippingDirection;
+// <-- QT PHONE END -->
         
         /**
         * Call header CNAP Text
@@ -365,10 +411,13 @@
         */
         TPtrC iPicture;
         
+// <-- QT PHONE START -->         
         /**
-        * Call flag
+        * Call flag.
         */
-        TUint32     iCallFlag;
+//        TUint32     iCallFlag;
+// <-- QT PHONE END -->         
+
         
         TBool iLine2;
         
@@ -413,6 +462,13 @@
          * Remote phone number
          */
         TPtrC iRemotePhoneNumber;
+
+// <-- QT PHONE START -->                 
+        /**
+         * Call divert status.
+         */
+        TBool iDiverted;        
+// <-- QT PHONE END -->         
     };
 
 #endif // __TPHONECMDPARAMCALLHEADERDATA_H   
--- a/phoneapp/phoneuiutils/inc/tphonecmdparamincallindicatordata.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/tphonecmdparamincallindicatordata.h	Fri Mar 19 09:28:42 2010 +0200
@@ -118,14 +118,14 @@
         /**
         * Sets the little bubble visible or hidden
         * @param aVisible EFalse to prevent little bubble from showing
-        * 		 		  ETrue to set visible
+        *                 ETrue to set visible
         */
         IMPORT_C void SetLittleBubbleVisible( TBool aVisible );
         
         /**
         * Returns the little bubble visible status
         * @return Returns EFalse when little bubble is wanted to be hidden
-        *		  ETrue to be visible
+        *         ETrue to be visible
         */
         IMPORT_C TBool LittleBubbleVisible() const;
 
--- a/phoneapp/phoneuiutils/inc/tphonecmdparamquery.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/tphonecmdparamquery.h	Fri Mar 19 09:28:42 2010 +0200
@@ -161,12 +161,13 @@
         * @param aParamId command id
         */
         IMPORT_C void SetCommandParamId( TPhoneCommandParam::TPhoneParamId aParamId );
-
+        // <-- QT PHONE START -->
         /**
-        * Sets the timeout.
+        * Sets the timeout in milliseconds.
         * Query will destroyed after this time 
         * @param aTimeOut is integer value
         */
+        // <-- QT PHONE END -->
         IMPORT_C void SetTimeOut( TInt aTimeOut );
 
 
--- a/phoneapp/phoneuiutils/inc/tphonecmdparamspeeddial.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/inc/tphonecmdparamspeeddial.h	Fri Mar 19 09:28:42 2010 +0200
@@ -90,7 +90,7 @@
         /**
         * Returns the speed dial location.
         * @return values from 1 to 9 for succesfull location.
-        *		  Values below 0 indicate unsuccesfull location fetch.
+        *         Values below 0 indicate unsuccesfull location fetch.
         */
         IMPORT_C TInt Location();
 
@@ -98,7 +98,7 @@
         * Sets the serviceId
         * @param aServiceId The serviceId user has selected for speeddial
         */
-        IMPORT_C void SetServiceId( TUint aServiceId );	
+        IMPORT_C void SetServiceId( TUint aServiceId ); 
 
         /**
         * Returns the serviceId
--- a/phoneapp/phoneuiutils/src/cphoneLogger.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphoneLogger.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -64,7 +64,7 @@
 CPhoneLogger::~CPhoneLogger()
     {
 #if (PHONEUI_LOGGING_OUTPUT == RDEBUG_LOGGING || PHONEUI_LOGGING_OUTPUT == FILE_LOGGING)
-	iPool.Close();
+    iPool.Close();
 #endif
     }
 
@@ -77,7 +77,7 @@
     TPhoneUILoggingLevel aLevel, 
     TPhoneUILoggingComponent aLoggingComponent )
     {
-		__ASSERT_DEBUG( aLoggingComponent < iLogLevelArray.Count(),
+        __ASSERT_DEBUG( aLoggingComponent < iLogLevelArray.Count(),
         Panic( EPhoneUtilsIndexOutOfBounds ) );
         
     return ( aLevel <= iLogLevelArray[aLoggingComponent] );
@@ -500,36 +500,36 @@
     iLoggingComponent = aLoggingComponent;
     iString = aString;
     TBuf<KMaxLogLineLength> str;
-	switch( iLoggingComponent )
-		{
-		case EPhoneControl:
-			str.Append( KPhoneUIControl );
-			break;
-		
-		case EPhonePhoneapp:
-			str.Append( KPhoneUI );
-			break;
-			
-		case EPhoneUIView:
-			str.Append( KPhoneUIView );
-			break;
-			
-		case EPhoneUIStates:
-			str.Append( KPhoneUIStates );
-			break;
-			
-		case EPhoneUIUtils:
-			str.Append( KPhoneUIUtils );
-			break;
+    switch( iLoggingComponent )
+        {
+        case EPhoneControl:
+            str.Append( KPhoneUIControl );
+            break;
+        
+        case EPhonePhoneapp:
+            str.Append( KPhoneUI );
+            break;
+            
+        case EPhoneUIView:
+            str.Append( KPhoneUIView );
+            break;
+            
+        case EPhoneUIStates:
+            str.Append( KPhoneUIStates );
+            break;
+            
+        case EPhoneUIUtils:
+            str.Append( KPhoneUIUtils );
+            break;
 
-		case EPhoneMediatorCenter:
-			str.Append( KPhoneMediatorCenter );
-			break;
-						
-		default:
-			break;
-		}
-		
+        case EPhoneMediatorCenter:
+            str.Append( KPhoneMediatorCenter );
+            break;
+                        
+        default:
+            break;
+        }
+        
     str.Append( iString );
     str.Append( KLessThan );
     
@@ -545,35 +545,35 @@
 EXPORT_C CPhoneMethodLogger::~CPhoneMethodLogger()
     {
     TBuf<KMaxLogLineLength> str;
-	switch( iLoggingComponent )
-		{
-		case EPhoneControl:
-			str.Append( KPhoneUIControl );
-			break;
-		
-		case EPhonePhoneapp:
-			str.Append( KPhoneUI );
-			break;
-			
-		case EPhoneUIView:
-			str.Append( KPhoneUIView );
-			break;
-			
-		case EPhoneUIStates:
-			str.Append( KPhoneUIStates );
-			break;
-			
-		case EPhoneUIUtils:
-			str.Append( KPhoneUIUtils );
-			break;
+    switch( iLoggingComponent )
+        {
+        case EPhoneControl:
+            str.Append( KPhoneUIControl );
+            break;
+        
+        case EPhonePhoneapp:
+            str.Append( KPhoneUI );
+            break;
+            
+        case EPhoneUIView:
+            str.Append( KPhoneUIView );
+            break;
+            
+        case EPhoneUIStates:
+            str.Append( KPhoneUIStates );
+            break;
+            
+        case EPhoneUIUtils:
+            str.Append( KPhoneUIUtils );
+            break;
 
-		case EPhoneMediatorCenter:
-			str.Append( KPhoneMediatorCenter );
-			break;
-			
-		default:
-			break;
-		}
+        case EPhoneMediatorCenter:
+            str.Append( KPhoneMediatorCenter );
+            break;
+            
+        default:
+            break;
+        }
     str.Append( iString );
     str.Append( KGreaterThan );
 
--- a/phoneapp/phoneuiutils/src/cphonecallthememonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphonecallthememonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -56,8 +56,9 @@
     // Get all current values
     TRAP_IGNORE( ReadAllL() );
     
+// <-- QT PHONE START-->    
     // Start listen changes in setting and image path
-    CPhoneCenRepProxy::Instance()->NotifyChangeL(
+    /*CPhoneCenRepProxy::Instance()->NotifyChangeL(
         KCRUidThemes, 
         KThemesCallImagePath,
         this );
@@ -65,7 +66,8 @@
     CPhoneCenRepProxy::Instance()->NotifyChangeL(
         KCRUidThemes, 
         KThemesCallImageSetting,
-        this );
+        this );*/
+// <-- QT PHONE END-->        
     }
 
 // -----------------------------------------------------------------------------
@@ -177,13 +179,15 @@
         iCallerImageThemePath = NULL;
         iCallerImageThemePath = HBufC::NewL( KMaxFilePathLength );
         TPtr imagePtr ( iCallerImageThemePath->Des() );
-        
+
+// <-- QT PHONE START-->        
         // Get image file path
-        CPhoneCenRepProxy::Instance()->GetString(
+        /*CPhoneCenRepProxy::Instance()->GetString(
             KCRUidThemes,
             KThemesCallImagePath,
-            imagePtr );
-
+            imagePtr );*/
+// <-- QT PHONE END-->
+            
         __PHONELOG1( EBasic, EPhoneUIUtils,
             "CPhoneCallThemeMonitor::ReadAllL -> image path = %S", &imagePtr );
         } 
--- a/phoneapp/phoneuiutils/src/cphonecenrepeventhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphonecenrepeventhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -123,9 +123,9 @@
     // Resume listening
     TRAPD( err, iCenRepNotifyHandler->StartListeningL() );
     if ( KErrNone != err )
-    	{
-    	Panic( err );
-    	}
+        {
+        Panic( err );
+        }
     }
 
 // End of File
--- a/phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphonecenrepproxy.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -147,7 +147,8 @@
     User::LeaveIfError( GetTelephonyVariantData() );
     User::LeaveIfError( GetPhoneUIVariantData() );
 
-    iCenRepAccessoryEventHandler = CPhoneCenRepEventHandler::NewL( 
+// <-- QT PHONE START-->
+/*    iCenRepAccessoryEventHandler = CPhoneCenRepEventHandler::NewL( 
         KCRUidAccessorySettings );
     iCenRepNetworkEventHandler = CPhoneCenRepEventHandler::NewL( 
         KCRUidNetworkSettings );
@@ -158,7 +159,8 @@
     iCenRepQwertyEventHandler = CPhoneCenRepEventHandler::NewL( 
         KCRUidAvkon );
     iCenRepKDRMHelperEventHandler = CPhoneCenRepEventHandler::NewL( 
-        KCRUidDRMHelperServer );
+        KCRUidDRMHelperServer );*/
+// <-- QT PHONE END-->        
     }
 
 // ---------------------------------------------------------
--- a/phoneapp/phoneuiutils/src/cphoneclearblacklist.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphoneclearblacklist.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -47,9 +47,9 @@
     if ( !instance )
         {
         instance = new (ELeave) CPhoneClearBlacklist();
-    	CleanupStack::PushL( instance );
-    	instance->ConstructL( aWsSession, aDevice );
-    	CleanupStack::Pop( instance );
+        CleanupStack::PushL( instance );
+        instance->ConstructL( aWsSession, aDevice );
+        CleanupStack::Pop( instance );
         }
     return instance;
     }
@@ -138,7 +138,7 @@
 //
 EXPORT_C void CPhoneClearBlacklist::ClearBlackListOnNextKey()
     {
-	__LOGMETHODSTARTEND( EPhoneUIUtils, "CPhoneClearBlacklist::ClearBlackListOnNextKey( ) ");
+    __LOGMETHODSTARTEND( EPhoneUIUtils, "CPhoneClearBlacklist::ClearBlackListOnNextKey( ) ");
     iAnim->ClearBlackListOnNextKey();
     }
 
--- a/phoneapp/phoneuiutils/src/cphonelangsettingmonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphonelangsettingmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -51,10 +51,13 @@
     {
     TInt language(1); // english
 
-    TInt err( CPhoneCenRepProxy::Instance()->GetInt(
+// <-- QT PHONE START-->
+    /*TInt err( CPhoneCenRepProxy::Instance()->GetInt(
         KCRUidAknFep,
         KAknFepInputTxtLang,
-        language ));
+        language ));*/
+    TInt err = KErrNone;
+// <-- QT PHONE END-->    
     
     if ( err == KErrNone )
         {
--- a/phoneapp/phoneuiutils/src/cphonemainerrormessageshandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphonemainerrormessageshandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -98,9 +98,9 @@
         {
         TRAPD( err, instance = CPhoneMainErrorMessagesHandler::NewL() );
         if ( err )
-	        {
-	        Panic( EPhoneUtilsCouldNotCreateSingleton );	
-	        }
+            {
+            Panic( EPhoneUtilsCouldNotCreateSingleton );    
+            }
         }
     return instance;
     }
--- a/phoneapp/phoneuiutils/src/cphonemainresourceresolver.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphonemainresourceresolver.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -97,9 +97,9 @@
         {
         TRAPD( err, instance = CPhoneMainResourceResolver::NewL() );
         if ( err )
-	        {
-	        Panic( EPhoneUtilsCouldNotCreateSingleton );	
-	        }
+            {
+            Panic( EPhoneUtilsCouldNotCreateSingleton );    
+            }
         }
     return instance;
     }
--- a/phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphonepubsubproxy.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -53,9 +53,9 @@
         {
         TRAPD( err, instance = CPhonePubSubProxy::NewL() );
         if ( err )
-	        {
-	        Panic( EPhoneUtilsCouldNotCreateSingleton );	
-	        }
+            {
+            Panic( EPhoneUtilsCouldNotCreateSingleton );    
+            }
         }
     return instance;
     }
--- a/phoneapp/phoneuiutils/src/cphoneqwertyhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphoneqwertyhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -84,7 +84,7 @@
 // Destructor
 EXPORT_C CPhoneQwertyHandler::~CPhoneQwertyHandler()
     {
-	iLangSettingMonitor->RemoveObserver( *this );
+    iLangSettingMonitor->RemoveObserver( *this );
     delete iLangSettingMonitor;
     iLangSettingMonitor = NULL;
     iQwertyModeMonitor->RemoveObserver( *this );
--- a/phoneapp/phoneuiutils/src/cphoneqwertymodemonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphoneqwertymodemonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -47,19 +47,22 @@
     // Current Call state.
     iQwertyMode = GetQwertyMode();
 
-    CPhonePubSubProxy::Instance()->NotifyChangeL(
+// <-- QT PHONE START-->
+/*    CPhonePubSubProxy::Instance()->NotifyChangeL(
         KCRUidAvkon, 
         KAknQwertyInputModeActive,
-        this );
+        this );*/
+     
 
      iKeyboard = GetKeyboard();
     
 #ifdef RD_INTELLIGENT_TEXT_INPUT
-    CPhonePubSubProxy::Instance()->NotifyChangeL(
+/*    CPhonePubSubProxy::Instance()->NotifyChangeL(
         KCRUidAvkon, 
         KAknKeyBoardLayout,
-        this );
+        this );*/
 #endif
+// <-- QT PHONE END-->
     }
 
 // -----------------------------------------------------------------------------
@@ -171,9 +174,10 @@
 TInt CPhoneQwertyModeMonitor::GetQwertyMode() const
     {
     // Get call state.
-    TInt qwertyMode( CPhonePubSubProxy::Instance()->Value(
+    /*TInt qwertyMode( CPhonePubSubProxy::Instance()->Value(
         KCRUidAvkon,
-        KAknQwertyInputModeActive ) );
+        KAknQwertyInputModeActive ) );*/
+    TInt qwertyMode(0);
     
     return qwertyMode;
     }
@@ -185,9 +189,12 @@
 TInt CPhoneQwertyModeMonitor::GetKeyboard() const
     {
     // Get call state.
-    TInt keyboard( CPhonePubSubProxy::Instance()->Value(
+// <-- QT PHONE START-->    
+/*    TInt keyboard( CPhonePubSubProxy::Instance()->Value(
         KCRUidAvkon,
-        KAknKeyBoardLayout ) );
+        KAknKeyBoardLayout ) );*/
+    TInt keyboard(0);
+// <-- QT PHONE END-->    
     
     return keyboard;
     }
--- a/phoneapp/phoneuiutils/src/cphonerecoverysystem.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphonerecoverysystem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -45,9 +45,9 @@
         {
         TRAPD( err, instance = CPhoneRecoverySystem::NewL() );
         if ( err )
-	        {
-	        Panic( EPhoneUtilsCouldNotCreateSingleton );	
-	        }
+            {
+            Panic( EPhoneUtilsCouldNotCreateSingleton );    
+            }
         }
     return instance;
     }
@@ -103,25 +103,25 @@
     CTeleRecoverySystem::TRecoveryState aState )
     {
     if ( !iRecoverySystem )
-	    {
-	    iRecoverySystem = CreateRecoverySystemL();	
-	    }
-	    
+        {
+        iRecoverySystem = CreateRecoverySystemL();  
+        }
+        
     TRecoveryId id = iRecoverySystem->AddL( 
         aCallBack, 
         aPriority, 
         aState );
 
     try
-	    {
-	    AddIdToContainer( id );	
-	    }
-	catch( TInt exception )
-		{
-		__ASSERT_DEBUG( EFalse, Panic( EPhoneUtilsBufferOverflow ) );	
-		}
-	
-	return id;
+        {
+        AddIdToContainer( id ); 
+        }
+    catch( TInt exception )
+        {
+        __ASSERT_DEBUG( EFalse, Panic( EPhoneUtilsBufferOverflow ) );   
+        }
+    
+    return id;
     }
     
 // -----------------------------------------------------------------------------
@@ -198,13 +198,13 @@
     __ASSERT_DEBUG( iRecoverySystem, Panic( EPhoneUtilsInvariant ) );
     
     if ( !iRecoverySystem )
-	    {
-	    TRAPD( error, iRecoverySystem = CreateRecoverySystemL() )
+        {
+        TRAPD( error, iRecoverySystem = CreateRecoverySystemL() )
         if( error != KErrNone )
             {
             return error;
             }
-	    }
+        }
     return iRecoverySystem->RecoverNow( aId, aPriority, aAllSteps );
     }
 
@@ -217,10 +217,10 @@
     __ASSERT_DEBUG( iRecoverySystem, Panic( EPhoneUtilsInvariant ) );
     
     if ( !iRecoverySystem )
-	    {
+        {
         iRecoverySystem = CreateRecoverySystemL();
-	    }
-	    
+        }
+        
     iRecoverySystem->EnablePrecondition();
     }
 
@@ -229,51 +229,51 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneRecoverySystem::AddIdToContainer( TRecoveryId aId )
-	{
-	__ASSERT_DEBUG( iIdContainer.Count() == KIdContainerSize, Panic( EPhoneUtilsInvariant ) );
-	for( TInt i = 0; i < KIdContainerSize; i++ )
-		{
-		if( iIdContainer[ i ] == KEmptySlot )
-			{
-			iIdContainer[ i ] = aId;
-			return;				
-			}
-		}
-	
-	// All slots checked, no space - throw exception	
-	throw KErrNoSpace;		
-	}
+    {
+    __ASSERT_DEBUG( iIdContainer.Count() == KIdContainerSize, Panic( EPhoneUtilsInvariant ) );
+    for( TInt i = 0; i < KIdContainerSize; i++ )
+        {
+        if( iIdContainer[ i ] == KEmptySlot )
+            {
+            iIdContainer[ i ] = aId;
+            return;             
+            }
+        }
+    
+    // All slots checked, no space - throw exception    
+    throw KErrNoSpace;      
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneRecoverySystem::RemoveFromContainer
 // -----------------------------------------------------------------------------
 //
 void CPhoneRecoverySystem::RemoveFromContainer( TRecoveryId aId )
-	{
-	__ASSERT_DEBUG( iIdContainer.Count() == KIdContainerSize, Panic( EPhoneUtilsInvariant ) );
-	for( TInt i = 0; i < KIdContainerSize; i++ )
-		{
-		if( iIdContainer[ i ] == aId )
-			{
-			iIdContainer[ i ] = KEmptySlot;
-			}
-		}
-	}
+    {
+    __ASSERT_DEBUG( iIdContainer.Count() == KIdContainerSize, Panic( EPhoneUtilsInvariant ) );
+    for( TInt i = 0; i < KIdContainerSize; i++ )
+        {
+        if( iIdContainer[ i ] == aId )
+            {
+            iIdContainer[ i ] = KEmptySlot;
+            }
+        }
+    }
 
 // -----------------------------------------------------------------------------
 // CPhoneRecoverySystem::RemoveAllIdsFromContainer
 // -----------------------------------------------------------------------------
 //
 void CPhoneRecoverySystem::RemoveAllIdsFromContainer()
-	{
-	__ASSERT_DEBUG( iIdContainer.Count() == KIdContainerSize, Panic( EPhoneUtilsInvariant ) );
-	for( TInt i = 0; i < KIdContainerSize; i++ )
-		{
-		if( iIdContainer[ i ] != KEmptySlot )
-			{
-			RemoveId( iIdContainer[ i ] );
-			}
-		}		
-	}
+    {
+    __ASSERT_DEBUG( iIdContainer.Count() == KIdContainerSize, Panic( EPhoneUtilsInvariant ) );
+    for( TInt i = 0; i < KIdContainerSize; i++ )
+        {
+        if( iIdContainer[ i ] != KEmptySlot )
+            {
+            RemoveId( iIdContainer[ i ] );
+            }
+        }       
+    }
 
 //  End of File  
--- a/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/cphoneresourceresolverbase.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -31,11 +31,13 @@
 #include "phonelogger.h"
 #include "cphonecenrepproxy.h"
 
-#include <phoneui.rsg>
-#include <callhandlingui.rsg>
-#include <phoneuitouch.rsg>
+// <-- QT PHONE START --> 
+#include "phoneresourceids.h"
+//#include <phoneui.rsg>
+//#include <callhandlingui.rsg>
+//#include <phoneuitouch.rsg>
+// <-- QT PHONE END --> 
 #include "tphonetouchbuttonconfig.h"
-
 #include <data_caging_path_literals.hrh>
 
 // ================= MEMBER FUNCTIONS =======================
@@ -154,9 +156,9 @@
                 retVal = R_PHONEUIDIALER_NUMBERACQ_MENUBAR;
                 }
             else if ( iVariationFlags & EVideoCallMenu )
-	            {
-	            retVal = R_PHONEUI_NUMBERACQ_VIDEOCALL_MENUBAR;
-	            }
+                {
+                retVal = R_PHONEUI_NUMBERACQ_VIDEOCALL_MENUBAR;
+                }
             else
                 {
                 retVal = R_PHONEUI_NUMBERACQ_MENUBAR;
@@ -165,14 +167,14 @@
             break;
 
         case EPhoneNumberAcqOkMenubar:
-        	if ( iVariationFlags & EVideoCallMenu )
-	        	{
-	        	retVal = R_PHONEUI_NUMBERACQ_OK_VIDEOCALL_MENUBAR;
-	        	}
-        	else
-	        	{
-	        	retVal = R_PHONEUI_NUMBERACQ_OK_MENUBAR;
-	        	}
+            if ( iVariationFlags & EVideoCallMenu )
+                {
+                retVal = R_PHONEUI_NUMBERACQ_OK_VIDEOCALL_MENUBAR;
+                }
+            else
+                {
+                retVal = R_PHONEUI_NUMBERACQ_OK_MENUBAR;
+                }
             break;
 
         case EPhoneCallHandlingMenubar:
@@ -520,9 +522,9 @@
                 retVal = R_PHONEUIDIALER_NUMBERACQ_MENUBAR;
                 }
             else if ( iVariationFlags & EVideoCallMenu )
-	            {
-	            retVal = R_PHONE_INCALL_VIDEOCALL_MENUBAR_WITH_NUMBERENTRY;
-	            }
+                {
+                retVal = R_PHONE_INCALL_VIDEOCALL_MENUBAR_WITH_NUMBERENTRY;
+                }
             else
                 {
                 retVal = R_PHONE_INCALL_MENUBAR_WITH_NUMBERENTRY;
@@ -631,9 +633,9 @@
                 retVal = R_PHONEUI_INCALL_DIALER_CBA;
                 }
             else
-	            {
-	            retVal = R_PHONEUI_CALLHANDLING_INCALL_NOIHF_CBA;
-	            }
+                {
+                retVal = R_PHONEUI_CALLHANDLING_INCALL_NOIHF_CBA;
+                }
             break;
 
         case EPhoneCallHandlingInCallUnmuteCBA:
@@ -653,10 +655,14 @@
 
         case EPhoneCallHandlingInCallHandsetCBA:
             if ( iVariationFlags & EOnscreenDialer )
+// <-- QT PHONE START -->                
+/* 
                 {
                 retVal = R_PHONEUI_INCALL_DIALER_CBA;
                 }
             else
+*/
+// <-- QT PHONE END -->                
                 {
                 retVal = R_PHONEUI_CALLHANDLING_INCALL_HANDSET_CBA;
                 }
@@ -664,10 +670,14 @@
 
         case EPhoneCallHandlingInCallBtaaCBA:
             if ( iVariationFlags & EOnscreenDialer )
+// <-- QT PHONE START -->                
+/* 
                 {
                 retVal = R_PHONEUI_INCALL_DIALER_CBA;
                 }
             else
+*/
+// <-- QT PHONE END -->                
                 {
                 retVal = R_PHONEUI_CALLHANDLING_INCALL_BTAA_CBA;
                 }
@@ -675,11 +685,14 @@
             break;
 
         case EPhoneCallHandlingEmergencyCBA:
-            if ( iVariationFlags & EOnscreenDialer )
+// <-- QT PHONE START -->        
+/*            if ( iVariationFlags & EOnscreenDialer )
                 {
                 retVal = R_PHONEUI_INCALL_DIALER_CBA;
                 }
             else
+*/            
+// <-- QT PHONE END -->              
                 {
                 retVal = R_PHONEUI_CALLHANDLING_EMERGENCY_CBA;
                 }
@@ -948,7 +961,7 @@
         case EPhoneEmergencyConnectWaitNote:
             if ( iVariationFlags & EOnscreenDialer )
                 {
-                retVal = R_PHONE_EMERGENCY_NETWORK_CONNECT_WAIT_NOTE_DIALER;
+                retVal = R_PHONE_EMERGENCY_NETWORK_CONNECT_WAIT_NOTE_EMPTY_DIALER;
                 }
             else
                 {
@@ -993,7 +1006,9 @@
             break;
 
         case EPhoneCallDurationFormatString:
-            retVal = R_QTN_TIME_DURAT_LONG_WITH_ZERO;
+// <-- QT PHONE START --> 
+            retVal = R_PHONEUI_TIME_DURAT_LONG_WITH_ZERO;
+// <-- QT PHONE END --> 
             break;
 
         case EPhoneDtmfNumberQuery:
@@ -1148,8 +1163,8 @@
             break;
 
         case EPhoneInformationRemoteCreateConferenceNote:
-        	retVal = R_INCAL_REMOTE_CREATE_CONFERENCE_TEXT;
-        	break;
+            retVal = R_INCAL_REMOTE_CREATE_CONFERENCE_TEXT;
+            break;
 
         case EPhoneInformationCallOnHold:
             retVal = R_PHONE_SS_NOTIFICATION_INCAL_INFO_HOLD_TEXT;
@@ -1168,12 +1183,12 @@
             break;
 
         case EPhoneInformationCallOnHoldNoCli:
-        	retVal = R_INCAL_INFO_HOLD_NOCLI_TEXT;
-        	break;
+            retVal = R_INCAL_INFO_HOLD_NOCLI_TEXT;
+            break;
 
         case EPhoneInformationConferenceActiveted:
-        	retVal = R_MULTC_INFO_CONFERENCE_TEXT;
-        	break;
+            retVal = R_MULTC_INFO_CONFERENCE_TEXT;
+            break;
 
         case EPhoneCallOnHold:
             retVal = R_PHONEUI_INCALL_CALL_HELD;
@@ -1228,72 +1243,72 @@
             break;
 
         case EPhoneCLIPayphone:
-        	retVal = R_PHONE_MTCAL_CLI_PAYPHONE;
-        	break;
+            retVal = R_PHONE_MTCAL_CLI_PAYPHONE;
+            break;
 
         case EPhoneOutgoingCallsBarredWithinCUG:
-        	retVal = R_PHONE_ERROR_CALL_BARRED_IN_CUG;
-        	break;
+            retVal = R_PHONE_ERROR_CALL_BARRED_IN_CUG;
+            break;
 
         case EPhoneNoCUGSelected:
-        	retVal = R_PHONE_ERROR_SELECT_CUG;
-        	break;
+            retVal = R_PHONE_ERROR_SELECT_CUG;
+            break;
 
         case EPhoneUnknownCUGIndex:
-        	retVal = R_PHONE_ERROR_CUG_UNKNOWN;
-        	break;
+            retVal = R_PHONE_ERROR_CUG_UNKNOWN;
+            break;
 
         case EPhoneCUGIndexIncompatible:
-        	retVal = R_PHONE_ERROR_NOT_POSSIBLE_IN_CUG;
-        	break;
+            retVal = R_PHONE_ERROR_NOT_POSSIBLE_IN_CUG;
+            break;
 
         case EPhoneCUGCallsFailure:
-        	retVal = R_PHONE_ERROR_CHECK_CUG;
-        	break;
+            retVal = R_PHONE_ERROR_CHECK_CUG;
+            break;
 
         case EPhoneCLIRNotSubscribed:
-        	retVal = R_PHONE_ERROR_CHECK_CLIR;
-        	break;
+            retVal = R_PHONE_ERROR_CHECK_CLIR;
+            break;
 
         case EPhoneSSNotifCLIRSupprReject:
-        	retVal = R_PHONE_SS_NOTIFICATION_CLIR_SUPPR_REJECT_TEXT;
-        	break;
+            retVal = R_PHONE_SS_NOTIFICATION_CLIR_SUPPR_REJECT_TEXT;
+            break;
 
         case EPhoneWlanMacAddress:
-        	retVal = R_PHONE_WLAN_MAC_STRING;
-        	break;
+            retVal = R_PHONE_WLAN_MAC_STRING;
+            break;
 
         case EPhoneColpConnected:
-        	retVal = R_PHONE_TEXT_COLP_CONNECTED;
-        	break;
+            retVal = R_PHONE_TEXT_COLP_CONNECTED;
+            break;
 
         case EPhoneBtLoopbackEnabled:
-        	retVal = R_PHONE_BT_LOOPBACK_ENABLED_STRING;
-        	break;
+            retVal = R_PHONE_BT_LOOPBACK_ENABLED_STRING;
+            break;
 
         case EPhoneBtLoopbackDisabled:
-        	retVal = R_PHONE_BT_LOOPBACK_DISABLED_STRING;
-        	break;
+            retVal = R_PHONE_BT_LOOPBACK_DISABLED_STRING;
+            break;
 
         case EPhoneLineBlockingNote:
-        	retVal = R_PHONE_LINE_BLOCKING_NOTE;
-        	break;
+            retVal = R_PHONE_LINE_BLOCKING_NOTE;
+            break;
 
         case EPhoneSwitchToVideoQuery:
-        	retVal = R_PHONE_INCALL_QUERY_SWITCH_TO_VIDEO;
-        	break;
+            retVal = R_PHONE_INCALL_QUERY_SWITCH_TO_VIDEO;
+            break;
 
         case EPhoneSwitchToVoiceQuery:
-        	retVal = R_PHONE_INCALL_QUERY_SWITCH_TO_VOICE;
-			break;
+            retVal = R_PHONE_INCALL_QUERY_SWITCH_TO_VOICE;
+            break;
 
         case EPhoneInformationNoNetworkSupportForVideoCallNote:
-        	retVal =  R_PHONE_INCALL_INFO_NO_NETWORK_SUPPORT;
-        	break;
+            retVal =  R_PHONE_INCALL_INFO_NO_NETWORK_SUPPORT;
+            break;
 
         case EPhoneInformationVideoCallNotAllowedDuringRestoreNote:
-        	retVal =  R_PHONE_INCALL_INFO_VIDEO_CALL_NOT_ALLOWED_DURING_RESTORE;
-        	break;
+            retVal =  R_PHONE_INCALL_INFO_VIDEO_CALL_NOT_ALLOWED_DURING_RESTORE;
+            break;
 
         case EPhoneSimRejected:
             retVal = R_PHONEUI_SIM_REJECTED;
@@ -1328,8 +1343,8 @@
             break;
 
         case EPhoneAlertingVideoCallMenubar:
-        	retVal = R_PHONEUI_ALERTINGVIDEOCALL_MENUBAR;
-        	break;
+            retVal = R_PHONEUI_ALERTINGVIDEOCALL_MENUBAR;
+            break;
 
         case EPhoneCallHandlingIncomingSliderCBA:
             retVal = R_PHONEUI_CALLCOMING_SOFTKEYS_WHEN_SLIDER;
@@ -1481,25 +1496,25 @@
             retVal = R_CALL_INFO_SERVICE_NOT_AVAILABLE;
             break;
 
-    	case EPhoneDtmfNumberListQuery:
-    	    retVal = R_PHONE_DTMF_LIST_QUERY;
-    	    break;
+        case EPhoneDtmfNumberListQuery:
+            retVal = R_PHONE_DTMF_LIST_QUERY;
+            break;
 
         case EPhoneNoteTTYNoAudioControl:
-        	retVal = R_PHONE_TTY_INFO_NO_AUDIO_CONTROL;
-        	break;
+            retVal = R_PHONE_TTY_INFO_NO_AUDIO_CONTROL;
+            break;
 
-    	case EPhoneAddtoContactsListQuery:
-    	    retVal = R_DIALER_ADD_TO_CONTACTS_SELECTION_LIST_QUERY;
-    	    break;
+        case EPhoneAddtoContactsListQuery:
+            retVal = R_DIALER_ADD_TO_CONTACTS_SELECTION_LIST_QUERY;
+            break;
 
-    	case EPhoneDtmfDialerCBA:
-    	    retVal = R_PHONEUI_DTMFDIALER_SOFTKEYS_OPTIONS_CANCEL;
-    	    break;
+        case EPhoneDtmfDialerCBA:
+            retVal = R_PHONEUI_DTMFDIALER_SOFTKEYS_OPTIONS_CANCEL;
+            break;
 
-    	case EPhoneDtmfDialerNumberEntryPromptText:
-    	    retVal = R_PHONEUI_DIALER_NUMBERENTRY_PROMPT_TEXT;
-    	    break;
+        case EPhoneDtmfDialerNumberEntryPromptText:
+            retVal = R_PHONEUI_DIALER_NUMBERENTRY_PROMPT_TEXT;
+            break;
 
         case EPhoneCall:
             retVal = R_PHONEUI_MTCAL_CALL;
@@ -1510,20 +1525,29 @@
             break;
 
         case EPhoneInfoClirChange:
-        	retVal = R_NOTE_TEXT_CLIR_CHANGE;
-        	break;
+            retVal = R_NOTE_TEXT_CLIR_CHANGE;
+            break;
 
         case EPhoneInfoCugInUse:
             retVal = R_NOTE_TEXT_CUG_IN_USE;
             break;
-            
+
         case EPhoneCallHandlingEmergencyInCallNoOptions:
             retVal = R_PHONEUI_CALLHANDLING_EMERGENCY_INCALL_NO_OPTIONS;
             break;
+// <-- QT PHONE START -->
+        case EPhoneIncallHeldButtons:
+            retVal = R_PHONEUI_INCALL_HELD_BUTTONS;
+            break;
+            
+        case EPhoneAttemptingEmergencyText:
+            retVal = R_PHONEUI_ATTEMPTING_EMERGENCY_CALL_TEXT;
+            break;
+// <-- QT PHONE END -->
 
         default:
-        	Panic( EPhoneUtilsResourcePhoneappNotFound );
-        	break;
+            Panic( EPhoneUtilsResourcePhoneappNotFound );
+            break;
         }
     return retVal;
     }
--- a/phoneapp/phoneuiutils/src/ctelerecoverysystem.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/ctelerecoverysystem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,7 @@
 #include    <startupdomainpskeys.h>
 
 #include    "phonelogger.h"
-#include  	"phoneui.pan"
+#include    "phoneui.pan"
 #include    "cphonetimer.h"
 #include    "ctelewaitingidle.h"
 
@@ -140,7 +140,7 @@
         delete iWaitingIdle;
         iWaitingIdle = NULL;  
         }
-		
+        
     delete iRecoveryItems;
     delete iTimer;
     delete iAllStepsTimer;
@@ -154,7 +154,7 @@
     TPhoneRecoveryPriority aPriority, TRecoveryState aState )
     {
     __LOGMETHODSTARTEND( EPhoneUIUtils, "CTeleRecoverySystem::AddL()" ); 
-	__ASSERT_DEBUG( !iIsCallBack, Panic( EPhoneUtilsNoCallBack ) );   
+    __ASSERT_DEBUG( !iIsCallBack, Panic( EPhoneUtilsNoCallBack ) );   
 
     CheckStateForPrecondition( aState );
 
@@ -192,7 +192,7 @@
 TPhoneRecoveryId CTeleRecoverySystem::Add( TCallBack aCallBack, 
     TPhoneRecoveryPriority aPriority, TRecoveryState aState )
     {
-	__LOGMETHODSTARTEND( EPhoneUIUtils, "CTeleRecoverySystem::AddL()" ); 
+    __LOGMETHODSTARTEND( EPhoneUIUtils, "CTeleRecoverySystem::AddL()" ); 
     TPhoneRecoveryId id = KNullId;
     TRAP_IGNORE( id = AddL( aCallBack, aPriority, aState ) );
     return id;
@@ -204,8 +204,8 @@
 //
 void CTeleRecoverySystem::Remove( TPhoneRecoveryId aId )
     {
-	__LOGMETHODSTARTEND( EPhoneUIUtils, "CTeleRecoverySystem::Remove()" ); 
-	__ASSERT_DEBUG( !iIsCallBack, Panic( EPhoneUtilsNoCallBack ) ); 
+    __LOGMETHODSTARTEND( EPhoneUIUtils, "CTeleRecoverySystem::Remove()" ); 
+    __ASSERT_DEBUG( !iIsCallBack, Panic( EPhoneUtilsNoCallBack ) ); 
 
     TInt count = iRecoveryItems->Count();
     
@@ -219,10 +219,10 @@
         if( iRecoveryItems->At( i ).iId == aId )
             {
             iRecoveryItems->Delete( i );
-		    __PHONELOG1( 
-		        EBasic, 
-		        EPhoneUIUtils, 
-		        "CTeleRecoverySystem::Delete itemIdx= %d:", i );
+            __PHONELOG1( 
+                EBasic, 
+                EPhoneUIUtils, 
+                "CTeleRecoverySystem::Delete itemIdx= %d:", i );
             return;
             }
         }
@@ -246,10 +246,10 @@
             {
             item.iState = aState;
             StartTimerIfRequired( aState ); 
-		    __PHONELOG1( 
-		        EBasic, 
-		        EPhoneUIUtils, 
-		        "CTeleRecoverySystem::SetState itemIdx= %d:", item.iId );      
+            __PHONELOG1( 
+                EBasic, 
+                EPhoneUIUtils, 
+                "CTeleRecoverySystem::SetState itemIdx= %d:", item.iId );      
             return;
             }
         }
@@ -319,11 +319,11 @@
 // -----------------------------------------------------------------------------
 //   
 void CTeleRecoverySystem::RecoverAllNow()
-	{
+    {
     __LOGMETHODSTARTEND( EPhoneUIUtils, "CTeleRecoverySystem::RecoverAllNow()" );
     StartTimerIfIdle();
     StartAllStepsTimer();
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CTeleRecoverySystem::EnablePrecondition
@@ -356,11 +356,11 @@
         CheckStateForPrecondition( item.iState );
         }
 
-	if ( IsIdle() )
-	    {
-	    iTimer->Cancel();
-	    StartTimer();		
-	    }
+    if ( IsIdle() )
+        {
+        iTimer->Cancel();
+        StartTimer();       
+        }
     }
     
 // -----------------------------------------------------------------------------
@@ -388,19 +388,19 @@
     if ( iStatus != KErrNone )
         {
         // If SIM is already available, just listen for SIM status.
-	    if ( iSimAvailable == ESimUsable )
-	        {            
-	        iRequest = EPhoneSIMStatus;
-	        }
-	    else
-	        {
-	        iRequest = EPhoneSIMPresent;
-	        }
+        if ( iSimAvailable == ESimUsable )
+            {            
+            iRequest = EPhoneSIMStatus;
+            }
+        else
+            {
+            iRequest = EPhoneSIMPresent;
+            }
 
         __PHONELOG1( 
-	        EBasic, 
-	        EPhoneUIUtils, 
-	        "CTeleRecoverySystem::RunL NewRq = %d ", (TInt) iRequest ); 
+            EBasic, 
+            EPhoneUIUtils, 
+            "CTeleRecoverySystem::RunL NewRq = %d ", (TInt) iRequest ); 
 
         IssueRequest();
         return;
@@ -418,10 +418,10 @@
             {
             iRequest = EPhoneSIMStatus;
             
-			__PHONELOG1( 
-		        EBasic, 
-		        EPhoneUIUtils, 
-		        "CTeleRecoverySystem::RunL NewRq = %d ", (TInt) iRequest ); 
+            __PHONELOG1( 
+                EBasic, 
+                EPhoneUIUtils, 
+                "CTeleRecoverySystem::RunL NewRq = %d ", (TInt) iRequest ); 
             }
         else
             {
@@ -507,7 +507,7 @@
     TInt err = KErrNone;    
     TRAPD( leaveErr, err = aItem.iCallBack.CallBack() );
 
-	__PHONELOG1( 
+    __PHONELOG1( 
         EBasic, 
         EPhoneUIUtils, 
         "CTeleRecoverySystem::DoItemCallBack Err = %d ", leaveErr );
@@ -713,16 +713,16 @@
     __LOGMETHODSTARTEND( EPhoneUIUtils, "CTeleRecoverySystem::StartTimerIfRequired()");
     
     if ( IsIdle() )
-    	{
-	    if ( aNewState == EPhoneStateWaiting )
-	        {
-	        StartTimerIfIdle();
-	        }
-	    else if ( aNewState == EPhoneStateStarting )
-	        {
-	        StartAllStepsTimer();
-        	}    	
-  		}
+        {
+        if ( aNewState == EPhoneStateWaiting )
+            {
+            StartTimerIfIdle();
+            }
+        else if ( aNewState == EPhoneStateStarting )
+            {
+            StartAllStepsTimer();
+            }       
+        }
     }
     
 // -----------------------------------------------------------------------------
@@ -732,10 +732,10 @@
 TBool CTeleRecoverySystem::IsIdle()
     {
     __LOGMETHODSTARTEND( EPhoneUIUtils, "CTeleRecoverySystem::IsIdle()");
-	TBool retVal(EFalse);
-	TInt error(0);
-  	TInt state(0);
-  	
+    TBool retVal(EFalse);
+    TInt error(0);
+    TInt state(0);
+    
     error = iIdleActive.Get(
         KPSUidStartup, 
         KPSIdlePhase1Ok, 
@@ -749,10 +749,10 @@
             delete iWaitingIdle;
             iWaitingIdle = NULL;  
             }
-    	retVal = ETrue;
+        retVal = ETrue;
         }
 
-    return retVal;    	
+    return retVal;      
     }
 
 // -----------------------------------------------------------------------------
@@ -784,7 +784,7 @@
         iTickCounter = KPhoneRecoveryCounterStart;
         iTimer->After( KPhoneRecoveryTickInterval, 
             TCallBack( HandleTimer, this ) );
-        }    	
+        }       
     }
 
 // -----------------------------------------------------------------------------
@@ -795,9 +795,9 @@
     {
     __LOGMETHODSTARTEND( EPhoneUIUtils, "CTeleRecoverySystem::StartAllStepsTimer()");
     if ( !iAllStepsTimer->IsActive() )
-    	{
-    	iAllStepsTimer->After( 1, TCallBack( HandleAllStepsTimer, this ) );
-    	}
+        {
+        iAllStepsTimer->After( 1, TCallBack( HandleAllStepsTimer, this ) );
+        }
   }
 
 // -----------------------------------------------------------------------------
@@ -945,19 +945,19 @@
             {                        
             iSimPresentProperty.Subscribe( iStatus );
 
-			__PHONELOG( 
-		        EBasic, 
-		        EPhoneUIUtils, 
-		        "CTeleRecoverySystem::DoItemCallBack IssueReq.2");
+            __PHONELOG( 
+                EBasic, 
+                EPhoneUIUtils, 
+                "CTeleRecoverySystem::DoItemCallBack IssueReq.2");
             }
         else
             {
-			__PHONELOG( 
-		        EBasic, 
-		        EPhoneUIUtils, 
-		        "CTeleRecoverySystem::DoItemCallBack IssueReq.3");
-		        
-		    __ASSERT_DEBUG( iRequest == EPhoneSIMStatus, Panic( EPhoneUtilsNoCallBack ) );
+            __PHONELOG( 
+                EBasic, 
+                EPhoneUIUtils, 
+                "CTeleRecoverySystem::DoItemCallBack IssueReq.3");
+                
+            __ASSERT_DEBUG( iRequest == EPhoneSIMStatus, Panic( EPhoneUtilsNoCallBack ) );
 
             iSimStatusProperty.Subscribe( iStatus );
             }
@@ -981,10 +981,10 @@
 
     if ( iSimAvailable != ESimUsable )
         {
-       	__PHONELOG( 
-		        EBasic, 
-		        EPhoneUIUtils, 
-		        "CTeleRecoverySystem::IsSIMOk Ret 0");
+        __PHONELOG( 
+                EBasic, 
+                EPhoneUIUtils, 
+                "CTeleRecoverySystem::IsSIMOk Ret 0");
         // SIM is not yet available.
         return EFalse;
         }
@@ -998,9 +998,9 @@
     simOk = ( value == ESimUsable ); 
 
     __PHONELOG1( 
-		    EBasic, 
-		    EPhoneUIUtils, 
-		    "CTeleRecoverySystem::IsSIMOk Ret: %d ",  (TInt) simOk);
+            EBasic, 
+            EPhoneUIUtils, 
+            "CTeleRecoverySystem::IsSIMOk Ret: %d ",  (TInt) simOk);
     
     return simOk;
     }
@@ -1019,10 +1019,10 @@
         {
         iSimStatusProperty.Get( iSimAvailable );
 
-	    __PHONELOG1( 
-			    EBasic, 
-			    EPhoneUIUtils, 
-			    "CTeleRecoverySystem::CheckSIMAvailable %d ",  iSimAvailable );
+        __PHONELOG1( 
+                EBasic, 
+                EPhoneUIUtils, 
+                "CTeleRecoverySystem::CheckSIMAvailable %d ",  iSimAvailable );
 
         if ( iSimAvailable != ESimUsable )
 
@@ -1035,10 +1035,10 @@
             // SIM is now available, start listening for SIM status.
             iRequest = EPhoneSIMStatus;
 
-		    __PHONELOG1( 
-				    EBasic, 
-				    EPhoneUIUtils, 
-				    "CTeleRecoverySystem::CheckSIMAvailable new rq %d ",  (TInt) iRequest );
+            __PHONELOG1( 
+                    EBasic, 
+                    EPhoneUIUtils, 
+                    "CTeleRecoverySystem::CheckSIMAvailable new rq %d ",  (TInt) iRequest );
 
             
             if ( iSimStatusProperty.Handle() )
--- a/phoneapp/phoneuiutils/src/ctelewaitingidle.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/ctelewaitingidle.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -93,7 +93,7 @@
         //error code is ignored, as CPeriodic. 
         return;
         }
-   	StartWaitingIdleL();
+    StartWaitingIdleL();
     }
 
 // -----------------------------------------------------------------------------
@@ -104,7 +104,7 @@
 void CTeleWaitingIdle::StartWaitingIdleL()
     {
 //    Phone_PRINT("WI.StartWaitingIdle >");
-  	TInt state(0);
+    TInt state(0);
 
     User::LeaveIfError( 
         iProperty.Get( 
@@ -134,7 +134,7 @@
             {        
             iProperty.Subscribe( iStatus );
             SetActive();
-            }    	
+            }       
         }
     }
     
--- a/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/phoneloggerviewcommands.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -221,201 +221,201 @@
 
 // Intermediate
 const void * const KStringPointers[] =
-	{
-	(const void*)&K1,
-	(const void*)&K2,
-	(const void*)&K3,
-	(const void*)&K4,
-	(const void*)&K5,
-	(const void*)&K6,
-	(const void*)&K7,
-	(const void*)&K8,
-	(const void*)&K9,
-	(const void*)&K10,
-	(const void*)&K11,
-	(const void*)&K12,
-	(const void*)&K13,
-	(const void*)&K14,
-	(const void*)&K15,
-	(const void*)&K16,
-	(const void*)&K17,
-	(const void*)&K18,
-	(const void*)&K19,
-	(const void*)&K20,
-	(const void*)&K21,
-	(const void*)&K22,
-	(const void*)&K23,
-	(const void*)&K24,
-	(const void*)&K25,
-	(const void*)&K26,
-	(const void*)&K27,
-	(const void*)&K28,
-	(const void*)&K29,
-	(const void*)&K30,
-	(const void*)&K31,
-	(const void*)&K32,
-	(const void*)&K33,
-	(const void*)&K34,
-	(const void*)&K35,
-	(const void*)&K36,
-	(const void*)&K37,
-	(const void*)&K38,
-	(const void*)&K39,
-	(const void*)&K40,
-	(const void*)&K41,
-	(const void*)&K42,
-	(const void*)&K43,
-	(const void*)&K44,
-	(const void*)&K45,
-	(const void*)&K46,
-	(const void*)&K47,
-	(const void*)&K48,
-	(const void*)&K49,
-	(const void*)&K50,
-	(const void*)&K51,
-	(const void*)&K52,
-	(const void*)&K53,
-	(const void*)&K54,
-	(const void*)&K55,
-	(const void*)&K56,
-	(const void*)&K57,
-	(const void*)&K58,
-	(const void*)&K59,
-	(const void*)&K60,
-	(const void*)&K61,
-	(const void*)&K62,
-	(const void*)&K63,
-	(const void*)&K64,
-	(const void*)&K65,
-	(const void*)&K66,
-	(const void*)&K67,
-	(const void*)&K68,
-	(const void*)&K69,
-	(const void*)&K70,
-	(const void*)&K71,
-	(const void*)&K72,
-	(const void*)&K73,
-	(const void*)&K74,
-	(const void*)&K75,
-	(const void*)&K76,
-	(const void*)&K77,
-	(const void*)&K78,
-	(const void*)&K79,
-	(const void*)&K80,
-	(const void*)&K81,
-	(const void*)&K82,
-	(const void*)&K83,
-	(const void*)&K84,
-	(const void*)&K85,
-	(const void*)&K86,
-	(const void*)&K87,
-	(const void*)&K88,
-	(const void*)&K89,
-	(const void*)&K90,
-	(const void*)&K91,
-	(const void*)&K92,
-	(const void*)&K93,
-	(const void*)&K94,
-	(const void*)&K95,
-	(const void*)&K96,
-	(const void*)&K97,
-	(const void*)&K98,
-	(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*)&K111,
-	(const void*)&K112,
-	(const void*)&K113,
-	(const void*)&K114,
-	(const void*)&K115,
-	(const void*)&K116,
-	(const void*)&K117,
-	(const void*)&K118,
-	(const void*)&K119,
-	(const void*)&K120,
-	(const void*)&K121,
-	(const void*)&K122,
-	(const void*)&K123,
-	(const void*)&K124,
-	(const void*)&K125,
-	(const void*)&K126,
-	(const void*)&K127,
-	(const void*)&K128,
-	(const void*)&K129,
-	(const void*)&K130,
-	(const void*)&K131,
-	(const void*)&K132,
-	(const void*)&K133,
-	(const void*)&K134,
-	(const void*)&K135,
-	(const void*)&K136,
-	(const void*)&K137,
-	(const void*)&K138,
-	(const void*)&K139,
-	(const void*)&K140,
-	(const void*)&K141,
-	(const void*)&K142,
-	(const void*)&K143,
-	(const void*)&K144,
-	(const void*)&K145,
-	(const void*)&K146,
-	(const void*)&K147,
-	(const void*)&K148,
-	(const void*)&K149,
-	(const void*)&K150,
-	(const void*)&K151,
-	(const void*)&K152,
-	(const void*)&K153,
-	(const void*)&K154,
-	(const void*)&K155,
-	(const void*)&K156,
-	(const void*)&K157,
-	(const void*)&K158,
-	(const void*)&K159,
-	(const void*)&K160,
-	(const void*)&K161,
-	(const void*)&K162,
-	(const void*)&K163,
-	(const void*)&K164,
-	(const void*)&K165,
-	(const void*)&K166,
-	(const void*)&K167,
-	(const void*)&K168,
-	(const void*)&K169,
-	(const void*)&K170,
-	(const void*)&K171,
-	(const void*)&K172,
-	(const void*)&K173,
-	(const void*)&K174,
-	(const void*)&K175,
-	(const void*)&K176,
-	(const void*)&K177,
-	(const void*)&K178,
-	(const void*)&K179,
-	(const void*)&K180,
-	(const void*)&K181,
-	(const void*)&K182,
-	(const void*)&K183,
-	(const void*)&K184,
-	(const void*)&K185,
-	(const void*)&K186,
-	(const void*)&K187,
-	(const void*)&K188,
-	(const void*)&K189,
-	(const void*)&K190,
-	(const void*)&K191,
-	(const void*)&K192,
-	(const void*)&K193
-	};
+    {
+    (const void*)&K1,
+    (const void*)&K2,
+    (const void*)&K3,
+    (const void*)&K4,
+    (const void*)&K5,
+    (const void*)&K6,
+    (const void*)&K7,
+    (const void*)&K8,
+    (const void*)&K9,
+    (const void*)&K10,
+    (const void*)&K11,
+    (const void*)&K12,
+    (const void*)&K13,
+    (const void*)&K14,
+    (const void*)&K15,
+    (const void*)&K16,
+    (const void*)&K17,
+    (const void*)&K18,
+    (const void*)&K19,
+    (const void*)&K20,
+    (const void*)&K21,
+    (const void*)&K22,
+    (const void*)&K23,
+    (const void*)&K24,
+    (const void*)&K25,
+    (const void*)&K26,
+    (const void*)&K27,
+    (const void*)&K28,
+    (const void*)&K29,
+    (const void*)&K30,
+    (const void*)&K31,
+    (const void*)&K32,
+    (const void*)&K33,
+    (const void*)&K34,
+    (const void*)&K35,
+    (const void*)&K36,
+    (const void*)&K37,
+    (const void*)&K38,
+    (const void*)&K39,
+    (const void*)&K40,
+    (const void*)&K41,
+    (const void*)&K42,
+    (const void*)&K43,
+    (const void*)&K44,
+    (const void*)&K45,
+    (const void*)&K46,
+    (const void*)&K47,
+    (const void*)&K48,
+    (const void*)&K49,
+    (const void*)&K50,
+    (const void*)&K51,
+    (const void*)&K52,
+    (const void*)&K53,
+    (const void*)&K54,
+    (const void*)&K55,
+    (const void*)&K56,
+    (const void*)&K57,
+    (const void*)&K58,
+    (const void*)&K59,
+    (const void*)&K60,
+    (const void*)&K61,
+    (const void*)&K62,
+    (const void*)&K63,
+    (const void*)&K64,
+    (const void*)&K65,
+    (const void*)&K66,
+    (const void*)&K67,
+    (const void*)&K68,
+    (const void*)&K69,
+    (const void*)&K70,
+    (const void*)&K71,
+    (const void*)&K72,
+    (const void*)&K73,
+    (const void*)&K74,
+    (const void*)&K75,
+    (const void*)&K76,
+    (const void*)&K77,
+    (const void*)&K78,
+    (const void*)&K79,
+    (const void*)&K80,
+    (const void*)&K81,
+    (const void*)&K82,
+    (const void*)&K83,
+    (const void*)&K84,
+    (const void*)&K85,
+    (const void*)&K86,
+    (const void*)&K87,
+    (const void*)&K88,
+    (const void*)&K89,
+    (const void*)&K90,
+    (const void*)&K91,
+    (const void*)&K92,
+    (const void*)&K93,
+    (const void*)&K94,
+    (const void*)&K95,
+    (const void*)&K96,
+    (const void*)&K97,
+    (const void*)&K98,
+    (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*)&K111,
+    (const void*)&K112,
+    (const void*)&K113,
+    (const void*)&K114,
+    (const void*)&K115,
+    (const void*)&K116,
+    (const void*)&K117,
+    (const void*)&K118,
+    (const void*)&K119,
+    (const void*)&K120,
+    (const void*)&K121,
+    (const void*)&K122,
+    (const void*)&K123,
+    (const void*)&K124,
+    (const void*)&K125,
+    (const void*)&K126,
+    (const void*)&K127,
+    (const void*)&K128,
+    (const void*)&K129,
+    (const void*)&K130,
+    (const void*)&K131,
+    (const void*)&K132,
+    (const void*)&K133,
+    (const void*)&K134,
+    (const void*)&K135,
+    (const void*)&K136,
+    (const void*)&K137,
+    (const void*)&K138,
+    (const void*)&K139,
+    (const void*)&K140,
+    (const void*)&K141,
+    (const void*)&K142,
+    (const void*)&K143,
+    (const void*)&K144,
+    (const void*)&K145,
+    (const void*)&K146,
+    (const void*)&K147,
+    (const void*)&K148,
+    (const void*)&K149,
+    (const void*)&K150,
+    (const void*)&K151,
+    (const void*)&K152,
+    (const void*)&K153,
+    (const void*)&K154,
+    (const void*)&K155,
+    (const void*)&K156,
+    (const void*)&K157,
+    (const void*)&K158,
+    (const void*)&K159,
+    (const void*)&K160,
+    (const void*)&K161,
+    (const void*)&K162,
+    (const void*)&K163,
+    (const void*)&K164,
+    (const void*)&K165,
+    (const void*)&K166,
+    (const void*)&K167,
+    (const void*)&K168,
+    (const void*)&K169,
+    (const void*)&K170,
+    (const void*)&K171,
+    (const void*)&K172,
+    (const void*)&K173,
+    (const void*)&K174,
+    (const void*)&K175,
+    (const void*)&K176,
+    (const void*)&K177,
+    (const void*)&K178,
+    (const void*)&K179,
+    (const void*)&K180,
+    (const void*)&K181,
+    (const void*)&K182,
+    (const void*)&K183,
+    (const void*)&K184,
+    (const void*)&K185,
+    (const void*)&K186,
+    (const void*)&K187,
+    (const void*)&K188,
+    (const void*)&K189,
+    (const void*)&K190,
+    (const void*)&K191,
+    (const void*)&K192,
+    (const void*)&K193
+    };
 
 const TStringTable PhoneLoggerviewCommands::Table = {193, KStringPointers, EFalse};
 
--- a/phoneapp/phoneuiutils/src/phonestatestrings.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/phonestatestrings.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -35,15 +35,15 @@
 
 // Intermediate
 const void * const KStringPointers[] =
-	{
-	(const void*)&K1,
-	(const void*)&K2,
-	(const void*)&K3,
-	(const void*)&K4,
-	(const void*)&K5,
-	(const void*)&K6,
-	(const void*)&K7
-	};
+    {
+    (const void*)&K1,
+    (const void*)&K2,
+    (const void*)&K3,
+    (const void*)&K4,
+    (const void*)&K5,
+    (const void*)&K6,
+    (const void*)&K7
+    };
 
 const TStringTable PhoneStateStrings::Table = {7, KStringPointers, EFalse};
 
--- a/phoneapp/phoneuiutils/src/phonestatestringsgsm.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/phonestatestringsgsm.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -43,23 +43,23 @@
 
 // Intermediate
 const void * const KStringPointers[] =
-	{
-	(const void*)&K1,
-	(const void*)&K2,
-	(const void*)&K3,
-	(const void*)&K4,
-	(const void*)&K5,
-	(const void*)&K6,
-	(const void*)&K7,
-	(const void*)&K8,
-	(const void*)&K9,
-	(const void*)&K10,
-	(const void*)&K11,
-	(const void*)&K12,
-	(const void*)&K13,
-	(const void*)&K14,
-	(const void*)&K15
-	};
+    {
+    (const void*)&K1,
+    (const void*)&K2,
+    (const void*)&K3,
+    (const void*)&K4,
+    (const void*)&K5,
+    (const void*)&K6,
+    (const void*)&K7,
+    (const void*)&K8,
+    (const void*)&K9,
+    (const void*)&K10,
+    (const void*)&K11,
+    (const void*)&K12,
+    (const void*)&K13,
+    (const void*)&K14,
+    (const void*)&K15
+    };
 
 const TStringTable PhoneStateStringsGSM::Table = {15, KStringPointers, EFalse};
 
--- a/phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamcallheaderdata.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -39,7 +39,9 @@
     iCLIText( KNullDesC ),
     iCNAPText( KNullDesC ),
     iPicture( KNullDesC ),
-    iCallFlag( CBubbleManager::ENormal ),
+// <-- QT PHONE START -->         
+//    iCallFlag( CBubbleManager::ENormal ),
+// <-- QT PHONE END -->         
     iLine2 ( EFalse ),
     iThumbnail( NULL ),
     iCallerText( KNullDesC ),
@@ -47,6 +49,9 @@
     iCipheringIndicatorAllowed( ETrue ),
     iContactLink( KNullDesC8 ),
     iRemotePhoneNumber( KNullDesC )
+// <-- QT PHONE START -->         
+    ,iDiverted( EFalse )
+// <-- QT PHONE END -->         
     {
     iParamId = EPhoneParamIdCallHeaderData;
     }
@@ -59,9 +64,9 @@
 //
 EXPORT_C void TPhoneCmdParamCallHeaderData::SetLabelText( 
    const TDesC& aLabelText )
-	{
-	iLabelText = aLabelText;
-	}
+    {
+    iLabelText = aLabelText;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamCallHeaderData::SetShortLabelText
@@ -72,7 +77,7 @@
 EXPORT_C void TPhoneCmdParamCallHeaderData::SetShortLabelText( 
    const TDesC& aShortLabelText )
     {
-	iShortLabelText = aShortLabelText;
+    iShortLabelText = aShortLabelText;
     }
 
 // ---------------------------------------------------------
@@ -128,7 +133,9 @@
 //
 EXPORT_C void TPhoneCmdParamCallHeaderData::SetCLIText( 
    const TDesC& aCLIText,
-   CBubbleManager::TPhoneClippingDirection aDirection )
+// <-- QT PHONE START -->         
+   TPhoneTextClippingDirection aDirection )
+// <-- QT PHONE END -->         
    {
    iCLIText = aCLIText;
    iCLITextClippingDirection = aDirection; 
@@ -142,7 +149,9 @@
 //
 EXPORT_C void TPhoneCmdParamCallHeaderData::SetCNAPText( 
    const TDesC& aCNAPText,
-   CBubbleManager::TPhoneClippingDirection aDirection )
+// <-- QT PHONE START -->         
+   TPhoneTextClippingDirection aDirection )
+// <-- QT PHONE END -->         
    {
    iCNAPText = aCNAPText;
    iCNAPTextClippingDirection = aDirection; 
@@ -166,11 +175,13 @@
 // (other items were commented in a header).
 // ---------------------------------------------------------
 //
-EXPORT_C void TPhoneCmdParamCallHeaderData::SetCallFlag(
-    const CBubbleManager::TPhoneCallTypeFlags aCallFlag )
+// <-- QT PHONE START -->         
+EXPORT_C void TPhoneCmdParamCallHeaderData::SetDiverted(
+    TBool aDiverted )
     {
-    iCallFlag = aCallFlag;        
+    iDiverted = aDiverted;        
     }
+// <-- QT PHONE END -->         
 
 // ---------------------------------------------------------
 // TPhoneCmdParamCallHeaderData::AddCallFlag
@@ -178,16 +189,18 @@
 // (other items were commented in a header).
 // ---------------------------------------------------------
 //
-EXPORT_C void TPhoneCmdParamCallHeaderData::AddCallFlag(
+// <-- QT PHONE START -->
+/*EXPORT_C void TPhoneCmdParamCallHeaderData::AddCallFlag(
     const CBubbleManager::TPhoneCallTypeFlags aCallFlag )
     {
     iCallFlag |= aCallFlag;
-    }
+    }*/
+// <-- QT PHONE END -->
 
 // ---------------------------------------------------------
 // TPhoneCmdParamCallHeaderData::SetLine2
 // ---------------------------------------------------------
-//	
+//  
 EXPORT_C void TPhoneCmdParamCallHeaderData::SetLine2(
     TBool aLine2 )
    {
@@ -277,7 +290,9 @@
 // (other items were commented in a header).
 // ---------------------------------------------------------
 //
-EXPORT_C CBubbleManager::TPhoneClippingDirection 
+// <-- QT PHONE START -->         
+EXPORT_C TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection 
+// <-- QT PHONE END -->         
 TPhoneCmdParamCallHeaderData::CLITextClippingDirection() const
     {
     return iCLITextClippingDirection;
@@ -289,7 +304,9 @@
 // (other items were commented in a header).
 // ---------------------------------------------------------
 //
-EXPORT_C CBubbleManager::TPhoneClippingDirection 
+// <-- QT PHONE START -->         
+EXPORT_C TPhoneCmdParamCallHeaderData::TPhoneTextClippingDirection 
+// <-- QT PHONE END -->         
 TPhoneCmdParamCallHeaderData::CNAPTextClippingDirection() const
     {
     return iCNAPTextClippingDirection;
@@ -323,11 +340,12 @@
 // (other items were commented in a header).
 // ---------------------------------------------------------
 //
-EXPORT_C TUint32
-    TPhoneCmdParamCallHeaderData::CallFlag() const
+// <-- QT PHONE START -->         
+EXPORT_C TBool TPhoneCmdParamCallHeaderData::Diverted() const
     {
-    return iCallFlag;        
+    return iDiverted;        
     }
+// <-- QT PHONE END -->         
 
 // ---------------------------------------------------------
 // TPhoneCmdParamCallHeaderData::Line2
--- a/phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamglobalnote.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -62,7 +62,7 @@
    TInt aTextResourceId )
    {
     __ASSERT_DEBUG( aTextResourceId, 
-    	Panic( EPhoneUtilsParameterNotInitialized ) );
+        Panic( EPhoneUtilsParameterNotInitialized ) );
    iTextResourceId = aTextResourceId;   
    }
 
--- a/phoneapp/phoneuiutils/src/tphonecmdparamkeycapture.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamkeycapture.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -18,7 +18,7 @@
 
 // INCLUDE FILES
 
-#include "tphonecmdparamKeycapture.h"   
+#include "tphonecmdparamKeycapture.h"
 
 // ================= MEMBER FUNCTIONS =======================
 
--- a/phoneapp/phoneuiutils/src/tphonecmdparammessageeditor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparammessageeditor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -42,8 +42,8 @@
 EXPORT_C void TPhoneCmdParamMessageEditor::SetMessageData( 
    CMessageData* aMessageData )
    {
-   	__ASSERT_DEBUG( aMessageData,
-   		Panic( EPhoneUtilsParameterNotInitialized ) );
+    __ASSERT_DEBUG( aMessageData,
+        Panic( EPhoneUtilsParameterNotInitialized ) );
    iMessageData = aMessageData;
    }
 
@@ -54,7 +54,7 @@
 //
 EXPORT_C CMessageData* TPhoneCmdParamMessageEditor::MessageData() const
    {
-   	__ASSERT_DEBUG( iMessageData, Panic( EPhoneUtilsInvariant ) );
+    __ASSERT_DEBUG( iMessageData, Panic( EPhoneUtilsInvariant ) );
    return iMessageData;
    }
 
--- a/phoneapp/phoneuiutils/src/tphonecmdparamnote.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamnote.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -70,11 +70,11 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamNote::SetTextResourceId( TInt aTextResourceId )
-  	{
-   	__ASSERT_DEBUG( aTextResourceId,
-   		Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iTextResourceId = aTextResourceId;   
-   	}
+    {
+    __ASSERT_DEBUG( aTextResourceId,
+        Panic( EPhoneUtilsParameterNotInitialized ) );
+    iTextResourceId = aTextResourceId;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamNote::SetText
@@ -128,9 +128,9 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TInt TPhoneCmdParamNote::ResourceId() const
-   	{
-   	return iResourceId;
-   	}
+    {
+    return iResourceId;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamNote::TextResourceId
@@ -139,9 +139,9 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TInt TPhoneCmdParamNote::TextResourceId() const
-   	{
-   	return iTextResourceId;
-   	}
+    {
+    return iTextResourceId;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamNote::Text
--- a/phoneapp/phoneuiutils/src/tphonecmdparamprogressnote.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamprogressnote.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -29,7 +29,7 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C TPhoneCmdParamProgressNote::TPhoneCmdParamProgressNote():
-	TPhoneCommandParam(),
+    TPhoneCommandParam(),
     iResourceId( 0 ),
     iWaitTime( 0 )
     {
@@ -43,10 +43,10 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamProgressNote::SetResourceId( TInt aResourceId )
-	{
-   	__ASSERT_DEBUG( aResourceId, Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iResourceId = aResourceId;   
-   	}
+    {
+    __ASSERT_DEBUG( aResourceId, Panic( EPhoneUtilsParameterNotInitialized ) );
+    iResourceId = aResourceId;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamProgressNote::SetWaitTime
@@ -56,9 +56,9 @@
 //
 EXPORT_C void TPhoneCmdParamProgressNote::SetWaitTime( 
    TTimeIntervalMicroSeconds32 aWaitTime )
-	{
-   	iWaitTime = aWaitTime;   
-   	}
+    {
+    iWaitTime = aWaitTime;   
+    }
 
 
 // ---------------------------------------------------------
@@ -68,10 +68,10 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TInt TPhoneCmdParamProgressNote::ResourceId() const
-   	{
-   	__ASSERT_DEBUG( iResourceId, Panic( EPhoneUtilsInvariant ) );
-   	return iResourceId;
-   	}
+    {
+    __ASSERT_DEBUG( iResourceId, Panic( EPhoneUtilsInvariant ) );
+    return iResourceId;
+    }
 
   // ---------------------------------------------------------
 // TPhoneCmdParamProgressNote::WaitTime
@@ -80,8 +80,8 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TTimeIntervalMicroSeconds32 TPhoneCmdParamProgressNote::WaitTime() const
-	{
-   	return iWaitTime;
-   	} 
+    {
+    return iWaitTime;
+    } 
 
 //  End of File  
--- a/phoneapp/phoneuiutils/src/tphonecmdparamquery.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamquery.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -114,11 +114,11 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamQuery::SetQueryResourceId( TInt aDialogResourceId )
-	{
-   	__ASSERT_DEBUG( aDialogResourceId, 
-   		Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iDialogResourceId = aDialogResourceId;   
-   	}
+    {
+    __ASSERT_DEBUG( aDialogResourceId, 
+        Panic( EPhoneUtilsParameterNotInitialized ) );
+    iDialogResourceId = aDialogResourceId;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamQuery::QueryResourceId
@@ -127,9 +127,9 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TInt TPhoneCmdParamQuery::QueryResourceId() const
-	{	
-   	return iDialogResourceId;
-   	}
+    {   
+    return iDialogResourceId;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamQuery::SetQueryPrompt
@@ -204,10 +204,10 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamQuery::SetDataText( TDes* aDataText )
-   	{
-   	__ASSERT_DEBUG( aDataText, Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iDataText = aDataText;   
-   	}
+    {
+    __ASSERT_DEBUG( aDataText, Panic( EPhoneUtilsParameterNotInitialized ) );
+    iDataText = aDataText;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamQuery::DataText
@@ -216,10 +216,12 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TDes* TPhoneCmdParamQuery::DataText() const
-   	{
-   	__ASSERT_DEBUG( iDataText, Panic( EPhoneUtilsInvariant ) );
-   	return iDataText;
-   	}
+    {
+    // <-- QT PHONE START -->
+    //__ASSERT_DEBUG( iDataText, Panic( EPhoneUtilsInvariant ) );
+    // <-- QT PHONE END -->
+    return iDataText;
+    }
    
 // ---------------------------------------------------------
 // TPhoneCmdParamQuery::SetQueryType
--- a/phoneapp/phoneuiutils/src/tphonecmdparamreconnectquery.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamreconnectquery.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -31,7 +31,7 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C TPhoneCmdParamReconnectQuery::TPhoneCmdParamReconnectQuery( 
-	MCaUiReconnectQueryObserver& aObserver ):
+    MCaUiReconnectQueryObserver& aObserver ):
     TPhoneCommandParam(),
     iObserver( aObserver ),
     iContactMatcher( NULL ),
@@ -47,8 +47,8 @@
 //
 EXPORT_C void TPhoneCmdParamReconnectQuery::SetContactMatcher( CPhCntMatcher* aPhCntMatcher )
     {
-   	__ASSERT_DEBUG( aPhCntMatcher, 
-   		Panic( EPhoneUtilsParameterNotInitialized ) );
+    __ASSERT_DEBUG( aPhCntMatcher, 
+        Panic( EPhoneUtilsParameterNotInitialized ) );
     iContactMatcher = aPhCntMatcher;   
     }
 
@@ -78,33 +78,33 @@
 EXPORT_C MCaUiReconnectQueryObserver& TPhoneCmdParamReconnectQuery::ReconnectQueryObserver() const
     {
     return iObserver;
-	}
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamReconnectQuery::ContactMatcher
 // ---------------------------------------------------------
 //
 EXPORT_C CPhCntMatcher* TPhoneCmdParamReconnectQuery::ContactMatcher() const
-	{
-   	return iContactMatcher;
-   	}
+    {
+    return iContactMatcher;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamReconnectQuery::PhoneNumber
 // ---------------------------------------------------------
 //
 EXPORT_C const TPtrC TPhoneCmdParamReconnectQuery::PhoneNumber() const
-   	{
-   	return iPhoneNumber;
-   	}
+    {
+    return iPhoneNumber;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamReconnectQuery::IncludeVideoCallOption
 // ---------------------------------------------------------
 //
 EXPORT_C TBool TPhoneCmdParamReconnectQuery::IncludeVideoCallOption() const
-   	{
-   	return iIncludeVideoCallOption;
-   	}
+    {
+    return iIncludeVideoCallOption;
+    }
 
 //  End of File  
--- a/phoneapp/phoneuiutils/src/tphonecmdparamsingleitemfetch.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamsingleitemfetch.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -70,11 +70,11 @@
 //
 EXPORT_C void TPhoneCmdParamSingleItemFetch::SetTitlePaneResourceId( 
    TInt aTitlePaneResourceId )
-   	{
-   	__ASSERT_DEBUG( aTitlePaneResourceId, 
-   		Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iTitlePaneResourceId = aTitlePaneResourceId;   
-   	}
+    {
+    __ASSERT_DEBUG( aTitlePaneResourceId, 
+        Panic( EPhoneUtilsParameterNotInitialized ) );
+    iTitlePaneResourceId = aTitlePaneResourceId;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSingleItemFetch::TitleResourceId
@@ -83,11 +83,11 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TInt TPhoneCmdParamSingleItemFetch::TitlePaneResourceId() const
-   	{
-   	__ASSERT_DEBUG( iTitlePaneResourceId, 
-   		Panic( EPhoneUtilsInvariant ) );
-   	return iTitlePaneResourceId;
-   	}
+    {
+    __ASSERT_DEBUG( iTitlePaneResourceId, 
+        Panic( EPhoneUtilsInvariant ) );
+    return iTitlePaneResourceId;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSingleItemFetch::SetCbaResourceId
@@ -97,11 +97,11 @@
 //
 EXPORT_C void TPhoneCmdParamSingleItemFetch::SetCbaResourceId( 
    TInt aCbaResourceId )
-   	{
-   	__ASSERT_DEBUG( aCbaResourceId, 
-   		Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iCbaResourceId = aCbaResourceId;   
-   	}
+    {
+    __ASSERT_DEBUG( aCbaResourceId, 
+        Panic( EPhoneUtilsParameterNotInitialized ) );
+    iCbaResourceId = aCbaResourceId;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSingleItemFetch::CbaResourceId
@@ -110,11 +110,11 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TInt TPhoneCmdParamSingleItemFetch::CbaResourceId() const
-   	{
-   	__ASSERT_DEBUG( iCbaResourceId, 
-   		Panic( EPhoneUtilsInvariant ) );
-   	return iCbaResourceId;
-   	}
+    {
+    __ASSERT_DEBUG( iCbaResourceId, 
+        Panic( EPhoneUtilsInvariant ) );
+    return iCbaResourceId;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSingleItemFetch::SetString
@@ -123,11 +123,11 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamSingleItemFetch::SetString( TDes* aString )
-   	{
-   	__ASSERT_DEBUG( aString, 
-   		Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iString = aString;
-   	}
+    {
+    __ASSERT_DEBUG( aString, 
+        Panic( EPhoneUtilsParameterNotInitialized ) );
+    iString = aString;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSingleItemFetch::String
@@ -136,10 +136,10 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TDes* TPhoneCmdParamSingleItemFetch::String() const
-   	{
-   	__ASSERT_DEBUG( iString, 
-   		Panic( EPhoneUtilsInvariant ) );
-   	return iString;
-   	}
+    {
+    __ASSERT_DEBUG( iString, 
+        Panic( EPhoneUtilsInvariant ) );
+    return iString;
+    }
    
 //  End of File  
--- a/phoneapp/phoneuiutils/src/tphonecmdparamspeeddial.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamspeeddial.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -45,11 +45,11 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamSpeedDial::SetPhoneNumber( TPtr* aPhoneNumber )
-   	{
-   	__ASSERT_DEBUG( aPhoneNumber, 
-   		Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iPhoneNumber = aPhoneNumber;   
-   	}
+    {
+    __ASSERT_DEBUG( aPhoneNumber, 
+        Panic( EPhoneUtilsParameterNotInitialized ) );
+    iPhoneNumber = aPhoneNumber;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSpeedDial::PhoneNumber
@@ -58,11 +58,11 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TPtr* TPhoneCmdParamSpeedDial::PhoneNumber()
-   	{
-   	__ASSERT_DEBUG( iPhoneNumber, 
-   		Panic( EPhoneUtilsInvariant ) );
-   	return iPhoneNumber;
-   	}
+    {
+    __ASSERT_DEBUG( iPhoneNumber, 
+        Panic( EPhoneUtilsInvariant ) );
+    return iPhoneNumber;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSpeedDial::SetNumberType
@@ -93,11 +93,11 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamSpeedDial::SetLocation( TInt aLocation )
-   	{
-   	__ASSERT_DEBUG( aLocation >= 0, 
-   		Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iLocation = aLocation;   
-   	}
+    {
+    __ASSERT_DEBUG( aLocation >= 0, 
+        Panic( EPhoneUtilsParameterNotInitialized ) );
+    iLocation = aLocation;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSpeedDial::Location
@@ -106,11 +106,11 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TInt TPhoneCmdParamSpeedDial::Location()
-   	{
-   	__ASSERT_DEBUG( iLocation >= 0, 
-   		Panic( EPhoneUtilsInvariant ) );
-   	return iLocation;
-   	}
+    {
+    __ASSERT_DEBUG( iLocation >= 0, 
+        Panic( EPhoneUtilsInvariant ) );
+    return iLocation;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSpeedDial::SetServiceId
--- a/phoneapp/phoneuiutils/src/tphonecmdparamstring.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecmdparamstring.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -30,7 +30,7 @@
 //
 EXPORT_C TPhoneCmdParamString::TPhoneCmdParamString() :
     TPhoneCommandParam(),
-	iString( NULL )
+    iString( NULL )
     {
     iParamId = EPhoneParamIdString;
     }
@@ -42,10 +42,10 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamString::SetString( TPtr* aString )
-   	{
-   	__ASSERT_DEBUG( aString, Panic( EPhoneUtilsParameterNotInitialized ) );
-   	iString = aString;   
-   	}
+    {
+    __ASSERT_DEBUG( aString, Panic( EPhoneUtilsParameterNotInitialized ) );
+    iString = aString;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamString::String
@@ -54,9 +54,9 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TPtr* TPhoneCmdParamString::String()
-   	{
-   	__ASSERT_DEBUG( iString, Panic( EPhoneUtilsInvariant ) );
-   	return iString;
-   	}
+    {
+    __ASSERT_DEBUG( iString, Panic( EPhoneUtilsInvariant ) );
+    return iString;
+    }
 
 //  End of File
--- a/phoneapp/phoneuiutils/src/tphonecommandparam.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonecommandparam.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -38,7 +38,7 @@
 //
 EXPORT_C TPhoneCommandParam::TPhoneParamId TPhoneCommandParam::ParamId() const
     {
-   	__ASSERT_DEBUG( iParamId, Panic( EPhoneUtilsInvariant ) );
+    __ASSERT_DEBUG( iParamId, Panic( EPhoneUtilsInvariant ) );
     return iParamId;
     }
 
--- a/phoneapp/phoneuiutils/src/tphonetouchbuttonconfig.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuiutils/src/tphonetouchbuttonconfig.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -17,7 +17,9 @@
 
 // INCLUDE FILES
 #include "cphonecenrepproxy.h"
-#include <callhandlingui.rsg>
+// <-- QT PHONE START -->
+//#include <callhandlingui.rsg>
+// <-- QT PHONE END -->
 #include <barsread.h>
 #include <coemain.h>
 
@@ -93,9 +95,10 @@
 // ---------------------------------------------------------------------------
 //
 void TPhoneTouchButtonConfig::ReadConfigResourceL( 
-    const TFixedArray<TInt,KTelButtonsConfigKeyCount>& aKeyValues )
+    const TFixedArray<TInt,KTelButtonsConfigKeyCount>& /*aKeyValues*/ )
     {
-    TResourceReader reader;
+// <-- QT PHONE START -->
+    /*TResourceReader reader;
     CCoeEnv::Static()->CreateResourceReaderLC( 
             reader, 
             R_PHONEUI_TOUCH_BUTTON_CONFIG );
@@ -115,7 +118,8 @@
             }
         }
     
-    CleanupStack::PopAndDestroy(); // reader
+    CleanupStack::PopAndDestroy(); // reader*/
+// <-- QT PHONE END -->
     }
 
 // ---------------------------------------------------------------------------
--- a/phoneapp/phoneuiview/bwins/phoneuiviewu.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-EXPORTS
-	?HandleResourceChangeL@CPhoneViewController@@QAEXH@Z @ 1 NONAME ; void CPhoneViewController::HandleResourceChangeL(int)
-	?ExecuteCommand@CPhoneViewController@@UAEXHPAVTPhoneCommandParam@@@Z @ 2 NONAME ; void CPhoneViewController::ExecuteCommand(int, class TPhoneCommandParam *)
-	?DoFetchForegroundApplicationWindowGroupIdL@CPhoneViewController@@SAHAAVCEikonEnv@@@Z @ 3 NONAME ; int CPhoneViewController::DoFetchForegroundApplicationWindowGroupIdL(class CEikonEnv &)
-	?ExecuteCommandL@CPhoneViewController@@UAEXHHPAVTPhoneCommandParam@@@Z @ 4 NONAME ; void CPhoneViewController::ExecuteCommandL(int, int, class TPhoneCommandParam *)
-	?SetBlockingDialogIsDisplayed@CPhoneViewController@@UAEXH@Z @ 5 NONAME ; void CPhoneViewController::SetBlockingDialogIsDisplayed(int)
-	?BlockingDialogIsDisplayed@CPhoneViewController@@QBEHXZ @ 6 NONAME ; int CPhoneViewController::BlockingDialogIsDisplayed(void) const
-	?NewL@CPhoneSingleItemFetch@@SAPAV1@AAVCEikonEnv@@AAVCPhoneViewController@@AAVCPhoneContactController@@AAVCPhoneStatusPane@@@Z @ 7 NONAME ; class CPhoneSingleItemFetch * CPhoneSingleItemFetch::NewL(class CEikonEnv &, class CPhoneViewController &, class CPhoneContactController &, class CPhoneStatusPane &)
-	?HelpContext@CPhoneViewController@@QAEABVTDesC16@@XZ @ 8 NONAME ; class TDesC16 const & CPhoneViewController::HelpContext(void)
-	?ExecuteCommandL@CPhoneViewController@@UAEXHH@Z @ 9 NONAME ; void CPhoneViewController::ExecuteCommandL(int, int)
-	?IdleWindowGroupId@CPhoneViewController@@QAEHXZ @ 10 NONAME ; int CPhoneViewController::IdleWindowGroupId(void)
-	?ExecuteCommandL@CPhoneViewController@@UAEXHHAAVTDesC16@@@Z @ 11 NONAME ; void CPhoneViewController::ExecuteCommandL(int, int, class TDesC16 &)
-	?PhoneView@CPhoneViewController@@QAEPAVCPhoneView@@XZ @ 12 NONAME ; class CPhoneView * CPhoneViewController::PhoneView(void)
-	?SetHiddenL@CPhoneViewController@@QAEXH@Z @ 13 NONAME ; void CPhoneViewController::SetHiddenL(int)
-	?HandleLayoutChange@CPhoneViewController@@QAEXVTRect@@@Z @ 14 NONAME ; void CPhoneViewController::HandleLayoutChange(class TRect)
-	?HandleCommandL@CPhoneViewController@@UAEHHPAVTPhoneCommandParam@@@Z @ 15 NONAME ; int CPhoneViewController::HandleCommandL(int, class TPhoneCommandParam *)
-	?ApplicationWindowGroupId@CPhoneViewController@@QAEHXZ @ 16 NONAME ; int CPhoneViewController::ApplicationWindowGroupId(void)
-	?NewL@CPhoneViewController@@SAPAV1@VTRect@@@Z @ 17 NONAME ; class CPhoneViewController * CPhoneViewController::NewL(class TRect)
-	?ExecuteCommand@CPhoneViewController@@UAEXH@Z @ 18 NONAME ; void CPhoneViewController::ExecuteCommand(int)
-	?ForegroundApplicationWindowGroupId@CPhoneViewController@@QAEHXZ @ 19 NONAME ; int CPhoneViewController::ForegroundApplicationWindowGroupId(void)
-	?StatusPaneDisplayed@CPhoneViewController@@QAEHXZ @ 20 NONAME ; int CPhoneViewController::StatusPaneDisplayed(void)
-	??1CPhoneViewController@@UAE@XZ @ 21 NONAME ; CPhoneViewController::~CPhoneViewController(void)
-	?ExecuteCommandL@CPhoneViewController@@UAEXH@Z @ 22 NONAME ; void CPhoneViewController::ExecuteCommandL(int)
-	?ExecuteCommandL@CPhoneViewController@@UAEXHPAVTPhoneCommandParam@@@Z @ 23 NONAME ; void CPhoneViewController::ExecuteCommandL(int, class TPhoneCommandParam *)
-	?FetchContent@CPhoneViewController@@UAEABVTDesC16@@XZ @ 24 NONAME ; class TDesC16 const & CPhoneViewController::FetchContent(void)
-	?HandleCommandL@CPhoneViewController@@UAEHH@Z @ 25 NONAME ; int CPhoneViewController::HandleCommandL(int)
-
--- a/phoneapp/phoneuiview/eabi/phoneuiviewu.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-EXPORTS
-	_ZN20CPhoneViewController10SetHiddenLEi @ 1 NONAME
-	_ZN20CPhoneViewController11HelpContextEv @ 2 NONAME
-	_ZN20CPhoneViewController12FetchContentEv @ 3 NONAME
-	_ZN20CPhoneViewController14ExecuteCommandEi @ 4 NONAME
-	_ZN20CPhoneViewController14ExecuteCommandEiP18TPhoneCommandParam @ 5 NONAME
-	_ZN20CPhoneViewController14HandleCommandLEi @ 6 NONAME
-	_ZN20CPhoneViewController14HandleCommandLEiP18TPhoneCommandParam @ 7 NONAME
-	_ZN20CPhoneViewController15ExecuteCommandLEi @ 8 NONAME
-	_ZN20CPhoneViewController15ExecuteCommandLEiP18TPhoneCommandParam @ 9 NONAME
-	_ZN20CPhoneViewController15ExecuteCommandLEii @ 10 NONAME
-	_ZN20CPhoneViewController15ExecuteCommandLEiiP18TPhoneCommandParam @ 11 NONAME
-	_ZN20CPhoneViewController15ExecuteCommandLEiiR7TDesC16 @ 12 NONAME
-	_ZN20CPhoneViewController17IdleWindowGroupIdEv @ 13 NONAME
-	_ZN20CPhoneViewController18HandleLayoutChangeE5TRect @ 14 NONAME
-	_ZN20CPhoneViewController19StatusPaneDisplayedEv @ 15 NONAME
-	_ZN20CPhoneViewController21HandleResourceChangeLEi @ 16 NONAME
-	_ZN20CPhoneViewController24ApplicationWindowGroupIdEv @ 17 NONAME
-	_ZN20CPhoneViewController28SetBlockingDialogIsDisplayedEi @ 18 NONAME
-	_ZN20CPhoneViewController34ForegroundApplicationWindowGroupIdEv @ 19 NONAME
-	_ZN20CPhoneViewController42DoFetchForegroundApplicationWindowGroupIdLER9CEikonEnv @ 20 NONAME
-	_ZN20CPhoneViewController4NewLE5TRect @ 21 NONAME
-	_ZN20CPhoneViewController9PhoneViewEv @ 22 NONAME
-	_ZN21CPhoneSingleItemFetch4NewLER9CEikonEnvR20CPhoneViewControllerR23CPhoneContactControllerR16CPhoneStatusPane @ 23 NONAME
-	_ZNK20CPhoneViewController25BlockingDialogIsDisplayedEv @ 24 NONAME
-	_ZTI10CPhoneNote @ 25 NONAME
-	_ZTI10CPhoneView @ 26 NONAME
-	_ZTI15CPhoneTextQuery @ 27 NONAME
-	_ZTI16CPhoneDialerView @ 28 NONAME
-	_ZTI16CPhoneStatusPane @ 29 NONAME
-	_ZTI17CPhoneAudioPlayer @ 30 NONAME
-	_ZTI17CPhoneQueryDialog @ 31 NONAME
-	_ZTI17CPhoneRingingTone @ 32 NONAME
-	_ZTI17CPhoneVmbxHandler @ 33 NONAME
-	_ZTI18CPhoneProgressNote @ 34 NONAME
-	_ZTI19CPhoneBubbleMapping @ 35 NONAME
-	_ZTI19CPhoneBubbleWrapper @ 36 NONAME
-	_ZTI19CPhoneTextTitlePane @ 37 NONAME
-	_ZTI20CPhoneMenuController @ 38 NONAME
-	_ZTI20CPhoneNoteController @ 39 NONAME
-	_ZTI20CPhoneUIDisabledNote @ 40 NONAME
-	_ZTI20CPhoneViewController @ 41 NONAME
-	_ZTI21CPhoneApplicationExit @ 42 NONAME
-	_ZTI21CPhoneAudioController @ 43 NONAME
-	_ZTI21CPhoneBubbleExtension @ 44 NONAME
-	_ZTI21CPhoneDtmfSendingNote @ 45 NONAME
-	_ZTI21CPhoneIncallIndicator @ 46 NONAME
-	_ZTI21CPhoneListQueryDialog @ 47 NONAME
-	_ZTI21CPhoneQueryController @ 48 NONAME
-	_ZTI21CPhoneSingleItemFetch @ 49 NONAME
-	_ZTI23CPhoneContactController @ 50 NONAME
-	_ZTI25CPhoneBubbleExtensionData @ 51 NONAME
-	_ZTI25CPhoneDtmfNumberListQuery @ 52 NONAME
-	_ZTI25CPhoneRingingTonePlayerAO @ 53 NONAME
-	_ZTI26CPhoneKeyCaptureController @ 54 NONAME
-	_ZTI28CPhoneBubbleExtensionManager @ 55 NONAME
-	_ZTI29CPhoneCallHeaderTextAnimation @ 56 NONAME
-	_ZTIN21CPhoneApplicationExit11CElementUidE @ 57 NONAME
-	_ZTIN21CPhoneApplicationExit13CElementBasicE @ 58 NONAME
-	_ZTIN21CPhoneApplicationExit13CElementDriveE @ 59 NONAME
-	_ZTV10CPhoneNote @ 60 NONAME
-	_ZTV10CPhoneView @ 61 NONAME
-	_ZTV15CPhoneTextQuery @ 62 NONAME
-	_ZTV16CPhoneDialerView @ 63 NONAME
-	_ZTV16CPhoneStatusPane @ 64 NONAME
-	_ZTV17CPhoneAudioPlayer @ 65 NONAME
-	_ZTV17CPhoneQueryDialog @ 66 NONAME
-	_ZTV17CPhoneRingingTone @ 67 NONAME
-	_ZTV17CPhoneVmbxHandler @ 68 NONAME
-	_ZTV18CPhoneProgressNote @ 69 NONAME
-	_ZTV19CPhoneBubbleMapping @ 70 NONAME
-	_ZTV19CPhoneBubbleWrapper @ 71 NONAME
-	_ZTV19CPhoneTextTitlePane @ 72 NONAME
-	_ZTV20CPhoneMenuController @ 73 NONAME
-	_ZTV20CPhoneNoteController @ 74 NONAME
-	_ZTV20CPhoneUIDisabledNote @ 75 NONAME
-	_ZTV20CPhoneViewController @ 76 NONAME
-	_ZTV21CPhoneApplicationExit @ 77 NONAME
-	_ZTV21CPhoneAudioController @ 78 NONAME
-	_ZTV21CPhoneBubbleExtension @ 79 NONAME
-	_ZTV21CPhoneDtmfSendingNote @ 80 NONAME
-	_ZTV21CPhoneIncallIndicator @ 81 NONAME
-	_ZTV21CPhoneListQueryDialog @ 82 NONAME
-	_ZTV21CPhoneQueryController @ 83 NONAME
-	_ZTV21CPhoneSingleItemFetch @ 84 NONAME
-	_ZTV23CPhoneContactController @ 85 NONAME
-	_ZTV25CPhoneBubbleExtensionData @ 86 NONAME
-	_ZTV25CPhoneDtmfNumberListQuery @ 87 NONAME
-	_ZTV25CPhoneRingingTonePlayerAO @ 88 NONAME
-	_ZTV26CPhoneKeyCaptureController @ 89 NONAME
-	_ZTV28CPhoneBubbleExtensionManager @ 90 NONAME
-	_ZTV29CPhoneCallHeaderTextAnimation @ 91 NONAME
-	_ZTVN21CPhoneApplicationExit11CElementUidE @ 92 NONAME
-	_ZTVN21CPhoneApplicationExit13CElementBasicE @ 93 NONAME
-	_ZTVN21CPhoneApplicationExit13CElementDriveE @ 94 NONAME
-	_ZThn12_N20CPhoneViewController28SetBlockingDialogIsDisplayedEi @ 95 NONAME
-	_ZThn4_N20CPhoneViewController12FetchContentEv @ 96 NONAME
-	_ZThn4_N20CPhoneViewController14ExecuteCommandEi @ 97 NONAME
-	_ZThn4_N20CPhoneViewController14ExecuteCommandEiP18TPhoneCommandParam @ 98 NONAME
-	_ZThn4_N20CPhoneViewController14HandleCommandLEi @ 99 NONAME
-	_ZThn4_N20CPhoneViewController14HandleCommandLEiP18TPhoneCommandParam @ 100 NONAME
-	_ZThn4_N20CPhoneViewController15ExecuteCommandLEi @ 101 NONAME
-	_ZThn4_N20CPhoneViewController15ExecuteCommandLEiP18TPhoneCommandParam @ 102 NONAME
-	_ZThn4_N20CPhoneViewController15ExecuteCommandLEii @ 103 NONAME
-	_ZThn4_N20CPhoneViewController15ExecuteCommandLEiiP18TPhoneCommandParam @ 104 NONAME
-	_ZThn4_N20CPhoneViewController15ExecuteCommandLEiiR7TDesC16 @ 105 NONAME
-
--- a/phoneapp/phoneuiview/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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:  PhoneUiView bld file
-*
-*/
-
-#ifdef RD_PHONE_NG
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-PRJ_EXPORTS
-
-
-// Stub SIS files:
-../group/phoneuiview_stub.sis                   /epoc32/data/z/system/install/phoneuiview_stub.sis
-
-PRJ_MMPFILES
-phoneuiview.mmp
-
-#endif // RD_PHONE_NG
-
-// End of File
--- a/phoneapp/phoneuiview/group/phoneuiview.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +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:  View subcomponent of PhoneUI
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_APPLICATION MultiMediaDD PowerMgmt NetworkControl DRM DiskAdmin
-
-// Assign Vendor ID.
-VENDORID VID_DEFAULT
-
-TARGET          phoneuiview.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x101F4D18
-
-SOURCEPATH      ../src
-
-SOURCE          cphoneapplicationexit.cpp
-SOURCE          cphoneaudiocontroller.cpp
-SOURCE          cphoneaudioplayer.cpp
-SOURCE          cphonebubblemapping.cpp
-SOURCE          cphonebubblewrapper.cpp
-SOURCE          cphonecallheadertextanimation.cpp
-SOURCE          cphonecontactcontroller.cpp
-SOURCE          cphonedtmfsendingnote.cpp
-SOURCE          cphoneincallindicator.cpp
-SOURCE          cphonekeycapturecontroller.cpp
-SOURCE          cphonemenucontroller.cpp
-SOURCE          cphonenote.cpp
-SOURCE          cphoneuidisablednote.cpp
-SOURCE          cphonenotecontroller.cpp
-SOURCE          cphoneprogressnote.cpp
-SOURCE          cphonequerycontroller.cpp
-SOURCE          cphonequerydialog.cpp
-SOURCE          cphoneringingtone.cpp
-SOURCE          cphoneringingtoneplayerao.cpp
-SOURCE          cphonestatuspane.cpp
-SOURCE          cphonetextquery.cpp
-SOURCE          cphoneview.cpp
-SOURCE          cphonedialerview.cpp
-SOURCE          cphoneviewcontroller.cpp
-SOURCE          cphonevmbxhandler.cpp
-SOURCE          cphonedtmfnumberlistquery.cpp
-SOURCE          cphonebuttonscontroller.cpp
-SOURCE          cphonesingleitemfetch.cpp
-SOURCE          cphonedialercontroller.cpp
-SOURCE          cphonelistquerydialog.cpp
-SOURCE          cphonenumberentry.cpp 
-SOURCE          phonebubbleextensionmanager.cpp 
-SOURCE          phonebubbleextension.cpp 
-SOURCE          phonebubbleextensiondata.cpp
-SOURCE          cphonetoolbarcontroller.cpp
-
-
-/* Languages */
-LANG SC
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../phoneuicontrol/inc
-USERINCLUDE     ../../phoneuiutils/inc
-USERINCLUDE     ../../phonemediatorcenter/inc
-USERINCLUDE     ../../phoneui/srcdata
-
-APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
-SYSTEMINCLUDE   /epoc32/include/mda/client
-SYSTEMINCLUDE   /epoc32/include/mmf/common
-SYSTEMINCLUDE   /epoc32/include/mmf/server
-
-LIBRARY         euser.lib
-LIBRARY         cone.lib
-LIBRARY         eikcore.lib
-LIBRARY         ws32.lib
-LIBRARY         bafl.lib
-LIBRARY         efsrv.lib // TParse
-LIBRARY         ecom.lib // for CPhoneBubbleExtensionManager plugin
-
-LIBRARY         eikcoctl.lib // status pane
-LIBRARY         eikdlg.lib   // for CPhoneNote
-LIBRARY         eikctl.lib
-
-//LIBRARY         eikctl.lib
-LIBRARY         aknskins.lib
-LIBRARY         avkon.lib
-LIBRARY         aknnotify.lib // for AknInCallBubble
-LIBRARY         apparc.lib
-
-LIBRARY         apgrfx.lib  // Apa server
-
-LIBRARY         cdlengine.lib
-LIBRARY         aknicon.lib
-LIBRARY         akncapserverclient.lib
-
-// Scalable UI.
-LIBRARY         aknlayout2scalable.lib
-LIBRARY         aknlayout2.lib
-
-
-LIBRARY         bitmaptransforms.lib
-LIBRARY         fbscli.lib
-LIBRARY         bitgdi.lib
-LIBRARY         hlplch.lib // Help launcher
-LIBRARY         sendui.lib // CSendAppUi
-LIBRARY         mediaclient.lib
-LIBRARY         mediaclientaudio.lib
-
-// DRM
-LIBRARY         drmhelper.lib
-LIBRARY         apmime.lib
-LIBRARY         caf.lib
-
-// UTF-8 conversion for the TTS
-LIBRARY         charconv.lib
-
-LIBRARY         featmgr.lib // FeatureManager
-
-LIBRARY         phoneuiutils.lib
-LIBRARY         bubblemanager.lib
-LIBRARY         phoneclient.lib 
-
-// From S60
-LIBRARY         commonengine.lib //StringLoader
-LIBRARY         etext.lib // CRichText
-
-// Phonebook engine
-LIBRARY         pbkeng.lib
-
-// Ringingtone output
-LIBRARY         audiooutputrouting.lib
-
-// AIW
-LIBRARY         servicehandler.lib
-
-
-LIBRARY         dialer.lib
-LIBRARY         egul.lib
-
-
-// Video mailbox
-LIBRARY         vmbx.lib
-
-LIBRARY         cauiengine.lib // For Video call Reconnect query
-LIBRARY         gslauncher.lib // For call settings launch.
-
-// Transition effects
-LIBRARY         gfxtrans.lib
-
-LIBRARY         platformenv.lib // PathInfo
-
-LIBRARY         phonemediatorcenter.lib
-LIBRARY         serviceprovidersettings.lib
\ No newline at end of file
--- a/phoneapp/phoneuiview/group/phoneuiview_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /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 phoneuiview component stub.
-;
-; Languages
-&EN
-
-; Header
-#{"PhoneUIView"}, (0x101F4D18), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-;
-;  PhoneUIView
-;
-"" - "z:\sys\bin\PhoneUIView.dll"
Binary file phoneapp/phoneuiview/group/phoneuiview_stub.sis has changed
--- a/phoneapp/phoneuiview/inc/c3dringingtoneinterface.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* 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:  Provides abstract ECOM interface for 3D ringing tone 
-*
-*/
-
-
-
-#ifndef C3DRINGINGTONEINTERFACE_H
-#define C3DRINGINGTONEINTERFACE_H
-
-// INCLUDES
-#include    <e32base.h>
-
-// CONSTANTS
-const TInt32 K3DRingingToneInterfaceUid = 0x1020299A;
-
-
-enum T3DRingingToneInterfaceAttr
-    {
-    E3DRTIAttrProfileId = 0,
-    E3DRTIAttr3DEffect = 1,
-    E3DRTIAttr3DEcho = 2,
-    E3DRTIAttr3DRingingTone = 3
-    };
-
-enum T3DRingingToneInterfacePlayerAttr
-    {
-    E3DRTIAttrAudioPlayerUtility = 10,
-    E3DRTIAttrAudioToneUtility = 11,
-    E3DRTIAttrDrmPlayerUtility = 12,
-    E3DRTIAttrVideoPlayerUtility = 13
-    };
-
-
-
-
-// CLASS DECLARATION
-
-/**
-*  Abstract ECOM interface for playing 3D ringing tones.
-*
-*  @since 3.0
-*/
-class C3DRingingToneInterface : public CBase
-    {
-    public:
-            
-        /**
-        * Two-phased constructor.
-        *
-        * @param aImplementationUid  For selection when there are more than one
-        *                            implementations. Not used yet, for future.
-        */
-        inline static C3DRingingToneInterface* NewL( TUid aImplementationUid );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~C3DRingingToneInterface();
-        
-        /**
-        * Set 3D ringing tone interface attribute with specific 
-        * integer value.
-        * @param aAttributeKey An enum of T3DRingingToneInterfaceAttr.
-        * @param aValue Attribute integer value.
-        * @return KErrNone, attribute set, no errors
-        *         KErrArgument, attribute not set, argument error
-        *		  Some system wide Symbian error, attribute not set
-        */
-        virtual TInt SetAttr( T3DRingingToneInterfaceAttr aAttributeKey, 
-        					  TInt aValue ) = 0;
-
-        /**
-        * Set 3D ringing tone interface attribute with specific 
-        * string value.
-        * @param aAttributeKey An enum of T3DRingingToneInterfaceAttr.
-        * @param aValue Attribute string value.
-        * @return KErrNone, attribute set, no errors
-        *         KErrArgument, attribute not set, argument error
-        *		  Some system wide Symbian error, attribute not set
-        */
-        virtual TInt SetAttr( T3DRingingToneInterfaceAttr aAttributeKey, 
-        					  const TDesC& aValue ) = 0;
-
-        /**
-        * Set 3D ringing tone interface attribute value any of type.
-        * @param aAttributeKey This can be for example one of the 
-        * player utility classes (see T3DRingingToneInterfacePlayerAttr).
-        * This method is left extendable.
-        * @param aValue Attribute value can be any.
-        * @return KErrNone, attribute set, no errors
-        *         KErrArgument, attribute not set, argument error
-        *		  Some system wide Symbian error, attribute not set
-        */
-        virtual TInt SetAttr( TInt aAttributeKey, TAny* aValue ) = 0;
-
-        /**
-        * Start playing 3D ringing tone.
-        * Method can leave with specific Symbian system wide error code.
-        * @param None.
-        * @return None.
-        */        
-        virtual void PlayL() = 0;
-        
-        /**
-        * Stop playing 3D ringing tone.
-        * @param None.        
-        * @return None.
-        */        
-        virtual void Stop() = 0;
-            
-    private:    // Data
-        
-        // Uid required by ECOM.
-        TUid iDtor_ID_Key;
-    };
-
-
-#include    <c3dringingtoneinterface.inl>
-
-#endif      // C3DRINGINGTONEINTERFACE_H
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/c3dringingtoneinterface.inl	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* 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:  Inline functions for C3DRingingToneInterface class
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    <ECom/ECom.h>
-
-// CONSTANTS
-_LIT8( KCoUtlResolverData, "default" );
-
-
-// ============================ MEMBER FUNCTIONS ===============================
- 
-// -----------------------------------------------------------------------------
-// C3DRingingToneInterface::NewL
-// ECom is used to create instance.
-// -----------------------------------------------------------------------------
-//
-inline C3DRingingToneInterface* C3DRingingToneInterface::NewL( TUid /*aImplementationUid*/ )
-    {
-    
-    const TUid K3DRingingToneInterfaceDefinitionUid = 
-        { K3DRingingToneInterfaceUid };
-
-    TEComResolverParams params;
-    params.SetDataType( KCoUtlResolverData );
-    params.SetWildcardMatch( EFalse );
- 
-    RImplInfoPtrArray pluginArray;
-    //List all plugins which implement C3DRingingToneInterface
-    REComSession::ListImplementationsL( K3DRingingToneInterfaceDefinitionUid, pluginArray );
-
-    if( pluginArray.Count() )
-        {
-        TAny* ptr = 
-            REComSession::CreateImplementationL(
-                K3DRingingToneInterfaceDefinitionUid,
-                _FOFF( C3DRingingToneInterface, iDtor_ID_Key ), 
-                NULL,
-                params );
- 
-        pluginArray.ResetAndDestroy(); 
-        return reinterpret_cast< C3DRingingToneInterface* >( ptr );
-        }
-    else
-        {
-        return NULL;
-        }   
-    }
-
-
-// -----------------------------------------------------------------------------
-// C3DRingingToneInterface::~C3DRingingToneInterface
-// ECom is used to delete instance..
-// REComSession::FinalClose() in the application which loads this plugin
-// -----------------------------------------------------------------------------
-
-inline C3DRingingToneInterface::~C3DRingingToneInterface()
-    {
-    REComSession::DestroyedImplementation( iDtor_ID_Key );
-    }
-
-        
-//  End of File
--- a/phoneapp/phoneuiview/inc/cphoneapplicationexit.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
-* 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:  It provides functionality to exit the foreground application.
-*
-*/
-
-
-
-#ifndef CPHONEAPPLICATIONEXIT_H
-#define CPHONEAPPLICATIONEXIT_H
-
-//  INCLUDES
-#include    <e32base.h>
-
-// FORWARD DECLARATIONS
-class CPhoneViewController;
-class RWsSession;
-
-// CLASS DECLARATION
-
-/**
-*  It provides functionality to exit the foreground application.
-*
-*  @since Series 60 2.6
-*/
-class CPhoneApplicationExit 
-    : public CBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @param aViewController Phone UI View controller
-        * @param aWsSession window server session.
-        * @param aUikonWgId UIKON server window group id.
-        * @return new CPhoneApplicationExit instance.
-        */
-        static CPhoneApplicationExit* NewL(
-            CPhoneViewController* aViewController,
-            RWsSession& aWsSession,
-            const TInt aUikonWgId );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneApplicationExit();
-
-    public: // New functions
-        
-        /**
-        * Exits the active application.
-        * @return error code.
-        */
-        TInt ExitApplication();
-
-    private:
-
-        // Inner class.
-        class CElement;
-
-        // Basic cases.
-        class CElementBasic;
-
-        // UID range element.
-        class CElementUid;
-
-        // Drive element.
-        class CElementDrive;
-
-        /**
-        * C++ constructor.
-        * @param aViewController Phone UI View controller
-        * @param aWsSession window server session.
-        * @param aUikonWgId UIKON server window group id.
-        */
-        CPhoneApplicationExit(
-            CPhoneViewController* aViewController,
-            RWsSession& aWsSession,
-            const TInt aUikonWgId );
-
-        /**
-        * Exits the application.
-        */
-        void ExitApplicationL();
-
-        /**
-        * Checks if application should be closed using product
-        * specific variation variables.
-        * @param aUid application UID.
-        * @return ETrue if application should be closed.
-        */
-        TBool CheckApplicationClosingL( const TUid& aUid );
-
-        /**
-        * Checks if included to "close" list.
-        * @param aUid application UID.
-        * @return ETrue if included.
-        */
-        TBool IsIncludedToCloseListL( const TUid& aUid ) const;
-
-        /**
-        * Checks if included to "don't close" list.
-        * @param aUid application UID.
-        * @return ETrue if included.
-        */
-        TBool IsIncludedToDontCloseListL( const TUid& aUid ) const;
-
-        /**
-        * Checks if application UID is included to the list.
-        * @param aSource list to be checked.
-        * @param aUid application UID.
-        * @return ETrue if application UID is included to the list.
-        */
-        TBool CheckListL( 
-            const RPointerArray< CElement >& aSource, 
-            const TUid& aUid ) const;
-
-        /**
-        * Reads lists from variation variables.
-        */
-        void ReadListsL();
-
-        /**
-        * Builds list from text description.
-        * @param aTarget it will contain list of elements.
-        * @param aSource source description.
-        * @param aOomAllowed ETrue if OOM is allowed in the description.
-        */
-        void BuildListL(
-            RPointerArray< CElement >& aTarget,
-            const TDesC& aSource,
-            TBool aOomAllowed );
-
-        /**
-        * Parses string from lexer.
-        * @param aLexer lexer.
-        * @param aString string to be checked.
-        * @return ETrue if string was next element.
-        */
-        TBool ParseString( 
-            TLex& aLexer,
-            const TDesC& aString );
-
-        /**
-        * Parses UID from lexer.
-        * @param aLexer lexer.
-        * @param aUidStart it will contain UID.
-        * @param aUidEnd it will contain UID. 
-        * @return ETrue if UID or UID range was next element.
-        */
-        TBool ParseUid( 
-            TLex& aLexer, 
-            TUid& aUidStart,
-            TUid& aUidEnd );
-        
-        /**
-        * Parses driver identifier from lexerl.
-        * @param aLexer lexer.
-        * @param aChar it will contain drive character.
-        * @return ETrue if drive identifier was next element.
-        */
-        TBool ParseDrive(
-            TLex& aLexer, 
-            TChar& aChar );
-
-        /**
-        * Checks that the element ends appropriately - 
-        * next character must be space or then input has ended.
-        * @param aLexer lexer.
-        * @return ETrue if element ends appropriately.
-        */
-        inline TBool CheckEnd( TLex& aLexer );
-        
-        /**
-        * Checks if application closing is enabled.
-        * @return ETrue if application closing is enabled.
-        */
-        TBool IsApplicationClosingEnabled() const;
-
-    private:    // Data
-
-        // Reference to Phone UI View Controller.
-        CPhoneViewController* iViewController;
-
-        // Reference to window server session.
-        RWsSession& iWsSession;
-
-        // UIKON server window group id.
-        const TInt iUikonWgId;
-
-        // ETrue if product specific variables have been read.
-        TBool iListsRead;
-
-        // Owned product specific "close" list.
-        RPointerArray<CElement> iCloseList;
-        
-        // Owned product specific "don't close" list.
-        RPointerArray<CElement> iDontCloseList;
-        
-    };
-
-#endif // CPHONEAPPLICATIONEXIT_H
-
-// End of File
--- a/phoneapp/phoneuiview/inc/cphoneaudiocontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +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:  It manages incall indicator.
-*
-*/
-
-
-#ifndef CPHONEAUDIOCONTROLLER_H
-#define CPHONEAUDIOCONTROLLER_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CPhoneStatusPane;
-class TPhoneCommandParam;
-class CPhoneTimer;
-
-// CLASS DECLARATION
-
-/**
-*  It manages navi pane audio indicators
-*
-*  @since 1.0
-*/
-class CPhoneAudioController : public CBase, public MCoeControlObserver,
-    public MCoeForegroundObserver
-    {
-    public:  // Constructors and destructor      
-        
-        /**
-        * Two-phased constructor.
-        * @return new instance.
-        */
-        static CPhoneAudioController* NewL();
-        
-        /**
-        * Destructor.
-        */
-        ~CPhoneAudioController();
-
-    public: // New functions
-
-        /**
-        * Activates voice volume control.
-        */
-        void ActivateVolumeControlL();
-
-        /**
-        * Deactivate voice volume control.
-        */
-        void DeactivateVolumeControl();
-        
-        /**
-        * Update control using the specified data
-        * @param aCommandParam command parameter
-        */
-        void HandleVolumeChangeL( TPhoneCommandParam* aCommandParam );
-        
-        /**
-        * Update control using the specified data
-        * @param aCommandParam command parameter
-        */
-        void HandleIhfChange( TPhoneCommandParam* aCommandParam );
-        
-        /**
-        * Update control using the specified data
-        * @param aCommandParam command parameter
-        */
-        void HandleMuteChange( TPhoneCommandParam* aCommandParam );
-        
-        /**
-        * Gets volume level from navi pane control.
-        * @return Volume level.
-        */
-        TInt VolumeLevelFromControl();  
-        
-    private: // MCoeControlObserver
-    
-        void HandleControlEventL( CCoeControl* aControl, 
-                                  TCoeEvent aEventType ); 
-        
-    private: // MCoeForegroundObserver
-        
-        /**
-         * Handles the application coming to the foreground.
-         */
-        void HandleGainingForeground();
-        
-        /**
-         * Handles the application going into the background.
-         */
-        void HandleLosingForeground();
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CPhoneAudioController();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Update indicator.
-        */
-        void ActivateL();
-
-        /**
-        * Recovery system callback
-        */
-        static TInt DoRecoverActivateL( TAny* aAny );
-        
-        /**
-        * Pushes new decorator to navi pane replacing the
-        * previous one if needed.
-        * @param aNew new to replace the old one.
-        */
-        void PushL(CAknNavigationDecorator& aNew);
-
-        /**
-        * Callback function. Called when navi pane should be updated 
-        * back to default.
-        * @param aAny pointer to instance of this class.
-        * @return KErrNone always.
-        */
-        static TInt DoUpdateNaviPaneToDefault( TAny* aAny );
-
-        /**
-        * Get current volume decorator (Ihf or Ear) 
-        * @return Current volume decorator
-        */
-        CAknNavigationDecorator& VolumeDecorator();
-        
-        /**
-        * Get current volume control (Ihf or Ear) 
-        * @return Current volume control (Ihf or Ear)         
-        */
-        CAknVolumeControl& VolumeControl();    
-                
-        /**
-        * Get current volume level (Ihf or Ear)  
-        * @return Current Ihf or Ear volume level         
-        */        
-        TInt VolumeLevel(); 
-        
-        /**
-        * Select decorator based on current audio status
-        * @return Selected decorator (Ihf, Ear or Muted).         
-        */
-        CAknNavigationDecorator& SelectDecoratorL();         
-
-        /**
-        * Set volume level for given volume control
-        * @param aVolumeControl Volume control
-        * @param aVolumeLevel New volume level
-        */
-        void SetVolumeLevel(CAknVolumeControl& aVolumeControl, TInt aVolumeLevel);
-    
-    private:    // Data
-
-        // Recovery id for activating volume control
-        TInt iActivateRecoveryId;    
-
-        CPhoneStatusPane* iStatusPane;
-        
-        // Count the volume control activations
-        TInt iVolumeControlCount;
-
-        // Owned IHF volume control
-        CAknNavigationDecorator* iIhfVolumeControl;
-
-        // IHF volume, from 1 to 10
-        TInt iIhfVolume;
-        
-        // ETrue IHF is active
-        TBool iIhfMode;
-
-        // ETrue if transfer to or from IHF pending
-        TBool iIhfTransferPending; 
-        
-        // Owned non-IHF volume control.
-        CAknNavigationDecorator* iEarVolumeControl;
-        
-        // Non-IHF volume, from 1 to 10
-        TInt iEarVolume; 
-
-        // Owned muted indicator
-        CAknNavigationDecorator* iMutedControl;
-        
-        // ETrue phone is muted
-        TBool iMuted;
-
-        // ETrue if timed control transfer to muted is pending
-        TBool iTimedMuteTransferPending; 
-
-        // Pointer the current control that is in navi pane
-        CAknNavigationDecorator* iOldControl;
-        
-        // Owned timer to update navi pane
-        CPhoneTimer* iNaviPaneUpdateTimer;
-        
-        /**
-         * ETrue if Telephony is the foreground application,
-         * otherwise EFalse.
-         */
-        TBool iPhoneInForeground;
-
-    };
-
-#endif      // CPHONEAUDIOCONTROLLER_H
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphoneaudioplayer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +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:  Audio player for playing audio sample or tone file.
-*
-*/
-
-
-#ifndef CPHONEAUDIOPLAYER_H
-#define CPHONEAUDIOPLAYER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <mdaaudiosampleplayer.h>
-#include <mdaaudiotoneplayer.h>
-
-// CLASS DECLARATION
-class MPhoneAudioPlayerObserver;
-class C3DRingingToneInterface;
-class CPhoneRingingTone;
-class  CAudioOutput;
- 
-/**
-*  Audio player for playing audio sample or tone file. 
-*
-*  @since 1.0
-*/
-class CPhoneAudioPlayer :
-    public CBase,
-    private MMdaAudioPlayerCallback,
-    private MMdaAudioToneObserver
-    {
-    public:
-
-        enum TAudioPlayerStatus
-            {
-            EToneLoading,
-            EToneReady,
-            ETonePlaying
-            };
-
-        enum TRingingType
-            {
-            ETypeRinging,
-            ETypeRingingOnce,
-            ETypeAscending
-            };
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aRingingTone The ringing tone
-        * @param aPriority The priority for the playing
-        * @param aPreference The preference value
-        * @param aObserver Audio player observer
-        * @param aId The id of this audio player
-        * @param aMdaServer The reference to media server
-        * @param aExtSecNeeded ETrue if DRM extend security is needed
-        * @return The instance of the audio player.
-        */
-        static CPhoneAudioPlayer* NewL( 
-            const CPhoneRingingTone& aRingingTone, 
-            TInt aPriority, 
-            TUint aPreference,
-            MPhoneAudioPlayerObserver& aObserver, 
-            TInt aId = 0,
-            CMdaServer* aMdaServer = NULL,
-            TBool aExtSecNeeded = EFalse );
-
-        /**
-        * Two-phased constructor.
-        * @param aRingingTone The ringing tone
-        * @param aPriority The priority for the playing
-        * @param aPreference The preference value
-        * @param aObserver Audio player observer
-        * @param aId The id of this audio player
-        * @param aMdaServer The reference to media server
-        * @param aExtSecNeeded ETrue if DRM extend security is needed
-        * @return The instance of the audio player. NULL if the function fails.
-        */
-        static CPhoneAudioPlayer* New( 
-            const CPhoneRingingTone& aRingingTone, 
-            TInt aPriority, 
-            TUint aPreference,
-            MPhoneAudioPlayerObserver& aObserver, 
-            TInt aId = 0,
-            CMdaServer* aMdaServer = NULL,
-            TBool aExtSecNeeded = EFalse );
-            
-        /**
-        * Two-phased constructor.
-        * @param aFileName The ringing tone file name.
-        * @param aPriority The priority for the playing
-        * @param aPreference The preference value
-        * @param aObserver Audio player observer
-        * @param aId The id of this audio player
-        * @param aMdaServer The reference to media server
-        * @param aExtSecNeeded ETrue if DRM extend security is needed
-        * @return The instance of the audio player.
-        */
-        static CPhoneAudioPlayer* NewL( 
-            const TDesC& aFileName, 
-            TInt aPriority, 
-            TUint aPreference,
-            MPhoneAudioPlayerObserver& aObserver, 
-            TInt aId = 0,
-            CMdaServer* aMdaServer = NULL,
-            TBool aExtSecNeeded = EFalse );            
-
-        /**
-        * Two-phased constructor, take audio from descriptor.
-        *
-        * @param aSequence sequence to be played.
-        * @param aPriority priority of tone.
-        * @param aPreference preference of tone.
-        * @param aObserver observer.
-        * @param aId identifier, used in observer interface 
-        *            calls.
-        * @param aMdaServer The reference to media server
-        */
-        static CPhoneAudioPlayer* NewSeqL(
-            const TDesC8& aSequence,
-            TInt aPriority,
-            TUint aPreference,
-            MPhoneAudioPlayerObserver& aObserver, 
-            TInt aId = 0,
-            CMdaServer* aMdaServer = NULL );
-         
-        /**
-        * Two-phased constructor, takes Text-To-Speech text to be played.
-        * @since Series 60 3.0
-        * @param aText Text to be pronounced.
-        * @param aPriority priority of tone.
-        * @param aPreference preference of tone.
-        * @param aObserver observer.
-        * @param aId identifier, used in observer interface 
-        *            calls.
-        */        
-        static CPhoneAudioPlayer* NewTtsL(
-            const TDesC& aText,
-            TInt aPriority,
-            TUint aPreference,
-            MPhoneAudioPlayerObserver& aObserver, 
-            TInt aId = 0);
-        
-        /**
-        * Destructor.
-        */
-        ~CPhoneAudioPlayer();
-       
-    public: // new function
-
-        /**
-        * Play the audio file or tone
-        * @param aRingingType 
-        * @param aVolume take value from 1 to 10
-        * @param aTTsToBePlayed
-        */
-        void Play(
-            TRingingType aRingType,
-            TInt aVolume,
-            TBool aTTsToBePlayed );
-
-        /**
-        * Stop current file playing
-        */
-        void StopPlaying();
-        
-          
-        /**
-        * Sets new volumes and ramptimes.
-        * @param aVolume -volume to be set
-        * @param aRamptime -ramptime to be set.
-        */           
-        void SetNewVolumeAndRamptime( TInt aVolume, TInt aRamptime );
-        
-        /**
-        * Re starts playing.
-        */
-        void ReStartPlaying();
-        /**
-        * Enable or disable TTs playing.
-        * @param aTTsToBePlayed
-        */
-        void SetTTsToBePlayed( TBool aTTsToBePlayed );
-        
-        /**
-        * Sets volume level to zero.
-        * @since Series 60 3.1
-        */  
-        void MutePlaying();
-      
-
-    private: //from base class
-
-        /**
-        * from MMdaAudioPlayerCallback
-        */
-        virtual void MapcInitComplete(
-            TInt aError, 
-            const TTimeIntervalMicroSeconds& aDuration );
-
-        /**
-        * from MMdaAudioPlayerCallback
-        */
-        virtual void MapcPlayComplete( TInt aError );
-
-        /**
-        * from MMdaAudioToneObserver
-        */
-        virtual void MatoPrepareComplete(TInt aError);
-
-        /**
-        * from MMdaAudioToneObserver
-        */
-        virtual void MatoPlayComplete(TInt aError);
-        
-    private:
-
-        enum TAudioDataFormat
-            {
-            EFormatTone,
-            EFormatSample,
-            EFormatTts // Text-To-Speech
-            };
-
-        /**
-        * C++ constructor.
-        */
-        CPhoneAudioPlayer( 
-            TAudioDataFormat aDataFormat,
-            MPhoneAudioPlayerObserver& aObserver, 
-            TInt aPriority, 
-            TUint aPreference,
-            TInt aId );
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL( 
-            const TDesC& aFileName, CMdaServer* aMdaServer );
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructSeqL( 
-            const TDesC8& aSequence,
-            CMdaServer* aMdaServer ); 
-
-        /**
-        * Symbian OS constructor for the Text-To-Speech option
-        * @since Series 60 3.0
-        */
-        void ConstructTtsL( 
-            const TDesC& aTtsText, 
-            TInt aPriority,
-            TUint aPreference );
-
-        /**
-        * Do the playing stuff
-        */
-        void DoPlay();
-
-        /**
-        * Ser tinging type properties
-        */
-        void SetRingingTypeProperties();
-
-        /**
-        * Call back function for timer
-        */
-        static TInt TimerCallBack( TAny* aAny );
-
-        /**
-        * Handle timer events
-        */
-        void HandleTimerEvent();
-        
-        /*
-        * Convert volume to the scale used by hardware
-        * @param aVolume volume to be altered
-        * @return TInt   new volume
-        */
-        TInt ConvertVolume( TInt aVolume );
-
-    private:    // Data  
-
-        // The format of audio data, audio sample file or tone file
-        TAudioDataFormat iFormat;
-
-        // Observer for error handling
-        MPhoneAudioPlayerObserver& iObserver;
-
-        // Priority. It's only used in playing tone file
-        const TInt iPriority; 
-        // Preference. Only used for tone file
-        const TUint iPreference; 
-
-        // Identifier number
-        TInt iId;
-
-        // Player for tone file.
-        CMdaAudioToneUtility* iTonePlayer;
-
-        // Player for audio file.
-        CMdaAudioPlayerUtility* iSamplePlayer;
-
-        // Player for the Text-To-Speech texts
-        CMdaAudioPlayerUtility* iTtsPlayer;
-
-        // The status of the player
-        TAudioPlayerStatus iPlayerStatus;
-
-        // How does the file played. It's only used if the player
-        // is playing the file
-        TRingingType iRingType;
-
-        // Volume
-        TInt iVolume;
-
-        // For ascending and descending used for set current volume
-        TInt iCurrentVolume;
-
-        // Used by sample player
-        TBool iToBePlaying;
-
-        // Store for sequence.
-        HBufC8* iSequence;
-        
-        // Store for the TTS source string
-        HBufC8* iTtsText;
-
-        // 3D Audio ringing tone plugin
-        C3DRingingToneInterface* i3DPlugin;
-        
-        // Flag to  indicate whether we need to play TTs or not
-        TBool iTTsToBePlayed;
-        
-        // Ringingtone output
-        CAudioOutput* iAudioOutput; 
-    };
-
-#endif      // CPHONEAUDIOPLAYER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonebubblemapping.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +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:  Mapping Call To Bubble
-*
-*/
-
-
-#ifndef __CPHONEBUBBLEMAPPING_H
-#define __CPHONEBUBBLEMAPPING_H
-
-// INCLUDES
-#include    <e32base.h>
-#include    <bmbubblemanager.h>
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* It defines a single item in mapping.
-*/
-class TMappingItem
-    {
-    public:
-        TInt iCallId;
-        CBubbleManager::TBubbleId iBubbleId;
-        CBubbleManager::TPhoneCallState iCallState;
-    
-            // NOT OWNED
-        CFbsBitmap* iThumbnail; // the thumbnail to be displayed in the 
-                                // call bubble 
-    };
-   
-/**
-* It keeps up mapping from call objects to bubble ids.
-*/
-class CPhoneBubbleMapping 
-    : public CBase
-    {
-    public:  // Constructors and destructor      
-        
-        /**
-        * Two-phased constructor.
-        *
-        * @param aMaximumAmount It contains maximum amount of 
-        *        calls at the same time.
-        */
-        static CPhoneBubbleMapping* NewL(
-            TInt aMaximumAmount );
-        
-        /**
-        * Destructor.
-        */
-        ~CPhoneBubbleMapping();
-
-    public: // New functions
-
-        /**
-        * Find a bubble id by call id.
-        *
-        * @param aCallId call Id.
-        * @param aId It will contain bubble id corresponding to the call.
-        * @return ETrue iff succeeded.
-        */
-        TBool FindBubbleByCall( 
-            TInt aCallId,
-            CBubbleManager::TBubbleId& aId ) const;
-        
-        /**
-        * Find call id by bubble id.
-        *
-        * @param aId bubble id.
-        * @param aCallId It will contain call corresponding to the bubble.
-        * @return ETrue iff succeeded.
-        */
-        TBool FindCallByBubble(
-            CBubbleManager::TBubbleId aId,
-            TInt& aCallId ) const;
-
-        /**
-        * Find thumbnail id by call id.
-        *
-        * @param aCallId call Id.
-        * @return the thumbnail iff succeeded.
-        */
-        const CFbsBitmap* FindThumbnailByCall( 
-            TInt aCallId ) const;
-        
-        /**
-        * Add to mapping.
-        *
-        * Note that method panics if there already is an item with
-        * the same call or allocation fails.
-        *
-        * @param aId It is the id of the call bubble.
-        * @param aCallId It is call id corresponding to the bubble.
-        * @param aThumbnail is the thumbnail attached to the bubble
-        */
-        void AddToMappingL( 
-            CBubbleManager::TBubbleId aId, 
-            TInt aCallId,
-            CBubbleManager::TPhoneCallState aCallState,
-            CFbsBitmap* aThumbnail
-            );
-
-        /**
-        * Remove from mapping.
-        *
-        * @param aCallId The call id
-        */
-        void RemoveFromMapping( 
-            TInt aCallId );
- 
-        /**
-        * Returns total amount of items in mapping.
-        *
-        * @return amount of items in mapping.
-        */
-        TInt ItemCount() const;
-
-        /**
-        * Returns bubble at position.
-        *
-        * @param aIndex position.
-        * @return id of the corresponding bubble.
-        */
-        CBubbleManager::TBubbleId BubbleAt( TInt aIndex ) const;
-        
-        /**
-        * Returns call id at position.
-        *
-        * @param aIndex position.
-        * @return corresponding call id.
-        */
-        TInt CallIdAt( TInt aIndex ) const;
-
-        /**
-        * Returns Thumbnail pointer at position.
-        *
-        * @param aIndex position.
-        * @return corresponding thumbnail
-        */
-        const CFbsBitmap* ThumbnailAt( TInt aIndex ) const;
-
-        /**
-        * update Thumbnail pointer at position.  this function
-        * will release the memory if the current status of the
-        * thumbnail pointer is not NULL
-        *
-        * @param aCallId the call ID
-        * @param corresponding thumbnail
-        * @return none
-        */
-        void SetThumbnailByCall(
-            TInt aCallId,
-            CFbsBitmap* aThumbnail );
-            
-        /**
-        * update CallState at position. 
-        *
-        * @param aCallId the call ID
-        * @param corresponding callState
-        * @return none
-        */
-        void SetCallState(
-            TInt aCallId,
-            CBubbleManager::TPhoneCallState aCallState );
-            
-        /**
-        * Find callState by call id.
-        *
-        * @param aCallId call Id.
-        * @return the callState if succeeded.
-        */
-        CBubbleManager::TPhoneCallState FindCallStateByCall( 
-            TInt aCallId ) const;
-            
-       /**
-        * Returns CallState at position.
-        *
-        * @param aIndex position.
-        * @return callState
-        */
-        CBubbleManager::TPhoneCallState CallStateAt( TInt aIndex ) const;
-
-        /**
-        * update callState at position.
-        *
-        * @param aCallId the call ID
-        * @param aCallState
-        * @return none
-        */
-        void SetCallStateByCall(
-            TInt aCallId,
-            CBubbleManager::TPhoneCallState aCallState );
-        
-        /**
-        * Find callId by callState.
-        *
-        * @param aCallState call state.
-        * @return the callId if succeeded
-        * and -1 if not found.
-        */    
-        TInt FindCallIdByCallState( 
-            CBubbleManager::TPhoneCallState aCallState );
-
-    private:
-        /**
-        * update Thumbnail pointer at position.
-        * If user need to free the thumbnail, this call should
-        * be used instead of user doing "delete thumbnail"
-        * the user can call SetThumbnailAt( index , NULL ) to 
-        * release and reset the pointer
-        *
-        * @param aIndex position.
-        * @param corresponding thumbnail
-        * @return none
-        */
-        void SetThumbnailAt( 
-            TInt aIndex, 
-            CFbsBitmap* aThumbnail);
-            
-        /**
-        * update CallState at position.
-        *
-        * @param aIndex position.
-        * @param callState
-        * @return none
-        */
-        void SetCallStateAt( 
-            TInt aIndex, 
-            CBubbleManager::TPhoneCallState aCallState );
-
-        /**
-        * Find the index of the item by call ID
-        *
-        * @param aCallId call Id.
-        * @param aIndex the index of the call item
-        * @return ETrue iff succeeded.
-        */
-        TBool FindIndexByCall( 
-            TInt aCallId,
-            TInt& aIndex ) const;
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneBubbleMapping();
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( TInt aMaximumAmount );
-
-        // By default, prohibit copy constructor
-        CPhoneBubbleMapping( const CPhoneBubbleMapping& );
-        // Prohibit assigment operator
-        CPhoneBubbleMapping& operator= ( 
-            const CPhoneBubbleMapping& );
-
-    private:    // Data
-
-        /**
-        * It defines type for array of mapping items.
-        */
-        typedef CArrayFixFlat<TMappingItem> CMappingArray;
-
-        /**
-        * It is the mapping.
-        */
-        CMappingArray* iMapping;
-
-        /**
-        * It is the amount of reserved items in mapping.
-        */
-        TInt iMappingReserve;
-    };
-
-#endif      // __CPHONEBUBBLEMAPPING_H
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonebubblewrapper.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,663 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI Bubble Wrapper
-*
-*/
-
-#ifndef CPHONEBUBBLEWRAPPER_H
-#define CPHONEBUBBLEWRAPPER_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <e32std.h>
-#include <coecntrl.h>
-#include <eikimage.h>
-#include <pevirtualengine.h>
-#include <bmbubblemanager.h>
-#include "mphonevideoplayer.h"
-#include "bmvideoplaybackobserver.h"
-#include "mphoneviewcommandhandle.h"
-#include "cphonecallthememonitor.h"
-#include "mphonenumberentrychangedhandler.h"
-
-// FORWARD DECLARATIONS
-class CBubbleManager;
-class CPhoneBubbleMapping;
-class CPhoneNumberEntry;
-class TPhoneCommandParam;
-class TPhoneCmdParamCallHeaderData;
-class CPhoneCallHeaderTextAnimation;
-
-class MNumberEntryObserver;
-class MNumberEntry;
-
-class CPhoneBubbleExtensionManager;
-class MPhoneCustomization;
-
-class CPhoneBubbleWrapper :
-    public CBase,
-    public MPhoneVideoPlayer,
-    private MBubbleVideoPlaybackObserver,
-    public MPhoneCallThemeSettingsObserver,
-    public MPhoneNumberEntryChangedHandler,
-    public MCoeControlObserver
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneBubbleWrapper* NewL(
-            CCoeControl* aControl,
-            const TRect& aRect );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneBubbleWrapper();
-
-    public: // Call Header functions
-
-        void RemoveCallHeaderL( TInt aCallId );
-
-        CBubbleManager::TBubbleId CreateCallHeaderL(
-            TInt aCallId,
-            TPhoneCommandParam* aCommandParam );
-
-        CBubbleManager::TBubbleId CreateEmergencyCallHeaderL(
-            TInt aCallId,
-            TPhoneCommandParam* aCommandParam );
-
-        void UpdateCallHeaderDisplay(
-            TInt aCallId,
-            TPhoneCommandParam* aCommandParam );
-
-        void UpdateCallHeaderAndLabel(
-            TInt aCallId,
-            TPhoneCommandParam* aCommandParam );
-
-    public: // Thumbnail functions
-
-    public: // Number Entry functions
-
-        void CreateNumberEntry();
-
-        void SetNumberEntryObserver( MNumberEntryObserver& aObserver  );
-
-        void SetNumberEntryPromptText( const TDesC& aPromptText );
-
-        void RemoveNumberEntry();
-
-        void SetNumberEntryContent( const TDesC& aContent );
-
-        void GetNumberEntryContent( TPhoneCommandParam* aCommandParam );
-
-        void GetLocalizedNumberEntryContent( TPhoneCommandParam* aCommandParam );
-
-        void SetNumberEntryVisible( TPhoneCommandParam* aCommandParam );
-
-        void GetNumberEntryCount( TPhoneCommandParam* aCommandParam );
-
-        TBool IsNumberEntryUsed();
-
-        TBool IsNumberEntryVisible();
-
-        /**
-        * Count amount of characters in number entry.
-        * @return amount of chracters.
-        */
-        TInt CountNumberEntryCharacters();
-
-        // from base class MPhoneNumberEntryChangedHandler
-        
-        /**
-         * From MPhoneNumberEntryChangedHandler
-         * 
-         * Contains implementation about what is done when Phone Number Entry
-         *  has informed that it's state has changed  
-         *  
-         * @since S60 5.0
-         */
-        void HandleNumberEntryChanged( );
-        
-        /**
-         * From MPhoneNumberEntryChangedHandler
-         * 
-         * Sets callback function to observer that want to know about the 
-         * number entry changes. 
-         *
-         * @since S60 5.0 
-         */
-        void SetNumberEntryChangedCallBack( TPhoneCommandParam* aCommandParam );
-        
-        /**
-         * From MCoeControlObserver
-         * 
-         * Bubble wrapper receives events from bubble number editor
-         */
-        void HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType );
-        
-        
-    public: // New functions
-
-        /**
-        * Handles key event.
-        *
-        * @param aCommandParam a command parameter
-        * @return Indicates if event was handled.
-        */
-        TKeyResponse HandleKeyEventL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Set the phone muted icon.
-        * @param aCommandParam a command parameter
-        */
-        void SetPhoneMuted( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Prepare the call state
-        * @param aCallId call id
-        * @param aState call state
-        * @param aStateLabelText label associated with the call state
-        * @param aStateShortLabelText short label associated with the call state
-        */
-        void PrepareCallStateL(
-            TInt aCallId,
-            TPEState aState,
-            const TDesC& aStateLabelText,
-            const TDesC& aStateShortLabelText );
-
-        /**
-        * Update the call duration
-        * @param aCallId call id
-        */
-        void UpdateCallDuration( TInt aCallId, const TDesC& aDurationText );
-
-        /**
-        * Give selected conf member callId
-        * @param  aCommandParam
-        */
-        TBool SelectedConfMemberCallIdL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Give selected conf member callId
-        * @param  aCommandParam
-        */
-        void OpenConferenceList( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Move Highlight in conference up/down
-        * @param  aCommandParam
-        */
-        void MoveHighlightInConference( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Give callState by callId
-        * @param  aCommandParam
-        */
-        TInt GetCallState( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Give callId by callState
-        * @param  aCommandParam
-        */
-        TInt GetCallIdByState( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Give number of active calls
-        * @param  aCommandParam
-        */
-        void GetActiveCallsCount( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Give is conference active or not
-        * @param  aCommandParam
-        */
-        void GetIsConference( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Give is this callId member of conference or not
-        * @param    aCallId, callId
-        *           aCommandParam
-        */
-        void CallExistsInConference(
-            TInt aCallId,
-            TPhoneCommandParam* aCommandParam );
-        /**
-        * Removes all callHeaders
-        */
-        void RemoveAllCallHeadersL();
-
-        /**
-        * Updates ciphering indicator in the bubble if necessary.
-        * @param aCallId Call id.
-        * @param aCommandParam Command parameter.
-        */
-        void UpdateCipheringIndicator(
-            TInt aCallId,
-            TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Give is max members in conference
-        */
-        TBool IsMaxMembersInConf() const;
-
-        /**
-        * Toggle number entry mode
-        * @param aCommandparam ETrue if new mode is alpha
-        */
-        void ToggleNumberEntryAlphaNumericMode( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Opens VKB
-        * 
-        */
-        void OpenVkbL();
-        
-        /**
-        * Get number entry cursor position
-        * @param aCommandparam cursor position
-        */
-        void GetNumberEntryCursorPosition( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Set number entry cursor position
-        * @param aCommandparam cursor position
-        */
-        void SetNumberEntryCursorPositionL( TPhoneCommandParam* aCommandParam );
-           
-        /**
-        * Get number entry mode
-        */
-        TBool IsNENumericMode() const;
-
-        /**
-        * Before making any changes to bubble headers, call this function.
-        */
-        void StartChanges();
-
-        /**
-        * After the changes to bubble headers call this function.
-        */
-        void EndChanges();
-
-        /**
-        * Gives access to button pane.
-        */
-        MBubbleTouchPaneInterface& TouchPane() const;
-
-        /**
-        * Sets touchpane visible.
-        * @param aVisible ETrue if touch is to be shown
-        *        otherwise EFalse.
-        */
-        void SetTouchPaneVisible( TBool aVisible );
-
-        /**
-        * Gives access to bubblemanager's interface.
-        */
-        CBubbleManager& BubbleManager();
-
-        /**
-        * Returns BubbleManager's CCoeControl interface.
-        */
-        CCoeControl* Control();
-
-        /**
-        * Checks whether conference is in expanded mode
-        */
-        TBool IsConferenceInExpandedMode() const;
-
-        /**
-         * Loads the extension plugins.
-         */
-        void LoadPlugins();
-
-        /**
-         * Sets phone customization interface
-         */
-        void SetPhoneCustomization( MPhoneCustomization* aCustomization );
-    public: // Dialer specific methods
-
-        /**
-        * Sets number entry
-        */
-        void SetNumberEntry( MNumberEntry* aNumberEntry );
-
-        /**
-        * Forward commands to Dialer
-        * @param aCommand Dialer command
-        */
-        void HandleCommandL( TInt aCommand);
-
-        /**
-        * Keypad audio enabled
-        *
-        */
-        void KeypadAudioEnabled();
-
-        /**
-        * Keypad audio disabled
-        *
-        */
-        void KeypadAudioDisabled();
-
-    public: // DO NOT CALL THE FOLLOWING BEFORE STARTCHANGES HAS BEEN CALLED.
-
-        /**
-        * Creates new bubble for call. If bubble for the
-        * call already exists, then it is returned.
-        *
-        * @param aCallId callId.
-        * @return bubble id.
-        */
-        CBubbleManager::TBubbleId CreateBubbleL(
-            TInt aCallId );
-
-        /**
-        * Changes CLI of the bubble.
-        *
-        * @param aId bubble id.
-        * @param aText text, new CLI.
-        * @param aDirection clipping direction.
-        */
-        void SetCLI(
-            CBubbleManager::TBubbleId aId,
-            const TDesC& aText,
-            CBubbleManager::TPhoneClippingDirection aDirection );
-
-        /**
-        * Changes Cnap of the bubble, clipping done from the beginning
-        * Related to __SERIES60_PHONE_CNAP flag
-        *
-        * @param aId bubble id.
-        * @param aCnapText text, new Cnap
-        * @param aDirection clipping direction.
-        */
-        void SetCNAP( 
-            CBubbleManager::TBubbleId aId,
-            const TDesC& aCnapText,
-            CBubbleManager::TPhoneClippingDirection aDirection );
-
-        /**
-        * Set the icon that represents the call number type in the current
-        * call bubble.
-        * @param aBubbleId bubble id.
-        * @param aNumberType number type.
-        */
-        void SetNumberTypeIndicator(
-            CBubbleManager::TBubbleId aId,
-            TPEPhoneNumberIdType aNumberType  );
-
-        /**
-        * Creates a new conference call.
-        * @param TInt aCallId .
-        */
-        void CreateConferenceL(
-            TInt aCallId,
-            TPhoneCommandParam *aCommandParam );
-
-        /**
-        * Removes conference call
-        */
-        void RemoveConferenceL();
-
-        /**
-        * Removes conference call bubble
-        */
-        void RemoveConferenceBubbleL();
-
-        /**
-        * Removes party from conference call.
-        * @param TInt aCallId .
-        */
-        void RemoveFromConferenceL(TInt aCallId);
-
-        /**
-        * Finds a participant position in conference call participant list.
-        *
-        * @param aCallId call id to search for
-        * @return position in participant list or KErrNotFound
-        */
-        TInt FindParticipantPosition( TInt aCallId );
-
-        /**
-        * Set conference call header expanded
-        */
-        void SetConferenceExpand( TBool aStatus );
-
-        /**
-        * Set conference call header highlighted
-        */
-        void SetConferenceHighlight( TBool aStatus );
-
-        /**
-        * Handles flag changes.
-        */
-        void HandleFlagsUpdated( TInt aNewFlags );
-
-        /**
-        * Drop party from conference call
-        * to private call.
-        * @param TInt aCallId .
-        */
-        void ConferenceMemberToPrivateL( TInt aCalld );
-
-        /**
-        * Adds party to conference call.
-        */
-        void AddToConferenceL();
-
-
-    protected:  // Constructors
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneBubbleWrapper(  );
-
-    protected:
-
-        /**
-        * By default EPOC constructor is private.
-        */
-        void ConstructL( CCoeControl* aControl, const TRect& aRect );
-
-        /**
-        * convert TPEState to TPhoneCallState
-        */
-        CBubbleManager::TPhoneCallState GetBubbleState( TPEState aState );
-
-        /**
-        * convert TPhoneCallState to TPEState
-        */
-        TPEState ConvertCallState(
-            CBubbleManager::TPhoneCallState aBubbleState );
-
-        /**
-        * Count active call bubbles (Active + Hold + Disconnecting )
-        */
-        TInt CountNumberOfActiveCalls() const;
-
-        /**
-        * Adds party to conference call.
-        */
-        void AddToConferenceL( TInt aCallId );
-
-
-    private:
-
-        void StartMOVideoCallAnimationHeaderL(
-            CBubbleManager::TBubbleId aBubbleId,
-            const TDesC& aStateLabelText,
-            const TDesC& aStateShortLabelText );
-
-        /**
-        * From MPhoneVideoPlayer
-        */
-        void PlayVideoRingTone( const TDesC& aFileName,
-                                TPlayMode aPlayType,
-                                TInt aVolumeLevel,
-                                TBool aArbitraryScaling,
-                                MPhoneVideoPlayerObserver* aObserver );
-
-        /**
-        * From MPhoneVideoPlayer
-        */
-        void StopVideoRingTone();
-
-        /**
-        * From MPhoneVideoPlayer
-        */
-        void MuteVideoRingTone();
-
-        /**
-        * From MPhoneVideoPlayer
-        */
-        void CancelVideoRingTone();
-
-        /**
-        * From MBubbleVideoPlaybackObserver
-        */
-        void HandleBubbleVideoPlaybackEvent(
-            TBubbleVideoPlaybackEvent aEvent );
-
-        /**
-        * From MBubbleVideoPlaybackObserver
-        */
-        void HandleBubbleVideoPlaybackError(
-            TBubbleVideoPlaybackError aErrorType, TInt aErrorCode );
-
-        /**
-        * Get number entry mode from bubblemanager
-        */
-        TBool IsNumberEntryNumericMode() const;
-
-        /**
-        * From MPhoneCallThemeSettingsObserver
-        */
-        void CallThemeSettingsChanged();
-
-        /**
-        * Sets call header parameters.
-        */
-        void SetCallHeaderParameters(
-            TInt aBubble,
-            TPhoneCmdParamCallHeaderData* aCallHeaderParam );
-        
-        /**
-         * Returns ETrue if simplified conference call bubble must be used
-         * in a conference created using the given service.
-         * 
-         * @param   aServiceId  Service identifier.
-         * @return  ETrue if simplified conference call bubble setting is 
-         *          enabled, EFalse otherwise.
-         */
-        TBool IsSimplifiedConferenceCallHeaderEnabledL( TUint32 aServiceId ) const;
-        
-        /**
-         * Sets simplified conference call header status flag on/off.
-         * 
-         * @param   aOnOff      ETrue switches setting on, EFalse off.
-         */
-        void SetSimplifiedConferenceCallHeaderStatus( TBool aOnOff );
-        
-    private:
-
-        // Real bubble manager
-        CBubbleManager* iBubbleManager;
-
-        // Bubble mapping of call and bubble
-        CPhoneBubbleMapping* iMapping;
-
-        // is number entry visible
-        TBool iNumberEntryVisible;
-
-        // is conference call on or not
-        TBool iConference;
-
-        // Stores call id's of conference participants.
-        typedef CArrayFixFlat<const TInt> CParticipantArray;
-        CParticipantArray* iParticipants;
-
-
-
-        // ETrue if ciphering indicator is allowed
-        TBool iCipheringIndicatorAllowed;
-
-        enum TFlags
-            {
-            // Conference is expanded.
-            EFlagConferenceExpanded = 1,
-            // Conference is required to expanded, with highlight
-            EFlagConferenceReqExpanded = 2,
-            // Number entry exists
-            EFlagNumberEntryExists = 4,
-            // Number entry visible
-            EFlagNumberEntryVisible = 8,
-            // Overrides EFlagConferenceExpanded setting
-            EFlagSimplifiedConferenceCallHeader = 16
-            };
-        // Sum of subset of TFlags
-        TInt iFlags;
-
-        // Pointer to video call's text animation bubble header
-        CPhoneCallHeaderTextAnimation* iVideoCallAnimationHeader;
-
-        // Is Image/text call feature supported
-        TBool iCallImageTextSupported;
-
-        /** 
-         * Pointer to call theme monitor
-         * Own.
-         */
-        CPhoneCallThemeMonitor* iCallTheme;
-
-        // Observer for video playback events
-        MPhoneVideoPlayerObserver* iVideoPlayerObserver;
-
-        /**
-         * Container for Phone number entry related handling.
-         * Own.
-         */
-        CPhoneNumberEntry* iPhoneNumberEntry;
-
-        /**
-         * Interface to Dialer's number entry functionality
-         * Not own.
-        */
-        MNumberEntry* iDialerNumberEntry;
-
-        // Is dialler supported.
-        TBool iUseDialer;
-
-        // Is number entry mode numeric/alpha
-        TBool iIsNumberEntryModeNumeric;
-
-        /**
-         * Bubble extension plugin manager.
-         * Own.
-         */
-        CPhoneBubbleExtensionManager* iBubbleExtensionManager;
-       
-        /**
-         * Interface to phone customization
-         * Not own.
-         */
-        MPhoneCustomization* iPhoneCustomization;
-    };
-
-#endif // CPHONEBUBBLEWRAPPER_H
-
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonebuttonscontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +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:  Handles the updating of touch buttons
-*
-*/
-
-
-#ifndef CPHONEBUTTONSCONTROLLER_H
-#define CPHONEBUTTONSCONTROLLER_H
-
-#include <e32base.h>
-#include <bmtouchpaneinterface.h>
-#include "mphonebuttoncustomization.h"
-
-class TPhoneCommandParam;
-
-/**
- *  Updates touch buttons
- *
- *  @lib PhoneUIView.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CPhoneButtonsController ): 
-    public CBase, MBubbleTouchPaneIconProvider
-    {
-public:
-
-    static CPhoneButtonsController* NewL(
-        MBubbleTouchPaneInterface& aTouchPane );
-
-    virtual ~CPhoneButtonsController();
-    
-    /**
-     * Loads buttons form given resouce.
-     *
-     * @since S60 v5.0
-     * @param aCommandParam Mute information
-     */
-    void SetButtonSet( TPhoneCommandParam* aCommandParam );
-    
-    /**
-     * SetMuteFlag
-     *
-     * @since S60 v5.0
-     * @param aCommandParam 
-     */
-    void SetMuteFlag( TPhoneCommandParam* aCommandParam );
-    
-    /**
-     * SetHoldFlag
-     *
-     * @since S60 v5.0
-     * @param aCommandParam 
-     */
-    void SetHoldFlag( TPhoneCommandParam* aCommandParam );
-   
-    /**
-     * Handles IHF change event.
-     *
-     * @since S60 v5.0
-     * @param aCommandParam IHF information.
-     */
-    void SetIhfFlag( TPhoneCommandParam* aCommandParam );
-
-    /**
-     * Handles BT accessory output change event.
-     *
-     * @since S60 v5.0
-     * @param aCommandParam BTA information.
-     */    
-    void SetBTAccFlag( TPhoneCommandParam* aCommandParam );
-
-    /**
-     * Handles Wired accessory output change event.
-     *
-     * @since S60 v5.0
-     * @param aCommandParam wired information.
-     */    
-    void SetWiredAccFlag( TPhoneCommandParam* aCommandParam );
-    
-    /**
-     * Handles BT accessory availability change event.
-     *
-     * @since S60 v5.0
-     * @param aCommandParam BTA availability 
-     */    
-    void SetBTAccAvailableFlag( TPhoneCommandParam* aCommandParam );
-
-    /**
-     * Handles switch to video change event.
-     *
-     * @since S60 v5.0
-     * @param aCommandParam  
-     */    
-    void SetVideoCallFlag( TPhoneCommandParam* aCommandParam );
-    
-    /**
-     * Handles conference join availability change event.
-     *
-     * @since S60 v5.0
-     * @param aCommandParam Add to conference availability 
-     */    
-    void SetInCallJoinEnabled( TPhoneCommandParam* aCommandParam );
- 
-    /**
-     * Replace Audio Button
-     *
-     * @since S60 v5.0
-     */
-    void ReplaceAudioButton(); 
-    
-    /**
-     * Sets buttons to correct states.
-     *
-     * @since S60 v5.0
-     */
-     void SetToggleButtons();
-     
-    /**
-     * Set button dimming.
-     *
-     * @since S60 v5.0
-     */
-    void SetButtonDimming();
-    
-    /**
-     * Set button enabled.
-     *
-     * @since S60 v5.0
-     */
-    void SetButtonEnabled( TPhoneCommandParam* aCommandParam );
-    
-    /**
-     * Set button disabled.
-     *
-     * @since S60 v5.0
-     */
-    void SetButtonDisabled( TPhoneCommandParam* aCommandParam );
-
-    /**
-     * Set customization.
-     *
-     * @since S60 v5.0
-     */
-    void SetCustomization( MPhoneButtonCustomization* aCustomization );
-
-private: // From MBubbleTouchPaneIconProvider
-    CGulIcon* GetIconForCommandL( TInt aCommandId );
-    
-    // From MBubbleTouchPaneIconProvider
-    TAknsItemID GetButtonForCommandL( TInt aCommandId );
-    
-
-private:
-
-    CPhoneButtonsController( MBubbleTouchPaneInterface& aTouchPane );
-    
-    void ConstructL();
-    
-private: // data
-    MBubbleTouchPaneInterface& iTouchPane;
-
-    // Tool bar button customization
-    MPhoneButtonCustomization* iCustomization;
-
-    // Flags
-    enum TPhoneButtonsFlags
-        {
-        EButtonsPhoneMuted = 1,
-        EButtonsCallOnHold = 2,
-        EButtonsIhfActive  = 4,
-        EButtonsWiredAcc   = 8,
-        EButtonsBTAcc      = 16,
-        EButtonsBTAccAvail = 32,
-        EButtonsBTAccTmpUn = 64,
-        EButtonsDimAnswer  = 128,
-        EButtonsDimPrivate = 256,
-        EButtonsDimJoin    = 512,
-        EButtonsVideoCallOngoing = 1024,
-        EButtonsDimSilence  = 2048,
-        EButtonsDimCreateConference = 4096  
-        };
-    TInt iFlags;
-    };
-
-#endif // CPHONEBUTTONSCONTROLLER_H
--- a/phoneapp/phoneuiview/inc/cphonecallheadertextanimation.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Singleton class for implementing video call header text animation.
-*
-*/
-
-
-#ifndef CPHONECALLHEADERTEXTANIMATION_H
-#define CPHONECALLHEADERTEXTANIMATION_H
-
-// INCLUDES
-#include <coemain.h>
-#include "mphonetimer.h"
-#include "bmbubblemanager.h"
-
-// CONSTANTS
-const TInt KPhoneCallHeaderAnimationTextLength = 125;
-
-// FORWARD DECLARATIONS
-class CPhoneTimer;
-
-// CLASS DECLARATION
-
-class CPhoneCallHeaderTextAnimation : public CCoeStatic, public MPhoneTimer
-    {
-    public:  
-
-        /**    
-         * Returns an instance of this class. When called for the first
-         * time, a new instance is created and returned.  After that,
-         * calling InstanceL returns the same instance that was created
-         * earlier.
-         *   
-         * @return A pointer to a CPhoneCallHeaderTextAnimation object    
-         */    
-        static CPhoneCallHeaderTextAnimation* InstanceL();   
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneCallHeaderTextAnimation();
-        
-        /**
-        * Stops and destroys video call text animation bubble.
-        */
-        void RemoveAnimatingVideoCallHeader();
- 
-		/**
-		* Begins animating video call header
-		* @param aBubbleId - bubble which will affect on this
-		* @param aNormalText - normal length text
-		* @param aShortText - short version of the text
-		* @param aBubbleManager - reference to bubble manager for manipulating
-		*						  the bubble
-		*/
-		void StartAnimatingVideoCallHeaderL(
-			const CBubbleManager::TBubbleId aBubbleId,    
-    		const TDesC& aNormalText,
-    		const TDesC& aShortText,
-    		CBubbleManager& aBubbleManager );
-    	
-    	/**
-    	* Sets bubble texts
-    	* @param aNormalText - normal length text
-    	* @param aShortText - short version of the text
-    	*/	
-		void SetBubbleTexts( const TDesC& aNormalText, 
-			const TDesC& aShortText );
-        
-    // From base class MPhoneTimer
-        /**
-        * From MPhoneTimer
-        * This function is called after on timeout.
-        */
-        void HandleTimeOutL();
-        
-
-    private:
-
-        /**    
-         * Default constructor is private because we are using the
-         * singleton design pattern.
-         */    
-        CPhoneCallHeaderTextAnimation();  
-        
-        /**
-        * By default EPOC constructor is private.
-        */
-        void ConstructL();
-                        
-        
-    private:
-    
-        /**
-        * Animation timer
-        */
-        CPhoneTimer* iTimer;
-        
-        /**
-        * Number of dots displayed in the bubble
-        */
-        TInt iDotNum;
-          
-        /*
-        * Pointer to bubble manager
-        */
-        CBubbleManager* iBubbleManager;
-
-        // Bubble Id for the bubble of active call
-        CBubbleManager::TBubbleId iActiveBubble;
-
-        // Normal text for video call header
-        TBuf<KPhoneCallHeaderAnimationTextLength> iNormalText;
-
-        // Short text for video call header
-        TBuf<KPhoneCallHeaderAnimationTextLength> iShortText;
-
-    };
-    
-#endif // CPHONECALLHEADERTEXTANIMATION_H
-
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonecontactcontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +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:  Manager for contacts.
-*
-*/
-
-
-
-#ifndef CPHONECONTACTCONTROLLER_H
-#define CPHONECONTACTCONTROLLER_H
-
-// INCLUDES
-#include    <e32base.h>
-
-// FORWARD DECLARATIONS
-class CPhoneCntManagerBase;
-class CPhCntFactory;
-class CPhCntSingleItemFetch;
-class CPhoneCntVoiceKeyImp;
-class CPhoneCntSaveAddToName;
-class CPhCntRfsHandler;
-class CPhCntSpeedDialMonitor; 
-
-// CONSTANTS
-const TInt KConstructAll = -1;
-
-// CLASS DECLARATION
-
-/**
-*  It is manager for contacts.
-*/
-class CPhoneContactController 
-    : public CBase
-    {
-    public:  // Constructors and destructor      
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneContactController* NewL();
-        
-        /**
-        * Destructor.
-        */
-        ~CPhoneContactController();
-
-    public: // New functions
-
-        /**
-        * Perform steps in construction.
-        *
-        * @param aSteps steps to be performed, one by default
-        * @return steps to be done.
-        */
-        TInt ContinueConstructL( TInt aSteps = 1 );
-
-        /**
-        * Returns amount of steps to be done.
-        *
-        * @return steps to be done, 0 if everything ok.
-        */
-        TInt ConstructionSteps() const;
-
-        /**
-        * Creates single item fetcher.
-        * 
-        * @return single item fetcher, ownership transferred.
-        */
-        CPhCntSingleItemFetch* CreateSingleItemFetchL();
-      
-        /**
-        * Creates object from which pbk operations add
-        * and save are possible
-        *
-        * @return CPhoneCntSaveAddToName, ownership transferred.
-        */
-        CPhoneCntSaveAddToName* CreateSaveAddToNameL();
-        
-        /**
-        * Creates Restore Factory Settings handler.
-        *
-        * @return instance of restore factory settings handler
-        */
-        CPhCntRfsHandler* CreateRfsHandlerL();
-        
-        /**
-        * Creates Speed dial monitor handler.
-        *
-        * @return instance of speed dial monitor handler
-        */
-        CPhCntSpeedDialMonitor* CreateSpeedDialMonitorL();
-        
-        /**
-        * Creates phonebook services, stores etc.
-        */
-        void CreatePhoneBookServiceL();
-
-    private:
-
-        // It defines enumeration for steps in construction.
-        enum TStep
-            {
-            EStepLoadLibrary,
-            EStepCreateFactory,
-            EStepDone
-            };
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneContactController();
-        
-        /**
-        * Perform a step.
-        */
-        void DoStepL();
-
-        /**
-        * Determine next step.
-        *
-        * @param aStep current step.
-        * @return next step.
-        */
-        static TStep NextStep( TStep aStep );
-
-        /**
-        * Load library.
-        */
-        void ConstructLoadLibraryL();
-
-        /**
-        * Create factory.
-        */
-        void ConstructCreateFactoryL();
-
-        // By default, prohibit copy constructor
-        CPhoneContactController( const CPhoneContactController& );
-        // Prohibit assigment operator
-        CPhoneContactController& operator= ( const CPhoneContactController& );
-
-    private:    // Data
-        
-        // Owned: library.
-        RLibrary iLibrary;
-
-        // Owned: contact factory.
-        CPhCntFactory* iFactory;
-
-        // Current situation.
-        TStep iCurrentStep;
-    };
-
-#endif // CPhoneContactController_H
-
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonedialercontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,318 +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:  Handles the updating dialer, toolbar buttons.
-*
-*/
-
-
-#ifndef CPHONEDIALERCONTROLLER_H
-#define CPHONEDIALERCONTROLLER_H
-
-#include <e32base.h>
-#include <akntoolbarobserver.h>
-#include <mnumberentry.h>
-#include "mphonenumberentrychangedhandler.h"
-
-class CAknToolbar;
-class CPhoneBubbleWrapper;
-class CCoeEnv;
-class CPhoneMenuController;
-class TPhoneCommandParam;
-class CAknButton;
-class TAknsItemID;
-class MPhoneDialerController;
-class TPhoneCommandParam;
-
-/**
- *  Dialer controller, updates toolbar buttons
- *
- *  @lib PhoneUIView.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CPhoneDialerController ): 
-    public CBase, public MAknToolbarObserver, public MNumberEntryObserver,
-    public MPhoneNumberEntryChangedHandler
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aBubbleWrapper 
-     * @param aCoeEnv 
-     * @param aMenuController 
-     */
-    static CPhoneDialerController* NewL( CPhoneBubbleWrapper& aBubbleWrapper,
-                                         CCoeEnv& aCoeEnv,
-                                         CPhoneMenuController& aMenuController );
-    /**
-     * Destructor.
-     */
-    virtual ~CPhoneDialerController();
-    
-     /**
-     * Updates toolbar buttons according to numberentry state.
-     *
-     * @since S60 v5.0
-     */
-    void UpdateToolbar();
-    
-     /**
-     * Sets state of dtmf dialer visibility.
-     *
-     * @since S60 v5.0
-     * @param aVisible
-     */    
-    void SetDtmfDialerVisibleL( TBool aVisible );  
-    
-     /**
-     * Returns dtmf dialer visibility status.
-     *
-     * @since S60 v5.0
-     * @return ETrue if DTMF Dialer is visible
-     */     
-    TBool IsDTMFDialerVisible() const;
-    
-     /**
-     * Sets state of restricted dialer.
-     *
-     * @since S60 v5.0
-     * @param aRestricted
-     */      
-	void SetRestrictedDialer( TBool aRestricted );    
-	
-     /**
-     * Sets state of service code flag.
-     *
-     * @since S60 v5.0
-     * @param aCommandParam
-     */	
-	void SetServiceCodeFlagL( TPhoneCommandParam* aCommandParam );
-    
-	/**
-    * Enables toolbar
-    *
-    * @since S60 v5.0
-    */ 
-	void ShowToolbar();
-
-    /**
-    * Disables toolbar
-    *
-    * @since S60 v5.0
-    */ 
-    void HideToolbar();	
-
-    /**
-    * Sets custom dialer visible.
-    * @param aCustomController Pointer to dialer extension implementation
-    * @since S60 v5.1
-    */    
-    void ShowCustomizedDialerL( 
-            MPhoneDialerController* aCustomController );
-    
-    /**
-    * Sets custom dialer visible.
-    * @since S60 v5.1
-    */ 
-    void HideCustomizedDialer();
-	
-    /**
-    * Returns flag indicating if customized dialer is visible.
-    * @return ETrue if customized dialer visible, else EFalse
-    * @since S60 v5.1
-    */   
-    TBool IsCustomizedDialerVisible() const;
-	
-    /**
-    * Returns sotkeys resource of the customized dialer
-    * @return Customized dialer softkeys resource id
-    * @since S60 v5.1
-    */ 
-    TInt CustomizedCbaResourceId() const;
-	
-    /**
-    * Returns menu resource of the customized dialer
-    * @return Customized dialer menu resource id
-    * @since S60 v5.1
-    */ 
-    TInt CustomizedMenuResourceId() const;
-
-public:     // from MAknToolbarObserver
-    /**
-     * From base class MAknToolbarObserver
-     * Handles toolbar events for a certain toolbar item.
-     *
-     * @param aCommand The command ID of some toolbar item.
-     */ 
-    void OfferToolbarEventL( TInt aCommand );
-    
-    /**
-     * From base class MAknToolbarObserver
-     * Should be used to set the properties of some toolbar components 
-     * before it is drawn.
-     *   
-     * @param aResourceId The resource ID for particular toolbar
-     * @param aToolbar The toolbar object pointer
-     */
-    void DynInitToolbarL( TInt aResourceId, CAknToolbar* aToolbar );
-    
-public:     // from MNumberEntryObserver
-    /**
-     * From base class MNumberEntryObserver
-     * Indication that numberentry state changed
-     *
-     * @since S60 v5.0
-     */
-    void NumberEntryStateChanged( TBool aHidePromptText );    
-    
-public:    // from base class MPhoneNumberEntryChangedHandler
-        
-    /**
-     * From MPhoneNumberEntryChangedHandler
-     * 
-     * Handles number entry state change. 
-     * Checks has the content of the number entry been modifed.
-     * Informs the via call back functionality the party interested about 
-     * the change. (at the moment phone state machine) 
-     * 
-     * @since S60 5.0
-     */
-     void HandleNumberEntryChanged( );
-        
-     /**
-      * From MPhoneNumberEntryChangedHandler
-      * 
-      * Sets the call back function that is used to get notification when the 
-      * content of the Number Entry has changed. (Used by the the phone 
-      * statemachine.)  
-      * 
-      * @since S60 5.0
-      */
-     void SetNumberEntryChangedCallBack( TPhoneCommandParam* aCommandParam );
-      
-private:
-
-    /**
-     * Creates CAknButton with given parameters and leaves it to 
-     * CleanupStack.
-     * 
-     * @param aNormalIconId
-     * @param aNormalMaskId
-     * @param aTooltipText
-     * @param aSkinIconId
-     * @param aCommand 
-     */  
-    CAknButton* CreateButtonLC( TInt aNormalIconId,
-                                TInt aNormalMaskId,
-                                const TDesC& aTooltipText, 
-                                const TAknsItemID& aSkinIconId,
-                                TInt aCommand );
-    
-    /**
-     * Creates button set for an empty Number Entry.  
-     */
-    void CreateButtonSetNumberEntryEmpty();
-
-    /**
-     * Creates button set for Number Entry when some charaters 
-     * have been entered.
-     */
-    void CreateButtonSetNumberEntryNotEmpty();
-    
-    /**
-     * Constructor.
-     * 
-     * @param aBubbleWrapper 
-     * @param aCoeEnv 
-     * @param aMenuController 
-     */
-    CPhoneDialerController( CPhoneBubbleWrapper& aBubbleWrapper,
-                             CCoeEnv& aCoeEnv,
-                             CPhoneMenuController& aMenuController );    
-    /**
-     * Symbian 2nd phase constructor.
-     * 
-     */
-    void ConstructL();
-    
-    /**
-     * Searches the skin id for the given icon.
-     */
-    inline TAknsItemID SkinId( TInt aIconIndex );
-    
-    /**
-     * Searches the tooltip text for the button using the 
-     * the given command id.
-     * 
-     * @param aCommandId the command id
-     * @param aText     the searched tooltip text
-     */
-    void  GetTooltipTextL( TInt aCommandId, HBufC*& aText ); 
-    
-private: // data
-    /**
-     * AknToolbar. 
-     * Not own.  
-     */
-    CAknToolbar* iToolbar;
-    
-    /**
-     * The reference to the Bubblewrapper
-     */
-    CPhoneBubbleWrapper& iBubbleWrapper;
-    
-    /**
-     * CoeEnv 
-     */
-    CCoeEnv& iCoeEnv;
-    
-    /**
-     * Menucontroller
-     */
-    CPhoneMenuController& iMenuController;    
-    
-    /**
-     * Used to check is the Dialer in DTMF mode
-     */
-    TBool iDtmfDialerVisible;
-
-    /**
-     * Used to check is the Dialer in the restricted mode.
-     * 'Send' and 'Add to Contacts' buttons are dimmed.
-     */
-    TBool iRestrictedDialer; 
-    
-    /**
-     * Used to check is the service code flag set.
-     * Tooltip text is changed between 'Send' or 'Call' 
-     */
-    TBool iServiceCodeFlag;
-    
-    /*
-     * Is used to check has the hide prompt text flag changed.
-     */
-    TBool iPreviousHidePromptTextStatus;
-    
-    // Pointer to dialer extension implementation
-    MPhoneDialerController* iCustomizedDialer;
-    
-    /**
-     * Is used to check should toolbar be updated. 
-     */
-    TBool iUpdateToolbar;
-
-    };
-
-#include    "cphonedialercontroller.inl"
-
-#endif // CPHONEDIALERCONTROLLER_H
--- a/phoneapp/phoneuiview/inc/cphonedialercontroller.inl	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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:  private, CPhoneDialerController
-*
-*/
-
-#ifndef CPHONEDIALERCONTROLLER_INL_
-#define CPHONEDIALERCONTROLLER_INL_
-
-#include <AknsUtils.h>
-#include <phoneui.mbg>
-
-// ---------------------------------------------------------------------------
-// SkinId
-// ---------------------------------------------------------------------------
-//    
-inline TAknsItemID CPhoneDialerController::SkinId( TInt aIconIndex )
-    {
-    TAknsItemID skinId;
-    
-    switch ( aIconIndex )
-        {
-        case EMbmPhoneuiQgn_indi_dialer_call_send:
-            skinId = KAknsIIDQgnIndiDialerCallSend;
-            break;
-        case EMbmPhoneuiQgn_indi_button_send_dtmf:
-            skinId = KAknsIIDQgnIndiButtonSendDtmf;
-            break;
-        case EMbmPhoneuiQgn_indi_dialer_contacts:
-            skinId = KAknsIIDQgnIndiDialerContacts;
-            break;
-        case EMbmPhoneuiQgn_indi_dialer_add_contacts:
-            skinId = KAknsIIDQgnIndiDialerAddContacts;
-            break;
-        case EMbmPhoneuiQgn_indi_dialer_clear:
-            skinId = KAknsIIDQgnIndiDialerClear;
-            break;                        
-        default:
-            skinId = KAknsIIDNone;        
-            break;            
-        }
-    return skinId;   
-    }
-
-#endif /*CPHONEDIALERCONTROLLER_INL_*/
--- a/phoneapp/phoneuiview/inc/cphonedialerview.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +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:  Phone UI Dialer View
-*
-*/
-
-#ifndef __CPHONEDIALERVIEW_H
-#define __CPHONEDIALERVIEW_H
-
-//  INCLUDES
-
-#include <coecntrl.h>
-#include <coeview.h>
-
-// FORWARD DECLARATIONS
-class CAknsLayeredBackgroundControlContext;
-class TPhoneCommandParam;
-
-// CLASS DECLARATION
-
-/**
-*   View for dialer control
-*/
-class CPhoneDialerView : public CCoeControl, public MCoeView
-    {
-    public:  // Constructors and destructor        
-
-        static CPhoneDialerView *NewL( TRect aRect );
-
-        virtual ~CPhoneDialerView();
-
-    public: // Functions from base classes
-
-        /**
-        * Returns a TVwsViewId uniquely identifying the view.
-        * @return Represents a view in the server
-        */
-        TVwsViewId ViewId() const;
-
-        void ActivateL();
-
-        /**
-        * From CCoeControl; notifier for resource changes
-        * @param aType : Type of resource change
-        */
-        void HandleResourceChange( TInt aType );
-
-    public: // New functions
-
-        /**
-        * Sets the control as component.
-        * @param aControl It is the new component.
-        */
-        void SetControl( CCoeControl* aControl );
-        
-        /**
-        * Returns the control in the view.
-        * @return aControl The control.
-        */
-        CCoeControl* Control() const;
-       
-        /**
-        * Sets the security mode flag ETrue or EFalse
-        * @param aStatus ETrue for the security mode. EFalse for the 
-        * normal mode.
-        */ 
-        void SetSecurityMode ( TBool aStatus );
-        
-        /**
-        * Get state of the security mode flag
-        * @return aStatus ETrue for the security mode. EFalse for the 
-        * normal mode.
-        */         
-        TBool IsSecurityMode();
-        
-    public:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SetRect( const TRect &aRect );        
-
-    protected:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void HandlePointerEventL(
-            const TPointerEvent& aPointerEvent );
-
-        /**
-        * From CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl
-        */
-        void Draw( const TRect& aRect ) const;
-
-        /**
-        * From CCoeControl, informs that the size is changed to update
-        * the sizes of component controls appropriately.
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl, informs that the position has been changed.
-        */
-        void PositionChanged();
-
-        /**
-        * From CCoeControl, MopSupplyObject
-        */
-        TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-
-        /**
-        * From CCoeControl
-        */        
-        void FocusChanged( TDrawNow aDrawNow );
-        
-    private: // Functions from base classes
-
-        /**
-        * Takes any action required on activation of the view. 
-        * Reimplemented versions should read the message text
-        * @param aCustomMessage message for any message type 
-        *                       identified by aCustomMessageId
-        * @param aCustomMessageId message ID that the view understands
-        * @param aPrevViewId The id of the previously active view 
-        *                    so that the view may switch back to its caller
-        *                    at some later stage
-        */
-        void ViewActivatedL( 
-            const TVwsViewId& aPrevViewId, 
-            TUid aCustomMessageId, 
-            const TDesC8& aCustomMessage );
-
-        /**
-        * Takes any action required on deactivation of the view e.g. to 
-        * make the controls owned by the view non-visible
-        * (thereby saving the window server uneccessary work).
-        */
-        void ViewDeactivated();
-
-    private:
-
-        CPhoneDialerView();
-
-        void ConstructL( TRect aRect );
-
-    private:
-
-        /**
-        * Updates size of the control.
-        */
-        void UpdateControlRect();
-
-    private:
-
-        // Region type.
-        typedef RRegionBuf< KPhoneRegionAmount > RPhoneRegionBuf;
-
-        // Control rectangle
-        TRect iControlRect;
-        
-        // Owned: region
-        RPhoneRegionBuf iRegion;
-        
-        // Pointer to active control.
-        CCoeControl* iControl;
-
-        // Owned: background context.
-        CAknsLayeredBackgroundControlContext* iBgContext;
-
-        // Top left coordinate.
-        TPoint iTopLeftCoord;
-        
-        // Owned: Status area use status.
-        TBool iStatusAreaUsed;
-        
-        //Id of the fullscreen AI plugin
-        TInt iFsAiId;
-        
-        //MainPane
-        TRect iMainPane;
-        
-        //Is security mode or not
-        TBool iSecurityMode;
-        };
-
-#endif // __CPHONEDIALERVIEW_H
-
--- a/phoneapp/phoneuiview/inc/cphonedtmfnumberlistquery.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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: Definition of CPhoneDtmfNumberListQuery class.
-*
-*/
-
-
-#ifndef CPHONEDTMFNUMBERLISTQUERY_H
-#define CPHONEDTMFNUMBERLISTQUERY_H
-
-#include    <AknQueryDialog.h>
-
-    
-// CLASS DECLARATION
-class MPhoneQueryObserver; 
-    
-/**
-*   DTMF number list query.
-*
-*   Shows DTMF list query. 
-*   By default list is formatted with 'Find' and 'Enter manually' items.
-*   In addition predefined DTMF of the contact can be seen in 
-*   list if available.
-*
-*   Otherwise base class can handle it.
-*
-*   @since 5.0
-*/
-class CPhoneDtmfNumberListQuery : public CAknListQueryDialog
-    {
-    public:  // Constructors and destructor      
-               
-         /**
-        * Creates new instance of CPhoneDtmfNumberListQuery
-        * @param aCommandObserver callback observer
-        * @param aQueryObserver  query observer
-        * @param aSelectedDtmfNumber selected predefined dtmf number 
-        * @return CPhoneDtmfNumberListQuery* object  
-        */
-        static CPhoneDtmfNumberListQuery* 
-            CPhoneDtmfNumberListQuery::NewL( MEikCommandObserver& aCommandObserver,
-                                             MPhoneQueryObserver& aQueryObserver,
-                                             HBufC*& aSelectedDtmfNumber );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneDtmfNumberListQuery();
-    
-    public:
-        
-        /**
-        * Appends given string to DTMF array 
-        * @param aString -string to be added 
-        */    
-        void AppendStringToArrayL( TDesC& aString );
-        
-    protected: // Functions from base classes
-            
-        /**
-        * From base class, 
-        * check if it is ok to exit.
-        */
-        TBool OkToExitL( TInt aButtonId );
-            
-        /**
-        * From CEikDialog, initialization after layout.
-        */
-        void PostLayoutDynInitL();
-        
-
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                          TEventCode aType );
-    
-    private:
-    
-        /**
-        * C++ constructor.
-        * @param aCommandObserver callback observer
-        * @param aQueryObserver  query observer
-        * @param aSelectedDtmfNumber selected predefined dtmf number 
-        */
-        CPhoneDtmfNumberListQuery( MEikCommandObserver& aCommandObserver,
-                                   MPhoneQueryObserver& aQueryObserver,
-                                   HBufC*& aSelectedDtmfNumber  );
-        
-        
-        /**
-        * Symbian constructor
-        */
-        void ConstructL();
-
-    private:    // Data
-
-        MEikCommandObserver& iCommandObserver;
-                
-        MPhoneQueryObserver& iQueryObserver;
-        
-        HBufC*& iSelectedDtmfNumber;
-   
-        // Index of selected item.
-        TInt iIndex;
-        
-        // Contains predefined DTMF(s), 'Find' and 'Enter manually' items
-        // Owned.
-        CDesCArrayFlat iArray;
-        
-        
-    };
-
-#endif      // CPHONEDTMFNUMBERLISTQUERY_H
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonedtmfsendingnote.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  DTMF Sending Note. This note handles keypresses unlike
-*								 CPhoneNote.
-*
-*/
-
-/*
-*/
-
-#ifndef CPHONEDTMFSENDINGNOTE_H
-#define CPHONEDTMFSENDINGNOTE_H
-
-
-//  INCLUDES
-#include "cphonenote.h"
-
-// FORWARD DECLARATIONS
-
-class CPhoneDtmfSendingNote : public CPhoneNote
-    {
-    public:  // Constructors and destructor
-
-        /**
-         * Constructor.
-         * 
-         * @param    aSelfPtr            Pointer to self. 
-         *                               This pointer is set to NULL when the note is destroyed by the framework.
-         * @param    aCommandObserver    Observer to receive command events from the note.
-         */
-        CPhoneDtmfSendingNote( CEikDialog** aSelfPtr, MEikCommandObserver& aCommandObserver );  
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneDtmfSendingNote();  
-        
-        
-    protected:
-
-        TKeyResponse OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent,
-            TEventCode aType );
-
-    };
-
-#endif // CPHONEDTMFSENDINGNOTE_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphoneincallindicator.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +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:  It manages incall indicator.
-*
-*/
-
-
-#ifndef CPHONEINCALLINDICATOR_H
-#define CPHONEINCALLINDICATOR_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CAknIncallBubble;
-class TPhoneCommandParam;
-
-// CLASS DECLARATION
-
-/**
-*  It manages incall indicator (small bubble over the status pane).
-*
-*  @since 1.0
-*/
-class CPhoneIncallIndicator : public CBase
-    {
-    public:  // Constructors and destructor      
-        
-        /**
-        * Two-phased constructor.
-        * @return new instance.
-        */
-        static CPhoneIncallIndicator* NewL();
-        
-        /**
-        * Destructor.
-        */
-        ~CPhoneIncallIndicator();
-
-    public: // New functions
-
-        /**
-        * Update indicator using the specified data
-        * @param aCommandParam command parameter
-        */
-        void Update( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Handle an audio mute change
-        * @param aCommandParam command parameter
-        */
-        void HandleMuteChange( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Handle a ciphering change
-        * @param aCommandParam command parameter
-        */
-        void HandleCipheringChange( TPhoneCommandParam* aCommandParam );
-        
-        
-        /**
-        * return is emergency call active
-        */
-        TBool IsEmergencyCall();
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CPhoneIncallIndicator();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Update indicator.
-        */
-        void Update();
-
-        /**
-        * Sets state.
-        *
-        * @param aState new state.
-        * @param aSync do synchronously.
-        */
-        void SetState( TInt aState, TBool aSync );
-
-        /**
-        * Updates using recovery system.
-        */
-        void UpdateWithRecovery();
-
-        /**
-        * Updates incall indicator.
-        */
-        static TInt DoRecoverUpdateL( TAny* aAny );
-
-        /**
-        * Updates incall indicator.
-        */
-        static TInt DoUpdate( TAny* aAny );
-
-    private:    // Data
-
-        // Recovery id for updating incall indicator.
-        TInt iUpdateRecoveryId;
-
-        // Current call state.
-        TInt iCallState;
-
-        // Incall mode.
-        TInt iMode;
-
-        // Current state.
-        TInt iState;
-
-        // Owned incall bubble instance.
-        CAknIncallBubble* iBubble;
-
-        // Indicates if phone is muted.
-        TBool iMuted;
-
-        // Indicates if ciphering is off.
-        TBool iCipheringOff;
-
-        // Indicates if call is in emergency mode.
-        TBool iEmergency;
-
-        // Owned callback.
-        CIdle* iUpdater;
-        
-        // Indicates if line2 is in use.
-        TBool iLine2;
-        
-        // Indicated if bubble needs to be visible or not
-        TBool iVisible;
-        
-        // Indicates if ciphering indicator is allowed.
-        TBool iCipheringIndicatorAllowed; 
-    };
-
-#endif      // CPHONEINCALLINDICATOR_H
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonekeycapturecontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI Key Capture Controller
-*
-*/
-
-/*
-*/
-
-#ifndef __CPHONEKEYCAPTURECONTROLLER_H
-#define __CPHONEKEYCAPTURECONTROLLER_H
-
-
-//  INCLUDES
-#include <e32base.h>
-#include <e32keys.h>
-
-// FORWARD DECLARATIONS
-class TPhoneCommandParam;
-
-class CPhoneKeyCaptureController : public CBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneKeyCaptureController* NewL( CEikonEnv& aEikEnv );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneKeyCaptureController();   
-
-    public: 
-
-        /**
-        * Set key to be captured 
-        * @param aCommandParam a command param
-        */
-        void StartCapturingKey( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Set key not to be captured 
-        * @param aCommandParam a command param
-        */
-        void StopCapturingKey( TPhoneCommandParam* aCommandParam );
-
-    private:  // Constructors
-        
-        /**
-        * C++ default constructor.
-        */
-        CPhoneKeyCaptureController( CEikonEnv& aEikEnv );
-
-    private:    // Data types
-
-        // enumerated type for captured key events
-        enum TPhoneKeyCaptureType
-            {
-            EPhoneKeyCaptureEvent,
-            EPhoneKeyCaptureUpAndDownEvents,
-            EPhoneKeyCaptureAllEvents
-            };
-
-        // key capture data structure
-        class TPhoneKeyCapture
-            {
-            public:
-                TStdScanCode            iKey;
-                TKeyCode                iKeyCode;
-                TPhoneKeyCaptureType    iType;
-                TInt32                  iHandle;
-                TInt32                  iHandleForUpAndDown;
-            };
-
-    private:  // New functions
-
-        /**
-        * May be used to ask whether a key has been set to be captured
-        * using StartCapturingKey()
-        * @param aKey is the iScanCode of the key
-        * @return ETrue if the key is currently captured via this mechanism
-        */
-        TBool IsKeyCaptured( TStdScanCode aKey ) const;
-
-        /**
-        * Set key not to be captured 
-        * @param aKeyCapture is the key not to be captured
-        */
-        void StopKeyCapture( TPhoneKeyCapture aKeyCapture );
-
-    private:  // Data
-
-        /**
-        * Array of keycodes currently captured which includes the window
-        * server handles for the captured keys.
-        */
-        RArray<TPhoneKeyCapture> iCapturedKeys;
-        
-        CEikonEnv& iEikEnv;
-
-    };
-
-#endif      // __CPHONEKEYCAPTURECONTROLLER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonelistquerydialog.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI ListQueryDialog
-*
-*/
-
-
-#ifndef CPHONELISTQUERYDIALOG_H
-#define CPHONELISTQUERYDIALOG_H
-
-//  INCLUDES
-#include <aknlistquerydialog.h>
-
-
-// CLASS DECLARATION
-class MPhoneQueryObserver;
-
-/**
-* This is a dialog, which can be initialized with selected items.
-*/
-class CPhoneListQueryDialog : public CAknListQueryDialog
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ constructor.
-        *
-        * @param aCommandObserver callback observer
-        *                    
-        */
-        CPhoneListQueryDialog( MEikCommandObserver& aCommandObserver,
-                               MPhoneQueryObserver& aQueryObserver,
-                               const RArray<TInt>& aCommands );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneListQueryDialog();
-        
-        
-    private: // From CEikDialog
-        
-        /**
-        * Sets selection indexes to list box.
-        */
-        void PostLayoutDynInitL();
-
-        /**
-        * If the user has pushed Ok, the dialog Stores the selected 
-        * values in to the server.
-        *
-        * @param aKeyCode key code
-        * @return ETrue if dialog is closed
-        */
-        TBool OkToExitL( TInt aKeycode );
-        
-               
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                           TEventCode aType );
-
-    private: // Data
-
-        // contains selected index
-        TInt iIndex;
-        
-        MEikCommandObserver& iCommandObserver;
-        
-        MPhoneQueryObserver& iQueryObserver; 
-        
-        RArray<TInt> iCommands;
-
-    };
-
-#endif      // CPHONELISTQUERYDIALOG_H
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonemenucontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI Menu Controller
-*
-*/
-
-
-#ifndef CPHONEMENUCONTROLLER_H
-#define CPHONEMENUCONTROLLER_H
-
-//  INCLUDES
-
-
-#include <e32base.h>
-#include <e32std.h>
-#include <eikmenub.h> 
-#include <e32property.h>
-#include "mphonepubsubobserver.h"
-
-// FORWARD DECLARATION
-class TPhoneCommandParam;
-class CEikonEnv;
-class MPhonePubSubObserver;
-class CAiwServiceHandler;
-
-class CPhoneMenuController : public CBase, public MPhonePubSubObserver
-    {
-    public:
-
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneMenuController* NewL( CEikonEnv& aEikEnv );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneMenuController();   
-
-        void OpenMenuBarL();
-
-        void CloseMenuBar();
-        
-        void OpenMenuBarL( TPhoneCommandParam* aCommandParam );
-
-        void DynInitMenuBar( TPhoneCommandParam* aCommandParam );
-
-        void DynInitMenuPaneL( TPhoneCommandParam* aCommandParam );
-       
-        void SetMuteFlag( TPhoneCommandParam* aCommandParam );
-
-        void SetIhfFlag( TPhoneCommandParam* aCommandParam );
-        
-        void SetHoldFlag( TPhoneCommandParam* aCommandParam );
-        
-        void GetHoldFlag( TPhoneCommandParam* aCommandParam );
-        
-        void SetConferenceAndSingleFlag( TPhoneCommandParam* aCommandParam );
-        
-        void GetConferenceAndSingleFlag( TPhoneCommandParam* aCommandParam );
-        
-        void SetSoftRejectFlag( TPhoneCommandParam* aCommandParam );
-        
-        void GetSoftRejectFlag( TPhoneCommandParam* aCommandParam );
-
-        void SetServiceCodeFlag( TPhoneCommandParam* aCommandParam );
-        
-        void SetWiredAccFlag( TPhoneCommandParam* aCommandParam );
-        
-        void SetMaxConfMembersFlag( TBool aIsMaxConfMember );
-        
-        void SetBTAccFlag( TPhoneCommandParam* aCommandParam );
-        
-        void SetBTAccAvailableFlag( TPhoneCommandParam* aCommandParam );
-        
-        void SetPhoneNumberAvailableInPhoneEngine( TPhoneCommandParam* aCommandParam );
-        
-        void SetWiredAccAvailableFlag( TPhoneCommandParam* aCommandParam );
-        
-        void SetNEVisibleFlag( TBool aVisible );
-
-        void SetReplaceFlag( TBool aReplace );
-        
-        void SetRemoveConfrenceOptionsFlag( TBool aRemoveConfrenceOptions );
-        
-        void SetNumberEntryEmptyFlag( TBool aNumberEntryEmpty );
-        
-        void SetCallInProgressFlag( TPhoneCommandParam* aCommandParam );               
-        
-        TBool IsMenuBarVisible();
-        
-        void SetConferenceParticipantsListVisibleFlag( TPhoneCommandParam* aCommandParam );
-        
-        void GetConferenceParticipantsListVisibleFlag(
-            TPhoneCommandParam* aCommandParam );
-
-        void SetAlphaModeFlag( TBool aMode );
-        
-        void SetAllowDtmfOptionsFlag( TBool aAllowDtmfOptions );
-        
-        void SetVoipEnabledFlag( TPhoneCommandParam* aCommandParam );
-        
-        void SetHideVideoCallDTMFVisibilityFlag ( TBool aHideVideoCallDTMFVisibility );
-
-		void SendAiwCommandL( TPhoneCommandParam* aCommandParam );      
- 
-		void SetContextMenu( TPhoneCommandParam* aCommandParam );
-		
-    public: //from base class 
-        
-         void HandlePropertyChangedL( 
-            const TUid& aCategory,
-            const TUint aKey,
-            const TInt aValue );
-		
-    protected:    // Constructors
-        
-        /**
-        * C++ default constructor.
-        */
-        CPhoneMenuController( CEikonEnv& aEikEnv );
-       
-
-    private:
-
-        /**
-        * By default EPOC constructor is private.
-        */
-        void ConstructL();
-
-        void AddMenuPaneL(
-            TInt aPaneResourceId,
-            CEikMenuPane* aMenuPane,
-            TBool aAddSeparator );
-            
-        /**
-        * Checks if task swapper is to be shown in menu.
-        * @param aResourceId It is the context menu resource.
-        */
-        void ShowTaskSwapper( TInt aResourceId ) const;
-        
-        TBool IsSwivelClosed() const;
-    
-    private:
-        CEikMenuBar* iMenu;
-        TInt iGSMMenuResourceOffset;
-
-        TInt iMenuResourceId;
-        TInt iOkMenuResourceId;
-        TBool iIhfFlag;
-        TBool iMuteFlag;
-        TBool iHoldFlag;
-        TBool iConferenceAndSingleFlag;
-        TBool iSoftRejectFlag;
-        TBool iServiceCodeFlag;
-        TBool iWiredAccFlag;
-        TBool iMaxConfMembersFlag;
-        TBool iBTAccFlag;
-        TBool iBTAccTmpUnFlag;
-        TBool iBTAccAvailableFlag;
-        TBool iPhoneNumberAvailableInPhoneEngine;
-        TBool iWiredAccAvailableFlag;
-        TBool iNEVisible;
-        TBool iReplace;
-        TBool iRemoveConfrenceOptionsFlag;
-        TBool iNumberEntryEmpty;
-        TBool iCallInProgress;
-        TBool iConferenceParticipantsListOpenFlag;
-        TBool iAlphaMode;
-        TBool iAllowDtmfOptionsFlag;
-        TBool iVoipEnabledFlag;  
-        TBool iHideVideoCallDTMFVisibility;
-        // Eikon environment delivered from CPhoneViewController
-        CEikonEnv& iEikEnv;       
-        // Pointer to AIW service handler. OWNED.
-        CAiwServiceHandler* iServiceHandler;       
-    };
-
-#endif      // MPAMENUBARCONTROLLER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonenote.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI Note
-*
-*/
-
-/*
-*/
-
-#ifndef CPHONENOTE_H
-#define CPHONENOTE_H
-
-
-//  INCLUDES
-#include "tphonecmdparamnote.h"
-#include <aknnotedialog.h>
-
-// FORWARD DECLARATIONS
-
-class CPhoneNote : public CAknNoteDialog
-    {
-    public:  // Constructors and destructor
-
-        /**
-         * Constructor.
-         * 
-         * @param    aSelfPtr            Pointer to self. 
-         *                               This pointer is set to NULL when the note is destroyed by the framework.
-         * @param    aCommandObserver    Observer to receive command events from the note.
-         */
-        CPhoneNote( CEikDialog** aSelfPtr, MEikCommandObserver& aCommandObserver );  
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneNote();  
-
-        /**
-        * Sets the type of the note.
-        */
-        void SetNoteType( TPhoneNoteType aNoteType );
-
-        /**
-        * Gets the type of the note.
-        */
-        TPhoneNoteType NoteType();
-        
-        /**
-        * Updates softkeys to note
-        * @param    aResourceId     Resource id
-        */
-        void UpdateSoftkeysL( TInt aResourceId );
-        
-    protected:
-
-        TKeyResponse OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent,
-            TEventCode aType );
-
-        TBool OkToExitL( TInt aCommand );
-
-        void HandlePointerEventL( 
-            const TPointerEvent& aPointerEvent );
-        
-    protected:  // Data
-
-        MEikCommandObserver& iCommandObserver;
-        
-        //The type of note. Not necessarily set.
-        //Used in security view
-        TPhoneNoteType iNoteType;
-    };
-
-#endif // CPHONENOTE_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonenotecontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI Note Controller
-*
-*/
-
-/*
-*/
-#ifndef CPHONENOTECONTROLLER_H
-#define CPHONENOTECONTROLLER_H
-
-
-//  INCLUDES
-#include "cphoneprogressnote.h"
-#include "mphonetimer.h"
-
-// FORWARD DECLARATIONS
-class TPhoneCommandParam;
-class CPhoneTimer;
-class CEikonEnv;
-class CPhoneNote;
-class CPhoneUIDisabledNote;
-
-class CPhoneNoteController : public CBase, public MPhoneTimer
-    {
-    public:
-
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneNoteController* NewL( CEikonEnv& aEikEnv );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneNoteController();   
-
-        void CreateNoteL( TPhoneCommandParam* aCommandParam );
-
-        void DestroyNote();
-        
-        void DestroyDTMFNote();
-        
-        void DestroyGlobalNoteL();
-
-        void CreateGlobalNoteL( TPhoneCommandParam* aCommandParam );
-        
-        void CreateProgressNoteL( TPhoneCommandParam* aCommandParam );
-        
-        void DestroyProgressNote();
-        
-        /**
-        * This function is called after on timeout.
-        */
-        void HandleTimeOutL();
-        
-        /**
-        * Writes information is note visible or not
-        * to the given command parameter.
-        * @param aCommandParam - boolean param
-        */
-        void IsNoteVisible( TPhoneCommandParam* aCommandParam );        
-
-        /**
-        * Writes information is progress note visible or not
-        * to the given command parameter.
-        * @param aCommandParam - boolean param
-        */
-        void IsProgressNoteVisible( TPhoneCommandParam* aCommandParam );   
-        
-        /**
-        * Writes information is note or not
-        * to the given command parameter.
-        * @param aCommandParam - boolean param
-        */
-        void IsNoteActive( TPhoneCommandParam* aCommandParam );  
-        
-        /**
-        * Returns true if active note is dismissable by key event, else false.
-        * @param aCommandParam - boolean param
-        */
-        void IsActiveNoteDissmissableByKeyEvent( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Updates softkeys to note 
-        * @param aCommandParam - integer param for resolved resource id
-        */
-        void UpdateNoteSoftkeysL( TPhoneCommandParam* aCommandParam );
-        
-    private:
-        
-        /**
-        * C++ default constructor.
-        */
-        CPhoneNoteController( CEikonEnv& aEikEnv );
-
-        /**
-        * Updates information text to ongoing note
-        * @param aCommandParam - note param
-        */
-        void UpdateNoteTextL( TPhoneCommandParam* aCommandParam );    
-
-    private:  // Data
-
-        // Actual note
-        CPhoneNote* iNote;
-        
-        CPhoneProgressNote* iProgressNote;
-        
-        // Owned timer instance.
-        CPhoneTimer* iProgressUpdateTimer;
-        
-        // Interval of progress updates.
-        TInt iInterval;
-
-        // Current progress.
-        TInt iProgressBarCount;
-
-        // Time to wait until next attempt.
-        TInt iWaitTime;
-        
-        TTime iStartTime;
-        
-        /**
-        * ID of global note.
-        */
-        TInt iGlobalNoteId;
-        
-        // Eikon environment delivered from CPhoneViewController
-        CEikonEnv& iEikEnv;
-        
-        // Note's text
-        TDesC* iNoteText;
-        
-    };
-
-#endif      // CPHONENOTECONTROLLER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonenumberentry.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +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: Definition of number entry handler.
-*
-*/
-
-#ifndef CPHONENUMBERENTRY_H
-#define CPHONENUMBERENTRY_H
-
-// Includes
-#include <e32base.h>
-
-#include "mphonenumberentry.h"
-#include "mphonenumberentrychangedhandler.h"
-
-// Forward declarations
-class CBubbleManager;
-class MNumberEntry;
-class CCoeControl;
-class TPhoneCommandParam;
-
-/**
- *  Access to number entry.
- *
- *  @lib PhoneUIView.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CPhoneNumberEntry ): public CBase, public MPhoneNumberEntry,
-    public MPhoneNumberEntryChangedHandler
-    {
-
-public:
-
-
-    static CPhoneNumberEntry* NewL( CBubbleManager& aBubbleManager );
-
-    virtual ~CPhoneNumberEntry();
-    
-    // From MPhoneNumberEntry
-    
-    void EnableTactileFeedback( const TBool aEnable );
-    
-    TBool IsNumberEntryUsed() const;
-    
-    TInt CountNumberEntryCharacters();
-    
-    void SetNumberEntry( MNumberEntry* aNumberEntry );
-    
-    void SetNumberEntryContent( const TDesC& aContent );
-    
-    void SetNumberEntryPromptText( const TDesC& aPromptText ); 
-    
-    // from base class MPhoneNumberEntryChangedHandler
-    
-    /**
-     * From MPhoneNumberEntryChangedHandler
-     * 
-     * Handles number entry state change. 
-     * Checks has the content of the number entry been modifed.
-     * Informs the via call back functionality the party interested about 
-     * the change. (at the moment phone state machine) 
-     * 
-     * @since S60 5.0
-     */
-    void HandleNumberEntryChanged( );
-    
-    /**
-     * From MPhoneNumberEntryChangedHandler
-     * 
-     * Sets the call back function that is used to get notification when the 
-     * content of the Number Entry has changed. (Used by the the phone 
-     * statemachine.)  
-     * 
-     * @since S60 5.0
-     */
-    void SetNumberEntryChangedCallBack( TPhoneCommandParam* aCommandParam );
-   
-private:
-
-    CPhoneNumberEntry( CBubbleManager& aBubbleManager );
-    
-    void ConstructL();
-    
-    /**
-     * Compares previous number entry content to current.
-     * If it is different updates the previous buffer. 
-     * 
-     * @return ETrue if nubmer entry content has changed
-     */
-    TBool CheckNumberEntryContent();
-    
-    /**
-     * Updates the previous number entry buffer. 
-     * 
-     * @return ETrue if nubmer entry content was changed
-     */
-    TBool UpdatePreviousNumberEntryContent( CCoeControl* aEditor );
-    
-    /**
-     * Returns pointer to phonenumbereditor of the Dialer number entry , 
-     * if it in use
-     * 
-     * @return pointer to number entry editor
-     */
-    CCoeControl* DialerNumberEntryEditor() const;
-    
-    /**
-     * Returns pointer to phonenumbereditor of the Bubblemanager number entry , 
-     * if it in use
-     * 
-     * @return pointer to number entry editor
-     */
-    CCoeControl* BubbleNumberEntryEditor() const;
-
-private:
-    
-    CBubbleManager& iBubbleManager;
-    
-    /**
-     * Pointer to MNumberEntry, dialercontroller sets this to 
-     * point to touch dialer.
-     * Not own.
-     */
-    MNumberEntry* iDialerNumberEntry;
-    
-    // Owned contents.
-    HBufC* iNumberEntryContents;
-    
-    /**
-     * Is used to check is touch dialer enabled.
-     */
-    TBool iUseDialer;
-    
-    /*
-    * Call back function to inform that the content of 
-    * Number Entry has changed.
-    */
-    TCallBack iNEChangedCallBack;
-    
-    /**
-     * Keeps track of the content of the number entry
-     * Own.
-     */
-    HBufC* iPreviousNumberEntryContent;     
-    
-    };
-
-
-#endif // CPHONENUMBERENTRY_H
--- a/phoneapp/phoneuiview/inc/cphoneprogressnote.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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:  Progress note handler
-*
-*/
-
-
-#ifndef CPHONEPROGRESSNOTE_H
-#define CPHONEPROGRESSNOTE_H
-
-//  INCLUDES
-#include    <AknProgressDialog.h>
-
-// FORWARD DECLARATIONS
-
-class CPhoneProgressNote : public CAknProgressDialog
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Constructor.
-        *
-        * @param aFinalValue final value.
-        * @param anIncrement increment.
-        * @param anInterval interval after which note is updated.
-        * @param aSelfPtr pointer to itself.
-        * @param aCommandHandler command handler.
-        */
-        CPhoneProgressNote( 
-                TInt aFinalValue,
-                TInt anIncrement,
-                TInt anInterval,
-                CEikDialog** aSelfPtr,
-                MEikCommandObserver* aCommandObserver ); 
-                
-        /**
-        * Constructor.
-        *
-        * @param aSelfPtr pointer to itself.
-        * @param aCommandHandler command handler.
-        */
-        CPhoneProgressNote(
-            CEikDialog** aSelfPtr,
-            MEikCommandObserver* aCommandObserver  ); 
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneProgressNote();  
-        
-    private:  // From CAknNoteDialog
-
-        TKeyResponse OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent,
-            TEventCode aType );
-
-        TBool OkToExitL( TInt aCommand );
-
-    private:  // Data
-
-        MEikCommandObserver* iCommandObserver;
-    };
-#endif      // CPhoneProgressNote_H
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonequerycontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,363 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI Query Controller
-*
-*/
-
-
-#ifndef CPHONEQUERYCONTROLLER_H
-#define CPHONEQUERYCONTROLLER_H
-
-
-
-//  INCLUDES
-#include "cphonetextquery.h"
-#include "mphonequeryobserver.h"
-#include "mphonetimer.h"
-#include "tphonecmdparamquery.h"
-
-// DATA TYPES
-enum TPhoneAvkonQueryType
-    {
-    EPhoneAvkonNone,
-    EPhoneAvkonGlobalConfirmation,
-    EPhoneAvkonGlobalList
-    };
-
-// FORWARD DECLARATIONS
-class TPhoneCommandParam;
-class CAknGlobalConfirmationQuery;
-class CPhoneQueryDialog;
-class CPhoneDtmfNumberListQuery;
-class CPhoneListQueryDialog;
-class CCaUiReconnectQuery;
-class CPhoneTimer;
-class CAknGlobalMsgQuery;
-class CAknGlobalNote;
-
-class CPhoneQueryController :
-    public CActive,
-    public MEikCommandObserver,
-    public MPhoneQueryObserver,
-    protected MPhoneTimer
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneQueryController* NewL( CEikonEnv& aEikEnv );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneQueryController();   
-
-        /**
-        * Creates query dialog from the given command parameter
-        * @param aCommandParam command parameter holding data for
-        * populating the needed query dialog.
-        */
-        void CreateQueryL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Destructs all existing query dialogs except global.
-        */
-        void DestroyQuery();
-        
-        /**
-        * Destructs global query dialog.
-        */
-        void DestroyGlobalQuery();
-
-        /**
-        * Destroys global wait note
-        */
-        void DestroyGlobalWaitNote();
-
-        /**
-        * Fetches query dialog's content
-        * @param aCommandParam pointer where content will be written
-        */
-        void GetTextQueryContentL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Set by the query when it is asynchronously deleted.
-        * @param aQueryDeleted ETrue if the query is deleted
-        */
-        void SetQueryDeletedFlag( TBool aQueryDeleted ); 
-        
-        /**
-        * Get active status of queries
-        * @param aCommandParam command parameter
-        */
-        void IsQueryActive( TPhoneCommandParam* aCommandParam );
-        
-        /**
-        * Sets string for List query dialog
-        * @param aCommandParam command parameter
-        */
-        void SetListQueryStringL( TPhoneCommandParam* aCommandParam );
-    
-        /**
-        * Reports query dialog's exit
-        * @param aCommand user selected action.
-        */        
-        void ReportQueryCompleteAsync( TInt aCommand );
-        
-        /**
-        * Check if dtmf test query or dtmf dialog is visible.
-        */        
-        TBool IsDTMFQueryVisible();
-        
-        /**
-        * Sets member variable NoConnectedCalls value.
-        */ 
-        void SetNoConnectedCalls( TPhoneCommandParam* aCommandParam );
-
-    protected: // from CActive
-
-        /**
-        * See CActive documentation.
-        */  
-        void RunL();
-    
-        /**
-        * See CActive documentation.
-        */
-        TInt RunError( TInt aError );
-
-        /**
-        * See CActive documentation.
-        */    
-        void DoCancel();
-        
-        /**
-        * @see CPhoneTimer, handles timeout.
-        */
-        virtual void HandleTimeOutL();        
- 
-        /**
-        * @see MEikCommandObserver
-        */
-        void ProcessCommandL( TInt aCommandId );
-    private:  // Constructors
-        
-        /**
-        * C++ default constructor.
-        */
-        CPhoneQueryController( CEikonEnv& aEikEnv );
-
-        /**
-        * Creates query dialog
-        * @param aParams a TPhoneCmdParamQuery holding the parameters for the query
-        */
-        void CreateQueryDialogL( 
-            const TPhoneCmdParamQuery& aParams );
-        
-        /**
-        * Creates text query dialog
-        * @param aParams a TPhoneCmdParamQuery holding the parameters for the query
-        */            
-        void CreateTextQueryDialogL( 
-            const TPhoneCmdParamQuery& aParams,
-            TInt aOkButtonCmd = EEikBidOk );              
-        
-        /*
-        * Generates DTMF list query.
-		* @param aDialogResourceId -Id of the list query to be loaded
-        */
-        void CreateDtmfListQueryL( TInt aDialogResourceId );
-        
-        /*
-        * Generates list query.
-		* @param aDialogResourceId -Id of the list query to be loaded
-        */
-        void CreateListQueryL( TInt aDialogResourceId, const RArray<TInt>& aCommands );
-
-        /*
-        * Generates custom list query.
-        * @param aDialogResourceId -Id of the list query to be loaded
-        * @param aItemTextArray Text array for list items.
-        * @param aTone Query tone.
-        */
-        void CreateCustomListQueryL( const TPhoneCmdParamQuery& aParams );
-        
-        /**
-        * Creates the default query.
-        * @param aParams ommand parameter holding data for
-        * populating the needed query dialog.
-        */    
-        void CreateDefaultQueryL( const TPhoneCmdParamQuery& aParams );
-        
-        /**
-        * Creates the reconnect query.
-        * @param aParams ommand parameter holding data for
-        * populating the needed query dialog.
-        */
-        void CreateReconnectQueryL( TPhoneCommandParam* aCommandParam );
-                
-        /**
-        * Creates the global query.
-        * @param aParams a TPhoneCmdParamQuery holding the parameters for the query
-        */        
-        void CreateGlobalQueryDialogL( const TPhoneCmdParamQuery& aParams ); 
-
-        /**
-        * Callback function that CIdle calls when we are using Text Query Dialog.
-        * This method displayes the actual query.
-        * @param aCPhoneQueryController - pointer to itself
-        * @return KErrNone
-        */
-        static TInt DisplayTextQueryCallBack( TAny* aCPhoneQueryController );
-        
-        /**
-        * Clear timer used in global query
-        */
-        void ClearTimer();
- 
-        /**
-         * Creates global message query dialog.
-         * @param aParams a TPhoneCmdParamQuery holding the parameters for the query
-         */    
-        void CreateGlobalMsgQueryL( const TPhoneCmdParamQuery& aParams );
-        
-        /**
-         * Destroys global message query.
-         */
-        void DestroyGlobalMsgQuery();
-
-        /**
-         * Creates global wait note.
-         * @param aParams a TPhoneCmdParamQuery holding the parameters for the query
-         */     
-        void CreateGlobalWaitNoteL( const TPhoneCmdParamQuery& aParams );
-       
-        /**
-        * Callback function that CIdle calls when we are handling process command.
-        * This method forwards the actual command
-        * @param aCPhoneQueryController - pointer to itself
-        * @return KErrNone
-        */
-        static TInt ProcessCommandCallBack( TAny* aCPhoneQueryController );
-        
-    private:  // Data
-
-        /**
-        * Query dialog
-        */
-        CPhoneQueryDialog* iQuery;
-        
-        /**
-        * Text query dialog
-        */
-        CPhoneTextQuery* iTextQuery;
-        
-        /**
-        * DTMF number list query
-        */
-        CPhoneDtmfNumberListQuery* iDtmfNumberListQuery;
-        
-        CPhoneListQueryDialog* iListQuery;        
-
-        /**
-        * ETrue when the query is asynchronously deleted
-        */
-        TBool iQueryDeleted;
-        
-        /**
-        * Call UI reconnect query.
-        */
-        CCaUiReconnectQuery* iCallUiReconnectQuery;
-        
-        // Eikon environment delivered from CPhoneViewController
-        CEikonEnv& iEikEnv;
-        
-        // Query dialog's text. Stored here for async operations.
-        RBuf iQueryNoteText;
-        // Prompt for queries. Stored here for async operations.
-        RBuf iQueryPrompt;
-        
-        // Query dialog's text. Stored here for async operations.
-        // Needed if query has been deleted before content get 
-        RBuf iQueryPreviousText;
-        
-        // Command for queries. Stored here for async operations.
-        TInt iCommandId;
-        
-        // Waitnote text
-        RBuf iWaitNoteText;
-            
-        // Global confirmation query.
-        CAknGlobalConfirmationQuery* iGlobalConfirmationQuery;
- 
- 		// Currently active avkon query type
- 		TInt iActiveAvkonQuery;
- 	    
- 	    /**
-        * Status of VideoCallSetupFailedQuery
-        */
-        TBool iVideoCallSetupFailedQuery;
-        
-        /**
-        * Status of transfer acceptance query.
-        */
-        TBool iTransferAcceptanceQuery;
-        
-        // Displaying a Text Query is a blocking synchronous call and we want to give
-        // run time for other Phone stuff so CIdle object is used to let us do that.
-        // Owned.
-        CIdle *iTextQueryDisplayer;
-                
-        // Asynchronous call for process command
-        CIdle *iCommandAsync;
-        
-        // Contains selected DTMF string from dtmf listquery dialog.
-        HBufC* iResultBuffer;   
-        
-        // Timer.
-        CPhoneTimer* iTimer;
-        
-        /**
-         * Global message query.
-         * Own.
-         */
-        CAknGlobalMsgQuery* iGlobalMsgQuery;
-        
-        /**
-         * Parameter query command object.
-         */
-        TPhoneCmdParamQuery iQueryParam;
-        
-        /**
-        * Global wait note.
-        * Own.
-        */
-        CAknGlobalNote* iGlobalWaitNote;
-
-        /**
-         * Flag for check is command already handled.
-         */
-        TBool iCommandHandled;
-        
-		/**
-         * Flag indicating connected calls.
-         */
-        TBool iNoConnectedCalls;
-        
-     };
-
-#endif      // CPHONEQUERYCONTROLLER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonequerydialog.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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:  PhoneUI Query Dialog
-*
-*/
-
-/*
-*/
-
-#ifndef CPHONEQUERYDIALOG_H
-#define CPHONEQUERYDIALOG_H
-
-
-//  INCLUDES
-#include <AknQueryDialog.h>
-
-// FORWARD DECLARATIONS
-
-class CPhoneQueryDialog : public CAknQueryDialog
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Constructor.
-        */
-        CPhoneQueryDialog( const TTone& aTone );
-        
-        static CPhoneQueryDialog* NewL( const TTone& aTone = ENoTone );  
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneQueryDialog();  
-
-        
-    protected:
-
-        TKeyResponse OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent,
-            TEventCode aType );
-    };
-
-#endif // CPHONEQUERYDIALOG_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphoneringingtone.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +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:  Class representing ringing tone
-*
-*/
-
-
-
-#ifndef CPHONERINGINGTONE_H
-#define CPHONERINGINGTONE_H
-
-//  INCLUDES
-#include <e32base.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  Ringing tone
-*  Wrapper for file name. In addtion, provides methods
-*  for ringing tone type identification. 
-*
-*  @lib Phone.app
-*  @since Series 60 3.1
-*/
-class CPhoneRingingTone : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aFileName Ringing tone file name with path.
-        * @param aDrmInPlayback ETrue to use IsFileDrmProtected().
-        */
-        static CPhoneRingingTone* NewL( 
-            const TDesC& aFileName,
-            TBool aDrmInPlayback = EFalse );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneRingingTone();
-
-    public: // New functions
-        
-        /**
-        * Sets the file name including path.
-        * @since Series 60 3.1
-        * @param aFileName file name plus path.
-        */
-        void SetFileName( const TDesC& aFileName );
-        
-        /**
-        * Returns file name including path.
-        * @since Series 60 3.1
-        * @return File name.
-        */
-        const TDesC& FileName() const;
-        
-        /**
-        * Returns MIME type.
-        * @since Series 60 3.1
-        * @return MIME type.
-        */
-        const TDesC& MimeType() const;
-        
-        /**
-        * Checks if video ringing tone.
-        * @since Series 60 3.1
-        * @return ETrue if video ringing tone.
-        */
-        TBool IsVideoRingingTone();
-        
-        /**
-        * Checks if the file is a DCF file.
-        * @since Series 60 3.1
-        * @return ETrue if files is DRM protected.
-        */
-        TBool IsFileDrmProtected() const;
-        
-        /**
-        * Checks if the file is in ROM.
-        * @since Series 60 3.1
-        */
-        TBool IsFileInRom() const;
-        
-    private:
-
-        /**
-        * Refresh MIME type. This must be called
-        * before using MimeType().
-        */
-        TInt RefreshMime();    
-        
-        /**
-        * Refresh MIME type.
-        */
-        void RefreshMimeL();
-        
-        /**
-        * Checks if file is located in video directory.
-        */
-        TBool IsFileInVideoDirectory() const;
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneRingingTone( TBool aDrmInPlayback );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( const TDesC& aFileName );
-
-    private:    // Data
-
-        // File name with path
-        HBufC* iFileName;
-        
-        // MIME type
-        HBufC* iMimeType;
-        
-        // Extended security
-        TBool iDrmInPlayback;
-    };
-
-#endif      // CPHONERINGINGTONE_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphoneringingtoneplayerao.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,615 +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:  Active object which implements ringing tone functionality
-*
-*/
-
-
-#ifndef CPHONERINGINGTONEPLAYERAO_H
-#define CPHONERINGINGTONEPLAYERAO_H
-
-// INCLUDES
-#include <e32base.h>
-#include <Profile.hrh>
-#include "mphoneaudioplayerobserver.h"
-#include "mphonevideoplayerobserver.h"
-#include "mphonecenrepobserver.h"
-#include "cphoneaudioplayer.h"
-#include "mphonetimer.h"
-#include "mphonevideoplayer.h"
-
-// FORWARD DECLARATIONS
-//class MPhoneRingingToneObserver;
-class CPhoneAudioPlayer;
-class CPhoneTimer;
-class CMdaServer;
-class MPhoneDisplayProvider;
-class CPhoneRingingTone;
-class TPhoneCommandParam;
-
-// CLASS DECLARATION
-
-/**
-* It implements ringing tone functionality. 
-* Note that when issuing Play-command to audio side, ALWAYS set the tone type
-* before the Play() is called. This is to ensure that correct tone is tried to
-* be played. 
-*
-* @since 1.0
-*/
-class CPhoneRingingTonePlayerAO :
-    public CActive,
-    public MPhoneCenRepObserver,
-    private MPhoneAudioPlayerObserver,
-    private MPhoneTimer,
-    private MPhoneVideoPlayerObserver
-    {
-    public:
-        // States for this active object
-        enum TState
-            {
-            EIdleState,  
-            EDeletingAudioPlayer,
-            EDeletingVideoPlayer,
-            EPlayingDefaultVideo
-            };
-
-    public:
-        
-        /**
-        * Two-phased constructor.
-        * @return new instance.
-        */
-        static CPhoneRingingTonePlayerAO* NewL();
-        
-        /**
-        * Destructor.
-        */
-        ~CPhoneRingingTonePlayerAO();
-
-        /**
-        * Play ring tone
-        * @param aCommandParam a command param
-        */
-        void PlayRingToneL( TPhoneCommandParam *aCommandParam );
-
-        /**
-        * Play audio ring tone 
-        */
-        void PlayAudioRingTone( 
-            TInt aVolume, 
-            TProfileRingingType aRingingType );
-
-        /**
-        * Playing the Beep once.
-        * @param aVolume volume used to play the ringing tone.
-        */
-        void BeepOnce( TInt aVolume );
-
-        /**
-        * Play silent tone. No_sound.wav will be played. If vibration alert
-        * is ON, it will vibrate.
-        */
-        void PlaySilentTone();
-
-        /**
-        * Play unsecure VoIP tone.
-        * Play tone if secure call fails and call is changed to unsecure call
-        * @since    S60 5.0
-        */
-        void PlayUnsecureVoIPTone();
-        
-        /**
-        * Stops playing the ringing tone.
-        * Method does not do anything if ringing tone is not playing.
-        */
-        void StopPlaying();
-
-        /**
-        * Continues video playback ( and ringing tone ) with volume 0
-        * Stream not closed ( If music player was ongoing ) 
-        */
-        void MuteRingingToneOnAnswer();
-          
-        /**
-        * Continues video playback with muted audio.
-        * Ringing tone is stopped.
-        */
-        void MuteRingingTone();
-          
-        /**
-        * Sets video player.
-        * @since Series 60 v3.2
-        * @param aVideoPlayer Video player reference.
-        */
-        void SetVideoPlayer( MPhoneVideoPlayer* aVideoPlayer );
-
-
-        /**
-        * Play TTS tone simultaneously with Personal or Default tones.
-        * This method does not command phone to play TTS immediately. Instead 
-        * it registers a request to play TTS, when Personal or default tones 
-        * are played.
-        *
-        * @since Series 60 3.0
-        * @param aTextToSay Text, that should be pronounced by the 
-        * Text-To-Speech engine. This is normal descriptor, no UTF-8 
-        * and no "(tts)" prefix
-        * @param aVolume Volume for the TTS-tone, Does not effect the volume 
-        * of the normal tone, that will be played simulteneously with the TTS
-        * @param aRingingType ringing type.
-        */
-        void PlayTtsTone(
-            const TDesC& aTextToSay,
-            TInt aVolume,
-            TProfileRingingType aRingingType );
-
-        /**
-        * Play video ring tone.
-        * @since Series 60 3.1
-        * @param aRingingTone Ringing tone to be played.
-        * @param aVolume Volume used to play the ringing tone.
-        * @param aRingingType Ringing type.
-        */
-        void PlayVideoRingingTone( 
-            const CPhoneRingingTone& aRingingTone, 
-            TInt aVolume, 
-            TProfileRingingType aRingingType,
-            TBool aPersonalTone = EFalse );
-
-        /**
-        * Checks if extended security required.
-        * @since Series 60 3.1
-        * @return ETrue if extended security is required.
-        */
-        TBool ExtendedSecurity() const;
-   
-        /**
-        * This function is called when Mediator receives response to the sent
-        * ShowMultiMediaRingingTone command.
-        * @param aStatus - Standard Symbian error code indicating the
-        *                  success of the command.
-        */
-		    void ShowMultimediaRingingToneResponseL( TInt aStatus );
-		
-    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:
-
-        /**
-        * Handle the error of audio file player.
-        */
-        virtual void HandleAudioPlayerError( 
-            TPhoneAudioPlayerErrorEvent aEvent, 
-            TInt aError, 
-            TInt aId = KPhoneAudioPlayerNotSpecified );
-
-        /**
-        * Handle audio player initialize complete.
-        */
-        virtual void HandleAudioPlayerInitComplete(
-            TInt aId = KPhoneAudioPlayerNotSpecified );
-
-        /**
-        * Handle auido file playing complete successfully.
-        */
-        virtual void HandlePlayingComplete( 
-            TInt aId = KPhoneAudioPlayerNotSpecified );
-
-        /**
-        * @see MPhoneTimer
-        */
-        virtual void HandleTimeOutL();
-
-        /**
-        * HandleVideoPlayerError
-        */
-        virtual void HandleVideoPlayerError( 
-            TPhoneVideoPlayerErrorEvent aEvent,
-            TInt aError );
-
-        /**
-        * HandleVideoPlayerInitComplete
-        */
-        virtual void HandleVideoPlayerInitComplete();
-
-        /**
-        * HandleVideoPlayerPlayingComplete
-        */
-        virtual void HandleVideoPlayerPlayingComplete();
-
-        /** 
-        * Enumerates identifiers for each player:
-        * EPlayerAudio - audio
-        * EPlayerBeepOnce - beep once
-        * EPlayerSilent - silent
-        * EPlayerDefault - default
-        * EPlayerBackup - backup
-        *
-        * EPlayerFirst and EPlayerLast are alias
-        * to other identifiers.
-        * EPlayerFirst - first player
-        * EPlayerLast - last player
-        */
-        enum TPlayerId
-            {
-            EPlayerFirst,
-            EPlayerAudio = EPlayerFirst,
-            EPlayerBeepOnce,
-            EPlayerSilent,
-            EPlayerUnsecureVoIP,
-            EPlayerDefault,
-            EPlayerBackup,
-            EPlayerTts, 
-            EPlayerLast = EPlayerTts,
-            EPlayerCount
-            };
-            
-        /**
-        * Enumerates how many times TTs is played
-        * ESaidOnce -once
-        * ESaidTwice twice 
-        */    
-        enum TTtsStatus
-            {
-            ESaidOnce,
-            ESaidTwice
-            };
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneRingingTonePlayerAO();
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-        /**
-        * Play default tone.
-        * @param aVolume volume used for the playing.
-        * @param aRingingType ringing type.
-        */
-        void PlayDefaultTone( 
-            TInt aVolume, 
-            TProfileRingingType aRingingType );
-
-        /**
-        * Play backup tone.
-        * @param aVolume volume used for the playing.
-        * @param aRingingType ringing type.
-        */
-        void PlayBackupTone( 
-            TInt aVolume, 
-            TProfileRingingType aRingingType );
-
-        /**
-        * Do construct tone.
-        * @param aRingingTone Ringing tone.
-        * @return The instance of the player. NULL is returned if it's failed.
-        */
-        CPhoneAudioPlayer* ConstructTonePlayer( 
-            const CPhoneRingingTone& aRingingTone,
-            TInt aId );
-
-        /**
-        * Handle audio player error.
-        * @param aDelete ETrue if deletion of the player allowed, 
-        *                EFalse otherwise.
-        * @param aSync ETrue if synchronous deletion of players is allowed,
-        *              EFalse otherwise.
-        */
-        void DoHandlePlayerError(
-            TBool aDelete,
-            TBool aSync );
-
-        /**
-        * Convert ringing type from PhoneAppEnging to the ringing type in 
-        * CPhoneAudioPlayer.
-        * @param aRingingType the ringing type form PhoneAppEngine.
-        * @return ringing type of CPhoneAudioPlayer.
-        */
-        CPhoneAudioPlayer::TRingingType ConvertRingingType(
-            TProfileRingingType aRingingType );
-
-        /**
-        * Convert ringing type from PhoneAppEnging to the ringing type in 
-        * MPhoneVideoPlayer.
-        * @since Series 60 3.1
-        * @param aRingingType the ringing type form PhoneAppEngine.
-        * @return ringing type of MPhoneVideoPlayer.
-        */
-        MPhoneVideoPlayer::TPlayMode ConvertVideoRingingType(
-            TProfileRingingType aRingingType );
-
-        /**
-        * Construct media server and backup tone player.
-        */
-        TInt ConstructPlayers();
-
-        /**
-        * Construct media server and backup tone player.
-        */
-        void ConstructPlayersL();
-
-        /**
-        * Construct sequence players.
-        * @param aPlayer player to be constructed.
-        */
-        void ConstructSequencePlayer(
-            TPlayerId aPlayer );
-
-        /**
-        * Construct sequence players.
-        * @param aPlayer player to be constructed.
-        */
-        void ConstructSequencePlayerL(
-            TPlayerId aPlayer );
-
-        /**
-        * Cleanup players.
-        */
-        void CleanupPlayers();
-
-        /**
-        * Deletes player asynchronoysly.
-        * @param aPlayer player to be deleted.
-        */
-        void DeletePlayerAsync(
-            TPlayerId aPlayer );
-       /**
-        * Plays default L1 or L2 video ring tone asynchronously.
-        * @since Series 60 3.1
-        */
-        void PlayDefaultVideoAsync();
-
-        /**
-        * Deletes video player and plays default L1 or L2
-        * tone asynchronously.
-        * @since Series 60 3.1
-        */
-        void DeleteVideoPlayerAndPlayDefaultAsync();
-
-        /**
-        * @see CActive::RunL.
-        */
-        void RunL();
-
-        /**
-        * @see CActive::DoCancel.
-        */
-        void DoCancel();
-        
-        /**
-        * Wrapper of DoHandleTtsDelayTimeout, that can be used as TCallback. 
-        * Immediately passes control to DoHandleTtsDelayTimeout method.
-        * @since Series 60 3.0
-        * @param object Object to call DoHandleTtsDelayTimeout() on, . 
-        *        instance of CPhoneRingingTonePlayer.
-        * @return KErrNone.
-        */
-        static TInt HandleTtsDelayTimeout( TAny* object );
-        
-        /**
-        * It is called after TTS delay elapsed. Starts playing TTS.
-        */
-        void DoHandleTtsDelayTimeout();
-        
-        /**
-        * Checks if TTS component should be played for the current ringtone 
-        * playback and initializes the TTS playback. This method is to be 
-        * called from within PlayXXXXTone methods
-        * @since Series 60 3.0
-        * @param aRingingType ringing type
-        */
-        void AddTtsPlaybackIfNeeded( TProfileRingingType aRingingType );
-             
-        /**
-        * Returns currently active player which is used wit TTS player.
-        * @return pointer to CPhoneAudioPlayer.
-        */
-        CPhoneAudioPlayer* GetCurrentlyActiveAudioPlayerWithTTs();   
-         
-        /**
-        * TTs cases only. Calculates new volume and ramptimes
-        * for Ascending TTS ringing case and normal TTS ringing case.
-        * @param aStatus -status of TTs player.
-        */         
-        void SolveNewVolumeAndRamptime( TTtsStatus aStatus );   
-        
-        /**
-        * Retarts currently active ringingtone player.
-        */
-        void ReStartRingingTonePlayer();
-        
-         /**
-         * Checks if ringing tone file's size is larger than the size limit.
-         * If size limit is exceeded, default tone is played instead.
-         * @since 3.1
-         * @param aRingingTone  Tone to check.
-         * @return EFalse if the limit was exceeded and thus default tone played.
-         *         ETrue  if tone file's size was valid and the checked tone 
-         *                can be played.
-         */
-        TBool CheckAndHandleToneSizeLimit( CPhoneRingingTone* aRingingTone );
-
-         /**
-         * Checks if ringing tone file's size is larger than the size limit.
-         * @since 3.1
-         * @param aFile   File to check.
-         *        aSizeLimitKB  the size limit in kB is set to this variable.
-         * @return KErrNone        if the file can be used as a ringing tone.
-         *         KErrTooBig        if the file size limit is exceeded.
-         *         Other error value if error happened during size checking.
-         */
-        TInt CheckToneFileSize( const TDesC& aFile, TInt aSizeLimitKB );
-        
-         /**
-         * Reads from central repository the file size limit of following tones:
-         * -contact's personal ringing tone
-         * -voice call line1
-         * -voice call line2
-         * Value 0 means all sizes are allowed.
-         * @since 3.1
-         * @param aSizeLimitKB  the size limit in kB is read to this variable.
-         * @return leaves on error.
-         */
-        void GetMaxToneFileSizeL( TInt& aSizeLimitKB ) const;
-        
-        /**
-        * Returns currently active audio player.
-        * @return Currently active audio player or NULL if none active.
-        */
-        CPhoneAudioPlayer* ActiveAudioPlayer();
-        
-        /**
-        * Mutes the ringing tone.
-        */
-        void DoMuteRingingTone();
-        
-
-    private:    // Data
-        
-        // Audio ring tone player. Memory allocated during construction.
-        // After constructed, no leave may be caused during audio playing
-        CPhoneAudioPlayer* iAudioPlayer;
-
-        // Audio player for beep once.
-        CPhoneAudioPlayer* iBeepOncePlayer;
-
-        // Audio player for silent tone.
-        CPhoneAudioPlayer* iSilentPlayer;
-        
-        // Audio player for unsecure VoIP tone.
-        CPhoneAudioPlayer* iUnsecureVoIPTonePlayer;
-        
-        // Default player.
-        CPhoneAudioPlayer* iDefaultPlayer;
-        
-        // Tts player.
-        CPhoneAudioPlayer* iTtsPlayer;
-
-        // Backup ringing tone. Incase all default player failed.
-        CPhoneAudioPlayer* iBackupPlayer;
-        
-		// Default player
-        CPhoneRingingTone* iDefaultRingingTone;
-        
-        // Media server.
-        CMdaServer* iMdaServer;
-
-        // Indicate which tone is playing or need to be played:
-        // EIdle - idle,
-        // EAudioTonePlaying - audio playing,
-        // EBeepOnce - beep once playing,
-        // ESilentTonePlaying - silent tone playing,
-        // EUnsecureVoIPTonePlaying - unsecure tone playing (VoIP),
-        // EDefaultTonePlaying - default tone playing,
-        // EBackupTonePlaying - backup tone playing,
-        // EVideoTonePlaying - playing video ringing tone
-        // ESilentVideoTonePlaying  - silent playing video ringing tone
-        // EPersonalVideoTonePlaying - personal playing video ringing tone
-        enum TTonePlayingStatus
-            {
-            EIdle,
-            EAudioTonePlaying,
-            EBeepOnce,
-            ESilentTonePlaying,
-            EUnsecureVoIPTonePlaying,
-            EDefaultTonePlaying,
-            EBackupTonePlaying,
-            EVideoTonePlaying,
-            ESilentVideoTonePlaying,
-            EPersonalVideoTonePlaying
-            };
-
-        // Current playing status.
-        TTonePlayingStatus iTonePlayingStatus;
-        
-        // True if Tts is currently playing. Is different from 
-        // iTonePlayingStatus, because TTS is played in
-        // parallel with the other tone types
-        TBool iTtsTonePlaying;
-        
-        // Index of the TTS delay that is "executed" currently or is to be 
-        // "executed" after the current playing of the TTS tone. Is zero based
-        TInt iTtsDelayIndex;
-        
-        // True if TTS tone should be played when the next playing of the 
-        // default or personal tone is fired.
-        TBool iTtsToneToBePlayed;
-
-        // Audio/Video tone, not owned
-        CPhoneRingingTone* iAudioVideoRingingTone;
-
-        // Volume for backup tone playing.
-        TInt iVolume;
-        
-        // Volume of the text pronounced by the TTS engine
-        TInt iTtsVolume;
-
-        // Ringing type for backup tone playing.
-        TProfileRingingType iRingingType;
-
-        // Timer.
-        CPhoneTimer* iTimer;
-
-        // Timer, that tracks delays before playing TTS
-        CPhoneTimer* iTtsDelayTimer;
-
-        // Number of times TTS tone should be played for the CURRENT ringtone
-        // If ringing tone is to be played just once, iTtsDelayCount == 1,
-        // otherwise iTtsDelayCount == KTtsDelayCount
-        TInt iTtsDelaysCount;
-
-        // Player to be deleted asynchronously.
-        RPointerArray<CPhoneAudioPlayer> iAsyncDeletePlayers;
-
-        // DRM extend security
-        TBool iExtSecNeeded;
- 
-        // Video ringing tone player
-        MPhoneVideoPlayer* iVideoPlayer;
-    
-        // State of this active object
-        TState iState;
-              
-        // RingingType for TtsPlayer only.
-        TProfileRingingType iTtsRingingType;
-        
-        // Counter for TTs timeouts
-        TInt iTTsTimeOutCounter;
-        
-        // Voice call ringing tone file size max value.
-        TInt iToneFileSizeLimitKB;             
-
-        // Flag. Indicates video scaling capability of the device.
-        TBool iArbitraryVideoScaling;
-
-    };
-
-#endif      // CPHONERINGINGTONEPLAYERAO_H
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonesingleitemfetch.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +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:  Fetch items from Contact
-*
-*/
-
-
-#ifndef C_CPHONESINGLEITEMFETCH_H
-#define C_CPHONESINGLEITEMFETCH_H
-
-#include <e32base.h>
-#include "mphoneviewobserver.h"
-
-class CPhoneViewController;
-class CPhoneContactController;
-class CPhCntSingleItemFetch;
-class CPhoneStatusPane;
-
-/**
- *  Items Fetch from Contact
- *
- *
- *  @lib PhoneUIView
- *  @since S60 5.0
- */
-class CPhoneSingleItemFetch : public CActive, public MPhoneViewObserver
-    {
-
-public:
-
-   /**
-    * Two-phased constructor.
-    */
-    IMPORT_C static CPhoneSingleItemFetch* NewL( 
-        CEikonEnv& aEikEnv,
-        CPhoneViewController& aViewController,
-        CPhoneContactController& aContactController,
-        CPhoneStatusPane& aStatusPane );
-
-   /**
-    * Destructor.
-    */
-     virtual ~CPhoneSingleItemFetch();
-
-    /**
-     * Open single item fetch dialog
-     * @param aCommandParam command parameter holding data for
-     * populating the needed query dialog.
-     */
-     void OpenSingleItemFetchDialogL( TPhoneCommandParam* aCommandParam ); 
-    
-    /**
-     * Delete SingleItemFetch
-     */
-     void Delete();
-     
-    /**
-     * See MPhoneViewObserver.h
-     */
-     void PhoneViewActivatedL();
-     
-
-protected: // from CActive
-
-    /**
-     * See CActive documentation.
-     */  
-     void RunL();
-
-    /**
-     * See CActive documentation.
-     * @param aError symbian error code
-     */
-     TInt RunError( TInt aError );
-
-    /**
-     * See CActive documentation.
-     */    
-     void DoCancel();
-     
-private:
-
-    /**
-     * C++ default constructor.
-     */
-     CPhoneSingleItemFetch( 
-        CEikonEnv& aEikEnv,
-        CPhoneViewController& aViewController,
-        CPhoneContactController& aContactController,
-        CPhoneStatusPane& aStatusPane );
-
-private: // data
-
-    
-    /**
-    * Eikon environment delivered from CPhoneViewController
-    */
-    CEikonEnv& iEikEnv;
-    
-    /**
-    * Reference to owner
-    */
-    CPhoneViewController& iViewController;
-    
-    /**
-    * Pointer to CPhoneContactController
-    */
-    CPhoneContactController& iContactController;
-    
-    /**
-    * Pointer to CPhoneStatusPane
-    */
-    CPhoneStatusPane& iStatusPane;
-    
-    /**
-    * Single Item Fetch
-    */
-    CPhCntSingleItemFetch* iSingleItemFetch;
-    
-    /**
-    * ResourceId
-    */
-    TInt iResourceId;
-    
-    /**
-    * ButtonId
-    */
-    TInt iButtonId;
-    
-    /**
-     * True when singleitem fetch have been completed.
-     */
-    TBool iFetchPerformed;
-    };
-
-#endif // C_CPHONESINGLEITEMFETCH_H
--- a/phoneapp/phoneuiview/inc/cphonestatuspane.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,330 +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: 
-*       Manager for the statuspane, include navi pane and title pane
-*
-*/
-
-
-#ifndef CPHONESTATUSPANE_H
-#define CPHONESTATUSPANE_H
-
-// INCLUDES
-#include <e32base.h>
-#include <coemain.h>
-#include <aknnavi.h>    // for CAknNavigationControlContainer & 
-                        // CAknNavigationDecorator
-
-#include "mphonestatuspane.h"
-#include "phoneconstants.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CAknTitlePane;
-class CEikStatusPane;
-class TPhoneCommandParam;
-class CAknIndicatorContainer;
-
-// CLASS DECLARATION
-
-class THandlerTag
-    {
-    public:
-   		MPhoneStatusPaneObserver* iObserver;
-    	TInt iLayer;
-    };
-/**
-*  Manager for the statuspane, include navi pane and title pane
-*  Usage:
-*  Every client in phone application that will change the title pane should
-*  use status pane manager, to avoid confliction. 
-*  - Always use iStatusPaneManager.TitlePane() to get the reference of status 
-*    pane.
-*  - in ConstructL() insert a new handler to status pane manager by 
-*    AddTitlePaneHandlerL( *this )
-*  - Reserve the title pane before you change the title pane by 
-*    ReserveTitlePane( *this )
-*  - Before changing the status pane, always check if I'm the topmost handler
-*    of the manager, by iStatusPaneManager->IsTitlePaneVisible()
-*  - release the title pane after the change
-*  
-*/
-class CPhoneStatusPane : 
-    public CCoeStatic, 
-    public MPhoneStatusPane
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * First call initializes the singleton object. Subsequent calls return
-        * instance.
-        * @return the created instance.
-        */
-        static CPhoneStatusPane* Instance();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneStatusPane();
-
-    public: // from MPAStatusPane
-
-        /**
-        * Returns ETrue if status pane is visible.
-        */
-        TBool IsVisible() const;
-
-        /**
-        * Get the reference of the title pane
-        * @return the reference of the title pane
-        */
-        CAknTitlePane& TitlePane() const;
-
-        /**
-        * Get the reference of the title pane
-        * @return the reference of the title pane
-        */
-        CEikStatusPane& StatusPane() const;
-
-        /**
-        * Get the reference of the navi pane
-        * @return the reference of the navi pane
-        */
-        CAknNavigationControlContainer& NaviPane() const;
-
-        /**
-        * Get the reference of the navi decorator
-        * @return the reference of the navi decorator
-        */
-        CAknNavigationDecorator& NaviDecorator() const;
-
-        /**
-        * Add title pane handler, returns reserve id
-        * @return reservatoin id
-        */
-        void AddTitlePaneHandlerL( MPhoneStatusPaneObserver& aObserver );
-
-        /**
-        * Reserve the title pane
-        * @param the reserve id for release and get the visibility status
-        */
-        void ReserveTitlePane( MPhoneStatusPaneObserver& aObserver  );
-
-        /**
-        * Release title pane that has been reserved
-        * @param aReserveId the reserve id
-        */
-        void ReleaseTitlePane( MPhoneStatusPaneObserver& aObserver  );
-
-        /**
-        * Remove the handler
-        */
-        void RemoveTitlePaneHandler( MPhoneStatusPaneObserver& aObserver  );
-
-        /**
-        * Check if the title pane is visible
-        * @param aReserveId the reservation id
-        * @return ETrue if the title pane is visible
-        */
-        TBool IsTitlePaneVisible( 
-            MPhoneStatusPaneObserver& aObserver  ) const;
-
-        /**
-        * Gets status pane shape.
-        * @param aRegion shape of the status pane.
-        */
-        void GetShape( TRegion& aRegion );
-
-    public:
-
-        /**
-        * Update the title pane.
-        */
-        void UpdateTitlePane();
-
-
-        void SetTitlePaneContentL( const TDesC& aMessage );
-
-        void SetTitlePanePictureL( TPhoneCommandParam* aCommandParam );
-        
-        /**
-        * Handle update of volume leven in naviPane
-        */    
-        void SetVolumeLevel( 
-            TPhoneCommandParam* aCommandParam );
-            
-        void ActivateVoiceVolumeControl(
-            TPhoneCommandParam* aCommandParam);
-        
-        void DeactivateVoiceVolumeControl();
-        
-        TInt DoSwitchVolumeControlL( 
-            TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Creates title pane containing text.
-        *
-        * When instance is deleted, then text is removed from title pane.
-        *
-        * @param aTextResourceId text resorce.
-        * @return instance, also put to cleanup stack.
-        */
-        CBase* CreateTextTitlePaneLC( TInt aTextResourceId );
-        
-        /**
-        * Creates empty indicator pane.
-        * @return  the pointer of empty indicator pane.
-        */        
-        CAknIndicatorContainer* CreateEmptyIndicatorContainerL();
-
-    private:
-    
-        /**
-        * Update the title pane within recovery system
-        */
-        void DoUpdateTitlePaneL();
-        /**
-        * Callback funciton for recovery system to update title pane.
-        */
-        static TInt UpdateTitlePaneCallBackL( TAny* aAny );
-
-        /**
-        * Pushes new decorator to navi pane replacing the
-        * previous one.
-        * @param aNew new to replace the old one.
-        */
-        void PushL( CAknNavigationDecorator& aNew );
-
-    private:
-
-        /**
-        * Two-phased constructor.
-        * @return new instance.
-        */
-        static CPhoneStatusPane* NewL();
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneStatusPane();
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-
-    private:
-
-        /**
-        * Get the largest layer in the title pane list
-        */
-        TInt LargestLayerInTitlePaneList() const;
-
-        /**
-        * Get the pointer to the title pane hander by reserve id
-        */
-        THandlerTag* FindTitlePaneHandler( 
-            MPhoneStatusPaneObserver& aObserver ) const;
-
-        /**
-        * Get the current active title pane user
-        */
-        THandlerTag* FindTopmostTitlePaneHandler() const;
-
-        /**
-        * Notify handler on activation event
-        */
-        void NotifyHandlerOnActivation( 
-            THandlerTag& aHandlerTag,
-            TBool aActive );
-
-        /**
-        * Call back function for recovery system to switch the layout to idle
-        */
-        static TInt RecoverySwitchLayoutToIdleL( TAny* aAny );
-
-        // By default, prohibit copy constructor
-        CPhoneStatusPane( const CPhoneStatusPane& );
-
-        // Prohibit assigment operator
-        CPhoneStatusPane& operator= ( const CPhoneStatusPane& );
-        
-        /** 
-         * Function for statuspane if there is a operatorpicture 
-         */ 
-        void RenderBitmapOnTitlePaneL(); 
-      
-    private:    // Data  
-
-        //Recovery id for switch layout to idle state
-        TInt iSwitchLayoutIdleRecoveryId;
-
-        // Recovery id for update title pane
-        TInt iUpdateTitlePaneRecoveryId;
-
-        /**
-         * Array of PhoneStatusPane observers 
-         * Own.
-         */
-        CArrayFixFlat< THandlerTag > *iTitlePaneList;
-
-        /**
-        * Pointer to Eikon status pane.
-        * Not own.
-        */
-        CEikStatusPane* iStatusPane;
-        
-        /**
-         * Pointer the Avkon title pane.
-         * Not own.
-         */
-        CAknTitlePane* iTitlePane;
-        
-        /**
-        * Title pane bitmap.
-        * Own.
-        */
-        CFbsBitmap* iTitlePanePicture;
-        
-        /**
-         *  Title pane bitmap mask
-         *  Own.
-         */
-        CFbsBitmap* iTitlePanePictureMask;
-        
-        /**
-         * ETrue if title pane text is displayed; otherwise, display the bitmap
-         */ 
-        TBool iTitlePaneTextIsDisplayed;
-
-        /* 
-         * The pointer to the navi pane.
-         * Not own.
-         */
-        CAknNavigationControlContainer* iNaviPane;    
-        
-        /**
-         * The pointer to the navi decorator
-         * Own.
-         */
-        CAknNavigationDecorator* iNaviDecorator;
-        
-        // Title Pane Text
-        TBuf< KPhoneTitlePaneTextSize > iTitleText; 
-    };
-
-#endif      // CPhoneStatusPane_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonetextquery.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI Text Query.
-*
-*/
-
-
-#ifndef CPHONETEXTQUERY_H
-#define CPHONETEXTQUERY_H
-
-//  INCLUDES
-#include <AknQueryDialog.h>
-
-// CLASS DECLARATION
-
-class CPhoneTextQuery : public CAknTextQueryDialog
-    {
-    public:
-
-        /**
-        * Constructor.
-        */
-        CPhoneTextQuery( 
-            MEikCommandObserver& aCommandObserver, 
-            TDes& aDataText,
-            TInt aDefaultCbaResourceId,
-            TInt aContentCbaResourceId,
-            TBool aSendKeyEnabled,
-            TInt aEikBidOkCmd = EEikBidOk );  
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneTextQuery();   
-
-        /**
-        * From CAknTextQueryDialog, handles keyevents.
-        */
-        TKeyResponse OfferKeyEventL(
-            const TKeyEvent& aKeyEvent,
-            TEventCode aType );
-
-        /**
-        * From CAknTextQueryDialog, dynamic initialization 
-        * after layout.
-        */
-        void PostLayoutDynInitL();   
-    
-        void GetContent( TDes& aText );
-        
-      
-    private:
-      
-        /**
-        * From CEikdialog   This function is called by the EIKON framework 
-        *                   if the user activates a button in the button panel. 
-        *                   It is not called if the Cancel button is activated, 
-        *                   unless the EEikDialogFlagNotifyEsc flag is set.
-        * @param aButtonId  The ID of the button that was activated
-        * @return           Should return ETrue if the dialog should exit, and EFalse if it should not.
-        */
-        TBool OkToExitL( TInt aButtonId );
-
-        /**
-        * Updates softkeys.
-        */
-        void UpdateSoftkeysL();
- 
-        /**
-         * Asks the command id from the softkey (CBA)
-         * @return the command id or 0 in case of problems
-         */
-        TInt FetchCommandFromCba();
-     
-    private: // Data
-        
-        MEikCommandObserver& iCommandObserver;
-                
-        TInt iDefaultCbaResourceId;
-        
-        TInt iContentCbaResourceId;
-
-        TBool iSendKeyHandlingEnabled;
-        
-        TInt iEikBidOkCmd;
-    };
-
-#endif      // CPHONETEXTQUERY_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonetoolbarcontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +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:  Handles the updating dialer, toolbar buttons.
-*
-*/
-
-
-#ifndef CPHONETOOLBARCONTROLLER_H
-#define CPHONETOOLBARCONTROLLER_H
-
-#include <e32base.h>
-#include <akntoolbarobserver.h>
-
-class CAknToolbar;
-class CCoeEnv;
-class TPhoneCommandParam;
-class CAknButton;
-class TAknsItemID;
-class TPhoneCommandParam;
-
-
-/**
- *  Toolbar controller, updates toolbar buttons
- *
- *  @lib PhoneUIView.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CPhoneToolbarController ): 
-    public CBase, public MAknToolbarObserver 
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aCoeEnv 
-     * @param aMenuController 
-     */
-    static CPhoneToolbarController* NewL( CCoeEnv& aCoeEnv);
-    /**
-     * Destructor.
-     */
-    virtual ~CPhoneToolbarController();
-    
-     /**
-     * Updates toolbar buttons.
-     */
-    void UpdateToolbar();
-  
-
-    
-	/**
-    * Enables toolbar
-    */ 
-	void ShowToolbar();
-
-    /**
-    * Disables toolbar
-    */ 
-    void HideToolbar();	
-    
-    void SetMuteFlag( TPhoneCommandParam* aCommandParam );
-
-    void SetIhfFlag( TPhoneCommandParam* aCommandParam );
-    
-    /**
-     * Dims (greys out) or undims all toolbar items.
-     *
-     * @param aDimmed Use ETrue to dim this toolbar item or EFalse to
-     *      un-dim this toolbar item.
-     */
-    void DimToolbar( const TBool aDimmed );
-    
-    /**
-     * Dims (greys out) or undims a toolbar item.
-     *
-     * @param aCommandId The command (as defined in an .hrh file)
-     *      associated with this toolbar item. This identifies the toolbar
-     *      item, whose text is to be dimmed or un-dimmed.
-     * @param aDimmed Use ETrue to dim this toolbar item or EFalse to
-     *      un-dim this toolbar item.
-     */
-    void SetToolbarButtonDimmed( const TInt aCommandId,
-                                 const TBool aDimmed );
-
-public:     // from MAknToolbarObserver
-    /**
-     * From base class MAknToolbarObserver
-     * Handles toolbar events for a certain toolbar item.
-     *
-     * @param aCommand The command ID of some toolbar item.
-     */ 
-    void OfferToolbarEventL( TInt aCommand );
-    
-    /**
-     * From base class MAknToolbarObserver
-     * Should be used to set the properties of some toolbar components 
-     * before it is drawn.
-     *   
-     * @param aResourceId The resource ID for particular toolbar
-     * @param aToolbar The toolbar object pointer
-     */
-    void DynInitToolbarL( TInt aResourceId, CAknToolbar* aToolbar );
-      
-private:
-
-    /**
-     * Creates CAknButton with given parameters and leaves it to 
-     * CleanupStack.
-     * 
-     * @param aNormalIconId
-     * @param aNormalMaskId
-     * @param aTooltipText
-     * @param aSkinIconId
-     * @param aCommand 
-     */  
-    CAknButton* CreateButtonLC( TInt aNormalIconId,
-                                TInt aNormalMaskId,
-                                const TDesC& aTooltipText, 
-                                const TAknsItemID& aSkinIconId,
-                                TInt aCommand );
-    
-    
-    /**
-     * Constructor.
-     * 
-     * @param aCoeEnv 
-     */
-    CPhoneToolbarController( CCoeEnv& aCoeEnv );    
-    /**
-     * Symbian 2nd phase constructor.
-     * 
-     */
-    void ConstructL();
-    
-    /**
-     * Searches the tooltip text for the button using the 
-     * the given command id.
-     * 
-     * @param aCommandId the command id
-     * @param aText     the searched tooltip text
-     */
-    void  GetTooltipTextL( TInt aCommandId, HBufC*& aText ); 
-    
-    TAknsItemID GetSkinIdL( TInt aCommandId );
-
-        
-private: // data
-    /**
-     * AknToolbar. 
-     * Not own.  
-     */
-    CAknToolbar* iToolbar;
-
-    /**
-     * CoeEnv 
-     */
-    CCoeEnv& iCoeEnv;    
-        
-    TBool iMuteFlag;
-    
-    TBool iIhfFlag;
-
-    };
-
-#endif // CPHONETOOLBARCONTROLLER_H
--- a/phoneapp/phoneuiview/inc/cphoneuidisablednote.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneUI Note
-*
-*/
-
-/*
-*/
-
-#ifndef CPHONEUIDISABLEDNOTE_H
-#define CPHONEUIDISABLEDNOTE_H
-
-
-//  INCLUDES
-#include "tphonecmdparamnote.h"
-#include "cphonenote.h"
-
-// FORWARD DECLARATIONS
-class CAknNoteDialog;
-
-class CPhoneUIDisabledNote : public CPhoneNote
-    {
-    public:  // Constructors and destructor
-
-        /**
-         * Constructor.
-         * 
-         * @param    aSelfPtr            Pointer to self. 
-         *                               This pointer is set to NULL when the note is destroyed by the framework.
-         * @param    aCommandObserver    Observer to receive command events from the note.
-         */
-        CPhoneUIDisabledNote( CEikDialog** aSelfPtr, MEikCommandObserver& aCommandObserver );  
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneUIDisabledNote();  
-
-        /**
-        * Sets the type of the note.
-        */
-        void SetNoteType( TPhoneNoteType aNoteType );
-
-        /**
-        * Gets the type of the note.
-        */
-        TPhoneNoteType NoteType();
-        
-        /**
-        * Updates softkeys to note
-        * @param    aResourceId     Resource id
-        */
-        void UpdateSoftkeysL( TInt aResourceId );
-        
-    protected:
-
-        TKeyResponse OfferKeyEventL( 
-            const TKeyEvent& aKeyEvent,
-            TEventCode aType );
-
-        TBool OkToExitL( TInt aCommand );
-
-        void HandlePointerEventL( 
-            const TPointerEvent& aPointerEvent );
-
-        void SetSizeAndPosition( const TSize& aSize );
-        
-    protected:  // Data
-        
-        //The type of note. Not necessarily set.
-        //Used in security view
-        TPhoneNoteType iNoteType;
-    };
-
-#endif // CPHONEUIDISABLEDNOTE_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/cphonevideoplayer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +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:  Video ringing tone player.
-*
-*/
-
-
-#ifndef CPHONEVIDEOPLAYER_H
-#define CPHONEVIDEOPLAYER_H
-
-// INCLUDES
-
-#include <VideoPlayer.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CFileMan;
-class CVideoPlayerUtility;
-class MPhoneVideoPlayerObserver;
-class CPhoneRingingTone;
-
-// CLASS DECLARATION
-
-/**
-*  Video ringing tone player
-*  Uses CVideoPlayerUtility to play video clips.
-*
-*  @lib PhoneUIView.lib
-*  @since Series 60 3.1
-*/
-class CPhoneVideoPlayer : 
-    public CBase,
-    public MVideoPlayerUtilityObserver
-    {
-    public:
-        enum TVideoPlayerState // from MMF-VideoPlayer IF spec.
-            {
-            EVideoError = -1,
-            EVideoClosed,
-            EVideoOpening,
-            EVideoOpen,
-            EVideoPreparing,
-            EVideoReady, // player's stopped state
-            EVideoPlaying,
-            EVideoPaused
-            };
-
-        enum TRingingType
-            {
-            ETypeRinging,
-            ETypeRingingOnce,
-            ETypeAscending
-            };
-
-        enum TVideoResolution
-            {
-            EVideoQCIF,
-            EVideoSubQCIF
-            };
-
-    public:  // Constructor and destructor
-
-        /**
-        * Two-phased constructor.
-        * @param aRingingTone The ringing tone
-        * @param aPriority The priority for the playing
-        * @param aPreference The preference value
-        * @param aObserver Video player observer
-        * @param aVideo Window for video
-        * @return The instance of the video player.
-        */
-        static CPhoneVideoPlayer* NewL( 
-            const CPhoneRingingTone& aRingingTone, 
-            TInt aPriority, 
-            TUint aPreference,
-            MPhoneVideoPlayerObserver& aObserver, 
-            RWindow& aVideoTarget,
-            TBool aExtSecNeeded = EFalse );
-
-        /**
-        * Two-phased constructor (non leaving).
-        * @param aFileName The ringing tone
-        * @param aPriority The priority for the playing
-        * @param aPreference The preference value
-        * @param aObserver Video player observer
-        * @param aVideo Window for video
-        * @return The instance of the video player. NULL is
-        *         returned if creation failed.
-        */
-        static CPhoneVideoPlayer* New( 
-            const CPhoneRingingTone& aRingingTone, 
-            TInt aPriority, 
-            TUint aPreference,
-            MPhoneVideoPlayerObserver& aObserver, 
-            RWindow& aVideoTarget,
-            TBool aExtSecNeeded = EFalse );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneVideoPlayer();
-
-    public:
-        /**
-        * Plays the loaded video.
-        * @since Series 60 3.1
-        * @param aRingingType Ringing type.
-        * @param aVolume take value from 1 to 10
-        */
-        void Play( TRingingType aRingType, TInt aVolume );
-
-        /**
-        * Stops video playback.
-        * @since Series 60 3.1
-        */
-        void StopPlaying();
-
-       /**
-        * Pauses video playback.
-        * @since Series 60 3.1
-        * @return KErrNone is successful.
-        */
-        TInt PausePlaying();
-        
-        /**
-        * Resumes video playback.
-        * @since Series 60 3.1
-        */
-        void ResumePlaying();
-        
-        /**
-        * Make video to play silent.
-        * @since Series 60 3.1
-        */
-        void MuteAudio();
-
-        /**
-        * Get the state of the phone video player.
-        * @since Series 60 3.1
-        * @return The status of video player
-        */
-        TVideoPlayerState State() const;
-
-        /**
-        * Get the resolution of the loaded video.
-        * @since Series 60 3.1
-        * @return The resolution.
-        */
-        TVideoResolution VideoResolution() const;
-
-        /**
-        * Scales and crops video to cover target window.
-        * @since Series 60 3.1
-        * @param aDisplayWindow Window for video.
-        * @param aUncropPane Rectangle for cropping control.
-        */
-        void AdjustToWindow( RWindow& aDisplayWindow,
-        					 const TRect& aUncropPane );
-
-    private: // Functions from MVideoPlayerUtilityObserver
-        /** 
-        * MvpuoOpenComplete
-        */
-        void MvpuoOpenComplete( TInt aError );
-
-        /** 
-        * MvpuoPrepareComplete
-        */
-        void MvpuoPrepareComplete( TInt aError );
-
-        /** 
-        * MvpuoFrameReady
-        */
-        void MvpuoFrameReady( CFbsBitmap& aFrame ,TInt aError );
-
-        /** 
-        * MvpuoPlayComplete
-        */
-        void MvpuoPlayComplete( TInt aError );
-        
-        /** 
-        * MvpuoEvent
-        */
-        void MvpuoEvent( const TMMFEvent& aEvent );
-    
-    private: // Constructors
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneVideoPlayer();
-        
-        /**
-        * C++ constructor.
-        */
-        CPhoneVideoPlayer( MPhoneVideoPlayerObserver& aObserver );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( 
-            const TDesC& aFileName, 
-            TInt aPriority, 
-            TUint aPreference,
-            RWindow& aVideoTarget );
-
-    private:
-        /**
-        * SetRingingType
-        */
-        void SetRingingType( TRingingType aRingingType );
-
-        /**
-        * SetVolume
-        */
-        void SetVolume( TInt aVolume );
-
-        /**
-        * VolumeRampTimerCallback
-        */
-        static TInt VolumeRampTimerCallback( TAny* aObj );
-
-        /**
-        * DoVolumeRamp
-        */
-        TInt DoVolumeRamp();
-        
-        /**
-        * Frame size
-        */
-        TSize VideoFrameSize() const;
-
-    private: //Data
-
-        MPhoneVideoPlayerObserver&  iObserver;
-        CVideoPlayerUtility*        iVideoPlayer;
-        TVideoPlayerState           iPlayerState;
-        TBool                       iToBePlayed;
-
-        // Ringing properties
-        TInt                        iVolume;
-        TRingingType                iRingingType;
-
-        // Ascending volume
-        TInt                        iRampedVolume;
-        CPeriodic*                  iVolumeRampTimer;
-        
-        // Ringing tone
-        RFile                       iFileHandle;
-        
-    };
-
-#endif // CPHONEVIDEOPLAYER
--- a/phoneapp/phoneuiview/inc/cphoneview.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Phone UI View
-*
-*/
-
-#ifndef __CPHONEVIEW_H
-#define __CPHONEVIEW_H
-
-//  INCLUDES
-
-#include <coecntrl.h>
-#include <coeview.h>
-
-// FORWARD DECLARATIONS
-class CAknsLayeredBackgroundControlContext;
-class TPhoneCommandParam;
-class CEikButtonGroupContainer;
-class MPhoneViewObserver;
-
-// CLASS DECLARATION
-
-/**
-*   Base class for protocol spesific call header views.
-*/
-class CPhoneView : public CCoeControl, public MCoeView
-    {
-    public:  // Constructors and destructor        
-
-        static CPhoneView* NewL( TRect aRect, CEikButtonGroupContainer& aCba );
-
-        virtual ~CPhoneView();
-
-    public: // Functions from base classes
-
-        /**
-        * Returns a TVwsViewId uniquely identifying the view.
-        * @return Represents a view in the server
-        */
-        TVwsViewId ViewId() const;
-
-        void ActivateL();
-
-        /**
-        * From CCoeControl; notifier for resource changes
-        * @param aType : Type of resource change
-        */
-        void HandleResourceChange( TInt aType );
-
-    public: // New functions
-
-        /**
-        * Sets the control as component.
-        * @param aControl It is the new component.
-        */
-        void SetControl( CCoeControl* aControl );
-        
-        /**
-        * Returns the control in the view.
-        * @return aControl The control.
-        */
-        CCoeControl* Control() const;
-        
-        /**
-        * Sets the bitmap
-        * @param aCommandParam a command parameter
-        */
-        void SetBitmap( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Gets the bitmap
-        * @param aCommandParam a command parameter
-        */
-        void GetBitmap( TPhoneCommandParam* aCommandParam );
-       
-        /**
-        * Sets the security mode flag ETrue or EFalse
-        * @param aStatus ETrue for the security mode. EFalse for the 
-        * normal mode.
-        */ 
-        void SetSecurityMode ( TBool aStatus );
-        
-        /**
-        * Get state of the security mode flag
-        * @return aStatus ETrue for the security mode. EFalse for the 
-        * normal mode.
-        */         
-        TBool IsSecurityMode();
-        
-        /**
-        * Gets the previous app flag value.
-        */ 
-        TBool GetActivatePreviousApp();
-        
-        /**
-        * Sets the fall back flag ETrue or EFalse
-        * @param aStatus ETrue if back activates previous app.
-        * EFalse if idle is to be opened.
-        */ 
-        void SetActivatePreviousApp( const TBool aStatus );
-        
-        /**
-        * Sets dialer activate flag to ETrue or EFalse
-        * @param aStatus ETrue if next activate view inside 
-        * phoneapp is dialer. EFalse if not dialer. 
-        */ 
-        void SetPhoneAppViewToDialer( const TBool aStatus );
-        
-        /**
-        * Returns dialer activate flag status.
-        */ 
-        TBool PhoneAppViewToDialer();
-        
-        /**
-        * Enables or disables pointer capture for phoneview 
-        * @param aStatus ETrue, pointer capture will be enabled 
-        */         
-        void CapturePointerEvents( const TBool aCapture );      
-        
-        /**
-         * Sets view observer for view events.
-         */
-        void SetPhoneViewObserver( MPhoneViewObserver& aObserver );
-        
-        /**
-         * Sets permission to activate dialer view.
-         */
-        void SetDialerActivation( TBool aActivation );
-        
-	public:  // Functions from base classes
-		
-		/**
-        * From CCoeControl
-        */
-        void SetRect( const TRect &aRect );        
-
-    protected:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void HandlePointerEventL(
-            const TPointerEvent& aPointerEvent );
-
-        /**
-        * From CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl
-        */
-        void Draw( const TRect& aRect ) const;
-
-        /**
-        * From CCoeControl, informs that the size is changed to update
-        * the sizes of component controls appropriately.
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl, informs that the position has been changed.
-        */
-        void PositionChanged();
-
-        /**
-        * From CCoeControl, MopSupplyObject
-        */
-        TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-        
-        /**
-        * From CCoeControl
-        */        
-        void FocusChanged( TDrawNow aDrawNow );
-        
-    private: // Functions from base classes
-
-        /**
-        * Takes any action required on activation of the view. 
-        * Reimplemented versions should read the message text
-        * @param aCustomMessage message for any message type 
-        *                       identified by aCustomMessageId
-        * @param aCustomMessageId message ID that the view understands
-        * @param aPrevViewId The id of the previously active view 
-        *                    so that the view may switch back to its caller
-        *                    at some later stage
-        */
-        void ViewActivatedL( 
-            const TVwsViewId& aPrevViewId, 
-            TUid aCustomMessageId, 
-            const TDesC8& aCustomMessage );
-
-        /**
-        * Takes any action required on deactivation of the view e.g. to 
-        * make the controls owned by the view non-visible
-        * (thereby saving the window server uneccessary work).
-        */
-        void ViewDeactivated();
-
-    private:
-
-        CPhoneView( CEikButtonGroupContainer& aCba );
-
-        void ConstructL( TRect aRect );
-
-    private:
-
-        /**
-        * Updates size of the control.
-        */
-        void UpdateControlRect();
-
-    private:
-
-        // Region type.
-        typedef RRegionBuf< KPhoneRegionAmount > RPhoneRegionBuf;
-
-        // Owned: region
-        RPhoneRegionBuf iRegion;
-
-        // Owned: background context.
-        CAknsLayeredBackgroundControlContext* iBgContext;
-
-        // Pointer to active control.
-        CCoeControl* iControl;
-
-        // Owned: Active Idle main bitmap.
-        CFbsBitmap* iBitmap;
-        
-        //Id of the fullscreen AI plugin
-        TInt iFsAiId;
-        
-        //MainPane
-        TRect iMainPane;
-        
-        //Is security mode or not
-        TBool iSecurityMode;
-        
-        // Previous app flag.
-        TBool iActivatePreviousApp;
-        
-        // Dialer activation flag.
-        TBool iPhoneAppViewToDialer;
-        
-        CEikButtonGroupContainer& iCba;
-        
-        MPhoneViewObserver* iObserver;
-        
-        TBool iDialerActivation;
-        };
-
-#endif // __CPHONEVIEW_H
-
--- a/phoneapp/phoneuiview/inc/cphoneviewcontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,750 +0,0 @@
-/*
-* 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:  Controller for the PhoneUI View component
-*
-*/
-
-#ifndef CPHONEVIEWCONTROLLER_H
-#define CPHONEVIEWCONTROLLER_H
-
-//  INCLUDES
-#include <apgcli.h>
-#include <eikenv.h>
-#include <e32base.h>
-#include <cntdef.h>
-#include <cphcntspeeddialmonitor.h>
-
-#include "mphoneviewcommandhandle.h"
-#include "cphonerecoverysystem.h"
-#include "mphonestatuspaneobserver.h"
-#include "tphonecmdparamspeeddial.h"
-#include "aknkeylock.h"
-#include "tphonecmdparamtranseffect.h"
-
-#include "mphoneviewblockingdialogobserver.h"
-
-// FORWARD DECLARATIONS
-class CPhoneButtonsController;
-class CLogsClient;
-class CPhoneView;
-class CPhoneDialerView;
-class TPhoneViewId;
-class TPhoneCommandParam;
-class TPhoneCmdParamBoolean;
-class CEikButtonGroupContainer;
-class CPhoneMenuController;
-class CPhoneNoteController;
-class CPhoneQueryController;
-class CPhoneKeyCaptureController;
-class CSpdiaControl;
-class CEikStatusPane;
-class CAknNavigationControlContainer;
-class CPhoneBubbleWrapper;
-class CCoeControl;
-class CPhoneStatusPane;
-class TPhoneNoteType;
-class CPhoneNoteUtilities;
-class CPhoneIncallIndicator;
-class CPhoneTimer;
-class CPhoneContactController;
-class CPhoneCntSaveAddToName;
-class CPhCntSingleItemFetch;
-class CPhoneApplicationExit;
-class CPhoneAudioController;
-class CPhoneRingingTonePlayerAO;
-class RAknUiServer;
-class CPhoneSingleItemFetch;
-class CPhoneDialerController;
-class CAknIndicatorContainer;
-class CPhCntRfsHandler;
-class CPhoneToolbarController;
-
-class CEikonEnv;
-class CPhoneVmbxHandler;
-class CAknAppUi;
-class CDialer;
-class MPhoneNumberEntryChangedHandler;
-class MPhoneViewCustomization;
-
-class CPhoneViewController :
-    public CBase,
-    public MPhoneViewCommandHandle,
-    public MPhoneStatusPaneObserver,
-    public MPhoneViewBlockingDialogObserver
-    {
-    public:  // Constructors and destructor
-
-        IMPORT_C static CPhoneViewController* NewL( TRect aRect );
-
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CPhoneViewController();
-
-        IMPORT_C CPhoneView* PhoneView();
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual void ExecuteCommandL(
-            TPhoneViewCommandId aCmdId );
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual void ExecuteCommandL(
-            TPhoneViewCommandId aCmdId,
-            TInt aCallId );
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual void ExecuteCommandL(
-            TPhoneViewCommandId aCmdId,
-            TPhoneCommandParam* aCommandParam );
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual void ExecuteCommandL(
-            TPhoneViewCommandId aCmdId,
-            TInt aCallId,
-            TPhoneCommandParam* aCommandParam );
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual void ExecuteCommandL(
-            TPhoneViewCommandId aCmdId,
-            TInt aCallId,
-            TDesC& aMessage );
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual void ExecuteCommand(
-            TPhoneViewCommandId aCmdId );
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual void ExecuteCommand(
-            TPhoneViewCommandId aCmdId,
-            TPhoneCommandParam* aCommandParam );
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual TPhoneViewResponseId HandleCommandL(
-            TPhoneViewCommandId aCmdId );
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual TPhoneViewResponseId HandleCommandL(
-            TPhoneViewCommandId aCmdId,
-            TPhoneCommandParam* aCommandParam );
-
-        /**
-        * From MPhoneViewCommandHandle
-        */
-        IMPORT_C virtual const TDesC& FetchContent();
-
-        /**
-        * @see MPhoneStatusPaneObserver.
-        */
-        void HandleTitlePaneActiveL( TBool aActive = ETrue );
-
-        /**
-        * Returns window group id of the phone application.
-        */
-        IMPORT_C TInt ApplicationWindowGroupId();
-
-        /**
-        * Returns window group id of the Idle application.
-        */
-        IMPORT_C TInt IdleWindowGroupId();
-
-        /**
-        * Returns window group id of the application that is currently
-        * in the foreground.
-        */
-        IMPORT_C TInt ForegroundApplicationWindowGroupId();
-
-        /**
-        * Fetches foreground application's window group id.
-        */
-        IMPORT_C static TInt DoFetchForegroundApplicationWindowGroupIdL(
-            CEikonEnv& aEnv );
-
-        /**
-        * Hides / makes visible Phone icon in fast swap menu.
-        * @since 2.8
-        * @param aHidden is application hidden or shown.
-        */
-        IMPORT_C void SetHiddenL( const TBool aHidden );
-
-        /**
-        * Get the help context
-        * @return Saved help context
-        */
-        IMPORT_C const TDesC& HelpContext();
-
-        /**
-        * From CCoeControl; notifier for resource changes
-        * @param aType : Type of resource change
-        */
-        IMPORT_C void HandleResourceChangeL( TInt aType );
-
-        /**
-        * From CCoeControl; notifier for layout changes
-        * @param aRect : screen size
-        */
-        IMPORT_C void HandleLayoutChange( TRect aRect );
-
-        /**
-        * Indicates that a blocking dialog is currently being displayed
-        * This is required by the AppUI to determine if
-        * the End key should be processed in HandleWsEventL()
-        */
-        IMPORT_C TBool BlockingDialogIsDisplayed() const;
-
-        /**
-        * Indicates that a status panel is currently being displayed
-        * This is required by the AppUI
-        */
-        IMPORT_C TBool StatusPaneDisplayed();
-
-        /**
-        * Set single item fetch content
-        */
-        void SetFetchContent( TDesC& aFetchContent );
-
-        /**
-        * Sets single item fetch type
-        * @aType   single item fetch type
-        */
-        void SetSingleItemFetchType( TInt aType );
-
-         /**
-        * From MPhoneViewBlockingDialogObserver
-        * Sets the is blocking dialogs in screen.
-        * @param aBlockingDialog ETrue if blocking dialog is
-        *                        displayed.
-        */
-        IMPORT_C void SetBlockingDialogIsDisplayed( TBool aBlockingDialog );
-
-    private:     // New functions
-
-        /**
-        * read IdleApplicationUid from PubSub
-        */
-        TInt IdleAppUid();
-
-        /**
-        * Indicates whether application needs to return to the
-        * background after being brought to the foreground using
-        * BringToForeground()
-        */
-        TBool NeedToSendToBackground();
-
-        /**
-        * Gets the blocking dialogs status
-        */
-        void GetBlockingDialogIsDisplayed( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Sets the required background status of the application
-        */
-        void SetNeedToSendToBackground( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Sends application to background.
-        */
-        void SendToBackgroundL();
-
-        /**
-        * Brings foreground given application.
-        * @param aCommandParam command parameter.
-        */
-        void BringAppToForeground( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Brings phone application to foreground.
-        * @param aCommandParam command parameter.
-        */
-        void BringPhoneAppToForeground( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Sets the top application
-        * @param aCommandParam command parameter
-        */
-        void SetTopApplicationL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Gets the foreground application
-        * @param aCommandParam command parameter
-        */
-        void GetForegroundApplication( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Sets phone application windowgroup position.
-        */
-        void SetWindowGroupPosition();
-
-        /**
-        * Activate other application.
-        * @param aCommandParam command parameter
-        */
-        void ActivateAppL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Activate other application with specific view.
-        * @param aCommandParam command parameter
-        */
-        void ActivateAppViewL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Activate other application with specific view and custom message.
-        * @param aCommandParam command parameter
-        */
-        void ActivateAppViewWithCustomMessageL(
-            TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Activate other application with specific view with conventional way
-        * @param aCommandParam command parameter
-        */
-        void ActivateAppViewConventionalL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Launches application.
-        */
-        void LaunchApplicationL();
-
-        /**
-        * Launches help application
-        * @param aHelpCommand help command string
-        */
-        void LaunchHelpApplicationL( const TDesC& aHelpCommand );
-
-        /**
-        * Continues construction of contact manager.
-        */
-        static TInt DoConstructContactControllerL( TAny* aAny );
-
-        void SetCbaL( TPhoneCommandParam* aCommandParam );
-
-        void ShowInfoNote( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Creates connection.
-        */
-        void CreateConnectionL();
-
-        /**
-        * Activate another instance of the application
-        */
-        void ActivateAppInstanceL( TUid aUid );
-
-        /**
-        * Set the global Avkon notifier disabler status
-        * @param aCommandParam a command parameter
-        */
-        void SetGlobalNotifiersDisabledL( TPhoneCommandParam* aCommandParam );
-
-        /* Set the Eikon notifier disable status
-        * @param aCommandParam a command parameter
-        */
-        void SetEikonNotifiersDisabled( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Cancel all notification from screen.
-        */
-        void CancelAllNotications();
-
-        /**
-        * Handles bubble updating
-        */
-        void HandleUpdateBubbleL(
-            TInt aCallId,
-            TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Remove Phone dialogs
-        */
-        void RemovePhoneDialogsL();
-
-        /**
-        * Remove add to contact dialog.
-        */
-        void RemoveAddToContactDialog();
-
-        /**
-        * Update menu and CBAs based on current audio path
-        * @param aCommandParam a command parameter
-        */
-        void UpdateAudioPathOptions( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Update menu and CBAs based on current audio availability
-        * @param aCommandParam a command parameter
-        */
-        void UpdateAudioAvailabilityOptions( TPhoneCommandParam* aCommandParam );
-
-        /**
-        /**
-        * Soft Reject feature enable status
-        */
-        TBool SoftRejectIsEnabled() const;
-
-        /**
-        * Set Speed Dial location
-        */
-        void SetSpeedDialLocation( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Get number from Speed Dial location
-        * @return   EFalse if user cancel or failed.
-        */
-        TBool GetNumberFromSpeedDialLocationL(
-            TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Assign Speed Dial location
-        * @param aCommandParam a command parameter
-        * @return ETrue if speed dial location is assigned
-        */
-        TBool AssignSpeedDialLocation( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Assign Speed Dial location
-        * @param aLocation a speed dial location
-        * @return ETrue if speed dial location is assigned
-        */
-        TBool AssignSpeedDialLocationL( TInt aLocation );
-
-        /**
-        * Opens Contact and adds address to contacts.
-        * @param aCommand a contact command
-        * @param aString a string to be added to contacts, if KNullDesC string
-        *                will be added from the number entry.
-        */
-        void OpenAddToContactL( TInt aCommand,
-                                const TDesC& aString = KNullDesC );
-
-        /**
-        * Launches Restore Factory Settings
-        * @param aDeepRfs - ETrue if deep rfs, EFalse if normal
-        */
-        void LaunchRfsL( TBool aDeepRfs );
-
-        /**
-        * Open the SMS or MMS message editor
-        */
-        void OpenMessageEditorL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Open the soft reject message editor
-        */
-        void OpenSoftRejectMessageEditorL(TPhoneCommandParam* aCommandParam );
-
-        /**
-        * By default EPOC constructor is private.
-        */
-        void ConstructL( TRect aRect );
-
-        /**
-        * C++ default constructor.
-        */
-        CPhoneViewController();
-
-        /**
-        * Fetches phone number's type for aSpeedDialLocation located number.
-        * @param aSpeedDialLocation - speed dial location of number.
-        * @return Phone number's type.
-        */
-        TPhoneNumberType SpeedDialNumberTypeL( TInt aSpeedDialLocation );
-
-        /**
-        * Convert number type from Speed Dial field info
-        * @param  aFieldInfo - field info
-        * @return Phone number's type
-        */
-        TPhoneNumberType ConvertNumberTypeFromSpeedDialFieldInfo(
-            CPhCntSpeedDialMonitor::TSpdDialFieldInfo aFieldInfo );
-
-        /**
-        * Open the Unified message editor and get
-        * number from number entry
-        */
-        void SendMessageL();
-
-        /**
-        * Set security mode to view and statuspane
-        */
-        void SetSecurityMode( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Get security mode status
-        */
-        void GetSecurityModeStatus ( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Set security mode to view and statuspane
-        */
-        void SetStatusPaneVisible( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Reads information is security code query displayed on the screen.
-        * @return ETrue if is displayed, otherwise EFalse
-        */
-        TBool IsSecurityCodeQuery() const;
-
-        /**
-        * Set update of FSW
-        */
-        void UpdateFSW();
-
-        /**
-
-        /**
-        * Creates Speed Dial Controller if it doesn't exist already.
-        */
-        void CreateSpeedDialControllerL();
-
-        /**
-        * Checks replace option.
-        * @return ETrue if active and waiting calls are both video or voice
-        */
-        TBool IsReplaceAllowed();
-
-        /**
-        * Open single item fecth dialod for Dialer.
-        */
-        void SingleItemFetchL();
-
-        /**
-        * Get Soft Reject Window Group Id.
-        */
-        void GetSoftRejectWindowGroupId( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Switch flat status pane.
-        */
-        void SwitchLayoutToFlatStatusPaneL( TBool aSwitch );
-
-        /**
-        * Swap empty indicator pane when secure state.
-        */
-        void SwapEmptyIndicatorPaneInSecureStateL ( const TBool aSwapEmpty );
-
-        /**
-        * Handles transition effect.
-        */
-        void HandleTransitionEffect( TPhoneTransEffectType aType );
-
-        /**
-        * Sets control to dialer.
-        */
-        void SetControltoDialerL();
-
-        /**
-        * Sets control to call handling.
-        */
-        void SetControltoCallHandlingL();
-
-        /**
-        * Sets control to dialer and makes control
-        * visible if needed.
-        */
-        void SetDialerControlAndVisibilityL();
-
-        /**
-        * Sets pointer capture.
-        * This is needed when statuspane must be inactive.
-        */
-        void CapturePointerEvents( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Returns allow waiting call header value.
-        */
-        void AllowWaitingCallHeaderL( TPhoneCommandParam* aCommandParam );
-
-        /**
-        * Checks if given window group id still exists in
-        * window group list.
-        *
-        * @aAppWgID     window group id to check
-        * @return TInt  KErrNotFound if app not exists anymore in the list
-        *                   otherwise app index in the list.
-        */
-        TInt FindAppByWgIDL( TInt aAppWgID );
-
-        /**
-        * Returns pointer to the control that is responsible of handling
-        * Phone Number Entry Changed events.
-        */
-        MPhoneNumberEntryChangedHandler* NumberEntryChangedHandler() const;
-
-       /**
-        * Returns single item fetch type
-        * @return single item fetch type
-        */
-        TInt SingleItemFetchType() const;
-
-        /**
-         * Checks screen lock status.        
-         */        
-        TBool IsKeyLockEnabled();
-        
-        /**
-         * Unlock keys & screen.        
-         */         
-        void DisableKeyLock();
-        
-    private:    // Data
-
-        CPhoneView* iPhoneView;
-
-		CPhoneDialerView* iDialerView;
-
-        // iCba
-        CEikButtonGroupContainer* iCba;
-
-        CPhoneStatusPane* iStatusPane;
-
-        // For accessing bubble
-        CPhoneBubbleWrapper* iBubbleWrapper;
-
-        // Controls the touch buttons
-        CPhoneButtonsController* iButtonsController;
-
-        // Controls the touch buttons
-        CPhoneDialerController* iDialerController;
-        
-        // Controls the toolbar
-        CPhoneToolbarController* iToolbarController;
-
-        // For accessing incall indicator
-        CPhoneIncallIndicator* iIncallIndicator;
-
-        CPhoneMenuController* iMenuController;
-
-        CPhoneNoteController* iNoteController;
-
-        CPhoneQueryController* iQueryController;
-
-        CPhoneKeyCaptureController* iKeyCaptureController;
-
-        CPhoneApplicationExit* iApplicationExit;
-
-        CPhoneAudioController* iAudioController;
-        
-        CPhoneRingingTonePlayerAO* iRingingTonePlayerAO;
-
-        // EikEnv for CPhoneKeyCaptureController, CPhoneNoteController,
-        // CPhoneMenuController and CPhoneQueryController
-        CEikonEnv& iEikEnv;
-
-        // Instance of keylock.
-        RAknKeyLock iKeyLock;
-
-        CPhoneContactController* iContactController;
-
-        // Window group of Idle application.
-        TInt iIdleWg;
-
-        // Boolean flag. ETrue if the application needs to return
-        // to the background
-        TBool iNeedToSendToBackground;
-
-        // Owned server session.
-        RApaLsSession iApaLsSession;
-
-        // Saved help context name retrieved indirectly from AppUI when
-        // the help application is launched
-        TPtrC iHelpCommand;
-
-        // Recovery id for contact manager construction.
-        TRecoveryId iContactControllerId;
-
-        // Boolean flag. ETrue if a blocking dialog is currently being
-        // displayed.
-        TBool iBlockingDialogIsDisplayed;
-
-        //Pointer to Akn UI server, not owned.
-        RAknUiServer* iAknUiServerClient;
-
-        //Uid of idle application
-        TInt iIdleUid;
-
-        // Voice mailbox handler
-        CPhoneVmbxHandler* iVmbxHandler;
-
-        // Reference to speed dialling monitor.
-        CPhCntSpeedDialMonitor* iSpeedDialController;
-
-
-        // Dialer - owned
-        CDialer* iDialer;
-
-        // Pointer to the CPhoneSingleItemFetch
-        CPhoneSingleItemFetch* iSingleItemFetch;
-
-        // Content of the SingleItemFetch
-        TBuf<KPhoneNumberEntryBufferSize> iFetchContent;
-
-        // Type of the SingleItemFetch
-        TInt iSingleItemFetchType;
-
-        // Pointer to CPhoneCntSaveAddToName.
-        CPhoneCntSaveAddToName* iContactSaveAddToName;
-
-        // Previous application Window group id.
-        TInt iPrevForegroundAppWg;
-
-        CAknAppUi* iAppui;
-
-        // Pointer to view customization.
-        MPhoneViewCustomization* iCustomization;
-
-        // Status if there is transition effect ongoing
-        TBool iEffectOngoing;
-
-        // Send back flag indicates send back need if it is
-        // EFalse phone was foregound and there is no need to send it
-        // background. Otherwise ETrue.
-        TBool iSendBack;
-
-        // Dialer status flag.
-        TBool iDialerActive;
-
-        CCoeControl* iPreviousIndicatorControl;
-
-        // Empty indicator pane - Owned.
-        CAknIndicatorContainer* iIndiContainer;
-
-        // Owned
-        CPhCntRfsHandler* iRfsHandler;
-
-        // Dialer send key flag.
-        TBool iDialerSendKeyActivation;
-
-        TInt iPrevious;
-
-        TBool iPriotityChanged;
-    };
-
-#endif // CPHONEVIEWCONTROLLER_H
--- a/phoneapp/phoneuiview/inc/cphonevmbxhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +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:  It provides voice/video mailbox related functionality.
-*
-*/
-
-
-#ifndef CPHONEVMBXGHANDLER_H
-#define CPHONEVMBXGHANDLER_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <vmnumber.h>
- 
-// CLASS DECLARATION
-class CPhApEVmbxMonitor; 
-/**
-*  Engine for voice/video mailbox
-*
-*/
-class CPhoneVmbxHandler :public CBase
-    {
-    public:  // Constructors and destructor
-     
-        static CPhoneVmbxHandler* NewL(); 
-             
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneVmbxHandler();
-
-    public: // New functions
- 
-        /**
-        * Checks value of CR key KTelVideoMbxKey. 
-        * @return True if key 2 is assigned for videomailbox.
-        */
-        TBool IsStraightCallToVideoMailBox() const;  
-        
-        /**
-        * Checks value of CR key KVideoMbxSupport. 
-        * @return ETrue if Videomailbox configured.
-        */        
-        TBool IsVideoMailBoxConfigured() const;
-  
-        /**
-        * Perform speed dialling, either by speed dialling or one key dialling
-        * @param aSpdLocation the speed dialling location
-        * @param aNumber The number stored in the location
-        * @return error code
-        */
-        TInt GetStraightSpeedDialNumber( TInt aSpdLocation, 
-            TDes& aNumber );
-    
-        /**
-        * Get type of mailbox
-        */
-        TInt GetMailboxType();
-        
-        /**
-        * Launches the mailbox.
-        *
-        * @param aMailboxType Voice, Video or Voip mailbox.               
-        * @param aNumber phonenumber.        
-        * @return error code.
-		* @since 3.2
-        */            
-        TInt LaunchMbx( TInt aMailboxType, TDes& aNumber ); 
-        
-        
-       /**
-        * Launches the mailbox type query.
-        *        
-        * @return select mail box type.
-        * @param serviceId Contains the selected serviceId is on return
-        * @since 3.2
-        */ 
-        TInt SelectMailboxTypeL( TUint& aServiceId );
-        
-        /**
-         * Cancels the mailbox query.
-         *        
-         * @since 5.0
-         */         
-        void CancelVmbx();
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CPhoneVmbxHandler();
-    
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-        
-    private: // new functions
-    
-        /**
-        * Voice mailbox.
-        *      
-        * @param aNumber phonenumber.           
-        * @return error code.
-		* @since 3.2
-        */           
-        TInt CSVmbxL( TDes& aNumber );
-
-        /**
-        * VoIP mailbox.
-        *
-        * @param aNumber phonenumber.        
-        * @return error code.
-		* @since 3.2
-        */                        
-        TInt IPVmbxL( TDes& aNumber ); 
-                    
-        /**
-        * Video mailbox.
-        *
-        * @param aNumber phonenumber.        
-        * @return error code.
-		* @since 3.2
-        */                        
-        TInt VideoVmbxL( TDes& aNumber );   
-                               
-        /**
-        * Returns current networkMode.
-        *
-        * @return Network mode.
-		* @since 3.2
-        */                                 
-        TInt NetworkMode();                       
-
-        /**
-        * Is CSVideoTelephony feature enabled.
-        *
-        * @return ETrue is feature enabled otherwise EFalse.
-		* @since 3.2
-        */ 
-        TBool IsCsVideoTelFeature();
-        
-        /**
-        * Check if location is videombx '2' and videombx is configured.
-        *
-        * @param speeddialing location
-        * @return ETrue is location is '2' and videoMbx configured
-		* otherwise EFalse.
-		* @since 3.2
-        */ 
-        TBool IsVideoMbxLocationAndConfigured( TInt aSpdLocation ) const;
-        
-         /**
-        * Construct vmbx connection
-        */
-        void CreateVmbxL();
-        
-    private:    // Data
-          
-        //Indicates if CSVideoTelephony feature is enabled.
-        TBool iCsVideoTelFeature;
-        
-        // Mailbox
-        RVmbxNumber* iVmbx;
-         
-        // Type of mailbox 
-        TInt iMailboxType;
-
-        // ServiceId
-        TUint iServiceId;
-    };
-
-#endif      // CPHONEVMBXGHANDLER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphoneaudioplayerobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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:  Observer interface for audio player.
-*
-*/
-
-
-#ifndef MPHONEAUDIOPLAYEROBSERVER_H
-#define MPHONEAUDIOPLAYEROBSERVER_H
-
-// INCLUDES
-#include "phoneconstants.h"
-
-// CLASS DECLARATION
-
-/**
-*  Observer interface for audio player.
-*
-* @since 1.0
-*/
-class MPhoneAudioPlayerObserver
-    {
-    public:  // Constructors and destructor
-        
-        // Enumerates different failures.
-        //
-        // EAudioPlayerInitializingFailure - failure in initialising
-        // EAudioPlayerPlayingFailure - failure during playing
-        enum TPhoneAudioPlayerErrorEvent
-            {
-            EAudioPlayerInitializingFailure,
-            EAudioPlayerPlayingFailure
-            };
-        
-        /**
-        * Observe the error.
-        * @param aEvent the error event happend in initializing or playing.
-        * @param aError The error code return by audio server. Observer can 
-        *               handle  these two error code for recoverable 
-        *               and unrecoverable errors.
-        * @param aId Indicate which audio player is outof working.
-        */
-        virtual void HandleAudioPlayerError( 
-            TPhoneAudioPlayerErrorEvent aEvent,
-            TInt aError, 
-            TInt aId = KPhoneAudioPlayerNotSpecified ) = 0;
-
-        /**
-        * This function is called when audio player initialization complete.
-        * @param aId The id of the audio player.
-        */
-        virtual void HandleAudioPlayerInitComplete(
-            TInt aId = KPhoneAudioPlayerNotSpecified ) = 0;
-
-        /**
-        * This funciton is called after the playing complete successfully.
-        * @param aId The id of the audio player.
-        */
-        virtual void HandlePlayingComplete( 
-            TInt aId = KPhoneAudioPlayerNotSpecified ) = 0;
-    };
-
-#endif      // MPHONEAUDIOPLAYEROBSERVER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphonebuttoncustomization.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:  Interface class for touch button customization.
-*
-*/
-
-#ifndef MPHONEBUTTONCUSTOMIZATION_H
-#define MPHONEBUTTONCUSTOMIZATION_H
-
-#include <bmtouchpaneinterface.h>
-
-// CLASS DECLARATION
-/**
-*  Interface class for touch button customization.
-*/
-class MPhoneButtonCustomization
-    {
-    
-public:
-    /**
-    * Customizes touch pane buttons.
-    * @param aTouchPane Interface to add and dimm
-    *                   bubble touch pane buttons.
-    */
-    virtual void CustomizeTouchPaneButtons(
-                    MBubbleTouchPaneInterface& aTouchPane ) = 0;
-    
-
-
-    };
-    
-#endif // MPHONEBUTTONCUSTOMIZATION_H
-    
--- a/phoneapp/phoneuiview/inc/mphonecoveruiobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:  Mediator command responses sent by Cover UI are informed
-*								 via this observer.
-*
-*/
-
-
-#ifndef MPHONECOVERUIOBSERVER_H
-#define MPHONECOVERUIOBSERVER_H
-
-// CLASS DECLARATION
-
-/**
-*  Cover UI observer interface.
-*
-*/
-class MPhoneCoverUiObserver  
-    {
-    public:
-        
-        /**
-        * This function is called when Mediator receives response to the sent
-        * ShowMultiMediaRingingTone command.
-        * @param aStatus - Standard Symbian error code indicating the
-        *                  success of the command.
-        */
-        virtual void ShowMultimediaRingingToneResponseL( TInt aStatus ) = 0;
-    };
-
-#endif // MPHONECOVERUIOBSERVER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphonedialercontroller.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of MPhoneDialerController class.
-*
-*/
-
-#ifndef MPHONEDIALERCONTROLLER_H_
-#define MPHONEDIALERCONTROLLER_H_
-
-// Forward declarations
-class CAknToolbar;
-
-/**
- *  Abstract custom dialer interface.
- *
- *
- *  @lib PhoneUiView.lib
- *  @since S60 v5.0
- */
-class MPhoneDialerController
-    {
-
-public:
-
-    /**
-    * Initializes the controller. 
-    * @param    aToolbar    CAknToolbar instance.
-    * @since    S60 v5.1
-    */
-    virtual void InitializeL( CAknToolbar& aToolbar ) = 0;
-    
-    /**
-    * Returns Cba resource id
-    * @return Resource Id of the softkeys
-    * @since S60 v5.1
-    */
-    virtual TInt CbaResourceId() const = 0;
-    
-    /**
-    * Returns Menu resource id
-    * @return Id of the menu resource
-    * @since S60 v5.1
-    */
-    virtual TInt MenuResourceId() const = 0;
-    
-    /**
-    * Returns number entry prompt text
-    * @return Reference to text to be shown on number entry
-    * @since S60 v5.1
-    */
-    virtual const TDesC& NumberEntryPromptTextL() = 0;
-    
-    /**
-    * Handles the number entry empty event
-    * @param aEmpty ETrue if numberentry is empty
-    * @since S60 v5.1
-    */
-    virtual void HandleNumberEntryIsEmpty( TBool aEmpty ) = 0;
-
-    /**
-    * Sets visibility of buttons created by the implementation
-    * @param aShow ETrue if numberentry is empty
-    * @since S60 v5.1
-    */
-    virtual void ShowButtons( TBool aShow ) = 0;
-    };
-
-#endif /*MDIALERCONTROLLER_H_*/
-
-
-
-
--- a/phoneapp/phoneuiview/inc/mphonedisplayprovider.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  Interface between ringing tone player and ui controls. 
-*
-*/
-
-
-
-#ifndef MPHONEDISPLAYPROVIDER_H
-#define MPHONEDISPLAYPROVIDER_H
-
-// CLASS DECLARATION
-
-/**
-*  Interface between ringing tone player and ui controls.
-*  Ringing tone player uses this interface to get display access for
-*  video ringing tone playback. 
-*
-*  @lib Phone.lib
-*  @since Series 60 3.0
-*/
-class MPhoneDisplayProvider
-    {
-    public:
-
-        enum TPhoneDisplayType
-            {
-            EIncomingCallQcifVideo,
-            EIncomingCallSubQcifVideo
-            };
-
-    public: // New functions
-
-        /**
-        * Activates a display. There can be one display active at time.
-        * This method may be called also to change display type.
-        * @since Series 60 3.0
-        * @param aDisplayType Type of the display requested.
-        * @param aClientWindow Window for client's use.
-        * @param aUncropPane Rectangle for cropping control, relative to screen.
-        * @return KErrNone If activation succeeded.                  
-        */
-        virtual TInt ActivateDisplay( 
-            TPhoneDisplayType aDisplayType,
-            RWindow& aClientWindow,
-            TRect& aUncropPane ) = 0;
-        
-        /**
-        * Deactivates the display active.
-        * @since Series 60 3.0
-        */
-        virtual void DeactivateDisplay() = 0;
-    };
-
-#endif      // MPHONEDISPLAYPROVIDER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphonenumberentry.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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:  Abstract number entry interface. 
-*
-*/
-
-#ifndef M_PHONENUMBERENTRY_H
-#define M_PHONENUMBERENTRY_H
-
-// Forward declarations
-class MNumberEntry;
-
-/**
- *  Abstract number entry interface.
- *
- *
- *  @lib PhoneUiView.lib
- *  @since S60 v5.0
- */
-class MPhoneNumberEntry
-    {
-
-public:
-
-    /**
-    * Enables or disables tactile feedback
-    *
-    * @since S60 S60 v5.0
-    */
-    virtual void  EnableTactileFeedback( const TBool aEnable ) = 0;
-    
-    /**
-    * Indicates state whether numberentry is used or not
-    *
-    * @since S60 S60 v5.0
-    */    
-    virtual TBool IsNumberEntryUsed() const = 0;
-    
-    /**
-    * Returns count of characters in numberentry
-    *
-    * @since S60 S60 v5.0
-    */    
-    virtual TInt CountNumberEntryCharacters() = 0;
-    
-    /**
-    * Sets dialer's numberentry pointer 
-    *
-    * @since S60 S60 v5.0
-    */      
-    virtual void SetNumberEntry( MNumberEntry* aNumberEntry ) = 0;
-    
-    /**
-    * Sets content for numberentry
-    *
-    * @since S60 S60 v5.0
-    */
-    virtual void SetNumberEntryContent( const TDesC& aContent ) = 0;
-    
-    /**
-    * Sets prompt text for numberentry
-    *
-    * @since S60 S60 v5.0
-    */    
-    virtual void SetNumberEntryPromptText( const TDesC& aPromptText ) = 0; 
-    };
-
-
-#endif // M_PHONENUMBERENTRY_H
--- a/phoneapp/phoneuiview/inc/mphonenumberentrychangedhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Number entry state changed handler interface.
-*
-*/
-
-#ifndef MPHONENUMBERENTRYCHANGEDHANDLER_H
-#define MPHONENUMBERENTRYCHANGEDHANDLER_H
-
-#include "tphonecommandparam.h"
-
-/**
-* Defines Number Entry Changed Handler 
-*  
-* The implemenation of this interface defines the functionality that needs
-* to be done after Phone Number Entry has notified that the entry state  
-* has changed.
-* 
-*  @lib phoneuiview.lib
-*  @since S60 5.0 
-*/
-class MPhoneNumberEntryChangedHandler  
-    {
-    public:
-       
-        /**
-        * The implementing class contains the functionality about what is done
-        * when number entry state has changed
-        */
-        virtual void HandleNumberEntryChanged() = 0;
-        
-        /**
-         * Sets call back to an observer that wants to be notified about 
-         * the change in the content of the Phone Number Entry. 
-         */
-        virtual void SetNumberEntryChangedCallBack( 
-                            TPhoneCommandParam* aCommandParam ) = 0;  
-    };
-
-#endif /*MPHONENUMBERENTRYCHANGEDHANDLER_H*/
-
--- a/phoneapp/phoneuiview/inc/mphonequeryobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  
-*   Defines an interface for observing queries
-*
-*/
-
-
-#ifndef MPHONEQUERYOBSERVER_H
-#define MPHONEQUERYOBSERVER_H
-
-//  INCLUDES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-/**
-*   Defines an interface for observing queries
-*/
-class MPhoneQueryObserver
-    {
-    public: // New functions
-
-        /**
-        * Set by the query when it is asynchronously deleted
-        * @param aQueryDeleted ETrue if query is deleted
-        */
-        virtual void SetQueryDeletedFlag( TBool aQueryDeleted ) = 0; 
-        
-        /**
-        * Reports query dialog's exit
-        * @param aCommand user selected action.
-        */  
-        virtual void ReportQueryCompleteAsync( TInt aCommand ) = 0;        
-    };
-
-#endif      // MPHONEQUERYOBSERVER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphoneringingtoneobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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:  Observer interface for ringing tone playing.
-*
-*/
-
-
-#ifndef MPHONERINGINGTONEOBSERVER_H
-#define MPHONERINGINGTONEOBSERVER_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CLASS DECLARATION
-
-/**
-*  Observer interface for ringing tone playing
-*
-* @since Series 60 3.1
-*/
-class MPhoneRingingToneObserver
-    {
-    public:  
-        /**
-        * Observer the ringing tone playing
-        * @param aPlayingAudio ETrue is ringing tone audio is playing.
-        * @param aPlayingVideo ETrue is ringing tone video is playing.
-        */
-        virtual void RingingTonePlaying( 
-            TBool aPlayingAudio,
-            TBool aPlayingVideo ) = 0;
-    };
-
-#endif      // MPHONERINGINGTONEOBSERVER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphonestatuspane.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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: 
-*       Manager for the statuspane, include navi pane and title pane
-*
-*/
-
-
-#ifndef MPHONESTATUSPANE_H
-#define MPHONESTATUSPANE_H
-
-// INCLUDES
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class MPhoneStatusPaneObserver;
-class CAknTitlePane;
-
-// CLASS DECLARATION
-
-/**
-*  Manager for the statuspane, include navi pane and title pane
-*  Usage:
-*  Every client in phone application that will change the title pane should
-*  use status pane manager, to avoid confliction. 
-*  - Always use iStatusPaneManager.TitlePane() to get the reference of status 
-*    pane.
-*  - in ConstructL() insert a new handler to status pane manager by 
-*    AddTitlePaneHandlerL( *this )
-*  - Reserve the title pane before you change the title pane by 
-*    ReserveTitlePane( *this )
-*  - Before changing the status pane, always check if I'm the topmost handler
-*    of the manager, by iStatusPaneManager->IsTitlePaneVisible()
-*  - release the title pane after the change
-*  
-*/
-class MPhoneStatusPane
-    {
-    public:
-
-        /**
-        * Destructor
-        */
-        virtual ~MPhoneStatusPane(){};
-
-        /**
-        * Returns ETrue if status pane is visible.
-        */
-        virtual TBool IsVisible() const = 0;
-
-        /**
-        * Get the reference of the title pane
-        * @return the reference of the title pane
-        */
-        virtual CAknTitlePane& TitlePane() const = 0;
-
-        /**
-        * Add title pane handler, returns reserve id
-        * @return reservatoin id
-        */
-        virtual void AddTitlePaneHandlerL(
-            MPhoneStatusPaneObserver& aObserver ) = 0;
-
-        /**
-        * Reserve the title pane
-        * @param the reserve id for release and get the visibility status
-        */
-        virtual void ReserveTitlePane(
-            MPhoneStatusPaneObserver& aObserver ) = 0;
-
-        /**
-        * Release title pane that has been reserved
-        * @param aReserveId the reserve id
-        */
-        virtual void ReleaseTitlePane( 
-            MPhoneStatusPaneObserver& aObserver ) = 0;
-
-        /**
-        * Remove the handler
-        */
-        virtual void RemoveTitlePaneHandler( 
-            MPhoneStatusPaneObserver& aObserver ) = 0;
-
-        /**
-        * Check if the title pane is visible
-        * @param aReserveId the reservation id
-        * @return ETrue if the title pane is visible
-        */
-        virtual TBool IsTitlePaneVisible( 
-            MPhoneStatusPaneObserver& aObserver ) const = 0;
-    };
-
-#endif      // MPhoneStatusPane_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphonestatuspaneobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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:  Phone Status Pane Observer
-*
-*/
-
-
-#ifndef MPHONESTATUSPANEOBSERVER_H
-#define MPHONESTATUSPANEOBSERVER_H
-
-// INCLUDES
-#include <e32base.h>
-
-// CLASS DECLARATION
-
-class MPhoneStatusPaneObserver
-    {
-    public:  
-        /**
-        * Destructor
-        */
-        virtual ~MPhoneStatusPaneObserver(){};
-
-        virtual void HandleTitlePaneActiveL( TBool aActive = ETrue ) = 0;
-
-    };
-
-#endif      // MPhoneStatusPaneObserver_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphonevideoplayer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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:  Abstract video playing interface. 
-*
-*/
-
-#ifndef M_PHONEVIDEOPLAYER_H
-#define M_PHONEVIDEOPLAYER_H
-
-// Forward declarations
-class MPhoneVideoPlayerObserver;
-
-/**
- *  Abstract video playing interface.
- *
- *
- *  @lib Phone.exe
- *  @since S60 v3.2
- */
-class MPhoneVideoPlayer
-    {
-public:
-    /**  Play modes */
-    enum TPlayMode
-        {
-        EPlayInLoop,
-        EPlayOnce,
-        EPlayAscending    
-        }; 
-
-public:
-    /**
-    * Plays given video ringing tone.
-    *
-    * @since S60 S60 v3.2
-    * @param aFileName File name.
-    * @param aPlayMode Playing mode.
-    * @param aVolumeLevel Playing volume, range: 0-10.
-    * @param aArbitraryScaling Set ETrue if arbitrary scaling supported.
-    * @param aObserver Observer for playback events.
-    */
-    virtual void PlayVideoRingTone( const TDesC& aFileName,
-                                    TPlayMode aPlayMode,
-                                    TInt aVolumeLevel,
-                                    TBool aArbitraryScaling,
-                                    MPhoneVideoPlayerObserver* aObserver ) = 0;
-    
-    /**
-    * Stops ringing.
-    *
-    * @since S60 S60 v3.2
-    */
-    virtual void StopVideoRingTone() = 0;
-    
-    /**
-    * Mutes ringing tone playing.
-    *
-    * @since S60 S60 v3.2
-    */    
-    virtual void MuteVideoRingTone() = 0;
-        
-    /**
-    * Cancels ringing tone playing.
-    *
-    * @since S60 S60 v3.2
-    */
-    virtual void CancelVideoRingTone() = 0;
-    };
-
-
-#endif // M_PHONEVIDEOPLAYER_H
--- a/phoneapp/phoneuiview/inc/mphonevideoplayerobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +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:  Video player observer interface.
-*
-*/
-
-
-#ifndef MPHONEVIDEOPLAYEROBSERVER_H
-#define MPHONEVIDEOPLAYEROBSERVER_H
-
-// CLASS DECLARATION
-
-/**
-*  Video player observer interface.
-*
-*  @lib Phone.app
-*  @since Series 60 3.1
-*/
-class MPhoneVideoPlayerObserver  
-    {
-    public:
-        
-        // Enumerates different failure events.
-        //
-        enum TPhoneVideoPlayerErrorEvent
-            {
-            EVideoPlayerInitializingFailure, // Failure during initialization
-            EVideoPlayerPlayingFailure // Failure during playback
-            };
-        
-        /**
-        * This function is called for video player errors.
-        * @param aEvent The error event happend in initializing or playing.
-        * @param aError The error code return by MMF video player. 
-        */
-        virtual void HandleVideoPlayerError( 
-            TPhoneVideoPlayerErrorEvent aEvent,
-            TInt aError ) = 0;
-
-        /**
-        * This function is called when video player initialization complete
-        */
-        virtual void HandleVideoPlayerInitComplete() = 0;
-
-        /**
-        * This function is called after the playing completes successfully
-        */
-        virtual void HandleVideoPlayerPlayingComplete() = 0;
-    };
-
-#endif      // MPHONEVIDEOPLAYEROBSERVER_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphoneviewblockingdialogobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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:  Interface class for view blocking dialogs.
-*
-*/
-
-
-#ifndef MPHONEVIEWBLOCKINGDIALOGOBSERVER_H
-#define MPHONEVIEWBLOCKINGDIALOGOBSERVER_H
-
-
-// CLASS DECLARATION
-/**
-*  Interface class for view blocking dialogs.
-*/
-class MPhoneViewBlockingDialogObserver
-    {
-public:
-    /**
-    * Sets the value is blocking dialogs in screen.
-    * @param aBlockingDialog ETrue if blocking dialog is
-    *                        displayed.
-    */
-    virtual void SetBlockingDialogIsDisplayed( TBool aBlockingDialog ) = 0;
-    
-
-    };
-    
-#endif // MPHONEVIEWBLOCKINGDIALOGOBSERVER_H
--- a/phoneapp/phoneuiview/inc/mphoneviewcommandhandle.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  View command handle
-*
-*/
-
-
-#ifndef MPHONEVIEWCOMMANDHANDLE_H
-#define MPHONEVIEWCOMMANDHANDLE_H
-
-//  INCLUDES
-#include <e32std.h>
-#include "phoneviewcommanddefinitions.h"
-
-// DATA TYPES
-
-// FORWARD DECLARATION
-class TPhoneCommandParam;
-
-// CLASS DECLARATION
-/**
-*  Interface class for executing UI commands
-*
-*/
-class MPhoneViewCommandHandle
-    {
-    public:  // Constructors and destructor
-        /**
-        * Destructor.
-        */
-        virtual ~MPhoneViewCommandHandle(){};
-
-    public: // New functions
-        
-        /**
-        * Execute Command with given Command Id
-        * @param aCmdId Command Id
-        * @return None
-        */
-        virtual void ExecuteCommandL( 
-            TPhoneViewCommandId aCmdId ) = 0;
-
-        /**
-        * Execute Command with given Command Id  and Call Id
-        * @param aCmdId Command Id
-        * @param aCallId Call Id
-        * @return None
-        */
-        virtual void ExecuteCommandL( 
-            TPhoneViewCommandId aCmdId, 
-            TInt aCallId ) = 0;
-
-         /**
-        * Execute Command with given command id, call id and command parameter.
-        * @param aCmdId Command Id
-        * @param aCommandParam Command parameter
-        * @return None
-        */
-        virtual void ExecuteCommandL( 
-            TPhoneViewCommandId aCmdId, 
-            TPhoneCommandParam* aCommandParam ) = 0;
-
-         /**
-        * 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
-        */
-        virtual void ExecuteCommandL( 
-            TPhoneViewCommandId aCmdId, 
-            TInt aCallId, 
-            TPhoneCommandParam* aCommandParam ) = 0;
-
-        /**
-        * Execute Command with given command id, call id and message.
-        * @param aCmdId Command Id
-        * @param aCallId Call Id
-        * @param aMessage Command message
-        */
-        virtual void ExecuteCommandL( 
-            TPhoneViewCommandId aCmdId, 
-            TInt aCallId, 
-            TDesC& aMessage ) = 0;
-
-        /**
-        * Handle Command with given Command Id
-        * @param aCmdId Command Id
-        * @return TPhoneViewResponseId
-        */
-        virtual TPhoneViewResponseId HandleCommandL( 
-            TPhoneViewCommandId aCmdId ) = 0;
-
-        /**
-        * Handle Command with given command id and command parameter.
-        * @param aCmdId Command Id
-        * @param aCommandParam Command parameter
-        * @return TPhoneViewResponseId
-        */
-        virtual TPhoneViewResponseId HandleCommandL( 
-            TPhoneViewCommandId aCmdId, 
-            TPhoneCommandParam* aCommandParam ) = 0;
-            
-        /**
-        * Execute Command with given Command Id
-        * @param aCmdId Command Id
-        * @return None
-        */
-        virtual void ExecuteCommand( 
-            TPhoneViewCommandId aCmdId ) = 0;
-            
-        /**
-        * Execute Command with given command id and command parameter.
-        * @param aCmdId Command Id
-        * @param aCommandParam Command parameter
-        * @return None
-        */
-        virtual void ExecuteCommand( 
-            TPhoneViewCommandId aCmdId, 
-            TPhoneCommandParam* aCommandParam ) = 0;                        
-       
-        /**
-        * Execute Command with given Command Id
-        */     
-        virtual const TDesC& FetchContent() = 0;          
-
-    };
-
-#endif // MPHONEVIEWCOMMANDHANDLE_H   
-            
-// End of File
--- a/phoneapp/phoneuiview/inc/mphoneviewcustomization.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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:  Interface class for view control customization.
-*
-*/
-
-
-#ifndef MPHONEVIEWCUSTOMIZATION_H
-#define MPHONEVIEWCUSTOMIZATION_H
-
-#include "phoneviewcommanddefinitions.h"
-#include "tphonecommandparam.h"
-#include "mphoneviewblockingdialogobserver.h"
-
-// CLASS DECLARATION
-/**
-*  Interface class for view control customization.
-*/
-class MPhoneViewCustomization
-    {
-public:
-    /**
-    * Handles custom view commands.
-    * @param aBlockingObserver Blocking dialog observer. Sets blocking dialog 
-    *                          value (by this param) for view controller when
-    *                          handle command needs to show blocking
-    *                          dialogs on the screen.
-    * @param aCmdId Command id.
-    * @param aCommandParam Command param.
-    * @return ETrue if command handled.
-    */
-    virtual TBool HandleCommandL(
-                    MPhoneViewBlockingDialogObserver& aBlockingObserver,
-                    TPhoneViewCommandId aCmdId,
-                    TPhoneCommandParam* aCommandParam ) = 0;
-    
-
-    /**
-    * Removes dialogs.
-    */
-    virtual void RemoveDialog() = 0;
-
-    };
-    
-#endif // MPHONEVIEWCUSTOMIZATION_H
-    
--- a/phoneapp/phoneuiview/inc/mphoneviewobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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:  MPhoneViewObserver 
-*
-*/
-
-
-
-#ifndef MPHONEVIEWOBSERVER_H
-#define MPHONEVIEWOBSERVER_H
-
-//  INCLUDES
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  MPhoneViewObserver class
-*
-*  @lib phoneuiview.lib
-*  @since Series60 5.0
-*/
-class MPhoneViewObserver
-    {
-    public:
-      
-    /**
-     * Informs when phone view is activated.
-     *
-     * @since S60 v5.0
-     */
-    virtual void PhoneViewActivatedL() = 0;         
-
-    };
-
-#endif      // MPHONEVIEWOBSERVER_H
-
-// End of File
--- a/phoneapp/phoneuiview/inc/phonebubbleextension.h	Tue Feb 02 00:10:04 2010 +0200
+++ /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 extension plugin wrapper
-*
-*/
-
-
-#ifndef C_CPHONEBUBBLEEXTENSION_H
-#define C_CPHONEBUBBLEEXTENSION_H
-
-#include <e32base.h>
-#include <telbubbleextensionobserver.h>
-#include <telbubbleextensioninterface.h>
-
-class CTelBubbleCustomElement;
-class MTelBubbleExtensionData;
-class CTelBubbleExtension;
-class CBubbleManager;
-
-/**
- *  Bubble extension plugin wrapper
- *  This class wraps a plugin, hiding the actual plugin from the
- *  phoneapp and phoneapp from the plugin.
- *
- *  @lib ?library
- *  @since S60 ?S60_version *** for example, S60 v3.0
- */
-class CPhoneBubbleExtension : public CBase,
-                              public MTelBubbleExtensionObserver,
-                              public MTelBubbleExtensionInterface
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aBubbleManager Reference to bubble manager
-     * @param aUid Plugin UID
-     * @param aPriority Priority of the plugin
-     */
-    static CPhoneBubbleExtension* NewL(
-            CBubbleManager& aBubbleManager,
-            TUid aUid,
-            TUint8 aPriority );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @param aBubbleManager Reference to bubble manager
-     * @param aUid Plugin UID
-     * @param aPriority Priority of the plugin
-     */
-    static CPhoneBubbleExtension* NewLC(
-            CBubbleManager& aBubbleManager,
-            TUid aUid,
-            TUint8 aPriority );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CPhoneBubbleExtension();
-
-// from base class MTelBubbleExtensionObserver
-
-    /**
-     * Call this before attach, detach and replace operations,
-     * when doing multipe changes outside BubbleUpdating() method. 
-     * UI is not redrawn until calling EndChanges() is called. 
-     */
-    void StartChanges();
-    
-    /**
-     * Call this when all changes have been done and UI can be
-     * redrawn.
-     */
-    void EndChanges();
-    
-    /**
-     * Attaches element to bubble. Causes redraw.
-     *
-     * @param aBubbleId Bubble id
-     * @param aElement Element to be attached, ownership is not transferred
-     */
-    void AttachElement( TInt aBubbleId, CTelBubbleCustomElement* aElement );
-
-    /**
-     * Replaces element in bubble. Causes redraw.
-     *
-     * @param aId Bubble id
-     * @param aOld Element to be detached, ownership is not transferred
-     * @param aNew Element to be attached, ownership is not transferred
-     */
-    void ReplaceElement(
-            TInt aBubbleId,
-            CTelBubbleCustomElement* aOld,
-            CTelBubbleCustomElement* aNew );
-
-    /**
-     * Detaches element in bubble. Causes redraw.
-     *
-     * @param aId Bubble id
-     * @param aElement Element to be detached, ownership is not transferred
-     */
-    void DetachElement( TInt aBubbleId, CTelBubbleCustomElement* aElement );
-
-
-// from base class MTelBubbleExtensionInterface
-
-    /**
-     * Notifies that a new customizable bubble is available
-     *
-     * @param aCallData Reference to call data.
-     */
-    void StartCustomizedBubble( MTelBubbleExtensionData& aCallData );
-
-    /**
-     * Notifies that a customizable bubble has been removed
-     *
-     * @param aCallData Reference to call data.
-     */
-    void StopCustomizedBubble( MTelBubbleExtensionData& aCallData );
-
-    /**
-     * Indicates that currently bubble drawing is started.
-     * Customizing is preferred to be done during this call.
-     */
-    void BubbleUpdating();
-
-private:
-
-    /**
-     * First-phase constructor.
-     *
-     * @param aBubbleManager Reference to bubble manager
-     * @param aUid Plugin UID
-     * @param aPriority Priority of the plugin
-     */
-    CPhoneBubbleExtension( CBubbleManager& aBubbleManager, TUid aUid, TUint8 aPriority );
-
-    void ConstructL();
-
-private: // data
-
-    /**
-     * Bubble manager reference
-     */
-    CBubbleManager& iBubbleManager;
-
-    /**
-     * Plugin UID
-     */
-    const TUid iUid;
-
-    /**
-     * Plugin priority
-     */
-    const TUint8 iPriority;
-
-    /**
-     * Loaded plugin.
-     * Own.
-     */
-    CTelBubbleExtension* iPlugin;
-
-    };
-
-#endif // C_CPHONEBUBBLEEXTENSION_H
--- a/phoneapp/phoneuiview/inc/phonebubbleextensiondata.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +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:  Contains call data.
-*
-*/
-
-
-#ifndef C_PHONEBUBBLEEXTENSIONDATA_H
-#define C_PHONEBUBBLEEXTENSIONDATA_H
-
-#include <telbubbleextensiondata.h>
-
-class TPhoneCmdParamCallHeaderData;
-
-/**
- * Call data.
- * All data that plugins need to know about a call is collected here.
- * Note that the data is changed to reflect changed call info before plugin
- * is notified about changes, so plugin needs to save the current information
- * if it needs it for comparison or otherwise.
- *
- *  @lib ?library
- *  @since S60 5.0
- */
-class CPhoneBubbleExtensionData : public CBase, public MTelBubbleExtensionData
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aBubbleId Bubble Id this data relates to.
-     * @param aParams Phoneapp parameters
-     * @param aFirst Is this the first call. Default yes.
-     */
-    static CPhoneBubbleExtensionData* NewL(
-            TInt aBubbleId,
-            TPhoneCmdParamCallHeaderData* aParams,
-            TBool aFirst = ETrue );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aBubbleId Bubble Id this data relates to.
-     * @param aParams Phoneapp parameters
-     * @param aFirst Is this the first call. Default yes.
-     */
-    static CPhoneBubbleExtensionData* NewLC( 
-            TInt aBubbleId,
-            TPhoneCmdParamCallHeaderData* aParams,
-            TBool aFirst = ETrue );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CPhoneBubbleExtensionData();
-
-    /**
-     * (Re)sets the call state
-     *
-     * @since S60 5.0
-     * @param aState New state (TPEState, not bubble state)
-     * @param aFirst Is this the first call. Default yes.
-     */
-    void SetState( TInt aState, TBool aFirst = ETrue );
-
-// from base class MTelBubbleExtensionData
-
-    /**
-     * Bubble ID this call is connected to.
-     * @return Bubble ID.
-     */
-    TInt BubbleId() const;
-
-    /**
-     * Call state information.
-     * @return Call state.
-     */
-    TCallState State() const;
-
-    /**
-     * Call type information
-     * @return Call type.
-     */
-    TCallType Type() const;
-
-    /**
-     * Call service id
-     * @return Call service
-     */
-    TUint32 ServiceId() const;
-
-    /**
-     * Contact Link related to this call.
-     * @return Reference to Contact Link
-     */
-    const TDesC8& ContactLink() const;
-
-    /**
-     * Remote phone number for this call.
-     * @return Remote phone number
-     */
-    const TDesC& RemotePhoneNumber() const;
-private:
-
-    /**
-     * First phase constructor.
-     * 
-     * @param aBubbleId Bubble Id this data relates to.
-     * @param aParams Phoneapp parameters
-     * @param aFirst Is this the first call
-     */
-    CPhoneBubbleExtensionData( 
-            TInt aBubbleId,
-            TPhoneCmdParamCallHeaderData* aParams, 
-            TBool aFirst );
-
-    /**
-     * Second phase constructor.
-     * 
-     * @param aParams Phoneapp parameters
-     * @param aFirst Is this the first call
-     */
-    void ConstructL( TPhoneCmdParamCallHeaderData* aParams );
-
-private: // data
-
-    /**
-     * Bubble ID
-     */
-    TInt iBubbleId;
-
-    /**
-     * Call state
-     */
-    TCallState iState;
-
-    /**
-     * Call type
-     */
-    TCallType iType;
-
-    /**
-     * Service id
-     */
-    TUint32 iService;
-
-    /**
-     * Contact Link
-     * Owned.
-     */
-    HBufC8* iContactLink;
-
-    /**
-     * Remote phone number
-     * Owned.
-     */
-    HBufC* iRemotePhoneNumber;
-    };
-
-
-#endif // C_PHONEBUBBLEEXTENSIONDATA_H
--- a/phoneapp/phoneuiview/inc/phonebubbleextensionmanager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +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:  Manages the call bubble extension plugins.
-*
-*/
-
-
-#ifndef C_CPHONEBUBBLEEXTENSIONMANAGER_H
-#define C_CPHONEBUBBLEEXTENSIONMANAGER_H
-
-class TPhoneCmdParamCallHeaderData;
-class CPhoneBubbleExtensionData;
-class CPhoneBubbleExtension;
-class CBubbleManager;
-class TPriorityItem;
-
-/**
- * Bubble extension plugin manager.
- * Keeps track of the extension plugins.
- *
- *  @lib ?library
- *  @since S60 5.0
- */
-class CPhoneBubbleExtensionManager : public CBase
-    {
-public:
-
-    /**
-     * Two-phased constructor
-     *
-     * @param aBubbleManager Reference to bubble manager
-     */
-    static CPhoneBubbleExtensionManager* NewL( CBubbleManager& aBubbleManager );
-
-    /**
-     * Two-phased constructor
-     *
-     * @param aBubbleManager Reference to bubble manager
-     */
-    static CPhoneBubbleExtensionManager* NewLC( CBubbleManager& aBubbleManager );
-
-    virtual ~CPhoneBubbleExtensionManager();
-
-    /**
-     * Notifies the plugin framework about a new call.
-     *
-     * @param aBubbleId Bubble id of the new call
-     * @param aParams Call parameters
-     */
-    void StartCallL( TInt aBubbleId, TPhoneCmdParamCallHeaderData* aParams );
-
-    /**
-     * Notifies the plugin framework about cleared call.
-     *
-     * @param aId Bubble id of the call
-     */
-    void StopCall( TInt aBubbleId);
-    
-    /**
-     * Notifies the plugin framework about changed call state.
-     *
-     * @param aId Bubble id of the call
-     * @param aNewState New call state. (TPEState, not bubble state)
-     */
-    void UpdateCallState( TInt aBubbleId, TInt aNewState );
-
-    /**
-     * Loads all plugins
-     */
-    void InitializeL();
-    
-private:
-
-    /**
-     * First phase constructor
-     *
-     * @param aBubbleManager Reference to bubble manager
-     */
-    CPhoneBubbleExtensionManager( CBubbleManager& aBubbleManager );
-
-    void ConstructL();
-
-    /**
-     * Loads plugin priorities.
-     * TODO: Currently there is no plugin priorities, all plugins
-     *       use the default priority. Nothing is loaded.
-     */
-    void LoadPrioritiesL();
-    
-    /**
-     * Unloads all plugins, closes all calls
-     */
-    void Reset();
-    
-private: // data
-
-    /**
-     * Bubble manager reference
-     */
-    CBubbleManager& iBubbleManager;
-    
-    /**
-     * Array that holds all the loaded plugins
-     */
-    RPointerArray<CPhoneBubbleExtension> iPlugins;
-
-    /**
-     * Array that holds all the call data
-     */
-    RPointerArray<CPhoneBubbleExtensionData> iCalls;
-
-    /**
-     * Are the plugins already loaded?
-     */
-    TBool iInitialized;
-
-    /**
-     * Plugin priorities
-     */
-    RArray<TPriorityItem> iPriorityArray;
-    
-    };
-
-#endif // C_CPHONEBUBBLEEXTENSIONMANAGER_H
--- a/phoneapp/phoneuiview/inc/phoneviewcommanddefinitions.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*   Common phone view command definitions.
-*
-*/
-
-
-#ifndef PHONEVIEWCOMMANDDEFINITIONS_H
-#define PHONEVIEWCOMMANDDEFINITIONS_H
-
-// INCLUDES
-
-#include "phoneconstants.h"
-
-// DATA TYPES
-
-typedef TInt TPhoneViewCommandId;
-
-enum
-{
-    EPhoneViewCreateNumberEntry = KPhoneViewCommandCommonFirst,
-    EPhoneViewSetNumberEntryContent,
-    EPhoneViewSendKeyEventToNumberEntry,
-    EPhoneViewRemoveNumberEntry,
-    EPhoneViewSetNumberEntryVisible,
-    EPhoneViewGetNumberFromEntry,
-    EPhoneViewGetNumberEntryCount,
-    EPhoneViewGetNumberEntryIsUsedStatus,
-    EPhoneViewGetNumberEntryIsVisibleStatus,
-    EPhoneViewToggleNumberEntryAlphaNumericMode, // 10
-    EPhoneViewIsNumberEntryNumericMode,
-    EPhoneViewClearNumberEntryContent,
-    EPhoneViewCreateCallHeader,
-    EPhoneViewCreateEmergencyCallHeader,
-    EPhoneViewUpdateCallHeaderRemoteInfoData,
-    EPhoneViewUpdateCallHeaderCallDuration,
-    EPhoneViewRemoveCallHeader,
-    EPhoneViewMenuBarOpen,
-    EPhoneViewMenuBarClose,
-    EPhoneViewDimCbaCommand, // 20
-    EPhoneViewUpdateCba,
-    EPhoneViewUpdateBubble,
-    EPhoneViewMenuPane,
-    EPhoneViewMenuBar,
-    EPhoneViewSetTitlePaneContent,
-    EPhoneViewSetNaviPaneContent,
-    EPhoneViewSetTitlePanePicture,
-    EPhoneViewGetTitlePaneIsVisibleStatus,
-    EPhoneViewActivateAudioPathUIChanges,
-    EPhoneViewActivateAudioAvailabilityUIChanges, //30
-    EPhoneViewActivateMuteUIChanges,
-    EPhoneViewShowNote,
-    EPhoneViewShowGlobalNote,
-    EPhoneViewShowProgressNote,
-    EPhoneViewRemoveNote,
-    EPhoneViewRemoveProgressNote,
-    EPhoneViewRemoveGlobalNote,
-    EPhoneViewGetIsNoteVisible, 
-    EPhoneViewGetIsProgressNoteVisible,
-    EPhoneViewShowQuery, // 40
-    EPhoneViewSetListQueryString,
-    EPhoneViewRemoveQuery,
-    EPhoneViewGetTextQueryContent,
-    EPhoneViewSetTopApplication,
-    EPhoneViewBringAppToForeground,
-    EPhoneViewSendToBackground,
-    EPhoneViewSetNeedToSendToBackgroundStatus,
-    EPhoneViewGetNeedToSendToBackgroundStatus, 
-    EPhoneViewGetTopApplicationIsDisplayedStatus,
-    EPhoneViewGetForegroundApplication, // 50
-    EPhoneViewSetBackgroundImageBitmap,
-    EPhoneViewGetBackgroundImageBitmap,
-    EPhoneViewActivateApp,
-    EPhoneViewActivateAppView,
-    EPhoneViewActivateAppViewWithCustomMessage,
-    EPhoneViewActivateAppViewConventional,
-    EPhoneViewLaunchApplication,
-    EPhoneViewLaunchHelpApplication, 
-    EPhoneViewOpenMessageEditor,
-    EPhoneViewExitApplications,  // 60
-    EPhoneViewUpdateIncallIndicator,
-    EPhoneViewStartCapturingKey,
-    EPhoneViewStopCapturingKey,
-    EPhoneViewSetGlobalNotifiersDisabled,
-    EPhoneViewSetSpeedDialLocation, 
-    EPhoneViewGetNumberFromSpeedDialLocation,
-    EPhoneViewAssignSpeedDialLocation,
-    EPhoneViewGetHoldFlag,
-    EPhoneViewSetHoldFlag,
-    EPhoneViewSetSoftRejectFlag, // 70
-    EPhoneViewGetSoftRejectFlag,
-    EPhoneViewSetServiceCodeFlag,
-    EPhoneViewUpdateContact,
-    EPhoneViewAddContact,
-    EPhoneViewOpenSingleItemFetchDialog,
-    EPhoneViewRemovePhoneDialogs,
-    EPhoneViewCreateConference,
-    EPhoneViewAddToConference,
-    EPhoneViewRemoveFromConference,
-    EPhoneViewPrivateFromConference, // 80
-    EPhoneViewSelectedConfMember,
-    EPhoneViewGetConferenceListVisibleFlag, 
-    EPhoneViewOpenConferenceList,
-    EPhoneViewGetCallState,
-    EPhoneViewGetCallIdByState,
-    EPhoneViewMoveHighLightInList,
-    EPhoneViewGetCountOfActiveCalls,
-    EPhoneViewSetNaviPaneAudioVolume,
-    EPhoneViewShowNaviPaneAudioVolume,
-    EPhoneViewHideNaviPaneAudioVolume, // 90 
-    EPhoneViewGetIsConference,
-    EPhoneViewGetCallExistsInConference,
-    EPhoneViewRemoveAllCallHeaders,
-    EPhoneViewPlayRingTone,
-    EPhoneViewMuteRingTone,
-    EPhoneViewStopRingTone,
-    EPhoneViewMuteRingToneOnAnswer,
-    EPhoneViewCipheringInfoChange,
-    EPhoneViewUpdateMaxConfMemberFlag,
-    EPhoneViewCloseFSW, // 100
-    EPhoneViewLaunchRfsDeep,
-    EPhoneViewLaunchRfsNormal,
-    EPhoneViewUpdateView,
-    EPhoneViewOpenSoftRejectEditor,
-    EPhoneViewSendMessage,
-    EPhoneViewSetBlockingDialogStatus,
-    EPhoneViewSetPhoneNumberAvailableInPhoneEngine,
-    EPhoneViewSetSecurityMode,
-    EPhoneViewGetSecurityModeStatus,
-    EPhoneViewSetStatusPaneVisible, // 110
-    EPhoneViewEnableKeyLock,
-    EPhoneViewEnableKeyLockWithoutNote,
-    EPhoneViewLaunchFaxModem,
-    EPhoneViewUpdateFSW,
-    EPhoneViewIsQuery,
-    EPhoneViewBringIdleToForeground, 
-    EPhoneViewSetIdleTopApplication,  
-    EPhoneViewBeginUpdate,
-    EPhoneViewEndUpdate,
-    EPhoneViewSetConfrenceOptionsFlag, // 120 
-    EPhoneViewRemoveConferenceBubble, 
-    EPhoneViewGetSoftRejectWindowGroupId,
-    EPhoneViewSetTouchPaneButtons,
-    EPhoneViewSetTouchPaneVisible,
-    EPhoneViewEnableTouchButton,
-    EPhoneViewDisableTouchButton, 
-    EPhoneResetTouchButtons, 
-    EPhoneViewGetIsConferenceInSelectionMode,
-    EPhoneViewIsStraightCallToVideoMailBox,
-    EPhoneViewSetDtmfDialerViewVisible, // 130
-    EPhoneViewSetRetrictedDialer, 
-    EPhoneViewIsConferenceInExpandedMode,
-    EPhoneViewIsMenuBarVisible,
-    EPhoneViewGetBlockingDialogStatus,
-    EPhoneViewYesSingleItemFetch,
-    EPhoneViewNoSingleItemFetch, 
-    EPhoneViewGetLocalizedNumberFromEntry,
-    EPhoneViewIsNoteActive,
-    EPhoneViewOpenNumberEntry,
-    EPhoneViewOpenCallHandling, // 140
-    EPhoneViewGetConferenceAndSingleFlag,
-    EPhoneViewSetConferenceAndSingleFlag,
-    EPhoneViewSetVideoCallFlag,
-    EPhoneViewSetDtmfOptionsFlag,
-    EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery,
-    EPhoneViewGetAudioVolumeLevel, 
-    EPhoneViewIsIdleTopApp,
-    EPhoneViewUpdateToolbar,
-    EPhoneViewSetControlAndVisibility,
-    EPhoneViewAllowWaitingCallHeader, // 150
-    EPhoneViewBeginTransEffect,
-    EPhoneViewEndTransEffect,
-    EPhoneViewSetDialerControlVisible,
-    EPhoneViewCloseSingleItemFetchDialog,
-    EPhoneViewGetActivatePreviousApp,
-    EPhoneViewActivatePreviousApp, 
-    EPhoneViewSetPointerCapture,
-    EPhoneViewSetSendKeyDialerActivationFlag,
-    EPhoneViewPrepareIcons,
-    EPhoneViewKeypadAudioEnabled, // 160
-    EPhoneViewKeypadAudioDisabled,
-    EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel,
-    EPhoneViewRemoveDtmfNote,
-    EPhoneViewUpdatePhoneIconToFSW,
-    EPhoneViewSetEikonNotifiersDisabled, 
-    EPhoneViewCancelAllNotications, 
-    EPhoneViewSetVideoCallDTMFVisibilityFlag,
-    EPhoneViewIsKeyLockEnabled,
-    EPhoneViewDisableKeyLock,
-    EPhoneViewLoadPlugins, // 170
-    EPhoneViewOpenVirtualKeyBoard,
-    EPhoneViewUpdateNoteSoftkeys,
-
-    EPhoneViewSendAiwCommand,
-    EPhoneViewShowCustomizedDialer,
-    EPhoneViewHideCustomizedDialer,
-    EPhoneViewGetCustomizedDialerMenuResourceId,
-    EPhoneViewGetCustomizedDialerCbaResourceId,
-    EPhoneViewCipheringInfoChangePlayTone,
-	EPhoneViewCreatePhoneBookServices,
-	EPhoneViewDisableKeyLockWithoutNote, // 180
-	EPhoneViewGetKeyLockStatus,
-    EPhoneViewSetNumberEntryObserver,
-    EPhoneViewGetSingleItemFetchType,
-    EPhoneViewRemoveGlobalWaitNote,
-    EPhoneViewSetPhoneCustomization,
-    EPhoneViewSetViewCustomization,
-    EPhoneViewSetButtonCustomization,
-    EPhoneViewUpdateContactByString,
-    EPhoneViewAddContactByString,
-    EPhoneViewIsActiveNoteDissmissableByKeyEvent, // 190
-    EPhoneViewUpdateContextMenu,
-    EPhoneViewSetNoConnectedCalls,
-    EPhoneViewIsDTMFEditorVisible,
-    EPhoneViewSetToolbarDimming,
-	EPhoneViewEnableToolbarButton,
-	EPhoneViewHideToolbar,
-	EPhoneViewShowToolbar,
-    EPhoneAmountOfCommands, // Don't remove this, this should always be the last in list.
-};
-
-
-typedef TInt TPhoneViewResponseId;
-
-enum
-{
-    EPhoneViewResponseFailed = KPhoneViewResponseCommonFirst,
-    EPhoneViewResponseSuccess,
-    EPhoneViewResponseNumberEntryCleared
-
-};
-
-#endif // PHONEVIEWCOMMANDDEFINITIONS_H
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphoneapplicationexit.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,864 +0,0 @@
-/*
-* Copyright (c) 2004-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 the CPhoneApplicationExit class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "cphoneapplicationexit.h"
-#include    "cphonecenrepproxy.h"
-#include    "cphoneviewcontroller.h"
-#include    "telephonyvariant.hrh"
-#include    "telprivatecrkeys.h"
-#include    "phonelogger.h"
-
-#include    <w32std.h>
-#include    <e32hal.h>
-#include    <apgwgnam.h>
-#include    <apgtask.h>
-#include    <apgcli.h>
-#include    <avkon.hrh>
-#include    <telephonyvariant.hrh>
-#include    <gfxtranseffect/gfxtranseffect.h>     
-#include    <akntranseffect.h>      
-
-// CONSTANTS
-
-// MODULE DATA STRUCTURES
-
-/**
-* Abstract base class to handle rules when certain application should be
-* closed.
-* @since 2.6
-*/
-class CPhoneApplicationExit::CElement : public CBase
-    {
-    public: // New functions
-
-        /**
-        * Checks if this application should be accepted to be closed.
-        * @param aUid uid of the application.
-        * @return ETrue if should be closed, otherwise EFalse.
-        */
-        virtual TBool AcceptL( const TUid& aUid ) const = 0;
-    };
-
-/**
-* Element to handle any application and low memory cases.
-* @since 2.6
-*/
-class CPhoneApplicationExit::CElementBasic : 
-    public CPhoneApplicationExit::CElement
-    {
-    public: // Constructors
-
-        /**
-        * Enumerates types.
-        */
-        enum TTypeOfElement
-            {
-            // Any application.
-            EExitAnyApp,
-            // Only when low memory.
-            EExitWhenLowMemory
-            };
-
-        /**
-        * Constructor.
-        * @param aType type of element.
-        */
-        CElementBasic( TTypeOfElement aType );
-
-    public: // New functions
-
-        /**
-        * Checks if system is low in memory.
-        * @return ETrue if system is low in memory.
-        */
-        static TBool IsLowMemory();
-
-    public: // Functions from base classes
-
-        /**
-        * @see CPhoneApplicationExit::CElement::AcceptL.
-        */ 
-        virtual TBool AcceptL( const TUid& aUid ) const;
-
-    private:
-
-        // Type of element.
-        TTypeOfElement iType;
-
-    };
-
-/**
-* Element to handle applications UID of which are included in UID range.
-* @since 2.6
-*/
-class CPhoneApplicationExit::CElementUid :
-    public CPhoneApplicationExit::CElement
-    {
-    public: // Constructors
-
-        /**
-        * Constructor.
-        * @param aStart start of range.
-        * @param aEnd end of range.
-        */
-        CElementUid( const TUid& aStart, const TUid& aEnd );
-
-    public: // Functions from base classes
-
-        /**
-        * @see CPhoneApplicationExit::CElement::AcceptL.
-        */ 
-        virtual TBool AcceptL( const TUid& aUid ) const;
-
-    private:
-
-        // Start of the range.
-        TUid iStart;
-
-        // End of the range.
-        TUid iEnd;
-
-    };
-
-/**
-* Element to handle applications on specific drive.
-* @since 2.6
-*/
-class CPhoneApplicationExit::CElementDrive :
-    public CPhoneApplicationExit::CElement
-    {
-    public: // Constructors
-
-        /**
-        * Constructor.
-        * @param aDrive drive.
-        */
-        CElementDrive( const TChar& aDrive );
-
-    public: // Functions from base classes
-
-        /**
-        * @see CPhoneApplicationExit::CElement::AcceptL.
-        */ 
-        virtual TBool AcceptL( const TUid& aUid ) const;
-
-    private:
-
-        /**
-        * Checks if application has been installed on specified drive.
-        * @param aUid application UID.
-        * @return ETrue if application has been installed on specified drive.
-        */
-        TBool CheckApplicationDriveL( 
-            const TUid& aUid ) const;
-
-    private:
-
-        // Drive.
-        TChar iDrive; 
-        
-    };
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CPhoneApplicationExit
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneApplicationExit::CPhoneApplicationExit(
-    CPhoneViewController* aViewController,
-    RWsSession& aWsSession,
-    const TInt aUikonWgId ) :
-    iViewController( aViewController ),
-    iWsSession( aWsSession ),
-    iUikonWgId( aUikonWgId )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneApplicationExit* CPhoneApplicationExit::NewL(
-    CPhoneViewController* aViewController,
-    RWsSession& aWsSession,
-    const TInt aUikonWgId )
-    {
-    CPhoneApplicationExit* self = 
-        new ( ELeave ) CPhoneApplicationExit(
-            aViewController,
-            aWsSession,
-            aUikonWgId );
-    
-    return self;
-    }
-
-// Destructor
-CPhoneApplicationExit::~CPhoneApplicationExit()
-    {
-    iCloseList.ResetAndDestroy();
-    iCloseList.Close();
-
-    iDontCloseList.ResetAndDestroy();
-    iDontCloseList.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::ExitApplication
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneApplicationExit::ExitApplication()
-    {
-    TRAPD( err, ExitApplicationL() );
-#ifdef __PHENG_DEBUG_INFO__
-    if ( err != KErrNone )
-        {
-        __PHONELOG1( EBasic, EPhoneUIView, "CPhoneApplicationExit::ExitApplication err=%d", err );
-        }
-#endif
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::ExitApplicationL
-// -----------------------------------------------------------------------------
-//
-void CPhoneApplicationExit::ExitApplicationL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneApplicationExit::ExitApplicationL()" );
-    TInt foregroundWindowGroupId = iWsSession.GetFocusWindowGroup();
-    if ( foregroundWindowGroupId == iUikonWgId )
-        {
-        foregroundWindowGroupId = 
-            iViewController->ForegroundApplicationWindowGroupId();
-        }
-    if ( foregroundWindowGroupId == 
-        iViewController->ApplicationWindowGroupId() )
-        {
-        // No need to send event to itself.
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneApplicationExit::ExitApplicationL Phone is foreground application so don't close it" );
-        if ( IsApplicationClosingEnabled() )
-            {
-            ReadListsL();
-            }
-        return;
-        }
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneApplicationExit::ExitApplicationL foregroundWindowGroupId=%d", foregroundWindowGroupId );
-    
-    CApaWindowGroupName* wgName = 
-        CApaWindowGroupName::NewLC(
-            iWsSession, 
-            foregroundWindowGroupId );
-
-    if ( IsApplicationClosingEnabled() )
-        {
-        __PHONELOG1( EBasic, EPhoneUIView, "CPhoneApplicationExit::ExitApplicationL Application closing is enabled wgName->AppUid().iUid=%d", wgName->AppUid().iUid );
-
-        if ( CheckApplicationClosingL( wgName->AppUid() ) )
-            {
-            // Transition effects end key handling
-            // This call makes it possible to show application exit effect
-            // whenever exiting application with the end key
-            GfxTransEffect::BeginFullScreen( 
-                         AknTransEffect::EApplicationExit, 
-                         TRect(), 
-                         AknTransEffect::EParameterType, 
-                         AknTransEffect::GfxTransParam( wgName->AppUid(), 
-                         AknTransEffect::TParameter::EActivateExplicitCancel | 
-                         AknTransEffect::TParameter::EEndCheck ) );
- 
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneApplicationExit::ExitApplicationL Send exit event" );
-            TWsEvent event;
-            event.SetType( KAknUidValueEndKeyCloseEvent );
-            event.SetTimeNow();
-
-            iWsSession.SendEventToWindowGroup( 
-                foregroundWindowGroupId, 
-                event );
-            }
-        }
-    else
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneApplicationExit::ExitApplicationL Application closing is NOT enabled" );
-
-        // If the application is not system and system has low memory, then
-        // stop the application.
-        if ( !wgName->IsSystem() && CElementBasic::IsLowMemory() )
-            {
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneApplicationExit::ExitApplicationL Close non-system app because of low memory" );
-            // Close application
-            TApaTask task( iWsSession );
-            task.SetWgId( foregroundWindowGroupId );
-            task.EndTask();
-            }
-        }
-
-    CleanupStack::PopAndDestroy( wgName );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CheckApplicationClosingL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::CheckApplicationClosingL( 
-    const TUid& aUid )
-    {
-    ReadListsL();
-
-    return 
-        IsIncludedToCloseListL( aUid ) && !IsIncludedToDontCloseListL( aUid );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::IsIncludedToCloseListL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::IsIncludedToCloseListL( 
-    const TUid& aUid ) const
-    {
-    __PHONELOG( EBasic, EPhoneUIView, "CPhoneApplicationExit::IsIncludedToCloseList()" );
-
-    TBool result = 
-        CheckListL( 
-            iCloseList, 
-            aUid );
-
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneApplicationExit::IsIncludedToCloseList() result=%d", result );
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::IsIncludedToDontCloseListL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::IsIncludedToDontCloseListL( 
-    const TUid& aUid ) const
-    {
-    __PHONELOG( EBasic, EPhoneUIView, "CPhoneApplicationExit::IsIncludedToDontCloseList()" );
-
-    TBool result = 
-        CheckListL( 
-            iDontCloseList, 
-            aUid );
-
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneApplicationExit::IsIncludedToDontCloseList() result=%d", result );
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CheckListL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::CheckListL( 
-    const RPointerArray< CElement >& aTarget, 
-    const TUid& aUid ) const
-    {
-    TBool result = EFalse;
-
-    const TInt count = aTarget.Count();
-    
-    for ( TInt i = 0; i < count && !result; i++ )
-        {
-        result = aTarget[ i ]->AcceptL( aUid );
-        }
-    
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::ReadListsL
-// -----------------------------------------------------------------------------
-//
-void CPhoneApplicationExit::ReadListsL()
-    {
-    if ( !iListsRead )
-        {
-        iCloseList.ResetAndDestroy();
-        iDontCloseList.ResetAndDestroy();
-
-        // Acquire buffer for reading operations.
-        HBufC* tempBuffer = HBufC::NewLC( KPhoneTemporaryBufferMaxLength );
-        tempBuffer->Des().Zero();
-        TPtr ptr( tempBuffer->Des() );
-
-        TInt err = KErrNone;
-        // Read "close" list.
-        err = CPhoneCenRepProxy::Instance()->GetString(
-            KCRUidTelPrivateVariation,
-            KTelAppsCloseList,
-            ptr );
-        if ( err == KErrNone )
-            {
-            BuildListL( iCloseList, ptr, ETrue );
-            }
-        if ( err == KErrNotFound )
-            {
-            // Not defined.
-            err = KErrNone;
-            }
-        User::LeaveIfError( err );
-
-        // Read "don't close" list.
-        err = CPhoneCenRepProxy::Instance()->GetString(
-            KCRUidTelPrivateVariation,
-            KTelAppsKeepList,
-            ptr );
-        if ( err == KErrNone )
-            {
-            BuildListL( iDontCloseList, ptr, EFalse );
-            }
-        if ( err == KErrNotFound )
-            {
-            // Not defined.
-            err = KErrNone;
-            }
-        User::LeaveIfError( err );
-
-        // By default, applications are closed on OOM.
-        if ( !iCloseList.Count() && !iDontCloseList.Count() )
-            {
-            CElement* element = 
-                new ( ELeave ) CElementBasic( 
-                    CElementBasic::EExitWhenLowMemory );
-            CleanupStack::PushL( element );
-            User::LeaveIfError( iCloseList.Append( element ) );
-            CleanupStack::Pop( element );
-            }
-
-        CleanupStack::PopAndDestroy( tempBuffer );
-        iListsRead = ETrue;
-
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::BuildListL
-// -----------------------------------------------------------------------------
-//
-void CPhoneApplicationExit::BuildListL(
-    RPointerArray< CElement >& aTarget,
-    const TDesC& aSource,
-    TBool aOomAllowed )
-    {
-    aTarget.ResetAndDestroy();
-
-    TLex lexer( aSource );
-    lexer.SkipSpace();
-
-    TUid start;
-    TUid end;
-    TChar drive;
-
-    TInt length = lexer.Remainder().Length();
-    while ( length )
-        {
-        lexer.SkipSpace();
-
-        CElement* element = NULL;
-
-        if ( ParseString( lexer, KPhoneApplicationAnyApp ) )
-            {
-            element = 
-                new ( ELeave ) CElementBasic( 
-                    CElementBasic::EExitAnyApp );
-            }
-        else if ( ParseString( lexer, KPhoneApplicationOom ) )
-            {
-            if ( aOomAllowed )
-                {
-                element = 
-                    new ( ELeave ) CElementBasic( 
-                        CElementBasic::EExitWhenLowMemory );
-                }
-            }
-        else if ( ParseDrive( lexer, drive ) )
-            {
-            element = new ( ELeave ) CElementDrive( drive );
-            }
-        else if ( ParseUid( lexer, start, end ) )
-            {
-            
-            element = new ( ELeave ) CElementUid( start, end );
-            }
-        else
-            {
-            // No proceeding, stop.
-            length = 0;
-            }
-
-        if ( element )
-            {
-            CleanupStack::PushL( element );
-            User::LeaveIfError( aTarget.Append( element ) );
-            CleanupStack::Pop( element );
-            }
-
-        if ( length )
-            {
-            const TInt oldLength = length;
-            length = lexer.Remainder().Length();
-
-            if ( length == oldLength )
-                {
-                // No proceeding, stop.
-                length = 0;
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::ParseString
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::ParseString( 
-    TLex& aLexer,
-    const TDesC& aString )
-    {
-    TBool result = EFalse;
-    TLexMark startMark;
-    aLexer.Mark( startMark );
-    const TInt length = aString.Length();
-    
-    TInt i;
-    for ( i = 0; 
-          i < length && ( aString[ i ] == TUint( aLexer.Peek() ) ); 
-          i++ )
-        {
-        aLexer.Inc();
-        }
-
-    result = ( ( i == length ) && CheckEnd( aLexer ) );
-
-    if ( !result )
-        {
-        aLexer.UnGetToMark( startMark );
-        }
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::ParseUid
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::ParseUid( 
-    TLex& aLexer, 
-    TUid& aUidStart,
-    TUid& aUidEnd )
-    {
-    TBool result = EFalse;
-    TLexMark startMark;
-
-    // Read first UID.
-    aLexer.Mark( startMark );
-    while ( aLexer.Peek().IsHexDigit() )
-        {
-        aLexer.Inc();
-        }
-    TPtrC token = aLexer.MarkedToken( startMark );
-    if ( token.Length() )
-        {
-        TUint uid = 0;
-        result = ( TLex( token ).Val( uid, EHex ) == KErrNone );
-        if ( result )
-            {
-            aUidStart.iUid = uid;
-            aUidEnd.iUid = uid;
-            }
-        }
-
-    if ( result )
-        {
-        TLexMark afterUid;
-        aLexer.Mark( afterUid );
-        aLexer.SkipSpace();
-
-        // Check range separator.
-        if ( aLexer.Peek() == KPhoneApplicationRangeSeparator )
-            {
-            // Now there must be another UID as well.
-            result = EFalse; 
-            aLexer.Inc(); // skip separator character
-            aLexer.SkipSpace();
-
-            // Read second UID.
-            TLexMark mark;
-            aLexer.Mark( mark );
-            while ( aLexer.Peek().IsHexDigit() )
-                {
-                aLexer.Inc();
-                }
-
-            TPtrC token = aLexer.MarkedToken( mark );
-            if ( token.Length() )
-                {
-                TUint uid = 0;
-                result = ( TLex( token ).Val( uid, EHex ) == KErrNone );
-                if ( result )
-                    {
-                    result = CheckEnd( aLexer );
-                    aUidEnd.iUid = uid;
-                    }
-                }
-            }
-        else
-            {
-            // Only one UID, next must be space.
-            aLexer.UnGetToMark( afterUid );
-            result = CheckEnd( aLexer );
-            }
-        }
-
-    if ( !result )
-        {
-        aLexer.UnGetToMark( startMark );
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::ParseDrive
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::ParseDrive(
-    TLex& aLexer, 
-    TChar& aChar )
-    {
-    TBool result = EFalse;
-    TChar ch = aLexer.Peek();
-    
-    if ( ch.IsAlpha() )
-        {
-        aLexer.Inc();
-        if ( aLexer.Peek() == KPhoneApplicationDriveIdentifier )
-            {
-            aLexer.Inc();
-            aChar = ch;
-            result = CheckEnd( aLexer );
-            if ( !result )
-                {
-                aLexer.UnGet(); // drive identifier
-                aLexer.UnGet(); // drive letter
-                }
-            }
-        else
-            {
-            aLexer.UnGet(); // drive letter
-            }
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CheckEnd
-// -----------------------------------------------------------------------------
-//
-inline TBool CPhoneApplicationExit::CheckEnd( TLex& aLexer )
-    {
-    return ( aLexer.Eos() || aLexer.Peek().IsSpace() );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::IsApplicationClosingEnabled
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::IsApplicationClosingEnabled() const
-    {
-    return CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported( 
-        KTelephonyLVFlagCloseApplications );
-    }
-
-// Implementation of CPhoneApplicationExit::CElementBasic.
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CElementBasic::CElementBasic
-// -----------------------------------------------------------------------------
-//
-CPhoneApplicationExit::CElementBasic::CElementBasic( TTypeOfElement aType ) :
-    iType( aType )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CElementBasic::IsLowMemory
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::CElementBasic::IsLowMemory()
-    {
-    // Fetch amount of free memory.
-    TMemoryInfoV1Buf memory;
-    UserHal::MemoryInfo( memory );
-    TInt freeRam = (TInt)( memory().iFreeRamInBytes );
-    TInt oomRamLowThreshold = 0;
-    /* MIGRATION NOTE - need new method to TelUtils for static get of one
-    value.
-    CRepository* cenRep = NULL;
-    TRAPD( error, cenRep = CRepository::NewL( KCRUidUiklaf ) );
-    if ( error == KErrNoMemory )        
-        {
-        return ETrue;
-        }
-    else if ( error != KErrNone )
-        {
-        // Error; don't know OOM status.
-        return EFalse;
-        }
-    cenRep->Get( KUikOOMRamLowThreshold, oomRamLowThreshold );
-    delete cenRep;*/
-    return ( freeRam < oomRamLowThreshold );    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CElementBasic::AcceptL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::CElementBasic::AcceptL( 
-    const TUid& /*aUid*/ ) const
-    {
-    TBool result = EFalse;
-    switch ( iType )
-        {
-        case EExitAnyApp:
-            result = ETrue;
-            break;
-
-        case EExitWhenLowMemory:
-            result = IsLowMemory();
-            break;
-
-        default:
-            break;
-        }
-    return result;
-    }
-
-// Implementation of CPhoneApplicationExit::CElementUid.
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CElementUid::CElementUid
-// -----------------------------------------------------------------------------
-//
-CPhoneApplicationExit::CElementUid::CElementUid( 
-    const TUid& aStart, 
-    const TUid& aEnd ) :
-    iStart( aStart ), 
-    iEnd( aEnd )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CElementUid::AcceptL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::CElementUid::AcceptL( const TUid& aUid ) const
-    {
-    return ( iStart.iUid <= aUid.iUid && aUid.iUid <= iEnd.iUid );
-    }
-
-// Implementation of CPhoneApplicationExit::CElementDrive.
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CElementDrive::CElementDrive
-// -----------------------------------------------------------------------------
-//
-CPhoneApplicationExit::CElementDrive::CElementDrive( const TChar& aDrive ) :
-    iDrive( aDrive )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CElementDrive::AcceptL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::CElementDrive::AcceptL( const TUid& aUid ) const
-    {
-    return CheckApplicationDriveL( aUid );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneApplicationExit::CElementDrive::CheckApplicationDriveL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneApplicationExit::CElementDrive::CheckApplicationDriveL( 
-    const TUid& aUid ) const
-    {
-    RApaLsSession session;
-    User::LeaveIfError( session.Connect() );
-    CleanupClosePushL( session );
-
-    TApaAppInfo* appInfo = new ( ELeave ) TApaAppInfo;
-    CleanupStack::PushL( appInfo );
-
-    TBool result = EFalse;
-    TInt count = KPhoneApplicationRetryCount;
-    while ( count )
-        {
-        TInt err = session.GetAppInfo( *appInfo, aUid );
-        
-        if ( err == KErrNone )
-            {
-            count = 0;
-            result = ETrue;
-            }
-        else if ( err == KErrNotFound )
-            {
-            count = 0;
-            result = EFalse;
-            }
-        else
-            {
-            User::LeaveIfError( err );
-
-            // GetAppInfo may return positive value indicating that
-            // application information is not ready.
-            count--;
-            User::After( KPhoneApplicationRetryInterval );
-            }
-        }
-
-    if ( result )
-        {
-        result = EFalse;
-        if ( appInfo->iFullName.Length() )
-            {
-            // First character is drive
-            TChar drive( appInfo->iFullName[ 0 ] );
-            drive.UpperCase();
-
-            TChar targetDrive( iDrive );
-            targetDrive.UpperCase();
-
-            result = ( drive == targetDrive );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( appInfo );
-    CleanupStack::PopAndDestroy(); // CleanupClosePushL
-    return result;
-    }
-
-//  End of File
--- a/phoneapp/phoneuiview/src/cphoneaudiocontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,512 +0,0 @@
-/*
-* 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: Implementation of CPhoneAudioController class.
-*
-*/
-
-
-// INCLUDE FILES
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <StringLoader.h>
-#include <avkon.rsg>
-#include <phoneui.rsg>
-#include <telephonyvariant.hrh>
-#include <eikenv.h>
-#include <eikappui.h>
-#include <AknUtils.h>
-#include "cphoneaudiocontroller.h"
-#include "cphonerecoverysystem.h"
-#include "cphonecenrepproxy.h"
-#include "cphonestatuspane.h"
-#include "cphonetimer.h"
-#include "tphonecommandparam.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparaminteger.h"
-#include "phoneconstants.h"
-#include "phonelogger.h"
-#include "phoneui.hrh"
-
-// CONSTANTS
-// Defines how long time volume control is shown when volume is changed 
-// while device is muted. Duration in microseconds.
-const TInt KPhoneDelayVolumeControlToDefaultAfterReleased = 1000000;
-
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneAudioController::CPhoneAudioController() :
-    iIhfVolume( KPhoneDefaultVolume ),
-    iEarVolume( KPhoneDefaultVolume )
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneAudioController::ConstructL()
-// Construction method for CPhoneAudioController.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CPhoneAudioController::ConstructL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::ConstructL()");
-
-    // Start observing foreground events
-    CCoeEnv::Static()->AddForegroundObserverL( *this );
-
-    // Create the status pane singleton
-    iStatusPane = CPhoneStatusPane::Instance();
-
-    // Create volume controls
-    iEarVolumeControl = 
-        iStatusPane->NaviPane().CreateVolumeIndicatorL( 
-        R_AVKON_NAVI_PANE_EARPIECE_VOLUME_INDICATOR );
-    
-    iIhfVolumeControl = 
-        iStatusPane->NaviPane().CreateVolumeIndicatorL( 
-        R_AVKON_NAVI_PANE_VOLUME_INDICATOR );
-        
-    // To get touch input, pen check in HandleControlEventL()
-    iEarVolumeControl->DecoratedControl()->SetObserver( this );
-    iIhfVolumeControl->DecoratedControl()->SetObserver( this );            
-  
-    // Create "muted" navi decorator
-    HBufC* mutedText = StringLoader::LoadLC( R_PHONE_INCALL_MUTED_PANE );
-    iMutedControl = iStatusPane->NaviPane().CreateMessageLabelL( *mutedText );
-    CleanupStack::PopAndDestroy( mutedText );
-        
-    iNaviPaneUpdateTimer = CPhoneTimer::NewL();
-
-    iActivateRecoveryId = CPhoneRecoverySystem::Instance()->AddL( 
-        TCallBack( DoRecoverActivateL, this ),
-        CTeleRecoverySystem::EPhonePriorityStandard,
-        CTeleRecoverySystem::EPhoneStateIdle );   
-    }
-
-// ---------------------------------------------------------
-// CPhoneAudioController::NewL()
-// Two-phased constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-CPhoneAudioController* CPhoneAudioController::NewL()
-    {   
-    CPhoneAudioController* self = 
-        new( ELeave ) CPhoneAudioController();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-// 
-CPhoneAudioController::~CPhoneAudioController()
-    {
-    CCoeEnv::Static()->RemoveForegroundObserver( *this );
-    CPhoneRecoverySystem::Remove( iActivateRecoveryId );
-     
-    delete iNaviPaneUpdateTimer;   
-    delete iMutedControl;
-    delete iIhfVolumeControl;
-    delete iEarVolumeControl;
-    }
-
-// ---------------------------------------------------------
-// CPhoneAudioController::ActivateVolumeControlL
-// ---------------------------------------------------------
-//
-void CPhoneAudioController::ActivateVolumeControlL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::ActivateVolumeControlL()");
-    iVolumeControlCount++;
-    if ( iVolumeControlCount == 1 ) // First time activation
-        {
-        // Decide whether decorator should be Ear or ihf decorator
-        CAknNavigationDecorator& selectedDecorator = SelectDecoratorL(); 
-        PushL( selectedDecorator ); 
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneAudioController::DoRecoverUpdateL
-//
-// Callback function.
-// ---------------------------------------------------------
-//
-TInt CPhoneAudioController::DoRecoverActivateL( TAny* aAny )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::DoRecoverActivateL()");
-    static_cast< CPhoneAudioController* >( aAny )->ActivateL();
-    return KErrNone;
-    }
-    
-// ---------------------------------------------------------
-// CPhoneAudioController::ActivateL
-//
-// Updates volume control according to current audio data.
-// ---------------------------------------------------------
-//
-void CPhoneAudioController::ActivateL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::ActivateL()");
-    
-    if( iVolumeControlCount )
-        {
-        // Decide whether decorator should be Ear, Ihf or Muted decorator
-        CAknNavigationDecorator& selectedDecorator = SelectDecoratorL(); 
-        PushL( selectedDecorator );     
-        
-        if( &selectedDecorator != iMutedControl )
-            {            
-            TInt volumeLevel = VolumeLevel(); 
-            
-            SetVolumeLevel( VolumeControl(), volumeLevel );                 
-            }      
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneAudioController::DeactivateVolumeControl
-// ---------------------------------------------------------
-//
-void CPhoneAudioController::DeactivateVolumeControl()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,"CPhoneAudioController::DeactivateVolumeControl()" );
-    if ( iOldControl )
-        {
-        iStatusPane->NaviPane().Pop( iOldControl );
-        iOldControl = NULL;
-        iVolumeControlCount = 0;
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneAudioController::HandleVolumeChangeL
-//
-// Updates incall indicator according to current call state.
-// ---------------------------------------------------------
-//
-void CPhoneAudioController::HandleVolumeChangeL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::HandleVolumeChangeL()");
-    if( !iPhoneInForeground )
-        {
-        // Telephony is in the background so it's not our responsibility
-        // to display the volume control.
-        __PHONELOG( EBasic, EPhoneUIView,"CPhoneAudioController::HandleVolumeChangeL - phone in the background" ); 
-        return;
-        }
-    
-    TPhoneCmdParamInteger* volumeParam =
-        static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-    if ( iIhfMode )
-        {
-        iIhfVolume = volumeParam->Integer();
-        }
-    else
-        {
-        iEarVolume = volumeParam->Integer();
-        }
-    
-    if( iMuted )
-        {
-        // Enable timed control transition in muted state    
-        iTimedMuteTransferPending = ETrue; 
-        }
-    else
-        {        
-        iTimedMuteTransferPending = EFalse; 
-        }
-     
-    // Activate the approriate volume control
-    CPhoneRecoverySystem::Instance()->RecoverNow( 
-        iActivateRecoveryId, 
-        CTeleRecoverySystem::EPhonePriorityStandard );
-
-    if( iTimedMuteTransferPending )    
-        {
-        iTimedMuteTransferPending = EFalse;     
-        
-        // Cancel any pending request
-        iNaviPaneUpdateTimer->CancelTimer();
-
-        // Activate change to Muted decorator after given delay        
-        iNaviPaneUpdateTimer->After(                    
-            KPhoneDelayVolumeControlToDefaultAfterReleased,
-            TCallBack( DoUpdateNaviPaneToDefault, this ) );           
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneAudioController::HandleIhfChange
-//
-// Updates incall indicator according to current call state.
-// ---------------------------------------------------------
-//
-void CPhoneAudioController::HandleIhfChange(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::HandleIhfChange()");
-    TPhoneCmdParamBoolean* booleanParam =
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-    
-    iIhfMode = booleanParam->Boolean();    
-    
-    // Set state transition flag 
-    iIhfTransferPending = ETrue; 
-    }
-    
-// ---------------------------------------------------------
-// CPhoneAudioController::HandleMuteChange
-//
-// Updates incall indicator according to current call state.
-// ---------------------------------------------------------
-//
-void CPhoneAudioController::HandleMuteChange(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::HandleMuteChange()");
-    TPhoneCmdParamBoolean* booleanParam =
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    iMuted = booleanParam->Boolean();
-    
-    // Decide whether decorator should be ear, ihf or muted decorator
-    TRAP_IGNORE( PushL( SelectDecoratorL() ) );
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::PushL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioController::PushL( CAknNavigationDecorator& aNew )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::PushL()");
-    TInt err = KErrNone;
-    if ( !iOldControl )
-        {
-        __PHONELOG( EBasic, EPhoneUIView,"CPhoneAudioController::iStatusPane->NaviPane().PushL( aNew );" ); 
-        iStatusPane->NaviPane().PushL( aNew );
-        }
-    else if ( &aNew != iOldControl )
-        {
-        err = iStatusPane->NaviPane().ReplaceL( *iOldControl, aNew );
-        }
-    // otherwise iOldControl == &aNew.
-
-    if ( err == KErrNone )
-        {
-        iOldControl = &aNew;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::DoUpdateNaviPaneToDefault
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneAudioController::DoUpdateNaviPaneToDefault( TAny* aAny )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioController::DoUpdateNaviPaneToDefault()");
-    CPhoneAudioController* self = static_cast< CPhoneAudioController* >( aAny );
-    CPhoneRecoverySystem::Instance()->RecoverNow( 
-        self->iActivateRecoveryId, 
-        CTeleRecoverySystem::EPhonePriorityStandard );
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::HandleControlEventL
-// -----------------------------------------------------------------------------
-//    
-void CPhoneAudioController::HandleControlEventL( 
-    CCoeControl* aControl, 
-    TCoeEvent aEventType )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,"CPhoneAudioController::HandleControlEventL()" );
-    if ( aEventType == MCoeControlObserver::EEventStateChanged &&
-         AknLayoutUtils::PenEnabled() )
-        {
-        if ( aControl == iEarVolumeControl->DecoratedControl() )
-            {
-            TInt volume =  static_cast< CAknVolumeControl* > 
-                               ( iEarVolumeControl->DecoratedControl() )
-                               ->Value();
-            
-            if ( volume != iEarVolume )
-                {
-                // Volume level was changed via ui control
-                iEarVolume = volume;
-                CEikonEnv::Static()->EikAppUi()->HandleCommandL(
-                    EPhoneInCallCmdSetVolumeLevel );                        
-                }
-            }
-        else if ( aControl == iIhfVolumeControl->DecoratedControl() )
-            {
-            TInt volume =  static_cast< CAknVolumeControl* > 
-                               ( iIhfVolumeControl->DecoratedControl() )
-                               ->Value();
-            
-            if ( volume != iIhfVolume )
-                {
-                // Volume level was changed via ui control
-                iIhfVolume = volume;
-                CEikonEnv::Static()->EikAppUi()->HandleCommandL(
-                    EPhoneInCallCmdSetVolumeLevel );                        
-                }        
-            }            
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::VolumeLevelFromControl
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneAudioController::VolumeLevelFromControl()
-    {       
-    __LOGMETHODSTARTEND( EPhoneUIView,"CPhoneAudioController::VolumeLevelFromControl()" );         
-    TInt volume = VolumeControl().Value();     
-    
-    return volume; 
-    }
-        
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::VolumeDecorator
-// -----------------------------------------------------------------------------
-//    
-CAknNavigationDecorator& CPhoneAudioController::VolumeDecorator()    
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,"CPhoneAudioController::VolumeDecorator()" );                 
-    CAknNavigationDecorator* volumeDecorator = NULL;      
-    if ( iIhfMode )
-        {            
-        volumeDecorator = iIhfVolumeControl;
-        }
-    else
-        {
-        volumeDecorator = iEarVolumeControl;        
-        }
-        
-    return *volumeDecorator; 
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::VolumeControl
-// -----------------------------------------------------------------------------
-//    
-CAknVolumeControl& CPhoneAudioController::VolumeControl()      
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,"CPhoneAudioController::VolumeControl()" );                     
-    CAknVolumeControl* volumeControl = NULL;     
-    volumeControl = static_cast< CAknVolumeControl* >( 
-        VolumeDecorator().DecoratedControl() ); 
-
-    return *volumeControl; 
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::VolumeLevel
-// -----------------------------------------------------------------------------
-//    
-TInt CPhoneAudioController::VolumeLevel()    
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,"CPhoneAudioController::VolumeLevel()" );                             
-    TInt volumeLevel;     
-    if ( iIhfMode )
-        {            
-        volumeLevel = iIhfVolume; 
-        }
-    else
-        {
-        volumeLevel = iEarVolume;         
-        }        
-        
-    return volumeLevel;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::SelectDecoratorL
-// -----------------------------------------------------------------------------
-//    
-CAknNavigationDecorator& CPhoneAudioController::SelectDecoratorL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,"CPhoneAudioController::SelectDecoratorL()" );                                     
-    CAknNavigationDecorator* newDecorator = NULL;    
-    if ( !iMuted )
-        {
-        __PHONELOG( EBasic, EPhoneUIView,"CPhoneAudioController::SelectDecoratorL() - volume decorator " );     
-        newDecorator = &VolumeDecorator();
-        }
-    else 
-        {
-        if ( iIhfTransferPending || !iTimedMuteTransferPending )
-            {
-            __PHONELOG( EBasic, EPhoneUIView,"CPhoneAudioController::SelectDecoratorL() - muted decorator " );         
-            newDecorator = iMutedControl;    
-            }            
-        else 
-            {
-            __PHONELOG( EBasic, EPhoneUIView,"CPhoneAudioController::SelectDecoratorL() - volume decorator " );         
-            newDecorator = &VolumeDecorator();
-            
-            // In muted state the volume decorator must be first 
-            // pushed to container to enable volume popup showing 
-            PushL( *newDecorator );             
-            }
-        }
-
-    // Clear IHF transfer flag. 
-    iIhfTransferPending = EFalse;
-           
-    return *newDecorator;         
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::SetVolumeLevel
-// -----------------------------------------------------------------------------
-//    
-void CPhoneAudioController::SetVolumeLevel(
-    CAknVolumeControl& aVolumeControl, 
-    TInt aVolumeLevel)
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,"CPhoneAudioController::SetVolumeLevel()" );   
-    aVolumeControl.SetValue( aVolumeLevel ); 
-
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::HandleGainingForeground
-// -----------------------------------------------------------------------------
-//    
-void CPhoneAudioController::HandleGainingForeground()
-    {
-    iPhoneInForeground = ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioController::HandleLosingForeground
-// -----------------------------------------------------------------------------
-//    
-void CPhoneAudioController::HandleLosingForeground()
-    {
-    iPhoneInForeground = EFalse;
-    }
-
-// End of file
--- a/phoneapp/phoneuiview/src/cphoneaudioplayer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1064 +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:  Audio player implementation.
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <eikenv.h>
-#include <apgcli.h>
-#include <apmrec.h>
-#include <AudioPreference.h>
-#include <utf.h>    // For converting data for TTS
-#include <c3dringingtoneinterface.h>
-#include <AudioOutput.h>
-
-#include "cphoneaudioplayer.h"
-#include "cphoneringingtone.h"
-#include "mphoneaudioplayerobserver.h"
-#include "phoneconstants.h"
-#include "phonelogger.h"
-#include "phoneui.pan"
-
-
-// CONSTANTS
-
-
-_LIT( KFileListRngMimeType, "application/vnd.nokia.ringing-tone" );
-//Min volume level
-const TInt KMinVolumeLevel = 1;
-//Max volume level
-const TInt KMaxVolumeLevel = 10;
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::CPhoneAudioPlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::CPhoneAudioPlayer( TAudioDataFormat aDataFormat,
-    MPhoneAudioPlayerObserver& aObserver, 
-    TInt aPriority, 
-    TUint aPreference,
-    TInt aId )
-    : iFormat( aDataFormat ),
-    iObserver( aObserver ),
-    iPriority( aPriority ),
-    iPreference( aPreference ),
-    iId( aId )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::ConstructL(
-    const TDesC& aFileName,
-    CMdaServer* aMdaServer )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::ConstructL()" );
-    if ( iFormat == EFormatTone )
-        {
-        iTonePlayer = CMdaAudioToneUtility::NewL( *this, aMdaServer );
-        iTonePlayer->PrepareToPlayFileSequence( aFileName );
-        iPlayerStatus = EToneLoading;
-        }
-    else
-        {
-        //audio sample player
-        __PHONELOG3( 
-            EBasic, 
-            EPhoneUIView, 
-            "CPhoneAudioPlayer::ConstructL - aFileName(%S), iPriority(%d), iPreference(%d)",
-            &aFileName, 
-            iPriority, 
-            iPreference );
-
-        iSamplePlayer = CMdaAudioPlayerUtility::NewFilePlayerL( 
-            aFileName,
-            *this, 
-            iPriority,
-            static_cast< TMdaPriorityPreference >( iPreference ),
-            aMdaServer );            
-        iPlayerStatus = EToneLoading;
-        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ConstructSeqL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::ConstructSeqL( 
-    const TDesC8& aSequence,
-        CMdaServer* aMdaServer )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::ConstructSeqL()" );
-    iTonePlayer = CMdaAudioToneUtility::NewL( *this, aMdaServer );
-    iSequence = aSequence.AllocL();
-    iTonePlayer->PrepareToPlayDesSequence( *iSequence );
-    iPlayerStatus = EToneLoading;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ConstructTtsL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::ConstructTtsL( 
-    const TDesC& aTtsText, 
-    TInt aPriority,
-    TUint aPreference )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::ConstructTtsL()" );
-    delete iTtsPlayer; // if any
-    iTtsPlayer = NULL;
-    iTtsPlayer = 
-        CMdaAudioPlayerUtility::NewL( 
-            *this, aPriority, 
-            static_cast< TMdaPriorityPreference >( aPreference ) );
-    
-    delete iTtsText;  // if any
-    iTtsText = NULL;
-    // UTF-8 strings can take up to 4 bytes per character
-    iTtsText = HBufC8::NewL( aTtsText.Length() << KTimesToMultiply ); 
-    
-    TPtr8 refText = iTtsText->Des(); 
-    User::LeaveIfError( 
-        CnvUtfConverter::ConvertFromUnicodeToUtf8( refText, aTtsText ) );
-
-    // UTF-8 chars can be up to 4 bytes long, but usually 
-    // take 1-2 bytes, 3 for asian chars.
-    HBufC8* oldText = iTtsText;
-    iTtsText = iTtsText->ReAlloc( iTtsText->Length() );
-    if ( !iTtsText )
-        {
-        // ReAlloc failed, set back to original.
-        iTtsText = oldText;
-        }
-    
-    iTtsPlayer->OpenDesL( *iTtsText );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::New
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::New( 
-    const CPhoneRingingTone& aRingingTone, 
-    TInt aPriority, 
-    TUint aPreference,
-    MPhoneAudioPlayerObserver& aObserver, 
-    TInt aId,
-    CMdaServer* aMdaServer,
-    TBool aExtSecNeeded )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::New()" );
-    CPhoneAudioPlayer* self = NULL;
-    TRAPD( err, self = CPhoneAudioPlayer::NewL( 
-        aRingingTone,
-        aPriority,
-        aPreference,
-        aObserver,
-        aId,
-        aMdaServer,
-        aExtSecNeeded ) );
-    if ( err != KErrNone )
-        {
-        return NULL;
-        }
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::NewL
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::NewL( 
-    const CPhoneRingingTone& aRingingTone, 
-    TInt aPriority,
-    TUint aPreference,
-    MPhoneAudioPlayerObserver& aObserver,
-    TInt aId,
-    CMdaServer* aMdaServer,
-    TBool aExtSecNeeded )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::NewL()" );
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneAudioPlayer::NewL - aExtSecNeeded(%d)",
-        aExtSecNeeded );
-    
-    // Check the file DRM property if extend secure is needed.
-    if ( aExtSecNeeded )
-        {
-        if ( !aRingingTone.IsFileInRom() &&
-             !aRingingTone.IsFileDrmProtected() )
-            {
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneAudioPlayer::NewL - DRM extend security check permission denied" );
-            User::Leave( KErrPermissionDenied );
-            }
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneAudioPlayer::NewL - DRM extend security check ok" );
-        }
-	// RNG file types have to be played with CMdaAudioToneUtility player.
-	// Otherwise use sample player
-    TAudioDataFormat format = 
-    ( aRingingTone.MimeType().CompareF( KFileListRngMimeType ) == KErrNone ) 
-    ? EFormatTone :EFormatSample;
-
-    CPhoneAudioPlayer* self = 
-        new (ELeave) CPhoneAudioPlayer( 
-            format,
-            aObserver, 
-            aPriority,
-            aPreference,
-            aId );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aRingingTone.FileName(), aMdaServer );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::NewL
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::NewL( 
-    const TDesC& aFileName, 
-    TInt aPriority,
-    TUint aPreference,
-    MPhoneAudioPlayerObserver& aObserver,
-    TInt aId,
-    CMdaServer* aMdaServer,
-    TBool aExtSecNeeded )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::NewL()" );
-    CPhoneRingingTone* tone = CPhoneRingingTone::NewL( aFileName );
-    CleanupStack::PushL( tone );
-
-    CPhoneAudioPlayer* player = CPhoneAudioPlayer::NewL( *tone,
-                                                         aPriority,
-                                                         aPreference,
-                                                         aObserver,
-                                                         aId,
-                                                         aMdaServer,
-                                                         aExtSecNeeded );
-
-    CleanupStack::PopAndDestroy( tone );
-    
-    return player;        
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::NewSeqL
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::NewSeqL(
-    const TDesC8& aSequence,
-    TInt aPriority,
-    TUint aPreference,
-    MPhoneAudioPlayerObserver& aObserver, 
-    TInt aId,
-    CMdaServer* aMdaServer )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::NewSeqL()" );
-    CPhoneAudioPlayer* self = 
-        new (ELeave) CPhoneAudioPlayer( 
-            EFormatTone, 
-            aObserver, 
-            aPriority,
-            aPreference,
-            aId );
-    
-    CleanupStack::PushL( self );
-    self->ConstructSeqL( aSequence, aMdaServer  );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::NewTtsL
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::NewTtsL(
-    const TDesC& aText,
-    TInt aPriority,
-    TUint aPreference,
-    MPhoneAudioPlayerObserver& aObserver, 
-    TInt aId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::NewTtsL()" );
-    CPhoneAudioPlayer* self = 
-        new (ELeave) CPhoneAudioPlayer( 
-            EFormatTts, 
-            aObserver, 
-            aPriority,
-            aPreference,
-            aId );
-    
-    CleanupStack::PushL( self );
-    self->ConstructTtsL( aText, aPriority, aPreference );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::~CPhoneAudioPlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::~CPhoneAudioPlayer()
-    {
-    
-    if ( iAudioOutput )
-        {
-    	delete iAudioOutput;    
-        }  
-    if ( iTonePlayer )  
-        {
-        delete iTonePlayer;  
-        } 
-    if ( i3DPlugin )
-       {
-        i3DPlugin->Stop();
-        delete i3DPlugin;
-        }
-    // ECom cleanup
-    REComSession::FinalClose();
-    if ( iSamplePlayer )    
-        {
-        delete iSamplePlayer; 
-        }
-    if ( iTtsPlayer )
-        {
-        delete iTtsPlayer;   
-        }
-    if ( iSequence )
-        {
-        delete iSequence; 
-        }
-    if ( iTtsText )  
-        {
-        delete iTtsText;
-        }   
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::Play
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::Play( TRingingType aRingType, TInt aVolume, TInt aTTsToBePlayed )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::Play()" );
-    __PHONELOG2( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneAudioPlayer::Play - iFormat(%d), iPlayerStatus(%d)",
-        iFormat, 
-        iPlayerStatus );
-    __PHONELOG3( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneAudioPlayer::Play - aRingType(%d), aVolume(%d), aTTsToBePlayed(%d)",
-        aRingType, 
-        aVolume,
-        aTTsToBePlayed );
-    iRingType = aRingType;
-    iVolume = aVolume;
-    iTTsToBePlayed = aTTsToBePlayed;
-    
-    if ( iFormat == EFormatTone )
-        {
-        switch ( iPlayerStatus )
-            {
-            case ETonePlaying:
-                iTonePlayer->CancelPlay();
-                DoPlay();
-                break;
-
-            case EToneReady:
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-
-            case EToneLoading:
-                iToBePlaying = ETrue;
-                break;
-
-            default:
-                __ASSERT_DEBUG( EFalse, 
-
-                      Panic( EPhoneViewCaseNotHandled ) );
-            }
-        }
-    else if ( iFormat == EFormatTts )
-        {
-        switch ( iPlayerStatus )
-            {
-            case ETonePlaying:
-                //stop previous playing
-                iTtsPlayer->Stop();
-                DoPlay();
-                break;
-
-            case EToneReady:
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-
-            case EToneLoading:
-                iToBePlaying = ETrue;
-                break;
-
-            default:
-                __ASSERT_DEBUG( EFalse, 
-                        Panic( EPhoneViewCaseNotHandled ) );
-            }
-        }
-    else
-        {
-        switch ( iPlayerStatus )
-            {
-            case ETonePlaying:
-                //stop previous playing
-                StopPlaying();
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-
-            case EToneReady:
-                iPlayerStatus = ETonePlaying;
-                DoPlay();
-                break;
-
-            case EToneLoading:
-                iToBePlaying = ETrue;
-                break;
-
-            default:
-                __ASSERT_DEBUG( EFalse, 
-
-                        Panic( EPhoneViewCaseNotHandled ) );
-            }
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ReStartPlaying
-// -----------------------------------------------------------------------------
-//    
-void CPhoneAudioPlayer::ReStartPlaying()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::ReStartPlaying()" );
-    __PHONELOG3( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneAudioPlayer::ReStartPlaying - iFormat(%d), iRingType(%d), iVolume(%d)",
-        iFormat, 
-        iRingType, 
-        iVolume );
-        
-    if ( iFormat == EFormatTone )
-        {
-        iTonePlayer->Play();
-        iPlayerStatus = ETonePlaying;
-        }
-    else if ( iFormat == EFormatTts )
-        {
-        iTtsPlayer->Play();
-        iPlayerStatus = ETonePlaying;
-        }        
-    else
-        {
-        iSamplePlayer->Play();
-        iPlayerStatus = ETonePlaying;
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::StopPlaying
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::StopPlaying()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::StopPlaying()" );
-    iToBePlaying = EFalse;
-    
-    if ( iFormat == EFormatTone )
-        {
-        if ( EMdaAudioToneUtilityPrepared == iTonePlayer->State() )
-            {
-            iTonePlayer->CancelPrepare();
-            }
-        else if ( EMdaAudioToneUtilityPlaying == iTonePlayer->State() )
-            {
-            iTonePlayer->CancelPlay();
-            }
-        }
-    else if ( iFormat == EFormatTts )
-        {
-        iTtsPlayer->Stop();
-        }
-    else
-        {
-        if ( i3DPlugin )
-            {
-            i3DPlugin->Stop();
-            delete i3DPlugin;
-            i3DPlugin = NULL;
-            }
-        else
-            {
-            iSamplePlayer->Stop();        
-            }
-        }
-    
-    iPlayerStatus = EToneReady;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MapcInitComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::MapcInitComplete(
-    TInt aError, 
-    const TTimeIntervalMicroSeconds& /*aDuration*/ )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::MapcInitComplete()" );
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneAudioPlayer::MapcInitComplete - aError(%d)",
-        aError );
-    __ASSERT_DEBUG( ( ( iFormat == EFormatSample ) || ( iFormat == EFormatTts ) ) && 
-        ( iPlayerStatus == EToneLoading ), Panic( EPhoneViewGeneralError ) );
-    if ( aError == KErrNone )
-        {
-        if ( iToBePlaying )
-            {
-            iPlayerStatus = ETonePlaying;
-            iToBePlaying = EFalse;
-            DoPlay();
-            }
-        else
-            {
-            iPlayerStatus = EToneReady;
-            }
-        iObserver.HandleAudioPlayerInitComplete( iId );
-        }
-    else
-        {
-        iObserver.HandleAudioPlayerError( 
-            MPhoneAudioPlayerObserver::EAudioPlayerInitializingFailure, 
-            aError, iId );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MapcPlayComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::MapcPlayComplete( TInt aError )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::MapcPlayComplete()" );
-    __PHONELOG2( EBasic, EPhoneUIView, "CPhoneAudioPlayer::MapcPlayComplete - iFormat(%d), aError(%d)",
-        iFormat, aError );
-    iPlayerStatus = EToneReady;
-
-    //Destruct 3D plugin before player itself gets destructed.
-    //In case of continuous ringing type, stopplaying() handles
-    //3d plugin destruction
-    if ( i3DPlugin )
-        {
-        i3DPlugin->Stop();
-        delete i3DPlugin;
-        i3DPlugin = NULL;            
-        }
-
-    if ( aError != KErrNone )
-        {
-        iObserver.HandleAudioPlayerError( 
-            MPhoneAudioPlayerObserver::EAudioPlayerPlayingFailure, 
-            aError, iId );
-        }
-    else
-        {
-        iObserver.HandlePlayingComplete( iId );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MatoPrepareComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::MatoPrepareComplete( TInt aError )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::MatoPrepareComplete()" );
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneAudioPlayer::MatoPrepareComplete - aError(%d)",
-        aError );
-        
-	__ASSERT_DEBUG( ( iFormat == EFormatTone ) && ( iPlayerStatus == EToneLoading ), 
-        Panic( EPhoneViewGeneralError ) );
-    if ( aError == KErrNone )
-        {
-        if ( iToBePlaying )
-            {
-            iPlayerStatus = ETonePlaying;
-            iToBePlaying = EFalse;
-            DoPlay();
-            }
-        else
-            {
-            iPlayerStatus = EToneReady;
-            }
-        iObserver.HandleAudioPlayerInitComplete( iId );
-        }
-    else
-        {
-        iObserver.HandleAudioPlayerError( 
-            MPhoneAudioPlayerObserver::EAudioPlayerInitializingFailure, 
-            aError, iId );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MatoPlayComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::MatoPlayComplete(TInt aError)
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::MatoPlayComplete()" );
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneAudioPlayer::MatoPlayComplete - aError(%d)",
-        aError );
-    if ( aError != KErrNone )
-        {
-        iObserver.HandleAudioPlayerError( 
-            MPhoneAudioPlayerObserver::EAudioPlayerPlayingFailure, 
-            aError, iId );
-        }
-    else
-        {
-        iObserver.HandlePlayingComplete( iId );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::DoPlay
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::DoPlay()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::DoPlay()" );
-    __ASSERT_DEBUG( iPlayerStatus == ETonePlaying, 
-        Panic( EPhoneViewGeneralError ) );
-        
-    SetRingingTypeProperties();
-    
-    TInt err(KErrNone);
-    if ( iFormat == EFormatTone )
-        {
-        iTonePlayer->Play();
-        }
-    else if ( iFormat == EFormatTts )
-        {
-        iTtsPlayer->Play();
-        }        
-    else
-        {
-        TRAP( err,i3DPlugin = C3DRingingToneInterface::NewL( KNullUid ) );
-        if ( !err && i3DPlugin )
-            {
-            i3DPlugin->SetAttr( E3DRTIAttrAudioPlayerUtility, iSamplePlayer );
-            TRAP( err,i3DPlugin->PlayL() )
-            }
-        if ( err || !i3DPlugin )
-            {
-            if ( !iAudioOutput )
-                 {
-                 __PHONELOG( EBasic, EPhoneUIView, "CPhoneAudioPlayer::DoPlay c aud ");
-                 TRAP (err, iAudioOutput = CAudioOutput::NewL( *iSamplePlayer ) );
-                if ( err )
-                    {
-                    __PHONELOG1(EBasic, EPhoneUIView, 
-                        "P.AudPlayer.DoPlay.iAudioOutput.err ", err );
-                    }                      	        
-               }
-            if ( !err && iAudioOutput )
-                 {
-                 __PHONELOG( EBasic, EPhoneUIView, "CPhoneAudioPlayer::DoPlay EALL ");
-                 TRAP (err, iAudioOutput->SetAudioOutputL( CAudioOutput::EAll ) );
-                 if ( err )
-                     {
-                     __PHONELOG1( EBasic, EPhoneUIView, 
-                         "P.AudPlayer.DoPlay.SetAudioOutputL.err ", err );   
-                     }
-
-                 }
-            iSamplePlayer->Play();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::SetRingingTypeProperties
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::SetRingingTypeProperties()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::SetRingingTypeProperties()" );
-    __PHONELOG2( EBasic, EPhoneUIView, "CPhoneAudioPlayer::SetRingingTypeProperties - iFormat(%d), iRingType(%d)",
-        iFormat, iRingType );
-    TInt rampTime( 0 );     
-    if ( iFormat == EFormatTone )
-        {
-        switch ( iRingType )
-            {
-            case ETypeRinging:
-                //If we have TTS activated and ringingtype is ringing:
-                //We need to play TTS sequence again when ringingtone restarts.
-                //Thats why we need to set ringingtype to ETypeRingingOnce because  
-                //it is the only way of knowing when ringingtone is completed. 
-                //Then we can restart it with new TTS iterations.
-                if ( iTTsToBePlayed )
-                    {
-                     //play only once
-                    iTonePlayer->SetRepeats( 0, 
-                        TTimeIntervalMicroSeconds(
-                        KPhoneRingingRepeatsTrailPause ) ); 
-                    iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
-                    __PHONELOG1( 
-                        EBasic, 
-                        EPhoneUIView, 
-                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing tone with TTS, Set volume(%d) and ring once",
-                        iVolume );
-                    }
-                else
-                    {
-                    iTonePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
-                        TTimeIntervalMicroSeconds( 
-                         KPhoneRingingRepeatsTrailPause ) );
-                    iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
-                    __PHONELOG1( 
-                        EBasic, 
-                        EPhoneUIView, 
-                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing tone, Set volume(%d)",
-                        iVolume );
-                    }
-                break;
-
-            case ETypeRingingOnce:
-                //play only once
-                iTonePlayer->SetRepeats( 0, 
-                    TTimeIntervalMicroSeconds(
-                    KPhoneRingingRepeatsTrailPause ) ); 
-                iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
-                __PHONELOG1( 
-                    EBasic, 
-                    EPhoneUIView, 
-                    "CPhoneAudioPlayer::SetRingingTypeProperties - Ring once tone, set volume(%d)",
-                    iVolume );
-                break;
-
-            case ETypeAscending:
-                iTonePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
-                    TTimeIntervalMicroSeconds(
-                    KPhoneRingingRepeatsTrailPause ) );
-
-                //Special case for TTs + ascending profile. Volume 
-                //and ramptime needs to be different as usual
-                if ( iTTsToBePlayed )
-                    {
-                    //rampTime in this case is only 3 seconds and volume is 1.
-                    rampTime = KPhoneAudioAscendingRampDuration;
-                    __PHONELOG1( 
-                        EBasic, 
-                        EPhoneUIView, 
-                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending tone with TTS, Start from lowest volume, rampTime(%d)",
-                        rampTime );
-                    iTonePlayer->SetVolumeRamp( 
-                        TTimeIntervalMicroSeconds( rampTime ) ); 
-
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iTonePlayer->SetVolume( ConvertVolume( iCurrentVolume ) );
-                    }
-                else
-                    {
-                    //rampTime: time for one step * volume level
-                    rampTime = KPhoneAudioAscendingRampDuration*iVolume;
-                    __PHONELOG2( 
-                        EBasic, 
-                        EPhoneUIView, 
-                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending tone, Set volume(%d), rampTime(%d)",
-                        iVolume, rampTime );
-                    iTonePlayer->SetVolumeRamp( 
-                        TTimeIntervalMicroSeconds( rampTime ) );
-                        
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iTonePlayer->SetVolume( ConvertVolume( iVolume ) );       
-                    }
-                break;
-
-            default:
-                Panic( EPhoneViewGeneralError );
-                break;
-            }
-
-        __PHONELOG3( 
-            EBasic, 
-            EPhoneUIView, 
-            "CPhoneAudioPlayer::SetRingingTypeProperties - Tone, iPriority(%d), iPreference(%d), iVolume(%d)",
-            iPriority, iPreference, iVolume );
-
-        //Set priority and preference
-        iTonePlayer->SetPriority( iPriority, 
-            static_cast< TMdaPriorityPreference >( iPreference ) );
-        }
-    else if ( iFormat == EFormatTts )
-        {
-        switch ( iRingType )
-            {
-            case ETypeRinging:
-            case ETypeAscending:
-                // Not possible iRingType for TTS.
-                break;
-
-            case ETypeRingingOnce:
-                iTtsPlayer->SetRepeats( 0, // play only once
-                    TTimeIntervalMicroSeconds( 
-                    KPhoneRingingRepeatsTrailPause ) );
-                iTtsPlayer->SetVolume( ConvertVolume( iVolume ) );
-                __PHONELOG1( 
-                    EBasic, 
-                    EPhoneUIView, 
-                    "CPhoneAudioPlayer::SetRingingTypeProperties - TTS, Set volume(%d)",
-                    iVolume );
-                break;
-            
-            default:
-                __ASSERT_DEBUG( EFalse, 
-                        Panic( EPhoneViewCaseNotHandled ) );
-            }
-        __PHONELOG( 
-            EBasic, 
-            EPhoneUIView, 
-            "CPhoneAudioPlayer::SetRingingTypeProperties - TTS" );
-        }
-    else
-        {
-        switch ( iRingType )
-            {
-            case ETypeRinging:
-                //If we have TTS activated and ringingtype is ringing:
-                //We need to play TTS sequence again when ringingtone restarts.
-                //Thats why we need to set ringingtype to ETypeRingingOnce because  
-                //it is theonly way of knowing when ringingtone is completed. 
-                //Then we can restartit with new TTS iterations.
-                if ( iTTsToBePlayed )
-                    {
-                     //play only once
-                    iSamplePlayer->SetRepeats( 0, 
-                        TTimeIntervalMicroSeconds(
-                        KPhoneRingingRepeatsTrailPause ) ); 
-                    iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
-                    __PHONELOG1( 
-                        EBasic, 
-                        EPhoneUIView, 
-                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing sample with TTS, Ring only once, Set volume(%d)",
-                        iVolume );
-                    }
-                else
-                    {
-                    iSamplePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
-                        TTimeIntervalMicroSeconds( 
-                        KPhoneRingingRepeatsTrailPause ) );
-                    iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
-                    __PHONELOG1( 
-                        EBasic, 
-                        EPhoneUIView, 
-                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing sample, Set volume(%d)",
-                        iVolume );
-                    }
-                break;
-
-            case ETypeRingingOnce:
-                iSamplePlayer->SetRepeats( 0,//play only once
-                    TTimeIntervalMicroSeconds( 
-                    KPhoneRingingRepeatsTrailPause ) ); 
-                iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
-                __PHONELOG1( 
-                    EBasic, 
-                    EPhoneUIView, 
-                    "CPhoneAudioPlayer::SetRingingTypeProperties - Ring once sample, set volume(%d)",
-                    iVolume );
-                break;
-
-            case ETypeAscending:
-                iSamplePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
-                    TTimeIntervalMicroSeconds(
-                    KPhoneRingingRepeatsTrailPause ) );
-
-                //Special case for TTs + ascending profile. Volume 
-                //and ramptime needs to be different as usual
-                if ( iTTsToBePlayed )
-                    {
-                    //rampTime in this case is only 3 seconds and volume is 1.
-                    rampTime = KPhoneAudioAscendingRampDuration;
-                    __PHONELOG1( 
-                        EBasic, 
-                        EPhoneUIView, 
-                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending sample with TTS, Start from lowest volume, rampTime(%d)",
-                        rampTime );
-                    iSamplePlayer->SetVolumeRamp( 
-                        TTimeIntervalMicroSeconds( rampTime ) ); 
-
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iSamplePlayer->SetVolume( ConvertVolume( iCurrentVolume ) );
-                    }
-                else
-                    {
-                    //rampTime: time for one step * volume level
-                    rampTime = KPhoneAudioAscendingRampDuration*iVolume;
-                    __PHONELOG2( 
-                        EBasic, 
-                        EPhoneUIView, 
-                        "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending sample, Set volume(%d), rampTime(%d)",
-                        iVolume, rampTime );
-                    iSamplePlayer->SetVolumeRamp( 
-                        TTimeIntervalMicroSeconds( rampTime ) );
-                        
-                    iCurrentVolume = 1; //we start from the lowest volume
-                    iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
-                    }
-                break;
-
-            default:
-                Panic( EPhoneViewGeneralError );
-                break;
-            }
-
-        __PHONELOG( 
-            EBasic, 
-            EPhoneUIView, 
-            "CPhoneAudioPlayer::SetRingingTypeProperties - Sample" );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::SetNewVolumeAndRamptime
-// -----------------------------------------------------------------------------
-//    
-void CPhoneAudioPlayer::SetNewVolumeAndRamptime( TInt aVolume, TInt aRamptime )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneAudioPlayer::SetNewVolumeAndRamptime()" );
-   
-    //Check that volume is in valid range.
-   TInt volume = aVolume<1 ? 1:aVolume;
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - aVolume(%d)",
-        aVolume ); 
-            
-    if ( iFormat == EFormatTone && iTonePlayer )
-        {
-        iTonePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds( aRamptime ) );
-        iTonePlayer->SetVolume( ConvertVolume( volume ) );
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - Tone player" );
-        }
-    else if ( iFormat == EFormatTts && iTtsPlayer )
-        {
-        iTtsPlayer->SetVolumeRamp(TTimeIntervalMicroSeconds( aRamptime ) );
-        iTtsPlayer->SetVolume( ConvertVolume( volume ) );
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - TTS player" );
-        }
-    else 
-        {
-        iSamplePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds( aRamptime ) );
-        iSamplePlayer->SetVolume( ConvertVolume( volume ) );
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - Sample player" );
-        }
-   
-    }
-   
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ConvertVolume
-// -----------------------------------------------------------------------------
-//  
-TInt CPhoneAudioPlayer::ConvertVolume( TInt aVolume )
-    {
-    //_DDPRINT( 5, "P.AudPlayer.ConvertVolume.aVolume", aVolume );
-
-    TInt result( 0 );    
-    
-    if ( iFormat == EFormatTone )
-        {
-        result = iTonePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
-        }
-    else if ( iFormat == EFormatTts )
-        {
-        result = iTtsPlayer->MaxVolume() * aVolume / KMaxVolumeLevel;    
-        }
-    else
-        {
-        result = iSamplePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;       
-        }
-        
-	// if user has selected minimum volume level
-	// set HW volume 1
-    if ( aVolume == KMinVolumeLevel && result == 0 )
-        {
-        result = 1; 
-        }
-       
-    //_DDPRINT( 5, "P.AudPlayer.ConvertVolume.result", result );       
-    return result;    
-    }
-
-       
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::SetTTsToBePlayed
-// -----------------------------------------------------------------------------
-//  
-void CPhoneAudioPlayer::SetTTsToBePlayed( TBool aTTsToBePlayed )
-	{
-	iTTsToBePlayed = aTTsToBePlayed;
-	}  
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MutePlaying
-// -----------------------------------------------------------------------------
-//	
-void CPhoneAudioPlayer::MutePlaying()
-    {
-    //_DPRINT( 5, "P.Aud.Mute" );
-    if ( iPlayerStatus == ETonePlaying )
-        {
-        if ( iFormat == EFormatTone )
-            {
-            iTonePlayer->SetVolume(0);
-            }
-        else if ( iFormat == EFormatTts )
-            {
-            iTtsPlayer->SetVolume(0);
-            }
-        else // EFormatSample
-            {
-            iSamplePlayer->SetVolume(0);        
-            }
-        }
-    else
-        {
-        // Mute called during EToneLoading state.
-        iToBePlaying = EFalse;    
-        }                   
-    }
-   
-//  End of File  
--- a/phoneapp/phoneuiview/src/cphonebubblemapping.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,379 +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: Implementation of CPhoneBubbleMapping class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "cphonebubblemapping.h"
-#include    "pevirtualengine.h"
-#include    "phoneui.pan"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleMapping::CPhoneBubbleMapping
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneBubbleMapping::CPhoneBubbleMapping()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleMapping::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleMapping::ConstructL( TInt aMaximumAmount )
-    {
-    iMappingReserve = aMaximumAmount;
-    iMapping = new ( ELeave ) CMappingArray( aMaximumAmount );
-    iMapping->SetReserveL( aMaximumAmount );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleMapping::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneBubbleMapping* CPhoneBubbleMapping::NewL(
-    TInt aMaximumAmount )
-    {
-    CPhoneBubbleMapping* self = 
-        new ( ELeave ) CPhoneBubbleMapping;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aMaximumAmount );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-CPhoneBubbleMapping::~CPhoneBubbleMapping()
-    {
-    delete iMapping;
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::FindBubbleByCall
-// ---------------------------------------------------------
-//
-TBool CPhoneBubbleMapping::FindBubbleByCall( 
-    TInt aCallId,
-    CBubbleManager::TBubbleId& aId ) const
-    {
-    const TInt count = iMapping->Count();
-    TInt index;
-    TBool result = EFalse;
-
-    for ( index = 0; index < count; index++ )
-        {
-        TMappingItem& item = iMapping->At( index );
-
-        if ( aCallId == item.iCallId )
-            {    
-            result = ETrue;
-            aId = item.iBubbleId;
-            break;
-            }
-
-        }
-
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::FindCallByBubble
-// ---------------------------------------------------------
-//       
-TBool CPhoneBubbleMapping::FindCallByBubble(
-    CBubbleManager::TBubbleId aId,
-    TInt& aCallId ) const
-    {
-    const TInt count = iMapping->Count();
-    TInt index;
-    TBool result = EFalse;
-
-    for ( index = 0; index < count; index++ )
-        {
-        TMappingItem& item = iMapping->At( index );
-
-        if ( aId == item.iBubbleId )
-            {    
-            result = ETrue;
-            aCallId = item.iCallId;
-            break;
-            }
-        }
-
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::FindThumbnailByCall
-// ---------------------------------------------------------
-//       
-const CFbsBitmap* CPhoneBubbleMapping::FindThumbnailByCall( 
-    TInt aCallId ) const
-    {
-    TInt index;
-    const CFbsBitmap* thumbnail = NULL;
-
-    if ( FindIndexByCall( aCallId, index ) )
-        {
-        thumbnail = ThumbnailAt( index );
-        }
-
-    return thumbnail;
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::AddToMappingL
-// ---------------------------------------------------------
-//       
-void CPhoneBubbleMapping::AddToMappingL( 
-    CBubbleManager::TBubbleId aId, 
-    TInt aCallId,
-    CBubbleManager::TPhoneCallState aCallState,
-    CFbsBitmap* aThumbnail )
-    {
-    CBubbleManager::TBubbleId bubbleId;
-
-    if ( !FindBubbleByCall( aCallId, bubbleId ) )
-        {
-        TMappingItem item;
-        item.iBubbleId = aId;
-        item.iCallId = aCallId;
-        item.iThumbnail = aThumbnail;
-        item.iCallState = aCallState;
-
-        if ( iMapping->Count() < iMappingReserve )
-            {
-            iMapping->AppendL( item ); // Doesn't leave.
-            return;
-            }
-        }
-    Panic( EPhoneViewInvariant );
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::RemoveFromMapping
-// ---------------------------------------------------------
-//       
-void CPhoneBubbleMapping::RemoveFromMapping( 
-    TInt aCallId )
-    {
-    const TInt count = iMapping->Count();
-    TInt index;
-
-    for ( index = 0; index < count; index++ )
-        {
-        TMappingItem& item = iMapping->At( index );
-
-        if ( aCallId == item.iCallId )
-            {
-            iMapping->Delete( index );
-            iMapping->Compress();
-            return;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::ItemCount
-// ---------------------------------------------------------
-//       
-TInt CPhoneBubbleMapping::ItemCount() const
-    {
-    return iMapping->Count();
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::BubbleAt
-// ---------------------------------------------------------
-//       
-CBubbleManager::TBubbleId CPhoneBubbleMapping::BubbleAt( 
-    TInt aIndex ) const
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iMapping->Count(), 
-        Panic( EPhoneViewIndexOutOfBounds ) );
-    return iMapping->At( aIndex ).iBubbleId;
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::CallAt
-// ---------------------------------------------------------
-//              
-TInt CPhoneBubbleMapping::CallIdAt( 
-    TInt aIndex ) const
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iMapping->Count(), 
-        Panic( EPhoneViewIndexOutOfBounds ) );
-    return iMapping->At( aIndex ).iCallId;
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::ThumbnailAt
-// ---------------------------------------------------------
-//              
-const CFbsBitmap* CPhoneBubbleMapping::ThumbnailAt( 
-    TInt aIndex )  const
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iMapping->Count(), 
-        Panic( EPhoneViewIndexOutOfBounds ) );
-    return iMapping->At( aIndex ).iThumbnail;
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::SetThumbnailAt
-// ---------------------------------------------------------
-//              
-void CPhoneBubbleMapping::SetThumbnailAt( 
-    TInt aIndex, 
-    CFbsBitmap* aThumbnail )  
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iMapping->Count(), 
-        Panic( EPhoneViewIndexOutOfBounds ) );
-        
-    TMappingItem& item = iMapping->At( aIndex );
-    item.iThumbnail = aThumbnail;
-    }
-    
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::SetThumbnailByCall
-// ---------------------------------------------------------
-//              
-void CPhoneBubbleMapping::SetThumbnailByCall( 
-    TInt aCallId,
-    CFbsBitmap* aThumbnail ) 
-    {
-    TInt index;
-
-    // if a matching bubble is found
-    if ( FindIndexByCall( aCallId, index ) )
-        {
-        SetThumbnailAt( index, aThumbnail );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::CallStateAt
-// ---------------------------------------------------------
-//              
-CBubbleManager::TPhoneCallState CPhoneBubbleMapping::CallStateAt( 
-    TInt aIndex )  const
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iMapping->Count(), 
-        Panic( EPhoneViewIndexOutOfBounds ) );
-    return iMapping->At( aIndex ).iCallState;
-    }
-    
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::SetCallStateAt
-// ---------------------------------------------------------
-//              
-void CPhoneBubbleMapping::SetCallStateAt( 
-    TInt aIndex, 
-    CBubbleManager::TPhoneCallState aCallState )  
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iMapping->Count(), 
-        Panic( EPhoneViewIndexOutOfBounds ) );
-    TMappingItem& item = iMapping->At( aIndex );
-    item.iCallState = aCallState;
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::SetCallStateByCall
-// ---------------------------------------------------------
-//              
-void CPhoneBubbleMapping::SetCallStateByCall( 
-    TInt aCallId,
-    CBubbleManager::TPhoneCallState aCallState ) 
-    {
-    TInt index;
-
-    // if a matching bubble is found
-    if ( FindIndexByCall( aCallId, index ) )
-        {
-        SetCallStateAt( index, aCallState );
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::FindCallStateByCall
-// ---------------------------------------------------------
-//       
-CBubbleManager::TPhoneCallState CPhoneBubbleMapping::FindCallStateByCall( 
-    TInt aCallId ) const
-    {
-    TInt index;
-    CBubbleManager::TPhoneCallState callState = CBubbleManager::ENone;
-
-    if ( FindIndexByCall( aCallId, index ) )
-        {
-        callState = CallStateAt( index );
-        }
-
-    return callState;
-    }
-    
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::FindCallIdByCallState
-// ---------------------------------------------------------
-//
-TInt CPhoneBubbleMapping::FindCallIdByCallState (
-    CBubbleManager::TPhoneCallState aCallState ) 
-    {
-    const TInt count = iMapping->Count();
-    TInt index;
-
-    for ( index = 0; index < count; index++ )
-        {
-        if ( CallStateAt( index ) == aCallState )
-            {
-            return CallIdAt( index );
-            }
-        }
-    return KErrNotFound; // Not found CallId by this callState
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleMapping::FindIndexByCall
-// ---------------------------------------------------------
-//              
-TBool CPhoneBubbleMapping::FindIndexByCall( 
-    TInt aCallId,
-    TInt& aIndex ) const
-    {
-    TBool result = EFalse;
-
-    for ( aIndex = 0; aIndex < iMapping->Count(); aIndex ++ )
-        {
-        TMappingItem& item = iMapping->At( aIndex );
-
-        if ( aCallId == item.iCallId )
-            {
-            // Horray, we found it
-            result = ETrue;
-            break;
-            }
-        }    
-
-    return result;
-    }
-
-//  End of File  
--- a/phoneapp/phoneuiview/src/cphonebubblewrapper.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2506 +0,0 @@
-/*
-* 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: Implementation of CPhoneBubbleWrapper class.
-*
-*/
-
-
-// INCLUDE FILES
-#include <AknPhoneNumberEditor.h>
-#include <featmgr.h>
-#include <StringLoader.h>
-#include <telephonyvariant.hrh>
-#include <eikspane.h>
-#include <layoutmetadata.cdl.h>
-#include <bautils.h>
-#include <bmtouchpaneinterface.h>
-#include <AknUtils.h>
-#include <spsettings.h>
-#include <spproperty.h>
-
-#include "cphonebubblewrapper.h"
-#include "cphonebubblemapping.h"
-#include "tphonecommandparam.h"
-#include "cphonecallheadertextanimation.h"
-#include "cphonemainresourceresolver.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamstring.h"
-#include "tphonecmdparamkeyevent.h"
-#include "tphonecmdparamdynmenu.h"
-#include "tphonecmdparamcallheaderdata.h"
-#include "tphonecmdparamemergencycallheaderdata.h"
-#include "tphonecmdparamcallstatedata.h"
-#include "tphonecmdparamincallindicatordata.h"
-#include "cphonestatuspane.h"
-#include "phoneconstants.h"
-#include "phonerssbase.h"
-#include "cphonecenrepproxy.h"
-#include "phonelogger.h"
-#include "mphonevideoplayerobserver.h"
-#include "mphoneviewcommandhandle.h"
-#include "phoneui.pan"
-#include "mnumberentry.h"
-#include "mphonenumberentry.h"
-#include "cphonenumberentry.h"
-#include "phonebubbleextensionmanager.h"
-
-#include "mphonecustomization.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::CPhoneBubbleWrapper
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneBubbleWrapper::CPhoneBubbleWrapper( ) :
-    iNumberEntryVisible( EFalse ),
-    iConference( EFalse ),
-    iCipheringIndicatorAllowed( ETrue ),
-    iFlags ( 0 ),
-    iVideoCallAnimationHeader( NULL ),
-    iCallImageTextSupported ( EFalse ),
-    iVideoPlayerObserver ( NULL ),
-    iDialerNumberEntry ( NULL ),
-    iUseDialer ( EFalse ),
-    iIsNumberEntryModeNumeric( ETrue )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::ConstructL(
-    CCoeControl* aControl,
-    const TRect& aRect )
-    {
-    TPoint position ( 0, 0 );
-
-    // Construct bubble manager
-    iBubbleManager = CBubbleManager::NewL(
-        *aControl,
-        aRect,
-        ETrue  );
-    iBubbleManager->SetPosition( position );
-
-    CCoeControl* bubbleNe = iBubbleManager->GetNumberEntry()->Parent();
-    //cannot set bubblewrapper as an observer straight to CAknPhoneNumberEditor
-    //because BMBubbleOutlookNE will not receive control events then.
-    bubbleNe->SetObserver( this );
-    
-    // Construct extension manager
-    iBubbleExtensionManager = CPhoneBubbleExtensionManager::NewL(
-           *iBubbleManager );
-
-    iPhoneNumberEntry = CPhoneNumberEntry::NewL( *iBubbleManager );
-
-    // Construct bubble mapping
-    iMapping = CPhoneBubbleMapping::NewL( KMaxNumberOfCallerBubbles );
-
-    if( FeatureManager::FeatureSupported( KFeatureIdCallImagetext ) )
-	    {
-	    iCallTheme = CPhoneCallThemeMonitor::NewL();
-	    iCallImageTextSupported = ETrue;
-	    iBubbleManager->PreloadCallThemeImage(
-	            iCallTheme->CallImageThemeSettings() == 2  );
-	    iCallTheme->SetCallThemeSettingsObserver( this );
-	    }
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) )
-        {
-        iUseDialer = ETrue;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneBubbleWrapper* CPhoneBubbleWrapper::NewL(
-    CCoeControl* aControl,
-    const TRect& aRect )
-    {
-    CPhoneBubbleWrapper* self = new( ELeave ) CPhoneBubbleWrapper( );
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aControl, aRect );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// Destructor
-CPhoneBubbleWrapper::~CPhoneBubbleWrapper()
-    {
-    delete iBubbleExtensionManager;
-    delete iPhoneNumberEntry;
-    delete iMapping;
-    delete iBubbleManager;
-    delete iVideoCallAnimationHeader;
-    if( iParticipants )
-	    {
-	    iParticipants->Reset();
-    	delete iParticipants;
-	    }
-	delete iCallTheme;
-
-	iVideoPlayerObserver = NULL;
-	iDialerNumberEntry = NULL;
-	
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::RemoveCallHeaderL
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::RemoveCallHeaderL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::RemoveCallHeader");
-    CBubbleManager::TBubbleId bubble;
-
-    if ( iMapping->FindBubbleByCall( aCallId, bubble ) )
-        {
-        iBubbleManager->StartChanges();
-
-		if( aCallId == KVideoTelephonyCallId1 ||
-			aCallId == KVideoTelephonyCallId2 )
-    		{
-    		CPhoneCallHeaderTextAnimation::InstanceL()->RemoveAnimatingVideoCallHeader();
-    		delete iVideoCallAnimationHeader;
-    		iVideoCallAnimationHeader = NULL;
-    		}
-
-        // remove the bubble
-		iBubbleExtensionManager->StopCall( bubble );
-        iBubbleManager->RemoveCallHeader( bubble );
-        iBubbleManager->EndChanges();
-        iMapping->RemoveFromMapping( aCallId );
-
-        __PHONELOG1(
-            EBasic,
-            EPhoneUIView,
-            "CPhoneBubbleWrapper::RemoveCallHeader ShownHeaderCount = %d",
-            iBubbleManager->ShownHeaderCount() );
-
-		if (!FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) &&
-		    iConference && ( iBubbleManager->ShownHeaderCount() == 1 ) )
-            {
-            SetConferenceExpand( ETrue );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::CreateCallHeaderL
-// -----------------------------------------------------------------------------
-//
-CBubbleManager::TBubbleId CPhoneBubbleWrapper::CreateCallHeaderL(
-    TInt aCallId,
-    TPhoneCommandParam *aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::CreateCallHeader");
-    CBubbleManager::TBubbleId bubble;
-
-    if ( iMapping->FindBubbleByCall( aCallId, bubble ) )
-        {
-        // Invalid - don't create a bubble
-        return bubble;
-        }
-
-    TPhoneCmdParamCallHeaderData* callHeaderParam =
-        static_cast<TPhoneCmdParamCallHeaderData*>( aCommandParam );
-
-    iCipheringIndicatorAllowed = callHeaderParam->CipheringIndicatorAllowed();
-
-    iBubbleManager->StartChanges();
-    // Create call header
-    bubble = iBubbleManager->CreateCallHeader();
-    iMapping->AddToMappingL( bubble, aCallId, CBubbleManager::ENone, NULL );
-
-    if ( iConference )
-	    {
-	    SetConferenceExpand( EFalse );
-	    }
-
-    // Set call state
-    PrepareCallStateL(
-        aCallId,
-        callHeaderParam->CallState(),
-        callHeaderParam->LabelText(),
-        callHeaderParam->ShortLabelText() );
-
-    // Set call flag ( EDivert... )    
-    iBubbleManager->SetCallFlags( 
-        bubble, 
-        callHeaderParam->CallFlag() );
-
-	 __PHONELOG1(
-	    EBasic,
-	    EPhoneUIView,
-	    "CPhoneBubbleWrapper::CreateCallHeader callHeaderParam->CLIText = %S",
-	    &callHeaderParam->CLIText() );
-
-    // Set CLI text
-    iBubbleManager->SetCLI(
-        bubble,
-        callHeaderParam->CLIText(),
-        callHeaderParam->CLITextClippingDirection() );
-    
-    // Set CNAP text if applicable
-    iBubbleManager->SetCNAP( 
-            bubble, 
-            callHeaderParam->CNAPText(), 
-            callHeaderParam->CNAPTextClippingDirection() );
-    
-    // Set CLI type to be used in conference call participant list
-    CBubbleManager::TBubbleParticipantListCLI partipantCli =
-        ( callHeaderParam->ParticipantCLI() ==
-          TPhoneCmdParamCallHeaderData::EPhoneParticipantCNAPText ) ?
-        CBubbleManager::EParticipantListCNAP :
-        CBubbleManager::EParticipantListCLIText;
-    iBubbleManager->SetParticipantListCLI( bubble, partipantCli );
-
-    // Set ciphering indicator
-    iBubbleManager->SetCallFlag(
-        bubble,
-        CBubbleManager::ENoCiphering,
-        iCipheringIndicatorAllowed &&
-        !callHeaderParam->Ciphering() );
-
-	 __PHONELOG1(
-	    EBasic,
-	    EPhoneUIView,
-	    "CPhoneBubbleWrapper::CreateCallHeader Line2() = %d",
-	    callHeaderParam->Line2() );
-
-    // Set line2 indicator
-    iBubbleManager->SetCallFlag(
-        bubble,
-        CBubbleManager::ELine2,
-        callHeaderParam->Line2() );
-
-    // Set number type indicator
-    SetNumberTypeIndicator( bubble, static_cast<TPEPhoneNumberIdType>(
-        callHeaderParam->NumberType() ) );
-
-    if ( !iCallImageTextSupported )
-		{
-        if( callHeaderParam->Thumbnail() )
-            {
-            // Thumbnail
-            iBubbleManager->SetThumbnail( bubble, callHeaderParam->Thumbnail(), NULL );
-            }
-		}
-    else  // call object display
-        {
-        if ( callHeaderParam->CallerText().Length() )
-            {
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::CreateCallHeaderL()-> Set 1.Call text");
-            // 1. Call text
-            iBubbleManager->SetCallObjectText( bubble, callHeaderParam->CallerText() );
-            }
-        else if( callHeaderParam->Picture().Length() )
-            {
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::CreateCallHeaderL()-> Set 2. Call image");
-            // 2. Call image
-            iBubbleManager->SetCallObjectImage( bubble, callHeaderParam->Picture() );
-            }
-        else if( callHeaderParam->HasThumbnail() )
-            {
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::CreateCallHeaderL()-> Set 3. Thumbnail");
-            // 3. Thumbnail
-            if ( callHeaderParam->Thumbnail() )
-                {
-                iBubbleManager->SetCallObjectImage( bubble, callHeaderParam->Thumbnail(), NULL );
-                }
-            }
-        else if ( iCallTheme->CallImageThemeSettings() == 2 )
-            {
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::CreateCallHeaderL()-> Set 4. Theme image");
-            // 4. Theme image
-            iBubbleManager->SetCallObjectFromTheme( bubble );
-            }
-        else if ( iCallTheme->CallImageThemeSettings() == 1 &&
-                  BaflUtils::FileExists( CCoeEnv::Static()->FsSession(),
-                                         iCallTheme->CallImageThemeFilePath() ) )
-            {
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::CreateCallHeaderL()-> Set 5. User defined theme image");
-            // 5. User defined theme image
-            iBubbleManager->SetCallObjectImage(
-                bubble,
-                iCallTheme->CallImageThemeFilePath() );
-            }
-        else
-            {
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::CreateCallHeaderL()-> Do nothing ");
-            // do nothing
-            }
-        }
-
-    iBubbleExtensionManager->StartCallL( bubble, callHeaderParam );
-    iBubbleManager->EndChanges();
-
-    return bubble;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::StartMOVideoCallAnimationHeaderL
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::StartMOVideoCallAnimationHeaderL(
-	CBubbleManager::TBubbleId aBubbleId,
-	const TDesC& aStateLabelText,
-    const TDesC& aStateShortLabelText)
-	{
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::StartMOVideoCallAnimationHeaderL");
-
-	// We have MO video call - start animating
-	iVideoCallAnimationHeader = CPhoneCallHeaderTextAnimation::InstanceL();
-	iVideoCallAnimationHeader->StartAnimatingVideoCallHeaderL(
-		aBubbleId,
-		aStateLabelText,
-		aStateShortLabelText,
-		*iBubbleManager );
-
-	}
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::CreateEmergencyCallHeaderL
-// -----------------------------------------------------------------------------
-//
-CBubbleManager::TBubbleId CPhoneBubbleWrapper::CreateEmergencyCallHeaderL(
-    TInt aCallId,
-    TPhoneCommandParam *aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::CreateEmergencyCallHeader");
-    TPhoneCmdParamEmergencyCallHeaderData* emergencyHeaderParam =
-        static_cast<TPhoneCmdParamEmergencyCallHeaderData*>(
-        aCommandParam );
-
-    iBubbleManager->StartChanges();
-
-    // Create the bubble if necessary
-    CBubbleManager::TBubbleId bubble;
-    if ( !iMapping->FindBubbleByCall( aCallId, bubble ) )
-        {
-        bubble = iBubbleManager->CreateCallHeader();
-        iMapping->AddToMappingL( bubble, aCallId, CBubbleManager::EActive, NULL );
-        }
-
-    iBubbleManager->SetState( bubble, CBubbleManager::EActive );
-
-    // Set the call header title
-    iBubbleManager->SetCLI(
-        bubble,
-        emergencyHeaderParam->HeaderText(),
-        CBubbleManager::ERight );
-
-    // Set ciphering indicator
-    iBubbleManager->SetCallFlag(
-        bubble,
-        CBubbleManager::ENoCiphering,
-        iCipheringIndicatorAllowed &&
-        !emergencyHeaderParam->Ciphering() );
-
-    // Set the call label as the CNAP text
-    SetCNAP( bubble, 
-            emergencyHeaderParam->LabelText(), 
-            CBubbleManager::ELeft );
-
-    // Set own phone number as the label
-    iBubbleManager->SetLabel(
-        bubble,
-        emergencyHeaderParam->OwnPhoneNumberText(),
-        CBubbleManager::ELeft );
-    iBubbleManager->EndChanges();
-
-    return bubble;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::UpdateCallHeaderDisplay
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::UpdateCallHeaderDisplay(
-    TInt aCallId,
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::UpdateCallHeaderDisplay");
-    CBubbleManager::TBubbleId bubble;
-
-    if ( iMapping->FindBubbleByCall( aCallId, bubble ) )
-        {
-        TPhoneCmdParamCallHeaderData* callHeaderParam =
-            static_cast<TPhoneCmdParamCallHeaderData*>( aCommandParam );
-
-        iBubbleManager->StartChanges();
-
-        SetCallHeaderParameters( bubble, callHeaderParam );
-
-		if( iVideoCallAnimationHeader )
-			{
-			if( callHeaderParam->CallState() != EPEStateDialing )
-				{
-				iVideoCallAnimationHeader->RemoveAnimatingVideoCallHeader();
-				delete iVideoCallAnimationHeader;
-    		    iVideoCallAnimationHeader = NULL;
-				}
-			}
-        // End changes
-        iBubbleManager->EndChanges();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::UpdateCallHeaderAndLabel
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::UpdateCallHeaderAndLabel(
-    TInt aCallId,
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::UpdateCallHeaderAndLabel");
-        CBubbleManager::TBubbleId bubble;
-
-    if ( iMapping->FindBubbleByCall( aCallId, bubble ) )
-        {
-        TPhoneCmdParamCallHeaderData* callHeaderParam =
-            static_cast<TPhoneCmdParamCallHeaderData*>( aCommandParam );
-
-        iBubbleManager->StartChanges();
-
-        SetCallHeaderParameters( bubble, callHeaderParam );
-
-        // Set the call label associated with the state
-        iBubbleManager->SetLabel(
-            bubble,
-            callHeaderParam->LabelText(),
-            CBubbleManager::ERight );
-
-        if( iVideoCallAnimationHeader )
-            {
-            if( callHeaderParam->CallState() != EPEStateDialing )
-                {
-                iVideoCallAnimationHeader->RemoveAnimatingVideoCallHeader();
-                delete iVideoCallAnimationHeader;
-                iVideoCallAnimationHeader = NULL;
-                }
-            }
-
-        // End changes
-        iBubbleManager->EndChanges();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::SetCallHeaderParameters
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetCallHeaderParameters(
-        TInt aBubble,
-        TPhoneCmdParamCallHeaderData* aCallHeaderParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetCallHeaderParameters");
-    __PHONELOG1(
-        EBasic,
-        EPhoneUIView,
-        "CPhoneBubbleWrapper::SetCallHeaderParameters callHeaderParam->CLIText = %S",
-        &aCallHeaderParam->CLIText() );
-
-    // Set CLI text
-    iBubbleManager->SetCLI(
-        aBubble,
-        aCallHeaderParam->CLIText(),
-        aCallHeaderParam->CLITextClippingDirection() );
-
-    // Set CNAP text if applicable
-    iBubbleManager->SetCNAP(
-            aBubble,
-            aCallHeaderParam->CNAPText(),
-            aCallHeaderParam->CNAPTextClippingDirection() );
-
-    iBubbleManager->SetCallFlags( aBubble, aCallHeaderParam->CallFlag() );
-
-    // Set ciphering indicator
-    iBubbleManager->SetCallFlag(
-        aBubble,
-        CBubbleManager::ENoCiphering, 
-        aCallHeaderParam->CipheringIndicatorAllowed() && 
-        !aCallHeaderParam->Ciphering() );
-
-    // Set line2 indicator
-    iBubbleManager->SetCallFlag(
-        aBubble,
-        CBubbleManager::ELine2,
-        aCallHeaderParam->Line2() );
-
-    if ( !iCallImageTextSupported )
-        {
-        if( aCallHeaderParam->Thumbnail() )
-            {
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::SetCallHeaderParameters()-> Set Thumbnail" );
-            // Thumbnail
-            iBubbleManager->SetThumbnail( aBubble, aCallHeaderParam->Thumbnail(), NULL );
-            }
-        }
-    else  // call object display
-        {
-        if ( aCallHeaderParam->CallerText().Length() )
-            {
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::SetCallHeaderParameters()-> Set 1.Call text");
-            // 1. Call text
-            iBubbleManager->SetCallObjectText( aBubble, aCallHeaderParam->CallerText() );
-            }
-        else if( aCallHeaderParam->Picture().Length() )
-            {
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::SetCallHeaderParameters()-> Set 2.Call image");
-            // 2. Call image
-            iBubbleManager->SetCallObjectImage( aBubble, aCallHeaderParam->Picture() );
-            }
-        else if( aCallHeaderParam->HasThumbnail() )
-            {
-            // 3. Thumbnail
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::SetCallHeaderParameters()-> Set 3.Thumbnail");
-            if ( aCallHeaderParam->Thumbnail() )
-                {
-                iBubbleManager->SetCallObjectImage( aBubble, aCallHeaderParam->Thumbnail(), NULL );
-                }
-            }
-        else
-            {
-            // do nothing
-            __PHONELOG(
-                EBasic,
-                EPhoneUIView,
-                "CPhoneBubbleWrapper::SetCallHeaderParameters()-> Do nothing");
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::SetNumberEntryContent
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetNumberEntryContent( const TDesC& aContent )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetNumberEntryContent");
-    iPhoneNumberEntry->SetNumberEntryContent( aContent );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::GetNumberEntryContent
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::GetNumberEntryContent(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::GetNumberEntryContent");
-
-    GetLocalizedNumberEntryContent( aCommandParam );
-
-    TPhoneCmdParamString* entryContent =
-        static_cast<TPhoneCmdParamString*>( aCommandParam );
-
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneBubbleWrapper::GetNumberEntryContent(%S)",
-        entryContent->String() );
-
-    AknTextUtils::ConvertDigitsTo( *entryContent->String(), EDigitTypeWestern );
-
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneBubbleWrapper::GetNumberEntryContent(%S)",
-        entryContent->String() );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::GetNumberEntryContent
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::GetLocalizedNumberEntryContent(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::GetLocalizedNumberEntryContent");
-    TPhoneCmdParamString* entryContent =
-        static_cast<TPhoneCmdParamString*>( aCommandParam );
-
-    // Get the initial number from number entry window
-    if ( iUseDialer )
-        {
-        iDialerNumberEntry->GetTextFromNumberEntry( *entryContent->String() );
-        }
-    else
-        {
-        iBubbleManager->GetTextFromNumberEntry( *entryContent->String() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::CreateNumberEntry
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::CreateNumberEntry()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::CreateNumberEntry");
-
-    iIsNumberEntryModeNumeric = ETrue;
-    if ( iUseDialer )
-        {
-        iDialerNumberEntry->CreateNumberEntry();
-        }
-    else
-        {
-        iBubbleManager->ResetEditorToDefaultValues();
-        if( iPhoneCustomization && 
-            iPhoneCustomization->AllowAlphaNumericMode() )
-            {    
-            iBubbleManager->ChangeEditorMode( ETrue );  
-            }
-        TInt flags = iFlags;
-        flags &= ~EFlagNumberEntryExists;
-
-        flags |= EFlagNumberEntryExists;
-        flags |= EFlagNumberEntryVisible;
-
-        HandleFlagsUpdated( flags );
-        }
-    }
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::SetNumberEntryObserver
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetNumberEntryObserver( MNumberEntryObserver& aObserver )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetNumberEntryObserver");
-
-    if ( iUseDialer )
-        {
-        iDialerNumberEntry->SetNumberEntryObserver( aObserver );
-        }
-
-    }
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::SetNumberEntryPromptText
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetNumberEntryPromptText( const TDesC& aPromptText )
-    {
-    iPhoneNumberEntry->SetNumberEntryPromptText( aPromptText );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::SetNumberEntryVisible
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetNumberEntryVisible(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetNumberEntryVisible");
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* visible =
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        if ( iUseDialer )
-            {
-            iDialerNumberEntry->SetNumberEntryVisible( visible->Boolean() );
-            }
-        else
-            {
-            TInt flags = iFlags;
-            flags &= ~EFlagNumberEntryVisible;
-            if ( visible->Boolean() )
-                {
-                flags |= EFlagNumberEntryVisible;
-                }
-            HandleFlagsUpdated( flags );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper.::RemoveNumberEntry
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::RemoveNumberEntry()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::RemoveNumberEntry");
-
-    if ( iUseDialer )
-        {
-        iDialerNumberEntry->RemoveNumberEntry( );
-        }
-    else
-        {
-        TInt flags = iFlags;
-        flags &= ~EFlagNumberEntryExists;
-
-        HandleFlagsUpdated( flags );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::GetNumberEntryCount
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::GetNumberEntryCount(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::CountNumberEntryCharacters");
-    TPhoneCmdParamInteger* integerParam = static_cast<TPhoneCmdParamInteger*>(
-        aCommandParam );
-
-    // Return the number of characters in the number entry
-    integerParam->SetInteger( CountNumberEntryCharacters() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::CountNumberEntryCharacters
-// ---------------------------------------------------------------------------
-//
-TInt CPhoneBubbleWrapper::CountNumberEntryCharacters()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::CountNumberEntryCharacters");
-
-    return iPhoneNumberEntry->CountNumberEntryCharacters();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::HandleNumberEntryChanged
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::HandleNumberEntryChanged()
-    {
-    iPhoneNumberEntry->HandleNumberEntryChanged();
-
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::HandleNumberEntryCommand
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetNumberEntryChangedCallBack( 
-        TPhoneCommandParam* aCommandParam )
-    {
-    iPhoneNumberEntry->SetNumberEntryChangedCallBack( aCommandParam );
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::HandleControlEventL
-//  
-//  This must be non leaving function, because others use it too.
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::HandleControlEventL( CCoeControl* aControl, 
-                                                     TCoeEvent aEventType)
-    {
-    if ( aControl == iBubbleManager->GetNumberEntry()->Parent() 
-         && aEventType == EEventStateChanged )
-        {
-        HandleNumberEntryChanged();
-                
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::IsNumberEntryUsed
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneBubbleWrapper::IsNumberEntryUsed()
-    {
-    return iPhoneNumberEntry->IsNumberEntryUsed();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::IsNumberEntryVisible
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneBubbleWrapper::IsNumberEntryVisible()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::IsNumberEntryVisible");
-    __PHONELOG1(
-            EBasic,
-            EPhoneUIView,
-            "CPhoneBubbleWrapper::IsNumberEntryVisible() Visible = %d",
-            iNumberEntryVisible );
-
-    if ( iUseDialer )
-        {
-        return iDialerNumberEntry->IsNumberEntryUsed();
-        }
-    else
-        {
-        return iBubbleManager->IsNumberEntryUsed() && iNumberEntryVisible;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::HandleKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CPhoneBubbleWrapper::HandleKeyEventL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::HandleKeyEventL");
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    CCoeControl* control(NULL);
-    if ( iUseDialer )
-        {
-        control = iDialerNumberEntry->GetNumberEntry();
-        }
-    else
-        {
-        control = iBubbleManager->GetNumberEntry();
-        if ( iPhoneCustomization && control )
-            {
-            iBubbleManager->GetEditorMode();
-            }
-        }
-
-    if ( control )
-        {
-        // Check if the given parameter is valid
-        if ( aCommandParam->ParamId() ==
-            TPhoneCommandParam::EPhoneParamIdKeyEvent )
-            {
-            TPhoneCmdParamKeyEvent* keyEventParam =
-                static_cast<TPhoneCmdParamKeyEvent*>( aCommandParam );
-
-            response = control->OfferKeyEventL(
-                keyEventParam->KeyEvent(), keyEventParam->EventCode() );
-            }
-        }
-
-    return response;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetPhoneMuted
-// Show or clear the "Mute" Icon.
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetPhoneMuted( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetPhoneMuted");
-    // Check if the given parameter is valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanParam =
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iBubbleManager->StartChanges();
-        iBubbleManager->SetPhoneMuted( booleanParam->Boolean() );
-        iBubbleManager->EndChanges();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::PrepareCallStateL
-// Prepare call bubble state.
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::PrepareCallStateL(
-    TInt aCallId,
-    TPEState aState,
-    const TDesC& aStateLabelText,
-    const TDesC& aStateShortLabelText )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::PrepareCallState");
-
-    if ( aCallId == KConferenceCallId && !iConference )
-        {
-        return;
-        }
-
-    // JMK: moved these two lines temporarily here
-    iBubbleManager->StartChanges();
-    CBubbleManager::TBubbleId bubble;
-
-    if ( !iMapping->FindBubbleByCall( aCallId, bubble ) )
-        {
-        bubble = iBubbleManager->CreateCallHeader();
-        iMapping->AddToMappingL( bubble, aCallId, CBubbleManager::ENone, NULL );
-        }
-
-    // Set the call label associated with the state
-    iBubbleManager->SetLabel(
-        bubble,
-        aStateLabelText,
-        CBubbleManager::ERight );
-
-
-    if( aState == EPEStateDialing &&
-        ( aCallId == KVideoTelephonyCallId1 ||
-	    aCallId == KVideoTelephonyCallId2 ) )
-		{
-        StartMOVideoCallAnimationHeaderL( bubble,
-                                          aStateLabelText,
-                                          aStateShortLabelText );
-		}
-
-    // Stop video call header animation if no EPEStateDialing state
-	if( iVideoCallAnimationHeader && ( aState != EPEStateDialing ))
-    	{
-    	iVideoCallAnimationHeader->RemoveAnimatingVideoCallHeader();
-    	}
-
-    CBubbleManager::TPhoneCallState callState = GetBubbleState( aState );
-
-    // Set state
-    iBubbleManager->SetState( bubble, callState );
-    iMapping->SetCallStateByCall( aCallId, callState );
-
-    // inform extension plugins
-    iBubbleExtensionManager->UpdateCallState( bubble, aState );
-
-    iBubbleManager->EndChanges();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::UpdateCallDuration
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::UpdateCallDuration(
-    TInt aCallId,
-    const TDesC& aDurationText )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::UpdateCallDuration");
-    CBubbleManager::TBubbleId bubble;
-
-    if ( iMapping->FindBubbleByCall( aCallId, bubble ) )
-        {
-        iBubbleManager->UpdateCallTime( bubble, aDurationText );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::CreateBubbleL
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TBubbleId CPhoneBubbleWrapper::CreateBubbleL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::CreateBubble");
-    CBubbleManager::TBubbleId bubble;
-
-    if ( !iMapping->FindBubbleByCall( aCallId, bubble ) )
-        {
-        bubble = iBubbleManager->CreateCallHeader();
-        iMapping->AddToMappingL( bubble, aCallId, CBubbleManager::ENone, NULL );
-        }
-
-    return bubble;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetCLI
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetCLI(
-    CBubbleManager::TBubbleId aId,
-    const TDesC& aText,
-    CBubbleManager::TPhoneClippingDirection aDirection )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetCLI");
-
-    // Start bubble manager changes
-    iBubbleManager->StartChanges();
-
-    iBubbleManager->SetCLI(
-        aId,
-        aText,
-        aDirection );
-
-    // End bubble manager changes
-    iBubbleManager->EndChanges();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetCnap
-// needed because of __SERIES60_PHONE_CNAP
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetCNAP(
-    CBubbleManager::TBubbleId aId,
-    const TDesC& aCnapText, 
-    CBubbleManager::TPhoneClippingDirection aDirection )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetCNAP");
-
-    iBubbleManager->SetCNAP(
-        aId, 
-        aCnapText, 
-        aDirection );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetNumberTypeIndicator
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetNumberTypeIndicator(
-    CBubbleManager::TBubbleId aBubbleId,
-    TPEPhoneNumberIdType aNumberType )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetNumberTypeIndicator");
-    CBubbleManager::TPhoneNumberType phoneNumberType =
-        CBubbleManager::ENotSet;
-
-    // map the number type to the bubble's number types
-    switch( aNumberType )
-        {
-        case EPEFaxNumber:
-            phoneNumberType = CBubbleManager::EFaxNumber;
-            break;
-
-        case EPEMobileNumber:
-            phoneNumberType = CBubbleManager::EMobile;
-            break;
-
-        case EPEPager:
-            phoneNumberType = CBubbleManager::EPager;
-            break;
-
-        case EPETelephoneNumber:
-            phoneNumberType = CBubbleManager::EPhone;
-            break;
-
-        case EPEAssistantNumber:
-            phoneNumberType = CBubbleManager::EAssistant;
-            break;
-
-        case EPECarNumber:
-            phoneNumberType = CBubbleManager::ECar;
-            break;
-
-        default:
-            break;
-        }
-
-    // signal the bubble manager to update the call type icon
-    iBubbleManager->SetNumberType( aBubbleId, phoneNumberType );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneBubbleWrapper::CreateConferenceL
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::CreateConferenceL(
-    TInt aCallId,
-    TPhoneCommandParam *aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::CreateConference");
-
-    TPhoneCmdParamCallHeaderData* callHeaderParam =
-            static_cast<TPhoneCmdParamCallHeaderData*>( aCommandParam );
-
-	if( !iParticipants )
-		{
-		// Create participants array if doesn't exist
-	    iParticipants = new ( ELeave ) CParticipantArray(
-	        KConferenceMaxParticipants );
-	    iParticipants->SetReserveL( KConferenceMaxParticipants );
-		}
-
-    // find out call ids for initial conference members
-    TInt firstCallId( KErrNotFound );
-    TInt secondCallId( KErrNotFound );
-    TInt callCount = iMapping->ItemCount();
-
-    // Find bubbles to conference
-    for ( TInt index = 0; index < callCount; index++ )
-        {
-        TInt callId = iMapping->CallIdAt( index );
-        CBubbleManager::TPhoneCallState bubbleState;
-        bubbleState = iMapping->FindCallStateByCall( callId );
-
-
-        if ( firstCallId == KErrNotFound )
-            {
-            TInt callId = iMapping->CallIdAt( index );
-            if( bubbleState == CBubbleManager::EActive ||
-                bubbleState == CBubbleManager::EOnHold )
-                {
-                firstCallId = iMapping->CallIdAt( index );
-                }
-            }
-        else if ( secondCallId == KErrNotFound )
-            {
-            if( bubbleState == CBubbleManager::EActive ||
-                bubbleState == CBubbleManager::EOnHold )
-
-                {
-                secondCallId = iMapping->CallIdAt( index );
-                }
-            }
-        }
-
-    if ( firstCallId != KErrNotFound && secondCallId != KErrNotFound )
-        {
-        // get bubbles which have to connect to conference
-        CBubbleManager::TBubbleId first = CreateBubbleL( firstCallId );
-        CBubbleManager::TBubbleId second = CreateBubbleL( secondCallId );
-
-        iBubbleManager->StartChanges();
-        CBubbleManager::TBubbleId conference =
-            iBubbleManager->CreateConference( first, second );
-        iBubbleManager->SetState( conference, CBubbleManager::EActive );
-        iBubbleManager->SetLabel( conference, KNullDesC );
-        iBubbleManager->SetCallTime( conference, KNullDesC );
-        // Set CLI text
-        iBubbleManager->SetCLI(
-                conference, callHeaderParam->CLIText(), CBubbleManager::ERight );
-
-        // Set ciphering indicator
-        iBubbleManager->SetCallFlag(
-            conference,
-            CBubbleManager::ENoCiphering,
-            callHeaderParam->CipheringIndicatorAllowed() && 
-            !callHeaderParam->Ciphering() );
-
-        // add calls to participant list - conference call itself is not a participant
-        iParticipants->AppendL(firstCallId);
-        iParticipants->AppendL(secondCallId);
-
-        if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) ||
-             callCount > KNumberOfActiveCalls )
-            {
-            SetConferenceExpand( EFalse );
-            }
-        else
-            {
-            SetConferenceExpand( ETrue );
-            }
-
-        // add conference to mapping
-        iMapping->AddToMappingL(conference, aCallId, CBubbleManager::EActive, NULL);
-
-        TInt count = iParticipants->Count();
-
-        for ( TInt index = 0; index < count; index++ )
-            {
-            CBubbleManager::TBubbleId bubble =
-                CreateBubbleL( iParticipants->At( index ) );
-            iBubbleManager->SetState( bubble, CBubbleManager::EActive );
-            iBubbleManager->SetLabel( bubble, KNullDesC );
-            iBubbleManager->SetCallTime( bubble, KNullDesC );
-            }
-
-    	// If image/text is enabled and theme image is set, use it
-      	if( iCallImageTextSupported )
-    	  	{
-            if ( iCallTheme->CallImageThemeSettings() == 2 )
-                {
-                // 4. Theme image
-                iBubbleManager->SetCallObjectFromTheme( conference );
-                }
-            else if ( iCallTheme->CallImageThemeSettings() == 1 )
-                {
-                // 5. User defined theme image
-                iBubbleManager->SetCallObjectImage(
-                    conference,
-                    iCallTheme->CallImageThemeFilePath() );
-                }
-    	  	}
-      	
-      	// Read and save internally the simplified conference call header 
-      	// setting for the service where conference is to be created.
-      	SetSimplifiedConferenceCallHeaderStatus( 
-      	    IsSimplifiedConferenceCallHeaderEnabledL( 
-      	        callHeaderParam->ServiceId() ) );
-      	
-        iBubbleManager->EndChanges();
-        iConference = ETrue;
-        }
-    else
-        {
-        __PHONELOG(
-            EBasic,
-            EPhoneUIView,
-            "CPhoneBubbleWrapper::CreateConference -> No valid call bubbles -> Can't Create conference " );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleWrapper::RemoveConferenceBubbleL
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CPhoneBubbleWrapper::RemoveConferenceBubbleL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::RemoveConferenceBubbleL");
-    iBubbleManager->SetState( CreateBubbleL( KConferenceCallId ), CBubbleManager::EDisconnected );
-    
-    SetConferenceExpand( EFalse );
-    SetConferenceHighlight( EFalse );
-    SetSimplifiedConferenceCallHeaderStatus( EFalse );
-    iBubbleManager->RemoveConference();
-    
-    // remove conference from mapping
-    iMapping->RemoveFromMapping( KConferenceCallId );
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleWrapper::RemoveConferenceL
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CPhoneBubbleWrapper::RemoveConferenceL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::RemoveConference");
-
-	if ( iConference )
-		{
-		iBubbleManager->StartChanges();
-
-	    // Set conference bubble state and remove bubble
-	    RemoveConferenceBubbleL();
-
-	    TInt count = iParticipants->Count();
-
-	    // empty participants list
-	    iParticipants->Delete(0, count);
-
-	    iBubbleManager->EndChanges();
-
-	    iConference = EFalse;
-		}
-    }
-// ---------------------------------------------------------
-// CPhoneBubbleWrapper::AddToConferenceL
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CPhoneBubbleWrapper::AddToConferenceL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::AddToConference");
-
-    iBubbleManager->StartChanges();
-
-    CBubbleManager::TBubbleId bubble = CreateBubbleL( aCallId );
-
-    iBubbleManager->AddRowToConference( bubble );
-
-    iBubbleManager->SetState( bubble, CBubbleManager::EActive );
-    iBubbleManager->SetLabel( bubble, KNullDesC );
-    iBubbleManager->SetCallTime( bubble, KNullDesC );
-
-    if ( !FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) &&
-         iMapping->FindCallIdByCallState( CBubbleManager::EWaiting ) < 0 &&
-         iMapping->FindCallIdByCallState( CBubbleManager::EOutgoing ) < 0 &&
-         iMapping->FindCallIdByCallState( CBubbleManager::EDisconnected ) < 0 )
-        {
-        SetConferenceExpand( ETrue );
-        }
-
-    iParticipants->AppendL( aCallId );
-
-    iBubbleManager->EndChanges();
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleWrapper::RemoveFromConferenceL
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CPhoneBubbleWrapper::RemoveFromConferenceL( TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::RemoveFromConference");
-    TInt pos = FindParticipantPosition( aCallId );
-
-    if ( pos != KErrNotFound )
-        {
-        iBubbleManager->StartChanges();
-        TInt count = iParticipants->Count();
-        CBubbleManager::TBubbleId bubble = CreateBubbleL( aCallId );
-	    iBubbleManager->RemoveRowFromConference( bubble );
-
-        // If there are enough participants for conference, then
-        // simply remove it from conference.
-        if ( count > KPhoneConferenceInitialSize )
-            {
-            iParticipants->Delete( pos );
-            }
-        else
-        // Otherwise we also have to clear the conference.
-            {
-            RemoveConferenceL();
-            }
-
-	    iBubbleManager->RemoveCallHeader( bubble );
-	    iMapping->RemoveFromMapping( aCallId );
-	    iBubbleManager->EndChanges();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleWrapper::FindParticipantPosition
-// ---------------------------------------------------------
-//
-TInt CPhoneBubbleWrapper::FindParticipantPosition(
-    const TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::FindParticipantPosition");
-    TInt result = KErrNotFound;
-
-    TInt index;
-    TInt count = iParticipants->Count();
-
-    for ( index = 0; index < count; index++ )
-        {
-        if ( iParticipants->At( index ) == aCallId )
-            {
-            result = index;
-            break;
-            }
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetConferenceExpand
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetConferenceExpand( TBool aStatus )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetConferenceExpand");
-    TInt flags = iFlags;
-
-    flags &= ~EFlagConferenceExpanded;
-
-    if ( aStatus )
-        {
-        flags |= EFlagConferenceExpanded;
-        }
-
-    HandleFlagsUpdated( flags );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetConferenceHighlight
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetConferenceHighlight(TBool aStatus)
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetConferenceHighlight");
-    TInt flags = iFlags;
-    flags &= ~EFlagConferenceReqExpanded;
-
-    if ( aStatus )
-        {
-        flags |= EFlagConferenceReqExpanded;
-        }
-
-    HandleFlagsUpdated( flags );
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleWrapper::HandleFlagsUpdated
-// ---------------------------------------------------------
-//
-void CPhoneBubbleWrapper::HandleFlagsUpdated(
-    TInt aNewFlags )
-    {
-    // If no changes, then just return.
-    if ( iFlags == aNewFlags )
-        {
-        return;
-        }
-
-    TInt old = iFlags;
-    iFlags = aNewFlags;
-
-    if ( !( iFlags & EFlagNumberEntryExists ) )
-        {
-        // Number entry can't be visible if it doesn't exist.
-        iFlags &= ~EFlagNumberEntryVisible;
-        iNumberEntryVisible = EFalse;
-        }
-
-    iBubbleManager->StartChanges();
-
-    // Check if number entry has been removed.
-    if ( old & ~iFlags & EFlagNumberEntryExists )
-        {
-        iBubbleManager->RemoveNumberEntry();
-        }
-
-    // If conference is required to expanded, then it must be
-    // kept so.
-    if ( iFlags & EFlagConferenceReqExpanded )
-        {
-        // If there has been change, then enable it.
-        if ( !( old & EFlagConferenceReqExpanded) )
-            {
-            iBubbleManager->SetExpandedConferenceCallHeader( ETrue );
-            iBubbleManager->SetSelectionInConference( 1 );
-            iBubbleManager->SetNumberEntryVisible( EFalse );
-            iNumberEntryVisible = EFalse;
-            }
-
-        // We do not have to anything else.
-        iBubbleManager->EndChanges();
-        return;
-        }
-
-    // Now we can consider that there is no highlight.
-    iBubbleManager->SetSelectionInConference( 0 );
-
-    // Number entry exists now.
-    if ( iFlags & EFlagNumberEntryExists )
-        {
-        // If there has been change, create number entry.
-        if ( !( old & EFlagNumberEntryExists ) )
-            {
-            iBubbleManager->CreateNumberEntry();
-            iNumberEntryVisible = ETrue;
-            }
-
-        // If number entry exists, then make it visible.
-        iBubbleManager->SetNumberEntryVisible( iFlags & EFlagNumberEntryVisible );
-        iNumberEntryVisible = ( iFlags & EFlagNumberEntryVisible );
-
-        // Shrink conference
-        iBubbleManager->SetExpandedConferenceCallHeader( EFalse );
-        }
-
-    // If conference expanded flag, then expand/shrink conference.
-    if ( iFlags == EFlagConferenceExpanded )
-        {
-        iBubbleManager->SetExpandedConferenceCallHeader( ETrue );
-        }
-    else if ( !( iFlags & EFlagConferenceExpanded ) )
-        {
-        iBubbleManager->SetExpandedConferenceCallHeader( EFalse );
-        }
-    
-    // Simplified conference call header setting overrides 
-    // EFlagConferenceExpanded setting.
-    if ( iFlags & EFlagSimplifiedConferenceCallHeader )
-        {
-        iBubbleManager->SetExpandedConferenceCallHeader( EFalse );
-        }
-    
-    iBubbleManager->EndChanges();
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleWrapper::SelectedConfMemberCallIdL
-// ---------------------------------------------------------
-//
-TBool CPhoneBubbleWrapper::SelectedConfMemberCallIdL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    CBubbleManager::TBubbleId selected =
-        iBubbleManager->SelectionIdInConference();
-    TInt callId;
-
-    TBool ok = iMapping->FindCallByBubble( selected, callId );
-
-    TPhoneCmdParamInteger* locationContent =
-        static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-    locationContent->SetInteger( callId );
-    return ok;
-    }
-
-// ---------------------------------------------------------
-// CPhoneBubbleWrapper::OpenConferenceList
-// ---------------------------------------------------------
-//
-void CPhoneBubbleWrapper::OpenConferenceList(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::OpenConferenceList");
-    // Check if the given parameter is valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanParam =
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-        SetConferenceHighlight( booleanParam->Boolean() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::MoveHighlightInConference
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::MoveHighlightInConference(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::MoveHighlightInConference");
-    // Check Is selection list Highlight
-    if ( iFlags & EFlagConferenceReqExpanded )
-        {
-        if ( aCommandParam->ParamId() ==
-            TPhoneCommandParam::EPhoneParamIdKeyEvent )
-            {
-            TPhoneCmdParamKeyEvent* keyEventParam =
-                static_cast<TPhoneCmdParamKeyEvent*>( aCommandParam );
-
-            if ( keyEventParam->KeyEvent().iCode == EKeyUpArrow )
-                {
-                iBubbleManager->MoveHighlightOneUpInConference();
-                }
-            else if ( keyEventParam->KeyEvent().iCode == EKeyDownArrow  )
-                {
-                iBubbleManager->MoveHighlightOneDownInConference();
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::GetCallState
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneBubbleWrapper::GetCallState(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::GetCallState");
-    TPEState callState = EPEStateUnknown;
-
-    CBubbleManager::TPhoneCallState bubbleState = CBubbleManager::ENone;
-    if ( aCommandParam->ParamId() ==
-        TPhoneCommandParam::EPhoneParamIdCallStateData )
-        {
-        TPhoneCmdParamCallStateData* stateParam =
-            static_cast<TPhoneCmdParamCallStateData*>( aCommandParam );
-        bubbleState = iMapping->FindCallStateByCall( stateParam->CallId() );
-        callState = ConvertCallState(  bubbleState );
-        stateParam->SetCallState( callState );
-        }
-    return bubbleState;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::GetCallIdByState
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneBubbleWrapper::GetCallIdByState(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::GetCallIdByState");
-    TInt callId = KErrNotFound;
-
-    if ( aCommandParam->ParamId() ==
-        TPhoneCommandParam::EPhoneParamIdCallStateData )
-        {
-        TPhoneCmdParamCallStateData* stateParam =
-            static_cast<TPhoneCmdParamCallStateData*>( aCommandParam );
-        CBubbleManager::TPhoneCallState callState =
-            GetBubbleState( stateParam->CallState() );
-
-         __PHONELOG1(
-            EBasic,
-            EPhoneUIView,
-            "CPhoneBubbleWrapper::GetCallIdByState iConference = %d",
-            iConference );
-
-        if ( iConference )
-            {
-            if ( iMapping->FindCallStateByCall( KConferenceCallId ) == callState )
-                {
-                callId = KConferenceCallId;
-                }
-            else
-                {
-                callId = iMapping->FindCallIdByCallState( callState );
-
-                // check if this call conference member
-                if ( FindParticipantPosition( callId ) != KErrNotFound )
-                    {
-                    callId = KConferenceCallId;
-                    }
-
-                // Check if not found Incoming that is there waiting
-                if ( ( callId == KErrNotFound ) &&
-                    ( callState == CBubbleManager::EIncoming ) )
-                    {
-                    callId = iMapping->FindCallIdByCallState( CBubbleManager::EWaiting );
-                    }
-                }
-            }
-        else
-            {
-            callId = iMapping->FindCallIdByCallState( callState );
-            // Check if not found Incoming that is there waiting
-            if ( ( callId == KErrNotFound ) &&
-                ( callState == CBubbleManager::EIncoming ) )
-                {
-                callId = iMapping->FindCallIdByCallState(
-                    CBubbleManager::EWaiting );
-                }
-            }
-
-        stateParam->SetCallId( callId );
-        }
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::GetBubbleState
-// -----------------------------------------------------------------------------
-//
-CBubbleManager::TPhoneCallState CPhoneBubbleWrapper::GetBubbleState(
-    TPEState aState )
-    {
-    CBubbleManager::TPhoneCallState callState = CBubbleManager::ENone;
-    switch ( aState )
-        {
-        case EPEStateIdle:
-            callState = CBubbleManager::EDisconnected;
-            break;
-
-        case EPEStateDialing:
-            callState = CBubbleManager::EOutgoing;
-            break;
-
-        case EPEStateRinging:
-            if ( iMapping->ItemCount() > 1 )
-                {
-                callState = CBubbleManager::EWaiting;
-                }
-            else
-                {
-                callState = CBubbleManager::EIncoming;
-                }
-            break;
-
-        case EPEStateConnecting:
-            callState = CBubbleManager::EAlerting;
-            break;
-
-        case EPEStateConnected:
-            callState = CBubbleManager::EActive;
-            break;
-
-        case EPEStateHeld:
-            callState = CBubbleManager::EOnHold;
-            break;
-
-        case EPEStateDisconnecting:
-            callState = CBubbleManager::EDisconnected;
-            break;
-
-        case EPEStateConferenceIdle:
-            callState = CBubbleManager::EDisconnected;
-            break;
-
-        // GSM specific
-        case EPEStateConnectedConference:
-            callState = CBubbleManager::EActive;
-            break;
-
-        case EPEStateHeldConference:
-            callState = CBubbleManager::EOnHold;
-            break;
-
-        case EPEStateUnknown:
-            break;
-
-        default:
-            break;
-        }
-    return callState;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::ConvertCallState
-// -----------------------------------------------------------------------------
-//
-TPEState CPhoneBubbleWrapper::ConvertCallState(
-    CBubbleManager::TPhoneCallState aBubbleState )
-    {
-    TPEState callState = EPEStateUnknown;
-    switch ( aBubbleState )
-        {
-        case CBubbleManager::EOutgoing:
-            callState = EPEStateDialing;
-            break;
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-            callState = EPEStateRinging;
-            break;
-        case CBubbleManager::EAlerting:
-            callState = EPEStateConnecting;
-            break;
-        case CBubbleManager::EActive:
-            callState = EPEStateConnected;
-            break;
-        case CBubbleManager::EOnHold:
-            callState = EPEStateHeld;
-            break;
-        case CBubbleManager::EDisconnected:
-            callState = EPEStateDisconnecting;
-            break;
-        default:
-            break;
-        }
-    return callState;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::ConferenceMemberToPrivateL
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::ConferenceMemberToPrivateL(
-        TInt aCallId )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::ConferenceMemberToPrivate");
-    TInt pos = FindParticipantPosition( aCallId );
-
-    if ( pos != KErrNotFound )
-        {
-        TInt count = iParticipants->Count();
-
-        // If there are enough participants for conference, then
-        // simply remove it from conference.
-        if ( count > KPhoneConferenceInitialSize )
-            {
-            iParticipants->Delete( pos );
-            SetConferenceHighlight( EFalse );
-            SetConferenceExpand( EFalse );
-            iBubbleManager->StartChanges();
-            CBubbleManager::TBubbleId bubble = CreateBubbleL( aCallId );
-            iBubbleManager->RemoveRowFromConference( bubble );
-            iBubbleManager->EndChanges();
-            }
-        else
-        // Otherwise we also have to clear the conference.
-            {
-            RemoveConferenceL();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::GetActiveCallsCount
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::GetActiveCallsCount( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::GetActiveCallsCount");
-
-    if ( aCommandParam->ParamId() ==
-        TPhoneCommandParam::EPhoneParamIdInteger )
-        {
-        TPhoneCmdParamInteger* intParam =
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-        intParam->SetInteger( CountNumberOfActiveCalls() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::CountNumberOfActiveCalls
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneBubbleWrapper::CountNumberOfActiveCalls() const
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::CountNumberOfActiveCalls");
-    TInt callCount = iMapping->ItemCount();
-    TInt activeCallCount = 0;
-
-    if ( iConference )
-        {
-        if ( iMapping->FindCallIdByCallState(
-            CBubbleManager::EActive ) != KErrNotFound )
-            {
-            activeCallCount++;
-            }
-        if ( iMapping->FindCallIdByCallState(
-            CBubbleManager::EOnHold ) != KErrNotFound )
-            {
-            activeCallCount++;
-            }
-        if ( iMapping->FindCallIdByCallState(
-            CBubbleManager::EDisconnected ) != KErrNotFound )
-            {
-            activeCallCount++;
-            }
-        }
-    else
-        {
-        CBubbleManager::TPhoneCallState bubbleState = CBubbleManager::ENone;
-        TInt callId ( KErrNotFound );
-
-        for ( TInt index = ( callCount - 1 ); index >= 0; index-- )
-            {
-            callId = iMapping->CallIdAt( index );
-            bubbleState = iMapping->FindCallStateByCall( callId );
-
-            if ( bubbleState == CBubbleManager::EActive ||
-                 bubbleState == CBubbleManager::EOnHold ||
-                 bubbleState == CBubbleManager::EDisconnected )
-                {
-                activeCallCount++;
-                }
-            }
-        }
-    return activeCallCount;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::GetIsConference
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::GetIsConference( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::GetIsConference");
-
-    if( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanValue =
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-        booleanValue->SetBoolean( iConference );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::CallExistsInConference
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::CallExistsInConference(
-    TInt aCallId,
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::CallExistsInConference");
-
-    if( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean*  conferenceDataValue =
-            static_cast<TPhoneCmdParamBoolean*>(
-            aCommandParam );
-        if ( FindParticipantPosition( aCallId ) == KErrNotFound )
-            {
-            conferenceDataValue->SetBoolean( EFalse );
-            }
-        else
-            {
-            conferenceDataValue->SetBoolean( ETrue );
-            }
-        }
-    }
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::RemoveAllCalls
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::RemoveAllCallHeadersL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "RemoveAllCallHeaders::RemoveAllCallHeadersL");
-    if ( iConference )
-        {
-        RemoveConferenceL();
-        }
-    TInt callCount = iMapping->ItemCount();
-
-    // Find bubbles to conference
-    // Delete in reverse order or otherwise mapping gets corrupted in between
-    for ( TInt index = ( callCount - 1 ); index >= 0; index-- )
-        {
-        RemoveCallHeaderL( iMapping->CallIdAt( index ));
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::AddToConferenceL
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::AddToConferenceL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::AddToConference");
-    if ( iConference && !IsMaxMembersInConf() )
-        {
-        TInt callCount = iMapping->ItemCount();
-        TInt index = callCount-1;
-        TInt callId;
-
-        while ( index >= 0 )
-            {
-            callId = iMapping->CallIdAt( index );
-            // Check that call not conference
-            if ( callId != KConferenceCallId &&
-                 iMapping->FindCallStateByCall( callId ) !=
-                        CBubbleManager::EWaiting )
-                {
-                if ( FindParticipantPosition( callId )
-                    == KErrNotFound )
-                    {
-                    AddToConferenceL( callId );
-                    return;
-                    }
-                }
-            index--;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::UpdateCipheringIndicator
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::UpdateCipheringIndicator(
-    TInt aCallId, TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::SetCiphering");
-    
-    TPhoneCmdParamCallHeaderData* callHeaderParam = 
-        static_cast<TPhoneCmdParamCallHeaderData*>( aCommandParam );
-        
-    iCipheringIndicatorAllowed = callHeaderParam->CipheringIndicatorAllowed();
-    
-    TInt callCount( iMapping->ItemCount() );
-    if( callCount > 0 )
-        {
-        iBubbleManager->StartChanges();
-
-        for( TInt i = 0; i < callCount; i++ )
-            {
-// Update ciphering to active bubble
-            CBubbleManager::TBubbleId bubble = iMapping->BubbleAt( i );
-            if ( aCallId == iMapping->CallIdAt( i ) )
-                {
-                iBubbleManager->SetCallFlag( 
-                    bubble, 
-                    CBubbleManager::ENoCiphering,
-                    iCipheringIndicatorAllowed && 
-                    !callHeaderParam->Ciphering() ); 
-                }
-            }
-            
-        iBubbleManager->EndChanges();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::IsMaxMembersInConf
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneBubbleWrapper::IsMaxMembersInConf() const
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::IsMaxMembersInConf");
-    return ( iParticipants->Count() == KConferenceMaxParticipants );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::PlayVideoRingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::PlayVideoRingTone(
-    const TDesC& aFileName,
-    TPlayMode aPlayMode,
-    TInt aVolumeLevel,
-    TBool aArbitraryScaling,
-    MPhoneVideoPlayerObserver* aObserver )
-    {
-    // store the observer
-    iVideoPlayerObserver = aObserver;
-
-    // convert the play type
-    CBubbleManager::TBubbleVideoPlayMode bmPlayMode;
-    switch ( aPlayMode )
-        {
-        case EPlayOnce:
-            bmPlayMode = CBubbleManager::EPlayOnce;
-            break;
-        case EPlayAscending:
-            bmPlayMode = CBubbleManager::EPlayAscending;
-            break;
-        case EPlayInLoop:
-        default:
-            bmPlayMode = CBubbleManager::EPlayInLoop;
-            break;
-        }
-
-    iBubbleManager->StartChanges();
-    iBubbleManager->SetVideoRingTone( aFileName,
-                                     bmPlayMode,
-                                     aVolumeLevel,
-                                     aArbitraryScaling,
-                                     this );
-    iBubbleManager->EndChanges();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::StopVideoRingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::StopVideoRingTone()
-    {
-    iBubbleManager->StopVideoRingTone();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::MuteVideoRingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::MuteVideoRingTone()
-    {
-    iBubbleManager->MuteVideoRingTone();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::CancelVideoRingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::CancelVideoRingTone()
-    {
-    iBubbleManager->StartChanges();
-    iBubbleManager->CancelVideoRingTone();
-    iBubbleManager->EndChanges();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::HandleBubbleVideoPlaybackEvent
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::HandleBubbleVideoPlaybackEvent(
-    TBubbleVideoPlaybackEvent aEvent )
-    {
-
-    if ( iVideoPlayerObserver )
-        {
-        switch ( aEvent )
-            {
-            case EPlayerInitComplete:
-                iVideoPlayerObserver->HandleVideoPlayerInitComplete();
-                break;
-            case EPlayingComplete:
-                iVideoPlayerObserver->HandleVideoPlayerPlayingComplete();
-                break;
-            default:
-                break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleManager::HandleBubbleVideoPlaybackError
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::HandleBubbleVideoPlaybackError(
-    TBubbleVideoPlaybackError aErrorType, TInt aErrorCode )
-    {
-
-    if ( iVideoPlayerObserver )
-        {
-        switch ( aErrorType )
-            {
-            case EPlayerInitFailure:
-                iVideoPlayerObserver->HandleVideoPlayerError(
-                    MPhoneVideoPlayerObserver::EVideoPlayerInitializingFailure,
-                    aErrorCode );
-                break;
-            case EPlaybackFailure:
-                iVideoPlayerObserver->HandleVideoPlayerError(
-                    MPhoneVideoPlayerObserver::EVideoPlayerPlayingFailure,
-                    aErrorCode );
-                break;
-            default:
-                break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleManager::HandleCommandL
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::HandleCommandL( TInt /*aCommand*/ )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneBubbleWrapper::HandleCommandL");
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::ToggleNumberEntryAlphaNumericMode
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::ToggleNumberEntryAlphaNumericMode(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-        "CPhoneBubbleWrapper::ToggleNumberEntryAlphaNumericMode()" );
-    if( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean*  modeAlpha =
-            static_cast<TPhoneCmdParamBoolean*>(
-            aCommandParam );
-
-        if ( iIsNumberEntryModeNumeric )
-	        {
-	        iIsNumberEntryModeNumeric = EFalse;
-	        if ( IsNumberEntryNumericMode() )
-		        {
-		        if ( !iUseDialer )
-		            {
-		            if ( CountNumberEntryCharacters() == 1 )
-	                    {
-	                    // Number entry contents is cleared as specified in 
-	                    // In-Call Operations, 4.2 Option menu functions.
-	                    iBubbleManager->SetTextToNumberEntry( KNullDesC() );
-	                    }
-		            iBubbleManager->ChangeEditorMode( EFalse );
-		            }
-		        }
-	        }
-        else
-	        {
-	        iIsNumberEntryModeNumeric = ETrue;
-	        if ( !IsNumberEntryNumericMode() )
-		        {
-	             if ( !iUseDialer )
-	                 {
-	                 iBubbleManager->ChangeEditorMode( EFalse );
-	                 }
-		        }		
-	        }
-        modeAlpha->SetBoolean( !iIsNumberEntryModeNumeric );
-        }
-    }
-        
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::OpenVKBL
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::OpenVkbL()
-    {
-    if ( iUseDialer )
-        {
-        iDialerNumberEntry->OpenVkbL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::GetNumberEntryCursorPosition
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::GetNumberEntryCursorPosition(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-        "CPhoneBubbleWrapper::GetNumberEntryCursorPosition()" );
-    if ( aCommandParam->ParamId() ==
-        TPhoneCommandParam::EPhoneParamIdInteger )
-        {
-        TPhoneCmdParamInteger* intParam =
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-        CAknPhoneNumberEditor* control(NULL); 
-            
-        if ( iUseDialer )
-            {
-            control = static_cast<CAknPhoneNumberEditor*>
-                ( iDialerNumberEntry->GetNumberEntry() );
-            }
-        else
-            {
-            control = static_cast<CAknPhoneNumberEditor*>
-                ( iBubbleManager->GetNumberEntry() );
-            }
-        intParam->SetInteger( control->CursorPos() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetNumberEntryCursorPositionL
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetNumberEntryCursorPositionL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-        "CPhoneBubbleWrapper::SetNumberEntryCursorPositionL() ");
-    if ( aCommandParam->ParamId() ==
-        TPhoneCommandParam::EPhoneParamIdInteger )
-        {
-        TPhoneCmdParamInteger* intParam =
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-        CAknPhoneNumberEditor* control(NULL);
-            
-        if ( iUseDialer )
-            {    
-            control = static_cast<CAknPhoneNumberEditor*>
-                ( iDialerNumberEntry->GetNumberEntry() );
-            }
-        else
-            {
-            control = static_cast<CAknPhoneNumberEditor*>
-                ( iBubbleManager->GetNumberEntry() );
-            }
-        control->SetCursorPosL( intParam->Integer(), EFalse );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::IsNumberEntryNumericMode
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneBubbleWrapper::IsNumberEntryNumericMode() const
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneBubbleWrapper::IsNumberEntryNumericMode()" );
-    if ( iUseDialer )
-        { 
-        return iDialerNumberEntry->GetEditorMode() == EAknEditorNumericInputMode;
-        }
-    else
-        {
-        return iBubbleManager->GetEditorMode() == EAknEditorNumericInputMode;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::IsNENumericMode()
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneBubbleWrapper::IsNENumericMode() const
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneBubbleWrapper::IsNENumericMode()" );
-    
-    if ( iUseDialer )
-        {
-        return EAknEditorNumericInputMode == 
-            iDialerNumberEntry->GetEditorMode();
-        }
-    else
-        {
-        return iIsNumberEntryModeNumeric;    
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::StartChanges
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::StartChanges()
-    {
-    iBubbleManager->StartChanges();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::EndChanges
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::EndChanges()
-    {
-    iBubbleManager->EndChanges();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleManager::SetTouchPaneVisible
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetTouchPaneVisible( TBool aVisible )
-    {
-    iBubbleManager->StartChanges();
-    iBubbleManager->SetTouchPaneVisible( aVisible );
-    iBubbleManager->EndChanges();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::TouchPane
-// -----------------------------------------------------------------------------
-//
-MBubbleTouchPaneInterface& CPhoneBubbleWrapper::TouchPane() const
-    {
-    return *iBubbleManager->TouchPane();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::BubbleManager
-// -----------------------------------------------------------------------------
-//
-CBubbleManager& CPhoneBubbleWrapper::BubbleManager()
-    {
-    return *iBubbleManager;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::BubbleManager
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CPhoneBubbleWrapper::Control()
-    {
-    return iBubbleManager;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::IsConferenceInExpandedMode
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneBubbleWrapper::IsConferenceInExpandedMode() const
-    {
-    return iFlags & EFlagConferenceReqExpanded;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::LoadPlugins
-// Loads the bubble extension plugins.
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::LoadPlugins()
-    {
-    TRAP_IGNORE( iBubbleExtensionManager->InitializeL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetPhoneCustomization
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetPhoneCustomization( 
-        MPhoneCustomization* aCustomization )
-    {
-    iPhoneCustomization = aCustomization;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetNumberEntry
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetNumberEntry( MNumberEntry* aNumberEntry )
-    {
-    iDialerNumberEntry = aNumberEntry;
-    iPhoneNumberEntry->SetNumberEntry( aNumberEntry );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::CallThemeSettingsChanged
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::CallThemeSettingsChanged()
-    {
-    iBubbleManager->PreloadCallThemeImage(
-            iCallTheme->CallImageThemeSettings() == 2 );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::KeypadAudioEnabled
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::KeypadAudioEnabled()
-    {
-    // Tactile sound feedback must be disabled when keypad volume is 1...5
-    // otherwise DTMF tone and tactile tone is played simultaneously.
-    iPhoneNumberEntry->EnableTactileFeedback( EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::KeypadAudioDisabled
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::KeypadAudioDisabled()
-    {
-    // Tactile sound feedback can be enabled when keypad volume is 0
-    iPhoneNumberEntry->EnableTactileFeedback( ETrue );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::IsSimplifiedConferenceCallHeaderEnabledL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneBubbleWrapper::IsSimplifiedConferenceCallHeaderEnabledL( 
-        TUint32 aServiceId ) const
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, 
-        "CPhoneBubbleWrapper::IsSimplifiedConferenceCallHeaderEnabledL" );
-    
-    TBool isSimplifiedBubble = EFalse;
-    
-    CSPSettings* settings = CSPSettings::NewLC();
-    CSPProperty* property = CSPProperty::NewLC();
-    
-    TInt serviceMask = 0;
-    TInt result = settings->FindPropertyL( 
-        aServiceId, EPropertyServiceAttributeMask, *property );
-    if ( KErrNone == result ) 
-        {
-        result = property->GetValue( serviceMask );
-        if ( KErrNone == result ) 
-            {
-            isSimplifiedBubble =
-                ( serviceMask & static_cast<TInt>( ESimplifiedConferenceCallBubble ) );
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( property );
-    CleanupStack::PopAndDestroy( settings );
-    
-    return isSimplifiedBubble; 
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneBubbleWrapper::SetSimplifiedConferenceCallHeaderStatus
-// -----------------------------------------------------------------------------
-//
-void CPhoneBubbleWrapper::SetSimplifiedConferenceCallHeaderStatus( 
-        TBool aOnOff )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, 
-        "CPhoneBubbleWrapper::SetSimplifiedConferenceCallHeaderStatus" );
-    
-    TInt flags = iFlags;
-    flags &= ~EFlagSimplifiedConferenceCallHeader;
-    
-    if ( aOnOff )
-        {
-        flags |= EFlagSimplifiedConferenceCallHeader;
-        }
-    
-    HandleFlagsUpdated( flags );
-    }
-
-//  End of File  
--- a/phoneapp/phoneuiview/src/cphonebuttonscontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,944 +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:  Handles the updating of touch buttons
-*
-*/
-
-
-#include <eikappui.h>
-#include <eikenv.h>
-#include <pevirtualengine.h>
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <AknsConstants.h>
-#include <data_caging_path_literals.hrh>
-#include <phoneui.mbg>
-#include "cphonebuttonscontroller.h"
-#include "phoneui.hrh"
-#include "tphonecommandparam.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamcallheaderdata.h"
-#include "cphonemainresourceresolver.h"
-#include "phonerssbase.h"
-
-_LIT( KPhoneUiScalableIconFile, "Z:phoneui.mif" );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneButtonsController::CPhoneButtonsController(
-    MBubbleTouchPaneInterface& aTouchPane ) : 
-    iTouchPane( aTouchPane )
-    {
-    iTouchPane.SetIconProvider( this );
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhoneButtonsController::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneButtonsController* CPhoneButtonsController::NewL(
-    MBubbleTouchPaneInterface& aTouchPane )
-    {
-    CPhoneButtonsController* self = 
-        new (ELeave) CPhoneButtonsController( aTouchPane );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneButtonsController::~CPhoneButtonsController()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// SetButtonSet
-// ---------------------------------------------------------------------------
-//
-void CPhoneButtonsController::SetButtonSet(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamInteger* cbaResource = 
-        static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-    TInt resourceId = cbaResource->Integer();
-    
-    iTouchPane.SetButtonSet( resourceId );
-    ReplaceAudioButton();
-    SetButtonDimming();
-    }
-
-
-// ---------------------------------------------------------------------------
-//  SetMuteFlag
-// ---------------------------------------------------------------------------
-//
-void CPhoneButtonsController::SetMuteFlag( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanParam = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            
-        if ( booleanParam->Boolean() )
-            {
-            iFlags |= EButtonsPhoneMuted;     
-            }
-        else
-            {
-            iFlags &= ~EButtonsPhoneMuted;    
-            }            
-        
-        if ( iFlags & EButtonsPhoneMuted )
-            {
-            iTouchPane.SetButtonState( EPhoneInCallCmdUnmute );    
-            }
-        else
-            {
-            iTouchPane.SetButtonState( EPhoneInCallCmdMute );        
-            }            
-        
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// SetHoldFlag
-// ---------------------------------------------------------------------------
-//
-void CPhoneButtonsController::SetHoldFlag( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == 
-        TPhoneCommandParam::EPhoneParamIdBoolean )
-        { 
-        TPhoneCmdParamBoolean* booleanParam = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            
-        if ( booleanParam->Boolean() )
-            {
-            iFlags |= EButtonsCallOnHold;     
-            }
-        else
-            {
-            iFlags &= ~EButtonsCallOnHold;    
-            }            
-        
-        if ( iFlags & EButtonsCallOnHold )
-            {
-            iTouchPane.SetButtonState( EPhoneInCallCmdUnhold );
-            }
-        else
-            {
-            iTouchPane.SetButtonState( EPhoneInCallCmdHold );
-            }            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// SetIhfFlag
-// ---------------------------------------------------------------------------
-//
-void CPhoneButtonsController::SetIhfFlag(
-    TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanParam = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            
-        if ( booleanParam->Boolean() )
-            {
-            iFlags |= EButtonsIhfActive;     
-            }
-        else
-            {
-            iFlags &= ~EButtonsIhfActive;    
-            }            
-         }    
-    }
- 
-// ---------------------------------------------------------
-// CPhoneButtonsController::SetBTAccFlag
-// ---------------------------------------------------------
-//
-void CPhoneButtonsController::SetBTAccFlag( TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanParam = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            
-        if ( booleanParam->Boolean() )
-            {
-            iFlags |= EButtonsBTAcc;     
-            }
-        else
-            {
-            iFlags &= ~EButtonsBTAcc;    
-            }            
-        // Temporary unavailability
-        if ( ( iFlags & EButtonsBTAccAvail ) && !( iFlags & EButtonsBTAcc ) )
-            {
-            iFlags |= EButtonsBTAccTmpUn;     
-            }
-        else
-            {
-            iFlags &= ~EButtonsBTAccTmpUn;  
-            }      
-         }     
-    }
- 
- // ---------------------------------------------------------
-// CPhoneButtonsController::SetWiredAccFlag
-// ---------------------------------------------------------
-//
-void CPhoneButtonsController::SetWiredAccFlag( TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanParam = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            
-        if ( booleanParam->Boolean() )
-            {
-            iFlags |= EButtonsWiredAcc;     
-            }
-        else
-            {
-            iFlags &= ~EButtonsWiredAcc;    
-            }            
-        }     
-    }
-
-// ---------------------------------------------------------
-// CPhoneButtonsController::SetBTAccAvailableFlag
-// ---------------------------------------------------------
-//
-void CPhoneButtonsController::SetBTAccAvailableFlag( TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanParam = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-           
-        if ( booleanParam->Boolean() )
-            {
-            iFlags |= EButtonsBTAccAvail;
-            }
-        else
-            {
-            iFlags &= ~EButtonsBTAccAvail;    
-            }
-        
-        // Temporary unavailability        
-        if ( ( iFlags & EButtonsBTAccAvail ) && !( iFlags & EButtonsBTAcc ) )
-            {
-            iFlags |= EButtonsBTAccTmpUn;     
-            }
-        else
-            {
-            iFlags &= ~EButtonsBTAccTmpUn;  
-            }            
-        }
-    }
-// ---------------------------------------------------------------------------
-//  SetVideoCallFlag
-// ---------------------------------------------------------------------------
-//
-void CPhoneButtonsController::SetVideoCallFlag( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanParam = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            
-        if ( booleanParam->Boolean() )
-            {
-            iFlags |= EButtonsVideoCallOngoing;     
-            }
-        else
-            {
-            iFlags &= ~EButtonsVideoCallOngoing;    
-            }            
-        
-        if ( iFlags & EButtonsVideoCallOngoing )
-            {
-            iTouchPane.SetButtonState( EPhoneInCallCmdSwitchToVoice );
-            iTouchPane.SetButtonDimmed( EPhoneInCallCmdHold, ETrue );    
-            }
-        else
-            {
-            iTouchPane.SetButtonState( EPhoneInCallCmdSwitchToVideo );
-            iTouchPane.SetButtonDimmed( EPhoneInCallCmdHold, EFalse );
-            }            
-        }
-    }
-        
-
-// ---------------------------------------------------------
-// CPhoneButtonsController::SetInCallJoinEnabled
-// ---------------------------------------------------------
-//
-void CPhoneButtonsController::SetInCallJoinEnabled( TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanParam = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-         if ( booleanParam->Boolean() )
-            {
-            iFlags |= EButtonsDimJoin;     
-            }
-        else
-            {
-            iFlags &= ~EButtonsDimJoin;    
-            }            
-        }
-    SetButtonDimming();     
-    }
-
-// ---------------------------------------------------------
-// SetButtonEnabled
-// ---------------------------------------------------------
-// 
-void CPhoneButtonsController::SetButtonEnabled( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == 
-        TPhoneCommandParam::EPhoneParamIdInteger )
-        { 
-        TInt commandId =
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam )->Integer();
-            
-        switch ( commandId )
-            {
-            case EPhoneCallComingCmdAnswer:
-                iFlags &= ~EButtonsDimAnswer;    
-                break;
-            case EPhoneInCallCmdPrivate:
-                iFlags &= ~EButtonsDimPrivate;
-                break;
-            case EPhoneCallComingCmdSilent:
-                iFlags &= ~EButtonsDimSilence;
-                break;
-            case EPhoneInCallCmdCreateConference:
-                iFlags &= ~EButtonsDimCreateConference;
-                break;
-            default:
-                break;                
-            }
-
-        SetButtonDimming(); 
-        }    
-    }
-
-// ---------------------------------------------------------
-// SetButtonDisabled
-// ---------------------------------------------------------
-//    
-void CPhoneButtonsController::SetButtonDisabled(
-    TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == 
-        TPhoneCommandParam::EPhoneParamIdInteger )
-        { 
-        TInt commandId =
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam )->Integer();
-            
-        switch ( commandId )
-            {
-            case EPhoneCallComingCmdAnswer:
-                iFlags |= EButtonsDimAnswer;    
-                break;
-            case EPhoneInCallCmdPrivate:
-                iFlags |= EButtonsDimPrivate;
-                break;                
-            case EPhoneCallComingCmdSilent:
-                iFlags |= EButtonsDimSilence;
-                break;
-           case EPhoneInCallCmdCreateConference:
-                iFlags |= EButtonsDimCreateConference;
-                break;
-            default:
-                break;                
-            }
-
-        SetButtonDimming(); 
-        }
-    }
- 
-// ---------------------------------------------------------------------------
-// SetToggleButtons
-// ---------------------------------------------------------------------------
-//
-void CPhoneButtonsController::SetToggleButtons()
-    {
-    TInt buttonCount = iTouchPane.NumberOfButtonsInPane();
-    
-    for ( TInt i=0; i < buttonCount ; i++ )
-        {
-        switch ( iTouchPane.ButtonCommandId( i ) )
-            {
-            case EPhoneInCallCmdMute:
-                {
-                if ( iFlags & EButtonsPhoneMuted )    
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdUnmute );           
-                    }
-                }
-                break;
-                
-            case EPhoneInCallCmdUnmute:
-                {
-                if ( !( iFlags & EButtonsPhoneMuted ) )   
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdMute );           
-                    }
-                }
-                break;
-                
-            case EPhoneInCallCmdHold:
-                {
-                if ( iFlags & EButtonsCallOnHold )    
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdUnhold );           
-                    }    
-                }
-                break;
-                
-            case EPhoneInCallCmdUnhold:
-                {
-                if ( !( iFlags & EButtonsCallOnHold ) )
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdHold );           
-                    }    
-                }
-                break;
-                
-            case EPhoneInCallCmdActivateIhf:
-                {
-                if ( iFlags & EButtonsIhfActive )
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdDeactivateIhf );    
-                    }
-                }
-                break;
-                
-            case EPhoneInCallCmdDeactivateIhf:
-                {
-                if ( !( iFlags & EButtonsIhfActive ) )
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdActivateIhf );    
-                    }
-                }
-                break;
-                
-            case EPhoneInCallCmdHandset:
-                {
-                if ( iFlags & EButtonsBTAccTmpUn )
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdBtHandsfree );    
-                    }
-                }
-                break;
-            
-            case EPhoneInCallCmdBtHandsfree:
-                {
-                if ( iFlags & EButtonsBTAcc )
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdHandset );    
-                    }
-                }
-                break;
-                
-            case EPhoneInCallCmdSwitchToVideo:
-                {
-                if ( iFlags & EButtonsVideoCallOngoing )    
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdSwitchToVoice );           
-                    }
-                }
-                break;    
-                            
-            case EPhoneInCallCmdSwitchToVoice:
-                {
-                if ( !( iFlags & EButtonsVideoCallOngoing ) )   
-                    {
-                    iTouchPane.SetButtonState( EPhoneInCallCmdSwitchToVideo );           
-                    }
-                }
-                break;                         
-                                                            
-            default:
-                break;                                                                                                
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ReplaceAudioButton
-// ---------------------------------------------------------------------------
-//
-void CPhoneButtonsController::ReplaceAudioButton()
-    {
-  
-    TInt buttonCount = iTouchPane.NumberOfButtonsInPane();
-    
-    for ( TInt i=0; i < buttonCount; i++ )    
-        {
-        TInt commandId = iTouchPane.ButtonCommandId( i );
-        
-        if( commandId == EPhoneInCallCmdHandset ||
-            commandId == EPhoneInCallCmdBtHandsfree )
-            {
-            // wired connect
-            if ( iFlags & EButtonsWiredAcc )
-                {
-                // Bt disconnect when wired
-                if ( !( iFlags & EButtonsBTAccTmpUn ) )
-                    {
-                    iTouchPane.ReplaceButton( i, 
-                    CPhoneMainResourceResolver::Instance()->ResolveResourceID( EPhoneAudioDefButton ) );
-                    commandId = iTouchPane.ButtonCommandId( i );
-                    }
-                iTouchPane.SetButtonDimmed( commandId, ETrue);                    
-                }
-            // BTA connect or temporarary unavailable
-            else if ( iFlags & EButtonsBTAcc || iFlags & EButtonsBTAccTmpUn )
-                {
-                iTouchPane.SetButtonDimmed( commandId, EFalse );
-                }
-            else  
-                {
-                iTouchPane.ReplaceButton( i, 
-                    CPhoneMainResourceResolver::Instance()->ResolveResourceID( EPhoneAudioDefButton ) );
-                }
-            }
-         else if ( commandId == EPhoneInCallCmdActivateIhf ||
-                   commandId == EPhoneInCallCmdDeactivateIhf )
-            {
-            // wired connect
-            if ( iFlags & EButtonsWiredAcc )
-                {
-                // Bt connect when wired
-                if ( iFlags & EButtonsBTAccTmpUn )
-                    {
-                    iTouchPane.ReplaceButton( i, 
-                    CPhoneMainResourceResolver::Instance()->ResolveResourceID( EPhoneAudioBTAButton ) );
-                    commandId = iTouchPane.ButtonCommandId( i );
-                    }
-                iTouchPane.SetButtonDimmed( commandId, ETrue);                    
-                }
-            // BTA connect or temporarary unavailable
-            else if ( iFlags & EButtonsBTAcc || iFlags & EButtonsBTAccTmpUn )
-                {
-                iTouchPane.ReplaceButton( i, 
-                    CPhoneMainResourceResolver::Instance()->ResolveResourceID( EPhoneAudioBTAButton ) );
-                }
-            else
-                {
-                iTouchPane.SetButtonDimmed( commandId, EFalse ); 
-                }
-            
-            }
-        }
-    SetToggleButtons();        
-    }
-
-// ---------------------------------------------------------------------------
-// SetButtonDimming
-// ---------------------------------------------------------------------------
-//
-void CPhoneButtonsController::SetButtonDimming()
-    {
-    TInt buttonCount = iTouchPane.NumberOfButtonsInPane();
-    
-    for ( TInt i=0; i < buttonCount; i++ )    
-        {
-        TInt commandId = iTouchPane.ButtonCommandId( i );
-    
-        switch ( commandId )
-            {
-            case EPhoneCallComingCmdAnswer:
-                {
-                if ( iFlags & EButtonsDimAnswer )
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, ETrue );
-                    }
-                else
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, EFalse ); 
-                    }    
-                break;    
-                }                
-            case EPhoneInCallCmdPrivate:
-                {
-                if ( iFlags & EButtonsDimPrivate )
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, ETrue );
-                    }
-                else
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, EFalse ); 
-                    }
-                break;    
-                }
-            case EPhoneInCallCmdJoin:
-                {
-                if ( iFlags & EButtonsDimJoin )
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, ETrue );
-                    }
-                else
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, EFalse ); 
-                    }
-                break;    
-                }
-            case EPhoneInCallCmdHold:
-                {
-                if ( iFlags & EButtonsVideoCallOngoing )
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, ETrue );
-                    }
-                else
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, EFalse ); 
-                    }
-                break;    
-                }
-            case EPhoneCallComingCmdSilent:
-                {
-                if ( iFlags & EButtonsDimSilence )
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, ETrue );
-                    }
-                else
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, EFalse ); 
-                    }
-                break;    
-                }                
-            case EPhoneInCallCmdCreateConference:
-                {
-                if ( iFlags & EButtonsDimCreateConference )
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, ETrue );
-                    }
-                else
-                    {
-                    iTouchPane.SetButtonDimmed( commandId, EFalse ); 
-                    }
-                break;  
-                }
-            default:
-                break;                    
-            } // switch
-        } // for
-
-    if ( iCustomization )
-        {
-        // Customizes touch pane button.
-        iCustomization->CustomizeTouchPaneButtons( iTouchPane );
-        }
-    }
-
-// -----------------------------------------------------------
-// CPhoneButtonsController::SetCustomization
-// -----------------------------------------------------------
-//
-void CPhoneButtonsController::SetCustomization(
-        MPhoneButtonCustomization* aCustomization )
-    {
-    iCustomization = aCustomization;
-    }
-  
-// ---------------------------------------------------------------------------
-// GetIconForCommandL
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CPhoneButtonsController::GetIconForCommandL( TInt aCommandId )
-    {
-    TAknsItemID skinId( KAknsIIDNone );
-    TInt fileIndex( 0 );
-    TInt maskIndex(0);
-    switch ( aCommandId )
-        {
-        case EPhoneInCallCmdMute:
-            {
-            skinId =KAknsIIDQgnIndiButtonMuteMic; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_mute_mic;
-            maskIndex = EMbmPhoneuiQgn_indi_button_mute_mic_mask;                     
-            break;
-            }
-        case EPhoneInCallCmdUnmute:
-            {
-            skinId = KAknsIIDQgnIndiButtonUnmuteMic; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_unmute_mic;
-            maskIndex = EMbmPhoneuiQgn_indi_button_unmute_mic_mask;     
-            break;     
-            }
-        case EPhoneInCallCmdEndAllCalls:
-            {
-            skinId = KAknsIIDQgnIndiButtonEndAllCalls; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_end_all_calls; 
-            maskIndex =  EMbmPhoneuiQgn_indi_button_end_all_calls_mask;   
-            break;           
-            }
-        case EPhoneInCallCmdHold:
-            {
-            skinId = KAknsIIDQgnIndiButtonHold; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_hold; 
-            maskIndex = EMbmPhoneuiQgn_indi_button_hold_mask;               
-            break;            
-            }
-        case EPhoneInCallCmdUnhold:
-            {
-            skinId = KAknsIIDQgnIndiButtonUnhold; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_unhold; 
-            maskIndex = EMbmPhoneuiQgn_indi_button_unhold_mask;                 
-            break;          
-            }
-        case EPhoneInCallCmdActivateIhf:
-            {
-            skinId = KAknsIIDQgnIndiButtonLoudspeaker;
-            fileIndex = EMbmPhoneuiQgn_indi_button_loudspeaker;
-            maskIndex = EMbmPhoneuiQgn_indi_button_loudspeaker_mask;                
-            break;          
-            }
-        case EPhoneInCallCmdDeactivateIhf:
-            {
-            skinId = KAknsIIDQgnIndiButtonHandset;   
-            fileIndex = EMbmPhoneuiQgn_indi_button_handset;
-            maskIndex = EMbmPhoneuiQgn_indi_button_handset_mask;                
-            break;           
-            }
-        case EPhoneInCallCmdHandset:
-            {
-            skinId = KAknsIIDQgnIndiButtonHandset;   
-            fileIndex = EMbmPhoneuiQgn_indi_button_handset;
-            maskIndex = EMbmPhoneuiQgn_indi_button_handset_mask;                 
-            break;
-            }
-        case EPhoneInCallCmdBtHandsfree:
-            {
-            skinId = KAknsIIDQgnIndiButtonBluetooth;    
-            fileIndex = EMbmPhoneuiQgn_indi_button_bluetooth;
-            maskIndex = EMbmPhoneuiQgn_indi_button_bluetooth_mask;                 
-            break;         
-            }
-        case EPhoneInCallCmdSwap:
-            {
-            skinId = KAknsIIDQgnIndiButtonSwap;  
-            fileIndex = EMbmPhoneuiQgn_indi_button_swap;
-            maskIndex = EMbmPhoneuiQgn_indi_button_swap_mask;                
-            break;
-            }
-        case EPhoneInCallCmdGoToIdle:
-            {
-            skinId = KAknsIIDQgnIndiButtonGoIdle; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_go_idle;
-            maskIndex = EMbmPhoneuiQgn_indi_button_go_idle_mask;                
-            break;           
-            }
-        case EPhoneInCallCmdCreateConference:
-            {
-            skinId = KAknsIIDQgnIndiButtonConference; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_conference;
-            maskIndex = EMbmPhoneuiQgn_indi_button_conference_mask;                
-            break;             
-            }
-        case EPhoneInCallCmdParticipants:
-            {
-            skinId = KAknsIIDQgnIndiButtonParticipants; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_participants; 
-            maskIndex = EMbmPhoneuiQgn_indi_button_participants_mask;                
-            break;
-            }
-        case EPhoneInCallCmdDrop:
-            {
-            skinId = KAknsIIDQgnIndiButtonDrop; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_drop;
-            maskIndex = EMbmPhoneuiQgn_indi_button_drop_mask;                 
-            break;
-            }
-        case EPhoneInCallCmdPrivate:
-            {
-            skinId = KAknsIIDQgnIndiButtonPrivate; 
-            fileIndex = EMbmPhoneuiQgn_indi_button_private; 
-            maskIndex = EMbmPhoneuiQgn_indi_button_private_mask;                 
-            break;
-            }
-        case EPhoneInCallCmdJoin:
-            {
-            skinId = KAknsIIDQgnIndiButtonJoin;  
-            fileIndex = EMbmPhoneuiQgn_indi_button_join;
-            maskIndex = EMbmPhoneuiQgn_indi_button_join_mask;                 
-            break;          
-            }
-        case EPhoneInCallCmdEndThisOutgoingCall: 
-            {
-            skinId = KAknsIIDQgnIndiButtonEndActiveCall;
-            fileIndex = EMbmPhoneuiQgn_indi_button_end_active_call;
-            maskIndex = EMbmPhoneuiQgn_indi_button_end_active_call_mask;
-            break;
-            }
-        case EPhoneCmdEnd:
-            {
-            skinId = KAknsIIDQgnIndiButtonEndCall;
-            fileIndex = EMbmPhoneuiQgn_indi_button_end_active_call;
-            maskIndex = EMbmPhoneuiQgn_indi_button_end_active_call_mask;
-            break;
-            }
-        case EPhoneCallComingCmdAnswer:
-            {
-            skinId = KAknsIIDQgnIndiButtonAnswer;
-            fileIndex = EMbmPhoneuiQgn_indi_button_answer;
-            maskIndex = EMbmPhoneuiQgn_indi_button_answer_mask;
-            break;
-            }
-        case EPhoneCallComingCmdReject:
-            {
-            skinId = KAknsIIDQgnIndiButtonReject;
-            fileIndex = EMbmPhoneuiQgn_indi_button_reject;
-            maskIndex = EMbmPhoneuiQgn_indi_button_reject_mask;
-            break;
-            }
-        case EPhoneInCallCmdSwitchToVideo:
-            {
-            skinId = KAknsIIDQgnIndiButtonVoiceToVideo;
-            fileIndex = EMbmPhoneuiQgn_indi_button_voice_to_video;
-            maskIndex = EMbmPhoneuiQgn_indi_button_voice_to_video_mask;
-            break;
-            }            
-        case EPhoneInCallCmdSwitchToVoice:
-            {
-            skinId = KAknsIIDQgnIndiButtonVideoToVoice;
-            fileIndex = EMbmPhoneuiQgn_indi_button_video_to_voice;
-            maskIndex = EMbmPhoneuiQgn_indi_button_video_to_voice_mask;
-            break;
-            }              
-        case EPhoneCallComingCmdSilent:
-            {
-            skinId = KAknsIIDQgnIndiButtonSilence;
-            fileIndex = EMbmPhoneuiQgn_indi_button_silence;
-            maskIndex = EMbmPhoneuiQgn_indi_button_silence_mask;
-            break;
-            }  
-
-        default:
-            return NULL; 
-        } // switch
-        
-    CGulIcon* icon = NULL;
-    if ( skinId != KAknsIIDNone )
-        {
-        TParse* fp = new( ELeave ) TParse();
-        CleanupStack::PushL( fp );
-        TInt err = fp->Set(KPhoneUiScalableIconFile, &KDC_APP_BITMAP_DIR, NULL); 
-
-        if (err != KErrNone)
-            {
-            User::Leave(err);
-            }
-
-        TBuf<KMaxFileName> fileName = fp->FullName();
-        CleanupStack::PopAndDestroy();  //fp
-            
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        
-        icon = AknsUtils::CreateGulIconL( skin, 
-                                          skinId, 
-                                          fileName, 
-                                          fileIndex,
-                                          maskIndex );
-        }
-
-    return icon;  
-    }
-    
-
-// ---------------------------------------------------------------------------
-// GetButtonForCommandL
-// ---------------------------------------------------------------------------
-//
-TAknsItemID CPhoneButtonsController::GetButtonForCommandL( TInt aCommandId )
-    {
-    TAknsItemID frameId( KAknsIIDNone );
-    switch ( aCommandId )
-        {
-        case EPhoneInCallCmdEndAllCalls:
-            {
-            frameId = KAknsIIDQsnFrButtonNormalReject; 
-            break;           
-            }
-        case EPhoneInCallCmdHold:
-            {
-            frameId = KAknsIIDQsnFrButtonNormalHold; 
-            break;            
-            }
-        case EPhoneInCallCmdUnhold:
-            {
-            frameId = KAknsIIDQsnFrButtonNormalHold; 
-            break;          
-            }
-        case EPhoneInCallCmdEndThisOutgoingCall: 
-            {
-            frameId = KAknsIIDQsnFrButtonNormalReject;
-            break;
-            }
-        case EPhoneCmdEnd:
-            {
-            frameId = KAknsIIDQsnFrButtonNormalReject;
-            break;
-            }
-        case EPhoneCallComingCmdAnswer:
-            {
-            frameId = KAknsIIDQsnFrButtonNormalAnswer;
-            break;
-            }
-        case EPhoneCallComingCmdReject:
-            {
-            frameId = KAknsIIDQsnFrButtonNormalReject;
-            break;
-            }
-
-        default:
-            frameId= KAknsIIDQsnFrButtonNormal;
-            break; 
-        } // switch
-        
-    return frameId;  
-    }
-
-
-// END
--- a/phoneapp/phoneuiview/src/cphonecallheadertextanimation.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CPhoneCallHeaderTextAnimation class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphonecallheadertextanimation.h"
-#include "phoneconstants.h"
-#include "phonelogger.h"
-#include "cphonetimer.h"
-
-// CONSTANTS
-const TUint16 KPhoneCallHeaderAnimationDot = 0x002E;
-const TInt KPhoneCallHeaderDotNum = 3;
-const TInt KOneSecond = 1000000;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CPhoneCallHeaderTextAnimation::CPhoneCallHeaderTextAnimation
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneCallHeaderTextAnimation::CPhoneCallHeaderTextAnimation() : 
-    CCoeStatic( KUidCallHeaderTextAnimationSingleton ),
-    iTimer( NULL ),
-    iDotNum( 0 ),
-    iBubbleManager( NULL ),
-    iActiveBubble( 0 )
-    {
-    }
-
-// Destructor
-CPhoneCallHeaderTextAnimation::~CPhoneCallHeaderTextAnimation()
-    { 
-    delete iTimer;
-    iTimer = NULL;  
-    }
-
-// ---------------------------------------------------------
-// CPhoneCallHeaderTextAnimation::InstanceL
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CPhoneCallHeaderTextAnimation* CPhoneCallHeaderTextAnimation::InstanceL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneCallHeaderTextAnimation::InstanceL");
-    CPhoneCallHeaderTextAnimation* instance = static_cast<CPhoneCallHeaderTextAnimation*>(
-        CCoeEnv::Static( KUidCallHeaderTextAnimationSingleton ) );
-    if ( !instance )
-        {
-        instance = new ( ELeave ) CPhoneCallHeaderTextAnimation;
-        CleanupStack::PushL( instance );
-        instance->ConstructL();
-        CleanupStack::Pop( instance );
-        }
-    return instance;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneCallHeaderTextAnimation::CPhoneCallHeaderTextAnimation
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneCallHeaderTextAnimation::ConstructL()
-    {
-    iTimer = CPhoneTimer::NewL();
-    }
-
-// ---------------------------------------------------------
-// CPhoneCallHeaderTextAnimation::StartAnimatingVideoCallHeaderL
-// ---------------------------------------------------------
-//
-void CPhoneCallHeaderTextAnimation::StartAnimatingVideoCallHeaderL(
-	const CBubbleManager::TBubbleId aBubbleId,    
-    const TDesC& aNormalText,
-    const TDesC& aShortText,
-    CBubbleManager& aBubbleManager )
-	{
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneCallHeaderTextAnimation::StartAnimatingVideoCallHeaderL");
-	iActiveBubble = aBubbleId;
-	iBubbleManager = &aBubbleManager;
-
-	SetBubbleTexts( aNormalText, aShortText );
-	
-	// Update immediately when we start
-	HandleTimeOutL();		
-	}
-
-// ---------------------------------------------------------
-// CPhoneCallHeaderTextAnimation::RemoveAnimatingVideoCallHeader
-// ---------------------------------------------------------
-//
-void CPhoneCallHeaderTextAnimation::RemoveAnimatingVideoCallHeader()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneCallHeaderTextAnimation::RemoveAnimatingVideoCallHeader");
-    if( iTimer )
-        {
-        if( iTimer->IsActive() )
-            {
-            iTimer->CancelTimer();                
-            }          
-        }
-    iDotNum = 0;
-    }
-
-// ---------------------------------------------------------
-// CPhoneCallHeaderTextAnimation::HandleTimeOutL
-// ---------------------------------------------------------
-//
-void CPhoneCallHeaderTextAnimation::HandleTimeOutL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneCallHeaderTextAnimation::HandleTimeOutL");
-
-    iBubbleManager->UpdateCallHeaderText( iActiveBubble, 
-                iNormalText, iShortText, CBubbleManager::ERight );    
-
-    if ( iDotNum < KPhoneCallHeaderDotNum ) 
-        {
-        __PHONELOG( EBasic, EPhoneUIView, 
-            "CPhoneCallHeaderTextAnimation::HandleTimeOutL()->iDotNum < KPhoneCallHeaderDotNum" );
-        iNormalText.Append( &KPhoneCallHeaderAnimationDot, 1);
-        iShortText.Append( &KPhoneCallHeaderAnimationDot, 1);
-        iDotNum++;
-        }
-    else
-        {
-        __PHONELOG( EBasic, EPhoneUIView, 
-            "CPhoneCallHeaderTextAnimation::HandleTimeOutL()->else..." );
-        TInt normalLength = iNormalText.Length();
-        iNormalText.Delete( normalLength - KPhoneCallHeaderDotNum, KPhoneCallHeaderDotNum);
-
-        TInt shortLength = iShortText.Length();
-        iShortText.Delete( shortLength - KPhoneCallHeaderDotNum, KPhoneCallHeaderDotNum);
-        
-        iDotNum = 0;
-        }    	
-
-    // Start timer to update headers periodically
-    if ( !iTimer->IsActive() )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, 
-            "CPhoneCallHeaderTextAnimation::HandleTimeOutL()-> Start timer to update headers periodically" );
-		iTimer->After( KOneSecond, this );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneCallHeaderTextAnimation::SetBubbleTexts
-// ---------------------------------------------------------
-//
-void CPhoneCallHeaderTextAnimation::SetBubbleTexts( const TDesC& aNormalText, 
-	const TDesC& aShortText )
-	{
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneCallHeaderTextAnimation::SetBubbleTexts");
-    __PHONELOG1( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneCallHeaderTextAnimation::SetBubbleTexts aNormalText = %S",
-        &aNormalText );
-        
-    __PHONELOG1( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneCallHeaderTextAnimation::SetBubbleTexts aShortText = %S",
-        &aShortText );
-        
-	if( aNormalText.Length() > KPhoneCallHeaderAnimationTextLength )
-		{
-		iNormalText = aNormalText.Left( KPhoneCallHeaderAnimationTextLength );	
-		}
-	else
-		{
-		iNormalText = aNormalText;			
-		}
-		
-	if( aShortText.Length() > KPhoneCallHeaderAnimationTextLength )
-		{
-		iShortText = aShortText.Left( KPhoneCallHeaderAnimationTextLength );		
-		}
-	else
-		{
-		iShortText = aShortText;			
-		}		
-	}
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphonecontactcontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +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:  Contact Controller
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "cphonecontactcontroller.h"
-#include    <cphonecntsaveaddtoname.h>
-#include    <cphcntsingleitemfetch.h>
-#include    <cphonecntfactory.h>
-#include    <eikenv.h>
-#include    <aknappui.h>
-#include	<cphcntrfshandler.h>
-#include    "phonelogger.h"
-
-
-// CONSTANTS
-
-// Library containing contact matcher.
-_LIT( KPhoneCntFinderLibrary, "phonecntfinder.dll" );
-
-// Ordinal position of function to create instance of CPhoneCntFactory.
-const TInt KPhoneCntFinderOrdinal = 1;
-
-// ================= MEMBER FUNCTIONS =======================
-
-CPhoneContactController* CPhoneContactController::NewL()
-    {
-    CPhoneContactController* self = 
-        new ( ELeave ) CPhoneContactController();
-
-    return self;
-    }
-        
-CPhoneContactController::~CPhoneContactController()
-    {
-    delete iFactory;
-    iLibrary.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::ContinueConstructL
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneContactController::ContinueConstructL( TInt aSteps )
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-                "CPhoneViewController::ContinueConstructL()" );
-    if ( aSteps == KConstructAll )
-        {
-        aSteps = ConstructionSteps();
-        }
-
-    // Perform as many steps as required..
-    for ( ; aSteps > 0; aSteps-- )
-        {
-        DoStepL();
-
-        // If we do not need any steps, stop.
-        if ( !ConstructionSteps() )
-            {
-            break;
-            }
-        }
-
-    return ConstructionSteps();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::ConstructionSteps
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneContactController::ConstructionSteps() const
-    {
-    return TInt( EStepDone - iCurrentStep );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneContactController::CreateSingleItemFetchL
-// ---------------------------------------------------------------------------
-//
-CPhCntSingleItemFetch* CPhoneContactController::CreateSingleItemFetchL()
-    {
-    ConstructCreateFactoryL();
-
-    return iFactory->CreateSingleItemFetchL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::CreateSaveAddToNameL
-// -----------------------------------------------------------------------------
-//
-CPhoneCntSaveAddToName* CPhoneContactController::CreateSaveAddToNameL()
-    {
-    ConstructCreateFactoryL();
-
-    return iFactory->CreateSaveAddToNameL();
-    }
-
-
-CPhoneContactController::CPhoneContactController()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::DoStepL
-// -----------------------------------------------------------------------------
-//
-void CPhoneContactController::DoStepL()
-    {
-    // If all steps have been completed, then there is 
-    // nothing to do.
-    if ( iCurrentStep == EStepDone )
-        {
-        return;
-        }
-
-    // Perform one step; if it doesn't leave, then we have done it.
-    switch ( iCurrentStep )
-        {
-        case EStepLoadLibrary:
-            ConstructLoadLibraryL();
-            break;
-
-        case EStepCreateFactory:
-            ConstructCreateFactoryL();
-            break;
-
-        case EStepDone:
-        default:
-            return;
-        }
-
-    // Next step
-    iCurrentStep = NextStep( iCurrentStep );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::NextStep
-// -----------------------------------------------------------------------------
-//
-CPhoneContactController::TStep 
-    CPhoneContactController::NextStep( TStep aStep )
-    {
-    TStep result = EStepDone;
-
-    switch ( aStep )
-        {
-        case EStepLoadLibrary:
-            result = EStepCreateFactory;
-            break;
-
-        case EStepCreateFactory:
-            result = EStepDone;
-            break;
-
-        case EStepDone:
-            result = EStepDone;
-            break;
-
-        default:
-            break;
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::ConstructLoadLibraryL
-// -----------------------------------------------------------------------------
-//
-void CPhoneContactController::ConstructLoadLibraryL()
-    {
-    if ( !iLibrary.Handle() )
-        {
-        User::LeaveIfError( iLibrary.Load( KPhoneCntFinderLibrary ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::ConstructCreateFactoryL
-// -----------------------------------------------------------------------------
-//
-void CPhoneContactController::ConstructCreateFactoryL()
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-                    "CPhoneContactController::ConstructCreateFactoryL()" );
-    if ( !iFactory )
-        {
-        ConstructLoadLibraryL();
-
-        TInt res = iLibrary.Lookup( KPhoneCntFinderOrdinal )();
-        iFactory = (CPhCntFactory*)res;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::CreatePhoneBookServiceL
-// -----------------------------------------------------------------------------
-//
-void CPhoneContactController::CreatePhoneBookServiceL()
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-                    "CPhoneContactController::CreatePhoneBookServiceL()" );
-    if ( iFactory )
-        {
-        iFactory->CreatePhonebookServicesL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::CreateRfsHandlerL
-// -----------------------------------------------------------------------------
-//
-CPhCntRfsHandler* CPhoneContactController::CreateRfsHandlerL()
-    {
-    ConstructCreateFactoryL();
-
-    return iFactory->CreateRfsHandlerL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneContactController::CreateSpeedDialMonitorL
-// -----------------------------------------------------------------------------
-//
-CPhCntSpeedDialMonitor* CPhoneContactController::CreateSpeedDialMonitorL()
-    {
-    ConstructCreateFactoryL();
-
-    return iFactory->CreateSpeedDialMonitorL();
-    }    
-//  End of File  
--- a/phoneapp/phoneuiview/src/cphonedialercontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,745 +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:  Handles the updating of dialer buttons
-*
-*/
-
-
-#include <eikappui.h>
-#include <eikenv.h>
-#include <eikapp.h>
-#include <eikcolib.h>
-#include <gulicon.h>
-#include <akntoolbar.h>
-#include <aknbutton.h>
-#include <StringLoader.h>
-#include <phoneui.rsg>
-#include <pevirtualengine.h>
-#include <data_caging_path_literals.hrh>
-
-#include "cphonedialercontroller.h"
-#include "cphonebubblewrapper.h"
-#include "phoneui.hrh"
-#include "phonerssbase.h"
-#include "tphonecmdparaminteger.h"
-#include "cphonemenucontroller.h"
-#include "cphonemainresourceresolver.h"
-#include "tphonecmdparamcallstatedata.h"
-#include "tphonecmdparamboolean.h"
-#include "mphonedialercontroller.h"
-
-_LIT ( KPhoneMifFileName, "phoneui.mif" );
-_LIT( KDialerToolbarButtonEmptyStr, "" );
-
-const TInt KNumberOfButtons = 6;
-struct SPhoneDialerToolbarButton
-    {
-    TInt iIconIndex;
-    TInt iMaskIndex;
-    TInt iCommandId;    
-    };
-
-const SPhoneDialerToolbarButton bArray[KNumberOfButtons] =
-        {  
-            { EMbmPhoneuiQgn_indi_dialer_call_send,
-              EMbmPhoneuiQgn_indi_dialer_call_send_mask,
-              EPhoneDialerCmdLog
-            },
-            { EMbmPhoneuiQgn_indi_dialer_call_send,
-              EMbmPhoneuiQgn_indi_dialer_call_send_mask,
-              EPhoneNumberAcqCmdSendCommand
-            },        
-            
-            { EMbmPhoneuiQgn_indi_button_send_dtmf,
-              EMbmPhoneuiQgn_indi_button_send_dtmf_mask,
-              EPhoneCmdDtmfOk
-            },               
-            { EMbmPhoneuiQgn_indi_dialer_contacts,
-              EMbmPhoneuiQgn_indi_dialer_contacts_mask,
-              EPhoneDialerCmdContacts
-            },
-            { EMbmPhoneuiQgn_indi_dialer_add_contacts,
-              EMbmPhoneuiQgn_indi_dialer_add_contacts_mask,
-              EPhoneNumberAcqCmdAddToContacts
-            },            
-            { EMbmPhoneuiQgn_indi_dialer_clear,
-              EMbmPhoneuiQgn_indi_dialer_clear_mask,
-              EPhoneDialerCmdClear
-            }
-        }; 
-
-const TInt KDialerToolbarButtonCount = 6; 
-const TInt KDialerToolbarButtonKeyRepeatDelay = 300;
-const TInt KDialerToolbarKeyRepeatInterval = 75;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneDialerController::CPhoneDialerController( 
-                                        CPhoneBubbleWrapper& aBubbleWrapper,
-                                        CCoeEnv& aCoeEnv,
-                                        CPhoneMenuController& aMenuController ):
-    iBubbleWrapper ( aBubbleWrapper ),
-    iCoeEnv ( aCoeEnv ),
-    iMenuController( aMenuController ),
-    iUpdateToolbar( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::ConstructL()
-    {
-   
-    iBubbleWrapper.SetNumberEntryObserver( *this );
-   
-    if ( !iToolbar )
-        {
-        iToolbar = CAknToolbar::NewL( R_PHONEUI_TOOLBAR );
-        }
-  
-    CEikAppUiFactory* appUiFactory =
-        static_cast<CEikAppUiFactory*>( CEikonEnv::Static()->AppUiFactory() );  
-    appUiFactory->SetViewFixedToolbar( iToolbar );
-    
-    if( iToolbar )
-        {
-        iToolbar->SetToolbarObserver( 
-                        static_cast<MAknToolbarObserver*>( this ));  
-        iToolbar->SetWithSliding( EFalse );
-        iToolbar->SetCloseOnAllCommands( EFalse );
-        iToolbar->SetFocusing( EFalse );
-        
-        CAknButton* button( NULL );
-
-        for( TInt i = 0; i < KDialerToolbarButtonCount; i++ )
-            {
-            TAknsItemID skinId = SkinId( bArray[i].iIconIndex );
-            // Load tooltip text.
-            HBufC* tooltipText;
-            GetTooltipTextL ( bArray[i].iCommandId, tooltipText );  
-            CleanupStack::PushL( tooltipText );      
-         
-            button = CreateButtonLC(
-                bArray[i].iIconIndex, 
-                bArray[i].iMaskIndex, 
-                *tooltipText, 
-                skinId,
-                bArray[i].iCommandId );
-            // Takes ownership of the button                    
-            iToolbar->AddItemL( button, EAknCtButton, bArray[i].iCommandId,0 );
-           
-            CleanupStack::Pop( button );
-            CleanupStack::PopAndDestroy( tooltipText );
-            }
-       
-        // Hide 'Send dtmf' icon
-        iToolbar->HideItem( EPhoneCmdDtmfOk, ETrue, EFalse );
-        TRAP_IGNORE(iToolbar->DisableToolbarL( ETrue ));
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CreateButtonL
-// ---------------------------------------------------------------------------
-//
-CAknButton* CPhoneDialerController::CreateButtonLC( 
-    TInt aNormalIconId,
-    TInt aNormalMaskId,
-    const TDesC& aTooltipText,
-    const TAknsItemID& aSkinIconId,
-    TInt aCommand )
-    {
-    TFileName mifPath( KDriveZ );
-    mifPath.Append( KDC_APP_BITMAP_DIR );
-    mifPath.Append( KPhoneMifFileName );
-
-   
-    CAknButton* button = CAknButton::NewLC( 
-        mifPath,
-        aNormalIconId,
-        aNormalMaskId,
-        -1, -1, // dimmed
-        -1, -1, // pressed
-        -1, -1, // hover
-        KDialerToolbarButtonEmptyStr(),
-        aTooltipText, // help
-        0, // flags
-        0, // state flags
-        aSkinIconId );
-                               
-    if( aCommand == EPhoneDialerCmdClear )
-        {
-        button->SetButtonFlags( KAknButtonKeyRepeat );
-        // delay 300 ms and repeat 75 ms interval   
-        button->SetKeyRepeatInterval( KDialerToolbarButtonKeyRepeatDelay,
-                                      KDialerToolbarKeyRepeatInterval );
-        }
-                                     
-    button->SetFocusing( EFalse );
-    button->SetBackground( iToolbar );
-
-    return button;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneDialerController* CPhoneDialerController::NewL( 
-                                    CPhoneBubbleWrapper& aBubbleWrapper,
-                                    CCoeEnv& aCoeEnv,
-                                    CPhoneMenuController& aMenuController  )
-    {
-    CPhoneDialerController* self =  new (ELeave) CPhoneDialerController( 
-                                        aBubbleWrapper
-                                       , aCoeEnv
-                                       , aMenuController );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneDialerController::~CPhoneDialerController()
-    {
-    delete iToolbar;
-    }
-
-// ---------------------------------------------------------------------------
-// NumberEntryStateChanged
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::NumberEntryStateChanged( TBool aHidePromptText )
-    {
-    if( aHidePromptText != iPreviousHidePromptTextStatus )
-        {
-        iPreviousHidePromptTextStatus = aHidePromptText; 
-        iUpdateToolbar = ETrue;
-        }
-    
-    HandleNumberEntryChanged();
-    
-    }
-
-// ---------------------------------------------------------------------------
-// HandleNumberEntryChanged
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::HandleNumberEntryChanged()
-    {
-    if( iUpdateToolbar )
-        {
-        UpdateToolbar();
-        iUpdateToolbar = EFalse;        
-        }
-    
-    iBubbleWrapper.HandleNumberEntryChanged();
-    
-    } 
-
-// ---------------------------------------------------------------------------
-// HandleNumberEntryChanged
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::SetNumberEntryChangedCallBack( 
-        TPhoneCommandParam* aCommandParam )
-    {
-    iBubbleWrapper.SetNumberEntryChangedCallBack( aCommandParam );
-    
-    }
-     
-// ---------------------------------------------------------------------------
-// CreateButtonSetNumberEntryEmpty
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::CreateButtonSetNumberEntryEmpty()
-    {
-    
-    if( iToolbar )
-        {
-        if( iDtmfDialerVisible )
-            {
-            // Dim 'Send dtmf' 
-            iToolbar->SetItemDimmed( EPhoneCmdDtmfOk, ETrue, EFalse );
-            }
-        else if ( iCustomizedDialer )
-            {
-            iCustomizedDialer->HandleNumberEntryIsEmpty( ETrue );
-            }
-        else
-            {         
-            // Show 'Logs ' and 'Contacts' items
-            iToolbar->HideItem( EPhoneDialerCmdLog, EFalse,EFalse );
-            iToolbar->HideItem( EPhoneDialerCmdContacts, EFalse, EFalse );
-            
-            if ( iRestrictedDialer )
-                {
-                // Dim 'Logs' 
-                iToolbar->SetItemDimmed( EPhoneDialerCmdLog, ETrue
-                                       , EFalse );
-                // Dim 'Contacts' 
-                iToolbar->SetItemDimmed( EPhoneDialerCmdContacts, ETrue
-                                       , EFalse );
-                }
-                            
-            // Hide 'Send' and 'Add to contacts'        
-            iToolbar->HideItem( EPhoneNumberAcqCmdSendCommand, ETrue
-                                , EFalse );
-            iToolbar->HideItem( EPhoneNumberAcqCmdAddToContacts, ETrue
-                                , EFalse );                
-            }        
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CreateButtonSetNumberEntryNotEmpty
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::CreateButtonSetNumberEntryNotEmpty()
-    {
-    if( iToolbar )
-        {
-        if( iDtmfDialerVisible )
-            {
-            // Show 'Send dtmf' 
-            iToolbar->SetItemDimmed( EPhoneCmdDtmfOk, EFalse, EFalse );
-            }           
-        else if ( iCustomizedDialer )
-            {
-            iCustomizedDialer->HandleNumberEntryIsEmpty( EFalse );
-            }
-        else
-            {
-            // Show 'Send' and 'Add to contacts'
-            iToolbar->HideItem( EPhoneNumberAcqCmdAddToContacts, EFalse
-                              , EFalse );      
-            iToolbar->HideItem( EPhoneNumberAcqCmdSendCommand, EFalse
-                              , EFalse );  
-                    
-            if ( iRestrictedDialer )
-                {
-                // Dim 'Send' 
-                iToolbar->SetItemDimmed( EPhoneNumberAcqCmdSendCommand, ETrue
-                                       , EFalse );
-                // Dim 'Add to Contacts' 
-                iToolbar->SetItemDimmed( EPhoneNumberAcqCmdAddToContacts, ETrue
-                                       , EFalse );
-                }  
-                           
-            // Hide 'Logs ' and 'Contacts' 
-            iToolbar->HideItem( EPhoneDialerCmdLog, ETrue,EFalse );
-            iToolbar->HideItem( EPhoneDialerCmdContacts, ETrue, EFalse ); 
-            
-            TPhoneCmdParamCallStateData callStateData;
-            callStateData.SetCallState( EPEStateConnected );
-            iBubbleWrapper.GetCallIdByState( &callStateData );
-            TInt connected = callStateData.CallId();    
-             
-            //If there is a active emergency call, Send item must be dimmed.  
-            if ( connected == KEmergencyCallId )
-                {
-                //Dim Send
-                iToolbar->SetItemDimmed( EPhoneNumberAcqCmdSendCommand, ETrue
-                                        ,EFalse );                
-                }
-            else
-                {
-                //UnDim
-                iToolbar->SetItemDimmed( EPhoneNumberAcqCmdSendCommand, EFalse
-                                        ,EFalse );                     
-                }
-            }    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// SetDtmfDialerVisibleL
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::SetDtmfDialerVisibleL( TBool aVisible )
-    {
-    iDtmfDialerVisible = aVisible;
-    
-    if( iDtmfDialerVisible )
-        {
-        // Load prompt resource text to DTMF dialer.
-        TInt resourceId = CPhoneMainResourceResolver::Instance()->
-                    ResolveResourceID( EPhoneDtmfDialerNumberEntryPromptText ); 
-                    
-        HBufC* loadedText = StringLoader::LoadL( resourceId
-                                               , &iCoeEnv );
-
-        iBubbleWrapper.SetNumberEntryPromptText( loadedText->Des() );
-        
-        delete loadedText;
-        }
-    else        
-        { 
-        // Clear prompt text.    
-        iBubbleWrapper.SetNumberEntryPromptText( KNullDesC );  
-                 
-        // Hide
-        iToolbar->HideItem( EPhoneCmdDtmfOk, ETrue, EFalse );  
-           
-        // Show       
-        iToolbar->HideItem( EPhoneNumberAcqCmdSendCommand, EFalse, EFalse );
-        iToolbar->HideItem( EPhoneDialerCmdLog, EFalse, EFalse );            
-        iToolbar->HideItem( EPhoneNumberAcqCmdAddToContacts, EFalse, EFalse );    
-        // Dimming 
-        iToolbar->SetItemDimmed( EPhoneDialerCmdContacts, EFalse, EFalse );                
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// SetRestrictedDialerL
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::SetRestrictedDialer( TBool aRestricted )
-    {
-    iRestrictedDialer = aRestricted;
-    }
-// ---------------------------------------------------------------------------
-// UpdateToolbar
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::UpdateToolbar()
-    {
-    
-    TPhoneCmdParamInteger numberEntryCountParam;
-    iBubbleWrapper.GetNumberEntryCount( 
-                            (TPhoneCommandParam*) &numberEntryCountParam );
-    TInt neLength( numberEntryCountParam.Integer() );
-    
-    if ( neLength )
-        {
-        CreateButtonSetNumberEntryNotEmpty();
-        iToolbar->SetItemDimmed( EPhoneDialerCmdClear, EFalse, EFalse );  
-        iToolbar->DrawDeferred();     
-        
-        //Update also options menu via controller
-        iMenuController.SetNumberEntryEmptyFlag( EFalse );        
-        }
-        
-    else
-        {
-        CreateButtonSetNumberEntryEmpty();
-        iToolbar->SetItemDimmed( EPhoneDialerCmdClear, ETrue, EFalse );
-        iToolbar->DrawDeferred();
-        
-        //Update also options menu via controller
-        iMenuController.SetNumberEntryEmptyFlag( ETrue );                  
-        } 
-
-    }   
-
-// ---------------------------------------------------------------------------
-// OfferToolbarEventL
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::OfferToolbarEventL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EPhoneDialerCmdClear:
-            {
-            // Send key event.
-            TKeyEvent keyEvent;
-            keyEvent.iModifiers = 0;
-            keyEvent.iRepeats = 0;
-            keyEvent.iCode = EKeyBackspace;
-            keyEvent.iScanCode = EStdKeyBackspace;
-            iCoeEnv.SimulateKeyEventL( keyEvent, EEventKey );
-            }
-            break;   
-        default:
-            {
-            // Forward pressed toolbar button to the framework 
-            // so that we can handle it in active state            
-            static_cast<MEikCommandObserver*>( CEikonEnv::Static()->EikAppUi() )
-               ->ProcessCommandL( aCommand );            
-            }
-            break;    
-        }
-    } 
-   
-// ---------------------------------------------------------------------------
-// DynInitToolbarL
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::DynInitToolbarL( TInt aResourceId, 
-                                              CAknToolbar* /*aToolbar*/ )
-    { 
-    if ( aResourceId == R_PHONEUI_TOOLBAR )
-        {
-        if ( !iDtmfDialerVisible )
-            {
-            UpdateToolbar();
-            }
-        else
-            {
-            // initialize toolbar for dtmf dialer
-            //
-            // Show
-            iToolbar->HideItem( EPhoneCmdDtmfOk, EFalse, EFalse );
-            iToolbar->HideItem( EPhoneDialerCmdContacts, EFalse, EFalse );     
-            
-            // Hide
-            iToolbar->HideItem( EPhoneNumberAcqCmdSendCommand, ETrue, EFalse );
-            iToolbar->HideItem( EPhoneDialerCmdLog, ETrue, EFalse );            
-            iToolbar->HideItem( EPhoneNumberAcqCmdAddToContacts, ETrue
-                              , EFalse );     
-            
-            // Dimming
-            iToolbar->SetItemDimmed( EPhoneDialerCmdContacts, ETrue, EFalse ); 
-            iToolbar->SetItemDimmed( EPhoneCmdDtmfOk, ETrue, EFalse );                   
-            }
-        }     
-    }
-// ---------------------------------------------------------------------------
-// IsDTMFDialerVisible
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneDialerController::IsDTMFDialerVisible() const
-    {
-    return iDtmfDialerVisible;
-    }
-
-
-// ---------------------------------------------------------------------------
-// GetTooltipText
-//
-// Tooltip texts for toolbar buttons
-// ---------------------------------------------------------------------------
-//
-void  CPhoneDialerController::GetTooltipTextL( TInt aCommandId, HBufC*& aText ) 
-    {
-    TInt resourceId = 0;
-    switch( aCommandId )
-        {
-        case EPhoneDialerCmdLog:
-            resourceId = R_PHONEUI_DIALER_TOOLTIP_RECENT_CALLS;
-            break;              
-                  
-        case EPhoneNumberAcqCmdSendCommand:
-            resourceId = R_PHONEUI_DIALER_TOOLTIP_CALL;
-            break;      
-                          
-        case EPhoneCmdDtmfOk:
-            resourceId = R_PHONEUI_DIALER_TOOLTIP_SEND;
-            break;   
-                             
-        case EPhoneDialerCmdContacts:
-            resourceId = R_PHONEUI_DIALER_TOOLTIP_CONTACTS;
-            break;   
-                             
-        case EPhoneNumberAcqCmdAddToContacts:
-            resourceId = R_PHONEUI_DIALER_TOOLTIP_ADD_TO_CONTACTS;
-            break;   
-                             
-        case EPhoneDialerCmdClear:
-            resourceId = R_PHONEUI_DIALER_TOOLTIP_CLEAR;
-            break;
-        default:
-            aText = KNullDesC().Alloc();
-            break;
-        }
-        
-    if( resourceId )
-        {
-        aText = StringLoader::LoadL( resourceId, &iCoeEnv );
-        }
-        
-    }
-// ---------------------------------------------------------------------------
-// SetServiceCodeFlagL
-//
-// Change call button tooltip text between 'Send' or 'Call'
-// 
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::SetServiceCodeFlagL( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {   
-        TInt resourceId = 0;
-        TPhoneCmdParamBoolean* serviceCodeFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-        // Sanity check
-        if( serviceCodeFlag->Boolean() == iServiceCodeFlag )
-            {
-            return;
-            }
-        // Get the toolbar button control
-        CAknButton* button = static_cast<CAknButton*>
-        ( iToolbar->ControlOrNull( EPhoneNumberAcqCmdSendCommand) );
-        
-        CAknButtonState* state = button->State();                              
-        if ( serviceCodeFlag->Boolean() )
-            {
-            iServiceCodeFlag = ETrue;
-            resourceId = R_PHONEUI_DIALER_TOOLTIP_SEND;
-            }
-        else
-            {
-            iServiceCodeFlag = EFalse;
-            resourceId = R_PHONEUI_DIALER_TOOLTIP_CALL;
-            }  
-                
-        if( resourceId )
-            {    
-            // Change text              
-            HBufC* tooltipText = StringLoader::LoadL( resourceId,
-                                             CCoeEnv::Static() );
-            CleanupStack::PushL( tooltipText );                                         
-            state->SetHelpTextL( *tooltipText );
-            CleanupStack::PopAndDestroy( tooltipText );   
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ShowToolbar
-//
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::ShowToolbar()
-    {
-    if ( iToolbar )
-        {
-        if ( iToolbar->IsToolbarDisabled() )
-            {
-            TRAP_IGNORE(iToolbar->DisableToolbarL( EFalse ));
-            }
-        iToolbar->HideItemsAndDrawOnlyBackground( EFalse );
-        iToolbar->SetToolbarVisibility( ETrue, EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// HideToolbar
-//
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::HideToolbar()
-    {
-    if ( iToolbar )
-        {
-        if( iToolbar->IsShown() )
-            {
-            iToolbar->HideItemsAndDrawOnlyBackground( ETrue );
-            }
-        else if ( iToolbar->IsToolbarDisabled() )
-            {
-            TRAP_IGNORE(iToolbar->DisableToolbarL( EFalse ));
-            iToolbar->HideItemsAndDrawOnlyBackground( ETrue );
-            iToolbar->SetToolbarVisibility( ETrue, EFalse );
-            }
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// ShowCustomizedDialerL
-//
-// Sets custom dialer buttons visible
-// 
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::ShowCustomizedDialerL( 
-    MPhoneDialerController* aCustomController )
-    {  
-    if ( aCustomController )
-        {
-        // Hide all buttons except clear button 
-        for ( TInt i = 0; i < KNumberOfButtons; i++ )
-            {
-            if ( bArray[ i ].iCommandId != EPhoneDialerCmdClear )
-                {
-                iToolbar->HideItem( bArray[ i ].iCommandId, ETrue, EFalse );
-                }
-            }
- 
-        aCustomController->InitializeL( *iToolbar );
-        iBubbleWrapper.SetNumberEntryPromptText( 
-            aCustomController->NumberEntryPromptTextL() );
-        aCustomController->ShowButtons( ETrue );
-        }
-    iCustomizedDialer = aCustomController;
-    }
-
-// ---------------------------------------------------------------------------
-// HideCustomizedDialerL
-//
-// Hides custom dialer buttons 
-// 
-// ---------------------------------------------------------------------------
-//
-void CPhoneDialerController::HideCustomizedDialer()
-    {  
-    iCustomizedDialer->ShowButtons( EFalse );
-    iBubbleWrapper.SetNumberEntryPromptText( KNullDesC );              
-    iCustomizedDialer = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// IsCustomizedDialerVisible
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneDialerController::IsCustomizedDialerVisible() const
-    {
-    return ( NULL != iCustomizedDialer );
-    }
-
-// ---------------------------------------------------------------------------
-// CustomizedCbaResourceId
-// ---------------------------------------------------------------------------
-//
-TInt CPhoneDialerController::CustomizedCbaResourceId() const
-    {
-    TInt resourceId = KErrNotFound;
-    if ( iCustomizedDialer )
-        {
-        resourceId = iCustomizedDialer->CbaResourceId();
-        }
-    return resourceId;
-    }
-
-// ---------------------------------------------------------------------------
-// CustomizedMenuResourceId
-// ---------------------------------------------------------------------------
-//
-TInt CPhoneDialerController::CustomizedMenuResourceId() const
-    {
-    TInt resourceId = KErrNotFound;
-    if ( iCustomizedDialer )
-        {
-        resourceId = iCustomizedDialer->MenuResourceId();  
-        }
-    return resourceId;
-    }
-
-// END
--- a/phoneapp/phoneuiview/src/cphonedialerview.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,432 +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:  The dialer view of PhoneUI
-*
-*/
-
-
-// INCLUDE FILES
-#include "phoneconstants.h"
-#include "cphonedialerview.h"
-
-#include <eikenv.h>
-#include <eikapp.h> 
-#include <eikappui.h>
-#include <eikcmobs.h>
-
-#include <w32std.h>          // iWindowSrvSession
-
-#include <eikimage.h>
-#include <coemain.h>
-#include <gulutil.h>         // DrawUtils, egul.lib 
-#include <aknappui.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <AknsUtils.h>
-
-#include "cphonestatuspane.h"
-#include "tphonecmdparambitmap.h"
-#include "phonelogger.h"
-
-#include <AknUtils.h> // needed for AKN_LAF_COLOR in 3.0 environment
-
-
-#include "phoneui.hrh"
-#include "phoneviewcommanddefinitions.h"
-// Scalable UI 
-#include <aknlayout.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknStatuspaneUtils.h>
-
-enum TPhoneBgLayers
-    {
-    EPhoneBgFirstLayer          = 0,
-    EPhoneBgLayersN             = 1
-    };
-
-#define LSC_VARIETY   0
-#define PRT_VARIETY   6
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::CPhoneDialerView
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneDialerView::CPhoneDialerView() :
-    iSecurityMode ( EFalse )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::ConstructL( TRect aRect )
-    {
-    // Create background control context for skins.
-    iBgContext = CAknsLayeredBackgroundControlContext::NewL(
-        KAknsIIDQsnBgScreen, aRect, ETrue /*Parent absolute*/,
-        EPhoneBgLayersN );
-
-    CreateWindowL();
-    DrawableWindow()->SetPointerGrab( ETrue );
-
-    SetRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneDialerView* CPhoneDialerView::NewL( TRect aRect )
-    {
-    CPhoneDialerView* self = new ( ELeave ) CPhoneDialerView();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// Destructor
-CPhoneDialerView::~CPhoneDialerView()
-    {
-     __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::~CPhoneDialerView");
-    delete iBgContext;
-    iRegion.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::ViewId
-// -----------------------------------------------------------------------------
-//
-TVwsViewId CPhoneDialerView::ViewId() const
-    {
-    TVwsViewId id( 
-        iEikonEnv->EikAppUi()->Application()->AppDllUid(), 
-        KUidViewId );
-    return id;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::ViewActivatedL
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::ViewActivatedL( 
-    const TVwsViewId& /*aPrevViewId*/, 
-    TUid /*aCustomMessageId*/, 
-    const TDesC8& /*aCustomMessage*/ )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::ViewDeactivated
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::ViewDeactivated()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::SetControl
-// 
-// Change the control. 
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::SetControl( CCoeControl* aControl )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::SetControl()");
-    iControl = aControl;
-    UpdateControlRect();
-    iControl->MakeVisible( ETrue );
-    }
-
-    
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::Control
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CPhoneDialerView::Control() const
-    {
-    return iControl;    
-    }    
-    
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::ComponentControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CPhoneDialerView::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return iControl;        
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::CountComponentControls
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneDialerView::CountComponentControls() const
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::CountComponentControls()");
-    TInt count = 0;
-
-    if ( iControl )
-        {
-        count = 1;
-        }
-
-    return count;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CPhoneDialerView::MopSupplyObject( TTypeUid aId )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::MopSupplyObject()");
-    // Required during rendering of the background skin in Draw()
-    if (aId.iUid == MAknsControlContext::ETypeId)
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::SetRect
-// -----------------------------------------------------------------------------
-//    
-void CPhoneDialerView::SetRect( const TRect &aRect )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::SetRect()");
-    if ( !AknLayoutUtils::PenEnabled() )
-        {
-        CCoeControl::SetRect( aRect );
-        }
-    else
-        {
-        if ( iSecurityMode )
-            {
-            // In security mode aRect is ok.
-            CCoeControl::SetRect( aRect );    
-            iControlRect = Rect();
-            }
-        else
-            {
-            TAknLayoutRect viewRect;
-            
-            TRect screenRect;
-            AknLayoutUtils::LayoutMetricsRect( 
-                AknLayoutUtils::EScreen,
-                screenRect  );    
-
-            // dialer view
-            viewRect.LayoutRect( 
-                screenRect, 
-                TAknWindowComponentLayout::Compose(
-                    AknLayoutScalable_Avkon::application_window( 0 ),
-                    AknLayoutScalable_Avkon::main_pane( 7 ) ) );
-
-            CCoeControl::SetRect( viewRect.Rect() );    
-            
-            TInt variety ( PRT_VARIETY ) ; // portrait
-            if ( Layout_Meta_Data::IsLandscapeOrientation() )
-                {
-                variety = LSC_VARIETY;
-                }
-            
-            // reduce toolbar
-            TAknLayoutRect toolbarRect;
-            toolbarRect.LayoutRect( 
-                screenRect, 
-                TAknWindowComponentLayout::Compose(
-                AknLayoutScalable_Avkon::application_window( 0 ),
-                AknLayoutScalable_Avkon::area_side_right_pane( variety ) ) );
-            
-            if ( toolbarRect.Rect().Intersects( viewRect.Rect() ) )
-                {
-                iControlRect = Rect();
-                if ( variety == PRT_VARIETY ) // portrait
-                    {
-                    iControlRect.iBr.iY -= toolbarRect.Rect().Height();
-                    }
-                else
-                    {
-                    iControlRect.iBr.iX -= toolbarRect.Rect().Width();
-                    }
-                }
-            else
-                {
-                iControlRect = Rect();    
-                }                            
-            }                
-        }        
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::Draw
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::Draw(  const TRect& aRect ) const
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::Draw()");
-    TRect rect = Rect();
-
-    if ( !rect.iTl.iY )
-        {
-        CWindowGc& gc = SystemGc();
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-        
-        if ( iSecurityMode || 
-            !AknsDrawUtils::Background( skin, cc, this, gc, aRect ) )
-            {
-            gc.SetPenStyle(CGraphicsContext::ENullPen);
-            gc.SetBrushColor( AKN_LAF_COLOR( 0 ) ); // 0 for white
-            gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
-            gc.DrawRect( aRect ); 
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    // Calling base class implementation
-    CCoeControl::HandlePointerEventL( aPointerEvent );    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::ActivateL
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::ActivateL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::ActivateL()");
-    CCoeControl::ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::SizeChanged()
-// 
-// Expects that the controls are initialised otherwise.
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::SizeChanged()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::SizeChanged()");
-    AknsUtils::RegisterControlPosition( this );
-
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );    
-    iBgContext->SetLayerImage( EPhoneBgFirstLayer, KAknsIIDQsnBgScreen );
-    iBgContext->SetParentPos( screen.iTl );
-    iBgContext->SetLayerRect( EPhoneBgFirstLayer, screen ) ;
-
-    UpdateControlRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::PositionChanged
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::PositionChanged()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::PositionChanged()");
-    AknsUtils::RegisterControlPosition( this );
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::FocusChanged
-// -----------------------------------------------------------------------------
-//    
-void CPhoneDialerView::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {
-    iControl->SetFocus( IsFocused () );
-    }    
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::UpdateControlRect
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::UpdateControlRect()
-    {    
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::UpdateControlRect()");
-    if ( iControl )
-        {
-        if ( !AknLayoutUtils::PenEnabled() )
-            {
-            if ( Rect() != iControl->Rect() )
-                {
-                iControl->SetRect( Rect() );
-                }    
-            }
-        else
-            {
-            if ( iControlRect != iControl->Rect() )
-                {
-                iControl->SetRect( iControlRect );
-                }    
-            } 
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::HandleResourceChangeL
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::HandleResourceChange( TInt aType )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneDialerView::HandleResourceChange()");
-
-    if ( aType == KAknsMessageSkinChange || 
-         aType == KEikDynamicLayoutVariantSwitch )
-        {
-        DrawDeferred();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::SetSecurityMode
-// -----------------------------------------------------------------------------
-//
-void CPhoneDialerView::SetSecurityMode ( TBool aStatus )
-    {
-    if ( iSecurityMode != aStatus ) 
-        {
-        iSecurityMode = aStatus;
-        SizeChanged();    
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneDialerView::IsSecurityMode
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneDialerView::IsSecurityMode()    
-    {
-    return iSecurityMode;
-    }
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphonedtmfnumberlistquery.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +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:  NumberListQuery for DTMF strings.
-*
-*/
-
-
-
-#include    "cphonedtmfnumberlistquery.h"
-#include    "mphonequeryobserver.h"
-#include    "phoneui.hrh"
-#include    "phonelogger.h"
-#include    <mphcntmatch.h>
-#include    <StringLoader.h>
-#include    <phoneui.rsg>
-
-
-const TInt KPhoneManualDTMFString = R_QTN_ENTER_MANUALLY_QUERY_ITEM;
-const TInt KPhoneFindDTMFString = R_QTN_FIND_QUERY_ITEM;
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneDtmfNumberListQuery::CPhoneDtmfNumberListQuery(
-    MEikCommandObserver& aCommandObserver,
-    MPhoneQueryObserver& aQueryObserver,
-    HBufC*& aSelectedDtmfNumber ):
-      CAknListQueryDialog( &iIndex ),
-      iCommandObserver( aCommandObserver ),
-      iQueryObserver ( aQueryObserver ),
-      iSelectedDtmfNumber ( aSelectedDtmfNumber ),
-      iArray( 2 )
-    {
-    }
-// ---------------------------------------------------------------------------
-// CPhoneDtmfNumberListQuery::NewL
-// ---------------------------------------------------------------------------
-//
-CPhoneDtmfNumberListQuery* CPhoneDtmfNumberListQuery::NewL( MEikCommandObserver& aCommandObserver,
-                                                           MPhoneQueryObserver& aQueryObserver,
-                                                           HBufC*& aSelectedDtmfNumber  )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneDtmfNumberListQuery::NewL()");
-    CPhoneDtmfNumberListQuery* self = 
-                new ( ELeave ) CPhoneDtmfNumberListQuery( aCommandObserver, 
-                                                          aQueryObserver,
-                                                          aSelectedDtmfNumber );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPhoneDtmfNumberListQuery::ConstructL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneDtmfNumberListQuery::ConstructL()");
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneDtmfNumberListQuery::~CPhoneDtmfNumberListQuery()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneDtmfNumberListQuery::~CPhoneDtmfNumberListQuery()");
-    iArray.Reset();
-    iQueryObserver.SetQueryDeletedFlag( ETrue );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneDtmfNumberListQuery::PostLayoutDynInitL
-// ---------------------------------------------------------------------------
-//
-void CPhoneDtmfNumberListQuery::PostLayoutDynInitL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneDtmfNumberListQuery::PostLayoutDynInitL()");
-    HBufC* manual = StringLoader::LoadLC( KPhoneManualDTMFString );
-    HBufC* find = StringLoader::LoadLC( KPhoneFindDTMFString );
-    iArray.AppendL( *find );
-    iArray.AppendL( *manual );
-    SetItemTextArray( &iArray );
-    SetOwnershipType( ELbmDoesNotOwnItemArray ); 
-    CleanupStack::PopAndDestroy( 2, manual ); //find, manual  
-    Layout();
-    DrawDeferred(); 
-    }
-    
-// ---------------------------------------------------------------------------
-// CPhoneDtmfNumberListQuery::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CPhoneDtmfNumberListQuery::OfferKeyEventL( 
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    if ( aType == EEventKey &&
-        ( aKeyEvent.iScanCode == EStdKeyNo || aKeyEvent.iCode == EKeyNo ) )
-        {
-        OkToExitL( EPhoneCmdEnd );
-        }
-    else if ( aKeyEvent.iScanCode == EStdKeyYes )
-        {
-        return EKeyWasConsumed;        
-        }        
-                
-    return CAknListQueryDialog::OfferKeyEventL( aKeyEvent, aType );     
-    } 
-        
-// ---------------------------------------------------------------------------
-// CPhoneDtmfNumberListQuery::AppendStringToArrayL
-// ---------------------------------------------------------------------------
-//    
-void CPhoneDtmfNumberListQuery::AppendStringToArrayL( TDesC& aString )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneDtmfNumberListQuery::AppendStringToArrayL()");
-    iArray.AppendL( aString );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneDtmfNumberListQuery::OkToExitL
-//
-// If softkey is select, result buffer can be filled with DTMF string.
-// Selection can be 'Find' then single item fetch is started.
-// 
-// Otherwise forward to base class. 
-//
-// ---------------------------------------------------------------------------
-//
-
-TBool CPhoneDtmfNumberListQuery::OkToExitL( 
-        TInt aButtonId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneDtmfNumberListQuery::OkToExitL()");
-    TInt index = 0;
-    TInt arraycount = 0;
-    TBool retVal = ETrue;
-    if ( aButtonId == EAknSoftkeySelect || aButtonId == EEikBidOk )
-        {
-        
-        index = ListBox()->CurrentItemIndex();
-        arraycount = ListBox()->Model()->
-                    MatchableTextArray()->MdcaCount();
-        
-        // 'Enter manually' selected.  
-        //  Last in the list.         
-        if ( index == ( arraycount-1 ) )
-            {
-            // Forward pressed CBA to the framework so that we can handle it
-            // in our active state
-            iQueryObserver.ReportQueryCompleteAsync( EPhoneInCallCmdDtmfManualQuery ); 
-            }
-
-        // Fill result buffer with DTMF string.
-        else if ( index <= ( arraycount-3 ) )     
-            {
-            TPtrC ptr = ListBox()->Model()->
-                    MatchableTextArray()->MdcaPoint( index );
-                    
-            // Caller is responsible to delete object
-            iSelectedDtmfNumber = HBufC::NewL( ptr.Length() );
-            iSelectedDtmfNumber->Des().Append( ptr );           
-            //Let the command observer handle this case.
-            iQueryObserver.ReportQueryCompleteAsync( EPhoneCmdDtmfOk );           
-            }
-           
-        //  Make single item fetch if 'Find' selected.  
-        // 'Find' item is second last.
-        else if ( index == ( arraycount-2 ) )
-            {
-             // Forward pressed CBA to the framework so that we can handle it
-            // in our active state
-            iQueryObserver.ReportQueryCompleteAsync( EPhoneInCallCmdDtmfListViewSearch );
-            }
-        }
-        
-    else if ( aButtonId == EPhoneCmdEnd )  
-        {
-        iQueryObserver.ReportQueryCompleteAsync( EPhoneCmdEnd ); 
-        }        
-    
-    return retVal;
-    }
-    
-//  End of File  
--- a/phoneapp/phoneuiview/src/cphonedtmfsendingnote.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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: Implementation of CPhoneDtmfSendingNote class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphonedtmfsendingnote.h"
-#include "phoneui.hrh"
-
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneDtmfSendingNote::CPhoneDtmfSendingNote( CEikDialog** aSelfPtr, MEikCommandObserver& aCommandObserver ) :
-    CPhoneNote( aSelfPtr, aCommandObserver ) 
-    {
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-// 
-CPhoneDtmfSendingNote::~CPhoneDtmfSendingNote()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneDtmfSendingNote::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CPhoneDtmfSendingNote::OfferKeyEventL( 
-    const TKeyEvent& aKeyEvent,
-    TEventCode /*aType*/ )
-    {
-	if ( aKeyEvent.iScanCode == EStdKeyNo || aKeyEvent.iCode == EKeyNo )
-		{
-		OkToExitL( EPhoneCmdWaitNoteOk );
-		return EKeyWasNotConsumed;
-		}
-	else if( aKeyEvent.iScanCode == EStdKeyApplication0 ||
-	         aKeyEvent.iScanCode == EStdKeyYes || aKeyEvent.iCode == EKeyYes )
-		{
-		// Don't consume application and Yes -key
-		return EKeyWasNotConsumed;			
-		}
-	else
-		{
-		// Consume other key events
-	    return EKeyWasConsumed;		
-		}
-    }
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphoneincallindicator.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +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:  Incall indicator.
-*
-*/
-
-
-// INCLUDE FILES
-#include <ctsydomainpskeys.h>
-#include <AknIncallBubbleNotify.h>
-#include <avkon.hrh>
-
-#include "cphoneincallindicator.h"
-#include "cphonerecoverysystem.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparamincallindicatordata.h"
-#include "phonelogger.h"
-#include "phonerssbase.h"
-#include "cphonepubsubproxy.h"
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::CPhoneIncallIndicator
-// ---------------------------------------------------------
-//
-CPhoneIncallIndicator::CPhoneIncallIndicator()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::~CPhoneIncallIndicator
-// ---------------------------------------------------------
-//
-CPhoneIncallIndicator::~CPhoneIncallIndicator()
-    {
-    CPhoneRecoverySystem::Remove( iUpdateRecoveryId );
-
-    delete iBubble;
-    delete iUpdater;
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::NewL
-// ---------------------------------------------------------
-//
-CPhoneIncallIndicator* CPhoneIncallIndicator::NewL()
-    {
-    CPhoneIncallIndicator* self = new ( ELeave ) CPhoneIncallIndicator();
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::ConstructL
-// ---------------------------------------------------------
-//
-void CPhoneIncallIndicator::ConstructL()
-    {
-    iBubble = CAknIncallBubble::NewL();
-    iUpdater = CIdle::NewL( CActive::EPriorityHigh );
-    iUpdater->Start( TCallBack( DoUpdate, this ) );
-
-    iUpdateRecoveryId = CPhoneRecoverySystem::Instance()->AddL( 
-        TCallBack( DoRecoverUpdateL, this ),
-        CTeleRecoverySystem::EPhonePriorityStandard,
-        CTeleRecoverySystem::EPhoneStateIdle );   
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::Update
-//
-// Shows the incall indicator according to current call state.
-// ---------------------------------------------------------
-//
-void CPhoneIncallIndicator::Update(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamIncallIndicatorData* incallIndicatorParam =
-        static_cast<TPhoneCmdParamIncallIndicatorData*>( aCommandParam );
-
-    iCallState = incallIndicatorParam->CallState();
-    iMode = incallIndicatorParam->Mode();    
-    iMuted = incallIndicatorParam->Mute();
-    iCipheringOff = !incallIndicatorParam->Ciphering();
-    iCipheringIndicatorAllowed = 
-        incallIndicatorParam->CipheringIndicatorAllowed();
-    iEmergency = incallIndicatorParam->Emergency();
-    iLine2 = incallIndicatorParam->Line2();
-    iVisible = incallIndicatorParam->LittleBubbleVisible();
-
-    Update();
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::HandleMuteChange
-// ---------------------------------------------------------
-//
-void CPhoneIncallIndicator::HandleMuteChange( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamBoolean* booleanParam =
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    iMuted = booleanParam->Boolean();
-
-    Update();
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::HandleCipheringChange
-// ---------------------------------------------------------
-//
-void CPhoneIncallIndicator::HandleCipheringChange(  
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamBoolean* booleanParam =
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    iCipheringOff = booleanParam->Boolean();
-
-    Update();
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::Update
-//
-// Updates incall indicator according to current call state.
-// ---------------------------------------------------------
-//
-void CPhoneIncallIndicator::Update()
-    {
-    TInt state = KPhoneIncallIndicatorDefaultValue;
-    TBool sync = ETrue;
-
-    // Put base value appropriate to the state.
-    switch ( iCallState )
-        {
-        case EPSCTsyCallStateDialling:            
-            state = EAknStatusBubbleActive;
-            break;
-			
-        case EPSCTsyCallStateRinging:
-        case EPSCTsyCallStateAlerting:
-        case EPSCTsyCallStateAnswering:
-            state = EAknStatusBubbleAlerting;
-            sync = EFalse;
-            break;
-
-        case EPSCTsyCallStateConnected:
-            state = EAknStatusBubbleActive;
-            if ( iEmergency )
-                {
-                state |= EAknStatusBubbleEmergency;
-                }
-            break;
-
-        case EPSCTsyCallStateHold: // Held
-            state = EAknStatusBubbleOnHold;
-            break;
-
-        case EPSCTsyCallStateDisconnecting:
-            state = EAknStatusBubbleDisconnected;
-            break;
-
-        case EPSCTsyCallStateUninitialized:
-        case EPSCTsyCallStateNone:
-            iVisible = EFalse;
-            break;
-
-        default:
-            break;
-        }
-
-    // Put call mode flag if necessary.
-    switch ( iMode )
-        {
-        case EPSCTsyCallTypeFax:
-            state |= EAknStatusBubbleFax;
-            break;
-
-        case EPSCTsyCallTypeData:
-        case EPSCTsyCallTypeHSCSD:
-            state |= EAknStatusBubbleData;
-            break;
-        case EPSCTsyCallTypeH324Multimedia:
-            state |= EAknStatusBubbleVideo;
-            break;
-        case EPSCTsyCallTypeVoIP:
-            state |= EAknStatusBubbleVoIP;
-            break;
-        case EPSCTsyCallTypeNone:
-        case EPSCTsyCallTypeCSVoice: 
-        default:
-            break;
-        }
-    
-    if ( iMuted )
-        {
-        state |= EAknStatusBubbleMuted;
-        }
-
-    if ( iCipheringOff && iCipheringIndicatorAllowed )
-        {
-        state |= EAknStatusBubbleNoCiphering;
-        }
-        
-    if ( iLine2 )
-        {
-        state |= EAknStatusBubbleLine2;   
-        }
-
-    if ( iVisible )
-        {
-        state |= EAknStatusBubbleVisible;
-        }
-
-    SetState( state, sync );
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::SetState
-//
-// Modify only if needed.
-// ---------------------------------------------------------
-//
-void CPhoneIncallIndicator::SetState( 
-    TInt aState,
-    TBool aSync )
-    {
-    if ( !aSync )
-        {
-        if ( aState != iState )
-            {
-            iState = aState;
-
-            if ( !iUpdater->IsActive() )
-                {
-                iUpdater->Start( TCallBack( DoUpdate, this ) );
-                }   
-            }
-        }
-    else
-        {
-        if ( aState != iState || iUpdater->IsActive() )
-            {
-            iState = aState;
-            UpdateWithRecovery();
-            iUpdater->Cancel();
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::UpdateWithRecovery
-// ---------------------------------------------------------
-//
-void CPhoneIncallIndicator::UpdateWithRecovery()
-    {
-    CPhoneRecoverySystem::Instance()->RecoverNow( 
-        iUpdateRecoveryId, 
-        CTeleRecoverySystem::EPhonePriorityStandard );
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::DoRecoverUpdateL
-//
-// Callback function.
-// ---------------------------------------------------------
-//
-TInt CPhoneIncallIndicator::DoRecoverUpdateL( TAny* aAny )
-    {
-    CPhoneIncallIndicator* ind = static_cast<CPhoneIncallIndicator*>( aAny );
-
-    ind->iBubble->SetIncallBubbleFlagsL( ind->iState );
-
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::DoUpdate
-//
-// Callback function.
-// ---------------------------------------------------------
-//
-TInt CPhoneIncallIndicator::DoUpdate( TAny* aAny )
-    {
-    static_cast<CPhoneIncallIndicator*>( aAny )->UpdateWithRecovery();
-    
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CPhoneIncallIndicator::IsEmergencyCall
-// ---------------------------------------------------------
-//
-TBool CPhoneIncallIndicator::IsEmergencyCall()
-    {
-    return iEmergency;
-    }
-
-//  End of File  
-
--- a/phoneapp/phoneuiview/src/cphonekeycapturecontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CPhoneKeyCaptureController class.
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <w32std.h>
-#include "cphonekeycapturecontroller.h"
-#include "tphonecmdparamKeycapture.h"
-#include "phoneconstants.h"
-#include "phonelogger.h"
-
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneKeyCaptureController::CPhoneKeyCaptureController( CEikonEnv& aEikEnv ): iEikEnv( aEikEnv )
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneKeyCaptureController::NewL()
-// Two-phased constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-CPhoneKeyCaptureController* CPhoneKeyCaptureController::NewL( CEikonEnv& aEikEnv )
-    {
-    CPhoneKeyCaptureController* self = 
-        new( ELeave ) CPhoneKeyCaptureController( aEikEnv );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-// 
-CPhoneKeyCaptureController::~CPhoneKeyCaptureController()
-    {
-    // should we have any captured keys, stop capturing now:
-    TInt capturedKeyCount = iCapturedKeys.Count();
-    for( TInt i = 0; i < capturedKeyCount ; i++ )
-        {
-        StopKeyCapture( iCapturedKeys[i] );
-        }
-
-    iCapturedKeys.Close();
-    }
-
-// ---------------------------------------------------------
-// CPhoneKeyCaptureController::StartCapturingKey
-// Starts capturing a key
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//      
-void CPhoneKeyCaptureController::StartCapturingKey( 
-    TPhoneCommandParam* aCommandParam ) 
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneKeyCaptureController::StartCapturingKey");
-    TPhoneCmdParamKeyCapture* keyCaptureParam = 
-        static_cast<TPhoneCmdParamKeyCapture*>( aCommandParam );
-
-    TInt32 handle = KErrNotFound;
-    TPhoneKeyCapture keyCapture;
-    
-    RWindowGroup& windowGroup = iEikEnv.RootWin();
-
-    if ( !IsKeyCaptured ( keyCaptureParam->Key() ) )
-        {
-        __PHONELOG1( 
-            EBasic, 
-            EPhoneUIView,
-            "Capture key %d here ", 
-            static_cast<TInt>( keyCaptureParam->Key() ) );
-
-        keyCapture.iKey = keyCaptureParam->Key();
-        keyCapture.iKeyCode = keyCaptureParam->KeyCode();
-        keyCapture.iHandle = 0; // set as initial value
-        keyCapture.iHandleForUpAndDown = 0; // set as initial value
-
-        switch( keyCaptureParam->CaptureType() )
-            {
-            case EPhoneKeyEvent:
-                keyCapture.iType = EPhoneKeyCaptureEvent;
-                keyCapture.iHandle = windowGroup.CaptureKey( 
-                    keyCapture.iKeyCode, 0, 0 );
-                handle = keyCapture.iHandle;
-                break;
-            case EPhoneKeyUpAndDownEvents:
-                keyCapture.iType = EPhoneKeyCaptureUpAndDownEvents;
-                keyCapture.iHandleForUpAndDown = 
-                    windowGroup.CaptureKeyUpAndDowns( 
-                    keyCapture.iKey, 0, 0 );
-                handle = keyCapture.iHandleForUpAndDown;
-                break;
-            default: // EPhoneKeyAllEvents
-                {
-                keyCapture.iType = EPhoneKeyCaptureAllEvents;
-                keyCapture.iHandle = windowGroup.CaptureKey( 
-                    keyCapture.iKeyCode, 0, 0 );
-                if ( keyCapture.iHandle >= 0 )
-                    {
-                    keyCapture.iHandleForUpAndDown = 
-                        windowGroup.CaptureKeyUpAndDowns( 
-                        keyCapture.iKey, 0, 0 );
-
-                    if ( keyCapture.iHandleForUpAndDown < 0 )
-                        {
-                        windowGroup.CancelCaptureKey( keyCapture.iHandle );
-                        }
-
-                    handle = keyCapture.iHandleForUpAndDown;
-                    }   
-                break;
-                }
-            } // switch
-
-        if ( handle >= 0 )
-            {
-            if ( iCapturedKeys.Append( keyCapture ) != KErrNone )
-                {
-                StopKeyCapture( keyCapture );
-                }
-            }
-        }   // if isKeyCaptured
-    }
-
-// ---------------------------------------------------------
-// CPhoneKeyCaptureController::StopCapturingKey
-// Stops capturing a key
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CPhoneKeyCaptureController::StopCapturingKey( 
-    TPhoneCommandParam* aCommandParam ) 
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneKeyCaptureController::StopCapturingKey");
-    TPhoneCmdParamKeyCapture* keyCaptureParam = 
-        static_cast<TPhoneCmdParamKeyCapture*>( aCommandParam );
-
-    const TInt capturedKeyCount = iCapturedKeys.Count();
-
-    __PHONELOG2( 
-        EBasic, 
-        EPhoneUIView,
-        "UnCapture key %d here (%d keys left)",
-        static_cast<TInt>( keyCaptureParam->Key() ), 
-        static_cast<TInt>( capturedKeyCount ) );
-
-    TBool foundKey = EFalse;
-
-    for( TInt i = 0; ( i < capturedKeyCount ) && !foundKey ; i++ )
-        {
-        if( iCapturedKeys[i].iKey == keyCaptureParam->Key() )
-            {
-            foundKey = ETrue;
-            StopKeyCapture( iCapturedKeys[i] );
-            iCapturedKeys.Remove(i);
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneKeyCaptureController::IsKeyCaptured
-// May be used to ask whether a key has been set to be captured
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//      
-TBool CPhoneKeyCaptureController::IsKeyCaptured( TStdScanCode aKey ) const
-    {
-    const TInt capturedKeyCount = iCapturedKeys.Count();
-    TBool isCaptured = EFalse;
-
-    for( TInt i = 0 ; ( i < capturedKeyCount ) && !isCaptured; i++ )
-        {
-        isCaptured = iCapturedKeys[i].iKey == aKey; 
-        }
-
-    return isCaptured;
-    }
-
-// ---------------------------------------------------------
-// CPhoneKeyCaptureController::StopKeyCapture
-// Stops capturing a key
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//      
-void CPhoneKeyCaptureController::StopKeyCapture( TPhoneKeyCapture aKeyCapture )
-    {
-    RWindowGroup& windowGroup = iEikEnv.RootWin();
-
-    switch ( aKeyCapture.iType )
-        {
-        case EPhoneKeyCaptureEvent:
-            windowGroup.CancelCaptureKey( aKeyCapture.iHandle );
-            break;
-        case EPhoneKeyCaptureUpAndDownEvents:
-            windowGroup.CancelCaptureKeyUpAndDowns( 
-                aKeyCapture.iHandleForUpAndDown );
-            break;
-        default: // EPhoneKeyCaptureAllEvents
-            {
-            windowGroup.CancelCaptureKey( aKeyCapture.iHandle );
-            windowGroup.CancelCaptureKeyUpAndDowns( 
-                aKeyCapture.iHandleForUpAndDown );
-            break;
-            }
-        }
-    }
-
-// end of file
--- a/phoneapp/phoneuiview/src/cphonelistquerydialog.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +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:  ListQueryDialog
-*
-*/
-
-
-// INCLUDES
-
-#include "cphonelistquerydialog.h"
-#include "mphonequeryobserver.h"
-#include "phoneui.hrh"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneListQueryDialog::CPhoneListQueryDialog(
-    MEikCommandObserver& aCommandObserver,
-    MPhoneQueryObserver& aQueryObserver, 
-    const RArray<TInt>& aCommands ) :
-    CAknListQueryDialog( &iIndex ), 
-    iCommandObserver( aCommandObserver ),
-    iQueryObserver ( aQueryObserver ) 
-    {
-    for ( TInt i( 0 ); i < aCommands.Count(); i++ )
-        {
-        iCommands.Append( aCommands[i] );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneListQueryDialog::~CPhoneListQueryDialog()
-    {
-    iCommands.Close(); 
-    iQueryObserver.SetQueryDeletedFlag( ETrue );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPhoneListQueryDialog::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CPhoneListQueryDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                          TEventCode aType )
-    {
-    TKeyResponse ret = EKeyWasNotConsumed;
-    if ( aType == EEventKey &&
-        ( aKeyEvent.iScanCode == EStdKeyNo || aKeyEvent.iCode == EKeyNo ) )
-        {
-        OkToExitL( EPhoneCmdWaitNoteOk );
-        }       
-    else if ( aKeyEvent.iScanCode == EStdKeyYes )
-        {
-        ret =  EKeyWasConsumed;        
-        }    
-    else 
-        {
-        ret = CAknListQueryDialog::OfferKeyEventL( aKeyEvent, aType );              
-        }
-    
-    return ret;
-  
-    }    
-// ---------------------------------------------------------------------------
-// CPhoneListQueryDialog::PostLayoutDynInitL
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CPhoneListQueryDialog::PostLayoutDynInitL()
-    {
-    CAknListQueryDialog::PostLayoutDynInitL();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneListQueryDialog::OkToExitL
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneListQueryDialog::OkToExitL( TInt aKeyCode )
-    {    
-    if ( aKeyCode == EEikBidOk )
-        { 
-        if( !ListBox() )
-            {
-            User::Leave( KErrNotFound );
-            }
-        
-        TInt itemIndex = ListBox()->CurrentItemIndex();
-        
-        if( itemIndex >= iCommands.Count() || itemIndex < 0 )
-            {
-            User::Leave( KErrNotFound );
-            }
-        
-        iQueryObserver.ReportQueryCompleteAsync( iCommands [itemIndex] );        
-        }    
-    else if ( aKeyCode == EPhoneCmdWaitNoteOk )  
-        {
-        iQueryObserver.ReportQueryCompleteAsync( EPhoneCmdWaitNoteOk ); 
-        }
-    
-    return ETrue;
-    }
-    
-//  End of File  
--- a/phoneapp/phoneuiview/src/cphonemenucontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1062 +0,0 @@
-/*
-* 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: Implementation of CPhoneMenuController class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphonemenucontroller.h"
-#include "tphonecommandparam.h"
-#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamdynmenu.h"
-#include "tphonecmdparamboolean.h"
-#include "phoneconstants.h"
-#include "phonelogger.h"
-#include "tphonecmdparamincallindicatordata.h"
-#include "cphonepubsubproxy.h"
-#include "cphonecenrepproxy.h"
-
-
-#include <eikenv.h>
-#include <eikappui.h>
-#include <eikapp.h>
-#include <eikmenub.h> 
-#include <eikspane.h> 
-#include <featmgr.h>
-#include <ctsydomainpskeys.h>
-#include "phoneui.hrh"
-#include <phoneappvoipcommands.hrh>
-#include <phoneui.rsg>
-#include <telephonyvariant.hrh>
-
-#include <hwrmdomainpskeys.h>
-
-#include <AiwServiceHandler.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CPhoneMenuController::CPhoneMenuController
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneMenuController::CPhoneMenuController( CEikonEnv& aEikEnv ): 
-    iMenuResourceId( 0 ),
-    iOkMenuResourceId( 0 ),
-    iEikEnv( aEikEnv )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneMenuController::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneMenuController::ConstructL()
-    {
-    iMenu = iEikEnv.AppUiFactory()->MenuBar();
-        
-    if ( FeatureManager::FeatureSupported( KFeatureIdMultimediaSharing ) )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> Going to instantiate CAiwServiceHandler");
-        //If multimedia sharing is supported, initialise instance to AIW handler
-        //and attach menu interest.        
-        iServiceHandler = CAiwServiceHandler::NewL();  
-        
-         // Attach menu service interests to AIW framework.
-        iServiceHandler->AttachMenuL( R_PHONEUI_CALLHANDLING_INCALL_OPTIONS_MENU,
-            R_PHONEUI_AIWSHARE_INTEREST );
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> AIW Menu attached");       
-        }
-    
-    CPhonePubSubProxy::Instance()->NotifyChangeL(
-                                         KPSUidHWRM, KHWRMGripStatus, this );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneMenuController::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneMenuController* CPhoneMenuController::NewL( CEikonEnv& aEikEnv )
-    {   
-    CPhoneMenuController* self = new( ELeave ) CPhoneMenuController( aEikEnv );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// Destructor
-CPhoneMenuController::~CPhoneMenuController()
-    {
-    delete iServiceHandler;      
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::CloseMenuBar()
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::CloseMenuBar()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::CloseMenuBar()" );
-    iMenu->StopDisplayingMenuBar();
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::OpenMenuBar()
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::OpenMenuBarL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::OpenMenuBarL()" );
-    iMenu->SetMenuTitleResourceId( iMenuResourceId );
-    iMenu->TryDisplayMenuBarL();
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetMenubarL
-// Set the Menubar to the specified setting
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::OpenMenuBarL( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::OpenMenuBarL()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdInteger )
-        {
-        TPhoneCmdParamInteger* menuResource = 
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-        iMenuResourceId = menuResource->Integer();
-        ShowTaskSwapper( iMenuResourceId );
-
-        iMenu->SetMenuTitleResourceId( iMenuResourceId );
-        iMenu->TryDisplayMenuBarL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneMenuController::IsSwivelClosed
-// This function checks from PubSubProxy that is
-// Swivel closed or not in product.
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneMenuController::IsSwivelClosed() const
-    {
-    if( CPhoneCenRepProxy::Instance()->
-            IsTelephonyFeatureSupported( KTelephonyLVFlagSwivelInDevice ))
-        {
-        return CPhonePubSubProxy::Instance()->Value(
-                                         KPSUidHWRM, KHWRMGripStatus ) == EPSHWRMGripClosed;        
-        }
-    else
-        {
-        return EFalse;
-        }
-
-    } 
-
-// ---------------------------------------------------------
-// CPhoneMenuController::DynInitMenuBar
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::DynInitMenuBar( 
-    TPhoneCommandParam* /*aCommandParam*/ )
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::DynInitMenuPaneL
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::DynInitMenuPaneL( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::DynInitMenuPaneL()" );
-    TPhoneCmdParamDynMenu* menu = 
-        static_cast<TPhoneCmdParamDynMenu*>( aCommandParam );
-
-    TInt resourceId = menu->ResourceId();
-    
-    __PHONELOG1( 
-        EBasic, 
-        EPhonePhoneapp, 
-        "CPhoneMenuController::DynInitMenuPaneL() - ResourceId = %d)", 
-        resourceId );
- 
-    CEikMenuPane*  menuPane= 
-        reinterpret_cast<CEikMenuPane*>( menu->DynMenu() );
- 
-    RArray<TInt> menuItemArray;
-    CleanupClosePushL( menuItemArray );
-
-    TInt menuItemCount = menuPane->NumberOfItemsInPane();
-    __PHONELOG1( 
-        EBasic, 
-        EPhonePhoneapp, 
-        "CPhoneMenuController::DynInitMenuPaneL() - MenuItemCount = %d)", 
-        menuItemCount );
- 
-    // Menu items to array
-    for ( TInt i( 0 ); i < menuItemCount; i++ )
-        {
-        menuItemArray.Append( menuPane->MenuItemCommandId( i ) );
-        }
-    TBool onScreenDialer = FeatureManager::FeatureSupported( 
-                                    KFeatureIdOnScreenDialer );  
-                                           
-    // Menu items to be deleted 
-    for ( TInt i( 0 ); i < menuItemArray.Count(); i++ )
-        {
-        switch( menuItemArray[ i ] )
-            {
-            case EPhoneInCallCmdDialer:
-                if ( !onScreenDialer )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );    
-                    }
-                break;
-            case EPhoneInCallCmdLockKeypad:
-                if ( onScreenDialer || iHoldFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );     
-                    }
-                break;
-            case EPhoneInCallCmdLockScreen:
-                if ( !onScreenDialer || iHoldFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );     
-                    }
-                break;
-            case EPhoneNumberAcqCmdCall:
-                if ( onScreenDialer && iNumberEntryEmpty )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] ); 
-                    }
-                else if ( iServiceCodeFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneNumberAcqCmdVideoCall:
-                if ( iServiceCodeFlag && 
-                     FeatureManager::FeatureSupported( 
-                         KFeatureIdVideocallMenuVisibility ))
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                else if( !( FeatureManager::FeatureSupported( 
-                        KFeatureIdCsVideoTelephony ) ) )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
- 
-            case EPhoneNumberAcqCmdSendMessage:            
-                if ( iNumberEntryEmpty )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] ); 
-                    }
-                break;                    
-                                
-            case EPhoneNumberAcqCmdSendCommand:
-                if ( !iServiceCodeFlag || iNumberEntryEmpty )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneNumberAcqCmdToggleNeAlphaMode:
-                if ( iAlphaMode )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                         
-            case EPhoneNumberAcqCmdToggleNeNumericMode:
-                if ( !iAlphaMode )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-                
-            case EPhoneInCallCmdGoToIdle:
-                if ( iNEVisible )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );    
-                    }
-                break;
-                
-            case EPhoneInCallCmdMute:
-                if ( iMuteFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneInCallCmdUnmute:
-                if ( !iMuteFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneInCallCmdHold: // fall through
-            case EPhoneInCallCmdConferenceHold:
-                if ( iHoldFlag && !iConferenceAndSingleFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneInCallCmdDtmfListQuery:
-                if ( ( iHoldFlag && !iAllowDtmfOptionsFlag ) || iHideVideoCallDTMFVisibility )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneInCallCmdSwitchToVideo:
-                if( !iPhoneNumberAvailableInPhoneEngine  ||
-                    !( FeatureManager::FeatureSupported( 
-                            KFeatureIdCsVideoTelephony ) ) )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );                    
-                    }
-                 break;
-            case EPhoneInCallCmdSwitchToVoice:
-                if( !iPhoneNumberAvailableInPhoneEngine )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );                    
-                    }
-                break;
-                
-            case EPhoneCallComingCmdSoftReject:
-                if ( !iSoftRejectFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneCallComingCmdAnswerHandPortableVideo:
-                if ( iWiredAccAvailableFlag || IsSwivelClosed() )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );        
-                    }
-                break;   
-                  
-            case EPhoneCallComingCmdAnswerHandPortable:
-                if ( !iBTAccAvailableFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                 break;
-                 
-            case EPhoneInCallCmdConferenceUnhold: // fall through
-            case EPhoneInCallCmdUnhold:
-                if ( !iHoldFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneInCallCmdCreateConference:
-                // Remove conference submenu item if:
-                // 1. Specific flag is set (calls are different type) OR
-                // 2. We are in Conference And Single state where the conference call is on hold and there
-                //    are maximum amount of participants in conference call (can't add single to the conference) OR
-                // 3. Conference call is on hold and we are in some other conference state than Conference And Single
-                if ( iRemoveConfrenceOptionsFlag || ( iHoldFlag && iConferenceAndSingleFlag && iMaxConfMembersFlag ) ||
-                     ( iHoldFlag && !iConferenceAndSingleFlag ) )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                                
-            case EPhoneInCallCmdJoin:
-                 if( iMaxConfMembersFlag || iRemoveConfrenceOptionsFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneInCallCmdReplace:
-                if ( !iReplace )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneInCallCmdActivateIhf:
-                if ( iWiredAccFlag || iIhfFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneInCallCmdDeactivateIhf:
-                if ( iWiredAccFlag || !iIhfFlag || IsSwivelClosed() )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[ i ] );
-                    }
-                break;
-                
-            case EPhoneInCallCmdBtHandsfree:
-                if ( iBTAccTmpUnFlag && !iWiredAccFlag  )
-                    {
-                    // None
-                    }
-                else
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );
-                    }    
-                break;
-
-            case EPhoneInCallCmdHandset:
-                if ( iBTAccFlag && !iWiredAccFlag )
-                    {
-                    if ( IsSwivelClosed() )
-                        {
-                        menuPane->DeleteMenuItem( menuItemArray[i] );
-                        }
-                    }
-                 else
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );
-                    }   
-                break; 
-
-            case EPhoneDialerCallHandling:
-                {
-                // no active call
-                if ( onScreenDialer && !iCallInProgress )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );                    
-                    }                
-                }
-                break;
-            case EPhoneDialerCmdLog:
-                {
-                if ( onScreenDialer && !iNumberEntryEmpty  )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );                    
-                    }                
-                }
-                break;
-            case EPhoneDialerCmdContacts:
-                {
-                if ( onScreenDialer && !iNumberEntryEmpty   )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );                    
-                    }                
-                }
-                break;
-
-            case EPhoneNumberAcqCmdAddToContacts:
-                {
-                if ( onScreenDialer && iNumberEntryEmpty   )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );                    
-                    }                
-                }
-                break;
-            case EPhoneDialerCmdSpeedDial:
-                {
-                if ( onScreenDialer && !iNumberEntryEmpty )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );                         
-                    }
-                }
-                break;
-            case EPhoneCmdDtmfOk:
-                {
-                if ( onScreenDialer && iNumberEntryEmpty )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );                     
-                    }
-                }
-                break;
-           case EPhoneInCallCmdPrivate:
-                {
-                if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) &&
-                    iHoldFlag && 
-                    iConferenceParticipantsListOpenFlag )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );                      
-                    }
-                }
-                break;
-            case EPhoneDialerCmdTouchInput:
-                {
-                if ( !FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );      
-                    }
-                }
-                break;
-            case EPhoneVideoSharing:
-                {
-                if( !FeatureManager::FeatureSupported( KFeatureIdMultimediaSharing ) )
-                    {
-                    menuPane->DeleteMenuItem( menuItemArray[i] );      
-                    }
-                }
-                break;
-                
-            default:
-                break;                                                                                                
-             
-            }
-        }
-    
-    CleanupStack::PopAndDestroy(); // CleanupClosePushL
-    
-    if ( FeatureManager::FeatureSupported( KFeatureIdMultimediaSharing ) )
-        {
-        if( iServiceHandler->HandleSubmenuL( *menuPane ) )
-            {
-            // AIW handled this
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> AIW handled this sub menu");
-            return;                
-            }
-            
-        if( iServiceHandler->IsAiwMenu( resourceId ) )
-            {
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> Resource is in AIW menu");
-            iServiceHandler->InitializeMenuPaneL( 
-                *menuPane, 
-                resourceId, 
-                EPhoneVideoSharing, 
-                iServiceHandler->InParamListL() );                
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneViewController::CPhoneMenuController -> AIW menu initialized");
-            }        
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::AddMenuPaneL
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::AddMenuPaneL(
-    TInt /*aPaneResourceId*/,
-    CEikMenuPane* /*aMenuPane*/,
-    TBool /*aAddSeparator*/ )
-    { 
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetMuteFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetMuteFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetMuteFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* muteFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iMuteFlag = muteFlag->Boolean();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetIhfFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetIhfFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetIhfFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* ihfFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iIhfFlag = ihfFlag->Boolean();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetHoldFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetHoldFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetHoldFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* holdFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iHoldFlag = holdFlag->Boolean();
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneMenuController::GetHoldFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::GetHoldFlag( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::GetHoldFlag()" );
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanValue = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-        booleanValue->SetBoolean( iHoldFlag );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetConferenceAndSingleFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetConferenceAndSingleFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetConferenceAndSingleFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* conferenceAndSingleFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iConferenceAndSingleFlag = conferenceAndSingleFlag->Boolean();
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneMenuController::GetConferenceAndSingleFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::GetConferenceAndSingleFlag( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::GetConferenceAndSingleFlag()" );
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanValue = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-        booleanValue->SetBoolean( iConferenceAndSingleFlag );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetSoftRejectFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetSoftRejectFlag(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetSoftRejectFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* softRejectFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iSoftRejectFlag = softRejectFlag->Boolean();
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneMenuController::GetSoftRejectFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::GetSoftRejectFlag(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::GetSoftRejectFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* softRejectFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        softRejectFlag->SetBoolean( iSoftRejectFlag );
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneMenuController::SetServiceCodeFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetServiceCodeFlag( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetServiceCodeFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* serviceCodeFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iServiceCodeFlag = serviceCodeFlag->Boolean();
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneMenuController::SetWiredAccFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetWiredAccFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetWiredAccFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* accFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iWiredAccFlag = accFlag->Boolean();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetWiredAccAvailableFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetWiredAccAvailableFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetWiredAccAvailableFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* accFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iWiredAccAvailableFlag = accFlag->Boolean();
-        
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetMaxConfMembersFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetMaxConfMembersFlag( TBool aIsMaxConfMembers )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetMaxConfMembersFlag()" );
-    iMaxConfMembersFlag = aIsMaxConfMembers;
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetBTAccFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetBTAccFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetBTAccFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* accFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iBTAccFlag = accFlag->Boolean();
-        iBTAccTmpUnFlag = iBTAccAvailableFlag && !iBTAccFlag;
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetBTAccAvailableFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetBTAccAvailableFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetBTAccAvailableFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* accFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iBTAccAvailableFlag = accFlag->Boolean();
-        iBTAccTmpUnFlag = iBTAccAvailableFlag && !iBTAccFlag;
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetNEVisibleFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetNEVisibleFlag( TBool aVisible )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetNEVisibleFlag()" );
-    iNEVisible = aVisible;
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetReplaceFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetReplaceFlag( TBool aReplace )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetReplaceFlag()" );
-    iReplace = aReplace;
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetPhoneNumberAvailableInPhoneEngine
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetPhoneNumberAvailableInPhoneEngine( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetPhoneNumberAvailableInPhoneEngine()" );
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* phoneNumberAvailable = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iPhoneNumberAvailableInPhoneEngine = phoneNumberAvailable->Boolean();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneMenuController::ShowTaskSwapper
-// 
-// Decide if TaskSwapper is to be shown in menu.
-// -----------------------------------------------------------------------------
-//
-void CPhoneMenuController::ShowTaskSwapper( TInt aResourceId ) const
-    {
-    if ( aResourceId == R_PHONEUI_NUMBERACQ_OK_MENUBAR ||
-         aResourceId == R_PHONEUI_INCOMINGVIDEOCALL_MENUBAR || 
-         aResourceId == R_PHONEUI_INCOMINGCALL_MENUBAR ||
-         aResourceId == R_PHONEUI_INCOMINGCALL_MENUBAR_WITH_NUMBERENTRY ||
-         aResourceId == R_PHONEUI_INCOMINGVIDEOCALL_MENUBAR_WITH_NUMBERENTRY ||
-         aResourceId == R_PHONEUI_WAITING_LOCK_MENUBAR ||
-         aResourceId == R_PHONEUI_TWOSINGLES_WAITING_LOCK_MENUBAR  )
-        {
-        iMenu->SetMenuType( CEikMenuBar::EMenuOptionsNoTaskSwapper );
-        }
-    else
-        {
-        iMenu->SetMenuType( CEikMenuBar::EMenuOptions );
-        }
-    }    
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SendAiwCommandL
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SendAiwCommandL( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SendAiwCommandL()" );
-    if( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdInteger )
-        {
-        TPhoneCmdParamInteger* command =
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-        CAiwGenericParamList& in = iServiceHandler->InParamListL();
-        iServiceHandler->ExecuteMenuCmdL( command->Integer(),
-                                          in,
-                                          iServiceHandler->OutParamListL() );                
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneMenuController::SetContextMenu
-// ---------------------------------------------------------------------------
-//
-void CPhoneMenuController::SetContextMenu( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, 
-                         "CPhoneMenuController::SetContextMenu" );
-    if( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdInteger )
-        {
-        TPhoneCmdParamInteger* command =
-               static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-        iMenu->SetContextMenuTitleResourceId( command->Integer() );
-        
-        }
-    
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetRemoveConfrenceOptionsFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetRemoveConfrenceOptionsFlag( TBool aRemoveConfrenceOptions )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetRemoveConfrenceOptionsFlag()" );
-    iRemoveConfrenceOptionsFlag = aRemoveConfrenceOptions;
-    }
-    
-// ---------------------------------------------------------
-// CPhoneMenuController::SetNumberEntryEmptyFlag
-// ---------------------------------------------------------
-//    
-void CPhoneMenuController::SetNumberEntryEmptyFlag( TBool aNumberEntryEmpty )
-    {
-    iNumberEntryEmpty = aNumberEntryEmpty;
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetCallInProgressFlag
-// ---------------------------------------------------------
-// 
-void CPhoneMenuController::SetCallInProgressFlag( TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamIncallIndicatorData* param =
-        static_cast<TPhoneCmdParamIncallIndicatorData*>( aCommandParam );
-
-    TInt callState = param->CallState();    
-    switch ( callState )
-        {
-        case EPSCTsyCallStateAlerting:
-        case EPSCTsyCallStateRinging:
-        case EPSCTsyCallStateDialling:
-        case EPSCTsyCallStateAnswering:
-        case EPSCTsyCallStateConnected:
-        case EPSCTsyCallStateHold: 
-            {
-            //call in progress
-            iCallInProgress = ETrue;
-            break;
-            }                 
-        default:
-            {
-            iCallInProgress = EFalse;
-             //call not in progress
-            break;
-            } 
-        }
-    }
-    
-// ---------------------------------------------------------
-// CPhoneMenuController::IsMenuBarVisible()
-// ---------------------------------------------------------
-//
-TBool CPhoneMenuController::IsMenuBarVisible()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::IsMenuBarVisible()" );
-    return iMenu->IsDisplayed();
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetConferenceParticipantsListVisibleFlag()
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetConferenceParticipantsListVisibleFlag( 
-                                        TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* participantsListOpenFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );  
-        iConferenceParticipantsListOpenFlag = participantsListOpenFlag->Boolean();
-        }    
-    }
-
-//-------------------------------------------------------------------------------
-// CPhoneMenuController::GetConferenceParticipantsListVisibleFlag
-//-------------------------------------------------------------------------------
-void CPhoneMenuController::GetConferenceParticipantsListVisibleFlag(
-        TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* participantsListOpenFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );  
-        participantsListOpenFlag->SetBoolean( iConferenceParticipantsListOpenFlag );
-        } 
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetAlphaModeFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetAlphaModeFlag( TBool aMode )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetAlphaModeFlag()" );
-    iAlphaMode = aMode;
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetAllowDtmfOptionsFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetAllowDtmfOptionsFlag( TBool aMode )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetAllowDtmfOptionsFlag()" );
-    iAllowDtmfOptionsFlag = aMode;
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetHideVideoCallDTMFVisibility
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetHideVideoCallDTMFVisibilityFlag( TBool aHideVideoCallDTMFVisibility )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetHideVideocallDTMFVisibility()" );
-    iHideVideoCallDTMFVisibility = aHideVideoCallDTMFVisibility;
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::SetVoipEnabledFlag
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::SetVoipEnabledFlag(  
-                                        TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::SetVoipEnabledFlag()" );
-    
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* voipEnabled = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );  
-        iVoipEnabledFlag = voipEnabled->Boolean();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneMenuController::HandlePropertyChangedL
-// ---------------------------------------------------------
-//
-void CPhoneMenuController::HandlePropertyChangedL( 
-        const TUid& aCategory,
-        const TUint aKey,
-        const TInt aValue )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneMenuController::HandlePropertyChangedL()" );
-    __PHONELOG1( EBasic, EPhoneUIView, 
-            "CPhoneMenuController::HandlePropertyChangedL - aCategory= %d", aCategory  );      
-    __PHONELOG1( EBasic, EPhoneUIView, 
-            "CPhoneMenuController::HandlePropertyChangedL - aKey= %d", aKey  );  
-    __PHONELOG1( EBasic, EPhoneUIView, 
-            "CPhoneMenuController::HandlePropertyChangedL - aValue= %d", aValue  );
-    if ( aCategory == KPSUidHWRM && 
-         aKey == KHWRMGripStatus && 
-         aValue != EPSHWRMGripStatusUninitialized && 
-         iMenu->IsDisplayed()  )
-        {
-        CloseMenuBar();
-        }
-    }
-
-     
-// End of File
--- a/phoneapp/phoneuiview/src/cphonenote.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CPhoneNote class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphonenote.h"
-#include "phoneui.hrh"
-#include <featmgr.h>
-
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneNote::CPhoneNote( CEikDialog** aSelfPtr, MEikCommandObserver& aCommandObserver ) :
-    CAknNoteDialog( aSelfPtr ),
-    iCommandObserver( aCommandObserver ) 
-    {
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-// 
-CPhoneNote::~CPhoneNote()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneNote::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CPhoneNote::OfferKeyEventL( 
-    const TKeyEvent& aKeyEvent,
-    TEventCode /*aType*/ )
-    {
-	if ( ( aKeyEvent.iScanCode == EStdKeyNo || aKeyEvent.iCode == EKeyNo )
-		&& iNoteType != EPhoneNoteSecurity )
-		{
-		OkToExitL( EPhoneCmdWaitNoteOk );
-		return EKeyWasNotConsumed;
-		}        
-	else
-		{
-		// Let key events be handled by the application
-	    return EKeyWasNotConsumed;		
-		}
-    }
-
-// ---------------------------------------------------------
-// CPhoneNote::OkToExitL
-// ---------------------------------------------------------
-//
-TBool CPhoneNote::OkToExitL( TInt aCommand )
-    {
-    // Let the command observer process the command
-    iCommandObserver.ProcessCommandL( aCommand );
-
-    return EFalse; // so that the dialog will not disappear
-    }
-    
-// ---------------------------------------------------------
-// CPhoneNote::SetNoteType
-// ---------------------------------------------------------
-//
-void CPhoneNote::SetNoteType( TPhoneNoteType aNoteType )
-    {
-    iNoteType = aNoteType;
-    }
-
-// ---------------------------------------------------------
-// CPhoneNote::NoteType
-// ---------------------------------------------------------
-//
-TPhoneNoteType CPhoneNote::NoteType()
-    {
-    return iNoteType;
-    }
-
-// ---------------------------------------------------------
-// CPhoneNote::HandlePointerEventL
-// ---------------------------------------------------------
-//
-void CPhoneNote::HandlePointerEventL( 
-    const TPointerEvent& aPointerEvent )
-    {
-    if( ( iNoteType == EPhoneNoteError ) ||
-        ( iNoteType == EPhoneNoteWarning ) ||
-        ( iNoteType == EPhoneNoteInformation ) ||
-        ( iNoteType ==  EPhoneNoteConfirmation) ||
-        ( iNoteType == EPhoneNoteCustom ))
-        {
-        CEikDialog::HandlePointerEventL( aPointerEvent );
-        }
-     }
-
-// ---------------------------------------------------------
-// CPhoneNote::UpdateSoftkeysL
-// ---------------------------------------------------------
-//
-void CPhoneNote::UpdateSoftkeysL( TInt aResourceId )
-    {
-    CEikButtonGroupContainer& buttonGroup = ButtonGroupContainer();
-    buttonGroup.SetCommandSetL( aResourceId );
-    
-    buttonGroup.DrawDeferred();    
-    }
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphonenotecontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,608 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CPhoneNoteController class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphonenotecontroller.h"
-
-#include <eikenv.h>
-#include <eikappui.h>
-#include <eikprogi.h>
-#include <StringLoader.h>
-#include <aknnotedialog.h> // for CAknNoteDialog
-#include <AknGlobalNote.h> // for CAknGlobalNote
-
-#include "phoneui.pan"
-#include "tphonecommandparam.h"
-#include "tphonecmdparamnote.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparamprogressnote.h" 
-#include "tphonecmdparamglobalnote.h"
-#include "tphonecmdparaminteger.h"
-#include "phoneconstants.h"
-#include "cphonemainresourceresolver.h"
-#include "phonerssbase.h"
-#include "phonelogger.h"
-#include "cphonetimer.h"
-#include "cphonenote.h"
-#include "cphonedtmfsendingnote.h"
-#include "cphoneuidisablednote.h"
-
-// CONSTANTS
-const TInt KPhoneIntervalDivider = 100;
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneNoteController::CPhoneNoteController( CEikonEnv& aEikEnv ) : iGlobalNoteId( KErrNotFound ), 
-                                                                   iEikEnv( aEikEnv ),
-                                                                   iNoteText( NULL )
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::NewL()
-// Two-phased constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-CPhoneNoteController* CPhoneNoteController::NewL( CEikonEnv& aEikEnv )
-    {   
-    CPhoneNoteController* self = 
-        new( ELeave ) CPhoneNoteController( aEikEnv );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-// 
-CPhoneNoteController::~CPhoneNoteController()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::~CPhoneNoteController");
-    DestroyNote();
-    DestroyProgressNote();
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::CreateNoteL
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::CreateNoteL( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::CreateNoteL");
-    TInt resourceId = 0;
-    CAknNoteDialog::TTone tone = CAknNoteDialog::ENoTone;
-    CAknNoteDialog::TTimeout timeout = CAknNoteDialog::ENoTimeout;
-
-    TPhoneCmdParamNote* noteParam = static_cast<TPhoneCmdParamNote*>(
-        aCommandParam );
-    
-    if( iNote && noteParam->Type() == EPhoneNoteDtmfSending )
-        {
-        // Dtmf sending ongoing.
-        UpdateNoteTextL( aCommandParam );
-        return;
-        }
-    
-    // Delete the existing note
-    DestroyNote();
-
-    // Setup parameters according to the type of note
-    switch ( noteParam->Type() )
-        {
-        case EPhoneNoteError:
-            resourceId = CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( EPhoneInformationErrorNote );
-            timeout = CAknNoteDialog::ELongTimeout;
-            tone = CAknNoteDialog::EErrorTone;
-            break;
-            
-        case EPhoneNoteWarning:
-            resourceId = CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( EPhoneInformationWarningNote );
-            timeout = CAknNoteDialog::ELongTimeout;
-            tone = CAknNoteDialog::EWarningTone;
-            break;
-            
-        case EPhoneNoteConfirmation:
-            resourceId = CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( EPhoneInformationConfirmationNote );
-            timeout = CAknNoteDialog::EShortTimeout;
-            tone = CAknNoteDialog::EConfirmationTone;
-            break;
-            
-        case EPhoneNoteInformation:
-            resourceId = CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( EPhoneInformationNote );
-            timeout = CAknNoteDialog::ELongTimeout;
-            tone = CAknNoteDialog::ENoTone;
-            break;
-        
-        case EPhoneNoteSecurity:
-        case EPhoneNoteCustom: // Fall through
-        case EPhoneNotePermanent:
-        case EPhoneNoteDtmfSending:
-            // Use the specified values
-            resourceId = noteParam->ResourceId();
-            timeout = noteParam->Timeout();
-            tone = noteParam->Tone();
-            break;
-
-        case EPhoneNoteUIDisabled:
-            // Use the specified values
-            resourceId = noteParam->ResourceId();
-            timeout = CAknNoteDialog::ENoTimeout;
-            tone = CAknNoteDialog::ENoTone;
-            break;
-            
-        default:
-            Panic( EPhoneViewCaseNotHandled );
-            break;
-        }
-
-	// Create correct note
-	if( noteParam->Type() == EPhoneNoteDtmfSending )
-		{
-		iNote = new ( ELeave ) CPhoneDtmfSendingNote( reinterpret_cast<CEikDialog**>( &iNote ), *iEikEnv.EikAppUi() );						
-		}
-	else if( noteParam->Type() == EPhoneNoteUIDisabled )
-        {
-        iNote = new ( ELeave ) CPhoneUIDisabledNote( reinterpret_cast<CEikDialog**>( &iNote ), *iEikEnv.EikAppUi() );
-        }
-	else
-		{
-		iNote = new ( ELeave ) CPhoneNote( reinterpret_cast<CEikDialog**>( &iNote ), *iEikEnv.EikAppUi() );			
-		}
-
-    // Override text if specified
-    if ( noteParam->Text().Length() )
-        {
-        if( !iNoteText )
-            {
-			iNoteText = noteParam->Text().AllocL();	            	
-            }
-        iNote->SetTextL( *iNoteText );
-        }
-    else if ( noteParam->TextResourceId() )
-        {
-        // Get the text associated with the resource Id
-        TBuf<KPhoneMaxCharsInNote> noteText;
-        StringLoader::Load( 
-            noteText, 
-            noteParam->TextResourceId(), 
-            &iEikEnv );
-
-        iNote->SetTextL( noteText );
-        }
-
-    // Override tone if specified
-    if ( tone != CAknNoteDialog::ENoTone )
-        {
-        iNote->SetTone( tone );
-        }
-
-    // Override timeout if specified
-    if ( timeout != CAknNoteDialog::ENoTimeout )
-        {
-        iNote->SetTimeout( timeout );
-        }
-    
-    iNote->SetNoteType( noteParam->Type() );
- 
-    // Display the note
-	iNote->ExecuteLD( resourceId );
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::DestroyNote
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::DestroyNote()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::DestroyNote");
-    
-    // Delete note text if exists
-    if( iNoteText )
-        {
-        delete iNoteText;
-        iNoteText = NULL;            
-        }
-    
-    // Delete the note if it exists
-    if ( iNote )
-        {
-        delete iNote;
-        iNote = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::DestroyDTMFNote
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::DestroyDTMFNote()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::DestroyDTMFNote");
-   
-    // Delete DTFM note if exists
-    if ( iNote && ( iNote->NoteType() == EPhoneNoteDtmfSending ) )
-        {
-        // Delete note text if exists
-        if( iNoteText )
-            {
-            delete iNoteText;
-            iNoteText = NULL;            
-            }
-        delete iNote;
-        iNote = NULL;
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CPhoneNoteController::DestroyGlobalNoteL
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::DestroyGlobalNoteL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::DestroyGlobalNoteL");
-    if( iGlobalNoteId != KErrNotFound )
-        {
-        CAknGlobalNote* glbNote = CAknGlobalNote::NewLC();
-        glbNote->CancelNoteL( iGlobalNoteId );
-        CleanupStack::PopAndDestroy( glbNote );        
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::CreateGlobalNoteL
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::CreateGlobalNoteL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::CreateGlobalNoteL");
-    TPhoneCmdParamGlobalNote* globalNoteParam = 
-        static_cast<TPhoneCmdParamGlobalNote*>( aCommandParam );
-    TBuf<KPhoneMaxCharsInNote> noteText;
-
-    // Check if the resource Id is specified
-    if ( globalNoteParam->TextResourceId() )
-        {
-        if ( globalNoteParam->Text().Length() )
-            {
-            HBufC* loadedText = StringLoader::LoadL( 
-                globalNoteParam->TextResourceId(), 
-                globalNoteParam->Text(), 
-                CCoeEnv::Static() );
-            noteText.Copy( *loadedText );
-            delete loadedText;
-            }
-        else
-            {
-            StringLoader::Load( 
-                noteText, 
-                globalNoteParam->TextResourceId(), 
-                &iEikEnv );
-            }
-        }
-    else if ( globalNoteParam->Text() != KNullDesC )
-        {
-        noteText.Copy( globalNoteParam->Text() );
-        }
-
-    if ( noteText.Length() > 0 )
-        {
-        CAknGlobalNote* glbNote = CAknGlobalNote::NewLC();
-
-        // Set the tone
-        glbNote->SetTone( globalNoteParam->Tone() );
-        if ( globalNoteParam->Softkeys())
-            {
-            glbNote->SetSoftkeys(  globalNoteParam->Softkeys() );   
-            }
-
-        // Show the global note
-        
-        if ( globalNoteParam->WaitForReady() )
-            {
-            TRequestStatus NoteReady;
-            iGlobalNoteId = glbNote->ShowNoteL( NoteReady, globalNoteParam->Type(), noteText );
-            User::WaitForRequest( NoteReady );
-            }
-        else
-            {
-            iGlobalNoteId = glbNote->ShowNoteL( globalNoteParam->Type(), noteText );
-            }
-        CleanupStack::PopAndDestroy( glbNote );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::CreateProgressNoteL
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::CreateProgressNoteL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::CreateProgressNoteL");
-    TPhoneCmdParamProgressNote* noteParam = static_cast<
-        TPhoneCmdParamProgressNote*>(aCommandParam );
-
-    TInt resourceId = noteParam->ResourceId();
-    iStartTime.UniversalTime();
-    
-    TTimeIntervalMicroSeconds32 waitTime =
-        noteParam->WaitTime();
-        
-    if( !iProgressUpdateTimer )
-        {
-        iProgressUpdateTimer = CPhoneTimer::NewL();            
-        }
-
-    iWaitTime = waitTime.Int();
-    
-    TInt final = waitTime.Int();
-    iInterval = final / KPhoneIntervalDivider;
-    iProgressBarCount = 0;
-        
-    iProgressUpdateTimer->After( iInterval, this );
-        
-    CPhoneProgressNote* dlg = 
-        new ( ELeave ) CPhoneProgressNote(
-             ( reinterpret_cast< CEikDialog** >( &iProgressNote )),
-             static_cast<MEikCommandObserver*>( iEikEnv.EikAppUi() ) );
-
-    iProgressNote = dlg;
-    dlg->PrepareLC( resourceId );
-
-    CEikProgressInfo* info = dlg->GetProgressInfoL();
-    
-    if ( info )
-        {
-        info->SetFinalValue( KPhoneIntervalDivider );
-        }
-    
-    dlg->RunLD();        
-    }
-    
-// ---------------------------------------------------------
-// CPhoneNoteController::DestroyProgressBar
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::DestroyProgressNote()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::DestroyProgressNote");
-
-    // Delete the progress note if it exists
-    if ( iProgressNote )
-        {
-        delete iProgressNote;
-        iProgressNote = NULL;
-        }
-    if ( iProgressUpdateTimer )
-        {
-        if( iProgressUpdateTimer->IsActive() )
-            {
-            iProgressUpdateTimer->CancelTimer();                
-            }
-            
-        delete iProgressUpdateTimer;
-        iProgressUpdateTimer = NULL;            
-        }
-    iProgressBarCount = 0; 
-    }
-    
-// ---------------------------------------------------------
-// CPhoneNoteController::HandleTimeOutL
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::HandleTimeOutL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::HandleTimeOutL");
-
-    if ( iProgressNote )
-        {
-        TTime current;
-        current.UniversalTime();
-        
-        CEikProgressInfo* info = iProgressNote->GetProgressInfoL();           
-
-        if ( info )
-            {
-            TTime current;
-            current.UniversalTime();
-            TInt64 timeDelta = 
-                    current.MicroSecondsFrom( iStartTime ).Int64();
-                    
-            iProgressBarCount = ( timeDelta / iInterval )+1 ;
-            if ( iProgressBarCount > KPhoneIntervalDivider )
-                {
-                 iProgressBarCount = KPhoneIntervalDivider;           
-                }
-            info->SetAndDraw( iProgressBarCount );                     
-            }        
-        
-        if ( !iProgressUpdateTimer->IsActive() )
-            {
-            iProgressUpdateTimer->After( iInterval, this );
-            }
-        }
-    else
-        {         
-        if( iProgressUpdateTimer->IsActive() )
-            {
-            iProgressUpdateTimer->CancelTimer();                
-            }
-            
-        delete iProgressUpdateTimer;
-        iProgressUpdateTimer = NULL;
-        iProgressBarCount = 0;            
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::IsNoteVisible
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::IsNoteVisible( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneNoteController::IsNoteVisible");
-
-    TPhoneCmdParamBoolean* booleanParam = 
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    if( iNote )
-        {
-        if( iNote->IsVisible() )
-            {
-            booleanParam->SetBoolean( ETrue );                
-            }
-        }
-    else
-        {
-        booleanParam->SetBoolean( EFalse );                
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::IsProgressNoteVisible
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::IsProgressNoteVisible( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneNoteController::IsProgressNoteVisible");
-
-    TPhoneCmdParamBoolean* booleanParam = 
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    if( iProgressNote )
-        {
-        if( iProgressNote->IsVisible() )
-            {
-            booleanParam->SetBoolean( ETrue );
-            }
-        }
-    else
-        {
-        booleanParam->SetBoolean( EFalse );                
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::IsNoteActive
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::IsNoteActive( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneNoteController::IsNote");
-
-    TPhoneCmdParamBoolean* booleanParam = 
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    if( iProgressNote || iNote )
-        {
-        booleanParam->SetBoolean( ETrue );                
-        }
-    else 
-        {
-        booleanParam->SetBoolean( EFalse );    
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::IsActiveNoteDissmissableByKeyEvent
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::IsActiveNoteDissmissableByKeyEvent( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneNoteController::IsActiveNoteDissmissableByKeyEvent");
-
-    TPhoneCmdParamBoolean* booleanParam = 
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-    // check first that iNote is created. 
-    if( ( iNote ) &&
-        ( iNote->NoteType() == EPhoneNoteSecurity ) )
-        {
-        booleanParam->SetBoolean( ETrue );                
-        }
-    else 
-        {
-        booleanParam->SetBoolean( EFalse );    
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::UpdateNoteTextL
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::UpdateNoteTextL( TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamNote* noteParam = static_cast<TPhoneCmdParamNote*>(
-           aCommandParam );
-    
-    // Delete note text if exists
-    if( iNoteText )
-        {
-        delete iNoteText;
-        iNoteText = NULL;           
-        }
-    
-    if ( iNote )
-        {
-        // Override text if specified
-        if ( noteParam->Text().Length() )
-            {
-            if( !iNoteText )
-                {
-                iNoteText = noteParam->Text().Alloc();                  
-                }
-            iNote->SetTextL( *iNoteText );
-            }
-        else if ( noteParam->TextResourceId() )
-            {
-            // Get the text associated with the resource Id
-            TBuf<KPhoneMaxCharsInNote> noteText;
-            StringLoader::Load( 
-                noteText, 
-                noteParam->TextResourceId(), 
-                &iEikEnv );
-
-            iNote->SetTextL( noteText );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneNoteController::UpdateNoteSoftkeysL
-// ---------------------------------------------------------
-//
-void CPhoneNoteController::UpdateNoteSoftkeysL( TPhoneCommandParam* aCommandParam )
-    {
-     
-    TPhoneCmdParamInteger* integerParam = 
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-    
-    if ( iNote )
-        {
-        iNote->UpdateSoftkeysL( integerParam->Integer() );
-        }
-    }
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphonenumberentry.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,294 +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:  Handles the updating of number entry
-*
-*/
-
-
-#include <featmgr.h>
-#include <bmbubblemanager.h>
-#include <AknPhoneNumberEditor.h>
-
-#include "cphonenumberentry.h"
-#include "mnumberentry.h"
-#include "phoneconstants.h"
-#include "tphonecmdparamnumberentryobserver.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneNumberEntry::CPhoneNumberEntry( CBubbleManager& aBubbleManager ):
-    iBubbleManager ( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhoneNumberEntry::ConstructL()
-    {
-    if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) )
-        {
-        iUseDialer = ETrue;
-        }
-    
-    iNumberEntryContents = HBufC::NewL( KPhoneNumberEntryBufferSize );
-    iPreviousNumberEntryContent = HBufC::NewL( KPhoneNumberEntryBufferSize );
-   
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneNumberEntry* CPhoneNumberEntry::NewL( CBubbleManager& aBubbleManager )
-    {
-    CPhoneNumberEntry* self = 
-        new (ELeave) CPhoneNumberEntry( aBubbleManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneNumberEntry::~CPhoneNumberEntry()
-    {
-    delete iNumberEntryContents;
-    delete iPreviousNumberEntryContent;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// EnableTactileFeedback
-// ---------------------------------------------------------------------------
-//
-void CPhoneNumberEntry::EnableTactileFeedback( const TBool aEnable )
-    {
-    if ( iUseDialer )
-        {
-        iDialerNumberEntry->EnableTactileFeedback( aEnable );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// IsNumberEntryUsed
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneNumberEntry::IsNumberEntryUsed() const
-    {
-    // Get the initial number from number entry window
-    if ( iUseDialer )
-        {
-        return iDialerNumberEntry->IsNumberEntryUsed();
-        }
-    else
-        {
-        return iBubbleManager.IsNumberEntryUsed();
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-//  
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneNumberEntry::CountNumberEntryCharacters( )
-    {
-    TInt result = 0;
-
-    if ( iUseDialer )
-        {
-        if ( iDialerNumberEntry->IsNumberEntryUsed() )
-            {
-            TPtr ptr( iNumberEntryContents->Des() );
-            iDialerNumberEntry->GetTextFromNumberEntry( ptr );        
-            result = iNumberEntryContents->Des().Length();
-            }
-        }
-    else
-        {
-        if ( iBubbleManager.IsNumberEntryUsed() )
-            {
-            TPtr ptr( iNumberEntryContents->Des() );
-            iBubbleManager.GetTextFromNumberEntry( ptr );        
-            result = iNumberEntryContents->Des().Length();
-            }
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// SetNumberEntry
-// -----------------------------------------------------------------------------
-//     
-void CPhoneNumberEntry::SetNumberEntry( MNumberEntry* aNumberEntry )
-    {
-    if ( iUseDialer )
-        {
-        iDialerNumberEntry = aNumberEntry;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// SetNumberEntryContent
-// -----------------------------------------------------------------------------
-//     
-void CPhoneNumberEntry::SetNumberEntryContent( const TDesC& aContent )
-    {
-    if ( iUseDialer )
-        {
-        iDialerNumberEntry->SetTextToNumberEntry( aContent );
-        }
-    else
-        {
-        iBubbleManager.StartChanges();
-        iBubbleManager.SetTextToNumberEntry( aContent );
-        iBubbleManager.EndChanges();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// SetNumberEntryPromptText
-// -----------------------------------------------------------------------------
-//
-void CPhoneNumberEntry::SetNumberEntryPromptText( const TDesC& aPromptText ) 
-    {
-    if ( iUseDialer )
-        {
-        iDialerNumberEntry->SetNumberEntryPromptText( aPromptText );
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneNumberEntry::HandleNumberEntryChanged
-// -----------------------------------------------------------------------------
-//
-void CPhoneNumberEntry::HandleNumberEntryChanged( )
-    {
-    
-    TBool contentUpdated = CheckNumberEntryContent();
-    
-    if( contentUpdated && iNEChangedCallBack.iFunction )
-        {
-        iNEChangedCallBack.CallBack();
-        }
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneNumberEntry::SetNumberEntryCallBack
-// -----------------------------------------------------------------------------
-//
-void CPhoneNumberEntry::SetNumberEntryChangedCallBack( 
-        TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamNumberEntryObserver* neObserver = 
-           static_cast<TPhoneCmdParamNumberEntryObserver*>( aCommandParam );
-    
-    iNEChangedCallBack = neObserver->Observer();
-           
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneNumberEntry::CheckNumberEntryContent
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneNumberEntry::CheckNumberEntryContent()
-    {
-    
-    TBool update = UpdatePreviousNumberEntryContent( 
-                                DialerNumberEntryEditor() );
-    
-    if( !update  )
-        {
-        update = UpdatePreviousNumberEntryContent( BubbleNumberEntryEditor() );
-        }
-    
-    return update;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneNumberEntry::CheckNumberEntryContent
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneNumberEntry::UpdatePreviousNumberEntryContent( 
-        CCoeControl* aEditor )
-    {
-    TBool ret( EFalse );
-    
-    if( aEditor &&  iPreviousNumberEntryContent )
-        {
-        CAknPhoneNumberEditor* control = 
-                               static_cast<CAknPhoneNumberEditor*> ( aEditor );
-        TInt res = iPreviousNumberEntryContent->Compare( control->Text(0) );
-              
-        if( res != 0 ) //string are different
-            {
-            iPreviousNumberEntryContent->Des().Zero();
-            TPtr ptr( iPreviousNumberEntryContent->Des() );
-            control->GetText( ptr );
-            ret = ETrue;
-            }
-        }
-    
-    return ret;
-    }
-       
-       
-// -----------------------------------------------------------------------------
-// CPhoneNumberEntry::CheckNumberEntryContent
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CPhoneNumberEntry::DialerNumberEntryEditor() const
-    {
-    CCoeControl* control = NULL;
-             
-    if ( iUseDialer )
-        {  
-        if ( iDialerNumberEntry->IsNumberEntryUsed() )
-            {
-            control = iDialerNumberEntry->GetNumberEntry();
-            }
-        }
-    
-    return control;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneNumberEntry::CheckNumberEntryContent
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CPhoneNumberEntry::BubbleNumberEntryEditor() const
-    {
-    CCoeControl* control = NULL;
-
-    if ( iBubbleManager.IsNumberEntryUsed() )
-        {
-        control = iBubbleManager.GetNumberEntry(); 
-        }
-
-    return control;
-    }
-       
-// END
--- a/phoneapp/phoneuiview/src/cphoneprogressnote.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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:  Progress note handler.
-*
-*/
-
-// INCLUDE FILES
-#include "cphoneprogressnote.h"
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneProgressNote::CPhoneProgressNote(
-        TInt aFinalValue,
-        TInt anIncrement,
-        TInt anInterval,
-        CEikDialog** aSelfPtr,
-        MEikCommandObserver* aCommandObserver )
-    : CAknProgressDialog( 
-        aFinalValue, 
-        anIncrement,
-        anInterval,
-        aSelfPtr ),
-      iCommandObserver( aCommandObserver )
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneProgressDialog::CPhoneProgressDialog
-// ---------------------------------------------------------
-//
-CPhoneProgressNote::CPhoneProgressNote(
-        CEikDialog** aSelfPtr,
-        MEikCommandObserver* aCommandObserver )
-    : CAknProgressDialog(
-        aSelfPtr ),
-      iCommandObserver( aCommandObserver )
-    {
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-// 
-CPhoneProgressNote::~CPhoneProgressNote()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneProgressNote::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CPhoneProgressNote::OfferKeyEventL( 
-    const TKeyEvent& /*aKeyEvent*/,
-    TEventCode /*aType*/ )
-    {
-    // Let key events be handled by the application
-    return EKeyWasNotConsumed;
-    }
-
-// ---------------------------------------------------------
-// CPhoneProgressNote::OkToExitL
-// ---------------------------------------------------------
-//
-TBool CPhoneProgressNote::OkToExitL( TInt aCommand )
-    {
-    // Let the command observer process the command
-    if ( iCommandObserver )
-        {
-        iCommandObserver->ProcessCommandL( aCommand );
-        }
-    return EFalse; // so that the dialog will not disappear
-    }
-
-// end of file
--- a/phoneapp/phoneuiview/src/cphonequerycontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1047 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CPhoneQueryController class.
-*
-*/
-
-
-// INCLUDE FILES
-#include <AknGlobalConfirmationQuery.h>
-#include <eikenv.h>
-#include <StringLoader.h>
-#include <ccauireconnectquery.h>
-#include <mcauireconnectqueryobserver.h>
-#include <AknGlobalMsgQuery.h>
-#include <AknGlobalNote.h> // for CAknGlobalNote
-
-#include "phoneui.hrh"
-#include "cphonequerycontroller.h"
-#include "tphonecommandparam.h"
-#include "tphonecmdparamreconnectquery.h"
-#include "tphonecmdparamstring.h"
-#include "phonelogger.h"
-#include "cphonequerydialog.h"
-#include "tphonecmdparamboolean.h"
-#include "cphonedtmfnumberlistquery.h"
-#include "cphonelistquerydialog.h"
-#include "cphonetimer.h"
-
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneQueryController::CPhoneQueryController( CEikonEnv& aEikEnv )
-    : CActive ( EPriorityUserInput ),
-    iQueryDeleted( ETrue ),
-    iEikEnv( aEikEnv )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::NewL()
-// Two-phased constructor
-// (other items were commented in a header).
-// ---------------------------------------------------------
-CPhoneQueryController* CPhoneQueryController::NewL( CEikonEnv& aEikEnv )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::NewL( ) ");
-    CPhoneQueryController* self =
-        new( ELeave ) CPhoneQueryController( aEikEnv );
-
-    return self;
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-//
-CPhoneQueryController::~CPhoneQueryController()
-    {
-    DestroyQuery();
-    ClearTimer();
-    DestroyGlobalQuery();
-    DestroyGlobalMsgQuery();
-
-    if( iCommandAsync )
-        {
-        delete iCommandAsync;
-        iCommandAsync = NULL;
-        }
-    iQueryPreviousText.Close();
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateNoteL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateQueryL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneQueryController::CreateQueryL()" );
-
-    // Cancel previous note. This prevents scheduler crashes.
-    // Canceling must be done here since iActiveAvkonQuery may be overwritten.
-    Cancel();
-
-    TPhoneCmdParamQuery& params = *static_cast<TPhoneCmdParamQuery*>( aCommandParam );
-    iCommandId = NULL;
-    iNoConnectedCalls = EFalse;
-    switch( params.ParamId() )
-	    {
-        case TPhoneCommandParam::EPhoneParamIdQuery:
-	    case TPhoneCommandParam::EPhoneParamIdVideoCallSetupFailedCreateVoiceCallToTheSameContactQuery:
-        case TPhoneCommandParam::EPhoneParamIdUnattendedTransferAcceptanceQuery:
-        case TPhoneCommandParam::EPhoneParamIdGlobalWaitNote:
-	    	CreateDefaultQueryL( params );
-	    	break;
-
-	    case TPhoneCommandParam::EPhoneParamIdReconnectQuery:
-	    	CreateReconnectQueryL( aCommandParam );
-	    	break;
-
-	    case TPhoneCommandParam::EPhoneParamRebootQuery:
-	        {
-	        TRequestStatus status = KRequestPending;
-	        CAknGlobalConfirmationQuery* query = CAknGlobalConfirmationQuery::NewLC();
-	        query->ShowConfirmationQueryL(
-	            status, params.QueryPrompt(), params.DefaultCba(), R_QGN_NOTE_INFO_ANIM );
-	        User::WaitForRequest( status );
-	        CleanupStack::PopAndDestroy( query );
-	        }
-	        break;
-
-	    default:
-	    	break;
-	    }
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::DestroyQuery
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::DestroyQuery()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::DestroyQuery( ) ");
-
-    // Delete the query if it exists
-    if ( iQuery )
-        {
-        delete iQuery;
-        iQuery = NULL;
-        }
-
-    iQueryNoteText.Close();
-    iQueryPrompt.Close();
-
-    if( iCallUiReconnectQuery )
-	    {
-        delete iCallUiReconnectQuery;
-        iCallUiReconnectQuery = NULL;
-	    }
-
-    if ( iDtmfNumberListQuery && !iQueryDeleted )
-        {
-        delete iDtmfNumberListQuery;
-        iDtmfNumberListQuery = NULL;
-        }
-
-  	if ( iTextQuery )
-  	    {
-  	    delete iTextQuery;
-  	    iTextQuery = NULL;
-  	    }
-
-    if ( iListQuery && !iQueryDeleted )
-        {
-        delete iListQuery;
-        iListQuery = NULL;
-        }
-
-    if( iTextQueryDisplayer )
-        {
-        delete iTextQueryDisplayer;
-        iTextQueryDisplayer = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::DestroyGlobalQuery
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::DestroyGlobalQuery()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::DestroyGlobalQuery( ) ");
-
-    if ( iGlobalConfirmationQuery )
-        {
-        iGlobalConfirmationQuery->CancelConfirmationQuery();
-
-        delete iGlobalConfirmationQuery;
-        iGlobalConfirmationQuery = NULL;
-        }
-    DestroyGlobalWaitNote();
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateQueryDialogL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateQueryDialogL(
-    const TPhoneCmdParamQuery& aParams )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::CreateQueryDialogL( ) ");
-
-    // Delete the existing query
-    DestroyQuery();
-
-    iQueryParam = aParams;
-
-    // Create the query
-	iQuery = CPhoneQueryDialog::NewL();
-
-    if ( iQuery )
-        {
-        // Set the prompt if specified
-        if ( aParams.QueryPrompt().Length() )
-            {
-            iQueryPrompt.Close();
-            iQueryPrompt.Create( aParams.QueryPrompt() );
-            iQuery->SetPromptL( iQueryPrompt );
-            }
-
-        // Display the query
-		TInt buttonId = iQuery->ExecuteLD( aParams.QueryResourceId() );
-        iQuery = NULL;
-
-		if( buttonId != EPhoneCmdDoNothing )
-			{
-            if ( iQueryParam.QueryCommandObserver() )
-                {
-                // Let observer handle command.
-                iQueryParam.QueryCommandObserver()->ProcessCommandL(
-                        iStatus.Int() );
-                return;
-                }
-            else
-                {
-                // Forward pressed CBA to the framework so that we can handle it
-                // in our active state
-                static_cast<MEikCommandObserver*>( iEikEnv.EikAppUi() )
-                    ->ProcessCommandL( buttonId );
-                }
-			}
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateTextQueryDialogL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateTextQueryDialogL(
-        const TPhoneCmdParamQuery& aParams,
-        TInt aEikBidOkCmd )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::CreateTextQueryDialogL( ) ");
-
-    // Delete the existing query
-    DestroyQuery();
-
-    iQueryNoteText.Create( *aParams.DataText() );
-
-    iTextQuery = new( ELeave ) CPhoneTextQuery(
-        *this,
-        iQueryNoteText,
-        aParams.DefaultCba(),
-        aParams.ContentCba(),
-        aParams.SendKeyEnabled(),
-        aEikBidOkCmd );
-
-    // Set the prompt if specified
-    if ( aParams.QueryPrompt().Length() )
-        {
-        iQueryPrompt.Create( aParams.QueryPrompt() );
-        iTextQuery->SetPromptL( iQueryPrompt );
-        }
-
-    // Cut the call stack so that Phone UI is responsive
-    iTextQueryDisplayer = CIdle::NewL( EPriorityNormal );
-    iTextQueryDisplayer->Start( TCallBack( DisplayTextQueryCallBack, this ) );
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::SetNoConnectedCalls
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::SetNoConnectedCalls( TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamBoolean* booleanParam =
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-    iNoConnectedCalls = booleanParam->Boolean();
-    __PHONELOG1( EBasic, EPhoneUIView,
-           "CPhoneQueryController::SetNoConnectedCalls(%d)",
-           iNoConnectedCalls );
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::DisplayTextQueryCallBackL
-// ---------------------------------------------------------
-//
-TInt CPhoneQueryController::DisplayTextQueryCallBack( TAny* aCPhoneQueryController )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::DisplayTextQueryCallBack( ) ");
-
-    // Display the query
-    CPhoneQueryController* queryController =
-        static_cast<CPhoneQueryController*>( aCPhoneQueryController );
-
-    TInt leaveError = KErrNone;
-    TInt retVal = KErrNone;
-
-    TRAP( leaveError, (
-         retVal = queryController->iTextQuery->ExecuteLD( queryController->iQueryParam.QueryResourceId() ) ) );
-
-    queryController->iTextQuery = NULL;
-
-    // If iCommandId is EPhoneCmdEnd(User has pressed end dismiss DTMF query&dialog) or if iNoConnectedCalls
-    // is TRUE it is an indication that remote party has terminated call and there is no connected call in device
-    // therefore we dont need to reopen EPhoneInCallCmdDtmfListQuery.
-    if ( retVal == KErrNone &&
-         leaveError == KErrNone &&
-         queryController->iQueryParam.QueryType() == EPhoneDtmfTextQuery &&
-         queryController->iCommandId != EPhoneCmdEnd &&
-         !queryController->iNoConnectedCalls )
-        {
-        //User has exited DMTF query with cancel, rule says that
-        //we need to activate DTMF list query dialog.
-
-        // Forward pressed CBA to the framework so that we can handle it
-        // in our active state
-        TRAP_IGNORE( static_cast<MEikCommandObserver*>( queryController->iEikEnv.EikAppUi() )
-            ->ProcessCommandL( EPhoneInCallCmdDtmfListQuery ) );
-        }
-
-    queryController->iNoConnectedCalls = EFalse;
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateListQueryL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateListQueryL( TInt aDialogResourceId,
-                                              const RArray<TInt>& aCommands )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::CreateListQueryL( ) ");
-    DestroyQuery();
-
-    if ( !iListQuery )
-       {
-       iListQuery = new (ELeave)
-                CPhoneListQueryDialog(
-                static_cast<MEikCommandObserver&>( *iEikEnv.EikAppUi() ),
-                *this, aCommands );
-       }
-    iQueryDeleted = EFalse;
-    iCommandHandled = EFalse;
-    iListQuery->ExecuteLD( aDialogResourceId );
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateCustomListQueryL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateCustomListQueryL(
-        const TPhoneCmdParamQuery& aParams )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::CreateCustomListQueryL( ) ");
-    DestroyQuery();
-    RArray<TInt> commands;
-    CleanupClosePushL( commands );
-    const_cast<TPhoneCmdParamQuery&>(aParams).ItemTextArrayForListQuery();
-
-    MDesCArray* itemArray = aParams.ItemTextArrayForListQuery();
-
-    if ( NULL == itemArray )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    for ( TInt i = 0; i < itemArray->MdcaCount(); i++ )
-        {
-        commands.Append( i );
-        }
-
-    if ( !iListQuery )
-       {
-       iListQuery = new (ELeave)
-                CPhoneListQueryDialog(
-                static_cast<MEikCommandObserver&>( *iEikEnv.EikAppUi() ),
-                *this, commands );
-       }
-
-    iListQuery->PrepareLC( aParams.QueryResourceId() );
-
-
-    iListQuery->SetItemTextArray( itemArray );
-    iListQuery->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    iListQuery->SetTone( aParams.Tone() );
-
-    iQueryDeleted = EFalse;
-    iCommandHandled = EFalse;
-
-    iListQuery->RunLD();
-
-    CleanupStack::PopAndDestroy( &commands );
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateDtmfListQueryL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateDtmfListQueryL( TInt aDialogResourceId )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::CreateDtmfListQueryL( ) ");
-    DestroyQuery();
-
-    if ( !iDtmfNumberListQuery )
-        {
-        iDtmfNumberListQuery = CPhoneDtmfNumberListQuery::NewL(
-            static_cast<MEikCommandObserver&>( *iEikEnv.EikAppUi() ),
-                                               *this,
-                                               iResultBuffer );
-        }
-    iQueryDeleted = EFalse;
-    iDtmfNumberListQuery->ExecuteLD( aDialogResourceId );
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::GetTextQueryContentL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::GetTextQueryContentL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::GetTextQueryContentL( ) ");
-
-    TPhoneCmdParamString* stringParam =
-        static_cast<TPhoneCmdParamString*>( aCommandParam );
-
-    if ( iQueryPreviousText.Length() )
-        {
-        *stringParam->String() = iQueryPreviousText;
-        iQueryPreviousText.Close();
-        }
-    else if ( iTextQuery  )
-        {
-        iTextQuery->GetContent( *stringParam->String() );
-        }
-    else if ( iResultBuffer )
-        {
-        stringParam->String()->Append( iResultBuffer->Des() );
-        delete iResultBuffer;
-        iResultBuffer = NULL;
-        }
-
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneQueryController::GetTextQueryContentL(%S)",
-        stringParam->String() );
-
-    AknTextUtils::ConvertDigitsTo( *stringParam->String(), EDigitTypeWestern );
-
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneQueryController::GetTextQueryContentL(%S)",
-        stringParam->String() );
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::SetQueryDeletedFlag
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::SetQueryDeletedFlag( TBool aQueryDeleted )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::SetQueryDeletedFlag( ) ");
-    switch( iActiveAvkonQuery )
-        {
-        case EPhoneContactsListQuery:
-        case EPhoneCustomListQueryDialog:
-             {
-             iListQuery = NULL;
-
-             if ( iQueryParam.QueryCommandObserver() &&
-                  !iCommandHandled )
-                 {
-                 ReportQueryCompleteAsync( EAknSoftkeyCancel );
-                 }
-             }
-             break;
-        case EPhoneDtmfListQueryDialog:
-             {
-             iDtmfNumberListQuery = NULL;
-             }
-             break;
-        default:
-             break;
-        }
-    iQueryDeleted = aQueryDeleted;
-    }
-
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateDefaultQueryL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateDefaultQueryL( const TPhoneCmdParamQuery& aParams )
-	{
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::CreateDefaultQueryL( ) ");
-
-    iQueryParam = aParams;
-    iActiveAvkonQuery = aParams.QueryType();
-
-    switch( iActiveAvkonQuery )
-        {
-        case EPhoneQueryDialog:
-            CreateQueryDialogL( aParams );
-            break;
-
-        case EPhoneTextQueryDialog:
-            CreateTextQueryDialogL( aParams );
-            break;
-
-       case EPhoneDtmfTextQuery:
-       case EPhoneGenericTextQuery:
-            CreateTextQueryDialogL( aParams,
-                                    EPhoneCmdDtmfOk );
-            break;
-
-        case EPhoneGlobalQueryDialog:
-            {
-            if ( aParams.ParamId() ==
-                TPhoneCommandParam::EPhoneParamIdVideoCallSetupFailedCreateVoiceCallToTheSameContactQuery )
-                {
-                iVideoCallSetupFailedQuery = ETrue;
-                }
-            else
-                {
-                iVideoCallSetupFailedQuery = EFalse;
-                }
-            // Use timeout if defined
-            TTimeIntervalMicroSeconds32 timeout = aParams.TimeOut() * 1000000;
-            if ( timeout.Int() > 0 && !iTimer )
-                {
-                iTimer = CPhoneTimer::NewL();
-                // Start timer.
-                iTimer->After( timeout, this );
-                }
-            // Create query
-            CreateGlobalQueryDialogL( aParams );
-            break;
-            }
-        case EPhoneCustomListQueryDialog:
-              {
-              CreateCustomListQueryL( aParams );
-              }
-            break;
-        case EPhoneDtmfListQueryDialog:
-              CreateDtmfListQueryL(
-                aParams.QueryResourceId() );
-             break;
-
-        case EPhoneContactsListQuery:
-              {
-              RArray<TInt> commands;
-              CleanupClosePushL( commands );
-              commands.Append( EPhoneNumberAcqCmdSave );
-              commands.Append( EPhoneNumberAcqCmdAddToName );
-              CreateListQueryL( aParams.QueryResourceId(), commands );
-              CleanupStack::PopAndDestroy(); // CleanupClosePushL
-              }
-            break;
-        case EPhoneGlobalMsgQuery:
-            {
-            iTransferAcceptanceQuery = ( aParams.ParamId() ==
-                TPhoneCommandParam::EPhoneParamIdUnattendedTransferAcceptanceQuery );
-
-            CreateGlobalMsgQueryL( aParams );
-            break;
-            }
-        case EPhoneGlobalWaitNote:
-            {
-            CreateGlobalWaitNoteL( aParams );
-            break;
-            }
-
-        default:
-            return;
-        }
-	}
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateReconnectQueryL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateReconnectQueryL( TPhoneCommandParam* aCommandParam )
-	{
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::CreateReconnectQueryL( ) ");
-
-    TPhoneCmdParamReconnectQuery* queryParam =
-        static_cast<TPhoneCmdParamReconnectQuery*>( aCommandParam );
-
-	if( !iCallUiReconnectQuery )
-		{
-		iCallUiReconnectQuery =
-		    CCaUiReconnectQuery::NewL(
-		        queryParam->ReconnectQueryObserver());
-		}
-
-   	iCallUiReconnectQuery->ShowL( queryParam->PhoneNumber(),
-   	     queryParam->IncludeVideoCallOption() );
-	}
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateGlobalQueryDialogL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateGlobalQueryDialogL( const TPhoneCmdParamQuery& aParams )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::CreateGlobalQueryDialogL( ) ");
-
-    // Delete the existing global query
-    DestroyGlobalQuery();
-
-    iGlobalConfirmationQuery = CAknGlobalConfirmationQuery::NewL();
-    iGlobalConfirmationQuery->ShowConfirmationQueryL(
-        iStatus,
-        aParams.QueryPrompt(),
-        aParams.DefaultCba(),
-        R_QGN_NOTE_QUERY_ANIM,
-        KNullDesC,
-        0,
-        0,
-        CAknQueryDialog::TTone(aParams.Tone() ) );
-
-    SetActive();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneQueryController::ReportQueryCompleteAsync
-// ---------------------------------------------------------------------------
-//
-void CPhoneQueryController::ReportQueryCompleteAsync( TInt aCommand )
-    {
-    iCommandHandled = ETrue;
-    Cancel();
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, aCommand );
-    SetActive();
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::RunL
-// EAknSoftkeyYes and EAknSoftkeyNo need to be used with
-// CAknGlobalConfirmationQuery. Others does not work
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::RunL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::RunL( ) ");
-    TInt buttonId( KErrNone );
-
-    if ( iQueryParam.QueryCommandObserver() )
-        {
-        // Let observer handle command.
-        iQueryParam.QueryCommandObserver()->ProcessCommandL(
-                iStatus.Int() );
-        return;
-        }
-
-    if ( iActiveAvkonQuery == EPhoneContactsListQuery ||
-         iActiveAvkonQuery == EPhoneDtmfListQueryDialog )
-        {
-        buttonId = iStatus.Int();
-        }
-    else if ( iActiveAvkonQuery == EPhoneGlobalQueryDialog )
-        {
-        if ( iStatus.Int() == EAknSoftkeyYes )
-            {
-            if ( iVideoCallSetupFailedQuery )
-                {
-                buttonId = EPhoneCmdYesVideoFailedNoMemorySwitchToVoice;
-                }
-            else
-                {
-                buttonId = EPhoneCmdYesBtDisconnectQuery;
-                }
-            }
-        else if ( iStatus.Int() == EAknSoftkeyNo  )
-            {
-            if ( iVideoCallSetupFailedQuery )
-                {
-                buttonId = EPhoneCmdNoVideoFailedNoMemorySwitchToVoice;
-                }
-            else
-                {
-                buttonId = EPhoneCmdNoBtDisconnectQuery;
-                }
-             }
-        ClearTimer();
-        iVideoCallSetupFailedQuery = EFalse;
-        DestroyGlobalQuery();
-        }
-    else if ( iActiveAvkonQuery == EPhoneGlobalMsgQuery )
-        {
-        buttonId = iQueryParam.CbaCommandMapping( iStatus.Int() );
-        if ( iTransferAcceptanceQuery )
-            {
-            iTransferAcceptanceQuery = EFalse;
-            }
-
-        ClearTimer();
-        DestroyGlobalMsgQuery();
-        }
-    else if ( iActiveAvkonQuery == EPhoneGlobalWaitNote )
-        {
-        // If note is destroyed through DestroyGlobalQuery() then KErrCancel
-        // is not mapped to any command.
-        if ( iStatus.Int() == KErrCancel &&
-             !iGlobalWaitNote )
-            {
-            ClearTimer();
-            return;
-            }
-        else
-            {
-            buttonId = iQueryParam.CbaCommandMapping( iStatus.Int() );
-            }
-
-        ClearTimer();
-        DestroyGlobalWaitNote();
-        }
-    // Forward pressed CBA to the framework so that we can handle it
-    // in our active state
-    static_cast<MEikCommandObserver*>( iEikEnv.EikAppUi() )
-	    ->ProcessCommandL( buttonId );
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::RunError
-// ---------------------------------------------------------
-//
-TInt CPhoneQueryController::RunError( TInt aError )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::RunError( ) ");
-
-    if ( aError )
-        {
-        __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneQueryController::RunError: error: %d",
-        aError );
-        }
-    return aError;
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::DoCancel
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::DoCancel()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::DoCancel( ) ");
-
-    if ( iActiveAvkonQuery == EPhoneGlobalQueryDialog )
-        {
-        ClearTimer();
-        DestroyGlobalQuery();
-        if ( iVideoCallSetupFailedQuery )
-            {
-            iVideoCallSetupFailedQuery = EFalse;
-            TRAP_IGNORE(
-                static_cast<MEikCommandObserver*>( iEikEnv.EikAppUi() )
-	                ->ProcessCommandL(
-	                        EPhoneCmdNoVideoFailedNoMemorySwitchToVoice ) )
-            }
-        else if ( iQueryParam.QueryCommandObserver() )
-            {
-            // Let observer handle command.
-            TRAP_IGNORE( iQueryParam.QueryCommandObserver()->ProcessCommandL(
-                    EAknSoftkeyCancel ) );
-            }
-        }
-    if ( EPhoneGlobalMsgQuery == iActiveAvkonQuery )
-        {
-        ClearTimer();
-        DestroyGlobalMsgQuery();
-
-        TInt buttonId = 0;
-        TInt result = iQueryParam.GetCustomCommandForTimeOut( buttonId );
-        if ( KErrNone == result && iTransferAcceptanceQuery )
-            {
-            // timeout equals reject of unattended transfer request
-            iTransferAcceptanceQuery = EFalse;
-            TRAP_IGNORE(
-                static_cast<MEikCommandObserver*>( iEikEnv.EikAppUi() )
-                    ->ProcessCommandL( buttonId ) )
-            }
-        }
-
-    if ( EPhoneGlobalWaitNote == iActiveAvkonQuery )
-        {
-        ClearTimer();
-        TInt buttonId = 0;
-        TInt result = iQueryParam.GetCustomCommandForTimeOut( buttonId );
-        if ( KErrNone == result && iGlobalWaitNote )
-            {
-            DestroyGlobalWaitNote();
-
-            TRAP_IGNORE(
-                static_cast<MEikCommandObserver*>( iEikEnv.EikAppUi() )
-                    ->ProcessCommandL( buttonId ) )
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::IsQueryActive
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::IsQueryActive( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::IsQueryActive() ");
-    TPhoneCmdParamBoolean* booleanParam =
-        booleanParam = static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    if ( iQuery ||
-         iTextQuery ||
-         iGlobalConfirmationQuery ||
-         !iQueryDeleted )
-        {
-        booleanParam->SetBoolean( ETrue );
-        }
-    else
-        {
-        booleanParam->SetBoolean( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::IsDTMFQueryVisible
-// ---------------------------------------------------------
-//
-TBool CPhoneQueryController::IsDTMFQueryVisible()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::IsDTMFQueryVisible() ");
-    TBool dtmfVisible(EFalse);
-    if( ( iTextQuery && iQueryParam.QueryType() == EPhoneDtmfTextQuery ) ||
-        ( iDtmfNumberListQuery && iQueryParam.QueryType() == EPhoneDtmfListQueryDialog ) )
-        {
-        dtmfVisible = ETrue;
-        }
-    __PHONELOG1( EBasic, EPhoneUIView,
-            "CPhoneQueryController::IsDTMFQueryVisible :%d",
-            dtmfVisible );
-    return dtmfVisible;
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::SetListQueryStringL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::SetListQueryStringL( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::SetListQueryStringL() ");
-    //Create new object if needed
-    if ( !iDtmfNumberListQuery )
-        {
-        iDtmfNumberListQuery = CPhoneDtmfNumberListQuery::NewL(
-        static_cast<MEikCommandObserver&>( *iEikEnv.EikAppUi() ),
-                                           *this,
-                                           iResultBuffer );
-        }
-    TPhoneCmdParamString* stringParam =
-        static_cast<TPhoneCmdParamString*>( aCommandParam );
-    iDtmfNumberListQuery->AppendStringToArrayL( *stringParam->String() );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQueryController::HandleTimeOutL
-// -----------------------------------------------------------------------------
-//
-void CPhoneQueryController::HandleTimeOutL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::HandleTimeOutL()");
-    Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneQueryController::ClearTimer
-// -----------------------------------------------------------------------------
-//
-void CPhoneQueryController::ClearTimer()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::ClearTimer()");
-    if ( iTimer )
-        {
-        if ( iTimer->IsActive() )
-            {
-            iTimer->Cancel();
-            }
-        delete iTimer;
-        iTimer = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateGlobalMsgQueryL
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateGlobalMsgQueryL(
-        const TPhoneCmdParamQuery& aParams )
-    {
-    iQueryNoteText.Close();
-    iQueryNoteText.Create( *aParams.DataText() );
-    iQueryPrompt.Close();
-    iQueryPrompt.Create( aParams.QueryPrompt() );
-
-    // use timeout if defined
-    const TInt KSecToUsFactor = 1000000;
-    TTimeIntervalMicroSeconds32 timeout = aParams.TimeOut() * KSecToUsFactor;
-    if ( 0 < timeout.Int() && !iTimer )
-        {
-        iTimer = CPhoneTimer::NewL();
-        iTimer->After( timeout, this );
-        }
-
-    DestroyGlobalMsgQuery();
-    iGlobalMsgQuery = CAknGlobalMsgQuery::NewL();
-
-    const TInt KNoImage     = 0;
-    const TInt KNoImageMask = -1;
-
-    iGlobalMsgQuery->ShowMsgQueryL( iStatus, iQueryNoteText, aParams.DefaultCba(),
-            iQueryPrompt, KNullDesC(), KNoImage, KNoImageMask,
-        static_cast<CAknQueryDialog::TTone>( aParams.Tone() ) );
-    SetActive();
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::DestroyGlobalMsgQuery
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::DestroyGlobalMsgQuery()
-    {
-    if ( iGlobalMsgQuery )
-        {
-        iGlobalMsgQuery->CancelMsgQuery();
-
-        delete iGlobalMsgQuery;
-        iGlobalMsgQuery = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::CreateGlobalWaitNote
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::CreateGlobalWaitNoteL(
-        const TPhoneCmdParamQuery& aParams )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneQueryController::CreateGlobalWaitNote()");
-    if ( aParams.DataText()->Length() > 0 )
-        {
-        iWaitNoteText.Close();
-        iWaitNoteText.Create( *aParams.DataText() );
-        // use timeout if defined
-        const TInt KSecToUsFactor = 1000000;
-        TTimeIntervalMicroSeconds32 timeout = aParams.TimeOut() * KSecToUsFactor;
-        if ( 0 < timeout.Int() && !iTimer )
-            {
-            iTimer = CPhoneTimer::NewL();
-            iTimer->After( timeout, this );
-            }
-
-        DestroyGlobalWaitNote();
-        iGlobalWaitNote = CAknGlobalNote::NewL();
-        iGlobalWaitNote->SetSoftkeys( aParams.DefaultCba() );
-        // Show the global note
-        iGlobalWaitNote->ShowNoteL( iStatus, EAknGlobalWaitNote, *aParams.DataText()  );
-
-        SetActive();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::DestroyGlobalWaitNote
-// ---------------------------------------------------------
-//
-void CPhoneQueryController::DestroyGlobalWaitNote()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-          "CPhoneQueryController::DestroyGlobalWaitNote()");
-    if ( iGlobalWaitNote )
-        {
-        ClearTimer();
-        TRAP_IGNORE( iGlobalWaitNote->CancelNoteL( KErrCancel ) );
-
-        delete iGlobalWaitNote;
-        iGlobalWaitNote = NULL;
-        }
-    iWaitNoteText.Close();
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::ProcessCommand
-// ---------------------------------------------------------
-
-void CPhoneQueryController::ProcessCommandL( TInt aCommandId )
-    {
-	__LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::ProcessCommandL()");
-
-	iCommandId = aCommandId;
-
-    if ( iTextQuery )
-        { // Store text for next content getting
-        iQueryPreviousText.Close();
-        iQueryPreviousText.Create( KPhoneMaxCharsInNote );
-        iTextQuery->GetContent( iQueryPreviousText );
-        }
-
-    iCommandAsync = CIdle::NewL( EPriorityNormal );
-    iCommandAsync->Start( TCallBack( ProcessCommandCallBack, this ) );
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::ProcessCommandCallBack
-// ---------------------------------------------------------
-//
-TInt CPhoneQueryController::ProcessCommandCallBack( TAny* aCPhoneQueryController )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneQueryController::ProcessCommandCallBack() ");
-
-    CPhoneQueryController* queryController =
-        static_cast<CPhoneQueryController*>( aCPhoneQueryController );
-
-    delete queryController->iCommandAsync;
-    queryController->iCommandAsync = NULL;
-
-    TRAP_IGNORE( static_cast<MEikCommandObserver*>( queryController->iEikEnv.EikAppUi() )
-        ->ProcessCommandL( queryController->iCommandId ) );
-
-    return KErrNone;
-    }
-
-
-// end of file
-
--- a/phoneapp/phoneuiview/src/cphonequerydialog.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +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: Implementation of CPhoneQueryDialog class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphonequerydialog.h"
-#include "phoneui.hrh"
-
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneQueryDialog::CPhoneQueryDialog( const TTone& aTone ) :
-	CAknQueryDialog( aTone )
-    {
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-// 
-CPhoneQueryDialog::~CPhoneQueryDialog()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneQueryController::NewL()
-// Two-phased constructor
-// ---------------------------------------------------------
-//
-CPhoneQueryDialog* CPhoneQueryDialog::NewL( const TTone& aTone )
-	{
-	CPhoneQueryDialog* self = new( ELeave )CPhoneQueryDialog( aTone );
-	return self;	
-	}
-
-// ---------------------------------------------------------
-// CPhoneQueryDialog::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CPhoneQueryDialog::OfferKeyEventL( 
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-	if ( aKeyEvent.iScanCode == EStdKeyNo || aKeyEvent.iCode == EKeyNo )
-		{
-		OkToExitL( EPhoneCmdDoNothing );
-		return EKeyWasNotConsumed;
-		}
-	else
-		{
-		return CAknQueryDialog::OfferKeyEventL( aKeyEvent, aType );
- 		}
-    }
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphoneringingtone.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,287 +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:  Class representing ringing tone
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "cphoneringingtone.h"
-#include <apgcli.h>
-#include <DRMHelper.h>
-#include <bldvariant.hrh>
-#include <pathinfo.h>
-#include "phoneconstants.h"
-#include "phonelogger.h"
-
-// CONSTANTS
-// Rich audio file MIME types
-_LIT(KAac, "audio/aac");
-_LIT(KMp3, "audio/mp3");
-_LIT(KMpeg, "audio/mpeg");
-_LIT(K3gpp, "audio/3gpp");
-_LIT(KMp4, "audio/mp4");
-_LIT(KAmrWb, "audio/amr-wb");
-_LIT(KWavX, "audio/x-wav");
-_LIT(KWav, "audio/wav");
-
-// Rich video file MIME types
-_LIT(KV3gpp, "video/3gpp");
-_LIT(KVMp4, "video/mp4");
-_LIT(KV3gpp2, "video/3gpp2");
-
-// MACROS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::CPhoneRingingTone
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingTone::CPhoneRingingTone( TBool aDrmInPlayback ) :
-    iDrmInPlayback( aDrmInPlayback )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTone::ConstructL( const TDesC& aFileName )
-    {
-    iFileName = aFileName.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingTone* CPhoneRingingTone::NewL( 
-    const TDesC& aFileName,
-    TBool aDrmInPlayback )
-    {
-    CPhoneRingingTone* self = new( ELeave ) CPhoneRingingTone(
-        aDrmInPlayback );
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aFileName );
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-    
-// Destructor
-CPhoneRingingTone::~CPhoneRingingTone()
-    {
-    delete iFileName;
-    delete iMimeType;    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::SetFileName
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTone::SetFileName( const TDesC& aFileName )
-    {
-    delete iFileName;
-    iFileName = aFileName.Alloc();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::FileName
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CPhoneRingingTone::FileName() const
-    {
-    // iFileName is never NULL
-    return *iFileName;            
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::MimeType
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CPhoneRingingTone::MimeType() const
-    {
-    if ( iMimeType )
-        {
-        return *iMimeType;        
-        }
-    else
-        {
-        return KNullDesC;    
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::IsVideoRingingTone
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-TBool CPhoneRingingTone::IsVideoRingingTone()
-    {
-#ifdef RD_VIDEO_AS_RINGING_TONE
-    if ( RefreshMime() != KErrNone  )
-        {
-        // try to handle as audio
-        return EFalse;                
-        }
-
-    TBool isVideo( EFalse );    
-        
-    if ( iMimeType && iMimeType->MatchF( KPhoneRingingToneVideoMime ) != 
-         KErrNotFound )
-        {
-        isVideo = ETrue;
-        }
-    else if ( iMimeType && iMimeType->MatchF( KPhoneRingingToneRealVideoMime ) != 
-              KErrNotFound )
-        {
-        isVideo = ETrue;    
-        }
-    
-    if ( isVideo )
-        {
-        if ( IsFileInRom() && !IsFileInVideoDirectory() )
-            {
-            // For ROM files check also location, because
-            // MIME check is not fully reliable.
-            isVideo = EFalse;        
-            }            
-        }
-    
-    return isVideo;
-#else
-    // if extended security -> refresh MIME
-    if ( iDrmInPlayback )
-        {
-        RefreshMime();            
-        }
-    
-    return EFalse;
-#endif    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::IsFileDrmProtected
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-TBool CPhoneRingingTone::IsFileDrmProtected() const
-    {
-    const TDesC& type = MimeType();
-        
-    if ( type == KAac  || type == KMp3 || type == KMpeg ||
-         type == K3gpp || type == KMp4 || type == KAmrWb ||
-         type == KWavX || type == KWav || type == KV3gpp || 
-         type == KVMp4 || type == KV3gpp2 )
-        {
-        ContentAccess::CContent* content = NULL;
-        TRAPD( err, content = ContentAccess::CContent::NewL( *iFileName ) );
-        if ( err == KErrNone && content )
-            {
-            TInt drmProtected( 0 );
-            content->GetAttribute( ContentAccess::EIsProtected, drmProtected );
-            delete content;
-            return drmProtected;        
-            }
-        }
-    
-    return ETrue; // Other MIMEs can be played without DRM check.    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::IsFileInRom
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-TBool CPhoneRingingTone::IsFileInRom() const
-    {
-    TParsePtrC parsedName( *iFileName );
-    
-    // Files on rom are not DRM checked
-    if ( parsedName.Drive().CompareF( KPhoneRingingToneDriveZ ) == 0 )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;    
-        }        
-    }    
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::IsFileInVideoDirectory
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingTone::IsFileInVideoDirectory() const
-    {
-    TParsePtrC parsedName( *iFileName );
-    
-    if ( PathInfo::PathType( parsedName.DriveAndPath() ) == 
-         PathInfo::EVideosPath )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;    
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::RefreshMime
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingTone::RefreshMime()
-    {
-    TRAPD( err, RefreshMimeL() );
-    return err;        
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::RefreshMimeL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-void CPhoneRingingTone::RefreshMimeL()
-    {
-    RApaLsSession apaLsSession;
-    User::LeaveIfError( apaLsSession.Connect() );
-    CleanupClosePushL( apaLsSession );
-
-    TUid dummyUid = { 0 };
-    TDataType dataType( dummyUid );
-    
-    User::LeaveIfError(
-        apaLsSession.AppForDocument( *iFileName, dummyUid, dataType ) );
-        
-    CleanupStack::PopAndDestroy(); // CleanupClosePushL
-    
-    delete iMimeType;
-    iMimeType = NULL;
-    iMimeType = dataType.Des().AllocL();
-    }
-
-//  End of File  
--- a/phoneapp/phoneuiview/src/cphoneringingtoneplayerao.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1975 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Ringing tone player.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphoneringingtoneplayerao.h"
-
-#include <cntdef.h>
-#include <f32file.h>
-#include <featmgr.h>
-#include <utility.h>
-#include <AudioPreference.h>
-#include <data_caging_path_literals.hrh>
-#include <MusicPlayerInternalCRKeys.h>
-#include <ProfileEngineDomainCRKeys.h>
-#include <telephonyvariant.hrh>
-#include <UikonInternalPSKeys.h>
-#include <DRMHelperServerInternalCRKeys.h>
-#include <DRMHelper.h>
-#include <activeidle2domainpskeys.h>
-
-#include "phoneui.pan"
-#include "phoneui.hrh"
-#include "mphoneringingtoneobserver.h"
-#include "cphonetimer.h"
-#include "cphonecenrepproxy.h"
-#include "phoneconstants.h"
-#include "phonelogger.h"
-#include "cphoneringingtone.h"
-#include "tphonecmdparamringtone.h"
-#include "cphonepubsubproxy.h"
-#include "cphonecenrepproxy.h"
-#include "cphonemediatorsender.h"
-
-// CONSTANTS
-
-// Minimum acceptable length of parsed DRM message.
-const TInt KPhoneMinDRMTextLength = 3;
-// Value field of parsed DRM string.
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::NewL
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingTonePlayerAO* CPhoneRingingTonePlayerAO::NewL()
-    {
-    CPhoneRingingTonePlayerAO* self = 
-        new ( ELeave ) CPhoneRingingTonePlayerAO();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::CPhoneRingingTonePlayerAO
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingTonePlayerAO::CPhoneRingingTonePlayerAO() :
-    CActive( CActive::EPriorityStandard ),
-    iAsyncDeletePlayers( EPlayerCount )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::ConstructL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructL()" );
-    
-    for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
-        {
-        User::LeaveIfError( 
-            iAsyncDeletePlayers.Append( NULL ) );
-        }
-
-    // Construct timer.
-    iTimer = CPhoneTimer::NewL();
-    iTtsDelayTimer = CPhoneTimer::NewL();
-
-    // Checks if DRM extend security is needed
-    TInt extSecNeeded = KErrNone;
-    TInt err = CPhoneCenRepProxy::Instance()->GetInt(
-        KCRUidMusicPlayerFeatures,
-        KRequireDRMInPlayback,
-        extSecNeeded );
- 
-    iExtSecNeeded = ( ( err == KErrNone ) && extSecNeeded ) ? ETrue : EFalse;
-    
-    
-    CPhoneCenRepProxy::Instance()->NotifyChangeL(
-        KCRUidDRMHelperServer, 
-        KDRMHelperServerNotificationPassive,
-        this );
-    
-
-    // Check video player configuration.
-    iArbitraryVideoScaling = 
-    CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported( 
-            KTelephonyLVFlagArbitraryVideoScaling );
- 
-    // Construct the default ringing tone
-    TBuf<KMaxFileName> defaultTone;
-    err = CPhoneCenRepProxy::Instance()->GetString(            
-        KCRUidProfileEngine,
-        KProEngDefaultRingingTone,
-        defaultTone );
-
-    if ( err == KErrNone )
-        {
-        iDefaultRingingTone = CPhoneRingingTone::NewL( defaultTone );
-        }
-
-    ConstructPlayers();
-    
-    GetMaxToneFileSizeL( iToneFileSizeLimitKB );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::~CPhoneRingingTonePlayerAO
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingTonePlayerAO::~CPhoneRingingTonePlayerAO()
-    {
-    Cancel();
-    
-    iAsyncDeletePlayers.ResetAndDestroy();
-    iAsyncDeletePlayers.Close();
-        
-    CleanupPlayers();
-
-    delete iTimer;
-    delete iTtsDelayTimer;
-    delete iDefaultRingingTone;
-    delete iAudioVideoRingingTone;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::PlayRingToneL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::PlayRingToneL( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayRingToneL()" );
-
-    if ( aCommandParam->ParamId() == 
-        TPhoneCommandParam::EPhoneParamIdRingTone )
-        {
-        TPhoneCmdParamRingTone* ringToneParam = 
-            static_cast<TPhoneCmdParamRingTone*>( aCommandParam );
-
-        const TInt volume = ringToneParam->Volume();
-        TProfileRingingType ringingType = 
-            static_cast<TProfileRingingType>( ringToneParam->RingingType() );
-        
-        if ( !iAudioVideoRingingTone )
-            {
-            iAudioVideoRingingTone = CPhoneRingingTone::NewL(
-                ringToneParam->RingTone() );
-            }
-        else if ( iAudioVideoRingingTone->FileName().Compare(
-            ringToneParam->RingTone() ) ) 
-            {
-            iAudioVideoRingingTone->SetFileName(
-                ringToneParam->RingTone() );
-            }
-        
-        // Caller contact text and image and image has
-        // higher priority than video ringing tone set for caller.
-        if ( iAudioVideoRingingTone->IsVideoRingingTone() &&
-             ringToneParam->IsCallerImage() )
-            {
-            // Play only audio from video ringingtone
-            PlayAudioRingTone(
-                    volume,
-                    ringingType );
-            }
-        else if ( iAudioVideoRingingTone->IsVideoRingingTone() &&
-                !ringToneParam->IsCallerText() )
-            {            
-            // Play video ring tone
-            const TBool ringToneIsPersonal = ringToneParam->Type() ==
-                EPhoneRingTonePersonal;
-            PlayVideoRingingTone( 
-                *iAudioVideoRingingTone, 
-                volume, 
-                ringingType,
-                ringToneIsPersonal );
-            }
-        else
-            {
-            // Play text to speech, if available
-            if ( ringToneParam->TextToSay().Length() )
-                {
-                PlayTtsTone(
-                    ringToneParam->TextToSay(),
-                    volume,
-                    ringingType );
-                }
-            // Play audio ring tone
-            PlayAudioRingTone( 
-                volume, 
-                ringingType );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::PlayAudioRingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::PlayAudioRingTone( 
-    TInt aVolume, 
-    TProfileRingingType aRingingType )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayAudioRingTone()" );
-    __PHONELOG2( 
-        EBasic,
-        EPhoneUIView, 
-        "CPhoneRingingTonePlayerAO::PlayAudioRingTone - aVolume(%d), aRingingType(%d)",
-        aVolume,
-        aRingingType );
- 
-    if ( !iAudioVideoRingingTone ||
-         !CheckAndHandleToneSizeLimit( iAudioVideoRingingTone ) )
-        {
-        PlayDefaultTone( aVolume, aRingingType );
-        }
-    else if ( aRingingType == EProfileRingingTypeSilent )
-        {
-        PlaySilentTone();
-        }
-    else if ( aRingingType == EProfileRingingTypeBeepOnce )
-        {
-        BeepOnce( aVolume );
-        }
-    else
-        {
-        // Construct player for line 1.
-        if ( !iAudioPlayer )
-            {
-            iAudioPlayer = ConstructTonePlayer( 
-                *iAudioVideoRingingTone, 
-                EPlayerAudio );
-            if ( !iTimer->IsActive() )
-                {
-                // Start timer, since the player is constructed.
-                iTimer->After( KPhoneMaxRingingWaiting, this );
-                }
-            }
-
-        // Start playing.
-        if ( !iAudioPlayer )
-            {
-            iTimer->Cancel();
-            PlayDefaultTone( aVolume, aRingingType );
-            }
-        else
-            {
-            __PHONELOG( 
-                EBasic, 
-                EPhoneUIView, 
-                "CPhoneRingingTonePlayerAO::PlayAudioRingTone - Start playing audio" );
-            iVolume = aVolume;
-            iRingingType = aRingingType;
-            AddTtsPlaybackIfNeeded( aRingingType );
-            iTonePlayingStatus = EAudioTonePlaying;
-            iAudioPlayer->Play( 
-                ConvertRingingType( aRingingType ),
-                aVolume,
-                iTtsToneToBePlayed );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::BeepOnce
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::BeepOnce( TInt aVolume )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::BeepOnce()" );
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::BeepOnce - aVolume(%d)",
-        aVolume );
-
-    if ( !iBeepOncePlayer )
-        {
-        ConstructSequencePlayer( EPlayerBeepOnce );
-        }
-
-    if ( iBeepOncePlayer )
-        {
-        __PHONELOG( 
-            EBasic, 
-            EPhoneUIView, 
-            "CPhoneRingingTonePlayerAO::BeepOnce - Play" );
-        iTonePlayingStatus = EBeepOnce;
-        iBeepOncePlayer->Play( CPhoneAudioPlayer::ETypeRingingOnce, 
-            aVolume, EFalse );        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::PlaySilentTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::PlaySilentTone()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlaySilentTone()" );
-
-    if ( !iSilentPlayer )
-        {
-        ConstructSequencePlayer( EPlayerSilent );
-        }
-
-    __ASSERT_DEBUG( iSilentPlayer, Panic( EPhoneViewGeneralError ) );
-
-    if ( iSilentPlayer )
-        {
-        __PHONELOG( 
-            EBasic, 
-            EPhoneUIView, 
-            "CPhoneRingingTonePlayerAO::PlaySilentTone - play" );
-        iTonePlayingStatus = ESilentTonePlaying;
-        iSilentPlayer->Play( CPhoneAudioPlayer::ETypeRinging, 0, EFalse );        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::PlayUnsecureVoIPTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::PlayUnsecureVoIPTone()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayUnsecureVoIPTone()" );
-    if ( !iUnsecureVoIPTonePlayer )
-        {
-        ConstructSequencePlayer( EPlayerUnsecureVoIP );
-        }
-    __ASSERT_DEBUG( iUnsecureVoIPTonePlayer, Panic( EPhoneViewGeneralError ) );
-
-    if ( iUnsecureVoIPTonePlayer )
-        {
-        iTonePlayingStatus = EUnsecureVoIPTonePlaying;
-        iUnsecureVoIPTonePlayer->Play( CPhoneAudioPlayer::ETypeRingingOnce,
-            KPhoneDefaultVolume, EFalse );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::MuteRingingToneOnAnswer
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::MuteRingingToneOnAnswer()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::MuteRingingToneOnAnswer()" );
-    
-    if ( iVideoPlayer && iTonePlayingStatus == EVideoTonePlaying ||
-         iTonePlayingStatus == EPersonalVideoTonePlaying )
-        {
-        // Mute the video audio
-        iVideoPlayer->MuteVideoRingTone();
-        iTonePlayingStatus = ESilentVideoTonePlaying;
-        iVolume = 0;
-        }
-    else
-        {
-        DoMuteRingingTone();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::MuteRingingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::MuteRingingTone()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::MuteRingingTone()" );
-    
-    if ( iVideoPlayer && iTonePlayingStatus == EVideoTonePlaying ||
-         iTonePlayingStatus == EPersonalVideoTonePlaying )
-        {
-        // Mute the video audio
-        iVideoPlayer->MuteVideoRingTone();
-        iTonePlayingStatus = ESilentVideoTonePlaying;
-        iVolume = 0;
-        }
-    else
-        {
-        StopPlaying();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::StopPlaying
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::StopPlaying()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::StopPlaying()" );
-
-    iTtsToneToBePlayed = EFalse;
-    iTTsTimeOutCounter = 0;
-    iTtsDelayTimer->Cancel();
-    if ( iTtsPlayer )
-        {
-        iTtsPlayer->StopPlaying();
-        delete iTtsPlayer;
-        iTtsPlayer = NULL;
-        }
-    iTimer->Cancel();
-
-    switch( iTonePlayingStatus )
-        {
-        case EAudioTonePlaying:
-            if( iAudioPlayer )
-                {
-                // Commented stopping out, since with this, the screen is jammed
-                // when REComSession::FinalClose() is reached in 
-                // CPhoneAudioPlayer's destructor.
-                // Audio player is stopped anyway in its destructor.
-                // Fixes EKKI-7WYG2G and JKAN-7XNGQU.
-                // iAudioPlayer->StopPlaying();                
-                delete iAudioPlayer;
-                iAudioPlayer = NULL;
-                }
-            break;
-        case EDefaultTonePlaying:
-            if ( iDefaultPlayer )
-                {
-                iDefaultPlayer->StopPlaying();
-                delete iDefaultPlayer;
-                iDefaultPlayer = NULL;
-                }
-            break;
-        case EBeepOnce:
-            if( iBeepOncePlayer )
-                {
-                iBeepOncePlayer->StopPlaying();
-                delete iBeepOncePlayer;
-                iBeepOncePlayer = NULL;
-                }
-            break;
-        case EBackupTonePlaying:
-            if( iBackupPlayer )
-                {
-                iBackupPlayer->StopPlaying();
-                }
-            break;
-        case ESilentTonePlaying:
-            if( iSilentPlayer )
-                {
-                iSilentPlayer->StopPlaying();
-                delete iSilentPlayer;
-                iSilentPlayer = NULL;
-                }
-            break;
-        case EUnsecureVoIPTonePlaying:
-            if( iUnsecureVoIPTonePlayer )
-                {
-                iUnsecureVoIPTonePlayer->StopPlaying();
-                delete iUnsecureVoIPTonePlayer;
-                iUnsecureVoIPTonePlayer = NULL;
-                }
-            break;
-        case EVideoTonePlaying: // video ringing tone
-        case EPersonalVideoTonePlaying:
-        case ESilentVideoTonePlaying:
-            if ( iBeepOncePlayer != NULL )
-                {
-                iBeepOncePlayer->StopPlaying();
-                delete iBeepOncePlayer;
-                iBeepOncePlayer = NULL;                    
-                }
-                
-            if ( iSilentPlayer != NULL )
-                {
-                iSilentPlayer->StopPlaying();
-                delete iSilentPlayer;
-                iSilentPlayer = NULL;                    
-                }    
-            if ( iVideoPlayer )
-                {
-                iVideoPlayer->StopVideoRingTone();
-                }
-            if ( iAudioVideoRingingTone )
-                {
-                delete iAudioVideoRingingTone;
-                iAudioVideoRingingTone = NULL;    
-                }
-            break;
-        case EIdle:
-            // Do nothing here.
-            return;
-        default:
-            Panic( EPhoneViewCaseNotHandled );
-            break;
-        }
-
-    iTonePlayingStatus = EIdle;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::PlayTtsTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::PlayTtsTone( 
-    const TDesC& aTextToSay, 
-    TInt aVolume,
-    TProfileRingingType aRingingType )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayTtsTone()" );
-    __PHONELOG2( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayTtsTone - aVolume(%d), aRingingType(%d)",
-        aVolume, aRingingType );
-
-    if ( iTtsPlayer )
-        {
-        delete iTtsPlayer;
-        iTtsPlayer = NULL;
-        }
-
-    //Set ringingtype for Tts.
-    iTtsRingingType = aRingingType;
-    iTtsVolume = aVolume;
-
-    // TTS should be a bit louder, than main component.
-    // No need to check for overflows, they are handled in SET_PHONE_VOLUME macro.
-    
-    TPtrC ttsHeader( KPhoneTtsHeader );
-    HBufC* preparedString = 
-        HBufC::New( aTextToSay.Length() + ttsHeader.Length() );
-
-    if ( preparedString )
-        {
-        TPtr pPreparedString = preparedString->Des();
-        pPreparedString.Append( ttsHeader );
-        pPreparedString.Append( aTextToSay );
-           
-        __PHONELOG1( 
-            EBasic, 
-            EPhoneUIView, 
-            "CPhoneRingingTonePlayerAO::PlayTtsTone - about to say %S",
-            &pPreparedString );
-
-        TRAPD( 
-            error, 
-            iTtsPlayer = CPhoneAudioPlayer::NewTtsL( 
-               *preparedString, 
-               KAudioPriorityPhoneCall, 
-               KAudioPrefTextToSpeechCallHardCoded,
-               *this, 
-               EPlayerTts ) );
-        if( error == KErrNone ) 
-            {
-            // To be played when default or personal tone will be played
-            iTtsToneToBePlayed = ETrue;
-            }
-        __PHONELOG2(
-            EBasic,
-            EPhoneUIView,
-            "CPhoneRingingTonePlayerAO::PlayTtsTone - error(%d), iTtsPhoneToBePlayed(%d)",
-            error, 
-            iTtsToneToBePlayed );
-
-        delete preparedString;  
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleAudioPlayerError
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandleAudioPlayerError( 
-    TPhoneAudioPlayerErrorEvent /*aEvent*/, 
-    TInt aError, 
-    TInt /*aId*/ )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleAudioPlayerError()" );
-    // This is called from CPhoneAudioPlayer - we do not 
-    // want to delete instances from which this method
-    // is called.
-    
-     __PHONELOG1( EBasic, 
-                 EPhoneUIView, 
-                 "CPhoneRingingTonePlayerAO::HandleAudioPlayerError - error (%d)",
-                 aError ); 
-
-    const TBool deleteAll = ( aError == KErrServerTerminated );
-
-    if ( deleteAll )
-        {
-        // KErrServerTerminated is considered as fatal error. So we
-        // need to delete everything.
-
-        for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
-            {
-            DeletePlayerAsync( static_cast< TPlayerId >( i ) );
-            }
-
-        // Now all member audio players point to NULL, except
-        // those players in iAsyncDeletePlayers. Recreate 
-        // players.
-
-        ConstructPlayers(); // Ignore error code.
-        }
-
-    iTimer->Cancel();
-    DoHandlePlayerError( !deleteAll, EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleAudioPlayerInitComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandleAudioPlayerInitComplete( TInt aId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleAudioPlayerInitComplete()" );
-    // This is called from CPhoneAudioPlayer - we do not 
-    // want to delete instances from which this method
-    // is called. 
-
-    if ( iTonePlayingStatus == EAudioTonePlaying && aId == EPlayerAudio ||
-        iTonePlayingStatus == EDefaultTonePlaying && aId == EPlayerDefault )
-        {
-        iTimer->Cancel();
-        }
-   
-    if( iTtsToneToBePlayed && ( aId != EPlayerTts ) )  
-        {
-        // Start TTS timer just before "normal ringtone component" starts 
-        // playing, i.e. after init completed.
-        if ( iTtsDelayIndex < iTtsDelaysCount )  
-            {
-            if ( !iTtsDelayTimer->IsActive() )
-                {
-                // There are TTS iterations to be played yet.
-                iTtsDelayTimer->After( 
-                    KPhoneTtsDelays[iTtsDelayIndex], 
-                    TCallBack( HandleTtsDelayTimeout, this ) );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandlePlayingComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandlePlayingComplete( TInt aId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete()" );
-    // This is called from CPhoneAudioPlayer - we do not 
-    // want to delete instances from which this method
-    // is called. 
-
-    __PHONELOG2(
-        EBasic, 
-        EPhoneUIView,
-        "CPhoneRingingTonePlayerAO::HandlePlayingComplete - aId(%d), iRingingType(%d)",
-        aId,
-        iRingingType );
-    __PHONELOG2(
-        EBasic, 
-        EPhoneUIView,
-        "CPhoneRingingTonePlayerAO::HandlePlayingComplete - iTtsToneToBePlayed(%d), iTtsDelayIndex(%d)",
-        iTtsToneToBePlayed,
-        iTtsDelayIndex );
-
-    if ( aId == EPlayerTts ) 
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - resuming after TTS" );
-
-        // TTS playing complete, normal tone player should volume up.
-        if ( ( iTtsToneToBePlayed ) && ( ++iTtsDelayIndex < iTtsDelaysCount ) )  
-            {
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - resuming after TTS first time" );
-            //Callers name is said once. increase tone player volume.    
-            SolveNewVolumeAndRamptime( ESaidOnce );
-            
-            if ( !iTtsDelayTimer->IsActive() )
-                {
-                // There are TTS iterations to be played yet.
-                iTtsDelayTimer->After( KPhoneTtsDelays[iTtsDelayIndex], 
-                    TCallBack( HandleTtsDelayTimeout,this ) );
-                }
-            }
-        else
-            {
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - resuming after TTS second time" );
-            SolveNewVolumeAndRamptime( ESaidTwice );
-            }
-        
-        // No further processing. All TTS player-related events are not 
-        // "real" ringtone playing completions.
-        return;
-        }
-    //Case: RingintonePlayer has completed playing with following set: ring once and
-    // TTS is activated   
-    else if ( iRingingType == EProfileRingingTypeRingingOnce && 
-        iTtsToneToBePlayed )   
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - ring once and TTS" );
-         if ( iTtsDelayIndex < iTtsDelaysCount )
-            {
-            ReStartRingingTonePlayer();
-            //Do not destroy player yet. Return.
-            return;            
-            }
-        }
-    //Case: RingintonePlayer has completed playing with following set: ringing 
-    //and TTS is activated. We need  to restart ringintoneplayer and new TTS
-    //iterations are required.
-    else if ( iRingingType == EProfileRingingTypeRinging && iTtsToneToBePlayed )
-        {  
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - ringing and TTS" );
-        if ( iTtsDelayIndex == iTtsDelaysCount )
-            {
-            //Case: Ringingtype is EProfileRingingTypeRinging. New TTS
-            //iterations are required.    
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - need to restart TTS sequence" );
-            //TTS has completed its iterations,set index to zero. 
-            iTtsDelayIndex = 0;
-            if ( !iTtsDelayTimer->IsActive() )
-                {
-                //Restart TTS sequence
-                iTtsDelayTimer->After( 
-                    KPhoneTtsDelays[iTtsDelayIndex], 
-                    TCallBack( HandleTtsDelayTimeout, this ) ); 
-                }
-            }
-        
-        ReStartRingingTonePlayer();
-        //Do not destroy player yet. Return
-        return;  
-        }
-
-    __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::HandlePlayingComplete - delete player - iTonePlayingStatus(%d)",
-        iTonePlayingStatus );    
-    switch( iTonePlayingStatus )
-        {
-        case EAudioTonePlaying:
-            DeletePlayerAsync( EPlayerAudio );
-            iAudioPlayer = NULL;
-            break;
-            
-        case EDefaultTonePlaying:
-            DeletePlayerAsync( EPlayerDefault );
-            iDefaultPlayer = NULL;
-            break;
-            
-        case ESilentTonePlaying:
-            DeletePlayerAsync( EPlayerSilent );
-            iSilentPlayer = NULL;
-            break;
-
-        case EUnsecureVoIPTonePlaying:
-            DeletePlayerAsync( EPlayerUnsecureVoIP );
-            iUnsecureVoIPTonePlayer = NULL;
-            break;
-
-        case EBeepOnce:
-            DeletePlayerAsync( EPlayerBeepOnce );
-            iBeepOncePlayer = NULL;
-            break;
-            
-        case EVideoTonePlaying:
-        case EPersonalVideoTonePlaying:
-            DeletePlayerAsync( EPlayerBeepOnce );
-            iBeepOncePlayer = NULL;
-            return; // beep once + video
-            
-        case EBackupTonePlaying:
-            break;
-            
-        default:
-            Panic( EPhoneViewCaseNotHandled );
-            break;
-        }
-
-    iTonePlayingStatus = EIdle;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleTimeOutL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandleTimeOutL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleTimeOutL()" );
-
-    // Guarding timer for startup has expired
-    if ( iTonePlayingStatus == EVideoTonePlaying ||
-       iTonePlayingStatus == ESilentVideoTonePlaying ||   
-       iTonePlayingStatus == EPersonalVideoTonePlaying )
-      {
-        iVideoPlayer->CancelVideoRingTone(); // close video ringtone display
-       PlayDefaultTone( iVolume, iRingingType );
-      }
-    else
-      {
-      // Start new audio player synchronously.
-      DoHandlePlayerError( ETrue, ETrue );
-      }			
-		
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::DoHandlePlayerError
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::DoHandlePlayerError(
-    TBool aDelete,
-    TBool aSync )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandlePlayerError()" );
-    switch ( iTonePlayingStatus )
-        {
-        case EAudioTonePlaying:
-            if ( aDelete )
-                {
-                if ( aSync )
-                    {
-                    delete iAudioPlayer;
-                    }
-                else
-                    {
-                    DeletePlayerAsync( EPlayerAudio );
-                    }
-
-                iAudioPlayer = NULL;
-                }
-
-#ifdef __WINS__
-            PlayAudioRingTone( iVolume, iRingingType );
-            iTonePlayingStatus = EDefaultTonePlaying;
-#else
-            PlayDefaultTone( iVolume, iRingingType );
-#endif
-            break;
-        case EDefaultTonePlaying:
-            if ( aDelete )
-                {
-                if ( aSync )
-                    {
-                    delete iDefaultPlayer;
-                    }
-                else
-                    {
-                    DeletePlayerAsync( EPlayerDefault );
-                    }
-
-                iDefaultPlayer = NULL;
-                }
-
-            PlayBackupTone( iVolume, iRingingType );
-            break;
-        case ESilentTonePlaying:
-        case EBeepOnce:
-        case EBackupTonePlaying:
-            break;
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::PlayDefaultTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::PlayDefaultTone( 
-    TInt aVolume, 
-    TProfileRingingType aRingingType )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultTone()" );
-
-    if( aRingingType == EProfileRingingTypeSilent ||
-        aRingingType == EProfileRingingTypeBeepOnce )
-        {
-        return;
-        }
-        
-    if ( !iDefaultRingingTone )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultTone - default tone does not exist, play backup..." );
-        PlayBackupTone( aVolume, aRingingType );
-        return;    
-        }
-
-    // Construct player.
-    if ( !iDefaultPlayer )
-        {
-        iDefaultPlayer = ConstructTonePlayer( 
-            *iDefaultRingingTone, 
-            EPlayerDefault );
-        if ( !iTimer->IsActive() )
-            {
-            iTimer->After( KPhoneMaxRingingWaiting, this );
-            }
-        }
-
-    // Start playing.
-    if ( !iDefaultPlayer )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultTone - player not constructed, play backup..." );
-        iTimer->Cancel();
-        PlayBackupTone( aVolume, aRingingType );
-        }
-    else
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultTone - play" );
-        iVolume = aVolume;
-        iRingingType = aRingingType;
-        iTonePlayingStatus = EDefaultTonePlaying;
-        iDefaultPlayer->Play( 
-            ConvertRingingType( aRingingType ), aVolume, iTtsToneToBePlayed );
-        }
-
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::PlayBackupTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::PlayBackupTone( 
-    TInt aVolume, 
-    TProfileRingingType aRingingType )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayBackupTone()" );
-    __ASSERT_DEBUG( iBackupPlayer, Panic( EPhoneViewGeneralError ) );
-
-    if ( !iBackupPlayer )
-        {
-        ConstructPlayers();
-        }
-
-    if ( iBackupPlayer )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayBackupTone - play" );
-        iTonePlayingStatus = EBackupTonePlaying;
-
-        // Cease playing text-to-speech, if necessary
-        iTtsToneToBePlayed = EFalse;
-        iTTsTimeOutCounter = 0;
-        iTtsDelayTimer->Cancel();
-        if ( iTtsPlayer )
-            {
-            iTtsPlayer->StopPlaying();
-            delete iTtsPlayer;
-            iTtsPlayer = NULL;
-            }
-
-        iBackupPlayer->Play( 
-            ConvertRingingType( aRingingType ), aVolume, EFalse );        
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructTonePlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneRingingTonePlayerAO::ConstructTonePlayer( 
-    const CPhoneRingingTone& aRingingTone,
-    TInt aId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructTonePlayer()" );
-    return CPhoneAudioPlayer::New(
-        aRingingTone, 
-        KAudioPriorityPhoneCall, 
-        KAudioPrefIncomingCall,
-        *this, 
-        aId,
-        iMdaServer,
-        aId == EPlayerDefault ? EFalse : iExtSecNeeded );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConvertRingingType
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::TRingingType CPhoneRingingTonePlayerAO::ConvertRingingType(
-    TProfileRingingType aRingingType )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConvertRingingType()" );
-
-    CPhoneAudioPlayer::TRingingType ringingType = 
-        CPhoneAudioPlayer::ETypeRinging;
-    switch ( aRingingType )
-        {
-        case EProfileRingingTypeRinging:
-            ringingType = CPhoneAudioPlayer::ETypeRinging;
-            break;
-
-        case EProfileRingingTypeAscending:
-            ringingType = CPhoneAudioPlayer::ETypeAscending;
-            break;
-
-        case EProfileRingingTypeRingingOnce:
-            ringingType = CPhoneAudioPlayer::ETypeRingingOnce;
-            break;
-
-        default:
-            break;
-        }
-    return ringingType;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConvertVideoRingingType
-// -----------------------------------------------------------------------------
-//
-MPhoneVideoPlayer::TPlayMode CPhoneRingingTonePlayerAO::ConvertVideoRingingType(
-    TProfileRingingType aRingingType )
-    {
-    MPhoneVideoPlayer::TPlayMode playMode;
-        
-    switch ( aRingingType )
-        {
-        case EProfileRingingTypeAscending:
-            playMode = MPhoneVideoPlayer::EPlayAscending;
-            break;
-        case EProfileRingingTypeRingingOnce:
-            playMode = MPhoneVideoPlayer::EPlayOnce;
-            break;
-        case EProfileRingingTypeRinging:
-        default:
-            playMode = MPhoneVideoPlayer::EPlayInLoop;
-            break;
-        }
-    
-    return playMode;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructPlayers
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingTonePlayerAO::ConstructPlayers()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructPlayers()" );
-    TRAPD( err, ConstructPlayersL() );
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructPlayersL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::ConstructPlayersL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructPlayersL()" );
-
-    // Construct players.
-    if ( !iMdaServer )
-        {
-        iMdaServer = CMdaServer::NewL();
-        }
-
-    // Construct Backup player.
-    if ( !iBackupPlayer )
-        {
-        TFileName defaultSoundFile( KDriveZ );
-        defaultSoundFile.Append( KPhoneDefaultSoundFile );
-        iBackupPlayer = CPhoneAudioPlayer::NewL( 
-            defaultSoundFile,
-            KAudioPriorityPhoneCall,
-            KAudioPrefIncomingCall,
-            *this,
-            EPlayerBackup,
-            iMdaServer 
-            );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructSequencePlayer
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::ConstructSequencePlayer( TPlayerId aId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructSequencePlayer()" );
-
-    // Construct players.
-    TRAPD( err, ConstructSequencePlayerL( aId ) );
-    if ( err )
-        {
-        __PHONELOG1( EBasic, EPhoneUIView, 
-        "CPhoneRingingTonePlayerAO::ConstructSequencePlayer - err(%d)", err );    
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ConstructSequencePlayerL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::ConstructSequencePlayerL( TPlayerId aId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ConstructSequencePlayerL()" );
-    // Construct beep once player
-    if ( aId == EPlayerBeepOnce )
-        {
-#ifdef __WINS__    
-        TParse* fp = new (ELeave) TParse();
-        fp->Set( KPhoneBeepOnceSoundFile, &KDC_RESOURCE_FILES_DIR, NULL ); 
-        TFileName fileName( fp->FullName() );
-        delete fp;
-
-        iBeepOncePlayer = CPhoneAudioPlayer::NewL(
-            fileName, 
-            KAudioPriorityPhoneCall,
-            KAudioPrefIncomingCall,
-            *this, 
-            EPlayerBeepOnce );
-#else
-        iBeepOncePlayer = CPhoneAudioPlayer::NewSeqL(
-            KPhoneBeepSequence(),
-            KAudioPriorityPhoneCall,
-            KAudioPrefIncomingCall,
-            *this, 
-            EPlayerBeepOnce );
-#endif // __WINS__
-        }
-
-    // Construct Silent Player.
-    else if ( aId == EPlayerSilent )
-        {
-#ifdef __WINS__
-        TParse* fp = new (ELeave) TParse();
-        fp->Set( KPhoneSilentSoundFile, &KDC_RESOURCE_FILES_DIR, NULL ); 
-        TFileName fileName( fp->FullName() );
-        delete fp;
-
-        iSilentPlayer = CPhoneAudioPlayer::NewL( 
-            fileName, 
-            KAudioPriorityPhoneCall,
-            KAudioPrefIncomingCall,
-            *this, 
-            EPlayerSilent );
-#else
-        iSilentPlayer = CPhoneAudioPlayer::NewSeqL(
-            KPhoneNoSoundSequence(),
-            KAudioPriorityPhoneCall,
-            KAudioPrefIncomingCall,
-            *this,
-            EPlayerSilent );
-#endif // __WINS__
-        }        
-    
-    else if ( aId == EPlayerUnsecureVoIP )
-        {
-#ifdef __WINS__
-        TParse* fp = new (ELeave) TParse();
-        fp->Set( KPhoneBeepOnceSoundFile, &KDC_RESOURCE_FILES_DIR, NULL ); 
-        TFileName fileName( fp->FullName() );
-        delete fp;
-
-        iUnsecureVoIPTonePlayer = CPhoneAudioPlayer::NewL( 
-            fileName, 
-            KAudioPrioritySpecialInformationTone,
-            KAudioPrefSpecialInformation,
-            *this, 
-            EPlayerUnsecureVoIP );
-#else
-        iUnsecureVoIPTonePlayer = CPhoneAudioPlayer::NewSeqL(
-            KPhoneUnsecureVoIPCall(),
-            KAudioPrioritySpecialInformationTone,
-            KAudioPrefSpecialInformation,
-            *this,
-            EPlayerUnsecureVoIP );
-#endif // __WINS__
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::CleanupPlayers
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::CleanupPlayers()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::CleanupPlayers()" );
-
-    delete iAudioPlayer;
-    iAudioPlayer = NULL;
-
-    delete iDefaultPlayer;
-    iDefaultPlayer = NULL;
-
-    delete iBeepOncePlayer;
-    iBeepOncePlayer = NULL;
-
-    delete iSilentPlayer;
-    iSilentPlayer = NULL;
-    
-    delete iUnsecureVoIPTonePlayer;
-    iUnsecureVoIPTonePlayer = NULL;
-
-    delete iBackupPlayer;
-    iBackupPlayer = NULL;
-      
-    delete iMdaServer;
-    iMdaServer = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::DeletePlayerAsync
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::DeletePlayerAsync( TPlayerId aPlayer )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DeletePlayerAsync()" );
-    __ASSERT_DEBUG( aPlayer >= EPlayerFirst && aPlayer < iAsyncDeletePlayers.Count(),
-        Panic( EPhoneViewInvariant ) );
-        
-    // Player is not deleted here, but in RunL.
-    Cancel();
-
-    if ( iAsyncDeletePlayers[ aPlayer ] ) 
-        {
-        delete iAsyncDeletePlayers[ aPlayer ];
-        iAsyncDeletePlayers[ aPlayer ] = NULL;
-        }
-
-    CPhoneAudioPlayer** players[] =
-        {
-        &iAudioPlayer,
-        &iBeepOncePlayer,
-        &iSilentPlayer,
-        &iUnsecureVoIPTonePlayer,
-        &iDefaultPlayer,
-        &iBackupPlayer,
-        &iTtsPlayer
-        };
-
-    __ASSERT_DEBUG( iAsyncDeletePlayers.Count() > aPlayer, Panic( EPhoneUtilsIndexOutOfBounds ) );
-    iAsyncDeletePlayers[ aPlayer ] = 
-        *(players[ aPlayer ]);
-    *(players[ aPlayer ]) = NULL;
-
-    iState = EDeletingAudioPlayer;
-
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::RunL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::RunL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::RunL()" );
-
-    switch ( iState )
-        {
-        case EDeletingAudioPlayer:
-            {
-            for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
-                {
-                delete iAsyncDeletePlayers[ i ];
-                iAsyncDeletePlayers[ i ] = NULL;
-                }
-            }
-            break;
-
-      case EPlayingDefaultVideo:
-            {
-            PlayAudioRingTone( iVolume, iRingingType );
-            }
-            break;
-
-        case EIdleState:  
-        default:
-            break;
-        } // switch iState
-    
-    iState = EIdleState;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::DoCancel()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DoCancel()" );
-    // Request is completed immediately before SetActive.
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleTtsDelayTimeout
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingTonePlayerAO::HandleTtsDelayTimeout( TAny* object )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleTtsDelayTimeout()" );
-    static_cast<CPhoneRingingTonePlayerAO*>( object )->
-        DoHandleTtsDelayTimeout();
-    return KErrNone;
-    }
-        
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout()" );
-    __PHONELOG2( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout - iTtsRingingType(%d), iTTsTimeOutCounter(%d)",
-        iTtsRingingType, iTTsTimeOutCounter );
-
-    CPhoneAudioPlayer* currPlayer = NULL;
-    currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();        
-    
-    if ( !currPlayer )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout - null current player" );
-        return;
-        }
-    TInt volume( 0 );
-     //Ascending case. TTs player needs to be ascending.
-    if ( iTtsRingingType == EProfileRingingTypeAscending )
-        {
-        //Volume needs to be different in different ascending steps
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout - play ascending" ); 
-        if ( !iTTsTimeOutCounter )
-            {
-            //We are saying callers name for the first time in ascending mode.
-            //Say callers name by volume level KTtsVolumeMin.             
-            volume = KTtsVolumeMin;
-                
-            iTtsPlayer->Play(
-                ConvertRingingType( EProfileRingingTypeRingingOnce ),
-                volume,
-                iTtsToneToBePlayed );
-            }
-        else
-            {
-            //Checks the case that ringingtone is very quiet. Then do not play
-            //TTS too loud
-            volume = iTtsVolume < KTtsVolumeMin ? KTtsVolumeMin : KTtsVolumeAscendingRepeat;     
-                           
-            //We are saying callers name for the second time in ascending mode.
-            //Say callers name by volume level KTtsVolumeAscendingRepeat and decrease current players volume
-            //to KPlayerVolumeAscendingRepeat. RampTime is zero
-            currPlayer->SetNewVolumeAndRamptime( KPlayerVolumeAscendingRepeat, 0 );
-            iTtsPlayer->Play(
-                ConvertRingingType( EProfileRingingTypeRingingOnce ),
-                volume,
-                iTtsToneToBePlayed );
-            }
-       
-        }
-    else //Normal ringing case.
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::DoHandleTtsDelayTimeout - play normal" ); 
-        currPlayer->SetNewVolumeAndRamptime( iTtsVolume-5, 0 );                       
-        iTtsPlayer->Play(
-            ConvertRingingType( EProfileRingingTypeRingingOnce ),
-            iTtsVolume,
-            iTtsToneToBePlayed );
-        }
-      
-     iTTsTimeOutCounter++;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::AddTtsPlaybackIfNeeded
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::AddTtsPlaybackIfNeeded( 
-        TProfileRingingType /*aRingingType*/ )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::AddTtsPlaybackIfNeeded()" );
-    if ( iTtsToneToBePlayed )   
-        {
-        iTtsDelayIndex = 0;
-        iTtsDelaysCount = KPhoneTtsDelaysCount;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::SetVideoPlayer
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::SetVideoPlayer( 
-    MPhoneVideoPlayer* aVideoPlayer )
-    {
-    iVideoPlayer = aVideoPlayer;    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::PlayVideoRingingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::PlayVideoRingingTone( 
-    const CPhoneRingingTone& aRingingTone, 
-    TInt aVolume, 
-    TProfileRingingType aRingingType,
-    TBool aPersonalTone )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayVideoRingingTone()" );
-    
-    __ASSERT_DEBUG( iVideoPlayer, Panic( EPhoneViewGeneralError ) );
-    
-    iVolume = aVolume;
-    iRingingType = aRingingType;
-    TBool startTimer( ETrue );
-    
-     // Extended security check
-    if ( ExtendedSecurity() )
-        {
-        if ( !aRingingTone.IsFileInRom() &&
-             !aRingingTone.IsFileDrmProtected() )
-            {
-            __PHONELOG( EBasic, 
-                        EPhoneUIView, 
-                        "CPhoneRingingTonePlayerAO::HandleVideoPlayerError - PermissionDenied" );
-            PlayDefaultTone( iVolume, iRingingType );
-            return;
-            }
-        __PHONELOG( EBasic, 
-                    EPhoneUIView, 
-                    "CPhoneRingingTonePlayerAO::HandleVideoPlayerError - ExtSecChk ok" );            
-            }
- 
-    __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayVideoRingingTone - play" );
-    switch( aRingingType )
-        {
-        case EProfileRingingTypeSilent:
-            iVideoPlayer->PlayVideoRingTone( 
-                aRingingTone.FileName(),
-                ConvertVideoRingingType( aRingingType ),
-                0,
-                iArbitraryVideoScaling,
-                this );
-            PlaySilentTone(); // To start vibra, video may fail.
-            iVolume = 0; // for repeat
-            startTimer = EFalse; // no need for fallback
-            break;
-        
-        case EProfileRingingTypeBeepOnce:
-            iVideoPlayer->PlayVideoRingTone( 
-                aRingingTone.FileName(),
-                ConvertVideoRingingType( aRingingType ),
-                0,
-                iArbitraryVideoScaling,
-                this );
-            BeepOnce( iVolume );
-            iVolume = 0; // for repeat
-            startTimer = EFalse; // no need for fallback
-            break;
-        default:
-            iVideoPlayer->PlayVideoRingTone( 
-                aRingingTone.FileName(),
-                ConvertVideoRingingType( aRingingType ),
-                iVolume,
-                iArbitraryVideoScaling,
-                this );
-            break;                
-        }
-
-    if ( aPersonalTone )
-        {
-        iTonePlayingStatus = EPersonalVideoTonePlaying;
-        }
-    else
-        {
-        iTonePlayingStatus = EVideoTonePlaying;
-        }
-
-    if ( startTimer && !iTimer->IsActive() )
-        {
-        // Start timer to guard video opening
-        iTimer->After( KPhoneMaxRingingWaiting, this );
-        }
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleVideoPlayerError
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandleVideoPlayerError( 
-    TPhoneVideoPlayerErrorEvent /*aEvent*/,
-    TInt aError )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleVideoPlayerError()" );
-
-    if ( aError )
-        {
-        __PHONELOG1( EBasic, 
-                     EPhoneUIView, 
-                     "CPhoneRingingTonePlayerAO::HandleVideoPlayerError - error (%d)",
-                     aError );        
-        }
-  
-    // cancel guarding timer
-    iTimer->Cancel();
-
-    // to remove video window
-    iVideoPlayer->CancelVideoRingTone();
-
-    if ( iTonePlayingStatus == EPersonalVideoTonePlaying )
-        {
-        // Play default tone (active profile tone).
-        if ( iAudioVideoRingingTone &&
-             !iAudioVideoRingingTone->IsVideoRingingTone() )
-            {
-            PlayAudioRingTone( iVolume, iRingingType );
-            }
-        else // audio/video tone is video
-            {
-            PlayDefaultVideoAsync();
-            }
-        }
-    else
-        {
-        // Play backup tone
-        PlayDefaultTone( iVolume, iRingingType );
-        }
-
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleVideoPlayerInitComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandleVideoPlayerInitComplete()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleVideoPlayerInitComplete()" );
-    
-    // cancel guarding timer
-    iTimer->Cancel();
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleVideoPlayerPlayingComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandleVideoPlayerPlayingComplete()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleVideoPlayerPlayingComplete()" );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::PlayDefaultVideoAsync
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::PlayDefaultVideoAsync()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::PlayDefaultVideoAsync()" );    
-     
-    Cancel();
-
-    iState = EPlayingDefaultVideo; 
-
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ExtendedSecurity
-// -----------------------------------------------------------------------------
-//    
-TBool CPhoneRingingTonePlayerAO::ExtendedSecurity() const
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ExtendedSecurity()" );
-    return iExtSecNeeded;        
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime( TTtsStatus aStatus )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime()" );
-
-    CPhoneAudioPlayer* currPlayer = NULL;
-    currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();
-    if ( !currPlayer )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - null current player" );
-        return;
-        }
-    TInt ramptime( 0 );
-    //Here is handled the cases when Callers name is said. Sequence is:
-    //3 sec. tone + name + 4 sec. tone + name +the tone until the end. 
-    switch ( aStatus )
-        {
-        case ESaidOnce:
-            if ( iTtsRingingType == EProfileRingingTypeAscending )
-                {
-                //The ramptime could be ( 4 )* KPhoneTtsAscendingStep but now
-                //we are setting this to 0 because when Say callers name is said
-                //for first time: play ringing tone on level 3 for four secs.
-                ramptime = 0;
-                __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - said once ascending - ramptime(%d)",
-                    ramptime ); 
-                currPlayer->SetNewVolumeAndRamptime( KPlayerVolumeAscendingRepeat, ramptime );
-                }
-            else
-                {
-                 //Normal ringingtone case. Adjust volume back to profile level. 
-                __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - said once normal - ramptime(%d)",
-                    ramptime ); 
-                currPlayer->SetNewVolumeAndRamptime( iTtsVolume, 0 );    
-                }
-             break;
-        
-        case ESaidTwice:
-            if ( iTtsRingingType == EProfileRingingTypeAscending )
-                {
-                TInt vol = iTtsVolume;
-                if ( vol > KPlayerVolumeAscendingRepeat )
-                    {
-                    vol = vol - KTtsVolumeAscendingDecrease;
-                    }
-                          
-                //TTS playing complete for second time. increase tone player volume.
-                ramptime = ( vol )*KPhoneTtsAscendingStep;
-                __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - said twice ascending - ramptime(%d)",
-                    ramptime ); 
-                currPlayer->SetNewVolumeAndRamptime( iTtsVolume, ramptime );
-                }
-            else
-                {
-                 //Normal ringingtone case. Adjust volume back to profile level. 
-                __PHONELOG1( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::SolveNewVolumeAndRamptime - said twice normal - ramptime(%d)",
-                    ramptime ); 
-                currPlayer->SetNewVolumeAndRamptime( iTtsVolume, 0 );
-                }
-            break;
-        
-        default:
-            break;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs
-// -----------------------------------------------------------------------------
-//    
-CPhoneAudioPlayer* 
-CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs()
-    {    
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs()" );
-
-    if( iAudioPlayer )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs - audio player" ); 
-        return iAudioPlayer;         
-        }
-    else if ( iDefaultPlayer )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs - default player" ); 
-        return iDefaultPlayer;     
-        }
-    else if( iBackupPlayer )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneRingingTonePlayerAO::GetCurrentlyActiveAudioPlayerWithTTs - backup player" ); 
-        return iBackupPlayer;
-        }
-    else
-        {
-        return NULL;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ReStartRingingTonePlayer
-// -----------------------------------------------------------------------------
-//      
-void CPhoneRingingTonePlayerAO::ReStartRingingTonePlayer()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ReStartRingingTonePlayer()" );
-
-    //First get currently active player which plays among TTS player.
-    CPhoneAudioPlayer* currPlayer = NULL;
-    currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();   
-    if ( currPlayer )
-        {
-        currPlayer->ReStartPlaying();
-        }      
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::CheckAndHandleToneSizeLimit
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingTonePlayerAO::CheckAndHandleToneSizeLimit(
-     CPhoneRingingTone* aRingingTone )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::CheckAndHandleToneSizeLimit()" );
-    
-    TBool bValidSize = ETrue;
- 
-    // If user has somehow managed to get a too large file as ringing tone,
-    // play default tone instead.
-    if ( iToneFileSizeLimitKB )
-        {
-        if ( CheckToneFileSize( aRingingTone->FileName(), iToneFileSizeLimitKB) != KErrNone )
-            {
-            bValidSize = EFalse;
-            }            
-        }
-    __PHONELOG1( 
-        EBasic,
-        EPhoneUIView, 
-        "CPhoneRingingTonePlayerAO::CheckAndHandleToneSizeLimit - bValidSize(%d)",
-        bValidSize);
-        
-    return bValidSize;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::CheckToneFileSize
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingTonePlayerAO::CheckToneFileSize( const TDesC& aFile, TInt aSizeLimitKB )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::CheckToneFileSize()" );
-    
-    // Get file size
-    TInt size = 0;
-    TInt error = KErrNone;
-    RFs& fs = CCoeEnv::Static()->FsSession();       
-    TEntry entry;
-    if (KErrNone == fs.Entry( aFile, entry ))
-		{
-		size = entry.iSize;
-		}    
-        
-    // Check
-    aSizeLimitKB *= Kkilo;
-    if ( aSizeLimitKB  &&  size > aSizeLimitKB )
-        {
-        error = KErrTooBig;
-        }
-    
-    __PHONELOG1( 
-        EBasic,
-        EPhoneUIView, 
-        "CPhoneRingingTonePlayerAO::CheckToneFileSize - size (%d)",
-        size );    
-    return error;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::GetMaxToneFileSizeL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::GetMaxToneFileSizeL( TInt& aMaxSizeKB ) const
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::GetMaxToneFileSizeL()" );
-    
-    const TInt error = CPhoneCenRepProxy::Instance()->GetInt( 
-            KCRUidProfileEngine,
-            KProEngRingingToneMaxSize,
-            aMaxSizeKB );
-   
-   	if ( error != KErrNone )
-    	{
-        aMaxSizeKB = 0;
-    	}
-	if ( aMaxSizeKB < 0 )
-	    {
-	     aMaxSizeKB = 0;
-	    }
-  
-    __PHONELOG2( 
-        EBasic,
-        EPhoneUIView, 
-        "CPhoneRingingTonePlayerAO::GetMaxToneFileSizeL - error (%d), aMaxSizeKB(%d)",
-        error,
-        aMaxSizeKB );	    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::ActiveAudioPlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneRingingTonePlayerAO::ActiveAudioPlayer()
-	{
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::ActiveAudioPlayer()" );
-
-    switch( iTonePlayingStatus )
-        {
-        case EAudioTonePlaying:
-            if( iAudioPlayer != NULL )
-                {
-				return iAudioPlayer;
-                }
-            break;
-            
-        case EDefaultTonePlaying:
-            if ( iDefaultPlayer != NULL )
-                {
-				return iDefaultPlayer;
-                }
-            break;
-            
-        case EBeepOnce:
-            if( iBeepOncePlayer != NULL )
-                {
-				return iBeepOncePlayer;
-                }
-            break;
-            
-        case EBackupTonePlaying:
-            if( iBackupPlayer != NULL )
-                {
-                return iBackupPlayer;
-                }
-            break;
-            
-        case ESilentTonePlaying:
-            if( iSilentPlayer != NULL )
-                {
-                return iSilentPlayer;
-                }
-            break;
-            
-        case EUnsecureVoIPTonePlaying:
-            if( iUnsecureVoIPTonePlayer != NULL )
-                {
-                return iUnsecureVoIPTonePlayer;
-                }
-            break;
-            
-        case EVideoTonePlaying: // video ringing tone
-        case EPersonalVideoTonePlaying:
-        case ESilentVideoTonePlaying:
-            if ( iBeepOncePlayer != NULL )
-                {
-                return iBeepOncePlayer;                    
-                }    
-            else if ( iSilentPlayer != NULL )
-                {
-                return iSilentPlayer;                    
-                }    
-            break;
-            
-        default:
-            break;
-        }
-
-	return NULL;		
-	}
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTonePlayerAO::DoMuteRingingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::DoMuteRingingTone()
-	{
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::DoMuteRingingTone()" );
-	
-	switch( iTonePlayingStatus )
-		{
-        case EVideoTonePlaying: // video ringing tone, fall through
-        case EPersonalVideoTonePlaying: // fall through
-        case ESilentVideoTonePlaying:
-            if ( iVideoPlayer != NULL )
-	            {
-                iVideoPlayer->MuteVideoRingTone();
-                return;	            	
-	            }
-	        break;
-	        
-	    default:
-	    	break;
-		}
-	
-	CPhoneAudioPlayer* activePlayer = ActiveAudioPlayer();
-	if( activePlayer != NULL )
-		{
-		activePlayer->MutePlaying();
-		}
-	}
-
-// -----------------------------------------------------------
-// CPhoneRingingTonePlayerAO::HandleCenRepChangeL
-// -----------------------------------------------------------
-//
-void CPhoneRingingTonePlayerAO::HandleCenRepChangeL( 
-    const TUid& aUid,
-    const TUint /*aId*/ )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneRingingTonePlayerAO::HandleCenRepChangeL()");
-    
-    if ( aUid == KCRUidDRMHelperServer )
-        {
-        TBuf<256> tempBuf16( KNullDesC );
-        
-        User::LeaveIfError( CPhoneCenRepProxy::Instance()->GetString(
-            KCRUidDRMHelperServer,
-            KDRMHelperServerNotificationPassive,
-            tempBuf16 ) );         
-       
-        const TBool idleIsTopApp = CPhonePubSubProxy::Instance()->Value(
-            KPSUidAiInformation, KActiveIdleState ) == EPSAiForeground;
-       
-        // Quick validity check and    
-        // The first Tuint8 is the times the content has been informed.
-        // Note should not shown until Idle.
-        if ( idleIsTopApp && tempBuf16.Length() >= KPhoneMinDRMTextLength )
-            { 
-            TBuf8<256> tempBuf8;
-            TPtrC8 ptr((TUint8*)tempBuf16.Ptr(), tempBuf16.Size());
-            HBufC8* buf8 = HBufC8::NewLC( 256 );
-            buf8->Des().Copy(ptr);  
-    	    // Extract URI etc. 
-    	    // buf8 format:
-    	    //<TUint8 aTimes><TUint8 aExpirationMark>
-    	    //<TUint8 aPermissionType>
-    	    //<TUint8 aAutomatedContentType><TDesC8 aContentID>
-     	    TInt8 count = (TInt8)(*(buf8->Ptr())); 
-    	    TChar mark = (TChar)(*(buf8->Ptr()+1));
-    	    TInt8 permtype = (TChar)(*(buf8->Ptr()+2));
-    	    TInt8 automcontenttype = (TChar)(*(buf8->Ptr()+3)); 
-    	    TBuf8<256> curi = buf8->Right( buf8->Length()-4);
-    		
-    		if (curi.Ptr()[curi.Size()-1] == 0)
-    		    {
-    		    // The last character in the descriptor is 0, which means
-    		    // that the original 16-bit desc was padded so
-    		    // remove the last char...
-    		    curi.SetLength(curi.Size()-1);
-    		    }
-    		        
-            // Create DRM helper.     
-            CDRMHelper* drmHelper = CDRMHelper::NewLC();            
-            // Show notification.
-            drmHelper->SetAutomatedType( (CDRMHelper::TDRMHelperAutomatedType)automcontenttype );
-            TInt error = drmHelper->CheckRightsAmountL( curi );
-
-            __PHONELOG1( EBasic, EPhoneUIView, 
-                "CPhoneRingingTonePlayerAO::HandleCenRepChangeL > CheckRightsAmountL, error: %d"
-                , error );
-                           
-            CleanupStack::PopAndDestroy( drmHelper ); 
-            CleanupStack::PopAndDestroy( buf8 ); 
-            } 
-        }
-    }
-    
-//  End of File  
--- a/phoneapp/phoneuiview/src/cphonesingleitemfetch.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +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:  Fetch items from Contacts
-*
-*/
-
-
-#include <eikenv.h>
-#include <cphcntsingleitemfetch.h>
-#include <cphcntcontactid.h>
-#include <PhCltUtils.h>
-#include <eikcmobs.h>
-#include <AknQueryDialog.h>
-
-#include "cphoneviewcontroller.h"
-#include "cphonecontactcontroller.h"
-#include "cphonesingleitemfetch.h"
-#include "tphonecommandparam.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamsingleitemfetch.h"
-#include "cphonestatuspane.h"
-#include "cphonemainresourceresolver.h"
-#include "phonerssbase.h"
-#include "phonelogger.h"
-#include "cphoneview.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that
-// might leave
-// ---------------------------------------------------------------------------
-//
-CPhoneSingleItemFetch::CPhoneSingleItemFetch(
-    CEikonEnv& aEikEnv,
-    CPhoneViewController& aViewController,
-    CPhoneContactController& aContactController,
-    CPhoneStatusPane& aStatusPane )
-    : CActive ( EPriorityStandard ),
-    iEikEnv( aEikEnv ),
-    iViewController( aViewController ),
-    iContactController( aContactController ),
-    iStatusPane( aStatusPane )
-    {
-    CActiveScheduler::Add( this );
-    iViewController.PhoneView()->SetPhoneViewObserver( *this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneSingleItemFetch::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPhoneSingleItemFetch* CPhoneSingleItemFetch::NewL(
-    CEikonEnv& aEikEnv,
-    CPhoneViewController& aViewController,
-    CPhoneContactController& aContactController,
-    CPhoneStatusPane& aStatusPane )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneSingleItemFetch::NewL() ");
-    CPhoneSingleItemFetch* self =
-        new( ELeave ) CPhoneSingleItemFetch( aEikEnv,
-                                             aViewController,
-                                             aContactController,
-                                             aStatusPane );
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CPhoneSingleItemFetch::RunL
-// ---------------------------------------------------------
-//
-void CPhoneSingleItemFetch::RunL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneSingleItemFetch::RunL()" );
-
-    iButtonId = EPhoneViewYesSingleItemFetch;
-
-    // First open the single item fetch dialog
-    HBufC* fetchContent = HBufC::NewLC( KPhoneNumberEntryBufferSize );
-    fetchContent->Des().Zero();
-    TPtr ptr( fetchContent->Des() );
-    TPhoneCmdParamSingleItemFetch singleItemFetchParam;
-
-    if ( iResourceId == EPhoneNewCallFetchTitle )
-        {
-        singleItemFetchParam.SetType( CPhCntSingleItemFetch::EFetchNewCall );
-        singleItemFetchParam.SetTitlePaneResourceId(
-            CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( EPhoneNewCallFetchTitle ) );
-        singleItemFetchParam.SetCbaResourceId(
-            CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( EPhoneNewCallFetchCBA ) );
-        singleItemFetchParam.SetString( &ptr );
-        }
-    else if ( iResourceId > EPhoneRssBaseLast )
-        {
-        singleItemFetchParam.SetType( CPhCntSingleItemFetch::EFetchNewPSCall );
-        singleItemFetchParam.SetTitlePaneResourceId(
-            CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( EPhoneNewCallFetchTitle ) );
-        singleItemFetchParam.SetCbaResourceId(
-        CPhoneMainResourceResolver::Instance()->
-           ResolveResourceID( EPhoneNewCallFetchCBA ) );
-        singleItemFetchParam.SetString( &ptr );
-        }
-    else // EPhoneDtmfFetchTitle & EPhoneDtmfNumberQuery
-        {
-        singleItemFetchParam.SetType( CPhCntSingleItemFetch::EFetchDtmf );
-        singleItemFetchParam.SetTitlePaneResourceId(
-            CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( EPhoneDtmfFetchTitle ) );
-        singleItemFetchParam.SetCbaResourceId(
-            CPhoneMainResourceResolver::Instance()->
-                ResolveResourceID( KPhoneDefaultFetchCBA ) );
-        singleItemFetchParam.SetString( &ptr );
-        }
-
-    // Change title pane contents
-    CBase* textTitlePane = iStatusPane.CreateTextTitlePaneLC(
-    singleItemFetchParam.TitlePaneResourceId() );
-
-    CPhCntSingleItemFetch::TFetchParams result;
-    result.iType = singleItemFetchParam.Type();
-    result.iString = singleItemFetchParam.String();
-    result.iCbaResource = singleItemFetchParam.CbaResourceId();
-    result.iNumberType = MPhCntMatch::ENone;
-    result.iContactId = NULL;
-
-    TInt retval = KErrNotFound;
-    if( iSingleItemFetch )
-        {
-        retval = iSingleItemFetch->FetchLD( result );
-        iFetchPerformed = ETrue;
-        iSingleItemFetch = NULL; // destructed in FetchLD
-        delete result.iContactId; // pointer which will leak otherwise
-        result.iContactId = NULL;
-        }
-
-    // The contact operation may be cancelled if the END key
-    // is pressed (res == KErrCancel).
-    // If so, the blocking dialog will be removed.
-    if ( !iViewController.BlockingDialogIsDisplayed() || ptr == KNullDesC )
-        {
-        // Indicate that the operation has been cancelled
-        iButtonId = EPhoneViewNoSingleItemFetch;
-        static_cast<MEikCommandObserver*>( iEikEnv.EikAppUi() )
-            ->ProcessCommandL( iButtonId );
-        iFetchPerformed = EFalse;
-        }
-    else if ( retval == KErrNone )
-        {
-        if ( CPhCntSingleItemFetch::EFetchNewPSCall !=
-                singleItemFetchParam.Type() )
-            {
-            // Remove garbage from buffer.
-            PhCltUtils::RemoveInvalidChars(
-                *( singleItemFetchParam.String() ) );
-            }
-        iViewController.SetFetchContent( ptr );
-        }
-
-    // restore title pane
-    CleanupStack::PopAndDestroy( textTitlePane );
-    CleanupStack::PopAndDestroy( fetchContent );
-    // Reset the flag
-    // ETrue if a blocking dialog is currently being displayed.
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( EFalse );
-    iViewController.ExecuteCommandL(
-        EPhoneViewSetBlockingDialogStatus,
-        &booleanParam );
-  }
-
-// ---------------------------------------------------------
-// CPhoneSingleItemFetch::RunError
-// ---------------------------------------------------------
-//
-TInt CPhoneSingleItemFetch::RunError( TInt /*aError */ )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneSingleItemFetch::RunError( ) ");
-    Delete();
-    TPhoneCmdParamBoolean booleanParam;
-    booleanParam.SetBoolean( EFalse );
-    TRAP_IGNORE( iViewController.ExecuteCommandL(
-        EPhoneViewSetBlockingDialogStatus, &booleanParam ))
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CPhoneSingleItemFetch::DoCancel
-// ---------------------------------------------------------
-//
-void CPhoneSingleItemFetch::DoCancel()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneSingleItemFetch::DoCancel()" );
-    Delete();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneSingleItemFetch::~CPhoneSingleItemFetch()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-        "CPhoneSingleItemFetch::~CPhoneSingleItemFetch()" );
-    Delete();
-    }
-
-
-// ---------------------------------------------------------
-// CPhoneSingleItemFetch::OpenSingleItemFetchDialogL
-// ---------------------------------------------------------
-//
-void CPhoneSingleItemFetch::OpenSingleItemFetchDialogL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-        "CPhoneSingleItemFetch::OpenSingleItemFetchDialogL()" );
-   if( !IsActive() )
-        {
-        TPhoneCmdParamInteger* resourceId 
-            = static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-        iResourceId = resourceId->Integer();
-    
-        // Create the contact dialog
-        iSingleItemFetch = iContactController.CreateSingleItemFetchL();
-        
-        iViewController.SetSingleItemFetchType( iResourceId );
-        
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneSingleItemFetch::Delete
-// ---------------------------------------------------------
-//
-void CPhoneSingleItemFetch::Delete()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneSingleItemFetch::Delete()" );
-    if ( iSingleItemFetch )
-        {
-        iViewController.SetSingleItemFetchType( NULL );
-        
-        // Cancel request (FetchLD) by destroying the instance.
-        delete iSingleItemFetch;
-        iSingleItemFetch = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneSingleItemFetch::PhoneViewActivatedL
-// ---------------------------------------------------------
-//
-void CPhoneSingleItemFetch::PhoneViewActivatedL()
-    {
-    // Phone view is fully activated, now provide selection to states.
-    if ( iFetchPerformed )
-        {
-        // reset flag
-        iFetchPerformed = EFalse;
-        static_cast<MEikCommandObserver*>( iEikEnv.EikAppUi() )
-            ->ProcessCommandL( iButtonId );
-        }
-    }
--- a/phoneapp/phoneuiview/src/cphonestatuspane.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,730 +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: Implementation of CPhoneTextTitlePane class.
-*
-*/
-
-
-// INCLUDE FILES
-#include <aknappui.h>
-#include <eikspane.h>
-#include <akntitle.h>
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <aknnavilabel.h>
-#include <coemain.h>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <AknIndicatorContainer.h>
-#include <barsread.h>
-#include <phoneui.rsg>
-#include <featmgr.h>
-#include <AknIconUtils.h> 
-#include <AknUtils.h> 
-#include <aknlayoutscalable_avkon.cdl.h> 
-
-#include "phoneui.pan"
-#include "cphonestatuspane.h"
-#include "mphonestatuspaneobserver.h"
-#include "cphonerecoverysystem.h"
-
-#include "tphonecommandparam.h"
-#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparambitmap.h"
-#include "phonelogger.h"
-
-#include <stringloader.h>
-
-// CONSTANTS
-
-// MODULE DATA STRUCTURES
-
-/**
-*  It is title pane containing text.
-*/
-class CPhoneTextTitlePane : 
-    public CBase, 
-    private MPhoneStatusPaneObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CPhoneTextTitlePane* NewLC( 
-            CPhoneStatusPane& aStatusPaneManager,
-            TInt aTextResourceId );
-        
-        /**
-        * Destructor.
-        */
-        ~CPhoneTextTitlePane();
-
-    public: // Functions from base classes
-
-        /**
-        * From MPhoneStatusPaneObserver, handles activation of title pane.
-        */
-        void HandleTitlePaneActiveL( TBool aActive );
-        
-    private:
-        
-        /**
-        * C++ constructor.
-        */
-        CPhoneTextTitlePane(
-            CPhoneStatusPane& aStatusPaneManager,
-            TInt aTextResourceId );
-      
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-        
-    private:  // Data
-
-        // Status pane manager.
-        CPhoneStatusPane& iStatusPaneManager;
-        
-        // Text resource id.
-        const TInt iTextResourceId;
-
-    };
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::Instance
-// Initializes the singleton object
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-CPhoneStatusPane* CPhoneStatusPane::Instance()
-    {
-    CPhoneStatusPane* instance = static_cast<CPhoneStatusPane*> 
-        ( CCoeEnv::Static ( KUidPhoneStatusPaneHandlerSingleton ) );
-    
-    if( !instance )
-        {
-        TRAPD( err, instance = CPhoneStatusPane::NewL() );
-        if ( err )
-	        {
-	        Panic( EPhoneUtilsCouldNotCreateSingleton );	
-	        }
-        }
-    return instance;
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::CPhoneStatusPane
-// ---------------------------------------------------------
-//
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneStatusPane::CPhoneStatusPane( ) :
-    CCoeStatic( KUidPhoneStatusPaneHandlerSingleton, EThread ),
-    iTitlePaneList( NULL ),
-    iStatusPane( NULL ),
-    iTitlePane( NULL ),
-    iTitlePanePicture( NULL ),
-    iTitlePanePictureMask( NULL ),
-    iNaviPane( NULL ),
-    iNaviDecorator( NULL )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CPhoneStatusPane::ConstructL()
-    {
-    iTitlePaneList = new ( ELeave ) CArrayFixFlat< THandlerTag > 
-        ( KPhoneTitlePaneListGranularity );
-
-    // Get pointer for title pane
-    iStatusPane = static_cast<CAknAppUi*>( CEikonEnv::Static()->
-        EikAppUi() )->StatusPane();
-    iTitlePane = static_cast<CAknTitlePane*>( iStatusPane->ControlL( 
-        TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    iTitlePane->SetNumberOfVisibleTextRows( 1 );
-    
-    // Initialize display of title pane information
-    iTitlePaneTextIsDisplayed = ETrue;
-
-    // Get pointer for navigation pane
-    iNaviPane = static_cast<CAknNavigationControlContainer*>
-        ( iStatusPane->ControlL(TUid::Uid(EEikStatusPaneUidNavi)) );
-
-    if ( !FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) )
-        {
-        // Construct navi pane decorator
-        iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC() );
-        iNaviPane->PushL( *iNaviDecorator );
-        }
-    
-    // Get recovery Id from recovery system
-    iUpdateTitlePaneRecoveryId = CPhoneRecoverySystem::Instance()->AddL( 
-        TCallBack( UpdateTitlePaneCallBackL, this ), 
-        CTeleRecoverySystem::EPhonePriorityStandard,
-        CTeleRecoverySystem::EPhoneStateIdle );
-    }
-
-// Constructor
-CPhoneStatusPane* CPhoneStatusPane::NewL()
-    {
-    CPhoneStatusPane* self = new (ELeave) CPhoneStatusPane();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// Destructor
-CPhoneStatusPane::~CPhoneStatusPane()
-    {
-    if ( iTitlePaneList )
-        {
-        iTitlePaneList->Reset();
-        }
-    delete iTitlePaneList;
-    
-    iStatusPane = NULL;
-    iTitlePane = NULL;
-    
-    if( iTitlePanePicture )
-        {
-        delete iTitlePanePicture;
-        iTitlePanePicture = NULL;
-        }
-    if( iTitlePanePictureMask )
-        {
-        delete iTitlePanePictureMask;
-        iTitlePanePictureMask = NULL;
-        }
-    
-    iNaviPane = NULL;
-    
-    if ( iNaviDecorator )
-          {
-          delete iNaviDecorator;
-          iNaviDecorator = NULL;
-          }
-     
-    CPhoneRecoverySystem::Remove( iUpdateTitlePaneRecoveryId );
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::UpdateTitlePane
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::UpdateTitlePane()
-    {
-    CPhoneRecoverySystem::Instance()->RecoverNow( 
-        iUpdateTitlePaneRecoveryId,
-        CTeleRecoverySystem::EPhonePriorityStandard );
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::UpdateTitlePaneCallBackL
-// ---------------------------------------------------------
-//
-TInt CPhoneStatusPane::UpdateTitlePaneCallBackL( TAny* aAny )
-    {
-    reinterpret_cast<CPhoneStatusPane*>( aAny )->DoUpdateTitlePaneL();
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::DoUpdateTitlePaneL
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::DoUpdateTitlePaneL()
-    {
-    if ( iTitlePaneTextIsDisplayed )
-        {
-        iTitlePane->SetTextL( iTitleText );
-        }
-    else
-        {
-        // Title pane takes ownership of the picture
-        RenderBitmapOnTitlePaneL();
-        }
-   }
-
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::RenderBitmapOnTitlePaneL
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::RenderBitmapOnTitlePaneL()
-    {
-    if( !iTitlePanePicture )
-        {
-        return;
-        }
-
-    TSize size;
-
-    TRect titlePaneRect;
-    AknLayoutUtils::LayoutMetricsRect(
-        AknLayoutUtils::ETitlePane, titlePaneRect );
-
-    TAknLayoutRect oplogoLayout;
-
-    // stacon
-    oplogoLayout.LayoutRect( titlePaneRect,
-        AknLayoutScalable_Avkon::title_pane_stacon_g2(0).LayoutLine() );
-
-    size = oplogoLayout.Rect().Size();
-
-    // CAknIcon takes ownership of bitmaps.
-    CFbsBitmap* dupMain = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( dupMain );
-    User::LeaveIfError(
-        dupMain->Duplicate( iTitlePanePicture->Handle() ) );
-
-    CFbsBitmap* dupMask = NULL;
-    if ( iTitlePanePictureMask )
-        {
-        dupMask = new ( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( dupMask );
-        User::LeaveIfError(
-            dupMask->Duplicate( iTitlePanePictureMask->Handle() ) );
-        }
-
-    //bitmapIcon is not pushed to cleanupstack, ownership
-    //is transferred later
-    CAknIcon* bitmapIcon = CAknIcon::NewL();
-    bitmapIcon->SetMask( dupMask ); // ownership transferred
-    if ( iTitlePanePictureMask )
-        {
-        CleanupStack::Pop( dupMask );
-        }
-
-    bitmapIcon->SetBitmap( dupMain ); // ownership transferred
-    CleanupStack::Pop( dupMain );
-
-    //ownership of bitmapIcon is transferred
-    CAknIcon* scalableIcon = AknIconUtils::CreateIconL( bitmapIcon );
-    CleanupStack::PushL( scalableIcon );
-
-    AknIconUtils::SetSize( scalableIcon->Bitmap(), size,
-                           EAspectRatioPreservedAndUnusedSpaceRemoved );
-    AknIconUtils::SetSize( scalableIcon->Mask(), size,
-                           EAspectRatioPreservedAndUnusedSpaceRemoved );
-
-    // Title pane takes ownership of icons.
-    CFbsBitmap* bitmap = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( bitmap );
-    User::LeaveIfError( bitmap->Duplicate( scalableIcon->Bitmap()->Handle() ) );
-
-    // Check if icon has mask
-    CFbsBitmap* bitmapMask = NULL;
-    if ( scalableIcon->Mask() )
-        {
-        bitmapMask = new ( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( bitmapMask );
-        User::LeaveIfError(
-            bitmapMask->Duplicate( scalableIcon->Mask()->Handle() ) );
-        }
-
-    // Set the icon in title pane...
-    iTitlePane->SetPicture( bitmap, bitmapMask );
-
-    if ( bitmapMask )
-        {
-        CleanupStack::Pop( bitmapMask );
-        }
-    CleanupStack::Pop( bitmap );
-    CleanupStack::PopAndDestroy( scalableIcon );
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::SetTitlePaneContentL
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::SetTitlePaneContentL( const TDesC& aContent )
-    {
-    iTitleText = aContent;
-    iTitlePane->SetTextL( iTitleText );
-    iTitlePaneTextIsDisplayed = ETrue;
-   }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::SetTitlePanePicture
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::SetTitlePanePictureL( 
-    TPhoneCommandParam* aCommandParam )
-    {
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBitmap )
-        {
-        TPhoneCmdParamBitmap* bitmapParam = static_cast<TPhoneCmdParamBitmap*>(
-            aCommandParam );
-        
-        delete iTitlePanePicture;
-        iTitlePanePicture = NULL;
-        iTitlePanePicture = bitmapParam->Bitmap();
-        
-        delete iTitlePanePictureMask;
-        iTitlePanePictureMask = NULL;
-        iTitlePanePictureMask = bitmapParam->MaskBitmap();
-        
-        RenderBitmapOnTitlePaneL();
-        iTitlePaneTextIsDisplayed = EFalse;
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::IsVisible
-// ---------------------------------------------------------
-//
-TBool CPhoneStatusPane::IsVisible() const
-    {
-    return iStatusPane->IsVisible();
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::TitlePane
-// ---------------------------------------------------------
-//
-CAknTitlePane& CPhoneStatusPane::TitlePane() const
-    {
-    return *iTitlePane;
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::StatusPane
-// ---------------------------------------------------------
-//
-CEikStatusPane& CPhoneStatusPane::StatusPane() const
-    {
-    return *iStatusPane;
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::NaviPane
-// ---------------------------------------------------------
-//
-CAknNavigationControlContainer& CPhoneStatusPane::NaviPane() const
-    {
-    return *iNaviPane;
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::NaviDecorator
-// ---------------------------------------------------------
-//
-CAknNavigationDecorator& CPhoneStatusPane::NaviDecorator() const
-    {
-    return *iNaviDecorator;
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::AddTitlePaneHandlerL
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::AddTitlePaneHandlerL( 
-    MPhoneStatusPaneObserver& aObserver )
-    {
-    THandlerTag titleTag;
-    titleTag.iObserver = &aObserver;
-    titleTag.iLayer = -1; //-1 means it's not reserved
-    iTitlePaneList->AppendL( titleTag );
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::ReserveTitlePane
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::ReserveTitlePane( 
-    MPhoneStatusPaneObserver& aObserver )
-    {
-    //notify the inactive of the topmost handler
-    THandlerTag* topmostHandler = FindTopmostTitlePaneHandler();
-    if ( topmostHandler && 
-        topmostHandler->iObserver != &aObserver )
-        {
-        NotifyHandlerOnActivation( *topmostHandler, EFalse );
-        }
-
-    THandlerTag* titleTag = FindTitlePaneHandler( aObserver );
-    if ( titleTag )
-        {
-        if ( topmostHandler )
-            {
-            titleTag->iLayer = topmostHandler->iLayer+1;
-            }
-        else
-            {
-            titleTag->iLayer = 0; // 0 is the lowest one
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::ReleaseTitlePane
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::ReleaseTitlePane( 
-    MPhoneStatusPaneObserver& aObserver )
-    {
-    THandlerTag* titleTag = FindTitlePaneHandler( aObserver );
-    if ( titleTag )
-        {
-        titleTag->iLayer = -1; //put it to the unreserved status
-        THandlerTag* topmostHandler = FindTopmostTitlePaneHandler();
-        if ( topmostHandler )
-            {
-            NotifyHandlerOnActivation( *topmostHandler, ETrue );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::RemoveTitlePaneHandler
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::RemoveTitlePaneHandler( 
-    MPhoneStatusPaneObserver& aObserver )
-    {
-    TInt count = iTitlePaneList->Count();
-    for ( TInt i = 0; i<count; i++ ) 
-        {
-        THandlerTag& handler = iTitlePaneList->At( i );
-        if ( &aObserver == handler.iObserver )
-            {
-            iTitlePaneList->Delete( i );
-            break;
-            }
-        }
-    THandlerTag* topmostHandler = FindTopmostTitlePaneHandler();
-    if ( topmostHandler )
-        {
-        NotifyHandlerOnActivation( *topmostHandler, ETrue );
-        }
-    return;
-    }
-
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::IsTitlePaneVisible
-// ---------------------------------------------------------
-//
-TBool CPhoneStatusPane::IsTitlePaneVisible( 
-    MPhoneStatusPaneObserver& aObserver ) const
-    {
-    THandlerTag* titleTag = FindTitlePaneHandler( aObserver );
-    if ( titleTag )
-        {
-        return ( titleTag->iLayer != -1 ) && 
-            ( titleTag->iLayer == LargestLayerInTitlePaneList() );
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::CreateTextTitlePaneLC
-// ---------------------------------------------------------
-//
-CBase* CPhoneStatusPane::CreateTextTitlePaneLC( 
-    TInt aTextResourceId )
-    {
-    return CPhoneTextTitlePane::NewLC( *this, aTextResourceId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneStatusPane::GetShape
-// -----------------------------------------------------------------------------
-//
-void CPhoneStatusPane::GetShape( TRegion& aRegion )
-    {
-    TRAPD( err, iStatusPane->GetShapeL( aRegion, ETrue, ETrue ) );
-    if ( err != KErrNone )
-        {
-        aRegion.Clear();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::LargestLayerInTitlePaneList
-// ---------------------------------------------------------
-//
-TInt CPhoneStatusPane::LargestLayerInTitlePaneList() const
-    {
-    THandlerTag* topmostHandler = FindTopmostTitlePaneHandler();
-    if ( topmostHandler )
-        {
-        return topmostHandler->iLayer;
-        }
-    return -1; //-1 means no item in the list yet
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::FindTopmostTitlePaneHandler
-// ---------------------------------------------------------
-//
-THandlerTag* CPhoneStatusPane::FindTopmostTitlePaneHandler() const
-    {
-    TInt largest = -1;
-    THandlerTag* handler = NULL;
-    TInt count = iTitlePaneList->Count();
-    for ( TInt i = 0; i<count; i++ )
-        {
-        THandlerTag& currentHandler = iTitlePaneList->At( i );
-        if ( largest < currentHandler.iLayer )
-            {
-            largest = currentHandler.iLayer;
-            handler = &currentHandler;
-            }
-        }
-    return handler;
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::FindTitlePaneHandler
-// ---------------------------------------------------------
-//
-THandlerTag* CPhoneStatusPane::FindTitlePaneHandler( 
-    MPhoneStatusPaneObserver& aObserver ) const
-    {
-    TInt count = iTitlePaneList->Count();
-    for ( TInt i = 0; i<count; i++ ) 
-        {
-        THandlerTag* handler = &iTitlePaneList->At( i );
-        if ( &aObserver == handler->iObserver )
-            {
-            return handler;
-            }
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::NotifyHandlerOnActivation
-// ---------------------------------------------------------
-//
-void CPhoneStatusPane::NotifyHandlerOnActivation( 
-    THandlerTag& aHandlerTag,
-    TBool aActive )
-    {
-    TRAP_IGNORE( aHandlerTag.iObserver->HandleTitlePaneActiveL( aActive ) );
-    }
-
-// ---------------------------------------------------------
-// CPhoneStatusPane::CreateEmptyIndicatorContainerL
-// ---------------------------------------------------------
-//
-CAknIndicatorContainer* CPhoneStatusPane::CreateEmptyIndicatorContainerL()
-    {
-    CCoeControl* container = StatusPane().
-    ContainerControlL( TUid::Uid( EEikStatusPaneUidIndic ) );
-    
-    CAknIndicatorContainer* indicatorContainer =
-         new (ELeave) CAknIndicatorContainer(
-             CAknIndicatorContainer::ENaviPaneEditorIndicators );
- 
-     CleanupStack::PushL( indicatorContainer );
-     
-     indicatorContainer->SetContainerWindowL( *container );
- 
-     TResourceReader reader;
-     CCoeEnv::Static()->CreateResourceReaderLC( reader,
-             R_PHONEUI_EMPTY_INDICATORS ); 
-     indicatorContainer->ConstructFromResourceL( reader );
- 
-     CleanupStack::PopAndDestroy();  // resource reader
-     
-     TRect controlRect = StatusPane().PaneRectL( TUid::Uid( EEikStatusPaneUidIndic ) );
-     indicatorContainer->SetRect( TRect( controlRect.Size() ) );
-     indicatorContainer->ActivateL();
- 
-     CleanupStack::Pop( indicatorContainer ); // indicatorContainer
- 
-     return indicatorContainer;
-     }
-
-//
-// IMPLEMENTATION OF CPHONETEXTTITLEPANE 
-//
-// ---------------------------------------------------------
-// CPhoneTextTitlePane::NewLC
-// ---------------------------------------------------------
-//
-CPhoneTextTitlePane* CPhoneTextTitlePane::NewLC( 
-    CPhoneStatusPane& aStatusPaneManager,
-    TInt aTextResourceId )
-    {
-    CPhoneTextTitlePane* self = 
-        new (ELeave) CPhoneTextTitlePane(
-            aStatusPaneManager,
-            aTextResourceId );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-
-    return self;
-    }
-
-// Destructor      
-CPhoneTextTitlePane::~CPhoneTextTitlePane()
-    {
-    iStatusPaneManager.ReleaseTitlePane( *this );
-    iStatusPaneManager.RemoveTitlePaneHandler( *this );
-    }
-
-// ---------------------------------------------------------
-// CPhoneTextTitlePane::HandleTitlePaneActiveL
-// ---------------------------------------------------------
-//
-void CPhoneTextTitlePane::HandleTitlePaneActiveL( 
-    TBool /*aActive*/ )
-    {
-    if ( iStatusPaneManager.IsTitlePaneVisible( *this ) )
-        {
-        HBufC* text = StringLoader::LoadL( iTextResourceId );
-        iStatusPaneManager.TitlePane().SetText( text );
-        }
-    }
-        
-// -----------------------------------------------------------------------------
-// CPhoneTextTitlePane::CPhoneTextTitlePane
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneTextTitlePane::CPhoneTextTitlePane(
-    CPhoneStatusPane& aStatusPaneManager,
-    TInt aTextResourceId ) :
-    iStatusPaneManager( aStatusPaneManager ),
-    iTextResourceId( aTextResourceId )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneTextTitlePane::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneTextTitlePane::ConstructL()
-    {
-    iStatusPaneManager.AddTitlePaneHandlerL( *this );
-    iStatusPaneManager.ReserveTitlePane( *this );
-
-    HandleTitlePaneActiveL( ETrue );
-    }  
-
-//  End of File  
--- a/phoneapp/phoneuiview/src/cphonetextquery.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CPhoneTextQuery class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphonetextquery.h"
-#include "phoneui.hrh"
-#include "phonelogger.h"
-#include "phoneconstants.h"
-
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneTextQuery::CPhoneTextQuery( 
-    MEikCommandObserver& aCommandObserver, 
-    TDes& aDataText,
-    TInt aDefaultCbaResourceId,
-    TInt aContentCbaResourceId,
-    TBool aSendKeyEnabled,
-    TInt aEikBidOkCmd ) :
-    CAknTextQueryDialog( aDataText, CAknQueryDialog::ENoTone ),
-    iCommandObserver( aCommandObserver ),
-    iDefaultCbaResourceId( aDefaultCbaResourceId ),
-    iContentCbaResourceId( aContentCbaResourceId ),
-    iSendKeyHandlingEnabled( aSendKeyEnabled ),
-    iEikBidOkCmd( aEikBidOkCmd )
-    {
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-// 
-CPhoneTextQuery::~CPhoneTextQuery()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneTextQuery::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CPhoneTextQuery::OfferKeyEventL( 
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType )
-    {
-    TKeyResponse response ( EKeyWasConsumed );
-    // Send or Ok key down event
-    if ( aKeyEvent.iScanCode == EStdKeyYes && aType == EEventKeyDown )  
-        {
-        // Send key enabled
-        if ( iSendKeyHandlingEnabled )
-             {    
-             OkToExitL( EPhoneInCallCmdNewCallCall );
-             }
-        }
-    else if ( aType == EEventKey && 
-            ( aKeyEvent.iScanCode == EStdKeyNo || aKeyEvent.iCode == EKeyNo ) )
-		{
-		OkToExitL( EPhoneCmdEnd );
-		}
-    else if ( aKeyEvent.iCode == EKeyEnter && aType == EEventKey )
-        {
-        TInt commandID = FetchCommandFromCba();
-        if ( commandID )
-            {
-            TryExitL( commandID );
-            }
-        } 
-	else
-		{
-        UpdateSoftkeysL();		
-	    response = CAknTextQueryDialog::OfferKeyEventL( aKeyEvent, aType );		
-		}
-    return response;
-    }
-
-// ---------------------------------------------------------
-// CPhoneTextQuery::OkToExitL
-// ---------------------------------------------------------
-//
-TBool CPhoneTextQuery::OkToExitL( TInt aCommand )
-    {
-    // Let the command observer process the command
-    if ( aCommand == EEikBidOk )
-        {
-        iCommandObserver.ProcessCommandL( iEikBidOkCmd );
-        }
-    else
-        {
-        iCommandObserver.ProcessCommandL( aCommand );
-        }        
-
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CPhoneTextQuery::PostLayoutDynInitL
-// ---------------------------------------------------------
-//
-void CPhoneTextQuery::PostLayoutDynInitL()
-    {
-    CAknQueryControl* control =
-        static_cast< CAknQueryControl* >( Control( EGeneralQuery ) );    
-    
-    control->SetTextEntryLength( KPhoneNumberEntryBufferSize );
-    CAknTextQueryDialog::PostLayoutDynInitL();
-    UpdateSoftkeysL();
-    }
-
-// ---------------------------------------------------------
-// CPhoneTextQuery::UpdateSoftkeysL
-// ---------------------------------------------------------
-//
-void CPhoneTextQuery::UpdateSoftkeysL()
-    {
-    CAknQueryControl* control =
-        static_cast< CAknQueryControl* >( Control( EGeneralQuery ) );
-        
-    CEikButtonGroupContainer& buttonGroup = ButtonGroupContainer();
-
-    if ( control->GetTextLength() )
-        {
-        // There is text in cba; we can update softkeys to ok - cancel
-        buttonGroup.SetCommandSetL( iContentCbaResourceId );
-        MakeLeftSoftkeyVisible( ETrue );
-        }
-    else 
-        {
-        // There is no text in cba; update softkeys to find - cancel
-        buttonGroup.SetCommandSetL(  iDefaultCbaResourceId );
-        MakeLeftSoftkeyVisible( ETrue );
-        }
-
-    buttonGroup.DrawDeferred();    
-    }
-    
-// ---------------------------------------------------------
-// CPhoneTextQuery::GetContent
-// ---------------------------------------------------------
-//
-void CPhoneTextQuery::GetContent( TDes& aText )
-    {
-    CAknQueryControl* control =
-        static_cast< CAknQueryControl* >( Control( EGeneralQuery ) );
-
-    control->GetText( aText );        
-    }
-
-// ---------------------------------------------------------
-// CPhoneTextQuery::FetchCommandFromCba
-// ---------------------------------------------------------
-//
-TInt CPhoneTextQuery::FetchCommandFromCba()
-    {
-    TInt commandID = 0;
-    CEikCba* cba = NULL;
-    cba = MopGetObject( cba );
-
-    if ( cba )
-        {
-        commandID = cba->CommandId( 0 );
-        }
-    
-    return commandID;
-    }
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphonetoolbarcontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,413 +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:  Handles the updating of toolbar buttons
-*
-*/
-
-
-#include <eikappui.h>
-#include <eikenv.h>
-#include <eikapp.h>
-#include <eikcolib.h>
-#include <gulicon.h>
-#include <akntoolbar.h>
-#include <aknbutton.h>
-#include <StringLoader.h>
-#include <phoneui.rsg>
-#include <pevirtualengine.h>
-#include <data_caging_path_literals.hrh>
-#include <phoneappcommands.hrh>
-#include <phoneui.mbg>
-
-#include "cphonetoolbarcontroller.h"
-#include "PhoneUI.hrh"
-#include "PhoneRssBase.h"
-#include "TPhoneCmdParamInteger.h"
-#include "TPhoneCmdParamBoolean.h"
-#include "PhoneLogger.h"
-
-
-_LIT ( KPhoneMifFileName, "phoneui.mif" );
-_LIT( KToolbarButtonEmptyStr, "" );
-
-const TInt KNumberOfButtons = 5;
-struct SPhoneToolbarButton
-    {
-    TInt iIconIndex;
-    TInt iMaskIndex;
-    TInt iCommandId;
-    };
-
-const SPhoneToolbarButton bArray[KNumberOfButtons] =
-        { 
-            {  EMbmPhoneuiQgn_indi_dialer_contacts,
-               EMbmPhoneuiQgn_indi_dialer_contacts_mask,
-               EPhoneInCallCmdActivatEPhonebook
-            },
-            {  EMbmPhoneuiQgn_indi_tb_microphone_mute,
-	           EMbmPhoneuiQgn_indi_tb_microphone_mute_mask,
-	           EPhoneInCallCmdMute
-	        }, 
-	        {  EMbmPhoneuiQgn_indi_tb_microphone_unmute,
-	           EMbmPhoneuiQgn_indi_tb_microphone_unmute_mask,
-	           EPhoneInCallCmdUnmute
-	        },
-	        {  EMbmPhoneuiQgn_indi_tb_ihf_on,
-	           EMbmPhoneuiQgn_indi_tb_ihf_on_mask,
-	           EPhoneInCallCmdActivateIhf
-	        },
-	        {  EMbmPhoneuiQgn_indi_tb_handset,
-	           EMbmPhoneuiQgn_indi_tb_handset_mask,
-	           EPhoneInCallCmdHandset
-	        }
-        }; 
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneToolbarController::CPhoneToolbarController( CCoeEnv& aCoeEnv ):
-    iCoeEnv ( aCoeEnv )   
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhoneToolbarController::ConstructL()
-    {
-    if ( !iToolbar )
-        {
-        iToolbar = CAknToolbar::NewL( R_PHONEUI_TOOLBAR );
-        }
-  
-    CEikAppUiFactory* appUiFactory =
-        static_cast<CEikAppUiFactory*>( CEikonEnv::Static()->AppUiFactory() );  
-    appUiFactory->SetViewFixedToolbar( iToolbar );
-    
-    if( iToolbar )
-        {
-        iToolbar->SetToolbarObserver( 
-                        static_cast<MAknToolbarObserver*>( this ));  
-        iToolbar->SetWithSliding( EFalse );
-        iToolbar->SetCloseOnAllCommands( EFalse );
-        iToolbar->SetFocusing( EFalse );
-        
-        CAknButton* button( NULL );
-
-        for( TInt i = 0; i < KNumberOfButtons; i++ )
-            {
-            TAknsItemID skinId = GetSkinIdL( bArray[i].iCommandId );
-            // Load tooltip text.
-            HBufC* tooltipText;
-            GetTooltipTextL ( bArray[i].iCommandId, tooltipText );  
-            CleanupStack::PushL( tooltipText );      
-         
-            button = CreateButtonLC(
-                bArray[i].iIconIndex, 
-                bArray[i].iMaskIndex, 
-                *tooltipText, 
-                skinId,
-                bArray[i].iCommandId );
-            // Takes ownership of the button                    
-            iToolbar->AddItemL( button, EAknCtButton, bArray[i].iCommandId,0 );
-           
-            CleanupStack::Pop( button );
-            CleanupStack::PopAndDestroy( tooltipText );
-            }
-        TRAP_IGNORE(iToolbar->DisableToolbarL( ETrue ));
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CreateButtonL
-// ---------------------------------------------------------------------------
-//
-CAknButton* CPhoneToolbarController::CreateButtonLC( 
-    TInt aNormalIconId,
-    TInt aNormalMaskId,
-    const TDesC& aTooltipText,
-    const TAknsItemID& aSkinIconId,
-    TInt /*aCommand*/ )
-    {
-    TFileName mifPath( KDriveZ );
-    mifPath.Append( KDC_APP_BITMAP_DIR );
-    mifPath.Append( KPhoneMifFileName );
-
-   
-    CAknButton* button = CAknButton::NewLC( 
-        mifPath,
-        aNormalIconId,
-        aNormalMaskId,
-        -1, -1, // dimmed
-        -1, -1, // pressed
-        -1, -1, // hover
-        KToolbarButtonEmptyStr(),
-        aTooltipText, // help
-        0, // flags
-        0, // state flags
-        aSkinIconId );
-                                     
-    button->SetFocusing( EFalse );
-    button->SetBackground( iToolbar );
-
-    return button;
-    }
-    
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneToolbarController* CPhoneToolbarController::NewL( CCoeEnv& aCoeEnv )
-    {
-    CPhoneToolbarController* self =  new (ELeave) CPhoneToolbarController( aCoeEnv);
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneToolbarController::~CPhoneToolbarController()
-    {
-    delete iToolbar;
-    }
-
-// ---------------------------------------------------------------------------
-// UpdateToolbar
-// ---------------------------------------------------------------------------
-//
-void CPhoneToolbarController::UpdateToolbar()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneToolbarController::UpdateToolbar()" );
-    // Show 'Mute'/'Unmute' icon
-    iToolbar->HideItem( EPhoneInCallCmdMute, iMuteFlag, EFalse );
-    iToolbar->HideItem( EPhoneInCallCmdUnmute, !iMuteFlag, ETrue );   
-
-    // Show 'Handset'/'Ihf' icon
-    iToolbar->HideItem( EPhoneInCallCmdActivateIhf, iIhfFlag, EFalse );
-    iToolbar->HideItem( EPhoneInCallCmdHandset, !iIhfFlag, ETrue );
-    }   
-
-// ---------------------------------------------------------------------------
-// OfferToolbarEventL
-// ---------------------------------------------------------------------------
-//
-void CPhoneToolbarController::OfferToolbarEventL( TInt aCommand )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneToolbarController::OfferToolbarEventL()" );
-    // Forward pressed toolbar button to the framework 
-    // so that we can handle it in active state            
-    static_cast<MEikCommandObserver*>( CEikonEnv::Static()->EikAppUi() )
-       ->ProcessCommandL( aCommand );            
-    } 
-   
-// ---------------------------------------------------------------------------
-// DynInitToolbarL
-// ---------------------------------------------------------------------------
-//
-void CPhoneToolbarController::DynInitToolbarL( TInt aResourceId, 
-                                              CAknToolbar* /*aToolbar*/ )
-    { 
-    if ( aResourceId == R_PHONEUI_TOOLBAR )
-        {
-        UpdateToolbar();
-        }     
-    }
-
-// ---------------------------------------------------------------------------
-// GetTooltipText
-//
-// Tooltip texts for toolbar buttons
-// ---------------------------------------------------------------------------
-//
-void  CPhoneToolbarController::GetTooltipTextL( TInt aCommandId, HBufC*& aText ) 
-    {
-    TInt resourceId = 0;
-    switch( aCommandId )
-        {                     
-        case EPhoneInCallCmdActivatEPhonebook:
-            resourceId = R_PHONEUI_TOOLTIP_CONTACTS;
-            break; 
-            
-        case EPhoneInCallCmdMute:
-            resourceId = R_PHONEUI_TOOLTIP_MUTE;
-            break;
-            
-        case EPhoneInCallCmdActivateIhf:
-            resourceId = R_PHONEUI_TOOLTIP_LOUDSPEAKER;
-            break;
-            
-        case EPhoneInCallCmdUnmute:
-            resourceId = R_PHONEUI_TOOLTIP_UNMUTE;
-            break;
-            
-        case EPhoneInCallCmdHandset:
-            resourceId = R_PHONEUI_TOOLTIP_HANDSET;
-            break;
-            
-        default:
-            aText = KNullDesC().Alloc();
-            break;
-        }
-        
-    if( resourceId )
-        {
-        aText = StringLoader::LoadL( resourceId, &iCoeEnv );
-        }
-        
-    }
-
-// ---------------------------------------------------------------------------
-TAknsItemID CPhoneToolbarController::GetSkinIdL( TInt aCommandId ) 
-    {
-    TAknsItemID skinId = KAknsIIDNone;
-    switch( aCommandId )
-        {                       
-        case EPhoneInCallCmdActivatEPhonebook:
-            skinId = KAknsIIDQgnIndiDialerContacts;
-            break; 
-        case EPhoneInCallCmdMute:
-            skinId = KAknsIIDQgnIndiButtonMuteMic;
-            break;
-        case EPhoneInCallCmdActivateIhf:
-            skinId = KAknsIIDQgnIndiButtonLoudspeaker;
-            break;
-        case EPhoneInCallCmdUnmute:
-            skinId = KAknsIIDQgnIndiButtonUnmuteMic;
-            break;
-        case EPhoneInCallCmdHandset:
-            skinId = KAknsIIDQgnIndiButtonHandset;
-            break;
-        default:
-            skinId = KAknsIIDNone;
-            break;
-        }
-    return skinId;        
-    }
-// ShowToolbar
-//
-// ---------------------------------------------------------------------------
-//
-void CPhoneToolbarController::ShowToolbar()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneToolbarController::ShowToolbar()" );
-    if ( iToolbar )
-        {
-        if ( iToolbar->IsToolbarDisabled() )
-            {
-            TRAP_IGNORE(iToolbar->DisableToolbarL( EFalse ));
-            }
-        UpdateToolbar();
-        iToolbar->HideItemsAndDrawOnlyBackground( EFalse );
-        iToolbar->SetToolbarVisibility( ETrue, EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// HideToolbar
-//
-// ---------------------------------------------------------------------------
-//
-void CPhoneToolbarController::HideToolbar()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneToolbarController::HideToolbar()" );
-    if ( iToolbar )
-        {
-        if( iToolbar->IsShown() )
-            {
-            iToolbar->HideItemsAndDrawOnlyBackground( ETrue );
-            }
-        else if ( iToolbar->IsToolbarDisabled() )
-            {
-            TRAP_IGNORE(iToolbar->DisableToolbarL( EFalse ));
-            iToolbar->HideItemsAndDrawOnlyBackground( ETrue );
-            iToolbar->SetToolbarVisibility( ETrue, EFalse );
-            }
-        }        
-    }
-
-// ---------------------------------------------------------
-// CPhoneToolbarController::SetMuteFlag
-// ---------------------------------------------------------
-//
-void CPhoneToolbarController::SetMuteFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneToolbarController::SetMuteFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* muteFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iMuteFlag = muteFlag->Boolean();
-        UpdateToolbar();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneToolbarController::SetIhfFlag
-// ---------------------------------------------------------
-//
-void CPhoneToolbarController::SetIhfFlag( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneToolbarController::SetIhfFlag()" );
-    // Check is the given parameter valid
-    if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* ihfFlag = 
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-        iIhfFlag = ihfFlag->Boolean();
-        UpdateToolbar();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneToolbarController::DimToolbar
-// ---------------------------------------------------------
-//
-void CPhoneToolbarController::DimToolbar( const TBool aDimmed )
-    {
- //   __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneToolbarController::DimToolbar()" );
-
-    // Dim/Undim all toolbar buttons 
-    iToolbar->SetItemDimmed( EPhoneInCallCmdMute, aDimmed, ETrue );
-    iToolbar->SetItemDimmed( EPhoneInCallCmdUnmute, aDimmed, ETrue );
-    iToolbar->SetItemDimmed( EPhoneInCallCmdActivatEPhonebook, aDimmed, ETrue );
-    iToolbar->SetItemDimmed( EPhoneInCallCmdActivateIhf, aDimmed, ETrue );
-    iToolbar->SetItemDimmed( EPhoneInCallCmdHandset, aDimmed, ETrue );        
-    }
-
-// ---------------------------------------------------------
-// CPhoneToolbarController::SetToolbarButtonDimmed
-// ---------------------------------------------------------
-//
-void CPhoneToolbarController::SetToolbarButtonDimmed( const TInt aCommandId, const TBool aDimmed )
-    {
- // __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneToolbarController::SetToolbarButtonDimmed()" );
-
-    // Dim toolbar button 
-    iToolbar->SetItemDimmed( aCommandId, aDimmed, ETrue );
-    }
-
-// END
-
--- a/phoneapp/phoneuiview/src/cphoneuidisablednote.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CPhoneUIDisabledNote class.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphoneuidisablednote.h"
-#include "aknnotedialog.h"
-#include "phoneui.hrh"
-#include <featmgr.h>
-#include <aknnotedialog.h>
-#include <eikdialg.h>
-#include <aknnotecontrol.h>
-
-
-// ================= MEMBER FUNCTIONS =======================
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CPhoneUIDisabledNote::CPhoneUIDisabledNote( CEikDialog** aSelfPtr, MEikCommandObserver& aCommandObserver )
-    : CPhoneNote( aSelfPtr, aCommandObserver ) 
-    {
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-// 
-CPhoneUIDisabledNote::~CPhoneUIDisabledNote()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIDisabledNote::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CPhoneUIDisabledNote::OfferKeyEventL( 
-    const TKeyEvent& aKeyEvent,
-    TEventCode /*aType*/ )
-    {
-    // Let key events be handled by the application
-	return EKeyWasNotConsumed;
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIDisabledNote::OkToExitL
-// ---------------------------------------------------------
-//
-TBool CPhoneUIDisabledNote::OkToExitL( TInt aCommand )
-    {
-    // Let the command observer process the command
-    iCommandObserver.ProcessCommandL( aCommand );
-
-    return EFalse; // so that the dialog will not disappear
-    }
-    
-// ---------------------------------------------------------
-// CPhoneUIDisabledNote::SetNoteType
-// ---------------------------------------------------------
-//
-void CPhoneUIDisabledNote::SetNoteType( TPhoneNoteType aNoteType )
-    {
-    iNoteType = aNoteType;
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIDisabledNote::NoteType
-// ---------------------------------------------------------
-//
-TPhoneNoteType CPhoneUIDisabledNote::NoteType()
-    {
-    return iNoteType;
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIDisabledNote::HandlePointerEventL
-// ---------------------------------------------------------
-//
-void CPhoneUIDisabledNote::HandlePointerEventL( 
-    const TPointerEvent& /* aPointerEvent */ )
-    {
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIDisabledNote::UpdateSoftkeysL
-// ---------------------------------------------------------
-//
-void CPhoneUIDisabledNote::UpdateSoftkeysL( TInt aResourceId )
-    {
-    CEikButtonGroupContainer& buttonGroup = ButtonGroupContainer();
-    buttonGroup.SetCommandSetL( aResourceId );
-    
-    buttonGroup.DrawDeferred();
-    }
-
-// ---------------------------------------------------------
-// CPhoneUIDisabledNote::SetSizeAndPosition
-// ---------------------------------------------------------
-//
-void CPhoneUIDisabledNote::SetSizeAndPosition( const TSize& aSize )
-    {
-    CAknNoteDialog::SetSizeAndPosition( aSize );
-    
-	// Override the original layout position to prevent note to hide the call bubble
-	// Will be changed when layout is available	
-    TRect clientRect = CEikonEnv::Static()->EikAppUi()->ClientRect();
-    TRect noteRect;
-    TInt leftMargin = (TInt) ( (clientRect.Width() - aSize.iWidth) / 2);    // Set note to center
-
-    noteRect.SetRect( leftMargin,                // iTl.iX
-            clientRect.iBr.iY - aSize.iHeight,   // iTl.iY
-            leftMargin + aSize.iWidth,           // iBr.iX
-            clientRect.iBr.iY );                 // iBr.iY
-    
-    SetRect( noteRect );
-    }
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphonevideoplayer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,715 +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:  Video ringing tone player
-*
-*/
-
-
-// INCLUDE FILES
-#include "CPhoneVideoPlayer.h"
-
-#include "PhoneUI.pan"
-#include "MPhoneVideoPlayerObserver.h"
-#include "CPhoneRingingTone.h"
-#include "PhoneConstants.h"
-#include "PhoneLogger.h"
-
-#include <eikenv.h>        // CEikEnv 
-#include <coemain.h>       // CCoeEnv 
-#include <VideoPlayer.h>   // CVideoPlayerUtility
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES  
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::CPhoneVideoPlayer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneVideoPlayer::CPhoneVideoPlayer(
-    MPhoneVideoPlayerObserver& aObserver )
-    :
-    iObserver( aObserver ),
-    iVideoPlayer( NULL ),
-    iPlayerState( EVideoClosed ),
-    iVolume( 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneVideoPlayer::ConstructL( 
-    const TDesC& aFileName, 
-    TInt aPriority, 
-    TUint aPreference,
-    RWindow& aVideoTarget  )
-    {
-    // Screen and clip rectangles to window dimensions
-    TPoint wndPosition( aVideoTarget.AbsPosition() );
-    TSize wndSize( aVideoTarget.Size() );
-    TRect wndRect( wndPosition, wndSize );
-    
-    // Create video player instance
-    iVideoPlayer = CVideoPlayerUtility::NewL(
-        *this,
-        aPriority,
-        static_cast<TMdaPriorityPreference>( aPreference ),
-        CCoeEnv::Static()->WsSession(),
-        *CCoeEnv::Static()->ScreenDevice(),    
-        aVideoTarget,
-        wndRect, 
-        wndRect );
-
-    RFs fs = CEikonEnv::Static()->FsSession();
-    User::LeaveIfError( iFileHandle.Open( fs,
-                                          aFileName,
-                                          EFileShareReadersOnly | 
-                                          EFileStream | 
-                                          EFileRead ) );        
-    
-    iVideoPlayer->OpenFileL( iFileHandle ); // async
-
-    iPlayerState = EVideoOpening;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneVideoPlayer* CPhoneVideoPlayer::NewL(
-    const CPhoneRingingTone& aRingingTone, 
-    TInt aPriority, 
-    TUint aPreference,
-    MPhoneVideoPlayerObserver& aObserver, 
-    RWindow& aVideoTarget,
-    TBool aExtSecNeeded )
-    {
-    // Check the file DRM property if extend secure is needed.
-    if ( aExtSecNeeded )
-        {
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneVideoPlayer::NewL - check DRM extend security" );
-        if ( !aRingingTone.IsFileInRom() &&
-             !aRingingTone.IsFileDrmProtected() )
-            {
-            __PHONELOG( EBasic, EPhoneUIView, "CPhoneVideoPlayer::NewL - DRM extend security permission denied" );
-            User::Leave( KErrPermissionDenied );
-            }
-        __PHONELOG( EBasic, EPhoneUIView, "CPhoneVideoPlayer::NewL - check DRM extend security - ok" );
-        }
-    
-    CPhoneVideoPlayer* self = new(ELeave) CPhoneVideoPlayer( aObserver );
-        
-    CleanupStack::PushL( self );
-    self->ConstructL( 
-        aRingingTone.FileName(), 
-        aPriority, 
-        aPreference, 
-        aVideoTarget );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::New
-// Two-phased constructor (non-leaving) 
-// -----------------------------------------------------------------------------
-//
-CPhoneVideoPlayer* CPhoneVideoPlayer::New(
-    const CPhoneRingingTone& aRingingTone,  
-    TInt aPriority, 
-    TUint aPreference,
-    MPhoneVideoPlayerObserver& aObserver, 
-    RWindow& aVideoTarget,
-    TBool aExtSecNeeded )
-    {
-    CPhoneVideoPlayer* self = NULL;
-
-    TRAP_IGNORE( self = CPhoneVideoPlayer::NewL(
-        aRingingTone, 
-        aPriority, 
-        aPreference,
-        aObserver,   
-        aVideoTarget,
-        aExtSecNeeded ) );
-    
-    return self; // this is NULL if NewL leaves
-    }
-
-// Destructor
-CPhoneVideoPlayer::~CPhoneVideoPlayer()
-    {
-    if ( iVolumeRampTimer )
-        {
-        iVolumeRampTimer->Cancel();
-        delete iVolumeRampTimer;
-        }
-
-    if ( iVideoPlayer )
-        {
-        iVideoPlayer->Close();
-        delete iVideoPlayer;
-        }
-
-    iFileHandle.Close();     
-             
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::Play
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneVideoPlayer::Play( 
-    TRingingType aRingType, 
-    TInt aVolume )
-    {
-    __PHONELOG2( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneVideoPlayer::Play - aRingType(%d), aVolume(%d)",
-        aRingType,
-        aVolume );
-
-    __ASSERT_DEBUG( iVideoPlayer, Panic( EPhoneViewGeneralError ) );
-    
-    iRingingType = aRingType;
-    iVolume = aVolume;
-
-    switch( iPlayerState )
-        {
-        case EVideoOpening:
-        case EVideoPreparing:
-        case EVideoOpen:
-            // see MvpuoPrepareComplete()
-            iToBePlayed = ETrue;   
-            break;
-        
-        case EVideoReady:
-            iVideoPlayer->Play();
-            iPlayerState = EVideoPlaying;
-            break;
-        
-        case EVideoPlaying:
-        case EVideoClosed:
-        case EVideoError:
-        default:
-            // NOP
-            break;
-        }
-
-    return;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::StopPlaying
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneVideoPlayer::StopPlaying()
-    {
-    __PHONELOG( EBasic, EPhoneUIView, "CPhoneVideoPlayer::StopPlaying" );
-
-    iToBePlayed = EFalse;
-
-    if ( iVolumeRampTimer )
-        {
-        iVolumeRampTimer->Cancel();
-        }
-    
-    if ( iPlayerState == EVideoPlaying )
-        {
-        iVideoPlayer->Stop();
-        iPlayerState = EVideoReady;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::PausePlaying
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-TInt CPhoneVideoPlayer::PausePlaying()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneVideoPlayer::StopPlaying ");
-    TInt err = KErrNone;
-    
-    if ( iPlayerState == EVideoPlaying )
-        {
-        TRAP( err, iVideoPlayer->PauseL() );
-        if ( err == KErrNone )    
-            {
-            iPlayerState = EVideoPaused;    
-            }
-        }
-    else
-        {
-        err = KErrNotReady;    
-        }        
-        
-    return err;        
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::ResumePlaying
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-void CPhoneVideoPlayer::ResumePlaying()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneVideoPlayer::ResumePlaying ");
-    
-    if ( iPlayerState == EVideoPaused )
-        {
-        iVideoPlayer->Play(); 
-        iPlayerState = EVideoPlaying;       
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::MuteAudio
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneVideoPlayer::MuteAudio()
-    {
-    __PHONELOG( EBasic, EPhoneUIView, "CPhoneVideoPlayer::MuteAudio" );
-    
-    if ( iVolumeRampTimer )
-        {
-        iVolumeRampTimer->Cancel();
-        }
-
-    iVolume = 0;
-    SetVolume( 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::SetVolume
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneVideoPlayer::SetVolume( TInt aVolume )
-    {
-    __PHONELOG1( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneVideoPlayer::SetVolume - aVolume(%d)", 
-        aVolume );
-    
-    TInt maxVolume( iVideoPlayer->MaxVolume() );
-    maxVolume = ( maxVolume > 0 ) ? maxVolume : KPhoneVideoMaxVolumeLevel; 
-
-    TInt scaledVolume = ( aVolume * maxVolume ) / KPhoneVideoMaxVolumeLevel;
-    
-    TRAP_IGNORE( iVideoPlayer->SetVolumeL( scaledVolume ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::SetRingingType
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneVideoPlayer::SetRingingType( TRingingType aRingingType )
-    {
-    __PHONELOG1( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneVideoPlayer::SetRingingType - aRingingType(%d)",
-        aRingingType );
-    
-    if ( aRingingType == ETypeAscending )
-        {
-        if ( !iVolumeRampTimer )
-            {
-            iVolumeRampTimer = CPeriodic::New( CActive::EPriorityStandard );
-            }
-
-        if ( iVolumeRampTimer && !iVolumeRampTimer->IsActive() )
-            {
-            TCallBack cb( VolumeRampTimerCallback, this );
-
-            SetVolume( KPhoneVideoMinVolumeLevel );
-            iRampedVolume = KPhoneVideoMinVolumeLevel;
-            iVolumeRampTimer->Start( 
-                KPhoneVideoVolumeRampInterval, 
-                KPhoneVideoVolumeRampInterval, 
-                cb );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::VolumeRampTimerCallback
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneVideoPlayer::VolumeRampTimerCallback( TAny* aObj )
-    {
-    return static_cast<CPhoneVideoPlayer*>( aObj )->DoVolumeRamp();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::DoVolumeRamp
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneVideoPlayer::DoVolumeRamp()
-    {
-    if ( iRampedVolume < iVolume )
-        {
-        iRampedVolume = iRampedVolume + KPhoneVideoVolumeRampStep;
-        if ( iRampedVolume >= iVolume )
-            {
-            // target volume level reached
-            iRampedVolume = iVolume;
-            iVolumeRampTimer->Cancel();
-            }
-
-        SetVolume( iRampedVolume );
-        }
-
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::State
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPhoneVideoPlayer::TVideoPlayerState CPhoneVideoPlayer::State() const
-    {
-    return iPlayerState;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::VideoResolution
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-CPhoneVideoPlayer::TVideoResolution CPhoneVideoPlayer::VideoResolution() const
-    {
-    TSize frameSize( VideoFrameSize() );
-    
-    // SubQCCIF video resolution is 128x96 pixels
-    if ( frameSize.iWidth == KPhoneVideoSubQCCIFWidth && 
-    	frameSize.iHeight == KPhoneVideoSubQCCIFHeight )
-        {
-        return EVideoSubQCIF;
-        }
-
-    return EVideoQCIF;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::VideoResolution
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-TSize CPhoneVideoPlayer::VideoFrameSize() const
-    {
-    TSize frameSize( 0,0 );
-    
-    TRAPD( err, iVideoPlayer->VideoFrameSizeL( frameSize ) );
-    
-    if ( err != KErrNone )
-        {
-        return TSize(0,0);
-        }
-
-    return frameSize;            
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVideoPlayer::AdjustToWindow
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-void CPhoneVideoPlayer::AdjustToWindow( RWindow& aDisplayWindow,
-	const TRect& aUncropPane )
-    {
-    __ASSERT_DEBUG( iPlayerState == EVideoReady, Panic( EPhoneViewGeneralError ) );
-        
-    // Get video frame dimensions
-    TSize frameSize( VideoFrameSize() );
-    
-    if ( frameSize.iWidth == 0 || frameSize.iHeight == 0  )
-        {
-        return;            
-        }
-    
-    // Uncrop pane dimensions
-    TSize uncropPaneSize( aUncropPane.Size() );
-        
-    // To cover display window:
-    // The video is scaled to match to dimensions of uncrop pane defined
-    // in Call Handling LAF. Video is centered to uncrop pane if exact
-    // match is not possible. 
-    // Assumption is that video can be scaled to 50,150 or 200
-    // percent from its original size (can't be scaled freely). 
-    
-    /////////////////////////////
-    // Calculate scaling factor
-    /////////////////////////////
-    TInt dScaleFactor( KBaseScaleFactor ); // use integer arithmetic 
-    
-    TInt xDelta( uncropPaneSize.iWidth - frameSize.iWidth );
-    TInt yDelta( uncropPaneSize.iHeight - frameSize.iHeight );
-            
-    if ( xDelta == 0 && yDelta == 0 )
-        {
-        // correct size, scaling not needed
-        }
-    else if ( xDelta < 0 && yDelta == 0 )
-        {
-        // wide, but cannot downscale -> just crop
-        }
-    else if ( yDelta < 0 && xDelta == 0 )
-        {
-        // tall, but cannot downscale -> just crop    
-        }    
-    else if ( xDelta > 0 && yDelta > 0 )
-        {            
-        // small, narrow and flat  -> enlarge
-        TInt xProp( ( KBaseScaleFactor * uncropPaneSize.iWidth ) / frameSize.iWidth );
-        TInt yProp( ( KBaseScaleFactor * uncropPaneSize.iHeight ) / frameSize.iHeight );
-        
-        dScaleFactor = xProp > yProp ? xProp : yProp;
-        }
-    else if ( xDelta < 0 && yDelta < 0 ) 
-        {
-        // large, wide and tall -> downscale
-        TInt xProp( ( KBaseScaleFactor * uncropPaneSize.iWidth ) / frameSize.iWidth );
-        TInt yProp( ( KBaseScaleFactor * uncropPaneSize.iHeight ) / frameSize.iHeight );
-        
-        dScaleFactor = xProp > yProp ? xProp : yProp;      
-        }
-    else if ( xDelta > 0 && yDelta <= 0 )
-        {
-        // narrow -> enlarge
-        dScaleFactor = ( KBaseScaleFactor * uncropPaneSize.iWidth ) / frameSize.iWidth;
-        }
-    else if ( yDelta > 0 && xDelta <= 0 )
-        {
-        // flat  -> enlarge
-        dScaleFactor = ( KBaseScaleFactor * uncropPaneSize.iHeight ) / frameSize.iHeight;
-        }
-    else
-        {
-        // do nothing
-        }
-    
-    // Convert to float: 0.5, 1.5, 2.0 ..
-    TInt scaleFactor( dScaleFactor / KBaseScaleFactor );
-    TInt remainder( dScaleFactor % KBaseScaleFactor );
-    TReal32 fScaleFactor = (TReal) scaleFactor ;
-    
-    if ( scaleFactor > 0 ) // upscale
-        {
-        if ( remainder > KHalfBaseScale )
-            {
-            fScaleFactor = fScaleFactor + KFullScaleFactor;    
-            }
-        else if ( remainder > 0 )
-            {
-            fScaleFactor = fScaleFactor + KHalfScaleFactor;    
-            }
-        else // 0
-            {
-            }
-        }
-    else // downscale
-        {
-        if ( remainder > KHalfBaseScale )
-            {
-            fScaleFactor = KFullScaleFactor;    
-            }
-        else
-            {
-            fScaleFactor = KHalfScaleFactor;    
-            }
-        }
-    
-    ////////////////////////////////////////////////
-    // Calculate scaled frame size (virtual canvas)
-    ////////////////////////////////////////////////
-    TReal32 canvasWidth = fScaleFactor * (TReal32)frameSize.iWidth;
-    TReal32 canvasHeight = fScaleFactor * (TReal32)frameSize.iHeight;
-    TSize canvasSize( (TInt)canvasWidth, (TInt)canvasHeight );
-    
-    ////////////////////////////////////////////////
-    // Crop by centering displayRect to canvasRect
-    ////////////////////////////////////////////////
-    TRect canvasRect( aUncropPane.iTl, canvasSize );     
-    TInt offsetX = (uncropPaneSize.iWidth - canvasSize.iWidth) / KCentering;
-    TInt offsetY = (uncropPaneSize.iHeight - canvasSize.iHeight) / KCentering;
-    canvasRect.Move( offsetX, offsetY );
-    
-    // Video is autoscaled by video player
-    // iVideoPlayer->SetScaleFactorL(...);
-    
-    TRect clipRect( aDisplayWindow.AbsPosition(), aDisplayWindow.Size() );
-    
-    ////////////////////////////////////////////////
-    // Update settings to player
-    ////////////////////////////////////////////////
-    TRAP_IGNORE( 
-        iVideoPlayer->SetDisplayWindowL( 
-            CCoeEnv::Static()->WsSession(),
-            *CCoeEnv::Static()->ScreenDevice(),
-            aDisplayWindow,
-            canvasRect,
-           clipRect ) );
-               
-    }
-
-
-// =========================================================
-// Callbacks from VideoPlayerutility
-// =========================================================
-
-// ---------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoOpenComplete
-// ---------------------------------------------------------
-void CPhoneVideoPlayer::MvpuoOpenComplete( TInt aError )
-    {
-    __PHONELOG1( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneVideoPlayer::MvpuoOpenComplete - aError(%d)", 
-        aError );
-
-    if ( aError == KErrNone )
-        {
-        // Prepare clip for playing
-        iPlayerState = EVideoPreparing;
-        iVideoPlayer->Prepare();
-        }
-    else // Report error
-        {
-        iPlayerState = EVideoError;
-        iObserver.HandleVideoPlayerError( 
-            MPhoneVideoPlayerObserver::EVideoPlayerInitializingFailure,
-            aError );
-        }
-    }
-
-// ---------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoPrepareComplete
-// ---------------------------------------------------------
-void CPhoneVideoPlayer::MvpuoPrepareComplete( TInt aError )
-    {
-    __PHONELOG1( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneVideoPlayer::MvpuoPrepareComplete - aError(%d)", 
-        aError );
-
-    if ( aError == KErrNone )
-        {
-        iPlayerState = EVideoReady;
-        iObserver.HandleVideoPlayerInitComplete();
-
-        SetVolume( iVolume );
-        SetRingingType( iRingingType );
-
-        if ( iToBePlayed )
-            {
-            iVideoPlayer->Play();
-            }
-        }
-    else  // Report error
-        {
-        iPlayerState = EVideoError;
-        iObserver.HandleVideoPlayerError( 
-            MPhoneVideoPlayerObserver::EVideoPlayerInitializingFailure,
-            aError );
-        }
-    }
-
-// ---------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoFrameReady
-// ---------------------------------------------------------
-void CPhoneVideoPlayer::MvpuoFrameReady( CFbsBitmap& /*aFrame*/,
-                                         TInt /*aError*/ )
-    {
-    // NOP
-    }
-
-// ---------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoPlayComplete
-// Trapping callback as leaving not allowed.
-// ---------------------------------------------------------
-void CPhoneVideoPlayer::MvpuoPlayComplete( TInt aError )
-    {
-    __PHONELOG1( 
-        EBasic, 
-        EPhoneUIView, 
-        "CPhoneVideoPlayer::MvpuoPlayComplete - aError(%d)", 
-        aError );
-
-    if ( aError == KErrNone )
-        {
-        iPlayerState = EVideoReady;
-        
-        if ( iRingingType == ETypeRingingOnce )
-            {
-            iObserver.HandleVideoPlayerPlayingComplete();
-            } 
-        else // continue playing
-            {
-            iVideoPlayer->Play();
-            iPlayerState = EVideoPlaying;
-            }        
-        }
-    else // report error
-        {
-        iPlayerState = EVideoError;
-        iObserver.HandleVideoPlayerError( 
-            MPhoneVideoPlayerObserver::EVideoPlayerPlayingFailure,
-            aError );
-        }
-    }
-        
-// ---------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoEvent
-// Trapping callback as leaving not allowed.
-// ---------------------------------------------------------
-void CPhoneVideoPlayer::MvpuoEvent( const TMMFEvent& /*aEvent*/ )
-    {
-    // NOP
-    }
-    
-//  End of File
--- a/phoneapp/phoneuiview/src/cphoneview.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,595 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The application view of PhoneUI
-*
-*/
-
-
-// INCLUDE FILES
-#include "phoneconstants.h"
-#include "cphoneview.h"
-
-#include <eikenv.h>
-#include <eikapp.h> 
-#include <eikappui.h>
-#include <eikcmobs.h>
-
-#include <w32std.h>          // iWindowSrvSession
-
-#include <eikimage.h>
-#include <coemain.h>
-#include <gulutil.h>         // DrawUtils, egul.lib 
-#include <aknappui.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <AknsUtils.h>
-
-#include "cphonestatuspane.h"
-#include "tphonecmdparambitmap.h"
-#include "phonelogger.h"
-#include "mphoneviewobserver.h" 
-
-#include <AknUtils.h> // needed for AKN_LAF_COLOR in 3.0 environment
-
-#include "phoneui.hrh"
-#include "phoneviewcommanddefinitions.h"
-// Scalable UI
-#include <aknlayout.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknstatuspaneutils.h>
-
-enum TPhoneBgLayers
-    {
-    EPhoneBgFirstLayer          = 0,
-    EPhoneBgLayersN             = 1
-    };
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CPhoneView::CPhoneView
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneView::CPhoneView( CEikButtonGroupContainer& aCba ) :
-    iSecurityMode ( EFalse ),
-    iActivatePreviousApp( EFalse ),
-    iPhoneAppViewToDialer( EFalse ),
-    iCba ( aCba ),
-    iDialerActivation( EFalse )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::ConstructL( TRect aRect )
-    {
-    // Create background control context for skins.
-    iBgContext = CAknsLayeredBackgroundControlContext::NewL(
-        KAknsIIDWallpaper, aRect, ETrue /*Parent absolute*/,
-        EPhoneBgLayersN );
-
-    // Create bitmap
-    iBitmap = new (ELeave) CFbsBitmap;
-    iBitmap->Reset();
-
-    CreateWindowL();
-    DrawableWindow()->SetPointerGrab( ETrue );
-
-    SetRect( aRect );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneView* CPhoneView::NewL( TRect aRect, CEikButtonGroupContainer& aCba )
-    {
-    CPhoneView* self = new ( ELeave ) CPhoneView( aCba );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// Destructor
-CPhoneView::~CPhoneView()
-    {
-     __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::~CPhoneView");
-    delete iBgContext;
-    delete iBitmap;
-    iRegion.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::ViewId
-// -----------------------------------------------------------------------------
-//
-TVwsViewId CPhoneView::ViewId() const
-    {
-    TVwsViewId id( 
-        iEikonEnv->EikAppUi()->Application()->AppDllUid(), 
-        KUidViewId );
-    return id;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::ViewActivatedL
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::ViewActivatedL( 
-    const TVwsViewId& /*aPrevViewId*/, 
-    TUid aCustomMessageId, 
-    const TDesC8& /*aCustomMessage*/ )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::ViewActivatedL()");
-    switch ( aCustomMessageId.iUid )
-        {
-        case KTouchDiallerViewCommand:
-            {
-            if ( iDialerActivation )
-                {
-                if ( iSecurityMode )
-                    {
-                    static_cast<MEikCommandObserver*>( iEikonEnv->EikAppUi() )
-                    ->ProcessCommandL( EPhoneNumberAcqSecurityDialer );
-                    return;
-                    }
-                 else
-                    {
-                    iEikonEnv->WsSession().ClearAllRedrawStores();
-                    SetActivatePreviousApp( ETrue );            
-                    static_cast<MEikCommandObserver*>( iEikonEnv->EikAppUi() )
-                    ->ProcessCommandL( EPhoneViewOpenNumberEntry );
-                    } 
-                }
-            }
-            break;
-        case KTouchCallHandlingVievCommand:
-            {
-            iEikonEnv->WsSession().ClearAllRedrawStores();
-            SetActivatePreviousApp( EFalse );
-            static_cast<MEikCommandObserver*>( iEikonEnv->EikAppUi() )
-                ->ProcessCommandL( EPhoneViewOpenCallHandling );  
-            }
-            break;
-        default:
-            break;
-        }
-    
-    if ( iObserver )
-        {  
-        iObserver->PhoneViewActivatedL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::ViewDeactivated
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::ViewDeactivated()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::ViewDeactivated()");
-    SetActivatePreviousApp( EFalse );
-  
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::SetControl
-// 
-// Change the control. 
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::SetControl( CCoeControl* aControl )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::SetControl()");
-    iControl = aControl;
-    UpdateControlRect();
-    iControl->MakeVisible( ETrue );
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneView::Control
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CPhoneView::Control() const
-    {
-    return iControl;    
-    }    
-   
-// -----------------------------------------------------------------------------
-// CPhoneView::ComponentControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CPhoneView::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return iControl;        
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneView::CountComponentControls
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneView::CountComponentControls() const
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::CountComponentControls()");
-    TInt count = 0;
-
-    if ( iControl )
-        {
-        count = 1;
-        }
-
-    return count;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::SetBitmap
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::SetBitmap( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::SetBitmap()");
-    TPhoneCmdParamBitmap* bitmapParam = static_cast<TPhoneCmdParamBitmap*>(
-        aCommandParam );
-    
-    if ( !iSecurityMode )
-        {
-        TInt err = KErrNone;
-        if ( bitmapParam->Bitmap()->Handle() )
-            {
-            err = iBitmap->Duplicate( bitmapParam->Bitmap()->Handle() );
-            }
-        else
-            {
-            iBitmap->Reset();
-            }
-            
-        if ( err == KErrNone )
-            {
-            DrawDeferred();
-            }    
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::GetBitmap
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::GetBitmap( TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::GetBitmap()");
-    TPhoneCmdParamBitmap* bitmapParam = static_cast<TPhoneCmdParamBitmap*>(
-        aCommandParam );
-
-    bitmapParam->SetBitmap( iBitmap );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CPhoneView::MopSupplyObject( TTypeUid aId )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::MopSupplyObject()");
-    // Required during rendering of the background skin in Draw()
-    if (aId.iUid == MAknsControlContext::ETypeId)
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::SetRect
-// -----------------------------------------------------------------------------
-//    
-void CPhoneView::SetRect( const TRect &aRect )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::SetRect()");
-    if ( !AknLayoutUtils::PenEnabled() )
-        {
-        CCoeControl::SetRect( aRect );
-        }
-    else
-        {
-        if ( Layout_Meta_Data::IsLandscapeOrientation() ||
-             iSecurityMode )
-            {
-            // In landscape and in security mode aRect is ok.
-            CCoeControl::SetRect( aRect );    
-            }
-        else
-            {     
-            TRect controlRect( aRect );
-            TAknLayoutRect viewRect;
-            
-            TRect screenRect;
-            AknLayoutUtils::LayoutMetricsRect( 
-                AknLayoutUtils::EScreen, 
-                screenRect  );    
-            
-            viewRect.LayoutRect( 
-                screenRect, 
-                TAknWindowComponentLayout::Compose(
-                    AknLayoutScalable_Avkon::application_window( 0 ),
-                    AknLayoutScalable_Avkon::main_pane( 8 ) ) );   
-            
-            // reduce toolbar
-            TAknLayoutRect toolbarRect;
-            toolbarRect.LayoutRect( 
-                screenRect, 
-                TAknWindowComponentLayout::Compose(
-                AknLayoutScalable_Avkon::application_window( 0 ),
-                AknLayoutScalable_Avkon::popup_toolbar2_fixed_window( 0 ) ) );
-            
-            if ( toolbarRect.Rect().Intersects( controlRect )  )
-                {
-                __PHONELOG( EBasic, EPhoneUIView,"CPhoneView::SetRect Update ");            
-                controlRect.iBr.iY -= toolbarRect.Rect().Height();
-                }            
-                     
-            CCoeControl::SetRect( controlRect );
-            }                
-        }        
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::Draw
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::Draw(  const TRect& aRect ) const
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::Draw()");
-    TRect rect = Rect();
-
-    if ( !rect.iTl.iY )
-        {
-        CWindowGc& gc = SystemGc();
-
-        // Draw main area.
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-        
-        if ( iSecurityMode || 
-            !AknsDrawUtils::Background( skin, cc, this, gc, aRect ) )
-            {
-            gc.SetPenStyle(CGraphicsContext::ENullPen);
-            gc.SetBrushColor( AKN_LAF_COLOR( 0 ) ); // 0 for white
-            gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
-            gc.DrawRect( aRect ); 
-            }
-
-        // Frozen Active Idle background image.
-        // TBD: set member variable from states to prevent display of
-        // image if emergency or security view
-        else if ( iBitmap && ( iBitmap->Handle() != 0 ) ) 
-            {
-            gc.BitBlt( TPoint( 0, 0 ), iBitmap );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    if ( CapturesPointer() )
-        {
-        // Point Capture enabled 
-        // Modify position of pointerevent so that CBA gets valid data.
-        TPointerEvent pointerEvent = aPointerEvent; 
-        TPoint phoneviewPoint = PositionRelativeToScreen();
-        TPoint buttonGroupPoint =  iCba.ButtonGroup()->AsControl()->PositionRelativeToScreen();
-        
-        TPoint screenPoint = buttonGroupPoint-phoneviewPoint; 
-        
-        TPoint styluspoint =  aPointerEvent.iPosition;
-        TPoint currentpointer = styluspoint - screenPoint;
-
-        pointerEvent.iPosition = currentpointer;
-        iCba.ButtonGroup()->AsControl()->HandlePointerEventL( pointerEvent );
-        }
-    // Calling base class implementation
-    CCoeControl::HandlePointerEventL(aPointerEvent);    
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::ActivateL
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::ActivateL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::ActivateL()");
-    CCoeControl::ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::SizeChanged()
-// 
-// Expects that the controls are initialised otherwise.
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::SizeChanged()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::SizeChanged()");
-    AknsUtils::RegisterControlPosition( this );
-
-    TRect screen;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );    
-    iBgContext->SetLayerImage( EPhoneBgFirstLayer, KAknsIIDWallpaper );
-    iBgContext->SetParentPos( screen.iTl );
-    iBgContext->SetLayerRect( EPhoneBgFirstLayer, screen );            
-
-    UpdateControlRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::PositionChanged
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::PositionChanged()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::PositionChanged()");
-    AknsUtils::RegisterControlPosition( this );
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneView::FocusChanged
-// -----------------------------------------------------------------------------
-//    
-void CPhoneView::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {
-    iControl->SetFocus( IsFocused () );
-    }    
-
-// -----------------------------------------------------------------------------
-// CPhoneView::UpdateControlRect
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::UpdateControlRect()
-    {    
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::UpdateControlRect()");
-    if ( iControl )
-        {
-        if ( iControl->Rect() != Rect() )
-            {
-            iControl->SetRect( Rect() );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::HandleResourceChangeL
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::HandleResourceChange( TInt aType )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneView::HandleResourceChange()");
-
-    if ( aType == KAknsMessageSkinChange || 
-         aType == KEikDynamicLayoutVariantSwitch )
-        {
-        DrawDeferred();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::SetSecurityMode
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::SetSecurityMode ( TBool aStatus )
-    {
-    if ( iSecurityMode != aStatus ) 
-        {
-        iSecurityMode = aStatus;
-        SizeChanged();    
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneView::IsSecurityMode
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneView::IsSecurityMode()    
-    {
-    return iSecurityMode;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::GetActivatePreviousApp
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneView::GetActivatePreviousApp()
-    {
-    return iActivatePreviousApp;       
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::SetActivatePreviousApp
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::SetActivatePreviousApp( const TBool aStatus )
-    {
-    __PHONELOG1( EBasic, 
-        EPhoneUIView,"CPhoneView::SetActivatePreviousApp() aStatus %d", 
-        aStatus );
-    iActivatePreviousApp = aStatus;        
-    }
- 
-// -----------------------------------------------------------------------------
-// CPhoneView::SetPhoneAppViewToDialer
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::SetPhoneAppViewToDialer( const TBool aStatus )
-    {
-    __PHONELOG1( EBasic, 
-        EPhoneUIView,"CPhoneView::SetPhoneAppViewToDialer() aStatus %d", 
-        aStatus );
-    iPhoneAppViewToDialer = aStatus;
-    }
-// -----------------------------------------------------------------------------
-// CPhoneView::CapturePointerEvents
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::CapturePointerEvents( const TBool aCapture )
-    {
-    SetPointerCapture( aCapture );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::PhoneAppViewToDialer
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneView::PhoneAppViewToDialer()
-    {
-    __PHONELOG1( EBasic, 
-        EPhoneUIView,"CPhoneView::PhoneAppViewToDialer() iPhoneAppViewToDialer %d", 
-        iPhoneAppViewToDialer );
-    return iPhoneAppViewToDialer;       
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::SetViewObserver
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::SetPhoneViewObserver( MPhoneViewObserver& aObserver )
-    {
-    iObserver = &aObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneView::SetDialerActivation
-// -----------------------------------------------------------------------------
-//
-void CPhoneView::SetDialerActivation( TBool aActivation )
-    {
-    __PHONELOG1( EBasic, 
-        EPhoneUIView,"CPhoneView::SetDialerActivation() aActivation %d", 
-        aActivation );
-    iDialerActivation = aActivation;
-    }
-// End of File
-
--- a/phoneapp/phoneuiview/src/cphoneviewcontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3912 +0,0 @@
-/*
-* 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:  The control class of phone ui view in PhoneUI
-*
-*/
-
-
-// INCLUDE FILES
-#include "cphoneviewcontroller.h"
-
-#include "phoneui.pan"
-#include "cphonetoolbarcontroller.h"
-#include "cphonebuttonscontroller.h"
-#include "cphonedialercontroller.h"
-#include "cphonemenucontroller.h"
-#include "cphonenotecontroller.h"
-#include "cphonequerycontroller.h"
-#include "cphonekeycapturecontroller.h"
-#include "cphoneview.h"
-#include "cphonedialerview.h"
-#include "tphonecommandparam.h"
-#include "cphonebubblewrapper.h"
-#include "tphonecmdparamcallstatedata.h"
-#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamboolean.h"
-#include "tphonecmdparamstring.h"
-#include "tphonecmdparamappinfo.h"
-#include "tphonecmdparammessageeditor.h"
-#include "tphonecmdparamcallheaderdata.h"
-#include "tphonecmdparamsingleitemfetch.h"
-#include "tphonecmdparamaudiooutput.h"
-#include "tphonecmdparamaudioavailability.h"
-#include "tphonecmdparamquery.h"
-#include "tphonecmdparamsfidata.h"
-#include "tphonecmdparamtranseffect.h"
-#include "phoneconstants.h"
-#include "cphonestatuspane.h"
-#include "cphonepubsubproxy.h"
-#include "cphoneincallindicator.h"
-#include "phonelogger.h"
-#include "cphonetimer.h"
-#include "cphonecenrepproxy.h"
-#include "cphonerecoverysystem.h"
-#include "cphonecontactcontroller.h"
-#include "cphoneapplicationexit.h"
-#include "cphoneaudiocontroller.h"
-#include "cphoneringingtoneplayerao.h"
-#include "cphonevmbxhandler.h"
-#include "cphonemainresourceresolver.h"
-#include "phonerssbase.h"
-#include "telprivatecrkeys.h"
-#include "cphonesingleitemfetch.h"
-#include "mnumberentry.h"
-#include "cdialer.h"
-#include "dialer.hrh"
-#include "cphonemediatorfactory.h"
-#include "cphonemediatorsender.h"
-#include "mphoneviewcustomization.h"
-#include "tphonecmdparamcustomdialer.h"
-#include "tphonecmdparampointer.h"
-#include "dialer.hrh"
-#include "phoneui.hrh"
-#include <apgtask.h>
-#include <apgwgnam.h>
-#include <apacmdln.h>
-#include <coedef.h>  // TKeyResponse
-#include <eikenv.h>
-#include <eikappui.h>
-#include <eikapp.h>
-#include <eikmenub.h>
-#include <eikspane.h>
-#include <aknkeylock.h>
-#include <SpdiaControl.h>
-#include <hlplch.h>
-#include <aknnavide.h>
-#include <aknnavilabel.h>
-#include <AknNotifierController.h>
-#include <CMessageData.h> // CMessageData
-#include <sendui.h> // CSendUi
-#include <SenduiMtmUids.h> // KSenduiMtmIrUid
-#include <cphonecntsaveaddtoname.h>
-#include <PbkDataSaveAppUi.hrh>
-#include <PhCltUtils.h>
-#include <telephonyvariant.hrh>
-#include <ConeResLoader.h>
-#include <bldvariant.hrh>
-#include <data_caging_path_literals.hrh>
-#include <AknDlgShut.h> // Avkon dialog shutter.
-#include <cphcntrfshandler.h>
-#include <bautils.h>
-#include <CPbkContactEngine.h>
-#include <CPbkContactItem.h>
-#include <CPbkFieldInfo.h>
-#include <PbkFields.hrh>
-#include <cphcntcontactid.h>
-#include <AknUtils.h>
-#include <AknSgcc.h>
-#include <SettingsInternalCRKeys.h>
-#include <UikonInternalPSKeys.h>
-#include <startupdomainpskeys.h>
-#include <utf.h>
-#include <activeidle2domainpskeys.h>
-#include <telinternalpskeys.h>
-#include <featmgr.h>
-#include <layoutmetadata.cdl.h>
-#include <akntoolbar.h>
-#include <LogsUiCmdStarter.h>
-#include <AknIndicatorContainer.h>
-
-#include <SoftReject.rsg>
-#include <ConeResLoader.h>
-#include <StringLoader.h>
-#include <txtrich.h>
-
-#include <vmnumber.h>
-#include <coreapplicationuisdomainpskeys.h>
-#include <gfxtranseffect/gfxtranseffect.h>
-#include <akntranseffect.h>
-
-#include <GSLauncher.h> // Call Settings launch.
-
-// Kastor effect IDs, aknskincontent/101f84b9.sel
-const TInt KTouchDialerOpenEffect  = 1505;
-const TInt KTouchDialerCloseEffect = 1506;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::CPhoneViewController
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------------------------
-//
-CPhoneViewController::CPhoneViewController() :
-    iEikEnv( *CEikonEnv::Static() ),
-    iNeedToSendToBackground( EFalse ),
-    iHelpCommand( KINCAL_HLP_CALL_HANDLING ),
-    iBlockingDialogIsDisplayed( EFalse ),
-    iIdleUid( KErrNotFound ),
-    iFetchContent( KNullDesC ),
-    iEffectOngoing( EFalse ),
-    iSendBack( ETrue ),
-    iDialerActive( EFalse ),
-    iPriotityChanged( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::ConstructL( TRect aRect )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneViewController::ConstructL()");
-    // Create the status pane singleton
-    iStatusPane = CPhoneStatusPane::Instance();
-    // Reserve the title pane
-    iStatusPane->AddTitlePaneHandlerL( *this );
-    iStatusPane->ReserveTitlePane( *this );
-
-    iAppui = (CAknAppUi*)iEikEnv.EikAppUi();
-    iCba = iEikEnv.AppUiFactory()->Cba();
-
-	iPhoneView = CPhoneView::NewL( aRect, *iCba );
-
-    iBubbleWrapper = CPhoneBubbleWrapper::NewL( iPhoneView, aRect  );
-
-    iPhoneView->SetControl( iBubbleWrapper->Control() );
-    iPhoneView->ActivateL(); // We're ready to activate view after the bubble is initialized
-
-    iIncallIndicator = CPhoneIncallIndicator::NewL();
-    iMenuController = CPhoneMenuController::NewL( iEikEnv );
-    iNoteController = CPhoneNoteController::NewL( iEikEnv );
-    iQueryController = CPhoneQueryController::NewL( iEikEnv );
-    iAudioController = CPhoneAudioController::NewL();
-
-    iRingingTonePlayerAO = CPhoneRingingTonePlayerAO::NewL();
-    // Set display provider for ringing tone player.
-    // Display access is needed for visual ringing tones.
-    iRingingTonePlayerAO->SetVideoPlayer( iBubbleWrapper );
-
-    // Contact
-    CPhoneContactController* contactManager =
-        CPhoneContactController::NewL();
-    iContactController = contactManager;
-
-    iContactControllerId =
-        CPhoneRecoverySystem::Instance()->AddL(
-            TCallBack( DoConstructContactControllerL, this ),
-            CTeleRecoverySystem::EPhonePriorityHigh,
-            CTeleRecoverySystem::EPhoneStateStarting );
-
-    iKeyCaptureController = CPhoneKeyCaptureController::NewL( iEikEnv );
-
-    iApplicationExit = CPhoneApplicationExit::NewL(
-        this,
-        iEikEnv.WsSession(),
-        iEikEnv.WsSession().FindWindowGroupIdentifier( 0, KPhoneEikonServer ) );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) )
-        {
-        iButtonsController = CPhoneButtonsController::NewL( iBubbleWrapper->TouchPane() );
-        }
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdOnScreenDialer ) )
-        {
-        // Create dialer view
-        iDialerView = CPhoneDialerView::NewL( aRect );
-        iDialerView->DrawableWindow()->SetOrdinalPosition( -1 );
-        iDialerView->MakeVisible( EFalse );
-        // Create dialer
-        iDialer = CDialer::NewL( *iDialerView, aRect );
-        // Set NE for bubbleWrapper
-        iBubbleWrapper->SetNumberEntry( iDialer->NumberEntry() );
-        CCoeEnv* coeEnv = static_cast<CCoeControl*>(iDialer)->ControlEnv();
-        iDialerController = CPhoneDialerController::NewL( *iBubbleWrapper,
-                                                            *coeEnv,
-                                                            *iMenuController );
-        
-        iToolbarController = CPhoneToolbarController::NewL( *coeEnv  );
-                                                           
-      
-		iDialerView->SetControl( iDialer );
-		iDialerView->ActivateL();
-		iDialerActive = EFalse;
-        }
-
-    User::LeaveIfError( iKeyLock.Connect() );
-
-    // if you are using sgc-client's session to capserver,
-    //you are not allowed to close the session.
-    iAknUiServerClient = CAknSgcClient::AknSrv();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneViewController::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPhoneViewController* CPhoneViewController::NewL( TRect aRect )
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-            "CPhoneViewController::NewL()" );
-    CPhoneViewController* self = new (ELeave) CPhoneViewController;
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// Destructor
-CPhoneViewController::~CPhoneViewController()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-                        "CPhoneViewController::~CPhoneViewController()" );
-    delete iButtonsController;
-    delete iDialerController;
-    delete iToolbarController;
-    iKeyLock.Close();
-    delete iApplicationExit;
-    delete iSpeedDialController;
-    if ( iVmbxHandler )
-        {
-        delete iVmbxHandler;
-        iVmbxHandler = NULL;
-        }
-    delete iKeyCaptureController;
-    CPhoneRecoverySystem::Remove( iContactControllerId );
-    delete iContactController;
-    delete iRingingTonePlayerAO;
-    delete iAudioController;
-    delete iQueryController;
-    delete iNoteController;
-    delete iMenuController;
-    delete iIncallIndicator;
-    delete iBubbleWrapper;
-    delete iPhoneView;
-    delete iIndiContainer;
-    if ( iDialerView )
-        {
-        if(iAppui) //for codescanner
-            {
-            iAppui->RemoveFromStack( iDialerView );
-            }
-        delete iDialerView;
-        }
-    delete iDialer;
-    if ( iSingleItemFetch )
-        {
-        delete iSingleItemFetch;
-        iSingleItemFetch = NULL;
-        }
-    delete iRfsHandler;
-    RemoveAddToContactDialog();
-
-//    delete iStatusPane; <-- CCoeStatic are destroyed outside application
-
-    iApaLsSession.Close();
-
-    }
-
-// ---------------------------------------------------------
-// CPhoneViewController::PhoneView
-// ---------------------------------------------------------
-//
-EXPORT_C CPhoneView* CPhoneViewController::PhoneView()
-    {
-    return iPhoneView;
-    }
-
-// ---------------------------------------------------------
-// CPhoneViewController::ExecuteCommandL( aCmdId )
-// ---------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::ExecuteCommandL(
-    TPhoneViewCommandId aCmdId )
-    {
-    __PHONELOGVIEWMSG( aCmdId, 0 );
-
-    switch ( aCmdId )
-        {
-        case EPhoneViewLaunchApplication:
-            LaunchApplicationL();
-            break;
-
-        case EPhoneViewMenuBarClose:
-             iMenuController->CloseMenuBar();
-            break;
-
-        case EPhoneViewRemoveNumberEntry:
-            if ( iDialer && iDialerActive )
-                {
-                SetControltoCallHandlingL();
-                iBubbleWrapper->RemoveNumberEntry();
-                iPhoneView->SetActivatePreviousApp( EFalse );
-                
-                TPhoneCmdParamCallStateData callStateData;
-                callStateData.SetCallState( EPEStateConnected );
-                iBubbleWrapper->GetCallIdByState( &callStateData );
-                TInt connected = callStateData.CallId();
-                    
-                // If video call
-                if( connected == KVideoTelephonyCallId1 ||
-                        connected == KVideoTelephonyCallId2 )
-                    {
-                    TPhoneCmdParamInteger uidParam;
-                    // Bring video telephone app in the foreground
-                    uidParam.SetInteger( KVtUiAppUidValue.iUid );
-                    BringAppToForeground( &uidParam );
-                    }
-                }
-            else
-                {
-                iBubbleWrapper->RemoveNumberEntry();
-                }
-            break;
-
-        case EPhoneViewRemoveNote:
-            iNoteController->DestroyNote();
-            break;
-
-        case EPhoneViewRemoveDtmfNote:
-            iNoteController->DestroyDTMFNote();
-            break;
-
-        case EPhoneViewRemoveGlobalNote:
-            iNoteController->DestroyGlobalNoteL();
-            break;
-
-        case EPhoneViewRemoveQuery:
-            iQueryController->DestroyQuery();
-            iQueryController->DestroyGlobalQuery();
-            break;
-
-        case EPhoneViewRemoveGlobalWaitNote:
-            iQueryController->DestroyGlobalWaitNote();
-            break;
-        case EPhoneViewRemoveProgressNote:
-            iNoteController->DestroyProgressNote();
-            break;
-
-        case EPhoneViewSendToBackground:
-            SendToBackgroundL();
-            break;
-
-        case EPhoneViewExitApplications:
-            iApplicationExit->ExitApplication();
-            break;
-
-        case EPhoneViewHideNaviPaneAudioVolume:
-            iAudioController->DeactivateVolumeControl();
-            break;
-
-        case EPhoneViewShowNaviPaneAudioVolume:
-            iAudioController->ActivateVolumeControlL();
-            break;
-
-        case EPhoneViewRemovePhoneDialogs:
-            RemovePhoneDialogsL();
-            break;
-            
-        case EPhoneViewRemoveAllCallHeaders:
-            iBubbleWrapper->RemoveAllCallHeadersL();
-            break;
-
-        case EPhoneViewMuteRingToneOnAnswer:
-            iRingingTonePlayerAO->MuteRingingToneOnAnswer();
-            break;
-
-        case EPhoneViewStopRingTone:
-            iRingingTonePlayerAO->StopPlaying();
-            break;
-            
-        case EPhoneViewMuteRingTone:
-            iRingingTonePlayerAO->MuteRingingTone();
-            break;
-
-        case EPhoneViewAddToConference:
-            iBubbleWrapper->AddToConferenceL();
-            break;
-
-        case EPhoneViewCreateNumberEntry:
-            // Keep menu controller in synch with number entry mode
-            iMenuController->SetAlphaModeFlag( EFalse );
-            iBubbleWrapper->CreateNumberEntry();
-            if ( iDialer && !iDialerActive )
-                {
-                SetControltoDialerL();
-                }
-            break;
-
-        case EPhoneViewUpdateMaxConfMemberFlag:
-            iMenuController->SetMaxConfMembersFlag(
-                iBubbleWrapper->IsMaxMembersInConf() );
-            if ( iButtonsController )
-                {
-                TPhoneCmdParamBoolean joinParam;
-                joinParam.SetBoolean( iBubbleWrapper->IsMaxMembersInConf() );
-                iButtonsController->SetInCallJoinEnabled( &joinParam );
-                }
-            break;
-
-        case EPhoneViewLaunchRfsDeep:
-            LaunchRfsL( ETrue );
-            break;
-
-        case EPhoneViewLaunchRfsNormal:
-            LaunchRfsL( EFalse );
-            break;
-
-        case EPhoneViewUpdateView:
-            iPhoneView->DrawDeferred();
-            break;
-
-        case EPhoneViewUpdateContact:
-            OpenAddToContactL( EPbkCmdDataSaveAddToExisting );
-            break;
-
-        case EPhoneViewAddContact:
-            OpenAddToContactL( EPbkCmdDataSaveCreateNew );
-            break;
-
-        case EPhoneViewSendMessage:
-            SendMessageL();
-            break;
-
-        case EPhoneViewEnableKeyLock:
-            iKeyLock.EnableKeyLock();
-            break;
-
-        case EPhoneViewEnableKeyLockWithoutNote:
-            iKeyLock.EnableWithoutNote();
-            break;
-            
-        case EPhoneViewDisableKeyLockWithoutNote:
-            iKeyLock.DisableWithoutNote();
-            break;
-
-        case EPhoneViewUpdateFSW:
-            SetHiddenL( !iBubbleWrapper->IsNumberEntryUsed() );
-            UpdateFSW();
-            break;
-
-        case EPhoneViewUpdatePhoneIconToFSW:
-            SetHiddenL( EFalse );
-            UpdateFSW();
-            break;
-
-        case EPhoneViewCloseFSW:
-            iEikEnv.DismissTaskList();
-            break;
-
-        case EPhoneViewBringIdleToForeground:
-            {
-            // bringe idle application to fore.
-            TPhoneCmdParamInteger uidParam;
-            uidParam.SetInteger( IdleAppUid() );
-            BringAppToForeground( &uidParam );
-            if ( iSingleItemFetch )
-                {
-                // Cancel the Single Item Fetch
-                iSingleItemFetch->Delete();
-                }
-            }
-            break;
-
-        case EPhoneViewSetIdleTopApplication:
-            {
-            TPhoneCmdParamInteger uidParam;
-            uidParam.SetInteger( IdleAppUid() );
-            SetTopApplicationL( &uidParam );
-            }
-            break;
-
-        case EPhoneViewRemoveConferenceBubble:
-            {
-            iBubbleWrapper->RemoveConferenceL();
-            }
-            break;
-
-        case EPhoneViewClearNumberEntryContent:
-            {
-            iBubbleWrapper->SetNumberEntryContent( KNullDesC );
-            }
-            break;
-
-        case EPhoneViewUpdateToolbar:
-            {
-            if ( iDialer )
-                {
-                iDialerController->UpdateToolbar();
-                }
-            }
-            break;
-
-        case EPhoneViewSetControlAndVisibility:
-            if ( iDialer )
-                {
-                SetDialerControlAndVisibilityL();
-                }
-            else
-                {
-                // If iDialer is false then set numberentry
-                // visible.
-                TPhoneCmdParamBoolean booleanParam;
-                booleanParam.SetBoolean( ETrue );
-                iBubbleWrapper->SetNumberEntryVisible( &booleanParam );
-                }
-            break;
-
-        case EPhoneViewActivatePreviousApp:
-            {
-            TApaTaskList appList( iEikEnv.WsSession() );
-            TApaTask bring = appList.FindApp( KUidPhoneApplication );
-            // If CheckSendBackRoundEventNeed returns false then the
-            // active/foreground application is phone&singleitemfetch and
-            // there is no need to make SendToBackRound event or update
-            // window group position.
-            if ( bring.Exists() )
-                {
-                CAknSgcClient::MoveApp( bring.WgId(),
-                                        ESgcMoveAppToBackground );
-                // Position needs to be updated to ensure that exit works
-                // from previous view.
-                SetWindowGroupPosition();
-                }
-            }
-            break;
-
-        case EPhoneViewKeypadAudioEnabled:
-            {
-            iBubbleWrapper->KeypadAudioEnabled();
-            }
-            break;
-
-        case EPhoneViewKeypadAudioDisabled:
-            {
-            iBubbleWrapper->KeypadAudioDisabled();
-            }
-            break;
-
-        case EPhoneViewCancelAllNotications:
-            {
-            CancelAllNotications();
-            }
-            break;
-        case EPhoneViewOpenVirtualKeyBoard:
-            {
-            iBubbleWrapper->OpenVkbL();
-            }
-            break;
-        case EPhoneViewCreatePhoneBookServices:
-            {
-            // Open and create phonebook services(phonebook stores etc).
-            iContactController->CreatePhoneBookServiceL();
-            break;
-            }
-        case EPhoneViewHideToolbar:
-            {
-            iToolbarController->HideToolbar();
-            }
-            break;  
-
-        case EPhoneViewDisableKeyLock:
-            {
-            DisableKeyLock();
-            }
-            break;
-
-        default:
-            __PHONELOG( EBasic, EPhonePhoneapp,
-                "CPhoneViewController::ExecuteCommandL -> UnKnownMessage !");
-            break;
-        }
-    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ExecuteCommandL( aCmdId, aCallId )
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::ExecuteCommandL(
-    TPhoneViewCommandId aCmdId,
-    TInt aCallId )
-    {
-    __PHONELOGVIEWMSG( aCmdId, aCallId );
-    __ASSERT_DEBUG( aCallId > KErrNotFound,
-                    Panic( EPhoneViewParameterNotInitialized ) );
-
-    switch ( aCmdId )
-        {
-        case EPhoneViewRemoveCallHeader:
-            iBubbleWrapper->RemoveCallHeaderL( aCallId );
-            break;
-
-        case EPhoneViewRemoveFromConference:
-            iBubbleWrapper->RemoveFromConferenceL( aCallId );
-            break;
-
-        case EPhoneViewPrivateFromConference:
-            iBubbleWrapper->ConferenceMemberToPrivateL( aCallId );
-            break;
-
-        default:
-            __PHONELOG( EBasic, EPhonePhoneapp,
-             "CPhoneViewController::ExecuteCommandL -> UnKnownMessage !!! ");
-            break;
-        }
-    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId, aCallId );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ExecuteCommandL( aCmdId, aCommandParam )
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::ExecuteCommandL(
-    TPhoneViewCommandId aCmdId,
-    TPhoneCommandParam* aCommandParam )
-    {
-    __PHONELOGVIEWMSG( aCmdId, 0 );
-
-    switch ( aCmdId )
-        {
-        case EPhoneViewSetSendKeyDialerActivationFlag:
-            {
-            TPhoneCmdParamBoolean* booleanParam =
-                static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            iPhoneView->SetDialerActivation( booleanParam->Boolean() );
-            }
-            break;
-
-        case EPhoneViewAllowWaitingCallHeader:
-            AllowWaitingCallHeaderL( aCommandParam );
-            break;
-
-        case EPhoneViewCreateNumberEntry:
-            iBubbleWrapper->CreateNumberEntry();
-            if ( iDialer && !iDialerActive )
-                {
-                SetControltoDialerL();
-                }
-            // Pass the key event to number entry
-            iBubbleWrapper->HandleKeyEventL( aCommandParam );
-            break;
-
-        case EPhoneViewUpdateContextMenu:
-            {     
-            iMenuController->SetContextMenu( aCommandParam );     
-            } break; 
-
-        case EPhoneViewGetLocalizedNumberFromEntry:
-            iBubbleWrapper->GetLocalizedNumberEntryContent( aCommandParam );
-            break;
-
-        case EPhoneViewSetNumberEntryVisible:
-            if ( iDialer )
-                {
-                TPhoneCmdParamBoolean* booleanParam =
-                    static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-                if ( booleanParam->Boolean() )
-                    {
-                    SetControltoDialerL();
-                    }
-                else
-                    {
-                    // Set activate previous to false since dialer was set to
-                    // hidden status.
-                    iPhoneView->SetActivatePreviousApp( EFalse );
-                    SetControltoCallHandlingL();
-                    }
-                }
-            else
-                {
-                iBubbleWrapper->SetNumberEntryVisible( aCommandParam );
-                }
-            break;
-
-        case EPhoneViewGetNumberEntryCount:
-            iBubbleWrapper->GetNumberEntryCount( aCommandParam );
-            break;
-
-        case EPhoneViewMenuBarOpen:
-            iMenuController->SetNEVisibleFlag(
-                iBubbleWrapper->IsNumberEntryVisible() );
-            iMenuController->OpenMenuBarL( aCommandParam );
-            break;
-
-        case EPhoneViewUpdateCba:
-            SetCbaL( aCommandParam );
-            break;
-
-        case EPhoneViewMenuPane:
-            iMenuController->SetReplaceFlag( IsReplaceAllowed() );
-            iMenuController->DynInitMenuPaneL( aCommandParam );
-            break;
-
-        case EPhoneViewMenuBar:
-            iMenuController->DynInitMenuBar( aCommandParam );
-            break;
-
-        case EPhoneViewShowNote:
-            iNoteController->CreateNoteL( aCommandParam );
-            break;
-
-        case EPhoneViewShowGlobalNote:
-            iNoteController->CreateGlobalNoteL( aCommandParam );
-            break;
-
-        case EPhoneViewShowQuery:
-            iQueryController->CreateQueryL( aCommandParam );
-            break;
-
-        case EPhoneViewSetListQueryString:
-            iQueryController->SetListQueryStringL( aCommandParam );
-            break;
-
-        case EPhoneViewUpdateNoteSoftkeys:
-            iNoteController->UpdateNoteSoftkeysL( aCommandParam );
-            break;
-
-        case EPhoneViewShowProgressNote:
-            iNoteController->CreateProgressNoteL( aCommandParam );
-            break;
-
-        case EPhoneViewActivateAudioPathUIChanges:
-            UpdateAudioPathOptions( aCommandParam );
-            break;
-
-        case EPhoneViewActivateAudioAvailabilityUIChanges:
-            UpdateAudioAvailabilityOptions( aCommandParam );
-            break;
-
-        case EPhoneViewActivateMuteUIChanges:
-            iMenuController->SetMuteFlag( aCommandParam );
-            iBubbleWrapper->SetPhoneMuted( aCommandParam );
-            iIncallIndicator->HandleMuteChange( aCommandParam );
-            iAudioController->HandleMuteChange( aCommandParam );
-            iToolbarController->SetMuteFlag( aCommandParam );
-            if ( iButtonsController )
-                {
-                iButtonsController->SetMuteFlag( aCommandParam );
-                }
-            break;
-
-        case EPhoneViewBringAppToForeground:
-            {
-            TPhoneCmdParamInteger* integerParam =
-                   static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-            // If uid is phone app then call phone app specific foreground
-            // method.
-            if ( KUidPhoneApplication.iUid == integerParam->Integer() )
-                {
-                BringPhoneAppToForeground( aCommandParam );
-                }
-            else
-                {
-                BringAppToForeground( aCommandParam );
-                }
-            }
-            break;
-
-        case EPhoneViewSetNeedToSendToBackgroundStatus:
-            SetNeedToSendToBackground( aCommandParam );
-            break;
-
-       case EPhoneViewSetBlockingDialogStatus:
-            {
-            TPhoneCmdParamBoolean* booleanParam =
-                static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            SetBlockingDialogIsDisplayed( booleanParam->Boolean() );
-            }
-            break;
-
-       case EPhoneViewGetBlockingDialogStatus:
-            GetBlockingDialogIsDisplayed( aCommandParam );
-            break;
-
-        case EPhoneViewGetForegroundApplication:
-            GetForegroundApplication( aCommandParam );
-            break;
-
-        case EPhoneViewSetTopApplication:
-            SetTopApplicationL( aCommandParam );
-            break;
-
-        case EPhoneViewActivateApp:
-            ActivateAppL( aCommandParam );
-            break;
-
-        case EPhoneViewActivateAppView:
-            ActivateAppViewL( aCommandParam );
-            break;
-
-        case EPhoneViewActivateAppViewWithCustomMessage:
-            ActivateAppViewWithCustomMessageL( aCommandParam );
-            break;
-
-        case EPhoneViewActivateAppViewConventional:
-            ActivateAppViewConventionalL( aCommandParam );
-            break;
-
-        case EPhoneViewUpdateIncallIndicator:
-            iMenuController->CloseMenuBar();
-            iIncallIndicator->Update( aCommandParam );
-            iMenuController->SetCallInProgressFlag( aCommandParam );
-            break;
-
-        case EPhoneViewStartCapturingKey:
-            iKeyCaptureController->StartCapturingKey( aCommandParam );
-            break;
-
-        case EPhoneViewStopCapturingKey:
-            iKeyCaptureController->StopCapturingKey( aCommandParam );
-            break;
-
-        case EPhoneViewSetPointerCapture:
-            CapturePointerEvents( aCommandParam );
-            break;
-        case EPhoneViewSetGlobalNotifiersDisabled:
-            SetGlobalNotifiersDisabledL( aCommandParam );
-            break;
-        case EPhoneViewSetEikonNotifiersDisabled:
-            SetEikonNotifiersDisabled( aCommandParam );
-            break;
-
-        case EPhoneViewGetHoldFlag:
-            iMenuController->GetHoldFlag( aCommandParam );
-            break;
-
-        case EPhoneViewSetHoldFlag:
-            iMenuController->SetHoldFlag( aCommandParam );
-            if ( iButtonsController )
-                {
-                iButtonsController->SetHoldFlag( aCommandParam );
-                }
-            break;
-
-        case EPhoneViewSetVideoCallFlag:
-            if ( iButtonsController )
-                {
-                iButtonsController->SetVideoCallFlag( aCommandParam );
-                }
-            break;
-
-        case EPhoneViewGetConferenceAndSingleFlag:
-            iMenuController->GetConferenceAndSingleFlag( aCommandParam );
-            break;
-
-        case EPhoneViewSetConferenceAndSingleFlag:
-            iMenuController->SetConferenceAndSingleFlag( aCommandParam );
-            break;
-
-        case EPhoneViewGetSoftRejectFlag:
-            iMenuController->GetSoftRejectFlag( aCommandParam );
-            break;
-
-        case EPhoneViewSetSoftRejectFlag:
-            iMenuController->SetSoftRejectFlag( aCommandParam );
-            break;
-
-        case EPhoneViewSetServiceCodeFlag:
-            iMenuController->SetServiceCodeFlag( aCommandParam );
-
-            if ( iDialer )
-                {
-                iDialerController->SetServiceCodeFlagL( aCommandParam );
-                }
-            break;
-
-        case EPhoneViewGetTextQueryContent:
-            iQueryController->GetTextQueryContentL( aCommandParam );
-            break;
-
-        case EPhoneViewOpenSoftRejectEditor:
-            OpenSoftRejectMessageEditorL( aCommandParam );
-            break;
-
-        case EPhoneViewOpenMessageEditor:
-            OpenMessageEditorL( aCommandParam );
-            break;
-
-        case EPhoneViewOpenConferenceList:
-            iBubbleWrapper->OpenConferenceList( aCommandParam );
-            iMenuController->SetConferenceParticipantsListVisibleFlag(
-                                                              aCommandParam );
-            break;
-
-        case EPhoneViewGetConferenceListVisibleFlag:
-            iMenuController->GetConferenceParticipantsListVisibleFlag(
-                                                              aCommandParam );
-            break;
-
-        case EPhoneViewMoveHighLightInList:
-            iBubbleWrapper->MoveHighlightInConference( aCommandParam );
-            break;
-
-        case EPhoneViewGetCountOfActiveCalls:
-            iBubbleWrapper->GetActiveCallsCount( aCommandParam );
-            break;
-
-        case EPhoneViewSetNaviPaneAudioVolume:
-            iAudioController->HandleVolumeChangeL( aCommandParam );
-            break;
-
-        case EPhoneViewSetTitlePanePicture:
-            iStatusPane->SetTitlePanePictureL( aCommandParam );
-            break;
-
-       case EPhoneViewSetSecurityMode:
-            SetSecurityMode( aCommandParam );
-            break;
-
-       case EPhoneViewGetSecurityModeStatus:
-            GetSecurityModeStatus( aCommandParam );
-            break;
-
-       case EPhoneViewSetStatusPaneVisible:
-            SetStatusPaneVisible( aCommandParam );
-            break;
-
-        case EPhoneViewSetBackgroundImageBitmap:
-            iPhoneView->SetBitmap( aCommandParam );
-            break;
-
-        case EPhoneViewGetBackgroundImageBitmap:
-            iPhoneView->GetBitmap( aCommandParam );
-            break;
-
-        case EPhoneViewGetIsConference:
-            iBubbleWrapper->GetIsConference( aCommandParam );
-            break;
-
-        case EPhoneViewPlayRingTone:
-            iRingingTonePlayerAO->PlayRingToneL( aCommandParam );
-            break;
-
-        case EPhoneViewGetIsNoteVisible:
-            iNoteController->IsNoteVisible( aCommandParam );
-            break;
-
-        case EPhoneViewIsNoteActive:
-            iNoteController->IsNoteActive( aCommandParam );
-            break;
-
-        case EPhoneViewIsActiveNoteDissmissableByKeyEvent:
-            iNoteController->IsActiveNoteDissmissableByKeyEvent( aCommandParam );
-            break;
-
-        case EPhoneViewGetIsProgressNoteVisible:
-            iNoteController->IsProgressNoteVisible( aCommandParam );
-            break;
-
-        case EPhoneViewSetPhoneNumberAvailableInPhoneEngine:
-            iMenuController->SetPhoneNumberAvailableInPhoneEngine(
-            aCommandParam );
-            break;
-
-        case EPhoneViewSendAiwCommand:
-            iMenuController->SendAiwCommandL( aCommandParam );
-            break;
-
-        case EPhoneViewIsQuery:
-            iQueryController->IsQueryActive( aCommandParam );
-            break;
-
-        case EPhoneViewToggleNumberEntryAlphaNumericMode:
-            {
-            iBubbleWrapper->ToggleNumberEntryAlphaNumericMode( aCommandParam );
-            TPhoneCmdParamBoolean*  modeAlpha =
-                static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            iMenuController->SetAlphaModeFlag( modeAlpha->Boolean() );
-            }
-            break;
-
-        case EPhoneViewSetConfrenceOptionsFlag:
-            {
-            TPhoneCmdParamBoolean* param =
-                            static_cast<TPhoneCmdParamBoolean*>(aCommandParam);
-            iMenuController->SetRemoveConfrenceOptionsFlag( param->Boolean() );
-            }
-            break;
-
-        case EPhoneViewGetSoftRejectWindowGroupId:
-            GetSoftRejectWindowGroupId( aCommandParam );
-            break;
-
-        case EPhoneViewSetTouchPaneButtons:
-            iButtonsController->SetButtonSet( aCommandParam );
-            break;
-
-        case EPhoneViewSetTouchPaneVisible:
-            {
-            TPhoneCmdParamBoolean* booleanParam =
-                static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            iBubbleWrapper->SetTouchPaneVisible( booleanParam->Boolean() );
-            }
-            break;
-
-        case EPhoneViewSetDtmfDialerViewVisible:
-            {
-            if ( iDialer )
-                {
-                TPhoneCmdParamBoolean* booleanParam =
-                    static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-                iDialerController->SetDtmfDialerVisibleL(
-                                                booleanParam->Boolean() );
-                 }
-            break;
-            }
-
-        case EPhoneViewSetRetrictedDialer:
-            {
-            if ( iDialer )
-                {
-                TPhoneCmdParamBoolean* booleanParam =
-                    static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-                iDialerController->SetRestrictedDialer(
-                                                booleanParam->Boolean() );
-                }
-            break;
-            }
-        case EPhoneViewSetDtmfOptionsFlag:
-            {
-            TPhoneCmdParamBoolean*  booleanParam =
-                static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            iMenuController->SetAllowDtmfOptionsFlag(
-                                                booleanParam->Boolean() );
-            break;
-            }
-
-        case EPhoneViewSetVideoCallDTMFVisibilityFlag:
-            {
-            TPhoneCmdParamBoolean*  booleanParam =
-                static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            iMenuController->SetHideVideoCallDTMFVisibilityFlag(
-                                                    booleanParam->Boolean() );
-            break;
-            }
-
-        case EPhoneViewShowVTSetupFailedCreateCallToSameContactQuery:
-            iQueryController->CreateQueryL( aCommandParam );
-            break;
-
-        case EPhoneViewGetActivatePreviousApp:
-            {
-            TPhoneCmdParamBoolean*  booleanParam =
-                static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            booleanParam->SetBoolean( iPhoneView->GetActivatePreviousApp() );
-            }
-            break;
-
-        case EPhoneViewShowCustomizedDialer:
-            {
-            TPhoneCmdParamCustomDialer* customDialerParam =
-                static_cast<TPhoneCmdParamCustomDialer*>( aCommandParam );
-            iDialerController->ShowCustomizedDialerL(
-                                      customDialerParam->DialerController() );
-            }
-            break;
-        case EPhoneViewGetNumberFromEntry:
-            {
-            iBubbleWrapper->GetNumberEntryContent( aCommandParam );
-            break;
-            }
-        case EPhoneViewUpdateContactByString:
-            {
-            TPhoneCmdParamString* paramString =
-                    static_cast<TPhoneCmdParamString*>( aCommandParam );
-
-            OpenAddToContactL( EPbkCmdDataSaveAddToExisting,
-                               *paramString->String() );
-            }
-            break;
-
-        case EPhoneViewAddContactByString:
-            {
-            TPhoneCmdParamString* paramString =
-                    static_cast<TPhoneCmdParamString*>( aCommandParam );
-
-            OpenAddToContactL( EPbkCmdDataSaveCreateNew,
-                               *paramString->String() );
-            }
-            break;
-        case EPhoneViewSetNoConnectedCalls:
-            {
-            iQueryController->SetNoConnectedCalls( aCommandParam );
-            }
-            break;
-        case EPhoneViewSetToolbarDimming:
-            {
-            TPhoneCmdParamBoolean*  booleanParam =
-                static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            iToolbarController->DimToolbar( booleanParam->Boolean());
-            break;
-            }
-
-        default:
-            __PHONELOG( EBasic, EPhonePhoneapp,
-             "CPhoneViewController::ExecuteCommandL -> UnKnownMessage !!! " );
-            break;
-        }
-
-    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId,
-                                                            *aCommandParam );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ExecuteCommandL( aCmdId, aCallId, aCommandParam )
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::ExecuteCommandL(
-    TPhoneViewCommandId aCmdId,
-    TInt aCallId,
-    TPhoneCommandParam* aCommandParam )
-    {
-    __PHONELOGVIEWMSG( aCmdId, aCallId );
-
-    switch ( aCmdId )
-        {
-        case EPhoneViewUpdateBubble:
-            HandleUpdateBubbleL( aCallId, aCommandParam );
-            break;
-
-        case EPhoneViewCreateCallHeader:
-            iBubbleWrapper->CreateCallHeaderL( aCallId, aCommandParam );
-            break;
-
-        case EPhoneViewUpdateCallHeaderRemoteInfoData:
-            iBubbleWrapper->UpdateCallHeaderDisplay( aCallId, aCommandParam );
-            break;
-
-        case EPhoneViewUpdateCallHeaderRemoteInfoDataAndLabel:
-            iBubbleWrapper->UpdateCallHeaderAndLabel( aCallId, aCommandParam );
-            break;
-
-        case EPhoneViewCreateEmergencyCallHeader:
-            iBubbleWrapper->CreateEmergencyCallHeaderL( aCallId,
-                                                        aCommandParam );
-            break;
-
-        case EPhoneViewCreateConference:
-            iBubbleWrapper->CreateConferenceL( aCallId, aCommandParam );
-            break;
-
-        case EPhoneViewGetCallExistsInConference:
-            iBubbleWrapper->CallExistsInConference( aCallId, aCommandParam );
-            break;
-
-        case EPhoneViewCipheringInfoChange:
-            {
-            iBubbleWrapper->UpdateCipheringIndicator( aCallId, aCommandParam );
-            }
-            break;
-
-        default:
-            __PHONELOG( EBasic, EPhonePhoneapp,
-             "CPhoneViewController::ExecuteCommandL -> UnKnownMessage !!! " );
-            break;
-        }
-    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId, aCallId,
-                                                            *aCommandParam );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ExecuteCommandL( aCmdId, aCallId, aMessage )
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::ExecuteCommandL(
-    TPhoneViewCommandId aCmdId,
-    TInt aCallId,
-    TDesC& aMessage )
-    {
-    __PHONELOGVIEWMSG( aCmdId, aCallId );
-
-    switch( aCmdId )
-        {
-        case EPhoneViewSetNumberEntryContent:
-            iBubbleWrapper->SetNumberEntryContent( aMessage );
-            break;
-
-        case EPhoneViewSetTitlePaneContent:
-            iStatusPane->SetTitlePaneContentL( aMessage );
-            break;
-
-        case EPhoneViewSetNaviPaneContent:
-            {
-            if ( !iDialer )
-                {
-                CAknNaviLabel* naviLabel = static_cast<CAknNaviLabel*>(
-                    iStatusPane->NaviDecorator().DecoratedControl() );
-                naviLabel->SetTextL( aMessage );
-                iStatusPane->NaviDecorator().DrawDeferred();
-                }
-
-            }
-            break;
-
-        case EPhoneViewLaunchHelpApplication:
-            LaunchHelpApplicationL( aMessage );
-            break;
-
-        case EPhoneViewUpdateCallHeaderCallDuration:
-            iBubbleWrapper->UpdateCallDuration( aCallId, aMessage );
-            break;
-
-        default:
-            __PHONELOG (EBasic, EPhonePhoneapp, " CPhoneViewController::ExecuteCommandL -> UnHandledMessage !!! ");
-            break;
-        }
-    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId, aCallId, &aMessage );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ExecuteCommand( aCmdId )
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::ExecuteCommand(
-    TPhoneViewCommandId aCmdId )
-    {
-    switch( aCmdId )
-        {
-        case EPhoneResetTouchButtons:
-            if ( iButtonsController )
-                {
-                iButtonsController->SetToggleButtons();
-                }
-            break;
-
-        case EPhoneViewBeginUpdate:
-            {
-            iBubbleWrapper->StartChanges();
-            }
-            break;
-
-        case EPhoneViewEndUpdate:
-            {
-            iBubbleWrapper->EndChanges();
-            }
-            break;
-        case EPhoneViewCloseSingleItemFetchDialog:
-            {
-            if ( iSingleItemFetch )
-                {
-                // Cancel the Single Item Fetch
-                iSingleItemFetch->Delete();
-                iSingleItemFetch = NULL;
-                }
-            }
-          break;
-
-        case EPhoneViewPrepareIcons:
-          iBubbleWrapper->BubbleManager().PrepareIcons();
-          break;
-
-        case EPhoneViewLoadPlugins:
-          iBubbleWrapper->LoadPlugins();
-          break;
-
-        case EPhoneViewCipheringInfoChangePlayTone:
-            {
-            iRingingTonePlayerAO->PlayUnsecureVoIPTone();
-            }
-            break;
-
-        default:
-            __PHONELOG (EBasic, EPhonePhoneapp, " CPhoneViewController::ExecuteCommand -> UnHandledMessage !!! ");
-            break;
-        }
-    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ExecuteCommand( aCmdId, aCommandParam )
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::ExecuteCommand(
-    TPhoneViewCommandId aCmdId,
-    TPhoneCommandParam* aCommandParam )
-    {
-    __PHONELOGVIEWMSG( aCmdId, 0 );
-
-    switch ( aCmdId )
-        {
-        case EPhoneViewGetIsConferenceInSelectionMode:
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam )->SetBoolean(
-                iBubbleWrapper->BubbleManager().SelectionIdInConference() !=
-                KBubbleInvalidId );
-            break;
-
-        case EPhoneViewEnableTouchButton:
-            if ( iButtonsController )
-                {
-                iButtonsController->SetButtonEnabled( aCommandParam );
-                }
-            break;
-
-        case EPhoneViewDisableTouchButton:
-            if ( iButtonsController )
-                {
-                iButtonsController->SetButtonDisabled( aCommandParam );
-                }
-            break;
-
-        case EPhoneViewGetAudioVolumeLevel:
-            {
-            TInt level = iAudioController->VolumeLevelFromControl();
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam )->SetInteger(
-                level );
-            }
-           break;
-
-        case EPhoneViewBeginTransEffect:
-            {
-            if ( iDialer )
-                {
-                TPhoneTransEffectType type =
-                    static_cast<TPhoneCmdParamTransEffect*>( aCommandParam )->Type();
-                TBool isForeground = iAppui->IsForeground();
-
-                if ( isForeground && // newer run effect if not at front
-                     ( ( type == EPhoneTransEffectDialerCreate && !iDialerActive ) ||
-                       ( type == EPhoneTransEffectDialerOpen && !iDialerActive &&
-                         iBubbleWrapper->IsNumberEntryUsed() ) ||
-                       ( type == EPhoneTransEffectDialerClose && iDialerActive ) ) )
-                    {
-                    HandleTransitionEffect( type );
-                    }
-                }
-            break;
-            }
-
-        case EPhoneViewEndTransEffect:
-            {
-            if ( iDialer )
-                {
-                HandleTransitionEffect(
-                    static_cast<TPhoneCmdParamTransEffect*>( aCommandParam )->Type() );
-                }
-            break;
-            }
-        case EPhoneViewGetNumberFromEntry:
-            {
-            iBubbleWrapper->GetNumberEntryContent( aCommandParam );
-            break;
-            }
-
-        case EPhoneViewGetKeyLockStatus:
-            {
-            TPhoneCmdParamBoolean*  booleanParam = static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-            booleanParam->SetBoolean( iKeyLock.IsKeyLockEnabled() );
-            }
-            break;
-
-        case EPhoneViewSetNumberEntryObserver:
-            {
-            NumberEntryChangedHandler()->SetNumberEntryChangedCallBack(
-                                                aCommandParam );
-            break;
-            }
-        case EPhoneViewGetSingleItemFetchType:
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam )->SetInteger( SingleItemFetchType() );
-            break;
-
-        case EPhoneViewSetPhoneCustomization:
-            {
-            TPhoneCmdParamPointer* pointerParam =
-                static_cast<TPhoneCmdParamPointer*>( aCommandParam );
-            MPhoneCustomization* phoneCustomization =
-                static_cast<MPhoneCustomization*>( pointerParam->Pointer() );
-            iBubbleWrapper->SetPhoneCustomization( phoneCustomization );
-            }
-            break;
-     case EPhoneViewSetViewCustomization:
-            {
-            TPhoneCmdParamPointer* pointerParam =
-                static_cast<TPhoneCmdParamPointer*>( aCommandParam );
-            iCustomization =
-                static_cast<MPhoneViewCustomization*>( pointerParam->Pointer() );
-            }
-            break;
-        case EPhoneViewSetButtonCustomization:
-            {
-            if ( iButtonsController )
-                {
-                TPhoneCmdParamPointer* pointerParam =
-                    static_cast<TPhoneCmdParamPointer*>( aCommandParam );
-                MPhoneButtonCustomization* customization =
-                    static_cast<MPhoneButtonCustomization*>( pointerParam->Pointer() );
-                iButtonsController->SetCustomization( customization );
-                }
-            }
-            break;
-			
-        case EPhoneViewEnableToolbarButton:
-            TPhoneCmdParamInteger*  integerParam =
-                static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-            iToolbarController->SetToolbarButtonDimmed( integerParam->Integer(), EFalse );
-            break;
-
-        default:
-            __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneViewController::ExecuteCommand -> UnHandledMessage !!! " );
-            break;
-        }
-    CPhoneMediatorFactory::Instance()->Sender()->SendEvent( aCmdId, *aCommandParam );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::HandleCommandL( aCmdId )
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPhoneViewResponseId CPhoneViewController::HandleCommandL(
-    TPhoneViewCommandId aCmdId )
-    {
-    __PHONELOGVIEWMSG( aCmdId, 0 );
-
-    TPhoneViewResponseId viewResponse = EPhoneViewResponseSuccess;
-
-    switch ( aCmdId )
-        {
-        case EPhoneViewGetNumberEntryIsUsedStatus:
-            viewResponse = iBubbleWrapper->IsNumberEntryUsed() ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            break;
-
-        case EPhoneViewGetNumberEntryIsVisibleStatus:
-            if ( iDialer )
-                {
-                viewResponse = iDialerActive ?
-                    EPhoneViewResponseSuccess :
-                    EPhoneViewResponseFailed;
-                }
-            else
-                {
-                viewResponse = iBubbleWrapper->IsNumberEntryVisible() ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-                }
-             break;
-
-        case EPhoneViewIsNumberEntryNumericMode:
-            viewResponse = iBubbleWrapper->IsNENumericMode() ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            break;
-
-        case EPhoneViewGetNeedToSendToBackgroundStatus:
-            viewResponse = NeedToSendToBackground() ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            break;
-
-        case EPhoneViewGetTopApplicationIsDisplayedStatus:
-            {
-            const TInt foregroundWg = ForegroundApplicationWindowGroupId();
-            const TBool topAppDisplayed = ( IdleWindowGroupId() == foregroundWg ) ||
-                ( ApplicationWindowGroupId() == foregroundWg );
-            viewResponse = topAppDisplayed ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            }
-            break;
-
-        case EPhoneViewGetTitlePaneIsVisibleStatus:
-            viewResponse = iStatusPane->IsTitlePaneVisible( *this ) ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            break;
-            
-        case EPhoneViewIsMenuBarVisible:
-            viewResponse = iMenuController->IsMenuBarVisible() ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            break;
-
-        case EPhoneViewIsStraightCallToVideoMailBox:
-          {
-          if( !iVmbxHandler )
-              {
-              iVmbxHandler = CPhoneVmbxHandler::NewL();
-              }
-
-          viewResponse = iVmbxHandler->IsStraightCallToVideoMailBox() ?
-              EPhoneViewResponseSuccess :
-              EPhoneViewResponseFailed;
-          }
-          break;
-
-        case EPhoneViewIsKeyLockEnabled:
-            viewResponse = IsKeyLockEnabled() ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            break;          
-
-    // Dialer specific commands start
-
-    // Dialer handles these commands.
-    // ** TODO Here we need just to flag if functionality creates blocking dialog.
-        case EPhoneDialerCmdLog:
-            {
-            LogsUiCmdStarter::CmdStartL( LogsUiCmdStarterConsts::KDialledView());
-            }
-            break;
-
-        case EPhoneDialerCmdSpeedDial:
-            {
-            // Launch speeddial application.
-            TPhoneCmdParamAppInfo appInfoParam;
-            appInfoParam.SetAppUid( KUidSpdia );
-            ExecuteCommandL( EPhoneViewActivateApp, &appInfoParam );
-            break;
-            }
-            
-        case EPhoneDialerCallSettings:
-            {
-            CGSLauncher* launcher = CGSLauncher::NewLC();
-            launcher->LaunchGSViewL( TUid::Uid( 0x102824A2),
-                                    TUid::Uid( 0x100058B3),
-                                    KNullDesC8 );
-            CleanupStack::PopAndDestroy( launcher );
-            break;
-            }
-            
-        case EPhoneViewIsDTMFEditorVisible:
-            if ( iDialer )
-                {
-                viewResponse = iDialerController->IsDTMFDialerVisible() ?
-                    EPhoneViewResponseSuccess :
-                    EPhoneViewResponseFailed;
-                }
-            else // non-touch.
-                {
-                viewResponse = iQueryController->IsDTMFQueryVisible() ?
-                    EPhoneViewResponseSuccess :
-                    EPhoneViewResponseFailed;
-                }
-            break;
-            
-        case EPhoneViewIsConferenceInExpandedMode:
-            viewResponse = iBubbleWrapper->IsConferenceInExpandedMode() ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            break;
-
-        case EPhoneViewOpenNumberEntry:
-            if ( iDialer )
-                {
-                TPhoneCmdParamBoolean booleanParam;
-                booleanParam.SetBoolean( ETrue );
-
-                if ( iBubbleWrapper->IsNumberEntryUsed() )
-                    {
-                    // Launch dialer.
-                    ExecuteCommandL( EPhoneViewSetNumberEntryVisible, &booleanParam );
-                    }
-                else // dialer doesnt exist.
-                    {
-                     // Create and launch dialer.
-                    ExecuteCommandL( EPhoneViewCreateNumberEntry, &booleanParam );
-                    }
-                // Set Number Entry CBA
-                TPhoneCmdParamInteger integerParam;
-                integerParam.SetInteger( CPhoneMainResourceResolver::Instance()->
-                    ResolveResourceID( EPhoneNumberAcqCBA ) );
-                ExecuteCommandL( EPhoneViewUpdateCba, &integerParam );
-                // Set flag to false because dialler is set to open status.
-                iPhoneView->SetPhoneAppViewToDialer( EFalse );
-              }
-          break;
-
-        case EPhoneViewOpenCallHandling:
-            if ( iDialer )
-                {
-                if ( iBlockingDialogIsDisplayed )
-                    {
-                    RemovePhoneDialogsL();
-                    }
-                // Remove DTMF dialer when exist
-                if ( iDialerController->IsDTMFDialerVisible() )
-                    {
-                    static_cast<MEikCommandObserver*>( CEikonEnv::Static()->EikAppUi() )
-                    ->ProcessCommandL( EPhoneDtmfDialerExit );
-                    }
-                else if ( iCustomization && 
-                          iDialerController->IsCustomizedDialerVisible() )
-                    {
-                    iCustomization->HandleCommandL( 
-                       *this, EPhoneViewOpenCallHandling, NULL );
-                    }
-                else
-                    {
-                    SetControltoCallHandlingL();
-                    }
-                }
-          break;
-
-        case EPhoneViewIsIdleTopApp:
-            {
-            viewResponse = CPhonePubSubProxy::Instance()->Value(
-                    KPSUidUikon, KUikVideoCallTopApp ) == IdleAppUid() ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            }
-            break;
-
-        case EPhoneViewSetDialerControlVisible:
-            {
-            // If dialer was not active and needtosendback is false
-            // then check if dialer view is to be opened.
-            if ( !iDialerActive &&
-                 !iNeedToSendToBackground &&
-                 iPhoneView->PhoneAppViewToDialer() )
-                {
-                SetControltoDialerL();
-                // Reset flag.
-                iPhoneView->SetPhoneAppViewToDialer( EFalse );
-                viewResponse = EPhoneViewResponseSuccess;
-                }
-            else
-                {
-                // Reset flag.
-                iPhoneView->SetPhoneAppViewToDialer( EFalse );
-                viewResponse = EPhoneViewResponseFailed;
-                }
-            }
-            break;
-// Dialer specific commands end.
-
-        case EPhoneIsCustomizedDialerVisible:
-            {
-            viewResponse = iDialerController->IsCustomizedDialerVisible() ?
-                EPhoneViewResponseSuccess :
-                EPhoneViewResponseFailed;
-            }
-            break;
-
-        case EPhoneViewHideCustomizedDialer:
-            {
-            iDialerController->HideCustomizedDialer();
-            viewResponse = EPhoneViewResponseSuccess;
-            }
-            break;
-        case EPhoneViewShowToolbar:
-            {
-            iToolbarController->ShowToolbar();
-            }
-            break;
-        default:
-            viewResponse = EPhoneViewResponseFailed;
-            __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneViewController::HandleCommandL -> UnKnownMessage !!! ");
-            break;
-        }
-
-    return viewResponse;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::HandleCommand( aCmdId, aCommandParam )
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TPhoneViewResponseId CPhoneViewController::HandleCommandL(
-    TPhoneViewCommandId aCmdId,
-    TPhoneCommandParam* aCommandParam )
-    {
-    __PHONELOGVIEWMSG( aCmdId, 0 );
-    TPhoneViewResponseId viewResponse = EPhoneViewResponseSuccess;
-    TInt err;
-    
-    switch ( aCmdId )
-        {
-        case EPhoneViewSendKeyEventToNumberEntry:
-            {
-            // Pass the key event to the Bubble Manager (ignore key
-            // reponse)
-            iBubbleWrapper->HandleKeyEventL( aCommandParam );
-
-            // Indicate whether the number entry has been cleared
-            if ( iBubbleWrapper->CountNumberEntryCharacters() == 0 && !iDialer )
-                {
-                viewResponse = EPhoneViewResponseNumberEntryCleared;
-                }
-            else
-                {
-                viewResponse = EPhoneViewResponseSuccess;
-                }
-            break;
-            }
-
-        case EPhoneViewAssignSpeedDialLocation:
-            {
-            if ( AssignSpeedDialLocation( aCommandParam ) )
-                {
-                viewResponse = EPhoneViewResponseSuccess;
-                }
-            else
-                {
-                viewResponse = EPhoneViewResponseFailed;
-                }
-            break;
-            }
-
-        case EPhoneViewSelectedConfMember:
-            {
-            if ( iBubbleWrapper->SelectedConfMemberCallIdL( aCommandParam ) )
-                {
-                viewResponse = EPhoneViewResponseSuccess;
-                }
-            else
-                {
-                viewResponse = EPhoneViewResponseFailed;
-                }
-            break;
-            }
-
-        case EPhoneViewGetCallState:
-            {
-            if ( iBubbleWrapper->GetCallState( aCommandParam ) )
-                {
-                viewResponse = EPhoneViewResponseSuccess;
-                }
-            else
-                {
-                viewResponse = EPhoneViewResponseFailed;
-                }
-            break;
-            }
-
-        case EPhoneViewGetCallIdByState:
-            {
-            if ( iBubbleWrapper->GetCallIdByState( aCommandParam ) )
-                {
-                viewResponse = EPhoneViewResponseFailed;
-                }
-            else
-                {
-                viewResponse = EPhoneViewResponseSuccess;
-                }
-            break;
-            }
-
-        case EPhoneViewOpenSingleItemFetchDialog:
-            {
-            // Create CPhoneSingleItemFetch, if not exist
-            if ( !iSingleItemFetch )
-                {
-                iSingleItemFetch = CPhoneSingleItemFetch::NewL(
-                    iEikEnv, *this, *iContactController, *iStatusPane );
-                }
-
-            iBlockingDialogIsDisplayed = ETrue;
-
-            TRAP( err, iSingleItemFetch->OpenSingleItemFetchDialogL( aCommandParam ))
-            if ( err )
-                {
-                iBlockingDialogIsDisplayed = EFalse;
-                User::Leave( err );
-                }
-            break;
-            }
-
-        case EPhoneViewGetNumberFromSpeedDialLocation:
-            if ( iBlockingDialogIsDisplayed )
-                {
-                viewResponse = EPhoneViewResponseFailed;
-                }
-            else
-                {
-                TBool status;
-                TRAP( err, status = GetNumberFromSpeedDialLocationL( aCommandParam ))
-                if ( err )
-                    {
-                    viewResponse = EPhoneViewResponseFailed;
-                    // Set and reset in GetNumberFromSpeedDialLocationL when not leave
-                    iBlockingDialogIsDisplayed = EFalse;
-                    }
-                else if ( status )
-                    {
-                    viewResponse = EPhoneViewResponseSuccess;
-                    }
-                else
-                    {
-                    viewResponse = EPhoneViewResponseFailed;
-                    }
-                }
-            break;
-
-        case EPhoneViewGetCustomizedDialerMenuResourceId:
-            {
-            TInt resId = iDialerController->CustomizedMenuResourceId();
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam )->SetInteger( resId );
-            viewResponse = EPhoneViewResponseSuccess;
-            }
-            break;
-        case EPhoneViewGetCustomizedDialerCbaResourceId:
-            {
-            TInt resId = iDialerController->CustomizedCbaResourceId();
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam )->SetInteger( resId );
-            viewResponse = EPhoneViewResponseSuccess;
-            }
-            break;
-
-        default:
-            if ( iCustomization )
-                {
-                // Let customization handle view command
-                if ( iCustomization->HandleCommandL(
-                        *this, aCmdId, aCommandParam ) )
-                    {
-                    viewResponse = EPhoneViewResponseSuccess;
-                    }
-                else
-                    {
-                    viewResponse = EPhoneViewResponseFailed;
-                    }
-                }
-            else
-                {
-                __PHONELOG( EBasic, EPhonePhoneapp, "CPhoneViewController::HandleCommandL -> UnKnownMessage !!! ");
-                }
-            break;
-        }
-
-    return viewResponse;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::HandleTitlePaneActiveL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::HandleTitlePaneActiveL( TBool aActive )
-    {
-    if ( aActive )
-        {
-        iStatusPane->UpdateTitlePane();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ApplicationWindowGroupId
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPhoneViewController::ApplicationWindowGroupId()
-    {
-    TInt phoneAppWg = iEikEnv.RootWin().Identifier();
-    __PHONELOG1( EBasic, EPhoneUIView,
-      "CPhoneViewController::ApplicationWindowGroupId - PhoneApplicationWindowGroupId = (%d)",
-      phoneAppWg );
-    return phoneAppWg;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::IdleWindowGroupId
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPhoneViewController::IdleWindowGroupId()
-    {
-    if ( !iIdleWg )
-        {
-        // Save Idle window group.
-        TApaTaskList appList( iEikEnv.WsSession() );
-        TApaTask bring = appList.FindApp( TUid::Uid( IdleAppUid() ) );
-        if ( bring.Exists() )
-            {
-            iIdleWg = bring.WgId();
-            __PHONELOG1( EBasic, EPhoneUIView,
-              "CPhoneViewController::ConstructL -> iIdleWindowGroupId = (%d)",
-              iIdleWg );
-            }
-        }
-
-    return iIdleWg;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::GetSoftRejectWindowGroupId
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::GetSoftRejectWindowGroupId(
-                                    TPhoneCommandParam* aCommandParam )
-    {
-    TInt softRejectWg( KErrNotFound );
-    TPhoneCmdParamInteger* integerParam =
-        static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-    TApaTaskList appList( iEikEnv.WsSession() );
-    TApaTask bring = appList.FindApp( TUid::Uid( KSenduiUniEditorUidValue ) );
-    if ( bring.Exists() )
-        {
-        softRejectWg = bring.WgId();
-        __PHONELOG1( EBasic, EPhoneUIView,
-            "CPhoneViewController::SoftRejectWindowGroupId = (%d)",
-            softRejectWg );
-        }
-    integerParam->SetInteger( softRejectWg );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ForegroundApplicationWindowGroupId
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPhoneViewController::ForegroundApplicationWindowGroupId()
-    {
-    TInt result(0);
-    TRAP_IGNORE( result = DoFetchForegroundApplicationWindowGroupIdL(
-                          iEikEnv ) );
-    __PHONELOG1( EBasic,
-            EPhoneUIView,
-            "CPhoneViewController::ForegroundApplicationWindowGroupId() GroupId %d",
-            result );
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::DoFetchForegroundApplicationWindowGroupIdL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CPhoneViewController::DoFetchForegroundApplicationWindowGroupIdL(
-    CEikonEnv& aEnv )
-    {
-    TInt result = 0;
-
-    RWsSession& wsSession = aEnv.WsSession();
-
-    const TInt numWg =
-        wsSession.NumWindowGroups(
-            KPhoneApplicationWindowGroupPriority );
-
-    CArrayFixFlat<TInt>* wgList =
-        new (ELeave) CArrayFixFlat<TInt>( numWg );
-    CleanupStack::PushL( wgList );
-    wgList->SetReserveL( numWg );
-
-    // Get list of window groups; all applications should be at priority 0.
-    //
-    if ( wsSession.WindowGroupList(
-        KPhoneApplicationWindowGroupPriority,
-        wgList ) == KErrNone )
-        {
-        if ( wgList->Count() )
-            {
-            result = wgList->At( 0 ); // The very first window group id
-            }
-        }
-
-    CleanupStack::PopAndDestroy( wgList );
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetHiddenL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::SetHiddenL( const TBool aHidden )
-    {
-    __PHONELOG( EBasic, EPhoneUIView,"CPhoneViewController::SetHiddenL()" )
-    CApaWindowGroupName* windowGroupName =
-        CApaWindowGroupName::NewLC(
-            iEikEnv.WsSession(),
-            iEikEnv.RootWin().Identifier() );
-    windowGroupName->SetHidden( aHidden );
-    User::LeaveIfError(
-        windowGroupName->SetWindowGroupName(
-            iEikEnv.RootWin() ) );
-    CleanupStack::PopAndDestroy( windowGroupName );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::HandleResourceChangeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::HandleResourceChangeL( TInt aType )
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-                        "CPhoneViewController::HandleResourceChangeL()" )
-    // Notify the bubble that there has been a resource change
-    iBubbleWrapper->Control()->HandleResourceChange( aType );
-
-    // Notify dialer and switch statuspane layout.
-    if ( iDialer )
-        {
-        if ( aType == KEikDynamicLayoutVariantSwitch )
-            {
-            SwitchLayoutToFlatStatusPaneL( iDialerActive );
-            
-            if ( !iDialerActive && Layout_Meta_Data::IsLandscapeOrientation() )
-                {        
-                iDialerController->HideToolbar(); 
-                }
-            }
-        static_cast<CCoeControl*>(iDialer)->HandleResourceChange( aType );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::BlockingDialogIsDisplayed
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CPhoneViewController::BlockingDialogIsDisplayed() const
-    {
-    return iBlockingDialogIsDisplayed;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::HandleLayoutChange
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::HandleLayoutChange( TRect aRect )
-    {
-    __PHONELOG( EBasic, EPhoneUIView,"CPhoneViewController::HandleLayoutChange()" )
-    iPhoneView->SetRect( aRect );
-    if ( iDialerView )
-	    {
-		iDialerView->SetRect( aRect );
-		iStatusPane->UpdateTitlePane();
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::StatusPaneDisplayed
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CPhoneViewController::StatusPaneDisplayed()
-    {
-    return  CPhoneStatusPane::Instance()->IsVisible();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::IdleAppUid
-// ---------------------------------------------------------------------------
-//
-TInt CPhoneViewController::IdleAppUid()
-    {
-    if ( iIdleUid == KErrNotFound )
-        {
-        // Get Idle's UID from PubSub.
-        iIdleUid = CPhonePubSubProxy::Instance()->Value(
-            KPSUidAiInformation,
-            KActiveIdleUid );
-
-        __PHONELOG1( EBasic, EPhoneUIView,
-            "CPhoneViewController::ConstructL -> iIdleUid = (%d)", iIdleUid );
-        }
-    return iIdleUid;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetBlockingDialogIsDisplayed
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneViewController::SetBlockingDialogIsDisplayed(
-        TBool aBlockingDialog )
-    {
-    iBlockingDialogIsDisplayed = aBlockingDialog;
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::SetBlockingDialogIsDisplayed(%d)",
-        iBlockingDialogIsDisplayed );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::GetBlockingDialogIsDisplayed
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::GetBlockingDialogIsDisplayed(
-    TPhoneCommandParam* aCommandParam )
-    {
-    if( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanValue =
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-        booleanValue->SetBoolean( iBlockingDialogIsDisplayed );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::GetSecurityModeStatus
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::GetSecurityModeStatus(
-    TPhoneCommandParam* aCommandParam )
-    {
-    if( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdBoolean )
-        {
-        TPhoneCmdParamBoolean* booleanValue =
-            static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-        booleanValue->SetBoolean( iPhoneView->IsSecurityMode() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetNeedToSendToBackground
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetNeedToSendToBackground(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamBoolean* booleanParam = static_cast<TPhoneCmdParamBoolean*>(
-        aCommandParam );
-
-    iNeedToSendToBackground = booleanParam->Boolean();
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::SetNeedToSendToBackground(%d)",
-        iNeedToSendToBackground );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::NeedToSendToBackground
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneViewController::NeedToSendToBackground()
-    {
-    return iNeedToSendToBackground;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SendToBackgroundL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SendToBackgroundL()
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::SendToBackgroundL" );
-
-    TApaTaskList appList( iEikEnv.WsSession() );
-    TApaTask phoneApp = appList.FindApp( KUidPhoneApplication );
-    iSendBack = EFalse;
-
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::SendToBackgroundL - phoneApp.WgId() (%d)",  phoneApp.WgId() );
-
-    // no need for sending phone background if it is not front
-    if ( ( phoneApp.Exists() ) && phoneApp.WgId() ==
-            ForegroundApplicationWindowGroupId() )
-        {
-        // make sure that previous application window group id is not
-        //telephony's
-        if( iPrevForegroundAppWg > 0 &&
-            iPrevForegroundAppWg != phoneApp.WgId() )
-            {
-            // check that previous app still exists. It might be for example
-            // add to contact - dialog that is allready destroyed.
-            TInt previousApp = FindAppByWgIDL( iPrevForegroundAppWg );
-
-            if( previousApp != KErrNotFound )
-                {
-                __PHONELOG1( EBasic, EPhoneUIView,
-                 "CPhoneViewController::SendToBackgroundL - Bring previous app to foreground (%d)"
-                        ,  iPrevForegroundAppWg );
-
-                CAknSgcClient::MoveApp( iPrevForegroundAppWg, ESgcMoveAppToForeground );
-                iSendBack = ETrue;
-                SetWindowGroupPosition();
-                }
-            }
-        else
-            {
-            __PHONELOG( EBasic, EPhoneUIView,
-                "CPhoneViewController::SendToBackgroundL - send telephony to background" );
-
-            iSendBack = ETrue;
-            CAknSgcClient::MoveApp( phoneApp.WgId(),
-                                    ESgcMoveAppToBackground );
-            }
-        }
-
-    // Clear the send to background flag
-    iNeedToSendToBackground = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::FindAppByWgIDL
-// ---------------------------------------------------------------------------
-//
-TInt CPhoneViewController::FindAppByWgIDL( TInt aAppWgID )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-        "CPhoneViewController::FindAppByWgIDL() ")
-
-    TInt appExists( KErrNotFound );
-
-    RWsSession& wsSession = iEikEnv.WsSession();
-
-    const TInt numWg = wsSession.NumWindowGroups(
-            KPhoneApplicationWindowGroupPriority );
-
-    CArrayFixFlat<TInt>* wgList =
-        new (ELeave) CArrayFixFlat<TInt>( numWg );
-    CleanupStack::PushL( wgList );
-    wgList->SetReserveL( numWg );
-
-    // Get list of window groups; all applications should be at priority 0.
-    //
-    if ( wsSession.WindowGroupList(
-        KPhoneApplicationWindowGroupPriority,
-        wgList ) == KErrNone )
-        {
-        for( TInt i = 0; i < wgList->Count(); i++ )
-            {
-            if( aAppWgID == wgList->At( i ) )
-                {
-                appExists = i;
-                break;
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy( wgList );
-
-    return appExists;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetWindowGroupPosition
-// This is used when dialer has opened some other
-// app(Logs) and MT call arrives, when MT call is
-// answered phone is put to backround and it isnt anymore next
-// active app which means that when previous app is opened
-// after answer and user presses exit we need to update
-// ordinal position so that dialer is activated.
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetWindowGroupPosition()
-    {
-    iEikEnv.WsSession().SetWindowGroupOrdinalPosition(
-        ApplicationWindowGroupId(),
-        KPhoneWindowGroupPositionBackground );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::BringAppToForeground
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::BringAppToForeground(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamInteger* integerParam =
-            static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-   TApaTaskList appList( iEikEnv.WsSession() );
-   TApaTask application = appList.FindApp(
-                                   TUid::Uid( integerParam->Integer() ) );
-
-   __PHONELOG1( EBasic, EPhoneUIView,
-                 "CPhoneViewController::BringAppToForeground - App WG ID: %d",
-                 application.WgId() );
-   if( application.Exists() )
-       {
-       iPrevForegroundAppWg = ForegroundApplicationWindowGroupId();
-       CAknSgcClient::MoveApp( application.WgId(), ESgcMoveAppToForeground );
-       __PHONELOG1( EBasic, EPhoneUIView,
-                     "CPhoneViewController::BringAppToForeground - Previous App WG ID: %d",
-                     iPrevForegroundAppWg );
-       }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::BringPhoneAppToForeground
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::BringPhoneAppToForeground(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::BringPhoneAppToForeground()" );
-
-    TPhoneCmdParamInteger* integerParam =
-        static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-    TApaTaskList appList( iEikEnv.WsSession() );
-    TApaTask phoneApp = appList.FindApp(
-                                    TUid::Uid( integerParam->Integer() ) );
-
-    // Saves previous window group id. Test if app is allready in front.
-    if( phoneApp.Exists() &&
-        ForegroundApplicationWindowGroupId() !=  phoneApp.WgId() )
-        {
-        iPrevForegroundAppWg = ForegroundApplicationWindowGroupId();
-        CAknSgcClient::MoveApp( phoneApp.WgId(), ESgcMoveAppToForeground );
-        __PHONELOG1( EBasic, EPhoneUIView,
-                      "CPhoneViewController::BringPhoneAppToForeground - Previous App WG ID: %d",
-                      iPrevForegroundAppWg );        
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetTopApplicationL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetTopApplicationL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    // Set the top application
-    TPhoneCmdParamInteger* integerParam =
-        static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-    CPhonePubSubProxy::Instance()->ChangePropertyValue(
-        KPSUidUikon,
-        KUikVideoCallTopApp,
-        integerParam->Integer() );
-
-    // Hide the Phone icon if it is not the top application
-    SetHiddenL( integerParam->Integer() != KUidPhoneApplication.iUid );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::GetForegroundApplication
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::GetForegroundApplication(
-    TPhoneCommandParam* aCommandParam )
-    {
-    // Get the foreground application window group id
-    TPhoneCmdParamInteger* integerParam =
-        static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-    integerParam->SetInteger( ForegroundApplicationWindowGroupId() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ActivateAppViewConventionalL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::ActivateAppViewConventionalL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamAppInfo* appInfoParam =
-        static_cast<TPhoneCmdParamAppInfo*>( aCommandParam );
-
-    TApaTaskList taskList( iEikEnv.WsSession() );
-    TApaTask task = taskList.FindApp( appInfoParam->AppUid() );
-    if ( task.Exists() )
-        {
-        CAknSgcClient::MoveApp( task.WgId(), ESgcMoveAppToForeground );
-        }
-    else
-        {
-        CreateConnectionL();
-        HBufC* param = HBufC::NewLC( appInfoParam->Param().Length() );
-        param->Des().Copy( appInfoParam->Param() );
-        TThreadId id;
-        User::LeaveIfError(
-            iApaLsSession.StartDocument( *param,
-            appInfoParam->AppUid(), id ) );
-        CleanupStack::PopAndDestroy( param );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ActivateAppL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::ActivateAppL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamAppInfo* appInfoParam =
-        static_cast<TPhoneCmdParamAppInfo*>( aCommandParam );
-
-    __PHONELOG( EBasic, EPhoneUIView,"CPhoneViewController::ActivateAppL()" );
-
-    CreateConnectionL();
-
-    if ( appInfoParam->MultipleInstances() )
-        {
-        ActivateAppInstanceL( appInfoParam->AppUid() );
-        }
-    else
-        {
-        TApaTaskList apaTaskList( iEikEnv.WsSession() );
-        TApaTask apaTask = apaTaskList.FindApp( appInfoParam->AppUid() );
-        if ( apaTask.Exists() )
-            {
-            __PHONELOG( EBasic, EPhoneUIView,
-                "CPhoneViewController::ActivateAppL() bring to foreground" );
-            CAknSgcClient::MoveApp( apaTask.WgId(), ESgcMoveAppToForeground );
-            }
-        else
-            {
-            ActivateAppInstanceL( appInfoParam->AppUid() );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ActivateAppInstanceL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::ActivateAppInstanceL( TUid aUid )
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::ActivateAppInstanceL()" );
-    CreateConnectionL();
-
-    TApaAppInfo appInfo;
-    User::LeaveIfError( iApaLsSession.GetAppInfo( appInfo, aUid ) );
-
-#ifdef SYMBIAN_SUPPORT_UI_FRAMEWORKS_V1
-    CApaCommandLine* apaCommandLine = CApaCommandLine::NewLC(
-        appInfo.iFullName );
-#else
-    CApaCommandLine* apaCommandLine = CApaCommandLine::NewLC();
-    apaCommandLine->SetExecutableNameL( appInfo.iFullName );
-    apaCommandLine->SetCommandL( EApaCommandRun );
-#endif // SYMBIAN_SUPPORT_UI_FRAMEWORKS_V1
-
-    User::LeaveIfError ( iApaLsSession.StartApp( *apaCommandLine ) );
-    CleanupStack::PopAndDestroy( apaCommandLine );
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::ActivateAppInstanceL() done" );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ActivateAppViewL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::ActivateAppViewL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamAppInfo* appInfoParam =
-        static_cast<TPhoneCmdParamAppInfo*>( aCommandParam );
-
-    __PHONELOG( EBasic, EPhoneUIView,
-                "CPhoneViewController::ActivateAppViewL()" );
-
-    TVwsViewId view( appInfoParam->AppUid(), appInfoParam->ViewUid() );
-    iEikEnv.EikAppUi()->ActivateViewL( view );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ActivateAppViewL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::ActivateAppViewWithCustomMessageL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamAppInfo* appInfoParam =
-        static_cast<TPhoneCmdParamAppInfo*>( aCommandParam );
-
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::ActivateAppViewWithCustomMessageL()" );
-
-    TVwsViewId view( appInfoParam->AppUid(), appInfoParam->ViewUid() );
-    iEikEnv.EikAppUi()->ActivateViewL(
-        view,
-        appInfoParam->CustomMessageId(),
-        appInfoParam->CustomMessage() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::CreateConnectionL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::CreateConnectionL()
-    {
-    if ( !iApaLsSession.Handle() )
-        {
-        User::LeaveIfError( iApaLsSession.Connect() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::LaunchApplicationL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::LaunchApplicationL()
-    {
-    //long 0 launches application defined in KTelAppLaunch key.
-    TInt appId(0);
-    TUid appUid;
-    User::LeaveIfError( CPhoneCenRepProxy::Instance()->GetInt(
-        KCRUidTelPrivateVariation,
-        KTelAppLaunch,
-        appId ) );
-    appUid.iUid = appId;
-
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::LaunchApplicationL appId: %d",
-        appId );
-
-    HBufC* params = HBufC::NewLC( KPhoneMaxParamLength );
-    TPtr ptr = params->Des();
-    User::LeaveIfError( CPhoneCenRepProxy::Instance()->GetString(
-        KCRUidTelPrivateVariation,
-        KTelAppLaunchParam,
-        ptr ) );
-
-    TApaTaskList taskList( iEikEnv.WsSession() );
-    TApaTask task = taskList.FindApp( appUid );
-    if ( task.Exists() )
-        {
-        // Uid is not used.
-        HBufC8* param = CnvUtfConverter::ConvertFromUnicodeToUtf8L( *params );
-        User::LeaveIfError( task.SendMessage( TUid::Uid( 0 ), *param ) );
-        delete param;
-        }
-    else
-        {
-        CreateConnectionL();
-        TThreadId thread;
-        User::LeaveIfError(
-            iApaLsSession.StartDocument(
-                *params,
-                appUid,
-                thread ) );
-        }
-    CleanupStack::PopAndDestroy( params ); // params
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::LaunchHelpApplicationL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::LaunchHelpApplicationL(
-    const TDesC& aHelpCommand )
-    {
-    // Save the help command
-    iHelpCommand.Set( aHelpCommand );
-
-    // Activate Help application
-    HlpLauncher::LaunchHelpApplicationL(
-       CCoeEnv::Static()->WsSession(),
-       iEikEnv.EikAppUi()->AppHelpContextL() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::HelpContext
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CPhoneViewController::HelpContext()
-    {
-    return iHelpCommand;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetCbaL
-// Set the CBA to the specified setting
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetCbaL( TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamInteger* cbaResource =
-        static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-    TInt resourceId = cbaResource->Integer();
-
-    iCba->SetCommandSetL( resourceId );
-    iCba->DrawDeferred();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetEikonNotifiersDisabled
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetEikonNotifiersDisabled(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamBoolean* booleanParam =
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    if ( booleanParam->Boolean() )
-        {
-        if ( !iPriotityChanged )
-            {
-            //Store current ordinal priority.
-            iPrevious = CEikonEnv::Static()->RootWin().OrdinalPriority();
-            iPriotityChanged = ETrue;
-            //Rise window priority in order to get phoneview on top of eikon
-            //notifiers. e.g. Select USB mode notifier is the one which using
-            //eikon notiers.
-            CEikonEnv::Static()->RootWin().SetOrdinalPosition(
-                    0,
-                    ECoeWinPriorityAlwaysAtFront-1 );
-            __PHONELOG( EBasic, EPhoneUIView,
-            "CPhoneViewController::SetEikonNotifiersDisabled()_priority_rise" );
-            }
-        }
-    // enable notifiers, sametime reset previous rootwin priority
-    else if ( iPriotityChanged )
-        {
-        TInt ordinalPos = CEikonEnv::Static()->RootWin().OrdinalPosition();
-        CEikonEnv::Static()->RootWin().SetOrdinalPosition(
-                ordinalPos,
-                iPrevious );
-        iPriotityChanged = EFalse;
-        __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::SetEikonNotifiersDisabled()_priority_reset" );
-        }
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::SetEikonNotifiersDisabled(%d)",
-        booleanParam->Boolean() );
-    }
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetGlobalNotifiersDisabledL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetGlobalNotifiersDisabledL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamBoolean* booleanParam =
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    // Global note always removed if exists when notifiers disabled
-    if ( booleanParam->Boolean() )
-        {
-        ExecuteCommandL( EPhoneViewRemoveGlobalNote );
-        }
-    iKeyLock.EnableSoftNotifications( !booleanParam->Boolean() );
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::SetGlobalNotifiersDisabledL(%d)",
-        booleanParam->Boolean() );
-    }
-
-// ---------------------------------------------------------
-// CPhoneViewController::IsKeyLockEnabled
-// ---------------------------------------------------------
-//
-TBool CPhoneViewController::IsKeyLockEnabled()
-    {
-    TBool keylock;
-    keylock = iKeyLock.IsKeyLockEnabled();
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::IsKeyLockEnabled(%d)", keylock );
-    return keylock;
-    }
-
-// ---------------------------------------------------------
-// CPhoneViewController::DisableKeyLock
-// ---------------------------------------------------------
-//
-void CPhoneViewController::DisableKeyLock()
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::DisableKeyLock()");
-    return iKeyLock.DisableWithoutNote();
-    }
-
-// CPhoneViewController::CancelAllNotications
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::CancelAllNotications()
-    {
-    iKeyLock.CancelAllNotifications();
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::CancelAllNotications()");
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::HandleUpdateBubbleL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::HandleUpdateBubbleL(
-    TInt aCallId,
-    TPhoneCommandParam* aCommandParam )
-    {
-     // Check is the given parameter valid
-    if ( aCommandParam->ParamId() ==
-        TPhoneCommandParam::EPhoneParamIdCallHeaderData )
-        {
-        __PHONELOG( EBasic, EPhoneUIView,
-            "CPhoneViewController::HandleUpdateBubble()" );
-
-        TPhoneCmdParamCallHeaderData* callHeaderParam =
-            static_cast<TPhoneCmdParamCallHeaderData*>( aCommandParam );
-        iBubbleWrapper->PrepareCallStateL(
-            aCallId,
-            callHeaderParam->CallState(),
-            callHeaderParam->LabelText(),
-            callHeaderParam->ShortLabelText() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SoftRejectIsEnabled
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneViewController::SoftRejectIsEnabled() const
-    {
-    // Check if phone is locked
-    const TBool phoneIsLocked =
-        CPhonePubSubProxy::Instance()->Value(
-        KPSUidCoreApplicationUIs,
-        KCoreAppUIsAutolockStatus ) > EAutolockOff;
-
-    if ( phoneIsLocked || IsSecurityCodeQuery() )
-        {
-        // Soft Reject is enabled if the phone is not locked. 
-		// Security Code query is checked because in the boot
-		// autolock status value is OFF even when it's actually
-		// ON so we need to do this double checking.
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::IsSecurityCodeQuery
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneViewController::IsSecurityCodeQuery() const
-  {
-  return CPhonePubSubProxy::Instance()->Value(
-    KPSUidStartup,
-    KStartupSecurityCodeQueryStatus ) == ESecurityQueryActive;
-  }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::GetNumberFromSpeedDialLocationL
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneViewController::GetNumberFromSpeedDialLocationL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::GetNumberFromSpeedDialLocationL() ");
-    TPhoneCmdParamSpeedDial* speedDialContent =
-        static_cast<TPhoneCmdParamSpeedDial*>( aCommandParam );
-    TBool retValue( ETrue );
-
-    if ( speedDialContent->Location() != KErrNotFound )
-        {
-        TBuf<KPhoneNumberEntryBufferSize> speedDialNumber;
-        speedDialNumber.Zero(); // empty the string
-
-        // Indicate that the speed dial controller is blocking key
-        // events from the Phone
-        iBlockingDialogIsDisplayed = ETrue;
-
-        CreateSpeedDialControllerL();
-
-        TInt err = iVmbxHandler->GetStraightSpeedDialNumber(
-                        speedDialContent->Location(),
-                        speedDialNumber );
-
-        // Straight number founded
-        if ( err == KErrNone && speedDialNumber.Length() != 0)
-            {
-            if ( iVmbxHandler->GetMailboxType() == EVmbxVideo )
-                {
-                speedDialContent->SetNumberType( EPhoneNumberTypeVideo );
-                }
-            else
-                {
-                speedDialContent->SetNumberType( EPhoneNumberTypeCS );
-                }
-            }
-        else if ( iVmbxHandler->IsStraightCallToVideoMailBox() &&
-              ( speedDialContent->Location() == KPhoneVideoMbxLocation ||
-              speedDialContent->Location() == KPhoneVoiceMailBoxLocation ))
-            {
-            // Mbx number field of given type was empty and assigning cancelled
-            retValue = EFalse;
-            }
-
-        else if ( speedDialContent->Location() == KPhoneVoiceMailBoxLocation )
-            {
-            // Get the voice mail box type and service ID
-            TUint serviceId( 0 );
-            TInt mailboxType = iVmbxHandler->SelectMailboxTypeL( serviceId );
-            speedDialContent->SetServiceId( serviceId );
-
-            // Get the voice mail box number
-            if ( mailboxType == EVmbxNone )
-              {
-              // Nothing selected from the mailbox selection
-              retValue = EFalse;
-              }
-            else if ( iVmbxHandler->LaunchMbx( mailboxType, speedDialNumber )
-                      == KErrNone )
-                {
-                if ( mailboxType == EVmbxVideo )
-                    {
-                    speedDialContent->SetNumberType( EPhoneNumberTypeVideo );
-                    }
-                else if ( mailboxType == EVmbxIP )
-                    {
-                    speedDialContent->SetNumberType( EPhoneNumberTypeVoip );
-                    }
-                else
-                    {
-                    speedDialContent->SetNumberType( EPhoneNumberTypeCS );
-                    }
-                }
-            else
-              {
-              // Mbx number field of given type was empty and assigning cancelled
-              retValue = EFalse;
-              }
-            }
-        else
-            {
-            // Get the number from the speed dial location
-            iSpeedDialController->GetSpeedDialFieldL(
-                speedDialContent->Location(), speedDialNumber );
-            if (speedDialNumber.Length() == 0 )
-                {
-                AssignSpeedDialLocationL( speedDialContent->Location() );
-                // Get the number from the speed dial location
-                iSpeedDialController->GetSpeedDialFieldL(
-                    speedDialContent->Location(), speedDialNumber );
-                }
-
-            // If assigned
-            if ( speedDialNumber.Length() )
-                {
-                speedDialContent->SetNumberType(
-                    SpeedDialNumberTypeL( speedDialContent->Location() ) );
-                }
-            else
-                {
-                retValue = EFalse;
-                }
-            }
-
-        // Reset the flag
-        iBlockingDialogIsDisplayed = EFalse;
-
-        TPtr* phoneNumber = speedDialContent->PhoneNumber();
-        phoneNumber->Append( speedDialNumber );
-
-        }
-    return retValue;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SpeedDialNumberTypeL
-// ---------------------------------------------------------------------------
-//
-TPhoneNumberType CPhoneViewController::SpeedDialNumberTypeL(
-        TInt aSpeedDialLocation )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-            "CPhoneViewController::SpeedDialNumberTypeL() ");
-    CPhCntSpeedDialMonitor::TSpdDialFieldInfo fieldInfo;
-
-    TBuf<KPhoneNumberEntryBufferSize> number;
-    TContactItemId itemId = iSpeedDialController->GetSpeedDialFieldL( 
-                                aSpeedDialLocation, 
-                                number,
-                                fieldInfo );
-
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::SpeedDialNumberTypeL - itemId = %d ", itemId );
-
-    return ConvertNumberTypeFromSpeedDialFieldInfo( fieldInfo );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::ConvertNumberTypeFromSpeedDialFieldInfo
-// ---------------------------------------------------------------------------
-//
-TPhoneNumberType CPhoneViewController::ConvertNumberTypeFromSpeedDialFieldInfo(
-    CPhCntSpeedDialMonitor::TSpdDialFieldInfo aFieldInfo )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::ConvertNumberTypeFromSpeedDialFieldInfo() ");
-    TPhoneNumberType retValue;
-    switch( aFieldInfo.iNumberType )
-        {
-        case MPhCntMatch::EVideoNumber:
-            retValue =  EPhoneNumberTypeVideo;
-            break;
-        case MPhCntMatch::EVoipNumber:
-            retValue =  EPhoneNumberTypeVoip;
-            break;
-        case KErrNotFound:
-            retValue = EPhoneNumberTypeNotFound;
-            break;
-        default:
-            retValue = EPhoneNumberTypeCS;
-            break;
-        }
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::ConvertNumberTypeFromSpeedDialFieldInfo - number type = %d ",
-        retValue );
-
-    return retValue;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::AssignSpeedDialLocation
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneViewController::AssignSpeedDialLocation(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneViewController::AssignSpeedDialLocation( ) ")
-
-    TPhoneCmdParamInteger* locationParam =
-        static_cast<TPhoneCmdParamInteger*>( aCommandParam );
-
-    // Indicate that the contact operation is blocking key
-    // events from the Phone
-    iBlockingDialogIsDisplayed = ETrue;
-    TBool numberAssigned;
-    TRAPD( err,
-        numberAssigned = AssignSpeedDialLocationL(
-        locationParam->Integer()))
-
-    // Reset the flag
-    iBlockingDialogIsDisplayed = EFalse;
-
-    return err ? EFalse : numberAssigned;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::AssignSpeedDialLocationL
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneViewController::AssignSpeedDialLocationL(
-    TInt aLocation )
-    {
-  CreateSpeedDialControllerL();
-
-    // Assign speed dial location
-    TBuf<KPhoneNumberEntryBufferSize> number;
-
-    const TBool numberAssigned =
-        iSpeedDialController->AssignSpeedDialFieldL( aLocation, number );
-
-    return numberAssigned;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::OpenMessageEditorL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::OpenMessageEditorL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    TPhoneCmdParamMessageEditor* messageEditorParam =
-        static_cast<TPhoneCmdParamMessageEditor*>( aCommandParam );
-
-    //Launch message editor standalone
-    TUid mtmUid = { KSenduiMtmUniMessageUidValue };
-
-    CSendUi* messageEditor = CSendUi::NewL();
-  CleanupStack::PushL( messageEditor );
-
-    // Inform the SendUi to open the message editor. This is not a blocking
-    // dialog so the flag does not need to be set.
-    messageEditor->CreateAndSendMessageL(
-        mtmUid,
-        messageEditorParam->MessageData(),
-        KNullUid,
-        EFalse );
-
-    CleanupStack::PopAndDestroy( messageEditor );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::OpenContactL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::OpenAddToContactL(
-    TInt aCommand,
-    const TDesC& aString )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView, "CPhoneViewController::OpenAddToContactL( ) ")
-
-    TPhoneCmdParamString phoneNumberString;
-
-    HBufC *phoneNumber = HBufC::NewL( KPhoneNumberEntryBufferSize );
-
-    if ( KErrNone == aString.Compare( KNullDesC ) )
-        {
-        // get the number entry contents
-        TPtr ptr( phoneNumber->Des() );
-        phoneNumberString.SetString( &ptr );
-        iBubbleWrapper->GetNumberEntryContent( &phoneNumberString );
-        }
-    else
-        {
-        phoneNumber->Des().Copy( aString );
-        }
-
-    // Indicate that the contact operation is blocking key
-    // events from the Phone
-    iBlockingDialogIsDisplayed = ETrue;
-
-    TRAPD( err,
-        {
-        // Create the contact dialog
-        iContactSaveAddToName = iContactController->CreateSaveAddToNameL();
-
-        // The contact operation may be cancelled if the END key
-        // is pressed. If so, the blocking dialog will be removed.
-        if ( iBlockingDialogIsDisplayed )
-            {
-            // Inform the Contact to open the contacts
-            iContactSaveAddToName->HandlePbkOperationL(
-                *phoneNumber, // TelNum
-                aCommand );//CreateNew/Update
-            }
-        }) //TRAPD
-
-    RemoveAddToContactDialog();
-    delete phoneNumber;
-
-    // Reset the flag
-    iBlockingDialogIsDisplayed = EFalse;
-
-    User::LeaveIfError( err );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::RemovePhoneDialogsL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::RemovePhoneDialogsL()
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::RemovePhoneDialogsL()" );
-    // Remove the note, if necessary
-    iNoteController->DestroyNote();
-
-    // Remove the query, if necessary.
-    // Global query not allowed to destroy in this phase.
-    iQueryController->DestroyQuery();
-
-    // Remove contact dialog.
-    RemoveAddToContactDialog();
-
-    // Dismiss queries from customization, if necessary
-   if ( iCustomization )
-        {
-        iCustomization->RemoveDialog();
-        }
-
-    // Remove speeddial dialogs.
-    if ( iSpeedDialController )
-        {
-        iSpeedDialController->Cancel();
-        }
-
-    if ( iSingleItemFetch )
-        {
-        // Cancel the Single Item Fetch
-        iSingleItemFetch->Delete();
-        }
-
-    if ( iVmbxHandler )
-        {
-        iVmbxHandler->CancelVmbx();
-        }
-
-    if ( iRfsHandler )
-        {
-        __PHONELOG( EBasic, EPhoneUIView,
-            "CPhoneViewController::RemovePhoneDialogsL() CPhCntRfsHandler::ERfsCmdCancel" );
-        iRfsHandler->ProcessCommandL( CPhCntRfsHandler::ERfsCmdCancel );
-        delete iRfsHandler;
-        iRfsHandler = NULL;
-        }
-
-    // Remove all blocking dialogs
-    if ( iBlockingDialogIsDisplayed )
-        {
-        // Reset the flag
-        iBlockingDialogIsDisplayed = EFalse;
-
-        __PHONELOG( EBasic, EPhoneUIView,
-            "CPhoneViewController::RemovePhoneDialogsL() AknDialogShutter::ShutDialogsL" );
-
-        TRAP_IGNORE(
-            AknDialogShutter::ShutDialogsL( iEikEnv ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::RemoveAddToContactDialog
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::RemoveAddToContactDialog()
-    {
-    if ( iContactSaveAddToName )
-        {
-        delete iContactSaveAddToName;
-        iContactSaveAddToName = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::DoConstructContactControllerL
-//
-// Callback function.
-// ---------------------------------------------------------------------------
-//
-TInt CPhoneViewController::DoConstructContactControllerL( TAny* aAny )
-    {
-    CPhoneViewController* viewController =
-        static_cast< CPhoneViewController* >( aAny );
-
-    return viewController->iContactController->ContinueConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::UpdateAudioPathOptions
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::UpdateAudioPathOptions(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::UpdateAudioPathOptions()" );
-    TPhoneCmdParamBoolean ihfParam;
-    TPhoneCmdParamBoolean wiredParam;
-    TPhoneCmdParamBoolean btaaParam;
-
-    TPhoneCmdParamAudioOutput* outputParam =
-        static_cast<TPhoneCmdParamAudioOutput*>( aCommandParam );
-
-    ihfParam.SetBoolean(
-        outputParam->AudioOutput() == EPELoudspeaker );
-    wiredParam.SetBoolean(
-       ( outputParam->AudioOutput() == EPEWiredAudioAccessory ) ||
-       ( outputParam->AudioOutput() == EPETTY ) );
-
-    btaaParam.SetBoolean(
-        outputParam->AudioOutput() == EPEBTAudioAccessory );
-
-    // Wired options
-    iMenuController->SetWiredAccFlag( &wiredParam );
-
-    iMenuController->SetIhfFlag( &ihfParam );
-    iToolbarController->SetIhfFlag( &ihfParam );
-
-    // btaa menu options
-    iMenuController->SetBTAccFlag( &btaaParam );
-
-    iAudioController->HandleIhfChange( &ihfParam );
-
-    if ( iButtonsController )
-        {
-        iButtonsController->SetIhfFlag( &ihfParam );
-        iButtonsController->SetWiredAccFlag( &wiredParam );
-        iButtonsController->SetBTAccFlag( &btaaParam );
-        iButtonsController->ReplaceAudioButton();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::UpdateAudioAvailabilityOptions
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::UpdateAudioAvailabilityOptions(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::UpdateAudioAvailabilityOptions()" );
-
-    TPhoneCmdParamBoolean wiredAvailableParam;
-    TPhoneCmdParamBoolean btAvailableParam;
-
-    TPhoneCmdParamAudioAvailability* outputParam =
-        static_cast<TPhoneCmdParamAudioAvailability*>( aCommandParam );
-
-    wiredAvailableParam.SetBoolean(
-        outputParam->IsWiredAccAvailable() );
-
-    btAvailableParam.SetBoolean(
-        outputParam->IsBTAccAvailable());
-
-    // Wired options
-    iMenuController->SetWiredAccAvailableFlag( &wiredAvailableParam );
-
-    // btaa menu options
-    iMenuController->SetBTAccAvailableFlag( &btAvailableParam );
-
-    if ( iButtonsController )
-        {
-        iButtonsController->SetBTAccAvailableFlag( &btAvailableParam );
-        iButtonsController->ReplaceAudioButton();
-        }
-
-    __PHONELOG2(
-        EBasic,
-        EPhoneUIView,
-        "CPhoneViewController::UpdateAudioAvailabilityOptions( BT: (%d), Wired: (%d) ) )",
-        btAvailableParam.Boolean(),
-        wiredAvailableParam.Boolean() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::LaunchRfsL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::LaunchRfsL( TBool aDeepRfs )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::LaunchRfsL()" );
-    CPhCntRfsHandler::TRfsCommand command;
-    if ( !iRfsHandler )
-        {
-        iRfsHandler = iContactController->CreateRfsHandlerL();
-        }
-
-    if( aDeepRfs )
-        {
-        command = CPhCntRfsHandler::ERfsCmdActivateDeep;
-        }
-    else
-        {
-        command = CPhCntRfsHandler::ERfsCmdActivateNormal;
-        }
-
-    // Indicate that the rfs dialog is blocking key
-    // events from the Phone
-    iBlockingDialogIsDisplayed = ETrue;
-
-    TRAPD( err,
-        {
-        if ( iDialer )
-            {
-            ExecuteCommandL( EPhoneViewClearNumberEntryContent );
-            }
-        else
-            {
-            // Remove number entry
-            ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-            }
-
-        iRfsHandler->ProcessCommandL( command );
-        })
-    delete iRfsHandler;
-    iRfsHandler = NULL;
-
-    iBlockingDialogIsDisplayed = EFalse;
-    User::LeaveIfError( err );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::OpenSoftRejectMessageEditorL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::OpenSoftRejectMessageEditorL(
-    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::OpenSoftRejectMessageEditorL ()" );
-
-    TPhoneCmdParamSfiData* sfiParam =
-        static_cast<TPhoneCmdParamSfiData*>( aCommandParam );
-
-    CMessageData* messageData = CMessageData::NewL();
-    CleanupStack::PushL( messageData );
-
-    // Get message body
-    HBufC* softRejectTxt = HBufC::NewLC( KPhoneSMSLength );
-    TPtr string( softRejectTxt->Des() );
-
-    TInt softRejectDefaultInUseValue = 0;
-    const TInt err = CPhoneCenRepProxy::Instance()->GetInt(
-        KCRUidTelephonySettings,
-        KSettingsSoftRejectDefaultInUse,
-        softRejectDefaultInUseValue );
-
-    if ( err == KErrNone && softRejectDefaultInUseValue )
-        {
-        // Default txt used or not
-        CPhoneCenRepProxy::Instance()->GetString(
-            KCRUidTelephonySettings,
-            KSettingsSoftRejectText,
-            string );
-        }
-    else
-        {
-
-        TParse fp;
-        fp.Set( KPhoneSoftRejectResource, &KDC_RESOURCE_FILES_DIR, NULL );
-        TFileName name( fp.FullName() );
-        // Open soft reject resource file
-        RConeResourceLoader coneResourceLoader( iEikEnv );
-        TInt softRejectResourceError = coneResourceLoader.Open( name );
-        if ( softRejectResourceError != KErrNone )
-            {
-            // Indicate that the soft reject feature cannot be enabled
-            Panic( EPhoneViewErrorInAddingResourceFile );
-            }
-
-        CleanupStack::PopAndDestroy( softRejectTxt );
-        softRejectTxt = StringLoader::LoadLC( R_SOFT_REJECT_DEFAULT_TXT );
-        string.Set( softRejectTxt->Des() );
-        coneResourceLoader.Close();
-        }
-
-    CRichText* text = CRichText::NewL(
-        iEikEnv.SystemParaFormatLayerL(),
-        iEikEnv.SystemCharFormatLayerL());
-    CleanupStack::PushL( text );
-    text->Reset();
-    text->InsertL( 0, string );
-
-    // Set body text
-    messageData->SetBodyTextL( text );
-
-    // store the remote caller's info
-    if ( sfiParam->Name().Length() )
-        {
-        // store both the name and the number
-        messageData->AppendToAddressL(
-            sfiParam->Number(), sfiParam->Name() );
-        }
-    else
-        {
-        // store the number
-        messageData->AppendToAddressL(
-            sfiParam->Number() );
-        }
-
-    // Inform SysAp not to re-activate keyguard even if the call ends.
-    CPhonePubSubProxy::Instance()->ChangePropertyValue(
-        KPSUidCoreApplicationUIs,
-        KCoreAppUIsSoftReject,
-        ECoreAppUIsSoftReject );
-
-    // Launch the Soft Reject message Editor.
-    TPhoneCmdParamMessageEditor messageEditorParam;
-    messageEditorParam.SetMessageData( messageData );
-    OpenMessageEditorL( &messageEditorParam );
-
-    CleanupStack::PopAndDestroy( text );
-    CleanupStack::PopAndDestroy( softRejectTxt );
-    CleanupStack::PopAndDestroy( messageData );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SendMessageL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SendMessageL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::SendMessageL()" );
-    // get the number entry contents
-    HBufC *phoneNumber = HBufC::NewLC( KPhoneNumberEntryBufferSize );
-    TPtr ptr( phoneNumber->Des() );
-    TPhoneCmdParamString stringParam;
-    stringParam.SetString( &ptr );
-    iBubbleWrapper->GetNumberEntryContent( &stringParam );
-
-    // Launch the message Editor.
-    TPhoneCmdParamMessageEditor messageEditorParam;
-
-    // create the message data
-    CMessageData* messageData = CMessageData::NewLC();
-    messageData->AppendToAddressL( ptr );
-    messageEditorParam.SetMessageData( messageData );
-
-    if ( !iDialer )
-        {
-        // Remove number entry from screen
-        iPhoneView->SetControl( iBubbleWrapper->Control() );
-        ExecuteCommandL( EPhoneViewRemoveNumberEntry );
-        }
-
-    // Open the message editor
-    OpenMessageEditorL( &messageEditorParam );
-
-    CleanupStack::PopAndDestroy( messageData );
-    CleanupStack::PopAndDestroy( phoneNumber );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetSecurityMode
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetSecurityMode(
-                                        TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::SetSecurityMode()" );
-    TPhoneCmdParamBoolean* booleanParam = static_cast<TPhoneCmdParamBoolean*>(
-        aCommandParam );
-    iPhoneView->SetSecurityMode( booleanParam->Boolean() );
-    iStatusPane->StatusPane().MakeVisible( !booleanParam->Boolean() );
-    }
-
-// -----------------------------------------------------------
-// CPhoneViewController::SetStatusPaneVisible
-// -----------------------------------------------------------
-//
-void CPhoneViewController::SetStatusPaneVisible(
-                                        TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::SetStatusPaneVisible()" );
-    TPhoneCmdParamBoolean* booleanParam = static_cast<TPhoneCmdParamBoolean*>(
-        aCommandParam );
-    iStatusPane->StatusPane().MakeVisible( booleanParam->Boolean() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::UpdateFSW()
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::UpdateFSW()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneViewController::UpdateFSW()" );
-    iAknUiServerClient->UpdateTaskList();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::CreateSpeedDialControllerL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::CreateSpeedDialControllerL()
-  {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-        "CPhoneViewController::CreateSpeedDialControllerL()" );
-  if( !iSpeedDialController )
-        {
-        iSpeedDialController = iContactController->CreateSpeedDialMonitorL();
-        }
-
-    if( !iVmbxHandler )
-        {
-        iVmbxHandler = CPhoneVmbxHandler::NewL();
-        }
-  }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::IsReplaceAllowed()
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneViewController::IsReplaceAllowed()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView,
-                         "CPhoneViewController::IsReplaceAllowed()");
-
-    TPhoneCmdParamCallStateData callStateData;
-    callStateData.SetCallState( EPEStateConnected );
-    iBubbleWrapper->GetCallIdByState( &callStateData );
-    TInt connected = callStateData.CallId();
-
-    callStateData.SetCallState( EPEStateRinging );
-    iBubbleWrapper->GetCallIdByState( &callStateData );
-    TInt waiting = callStateData.CallId();
-
-    return // both video or
-        (( connected == KVideoTelephonyCallId1 ||
-           connected == KVideoTelephonyCallId2 ) &&
-
-         ( waiting == KVideoTelephonyCallId1 ||
-           waiting == KVideoTelephonyCallId2 )) ||
-
-           // both voice ( including active conference )
-        ((( connected >= KVoiceCallIdFirst &&
-            connected < KEmergencyCallId ) ||
-            connected == KConferenceCallId ) &&
-
-         ( waiting >= KVoiceCallIdFirst &&
-           waiting < KEmergencyCallId ));
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SingleItemFetchL()
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SingleItemFetchL()
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::SingleItemFetchL()" );
-
-    TPhoneCmdParamInteger integerParam;
-    integerParam.SetInteger( EPhoneNewCallFetchTitle );
-
-    // Make sure the dialog is not ended prematurely
-    HandleCommandL(
-        EPhoneViewOpenSingleItemFetchDialog,
-        &integerParam );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetFetchContent
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetFetchContent( TDesC& aFetchContent )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::SetFetchContent()" );
-    iFetchContent = aFetchContent;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::FetchContent
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CPhoneViewController::FetchContent()
-   {
-   __LOGMETHODSTARTEND(EPhoneUIView,
-       "CPhoneViewController::FetchContent()" );
-   return iFetchContent;
-   }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetSingleItemFetchType
-// -----------------------------------------------------------
-//
-void CPhoneViewController::SetSingleItemFetchType( TInt aType )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::SetSingleItemFetchType()" );
-    iSingleItemFetchType = aType;
-    }
-
-// -----------------------------------------------------------
-// CPhoneViewController::SingleItemFetchType
-// -----------------------------------------------------------
-//
-TInt CPhoneViewController::SingleItemFetchType() const
-   {
-   __LOGMETHODSTARTEND(EPhoneUIView,
-       "CPhoneViewController::SingleItemFetchType()" );
-
-   return iSingleItemFetchType;
-   }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SwitchLayoutToFlatStatusPaneL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SwitchLayoutToFlatStatusPaneL( TBool aSwitch )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::SwitchLayoutToFlatStatusPaneL()" );
-
-    TInt currentLayout = iStatusPane->StatusPane().CurrentLayoutResId();
-
-    if ( aSwitch )
-        {
-        // If current layout is different than flat layout then we
-        // need to do PushDefault for navipane and SwitchLayoutL for
-        // statuspane.
-        if ( currentLayout != R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ||
-             currentLayout != R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL )
-            {
-            SwapEmptyIndicatorPaneInSecureStateL( ETrue );
-
-            // Push default so that Operator name can be shown in title pane.
-            iStatusPane->NaviPane().PushDefaultL();
-
-            if ( !Layout_Meta_Data::IsLandscapeOrientation() )
-                {
-                iStatusPane->StatusPane().SwitchLayoutL
-                ( R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT );
-                }
-            else
-                {
-                iStatusPane->StatusPane().SwitchLayoutL
-                ( R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL );
-                }
-            }
-        }
-    else
-        {
-        // If current layout is flat layout then do Pop for navipane,
-        // layout is something else there is no need to do Pop and
-        // SwitchLayoutL for statuspane.
-        if ( currentLayout == R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ||
-             currentLayout == R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL )
-            {
-            SwapEmptyIndicatorPaneInSecureStateL( EFalse );
-
-            iStatusPane->NaviPane().Pop();
-
-            if ( !Layout_Meta_Data::IsLandscapeOrientation() )
-                {
-                iStatusPane->StatusPane().SwitchLayoutL
-                        ( R_AVKON_STATUS_PANE_LAYOUT_IDLE );
-                }
-            else
-                {
-                iStatusPane->StatusPane().SwitchLayoutL
-                        ( R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE );
-                }
-            }
-        }
-    // ApplyCurrentSettingsL is called whenever statuspane
-    // visibility status or pane layout changes.
-    iStatusPane->StatusPane().ApplyCurrentSettingsL();
-    iStatusPane->StatusPane().DrawNow();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SwapEmptyIndicatorPaneInSecureStateL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SwapEmptyIndicatorPaneInSecureStateL(
-                                    const TBool aSwapEmpty )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::SwapEmptyIndicatorPaneInSecureStateL()" );
-
-    TPhoneCmdParamBoolean security;
-    GetSecurityModeStatus( &security );
-
-    if ( security.Boolean() )
-        {
-        if ( aSwapEmpty )
-            {
-            if ( !iIndiContainer )
-                {
-                iIndiContainer =
-                iStatusPane->CreateEmptyIndicatorContainerL();
-                }
-            //Save previous indicator control
-            iPreviousIndicatorControl =
-                                    iStatusPane->StatusPane().SwapControlL(
-            TUid::Uid( EEikStatusPaneUidIndic ), iIndiContainer );
-            }
-        else
-            {
-            //Restore previous indicator control
-            iStatusPane->StatusPane().SwapControlL(
-            TUid::Uid( EEikStatusPaneUidIndic ), iPreviousIndicatorControl );
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::HandleTransitionEffect
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::HandleTransitionEffect(
-    TPhoneTransEffectType aType )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::HandleTransitionEffect()" );
-
-    switch ( aType )
-        {
-        case EPhoneTransEffectDialerCreate:
-        case EPhoneTransEffectDialerOpen:
-            {
-            GfxTransEffect::BeginFullScreen(
-                KTouchDialerOpenEffect,
-                TRect(),
-                AknTransEffect::EParameterType,
-                AknTransEffect::GfxTransParam( KUidPhoneApplication ) );
-            iEffectOngoing = ETrue;
-            break;
-            }
-        case EPhoneTransEffectDialerClose:
-            {
-            GfxTransEffect::BeginFullScreen(
-                KTouchDialerCloseEffect,
-                TRect(),
-                AknTransEffect::EParameterType,
-                AknTransEffect::GfxTransParam( KUidPhoneApplication ) );
-            iEffectOngoing = ETrue;
-            break;
-            }
-        case EPhoneTransEffectStop:
-            {
-            if ( iEffectOngoing )
-                {
-                GfxTransEffect::EndFullScreen();
-                iEffectOngoing = EFalse;
-                }
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetControltoDialerL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetControltoDialerL()
-    {
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::SetControltoDialerL iDialerActive (%d)", iDialerActive );
-
-    if ( !iDialerActive )
-        {
-        iDialerActive = ETrue;
-
-        // Make dialer view top most
-        iDialerView->DrawableWindow()->SetOrdinalPosition(
-            iPhoneView->DrawableWindow()->OrdinalPosition() );
-        iDialerView->MakeVisible( ETrue );
-        iDialerView->DrawNow();
-
-        SwitchLayoutToFlatStatusPaneL( ETrue );
-
-        iPhoneView->DrawableWindow()->SetOrdinalPosition( -1 );
-        iPhoneView->MakeVisible( EFalse );
-
-        iToolbarController->HideToolbar();
-        iDialerController->ShowToolbar();
-
-        // Update control stack
-        iAppui->AddToStackL( iDialerView );
-		iAppui->RemoveFromStack( iPhoneView );
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetControltoCallHandlingL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetControltoCallHandlingL()
-    {
-    __PHONELOG1( EBasic, EPhoneUIView,
-        "CPhoneViewController::SetControltoCallHandlingL iDialerActive (%d)", iDialerActive );
-
-    if ( iDialerActive )
-        {
-        iDialerActive = EFalse;
-
-        SwitchLayoutToFlatStatusPaneL( EFalse );
-
-		// Make call handling view top most
-		iPhoneView->DrawableWindow()->SetOrdinalPosition(
-            iDialerView->DrawableWindow()->OrdinalPosition() );
-        iPhoneView->MakeVisible( ETrue );
-        iPhoneView->DrawNow();
-
-		iDialerView->DrawableWindow()->SetOrdinalPosition( -1 );
-        iDialerView->MakeVisible( EFalse );
-
-        iDialerController->HideToolbar();
-
-        // Update control stack
-		iAppui->AddToStackL( iPhoneView );
-		iAppui->RemoveFromStack( iDialerView );
-		}
-    
-    // If securitymode or emergency call not show toolbar
-	if ( !iPhoneView->IsSecurityMode() && 
-	     !iIncallIndicator->IsEmergencyCall() )
-		{
-    	iToolbarController->ShowToolbar();
-		}
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::SetDialerControlAndVisibilityL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::SetDialerControlAndVisibilityL()
-    {
-    __PHONELOG( EBasic, EPhoneUIView,
-        "CPhoneViewController::SetDialerControlAndVisibilityL" );
-
-    if ( iBubbleWrapper->IsNumberEntryUsed() )
-        {
-        if ( !iSendBack )
-            {
-            SetControltoDialerL();
-            // Reset flag to default value.
-            iSendBack = ETrue;
-            }
-        // next active phone app view is dialer.
-        iPhoneView->SetPhoneAppViewToDialer( ETrue );
-        }
-    else
-        {
-        // Reset flag.
-        iPhoneView->SetPhoneAppViewToDialer( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::CapturePointerEvents
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::CapturePointerEvents(
-                                    TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::CapturePointerEvents()" );
-    TPhoneCmdParamBoolean* booleanParam = static_cast<TPhoneCmdParamBoolean*>(
-        aCommandParam );
-    iPhoneView->CapturePointerEvents( booleanParam->Boolean() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::AllowWaitingCallHeaderL
-// ---------------------------------------------------------------------------
-//
-void CPhoneViewController::AllowWaitingCallHeaderL(
-                                           TPhoneCommandParam* aCommandParam )
-    {
-    __LOGMETHODSTARTEND(EPhoneUIView,
-        "CPhoneViewController::AllowWaitingCallHeaderL()" );
-
-    TPhoneCmdParamBoolean* booleanParam =
-        static_cast<TPhoneCmdParamBoolean*>( aCommandParam );
-
-    // Phone in foreground and control is in dialer ->
-    //do not show waiting call header.
-    if ( ( ( ApplicationWindowGroupId() ==
-             ForegroundApplicationWindowGroupId() ) &&
-         ( iDialerActive ) ) )
-        {
-        booleanParam->SetBoolean( EFalse );
-        }
-    // Phone isnt in foreground but since control is in dialer and save add to
-    // name service is active -> do not show waiting call header.
-    else if ( ( ( ApplicationWindowGroupId() !=
-                  ForegroundApplicationWindowGroupId() ) &&
-              ( iDialerActive ) && iContactSaveAddToName ) )
-        {
-        booleanParam->SetBoolean( EFalse );
-        }
-    // If Phone is in foreground and control is in bubble we need to check
-    // query status -> if query is active do not show waiting call header, if
-    // query is not active then show waiting call header.
-    else if ( ( ( ApplicationWindowGroupId() ==
-                  ForegroundApplicationWindowGroupId() ) &&
-              ( !iDialerActive ) ) )
-        {
-        TPhoneCmdParamBoolean isQueryDisplayed;
-        // Check is query displayed
-        ExecuteCommandL( EPhoneViewIsQuery, &isQueryDisplayed );
-
-        if ( isQueryDisplayed.Boolean() )
-            {
-            booleanParam->SetBoolean( EFalse );
-            }
-        else
-            {
-            booleanParam->SetBoolean( ETrue );
-            }
-        }
-    // Phone isnt in foreground but since control is in bubble and single item
-    // service is active(note! iBlockingDialogIsDisplayed must be true if it
-    // not then iSingleItemFetch is not active anymore) -> do not show waiting
-    // call header.
-    else if ( ( ( ApplicationWindowGroupId() !=
-                  ForegroundApplicationWindowGroupId() ) &&
-              ( !iDialerActive ) &&
-              ( iSingleItemFetch && iBlockingDialogIsDisplayed ) ) )
-        {
-        booleanParam->SetBoolean( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhoneViewController::NumberEntryChangedHandler
-// ---------------------------------------------------------------------------
-//
-MPhoneNumberEntryChangedHandler* CPhoneViewController::NumberEntryChangedHandler() const
-    {
-    if( iDialerController )
-        return iDialerController;
-    else
-        return iBubbleWrapper;
-
-    }
-
-// End of File
--- a/phoneapp/phoneuiview/src/cphonevmbxhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,470 +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:  Voice mailbox handler.
-*
-*/
-
-
-// INCLUDE FILES
-#include    <eikenv.h>
-#include    <e32property.h>
-#include    <featmgr.h>
-#include    <exterror.h>
-#include    <NetworkHandlingDomainPSKeys.h> 
-#include    <telvmbxsettingscrkeys.h>
-#include    <vmnumber.h>
-#include    <voicemailboxdomaincrkeys.h>
-
-#include    "cphonecenrepproxy.h"
-#include    "cphonevmbxhandler.h"
-#include    "phoneconstants.h"
-#include    "phonelogger.h"
-#include    "phoneui.pan"
-// CONSTANTS
- 
-const TInt KVideoMbxVariabilityFeatureOn = 2;
-
-#ifdef _DEBUG
-const TInt KPhoneSpeedDialMaxLocation = 9;
-#endif // _DEBUG
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::CPhoneVmbxHandler
-// -----------------------------------------------------------------------------
-//
-CPhoneVmbxHandler::CPhoneVmbxHandler()
-    {
-    iCsVideoTelFeature = FeatureManager::FeatureSupported
-                                                  ( KFeatureIdCsVideoTelephony ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::NewL
-// -----------------------------------------------------------------------------
-//
-CPhoneVmbxHandler* CPhoneVmbxHandler::NewL() 
-    {
-    CPhoneVmbxHandler* self = 
-        new (ELeave) CPhoneVmbxHandler();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::~CPhoneVmbxHandler
-// -----------------------------------------------------------------------------
-//
-CPhoneVmbxHandler::~CPhoneVmbxHandler()
-    {
-    if ( iVmbx )
-        {
-        iVmbx->Close();
-        delete iVmbx;
-        }
-    }
- 
- // -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneVmbxHandler::ConstructL()
-    {
-    }
- 
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::IsStraightCallToVideoMailBox()
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneVmbxHandler::IsStraightCallToVideoMailBox() const
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::IsStraightCallToVideoMailBox()" );
-    
-    TInt callStraightToVideoMailBox = KErrNone;
-    TInt err = CPhoneCenRepProxy::Instance()->GetInt(         
-        KCRUidTelVideoMailbox, 
-        KTelVideoMbxKey, 
-        callStraightToVideoMailBox );
-                
-    if ( err == KErrNone )
-        {
-        return ( callStraightToVideoMailBox == KVideoMbxVariabilityFeatureOn );
-        }
-            
-    __PHONELOG1( EBasic, 
-                 EPhoneUIView,
-                 "CPhoneVmbxHandler::IsStraightCallToVideoMailBox -> err = (%d)", 
-                 err );
-                         
-    return EFalse;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::IsVideoMailBoxConfigured()
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneVmbxHandler::IsVideoMailBoxConfigured() const
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::IsVideoMailBoxConfigured()" );
-    
-    TInt videoMbxConfigured = KErrNone;
-    TInt err = CPhoneCenRepProxy::Instance()->GetInt(         
-        KCRUidVideoMailbox, 
-        KVideoMbxSupport, 
-        videoMbxConfigured );
-        
-    if ( err == KErrNone )
-        {
-        return videoMbxConfigured;
-        }
-
-    __PHONELOG1( EBasic, 
-                 EPhoneUIView,
-                 "CPhoneVmbxHandler::IsVideoMailBoxConfigured -> err = (%d)", 
-                 err );
-        
-    return EFalse;
-    }    
- 
- 
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::IsVideoMbxLocationAndConfigured
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneVmbxHandler::IsVideoMbxLocationAndConfigured( 
-        TInt aSpdLocation ) const
-    {
-    return ( aSpdLocation == KPhoneVideoMbxLocation && 
-                    IsVideoMailBoxConfigured() );
-    }
-
-// -----------------------------------------------------------------------------    
-// CPhoneVmbxHandler::GetStraightSpeedDialNumber
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneVmbxHandler::GetStraightSpeedDialNumber( 
-    TInt aSpdLocation, 
-    TDes& aNumber )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::GetStraightSpeedDialNumber()" );
-    
-    __ASSERT_DEBUG( ( aSpdLocation >=KPhoneVoiceMailBoxLocation && 
-        aSpdLocation <= KPhoneSpeedDialMaxLocation), 
-        Panic( EPhoneViewIndexOutOfBounds ) );
-      
-    TInt retVal( KErrNone );
-    
-    TBool straightCallToVideoMbx = IsStraightCallToVideoMailBox();
-    
-    /******************************************************
-    * -Separated Voice / Video 
-    * - Key '1' to VoiceMbx and Key '2' to VideoMbx,
-    *   if Video mailbox configured.
-    ******************************************************/
-    if ( IsCsVideoTelFeature() &&
-              straightCallToVideoMbx && 
-            ( IsVideoMbxLocationAndConfigured( aSpdLocation ) || 
-                aSpdLocation == KPhoneVoiceMailBoxLocation ) )
-        {
-        
-        TRAPD( error, CreateVmbxL() );
-        if ( !error )
-            {
-            if ( aSpdLocation == KPhoneVoiceMailBoxLocation )
-                {
-                // Get to voice mailbox number
-                retVal = LaunchMbx( EVmbx, aNumber );
-                }
-            else  
-                {
-                // Get to video mailbox number
-                retVal = LaunchMbx( EVmbxVideo, aNumber );            
-                }
-            }
-         else
-            {
-            retVal = error;        
-            }   
-        }
-    __PHONELOG1( EBasic, 
-             EPhoneUIView,"CPhoneVmbxHandler::GetStraightSpeedDialNumber -> retval = (%d)", 
-             retVal );
-                  
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::IsCsVideoTelFeature
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneVmbxHandler::IsCsVideoTelFeature()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::IsCsVideoTelFeature()" );
-    return iCsVideoTelFeature; 
-    }
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::LaunchMbx
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneVmbxHandler::LaunchMbx( TInt aMailboxType, TDes& aNumber )
-    {
-    TInt retVal( KErrNone );
-    iMailboxType = aMailboxType;
-    
-    switch ( aMailboxType )
-        {
-        case EVmbx:
-            {
-            TRAPD( error, retVal = CSVmbxL( aNumber ) );
-            if ( error )
-                {
-                retVal = error;
-                }
-            }
-            break; 
-        case EVmbxIP:
-            {
-            TRAPD( error,retVal = IPVmbxL( aNumber ) );
-            if ( error )
-                {
-                retVal = error;
-                }            
-            } 
-            break;
-        case EVmbxVideo:
-            {
-            TRAPD( error, retVal = VideoVmbxL( aNumber ) );
-            if ( error )
-                {
-                retVal = error;
-                }
-            }
-            break;
-            
-        default:
-            break;
-        }
- 
-    __PHONELOG1( EBasic, 
-                 EPhoneUIView,"CPhoneVmbxHandler::LaunchMbx -> retval = (%d)", 
-                 retVal );
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::CSVmbxL
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneVmbxHandler::CSVmbxL( TDes& aNumber )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::CSVmbxL()" );
-    CreateVmbxL();
-    TInt err ( KErrNone );
-    err = iVmbx->GetVmbxNumber( aNumber );
-    
-    //check error code
-    if ( err != KErrNone && err != KErrNotFound )
-        {
-        User::Leave( err );
-        }
-
-    //If not assigned
-    if ( err == KErrNotFound )
-        {
-        aNumber.Zero();
-        if ( !( iVmbx->QueryNumberL( EVmbxNotDefinedQuery, aNumber ) ) )
-            {
-            err = KErrNotFound;
-            }
-        else
-            {
-            if ( aNumber.Length() != 0 )
-                {
-                err = KErrNone;
-                }
-            else
-                {
-                err = KErrNotFound;
-                }
-            }
-        }
-    return err;
-    }
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::IPVmbxL
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneVmbxHandler::IPVmbxL( TDes& aNumber )   
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::IPVmbxL()" );
-    CreateVmbxL();
-
-    TInt err = iVmbx->GetVmbxAddress( aNumber, iServiceId );
-
-    return err; 
-    }
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::VideoVmbxL
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneVmbxHandler::VideoVmbxL( TDes& aNumber )   
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::VideoVmbxL()" );
-    CreateVmbxL();
-    TInt err = iVmbx->GetVideoMbxNumber( aNumber );
-    //check error code
-    if ( err != KErrNone && err != KErrNotFound )
-        {
-        User::Leave( err );
-        }
-    //If not assigned
-    if ( err == KErrNotFound )
-        {
-        aNumber.Zero();
-        if ( !( iVmbx->QueryVideoMbxNumberL( EVmbxNotDefinedQuery, aNumber ) ) )
-            {
-            err = KErrNotFound;
-            }
-        else
-            {
-            if ( aNumber.Length() != 0 )
-                {
-                err = KErrNone;
-                }
-            else
-                {
-                err = KErrNotFound;
-                }
-            }
-        }
-    
-    __PHONELOG1( EBasic, 
-                 EPhoneUIView,"CPhoneVmbxHandler::VideoVmbxL -> err = (%d)", 
-                 err );    
-    return err; 
-    } 
-    
-    
-// -----------------------------------------------------------------------------
-// CPhoneVmbxHandler::NetworkMode
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneVmbxHandler::NetworkMode()
-    
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::NetworkMode()" );
-    TInt networkMode = ENWNetworkModeUnknown;
-    
-    RProperty::Get( KPSUidNetworkInfo, 
-                    KNWTelephonyNetworkMode,
-                    networkMode );
-    __PHONELOG1( EBasic, 
-                 EPhoneUIView,"CPhoneVmbxHandler::NetworkMode -> NWMode = (%d)", 
-                 networkMode );                    
-    return networkMode; 
-    } 
-  
-// ---------------------------------------------------------
-// CPhoneVmbxHandler::CreateVmbxL
-// ---------------------------------------------------------
-//
-void CPhoneVmbxHandler::CreateVmbxL()
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::CreateVmbxL()" );    
-    if ( !iVmbx )
-        {
-        RVmbxNumber* vmbx = new ( ELeave ) RVmbxNumber;
-        CleanupStack::PushL( vmbx );
-        User::LeaveIfError( vmbx->Open() );
-        CleanupStack::Pop( vmbx );
-        iVmbx = vmbx;
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhoneVmbxHandler::GetMailboxType
-// ---------------------------------------------------------
-//
-TInt CPhoneVmbxHandler::GetMailboxType()
-    {
-    return iMailboxType;
-    }
-
-// ---------------------------------------------------------
-// CPhoneVmbxHandler::SelectMailboxTypeL
-// ---------------------------------------------------------
-//
-TInt CPhoneVmbxHandler::SelectMailboxTypeL( TUint& aServiceId )
-    {
-    __LOGMETHODSTARTEND( EPhoneUIView, "CPhoneVmbxHandler::SelectMailboxTypeL()" );
-    CreateVmbxL();
-    
-    TInt err( KErrNotFound );
-    TInt err2( KErrNotFound );
-    TInt err3( KErrNotFound );
-    TInt type( EVmbxNone );
-    
-    TBuf<KPhoneNumberEntryBufferSize> number;
-    number.Zero(); // empty the string
-    // Voice mbx number
-    err = iVmbx->GetVmbxNumber( number );
-
-    // Video mbx number
-    if( IsCsVideoTelFeature() )
-        {
-        err2 = iVmbx->GetVideoMbxNumber( number );
-        }
-
-    if ( iVmbx->IsIpVoiceMailboxServices() )
-        {
-        err3 = KErrNone;
-        }
-
-    if ( ( err == KErrNotFound || err == KErrNotSupported ) &&
-         ( err2 == KErrNotFound || err2 == KErrNotSupported ) &&
-         ( err3 == KErrNotFound || err3 == KErrNotSupported ) )
-        {
-        type = iVmbx->SelectTypeL( EVmbxDefine );
-        }
-    else 
-        {
-        type =iVmbx->SelectTypeL( EVmbxCall, iServiceId );
-        aServiceId = iServiceId;
-        } 
-    
-    return type;
-    }
-   
-// ---------------------------------------------------------
-// CPhoneVmbxHandler::CancelVmbx
-// ---------------------------------------------------------
-//
-void CPhoneVmbxHandler::CancelVmbx()
-    {
-    if ( iVmbx )
-        {
-        iVmbx->Close();
-        delete iVmbx;
-        iVmbx = NULL;
-        }    
-    }
-
-//  End of File  
-
--- a/phoneapp/phoneuiview/src/phonebubbleextension.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +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 extension plugin wrapper
-*
-*/
-
-
-#include <telbubbleextension.h>
-#include <bmbubblemanager.h>
-
-#include "phonebubbleextension.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtension* CPhoneBubbleExtension::NewL(
-    CBubbleManager& aBubbleManager,
-    TUid aUid,
-    TUint8 aPriority )
-    {
-    CPhoneBubbleExtension* self =
-        CPhoneBubbleExtension::NewLC( aBubbleManager, aUid, aPriority );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtension* CPhoneBubbleExtension::NewLC(
-    CBubbleManager& aBubbleManager,
-    TUid aUid,
-    TUint8 aPriority )
-    {
-    CPhoneBubbleExtension* self =
-        new( ELeave ) CPhoneBubbleExtension( aBubbleManager, aUid, aPriority );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtension::~CPhoneBubbleExtension()
-    {
-    delete iPlugin;
-    }
-
-// --------------------------------------------------------------------------
-// From class MTelBubbleExtensionObserver.
-// 
-// --------------------------------------------------------------------------
-//
-void CPhoneBubbleExtension::StartChanges()
-    {
-    iBubbleManager.StartChanges();
-    }
-
-// --------------------------------------------------------------------------
-// From class MTelBubbleExtensionObserver.
-// 
-// --------------------------------------------------------------------------
-//
-void CPhoneBubbleExtension::EndChanges()
-    {
-    iBubbleManager.EndChanges();
-    }
-
-// --------------------------------------------------------------------------
-// From class MTelBubbleExtensionObserver.
-// Attaches element to bubble. Causes redraw.
-// --------------------------------------------------------------------------
-//
-inline void CPhoneBubbleExtension::AttachElement(
-    TInt aBubbleId,
-    CTelBubbleCustomElement* aElement )
-    {
-    ReplaceElement( aBubbleId, NULL, aElement);
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTelBubbleExtensionObserver.
-// Replaces element in bubble. Causes redraw.
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtension::ReplaceElement(
-    TInt aBubbleId,
-    CTelBubbleCustomElement* aOld,
-    CTelBubbleCustomElement* aNew )
-    {
-    iBubbleManager.StartChanges();
-    if ( aOld )
-        {
-        iBubbleManager.RemoveCustomElement( aBubbleId, aOld );
-        }
-    if ( aNew )
-        {
-        iBubbleManager.AddCustomElement( aBubbleId, aNew, iPriority );
-        }
-    iBubbleManager.EndChanges();
-    }
-
-// --------------------------------------------------------------------------
-// From class MTelBubbleExtensionObserver.
-// Detaches element in bubble. Causes redraw.
-// --------------------------------------------------------------------------
-//
-inline void CPhoneBubbleExtension::DetachElement(
-    TInt aBubbleId,
-    CTelBubbleCustomElement* aElement )
-    {
-    ReplaceElement( aBubbleId, aElement, NULL);
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTelBubbleExtensionInterface.
-// Notifies that a new customizable bubble is available
-// ---------------------------------------------------------------------------
-//
-inline void CPhoneBubbleExtension::StartCustomizedBubble(
-    MTelBubbleExtensionData& aCallData )
-    {
-    iPlugin->StartCustomizedBubble( aCallData );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTelBubbleExtensionInterface.
-// Notifies that a customizable bubble has been removed
-// ---------------------------------------------------------------------------
-//
-inline void CPhoneBubbleExtension::StopCustomizedBubble(
-    MTelBubbleExtensionData& aCallData )
-    {
-    iPlugin->StopCustomizedBubble( aCallData );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTelBubbleExtensionInterface.
-// Indicates that currently bubble drawing is started.
-// ---------------------------------------------------------------------------
-//
-inline void CPhoneBubbleExtension::BubbleUpdating()
-    {
-    iPlugin->BubbleUpdating();
-    }
-
-// ---------------------------------------------------------------------------
-// First phase constructor.
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtension::CPhoneBubbleExtension(
-    CBubbleManager& aBubbleManager,
-    TUid aUid,
-    TUint8 aPriority )
-    : iBubbleManager(aBubbleManager), iUid(aUid), iPriority(aPriority)
-    {
-    // no implementation needed
-    }
-
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtension::ConstructL()
-    {
-    iPlugin = CTelBubbleExtension::NewL( iUid );
-    iPlugin->InitializeL( *this );
-    }
-
-
-
--- a/phoneapp/phoneuiview/src/phonebubbleextensiondata.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /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:  Contains call data.
-*
-*/
-
-
-#include "phonebubbleextensiondata.h"
-#include "tphonecmdparamcallheaderdata.h"
-#include "pevirtualengine.h"
-
-// --------------------------------------------------------------------------
-// Two-phased constructor.
-// --------------------------------------------------------------------------
-//
-CPhoneBubbleExtensionData* CPhoneBubbleExtensionData::NewL(
-    TInt aBubbleId,
-    TPhoneCmdParamCallHeaderData* aParams, 
-    TBool aFirst )
-    {
-    CPhoneBubbleExtensionData* self =
-        CPhoneBubbleExtensionData::NewLC( aBubbleId, aParams, aFirst );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// Two-phased constructor.
-// --------------------------------------------------------------------------
-//
-CPhoneBubbleExtensionData* CPhoneBubbleExtensionData::NewLC(
-    TInt aBubbleId,
-    TPhoneCmdParamCallHeaderData* aParams, 
-    TBool aFirst )
-    {
-    CPhoneBubbleExtensionData* self =
-        new( ELeave ) CPhoneBubbleExtensionData( aBubbleId, aParams, aFirst );
-    CleanupStack::PushL( self );
-    self->ConstructL( aParams );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtensionData::~CPhoneBubbleExtensionData()
-    {
-    delete iContactLink;
-    delete iRemotePhoneNumber;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets the call state
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtensionData::SetState( TInt aState, TBool aFirst )
-    {
-    switch ( aState )
-        {
-        case EPEStateDialing:
-            iState = MTelBubbleExtensionData::EOutgoing;
-            break;
-
-        case EPEStateRinging:
-            if ( aFirst )
-                {
-                iState = MTelBubbleExtensionData::EIncoming;
-                }
-            else
-                {
-                iState = MTelBubbleExtensionData::EWaiting;
-                }
-            break;
-
-        case EPEStateConnecting:
-            iState = MTelBubbleExtensionData::EAlerting;
-            break;
-
-        case EPEStateHeld: // fall-through
-        case EPEStateHeldConference:
-            iState = MTelBubbleExtensionData::EOnHold;
-            break;
-
-        case EPEStateDisconnecting: // fall-through
-        case EPEStateConferenceIdle: // fall-through
-        case EPEStateIdle:
-            iState = MTelBubbleExtensionData::EDisconnected;
-            break;
-
-        case EPEStateConnected: // fall-through
-        case EPEStateConnectedConference:
-            iState = MTelBubbleExtensionData::EActive;
-            break;
-
-        case EPEStateUnknown: // fall-through
-        default:
-            break;
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTelBubbleExtensionData.
-// Bubble ID.
-// ---------------------------------------------------------------------------
-//
-inline TInt CPhoneBubbleExtensionData::BubbleId() const
-    {
-    return iBubbleId;
-    }
-
-// --------------------------------------------------------------------------
-// From class MTelBubbleExtensionData.
-// Call state information.
-// --------------------------------------------------------------------------
-//
-inline CPhoneBubbleExtensionData::TCallState
-    CPhoneBubbleExtensionData::State() const
-    {
-    return iState;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTelBubbleExtensionData.
-// Call type information
-// ---------------------------------------------------------------------------
-//
-inline CPhoneBubbleExtensionData::TCallType
-    CPhoneBubbleExtensionData::Type() const
-    {
-    return iType;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTelBubbleExtensionData.
-// Call service id
-// ---------------------------------------------------------------------------
-//
-inline TUint32 CPhoneBubbleExtensionData::ServiceId() const
-    {
-    return iService;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTelBubbleExtensionData.
-// Contact Link related to this call.
-// ---------------------------------------------------------------------------
-//
-inline const TDesC8& CPhoneBubbleExtensionData::ContactLink() const
-    {
-    return *iContactLink;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MTelBubbleExtensionData.
-// Remote phone number related to this call.
-// ---------------------------------------------------------------------------
-//
-const TDesC& CPhoneBubbleExtensionData::RemotePhoneNumber() const
-    {
-    return *iRemotePhoneNumber;
-    }
-
-// ---------------------------------------------------------------------------
-// First phase constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtensionData::CPhoneBubbleExtensionData( 
-    TInt aBubbleId,
-    TPhoneCmdParamCallHeaderData* aParams, 
-    TBool aFirst )
-    : iBubbleId(aBubbleId), iState(ENone), iType(EUninitialized), iService(0)
-    {
-    // call state
-    SetState( aParams->CallState(), aFirst );
-
-    // call type
-    switch ( aParams->CallType() )
-        {
-        case EPECallTypeCSVoice:
-            iType = MTelBubbleExtensionData::ECsVoice;
-            break;
-
-        case EPECallTypeVideo:
-            iType = MTelBubbleExtensionData::ECsVideo;
-            break;
-        
-        case EPECallTypeVoIP:
-            iType = MTelBubbleExtensionData::EPsVoice;
-            break;
-        
-        case EPECallTypeUninitialized:
-        default:
-            iType = MTelBubbleExtensionData::EUninitialized;
-            break;
-        }
-    
-    // service ID
-    iService = aParams->ServiceId();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtensionData::ConstructL( 
-    TPhoneCmdParamCallHeaderData* aParams )
-    {
-    // Copy contact link to local buffer
-    iContactLink = HBufC8::NewL( aParams->ContactLink().Length() );
-    *iContactLink = aParams->ContactLink();
-    
-    // Copy phone number to local buffer
-    iRemotePhoneNumber = aParams->RemotePhoneNumber().AllocL();
-    }
-
-
--- a/phoneapp/phoneuiview/src/phonebubbleextensionmanager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,342 +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:  Manages the call bubble extension plugins.
-*
-*/
-
-
-#include <badesca.h>
-#include <ecom.h>
-#include <telbubbleextension.h>
-
-#include "phonebubbleextension.h"
-#include "phonebubbleextensionmanager.h"
-#include "phonebubbleextensiondata.h"
-
-const TUint8 KDefaultPriority(255);
-
-/**
-* This is a support class that is used to carry relation of plugin UId and the
-* assigned priority. Used inside an ordered array only. 
-*/
-class TPriorityItem
-{
-public:
-    TPriorityItem( const TUid aUid, const TUint8 aPriority )
-            : iUid(aUid),iPriority(aPriority){};
-    const TUid Uid() const
-            { return iUid; };
-    TUint8 Priority() const
-            { return iPriority; };
-    TBool operator==( const TPriorityItem& aOther ) const
-            { return iUid == aOther.Uid(); };
-    TBool operator<( const TPriorityItem& aOther ) const
-            { return iUid.iUid < aOther.Uid().iUid; };
-    static TInt Compare( const TPriorityItem& aFirst, 
-            const TPriorityItem& aSecond )
-            {
-            if( aFirst < aSecond )
-                {
-                return -1;
-                }
-            if( aFirst == aSecond )
-                {
-                return 0;
-                }
-            return 1;
-            };
-private:
-    TPriorityItem();
-    
-private:
-    const TUid iUid;
-    const TUint8 iPriority;
-};
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ECOM array cleanupstack support function
-// ---------------------------------------------------------------------------
-//
-void CleanupEComArray(TAny* aArray)
-    {
-    (static_cast<RImplInfoPtrArray*> (aArray))->ResetAndDestroy();
-    (static_cast<RImplInfoPtrArray*> (aArray))->Close();
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Two-phase constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtensionManager* CPhoneBubbleExtensionManager::NewL(
-    CBubbleManager& aBubbleManager )
-    {
-    CPhoneBubbleExtensionManager* self = 
-        CPhoneBubbleExtensionManager::NewLC( aBubbleManager );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Two-phase constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtensionManager* CPhoneBubbleExtensionManager::NewLC(
-    CBubbleManager& aBubbleManager )
-    {
-    CPhoneBubbleExtensionManager* self = 
-        new( ELeave ) CPhoneBubbleExtensionManager( aBubbleManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// destructor
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtensionManager::~CPhoneBubbleExtensionManager()
-    {
-    Reset();
-    iPriorityArray.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// Notifies the plugin framework about a new call.
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtensionManager::StartCallL( 
-    TInt aBubbleId, 
-    TPhoneCmdParamCallHeaderData* aParams )
-    {
-    if ( !iInitialized )
-        {
-        // Load plugins (happens on first call)
-        InitializeL();
-        }
-    if ( iPlugins.Count() > 0 ) // Call added only if any plugins
-        {
-        // create call data
-        CPhoneBubbleExtensionData* callData = CPhoneBubbleExtensionData::NewLC( 
-                aBubbleId,
-                aParams,
-                ( iCalls.Count() == 0 ) );
-        
-        // insert to array
-        iCalls.AppendL( callData ); // ownership transferred
-        CleanupStack::Pop( callData );
-        
-        // notify all plugins
-        const TUint pluginCount = iPlugins.Count();
-        for ( TUint index(0); index < pluginCount; index++ )
-            {
-            iPlugins[index]->StartCustomizedBubble( *callData );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Notifies the plugin framework about cleared call.
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtensionManager::StopCall( TInt aBubbleId)
-    {
-    // find call data
-    TBool found(EFalse);
-    TUint callIndex(0);
-    const TUint callCount = iCalls.Count();
-    while ( callIndex < callCount && !found )
-        {
-        found = ( iCalls[callIndex]->BubbleId() == aBubbleId );
-        if ( !found )
-            {
-            callIndex++;
-            }
-        }
-    if ( found )
-        {
-        // notify all plugins
-        const TUint pluginCount = iPlugins.Count();
-        for ( TUint index(0); index < pluginCount; index++ )
-            {
-            iPlugins[index]->StopCustomizedBubble( *iCalls[callIndex] );
-            }
-        // destroy call data
-        delete iCalls[callIndex];
-        iCalls.Remove( callIndex );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Notifies the plugin framework about changed call state.
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtensionManager::UpdateCallState( 
-    TInt aBubbleId, 
-    TInt aNewState )
-    {
-    // find call data
-    TBool found(EFalse);
-    TUint callIndex(0);
-    const TUint callCount = iCalls.Count();
-    while ( callIndex < callCount && !found )
-        {
-        found = ( iCalls[callIndex]->BubbleId() == aBubbleId );
-        if ( !found )
-            {
-            callIndex++;
-            }
-        }
-    if ( found )
-        {
-        // modify call data
-        iCalls[callIndex]->SetState( aNewState, ( iCalls.Count() == 0 ) );
-        // notify all plugins
-        const TUint pluginCount = iPlugins.Count();
-        for ( TUint index(0); index < pluginCount; index++ )
-            {
-            iPlugins[index]->BubbleUpdating();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Loads all plugins
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtensionManager::InitializeL()
-    {
-    if ( !iInitialized )
-        {
-        // load list of plugins
-        RImplInfoPtrArray pluginArray;
-        TCleanupItem cleanup( CleanupEComArray, &pluginArray );
-        CleanupStack::PushL( cleanup );
-        REComSession::ListImplementationsL(
-                KTelBubbleExtensionInterfaceUid, 
-                pluginArray);
-    
-        // loop through the list, load plugin and insert to array 
-        CPhoneBubbleExtension* plugin;
-        const TUint count( pluginArray.Count() );
-        for ( TUint index(0); index < count; index++ )
-            {
-            // Plugin UID
-            TUid uid = pluginArray[index]->ImplementationUid();
-            // Plugin priority
-            TUint8 priority( KDefaultPriority ); // for unknown plugins 
-            TInt priorityIndex = iPriorityArray.FindInOrder(
-                    TPriorityItem( uid, 0 ),
-                    TLinearOrder<TPriorityItem>( TPriorityItem::Compare ));
-            if ( priorityIndex >= 0)
-                {
-                // Priority for this plugin found.
-                priority = iPriorityArray[priorityIndex].Priority();
-                }
-
-            // Load plugin:
-            TRAP_IGNORE( 
-                plugin = CPhoneBubbleExtension::NewLC( iBubbleManager, 
-                                                       uid, 
-                                                       priority );
-
-                // Plugin was loaded successfully
-                iPlugins.AppendL( plugin ); // ownership trasferred
-                CleanupStack::Pop( plugin );
-                );
-            }
-    
-        // Clean up
-        CleanupStack::PopAndDestroy(); // pluginArray
-        iInitialized = ETrue;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// First phase constructor
-// ---------------------------------------------------------------------------
-//
-CPhoneBubbleExtensionManager::CPhoneBubbleExtensionManager(
-    CBubbleManager& aBubbleManager )
-    :iBubbleManager( aBubbleManager ), iInitialized(EFalse)
-    {
-    // no implementation needed
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtensionManager::ConstructL()
-    {
-    // Load priorities
-    LoadPrioritiesL();
-
-    // Currently, the plugins are loaded when the first call happens,
-    // not during construction. This avoids the situation where phone might
-    // panic during boot up if there's a bad plugin which panics when loaded.
-    }
-
-// ---------------------------------------------------------------------------
-// Loads plugin priorities.
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtensionManager::LoadPrioritiesL()
-    {
-    // Currently plugin priorities are not in use. No array is loaded,
-    // therefore all plugins get default priority as the priority is not
-    // found during the loading.
-    // Here's an example implementation how to insert loaded priority data
-    // (UID + priority pairs) into the array:
-    // iPriorityArray.InsertInOrderL(
-    //        TPriorityItem( TUid::Uid(0x12345789), 5 ),
-    //        TLinearOrder<TPriorityItem>( TPriorityItem::Compare ));
-
-    }
-
-// ---------------------------------------------------------------------------
-// Unloads all plugins, closes all calls
-// ---------------------------------------------------------------------------
-//
-void CPhoneBubbleExtensionManager::Reset()
-    {
-    // Close all calls
-    for ( TInt callIndex(0); callIndex < iCalls.Count(); callIndex++ )
-        {
-        // notify all plugins
-        const TUint pluginCount = iPlugins.Count();
-        for ( TUint index(0); index < pluginCount; index++ )
-            {
-            iPlugins[index]->StopCustomizedBubble( *iCalls[callIndex] );
-            }
-        // destroy call data
-        delete iCalls[callIndex];
-        }
-    iCalls.Close();
-
-    // Unload plugins
-    for ( TInt index(0); index < iPlugins.Count(); index++ )
-        {
-        delete iPlugins[index];
-        }
-    iPlugins.Close();
-    
-    iInitialized = EFalse;
-    }
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/bwins/phoneuiqtviewu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,63 @@
+EXPORTS
+	?setExpandAction@PhoneUIQtView@@UAEXHH@Z @ 1 NONAME ; void PhoneUIQtView::setExpandAction(int, int)
+	?keyPressed@PhoneUIQtView@@IAEXPAVQKeyEvent@@@Z @ 2 NONAME ; void PhoneUIQtView::keyPressed(class QKeyEvent *)
+	?volumeSliderChanged@PhoneUIQtView@@QAEXH@Z @ 3 NONAME ; void PhoneUIQtView::volumeSliderChanged(int)
+	?menuReference@PhoneUIQtView@@UAEAAVHbMenu@@XZ @ 4 NONAME ; class HbMenu & PhoneUIQtView::menuReference(void)
+	?qt_metacast@PhoneUIQtView@@UAEPAXPBD@Z @ 5 NONAME ; void * PhoneUIQtView::qt_metacast(char const *)
+	?clearParticipantListActions@PhoneUIQtView@@UAEXXZ @ 6 NONAME ; void PhoneUIQtView::clearParticipantListActions(void)
+	?icon@PhoneAction@@QBE?AVHbIcon@@XZ @ 7 NONAME ; class HbIcon PhoneAction::icon(void) const
+	?setBackButtonVisible@PhoneUIQtView@@UAEX_N@Z @ 8 NONAME ; void PhoneUIQtView::setBackButtonVisible(bool)
+	?addBubbleCommand@PhoneUIQtView@@UAEXHABVPhoneAction@@@Z @ 9 NONAME ; void PhoneUIQtView::addBubbleCommand(int, class PhoneAction const &)
+	?shutdownPhoneApp@PhoneUIQtView@@UAEXXZ @ 10 NONAME ; void PhoneUIQtView::shutdownPhoneApp(void)
+	?showToolbar@PhoneUIQtView@@UAEXXZ @ 11 NONAME ; void PhoneUIQtView::showToolbar(void)
+	?clearBubbleCommands@PhoneUIQtView@@UAEXH@Z @ 12 NONAME ; void PhoneUIQtView::clearBubbleCommands(int)
+	?eventFilter@PhoneUIQtView@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 13 NONAME ; bool PhoneUIQtView::eventFilter(class QObject *, class QEvent *)
+	??0PhoneUIQtView@@QAE@AAVHbMainWindow@@PAVQGraphicsItem@@@Z @ 14 NONAME ; PhoneUIQtView::PhoneUIQtView(class HbMainWindow &, class QGraphicsItem *)
+	?metaObject@PhoneUIQtView@@UBEPBUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const * PhoneUIQtView::metaObject(void) const
+	??1PhoneAction@@QAE@XZ @ 16 NONAME ; PhoneAction::~PhoneAction(void)
+	?staticMetaObject@PhoneUIQtView@@2UQMetaObject@@B @ 17 NONAME ; struct QMetaObject const PhoneUIQtView::staticMetaObject
+	?setText@PhoneAction@@QAEXVQString@@@Z @ 18 NONAME ; void PhoneAction::setText(class QString)
+	?setDisabled@PhoneAction@@QAEX_N@Z @ 19 NONAME ; void PhoneAction::setDisabled(bool)
+	?setCommand@PhoneAction@@QAEXH@Z @ 20 NONAME ; void PhoneAction::setCommand(int)
+	??1PhoneUIQtView@@UAE@XZ @ 21 NONAME ; PhoneUIQtView::~PhoneUIQtView(void)
+	?tr@PhoneUIQtView@@SA?AVQString@@PBD0@Z @ 22 NONAME ; class QString PhoneUIQtView::tr(char const *, char const *)
+	?onEditorContentChanged@PhoneUIQtView@@QAEXXZ @ 23 NONAME ; void PhoneUIQtView::onEditorContentChanged(void)
+	?hideDialpad@PhoneUIQtView@@UAEXXZ @ 24 NONAME ; void PhoneUIQtView::hideDialpad(void)
+	?bringToForeground@PhoneUIQtView@@UAEXXZ @ 25 NONAME ; void PhoneUIQtView::bringToForeground(void)
+	?volumeSliderValue@PhoneUIQtView@@UAEHXZ @ 26 NONAME ; int PhoneUIQtView::volumeSliderValue(void)
+	?setToolbarActions@PhoneUIQtView@@UAEXABV?$QList@PAVPhoneAction@@@@@Z @ 27 NONAME ; void PhoneUIQtView::setToolbarActions(class QList<class PhoneAction *> const &)
+	?text@PhoneAction@@QBE?AVQString@@XZ @ 28 NONAME ; class QString PhoneAction::text(void) const
+	??_EPhoneUIQtView@@UAE@I@Z @ 29 NONAME ; PhoneUIQtView::~PhoneUIQtView(unsigned int)
+	?setMenuActions@PhoneUIQtView@@UAEXABV?$QList@PAVPhoneAction@@@@@Z @ 30 NONAME ; void PhoneUIQtView::setMenuActions(class QList<class PhoneAction *> const &)
+	?trUtf8@PhoneUIQtView@@SA?AVQString@@PBD0H@Z @ 31 NONAME ; class QString PhoneUIQtView::trUtf8(char const *, char const *, int)
+	?isDialpadVisible@PhoneUIQtView@@UAE_NXZ @ 32 NONAME ; bool PhoneUIQtView::isDialpadVisible(void)
+	?bubbleManager@PhoneUIQtView@@UAEAAVBubbleManagerIF@@XZ @ 33 NONAME ; class BubbleManagerIF & PhoneUIQtView::bubbleManager(void)
+	?command@PhoneUIQtView@@IAEXH@Z @ 34 NONAME ; void PhoneUIQtView::command(int)
+	?dialpadText@PhoneUIQtView@@UAE?AVQString@@XZ @ 35 NONAME ; class QString PhoneUIQtView::dialpadText(void)
+	?backButtonClicked@PhoneUIQtView@@QAEXXZ @ 36 NONAME ; void PhoneUIQtView::backButtonClicked(void)
+	?dialpadIsAboutToClose@PhoneUIQtView@@IAEXXZ @ 37 NONAME ; void PhoneUIQtView::dialpadIsAboutToClose(void)
+	?trUtf8@PhoneUIQtView@@SA?AVQString@@PBD0@Z @ 38 NONAME ; class QString PhoneUIQtView::trUtf8(char const *, char const *)
+	?tr@PhoneUIQtView@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString PhoneUIQtView::tr(char const *, char const *, int)
+	?createToolBarActions@PhoneUIQtView@@AAEXXZ @ 40 NONAME ; void PhoneUIQtView::createToolBarActions(void)
+	?addParticipantListAction@PhoneUIQtView@@UAEXHABVQString@@ABVHbIcon@@@Z @ 41 NONAME ; void PhoneUIQtView::addParticipantListAction(int, class QString const &, class HbIcon const &)
+	?actionRole@PhoneAction@@QBE?AW4ActionRole@1@XZ @ 42 NONAME ; enum PhoneAction::ActionRole PhoneAction::actionRole(void) const
+	?setDialpadPosition@PhoneUIQtView@@AAEXXZ @ 43 NONAME ; void PhoneUIQtView::setDialpadPosition(void)
+	?setActionRole@PhoneUIQtView@@CAXABVPhoneAction@@AAVHbAction@@@Z @ 44 NONAME ; void PhoneUIQtView::setActionRole(class PhoneAction const &, class HbAction &)
+	?command@PhoneAction@@QBEHXZ @ 45 NONAME ; int PhoneAction::command(void) const
+	?hideToolbar@PhoneUIQtView@@UAEXXZ @ 46 NONAME ; void PhoneUIQtView::hideToolbar(void)
+	?qt_metacall@PhoneUIQtView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 47 NONAME ; int PhoneUIQtView::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?setActionRole@PhoneAction@@QAEXW4ActionRole@1@@Z @ 48 NONAME ; void PhoneAction::setActionRole(enum PhoneAction::ActionRole)
+	?dialpadClosed@PhoneUIQtView@@QAEXXZ @ 49 NONAME ; void PhoneUIQtView::dialpadClosed(void)
+	?removeExpandAction@PhoneUIQtView@@UAEXH@Z @ 50 NONAME ; void PhoneUIQtView::removeExpandAction(int)
+	?showDialpad@PhoneUIQtView@@UAEXXZ @ 51 NONAME ; void PhoneUIQtView::showDialpad(void)
+	?removeVolumeSlider@PhoneUIQtView@@UAEXXZ @ 52 NONAME ; void PhoneUIQtView::removeVolumeSlider(void)
+	?handleOrientationChange@PhoneUIQtView@@QAEXW4Orientation@Qt@@@Z @ 53 NONAME ; void PhoneUIQtView::handleOrientationChange(enum Qt::Orientation)
+	?setIcon@PhoneAction@@QAEXVHbIcon@@@Z @ 54 NONAME ; void PhoneAction::setIcon(class HbIcon)
+	?volumeSliderClosed@PhoneUIQtView@@QAEXXZ @ 55 NONAME ; void PhoneUIQtView::volumeSliderClosed(void)
+	?getStaticMetaObject@PhoneUIQtView@@SAABUQMetaObject@@XZ @ 56 NONAME ; struct QMetaObject const & PhoneUIQtView::getStaticMetaObject(void)
+	??0PhoneAction@@QAE@XZ @ 57 NONAME ; PhoneAction::PhoneAction(void)
+	?keyReleased@PhoneUIQtView@@IAEXPAVQKeyEvent@@@Z @ 58 NONAME ; void PhoneUIQtView::keyReleased(class QKeyEvent *)
+	?setVolumeSliderValue@PhoneUIQtView@@UAEXHHHH@Z @ 59 NONAME ; void PhoneUIQtView::setVolumeSliderValue(int, int, int, int)
+	?clearAndHideDialpad@PhoneUIQtView@@UAEXXZ @ 60 NONAME ; void PhoneUIQtView::clearAndHideDialpad(void)
+	?isDisabled@PhoneAction@@QBE_NXZ @ 61 NONAME ; bool PhoneAction::isDisabled(void) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/eabi/phoneuiqtviewu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,92 @@
+EXPORTS
+	_ZN11PhoneAction10setCommandEi @ 1 NONAME
+	_ZN11PhoneAction11setDisabledEb @ 2 NONAME
+	_ZN11PhoneAction13setActionRoleENS_10ActionRoleE @ 3 NONAME
+	_ZN11PhoneAction7setIconE6HbIcon @ 4 NONAME
+	_ZN11PhoneAction7setTextE7QString @ 5 NONAME
+	_ZN11PhoneActionC1Ev @ 6 NONAME
+	_ZN11PhoneActionC2Ev @ 7 NONAME
+	_ZN11PhoneActionD1Ev @ 8 NONAME
+	_ZN11PhoneActionD2Ev @ 9 NONAME
+	_ZN13PhoneUIQtView10keyPressedEP9QKeyEvent @ 10 NONAME
+	_ZN13PhoneUIQtView11dialpadTextEv @ 11 NONAME
+	_ZN13PhoneUIQtView11eventFilterEP7QObjectP6QEvent @ 12 NONAME
+	_ZN13PhoneUIQtView11hideDialpadEv @ 13 NONAME
+	_ZN13PhoneUIQtView11hideToolbarEv @ 14 NONAME
+	_ZN13PhoneUIQtView11keyReleasedEP9QKeyEvent @ 15 NONAME
+	_ZN13PhoneUIQtView11qt_metacallEN11QMetaObject4CallEiPPv @ 16 NONAME
+	_ZN13PhoneUIQtView11qt_metacastEPKc @ 17 NONAME
+	_ZN13PhoneUIQtView11showDialpadEv @ 18 NONAME
+	_ZN13PhoneUIQtView11showToolbarEv @ 19 NONAME
+	_ZN13PhoneUIQtView13bubbleManagerEv @ 20 NONAME
+	_ZN13PhoneUIQtView13dialpadClosedEv @ 21 NONAME
+	_ZN13PhoneUIQtView13menuReferenceEv @ 22 NONAME
+	_ZN13PhoneUIQtView13setActionRoleERK11PhoneActionR8HbAction @ 23 NONAME
+	_ZN13PhoneUIQtView14setMenuActionsERK5QListIP11PhoneActionE @ 24 NONAME
+	_ZN13PhoneUIQtView15setExpandActionEii @ 25 NONAME
+	_ZN13PhoneUIQtView16addBubbleCommandEiRK11PhoneAction @ 26 NONAME
+	_ZN13PhoneUIQtView16isDialpadVisibleEv @ 27 NONAME
+	_ZN13PhoneUIQtView16shutdownPhoneAppEv @ 28 NONAME
+	_ZN13PhoneUIQtView16staticMetaObjectE @ 29 NONAME DATA 16
+	_ZN13PhoneUIQtView17backButtonClickedEv @ 30 NONAME
+	_ZN13PhoneUIQtView17bringToForegroundEv @ 31 NONAME
+	_ZN13PhoneUIQtView17setToolbarActionsERK5QListIP11PhoneActionE @ 32 NONAME
+	_ZN13PhoneUIQtView17volumeSliderValueEv @ 33 NONAME
+	_ZN13PhoneUIQtView18removeExpandActionEi @ 34 NONAME
+	_ZN13PhoneUIQtView18removeVolumeSliderEv @ 35 NONAME
+	_ZN13PhoneUIQtView18setDialpadPositionEv @ 36 NONAME
+	_ZN13PhoneUIQtView18volumeSliderClosedEv @ 37 NONAME
+	_ZN13PhoneUIQtView19clearAndHideDialpadEv @ 38 NONAME
+	_ZN13PhoneUIQtView19clearBubbleCommandsEi @ 39 NONAME
+	_ZN13PhoneUIQtView19getStaticMetaObjectEv @ 40 NONAME
+	_ZN13PhoneUIQtView19volumeSliderChangedEi @ 41 NONAME
+	_ZN13PhoneUIQtView20createToolBarActionsEv @ 42 NONAME
+	_ZN13PhoneUIQtView20setBackButtonVisibleEb @ 43 NONAME
+	_ZN13PhoneUIQtView20setVolumeSliderValueEiiii @ 44 NONAME
+	_ZN13PhoneUIQtView21dialpadIsAboutToCloseEv @ 45 NONAME
+	_ZN13PhoneUIQtView22onEditorContentChangedEv @ 46 NONAME
+	_ZN13PhoneUIQtView23handleOrientationChangeEN2Qt11OrientationE @ 47 NONAME
+	_ZN13PhoneUIQtView24addParticipantListActionEiRK7QStringRK6HbIcon @ 48 NONAME
+	_ZN13PhoneUIQtView27clearParticipantListActionsEv @ 49 NONAME
+	_ZN13PhoneUIQtView7commandEi @ 50 NONAME
+	_ZN13PhoneUIQtViewC1ER12HbMainWindowP13QGraphicsItem @ 51 NONAME
+	_ZN13PhoneUIQtViewC2ER12HbMainWindowP13QGraphicsItem @ 52 NONAME
+	_ZN13PhoneUIQtViewD0Ev @ 53 NONAME
+	_ZN13PhoneUIQtViewD1Ev @ 54 NONAME
+	_ZN13PhoneUIQtViewD2Ev @ 55 NONAME
+	_ZNK11PhoneAction10actionRoleEv @ 56 NONAME
+	_ZNK11PhoneAction10isDisabledEv @ 57 NONAME
+	_ZNK11PhoneAction4iconEv @ 58 NONAME
+	_ZNK11PhoneAction4textEv @ 59 NONAME
+	_ZNK11PhoneAction7commandEv @ 60 NONAME
+	_ZNK13PhoneUIQtView10metaObjectEv @ 61 NONAME
+	_ZTI13PhoneUIQtView @ 62 NONAME
+	_ZTV13PhoneUIQtView @ 63 NONAME
+	_ZThn16_N13PhoneUIQtViewD0Ev @ 64 NONAME
+	_ZThn16_N13PhoneUIQtViewD1Ev @ 65 NONAME
+	_ZThn28_N13PhoneUIQtView11dialpadTextEv @ 66 NONAME
+	_ZThn28_N13PhoneUIQtView11hideDialpadEv @ 67 NONAME
+	_ZThn28_N13PhoneUIQtView11hideToolbarEv @ 68 NONAME
+	_ZThn28_N13PhoneUIQtView11showDialpadEv @ 69 NONAME
+	_ZThn28_N13PhoneUIQtView11showToolbarEv @ 70 NONAME
+	_ZThn28_N13PhoneUIQtView13bubbleManagerEv @ 71 NONAME
+	_ZThn28_N13PhoneUIQtView13menuReferenceEv @ 72 NONAME
+	_ZThn28_N13PhoneUIQtView14setMenuActionsERK5QListIP11PhoneActionE @ 73 NONAME
+	_ZThn28_N13PhoneUIQtView15setExpandActionEii @ 74 NONAME
+	_ZThn28_N13PhoneUIQtView16addBubbleCommandEiRK11PhoneAction @ 75 NONAME
+	_ZThn28_N13PhoneUIQtView16isDialpadVisibleEv @ 76 NONAME
+	_ZThn28_N13PhoneUIQtView16shutdownPhoneAppEv @ 77 NONAME
+	_ZThn28_N13PhoneUIQtView17bringToForegroundEv @ 78 NONAME
+	_ZThn28_N13PhoneUIQtView17setToolbarActionsERK5QListIP11PhoneActionE @ 79 NONAME
+	_ZThn28_N13PhoneUIQtView17volumeSliderValueEv @ 80 NONAME
+	_ZThn28_N13PhoneUIQtView18removeExpandActionEi @ 81 NONAME
+	_ZThn28_N13PhoneUIQtView18removeVolumeSliderEv @ 82 NONAME
+	_ZThn28_N13PhoneUIQtView19clearAndHideDialpadEv @ 83 NONAME
+	_ZThn28_N13PhoneUIQtView19clearBubbleCommandsEi @ 84 NONAME
+	_ZThn28_N13PhoneUIQtView20setBackButtonVisibleEb @ 85 NONAME
+	_ZThn28_N13PhoneUIQtView20setVolumeSliderValueEiiii @ 86 NONAME
+	_ZThn28_N13PhoneUIQtView24addParticipantListActionEiRK7QStringRK6HbIcon @ 87 NONAME
+	_ZThn28_N13PhoneUIQtView27clearParticipantListActionsEv @ 88 NONAME
+	_ZThn8_N13PhoneUIQtViewD0Ev @ 89 NONAME
+	_ZThn8_N13PhoneUIQtViewD1Ev @ 90 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/inc/phoneaction.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Actions and associated translated texts.
+*
+*/
+
+#ifndef PHONEACTION_H
+#define PHONEACTION_H
+
+#include <hbicon.h>
+
+#ifdef BUILD_PHONEUIQTVIEW
+#define PHONEACTION_EXPORT Q_DECL_EXPORT
+#else
+#define PHONEACTION_EXPORT Q_DECL_IMPORT
+#endif
+
+class PHONEACTION_EXPORT PhoneAction
+{
+    
+public:    
+
+    enum ActionType {
+        LeftButton = 1,
+        RightButton,
+        Text,
+        ToolbarButton1,
+        ToolbarButton2,
+        ToolbarButton3,
+        ToolbarButton4        
+    };
+    
+    enum ActionRole {
+        None,   // no specific role - default button
+        Accept, // positive action - green button
+        Decline // negative action - red button
+    };
+
+    PhoneAction ();
+    ~PhoneAction ();
+    void setText (QString text);
+    QString text () const;
+    void setCommand (int command);
+    int command () const;
+    HbIcon icon () const;
+    void setIcon (HbIcon icon);
+    void setDisabled(bool disabled);
+    bool isDisabled() const;
+    void setActionRole(ActionRole role);
+    ActionRole actionRole() const;
+    
+private:
+
+    QString m_text;
+    int m_command;
+    HbIcon m_icon;
+    bool m_disabled;
+    ActionRole m_role;
+};
+
+#endif // PHONEACTION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/inc/phoneuiqtview.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,348 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 Qt view.
+*
+*/
+
+#ifndef PHONEUIQTVIEW_H
+#define PHONEUIQTVIEW_H
+
+#include <QObject>
+#include <hbview.h>
+#include "phoneuiqtviewif.h"
+#include <bubblemanagerif.h>
+
+class BubbleManager;
+class HbAction;
+class QSignalMapper;
+class HbToolBar;
+class HbVolumeSliderPopup;
+class Dialpad;
+
+#ifdef BUILD_PHONEUIQTVIEW
+#define PHONEUIQTVIEW_EXPORT Q_DECL_EXPORT
+#else
+#define PHONEUIQTVIEW_EXPORT Q_DECL_IMPORT
+#endif
+
+class PHONEUIQTVIEW_EXPORT PhoneUIQtView : public HbView, public PhoneUIQtViewIF
+{
+    Q_OBJECT
+
+public:
+
+    /*!
+       Constructor
+    */
+    PhoneUIQtView (HbMainWindow &window, QGraphicsItem *parent = 0);
+    
+    /*!
+       Destructor
+    */
+    virtual ~PhoneUIQtView ();
+            
+    /*!
+        \fn void PhoneUIQtView::bubbleManager ()
+        
+        Returns BubbleManager interface.
+    */
+    BubbleManagerIF& bubbleManager();
+    
+    /*!
+        \fn void PhoneUIQtView::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 PhoneUIQtView::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 PhoneUIQtView::hideToolbar ()
+        
+        Hides toolbar.
+    */
+    void hideToolbar ();
+    
+    /*!
+        \fn void PhoneUIQtView::showToolbar ()
+        
+        Shows toolbar.
+    */
+    void showToolbar ();
+
+    /*!
+        \fn void PhoneUIQtView::volumeSliderValue ()
+        
+        Returns HbVolumeSliderPopup's volume value.
+        If this volume slider isn't active -1 is returned.
+    */
+    int volumeSliderValue ();
+
+    /*!
+        \fn void PhoneUIQtView::setVolumeSliderValue (int value)
+        
+        Sets slider value to HbVolumeSliderPopup.
+    */
+    void setVolumeSliderValue (
+            int value,
+            int commandId, 
+            int maxVolumeValue, 
+            int minVolumeValue);
+
+    /*!
+        \fn void PhoneUIQtView::removeVolumeSlider ()
+        
+        Removes HbVolumeSliderPopup.
+    */
+    void removeVolumeSlider ();
+
+    /*!
+        \fn void PhoneUIQtView::setExpandAction ()
+        
+        Sets expand action.
+    */
+    void setExpandAction(int bubbleId, int commandId);
+    
+        /*!
+        \fn void PhoneUIQtView::removeExpandAction ()
+        
+        Removes expand action.
+    */    
+    void removeExpandAction(int bubbleId);
+    
+    /*!
+        \fn void PhoneUIQtView::showDialpad()
+        
+        Shows dialpad widget.
+    */    
+    void showDialpad();
+    
+    /*!
+        \fn void PhoneUIQtView::hideDialpad()
+        
+        Hides dialer widget.
+    */    
+    void hideDialpad();
+    
+    /*!
+        \fn void PhoneUIQtView::isDialpadVisible()
+        
+        Checks is dialpad visible.
+    */    
+    bool isDialpadVisible();
+    
+    /*!
+        \fn void PhoneUIQtView::dialpadText()
+        
+        Returns content of the dialpad.
+    */  
+    QString dialpadText();
+    
+    /*!
+        \fn void PhoneUIQtView::dialpadString()
+        
+        Clears and hides dialpad.
+    */
+    void clearAndHideDialpad();
+    
+    /*!
+        \fn void PhoneUIQtView::bringToForeground()
+        
+        Brings to foreground.
+    */
+    void bringToForeground();
+    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+       Sets menu actions for call handling.
+    */
+    void setMenuActions(const QList<PhoneAction*>& actions);
+    
+    /*!
+        \fn void PhoneUIQtView::setBackButtonVisible()
+        
+        Set the Back command visibility in TitleBar
+    */
+    void setBackButtonVisible(bool visible);
+    
+    /*!
+        \fn void PhoneUIQtViewIF::menuReference()
+        
+        Returns HbMenu reference.
+    */
+    HbMenu &menuReference();
+
+public slots:
+
+    /*!
+        \fn void PhoneUIQtView::volumeSliderClosed ()
+        
+        HbVolumeSliderPopup calls this method when slider
+        is going to be closed.
+    */
+    void volumeSliderClosed ();
+    
+    /*!
+        \fn void PhoneUIQtView::volumeSliderChanged (int value)
+        
+        HbVolumeSliderPopup calls this method when it's value is changed.
+    */
+    void volumeSliderChanged(int value);
+
+    /*!
+        \fn void PhoneUIQtView::handleOrientationChange(Qt::Orientation orientation)
+        
+        HbMainWindow calls this method when orientation is changed.
+    */
+    void handleOrientationChange(Qt::Orientation orientation);
+        
+    /*!
+        \fn void PhoneUIQtView::backButtonClicked(Qt::Orientation orientation)
+        
+        HbMainWindow calls this method when back softkey is clicked.
+    */    
+    void backButtonClicked();
+    
+    /*!
+        \fn void PhoneUIQtView::onEditorContentChanged()
+        
+        Dialpad calls this method when dialpad content is changed.
+    */
+    void onEditorContentChanged();
+    
+    /*!
+        \fn void dialpadClosed()
+        
+        Dialpad calls this method when dialpad is closed.
+    */
+    void dialpadClosed();
+
+    /*!
+        \fn void PhoneUIQtView::shutdownPhoneApp()
+        
+        Shutdown phone application.
+    */
+    void shutdownPhoneApp();
+   
+signals:
+
+    /*!
+        \fn void keyPressed (QKeyEvent *event)
+        
+        This signal is emitted when key is pressed down.
+    */
+    void keyPressed (QKeyEvent *event);
+
+    /*!
+        \fn void keyPressed (QKeyEvent *event)
+        
+        This signal is emitted when key is released.
+    */
+    void keyReleased (QKeyEvent *event);
+    
+    /*!
+        \fn void command(int command)
+        
+        This signal is emitted when UI action is handled.
+    */
+    void command (int command);
+    
+    /*!
+        \fn void dialpadIsAboutToClose()
+        
+        This signal is emitted when dialpad is about to close.
+    */
+    void dialpadIsAboutToClose();
+    
+protected:
+
+    /*!
+        \fn void eventFilter(int command)
+        
+        Handles key events.
+    */
+    bool eventFilter(QObject * watched, QEvent * event);
+    
+private:
+
+    /*!
+        \fn void setDialpadPosition(int command)
+        
+        Sets dialpad position.
+    */
+    void setDialpadPosition();
+
+    /*!
+        \fn void setActionRole()
+        
+        Sets action role.
+    */    
+    static void setActionRole(const PhoneAction& pa, HbAction& action);
+
+    /*!
+        \fn void createToolBarActions()
+        
+        Creates tool bar actions.
+    */
+    void createToolBarActions();
+    
+private:
+    HbMainWindow        &m_window;
+    BubbleManager       *m_bubbleManager;
+    QMap<int , QSignalMapper *> m_bubbleMap;
+    QMap<int , QList<HbAction *> *> m_bubbleActionMap;
+    QSignalMapper       *m_signalMapper;
+    QList<HbAction *>   m_toolbarActions;
+    HbVolumeSliderPopup *m_volumeSlider;
+    QSignalMapper       *m_expandSignalMapper;
+    QMap<int , HbAction*> m_expandActionMap;
+    QSignalMapper       *m_participantListSignalMapper;
+    QList<HbAction *>   m_participantListActions;
+    int                 m_volumeCommandId;
+    HbAction            *m_backAction;
+    HbAction            *m_emptyAction; 
+    Dialpad             *m_dialpad;
+    QSignalMapper       *m_menuSignalMapper;
+};
+
+#endif // PHONEUIQTVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/inc/phoneuiqtviewif.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,208 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_H
+#define PHONEUIQTVIEWIF_H
+
+#include <bubblemanagerif.h>
+
+class QKeyEvent;
+class QString;
+class HbIcon;
+class HbAction;
+class HbMenu;
+class PhoneAction;
+
+class PhoneUIQtViewIF
+{
+
+public:
+        
+    /*!
+        \fn void PhoneUIQtViewIF::bubbleManager ()
+        
+        Returns reference to BubbleManager's interface.
+    */
+    virtual BubbleManagerIF& bubbleManager () = 0;
+    
+    /*!
+        \fn void PhoneUIQtViewIF::addBubbleCommand ()
+        
+        Adds new command to bubble. Command id will be emitted as
+        a parameter from view's command(int) signal.
+    */
+    virtual void addBubbleCommand ( 
+        int bubbleId,
+        const PhoneAction& action ) = 0;
+    
+    /*!
+        \fn void PhoneUIQtViewIF::clearBubbleCommands ()
+        
+        Clears commands from bubble.
+    */
+    virtual void clearBubbleCommands (int bubbleId) = 0;
+
+    /*!
+        \fn void PhoneUIQtView::addParticipantListAction ()
+        
+        Adds new patricipant list command to conference bubble. 
+    */
+    virtual void addParticipantListAction(
+            int commandId,  
+            const QString &text, 
+            const HbIcon &icon) = 0;
+
+    /*!
+        \fn void PhoneUIQtView::clearBubbleCommands ()
+        
+        Clears participant list commands from conference bubble.
+    */
+    virtual void clearParticipantListActions() = 0;
+    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+        Sets toolbar actions.
+    */
+    virtual void setToolbarActions(const QList<PhoneAction*>& actions) = 0;    
+    
+    /*!
+        \fn void PhoneUIQtViewIF::hideToolbar ()
+        
+        Hides toolbar.
+    */
+    virtual void hideToolbar () = 0;
+    
+    /*!
+        \fn void PhoneUIQtViewIF::showToolbar ()
+        
+        Shows toolbar.
+    */
+    virtual void showToolbar () = 0;
+    
+    /*!
+        \fn int PhoneUIQtViewIF::volumeSliderValue ()
+        
+        Returns HbVolumeSliderPopup's volume value.
+        If this volume slider isn't active -1 is returned.
+    */
+    virtual int volumeSliderValue () = 0;
+    
+    /*!
+        \fn void PhoneUIQtViewIF::removeVolumeSlider ()
+        
+        Removes HbVolumeSliderPopup.
+    */
+    virtual void removeVolumeSlider () = 0;
+
+    /*!
+        \fn void PhoneUIQtViewIF::setVolumeSliderValue (int value)
+        
+        Sets slider value to HbVolumeSliderPopup.
+    */
+    virtual void setVolumeSliderValue (
+            int value, 
+            int commandId, 
+            int maxVolumeValue, 
+            int minVolumeValue) = 0;
+
+    /*!
+        \fn void PhoneUIQtViewIF::setExpandAction ()
+        
+        Sets expand action.
+    */
+    virtual void setExpandAction(int bubbleId, int commandId) = 0;
+    
+    /*!
+        \fn void PhoneUIQtViewIF::removeExpandAction ()
+        
+        Removes expand action.
+    */      
+    virtual void removeExpandAction(int bubbleId) = 0;
+
+    /*!
+        \fn void PhoneUIQtView::showDialpad()
+        
+        Shows dialpad widget.
+    */    
+    virtual void showDialpad() = 0;
+    
+    /*!
+        \fn void PhoneUIQtView::hideDialpad()
+        
+        Hides dialpad widget.
+    */    
+    virtual void hideDialpad() = 0;
+    
+    /*!
+        \fn void PhoneUIQtView::isDialpadVisible()
+        
+        Check is dialpad visible.
+    */    
+    virtual bool isDialpadVisible() = 0;
+
+    /*!
+        \fn void PhoneUIQtView::dialpadString()
+        
+        Returns content of the dialpad.
+    */  
+    virtual QString dialpadText() = 0;
+    
+    /*!
+        \fn void PhoneUIQtView::dialpadString()
+        
+        Clears and hides dialpad.
+    */
+    virtual void clearAndHideDialpad() = 0;
+    
+    /*!
+        \fn void PhoneUIQtView::bringToForeground()
+        
+        Brings to foreground.
+    */
+    virtual void bringToForeground() = 0;
+    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+       Sets menu actions.
+    */
+    virtual void setMenuActions(const QList<PhoneAction*>& actions) = 0;
+      
+    /*!
+        \fn void PhoneUIQtView::shutdownPhoneApp()
+        
+        Shutdown phone application.
+    */
+    virtual void shutdownPhoneApp() = 0;
+    
+    /*
+       \fn void PhoneUIQtView::setBackButtonVisible()
+       
+       Set the Back command visibility in TitleBar
+    */
+    virtual void setBackButtonVisible(bool visible) = 0;
+	    
+    /*!
+        \fn void PhoneUIQtViewIF::setToolbarActions()
+        
+       Returns HbMenu reference.
+    */
+    virtual HbMenu &menuReference() = 0;
+};
+
+#endif // PHONEUIQTVIEWIF_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/phoneuiqtview.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,22 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+HEADERS += ./inc/phoneuiqtviewif.h
+HEADERS += ./inc/phoneuiqtview.h
+HEADERS += ./inc/phoneaction.h
+
+SOURCES += ./src/phoneuiqtview.cpp
+SOURCES += ./src/phoneaction.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/phoneuiview2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building Phone qt view component
+#
+#
+
+TEMPLATE = lib
+TARGET = phoneuiqtview
+CONFIG += hb
+
+symbian {
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.EPOCALLOWDLLDATA =1
+    TARGET.UID3 = 0x101F4D18
+    DEFINES += FT_SYMBIAN_INTEGRATION
+    DEFINES += BUILD_PHONEUIQTVIEW
+    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    INCLUDEPATH += ../../inc \
+                   ../phoneuiutils/inc
+
+    LIBS += -lphoneuiutils \
+            -lbubblemanager2 \
+            -lxqserviceutil \
+            -ldialpad
+
+    defFiles = \
+        "$${LITERAL_HASH}ifdef WINS" \
+            "DEFFILE bwins/phoneuiqtview.def" \
+        "$${LITERAL_HASH}else" \
+            "DEFFILE eabi/phoneuiqtview.def" \
+        "$${LITERAL_HASH}endif"
+    
+    MMP_RULES += defFiles
+}
+
+# Input
+include(phoneuiqtview.pri)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/src/phoneaction.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Actions and associated translated texts.
+*
+*/
+
+#include "phoneaction.h"
+
+PhoneAction::PhoneAction () : 
+    m_text (QString ()), m_command (-1), m_icon (HbIcon ()), m_disabled(false),
+    m_role(PhoneAction::None)
+{
+}
+
+PhoneAction::~PhoneAction ()
+{
+}
+
+QString PhoneAction::text () const
+{
+    return m_text;
+}
+
+void PhoneAction::setText (QString text)
+{
+    m_text = text;
+}
+
+int PhoneAction::command () const
+{
+    return m_command;
+}
+
+void PhoneAction::setCommand (int command)
+{
+    m_command = command;
+}
+
+HbIcon PhoneAction::icon () const
+{
+    return m_icon;
+}
+
+void PhoneAction::setIcon (HbIcon icon)
+{
+    m_icon = icon;
+}
+
+void PhoneAction::setDisabled(bool disabled)
+{
+    m_disabled = disabled;
+}
+
+bool PhoneAction::isDisabled() const
+{
+    return m_disabled;
+}
+
+void PhoneAction::setActionRole(ActionRole role)
+{
+    m_role = role;
+}
+
+PhoneAction::ActionRole PhoneAction::actionRole() const
+{
+    return m_role;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/src/phoneuiqtview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,493 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 Qt view.
+*
+*/
+#include <hbinstance.h>
+#include <QSignalMapper>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbvolumesliderpopup.h>
+#include <hbnamespace.h>
+#include <bubblemanager2.h>
+#include <hblineedit.h>
+#include <hbmenu.h>
+
+#include <xqserviceutil.h>
+#include <dialpad.h>
+
+#include "phoneuiqtview.h"
+#include "phoneaction.h"
+
+PhoneUIQtView::PhoneUIQtView (HbMainWindow &window, QGraphicsItem *parent) :
+    HbView (parent),
+    m_window(window),
+    m_volumeSlider (0), 
+    m_expandSignalMapper(0), 
+    m_participantListSignalMapper(0),
+    m_volumeCommandId(0)
+{
+    setTitle(hbTrId("txt_phone_title_telephone"));
+
+    // call handling widget
+    m_bubbleManager = new BubbleManager (this);
+
+    setWidget(m_bubbleManager);
+
+    // Dialpad
+    m_dialpad = new Dialpad();
+    m_dialpad->setCallButtonEnabled(false);
+    connect(&m_dialpad->editor(),SIGNAL(contentsChanged()),
+            SLOT(onEditorContentChanged()));
+    connect(m_dialpad,SIGNAL(aboutToClose()),this,
+                SLOT(dialpadClosed()));
+            
+    // Set event filter         
+    m_window.installEventFilter(this);
+    
+    
+    m_signalMapper = new QSignalMapper (this);
+    connect(m_signalMapper, SIGNAL (mapped (int)), this, SIGNAL (command (int)));
+    connect(&m_window,SIGNAL(orientationChanged(Qt::Orientation)),
+            this,SLOT(handleOrientationChange(Qt::Orientation)));
+    
+    m_menuSignalMapper = new QSignalMapper(this);
+    connect(m_menuSignalMapper, SIGNAL(mapped(int)), this, SIGNAL(command(int)));
+    
+    m_bubbleManager->handleOrientationChange(m_window.orientation());
+    
+    // changed exit softkey to back button
+    m_backAction = new HbAction(Hb::BackAction,this);
+    connect(m_backAction, SIGNAL(triggered()), this, SLOT(backButtonClicked()));
+    HbAction *action = m_window.softKeyAction(Hb::SecondarySoftKey);
+    m_window.removeSoftKeyAction(Hb::SecondarySoftKey,action);
+    m_window.addSoftKeyAction(Hb::SecondarySoftKey,m_backAction);
+    
+    m_emptyAction = new HbAction(this);
+    
+    createToolBarActions();
+}
+
+PhoneUIQtView::~PhoneUIQtView ()
+{
+
+    foreach (HbAction *action, m_toolbarActions ) {
+        delete action;
+    }
+    m_window.removeEventFilter(this);
+    delete m_volumeSlider;
+    delete m_dialpad;
+}
+
+BubbleManagerIF& PhoneUIQtView::bubbleManager()
+{
+    return *m_bubbleManager;
+}
+
+void PhoneUIQtView::addBubbleCommand (
+    int bubbleId,
+    const PhoneAction& action )
+{
+    HbAction* bubbleAction = new HbAction ();
+    bubbleAction->setText (action.text());
+    bubbleAction->setIcon (action.icon());
+    setActionRole(action,*bubbleAction);                    
+    m_bubbleManager->addAction (bubbleId, bubbleAction);
+    
+    QList<int> bubbles = m_bubbleMap.keys();
+    bool found(false);
+    
+    for ( int i=0; i<bubbles.size(); ++i ) {
+        if (bubbleId==bubbles[i]){
+            connect(bubbleAction, SIGNAL (triggered ()), m_bubbleMap.value(bubbleId), SLOT (map ()));
+            m_bubbleMap.value(bubbleId)->setMapping(bubbleAction, action.command());
+            m_bubbleActionMap.value(bubbleId)->append(bubbleAction);
+            found = true;
+        }
+    }
+    
+    if (!found) {
+        QSignalMapper *mapper = new QSignalMapper();
+        connect(mapper, SIGNAL (mapped (int)), this, SIGNAL (command (int)));
+        connect(bubbleAction, SIGNAL (triggered ()), mapper, SLOT (map ()));
+        mapper->setMapping (bubbleAction, action.command());
+        QList<HbAction *> *actionList = new QList<HbAction *>();
+        actionList->append( bubbleAction );
+        m_bubbleActionMap.insert(bubbleId,actionList);
+        m_bubbleMap.insert(bubbleId,mapper);
+    }
+}
+
+void PhoneUIQtView::addParticipantListAction(
+    int commandId,
+    const QString& text, 
+    const HbIcon& icon)
+{
+    HbAction* action = new HbAction ();
+    action->setText (text);
+    action->setIcon (icon);
+    m_bubbleManager->addParticipantListAction(action);
+    
+    if (!m_participantListSignalMapper) {
+        m_participantListSignalMapper = new QSignalMapper();
+        connect(m_participantListSignalMapper, SIGNAL (mapped (int)), this, SIGNAL (command (int)));
+    }
+    
+    connect(action, SIGNAL (triggered ()), m_participantListSignalMapper, SLOT (map ()));
+    m_participantListSignalMapper->setMapping (action, commandId);
+    m_participantListActions.append( action );
+}
+
+void PhoneUIQtView::clearParticipantListActions()
+{
+   
+    if (m_participantListSignalMapper) {
+        m_bubbleManager->clearParticipantListActions();
+        
+        foreach (HbAction *action, m_participantListActions ) {
+            m_participantListSignalMapper->removeMappings(action);
+            delete action;
+        }
+            
+        m_participantListActions.clear();
+        delete m_participantListSignalMapper;
+        m_participantListSignalMapper = 0;
+    }
+
+}
+
+void PhoneUIQtView::clearBubbleCommands (int bubbleId)
+{
+    m_bubbleManager->clearActions (bubbleId);   
+    QSignalMapper *mapper = m_bubbleMap.value(bubbleId);
+    
+    if (mapper) {
+        QList<HbAction *> *actions = m_bubbleActionMap.value(bubbleId);
+        
+        foreach (HbAction *action, *actions ) {
+            mapper->removeMappings(action);
+            delete action;
+        }
+            
+        actions->clear();
+        m_bubbleMap.remove(bubbleId);
+        m_bubbleActionMap.remove(bubbleId);
+        delete mapper;
+        delete actions;      
+    }
+
+}
+
+void PhoneUIQtView::setToolbarActions(const QList<PhoneAction*>& actions)
+{
+    // clear current toolbar actions
+    for (int i=0;i<toolBar()->actions().count();++i) {
+        m_signalMapper->removeMappings(
+                static_cast<HbAction*>(toolBar()->actions().at(i)));
+    }
+    
+    QList<QAction*> toolBarActions = toolBar()->actions();
+    
+    if (toolBarActions.size()<actions.size()) {
+        for (int i=toolBarActions.size(); i<actions.size(); ++i) {
+            toolBar()->addAction(m_toolbarActions.at(i));
+        }
+    } else if (toolBarActions.size()>actions.size()) {
+        for (int i=toolBarActions.size(); 0<i; --i) {
+            if (i>actions.size()) {
+                HbAction* action = static_cast<HbAction*>(toolBarActions.at(i-1));
+                toolBar()->removeAction(action);
+            }
+        }
+    }
+    
+    for (int i=0; i<toolBar()->actions().size(); ++i) {    
+    
+        if (i<actions.count()) {
+            HbAction* action = static_cast<HbAction*>(toolBar()->actions().at(i));
+            action->setText(actions.at(i)->text());
+            action->setIcon(actions.at(i)->icon());            
+            action->setDisabled(actions.at(i)->isDisabled());
+            
+            m_signalMapper->setMapping(action, actions.at(i)->command());
+        }
+    }
+    
+    if ( m_window.orientation() == Qt::Horizontal ) {
+        toolBar()->setOrientation(Qt::Horizontal);
+    }
+    // update toolbar
+    toolBar()->update();
+}
+
+void PhoneUIQtView::hideToolbar ()
+{
+    toolBar()->hide ();
+}
+
+void PhoneUIQtView::showToolbar ()
+{
+    setFocus();       
+    toolBar()->show();
+}
+
+int PhoneUIQtView::volumeSliderValue ()
+{
+    if (m_volumeSlider) {
+        return m_volumeSlider->value ();
+    } else {
+        return -1;
+    }
+}
+
+void PhoneUIQtView::removeVolumeSlider ()
+{
+    if (m_volumeSlider) {
+        if (m_volumeSlider->isVisible()) {
+            m_volumeSlider->hide();   
+        }
+        m_volumeSlider->deleteLater();
+        m_volumeSlider = 0;
+    }
+}
+
+void PhoneUIQtView::volumeSliderClosed ()
+{
+    removeVolumeSlider();
+}
+
+void PhoneUIQtView::setVolumeSliderValue (
+        int value, int commandId, int maxVolumeValue, int minVolumeValue)
+{
+    m_volumeCommandId = commandId;
+    
+    if (!m_volumeSlider) {
+        m_volumeSlider = new HbVolumeSliderPopup ();
+        m_volumeSlider->setDismissPolicy(HbDialog::TapOutside);
+        m_volumeSlider->setTimeout (10000); // TODO: 10 seconds for now, replace with correct value when spec is ready and says what it is
+        connect(m_volumeSlider, SIGNAL(valueChanged(int)), this, SLOT(volumeSliderChanged(int)));
+        connect(m_volumeSlider, SIGNAL(aboutToClose()), this, SLOT(volumeSliderClosed()));
+    }
+        
+
+    if (m_volumeSlider->minimum() != minVolumeValue ||
+            m_volumeSlider->maximum() !=  maxVolumeValue  ) {
+        m_volumeSlider->setRange (minVolumeValue, maxVolumeValue);
+    }
+    
+    if (value != m_volumeSlider->value())
+        m_volumeSlider->setValue (value);
+    
+    if (false == m_volumeSlider->isVisible()) {
+        m_volumeSlider->show();
+    }
+}
+
+void PhoneUIQtView::volumeSliderChanged(int value)
+{
+    Q_UNUSED (value);
+    emit command (m_volumeCommandId);   
+}
+
+void PhoneUIQtView::setExpandAction(int bubbleId, int commandId)
+{
+    removeExpandAction(bubbleId);
+    
+    HbAction* action = new HbAction();
+    m_bubbleManager->setExpandAction(bubbleId, action);
+    
+    if (!m_expandSignalMapper) {
+        m_expandSignalMapper = new QSignalMapper(this);
+        connect(m_expandSignalMapper, SIGNAL (mapped (int)), 
+                this, SIGNAL (command (int)));
+    }
+    
+    connect(action, SIGNAL (triggered ()), m_expandSignalMapper, SLOT (map ()));
+    m_expandSignalMapper->setMapping(action, commandId);
+    
+    m_expandActionMap.insert(bubbleId,action);
+}
+
+void PhoneUIQtView::removeExpandAction(int bubbleId)
+{
+    if (m_expandActionMap.contains(bubbleId)) {
+        m_bubbleManager->setExpandAction(bubbleId, 0);
+        HbAction* action = m_expandActionMap.value(bubbleId);
+        m_expandSignalMapper->removeMappings(action);
+        m_expandActionMap.remove(bubbleId);
+        delete action;
+    }   
+}
+
+void PhoneUIQtView::showDialpad()
+{
+    if (false == m_dialpad->isVisible()) {
+        setDialpadPosition();
+        m_dialpad->openDialpad();
+    }
+}
+
+void PhoneUIQtView::hideDialpad()
+{
+    if (true == m_dialpad->isVisible())
+        m_dialpad->closeDialpad();
+}
+
+bool PhoneUIQtView::isDialpadVisible()   
+{
+    return m_dialpad->isVisible();
+}
+
+QString PhoneUIQtView::dialpadText()   
+{
+    return m_dialpad->editor().text();
+}
+
+void PhoneUIQtView::clearAndHideDialpad()   
+{
+    m_dialpad->editor().setText(QString(""));
+    hideDialpad();
+}
+
+void PhoneUIQtView::bringToForeground()
+{
+    m_window.show();
+    m_window.raise();
+}
+
+void PhoneUIQtView::setMenuActions(const QList<PhoneAction*>& actions)
+{
+
+    for (int i=menu()->actions().count(); 0<i; --i) {
+        HbAction* action = static_cast<HbAction*>(menu()->actions().at(i-1));
+        m_menuSignalMapper->removeMappings(action);
+        menu()->removeAction(action);
+        delete action;
+    }
+    
+    for (int i=0; i<actions.count(); ++i) {
+        HbAction* action = new HbAction();
+        action->setText(actions.at(i)->text());
+        menu()->addAction(action);
+        connect(action, SIGNAL(triggered()), m_menuSignalMapper, SLOT(map()));
+        m_menuSignalMapper->setMapping(action, actions.at(i)->command());
+    }
+
+}
+
+HbMenu &PhoneUIQtView::menuReference()
+{
+    return *menu();
+}
+
+void PhoneUIQtView::handleOrientationChange(Qt::Orientation orientation)
+{
+    if (orientation==Qt::Horizontal) {
+        toolBar()->setOrientation(Qt::Horizontal);
+    }
+
+    m_bubbleManager->handleOrientationChange(orientation);
+    
+    setDialpadPosition();
+}
+
+void PhoneUIQtView::backButtonClicked()
+{
+    XQServiceUtil::toBackground(true);
+}
+
+void PhoneUIQtView::onEditorContentChanged()
+{
+    m_dialpad->setCallButtonEnabled(
+        m_dialpad->editor().text().length());
+}
+
+void PhoneUIQtView::dialpadClosed()
+{
+    emit dialpadIsAboutToClose();
+}
+
+bool PhoneUIQtView::eventFilter(QObject * /*watched*/, QEvent * event)
+{
+    if (event->type() == QEvent::KeyPress) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        qDebug() << "PhoneUIQtView::eventFilter: pressed key " << keyEvent->key();
+        emit keyPressed(keyEvent);
+        return false;
+    } else if (event->type() == QEvent::KeyRelease) {
+        QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
+        qDebug() << "PhoneUIQtView::eventFilter: released key " << keyEvent->key();
+        emit keyReleased(keyEvent);
+        return false;
+    } else {
+        return false;
+    }
+}
+
+void PhoneUIQtView::setDialpadPosition()
+{
+    QRectF screenRect = m_window.layoutRect();
+
+    if (m_window.orientation() == Qt::Horizontal) {
+            // dialpad takes half of the screen
+        m_dialpad->setPos(QPointF(screenRect.width()/2,
+                                  this->scenePos().y()));
+        m_dialpad->setPreferredSize(screenRect.width()/2,
+                                           (screenRect.height()-scenePos().y()));                                  
+    } else {
+        // dialpad takes 65% of the screen height
+        qreal screenHeight = screenRect.height();
+        m_dialpad->setPos(QPointF(0,
+                                  screenHeight/2.25));
+        m_dialpad->setPreferredSize(screenRect.width(),
+                                    screenHeight-screenHeight/2.25);        
+    }
+}
+
+void PhoneUIQtView::setActionRole(const PhoneAction& pa, HbAction& action)
+{
+    if (pa.actionRole()==PhoneAction::Accept) {
+        action.setSoftKeyRole(QAction::PositiveSoftKey);
+    } else if (pa.actionRole()==PhoneAction::Decline) {
+        action.setSoftKeyRole(QAction::NegativeSoftKey);
+    }
+}
+
+void PhoneUIQtView::createToolBarActions()
+{
+    for (int i=0;i<4;++i) {
+        HbAction* action = new HbAction();
+        connect(action, SIGNAL(triggered()), m_signalMapper, SLOT(map()));
+        m_toolbarActions.append(action);
+    }
+}
+
+void PhoneUIQtView::shutdownPhoneApp()
+{
+    qDebug() << "PhoneUIQtView::shutdownPhoneApp ";
+    QCoreApplication::quit();
+}
+
+void PhoneUIQtView::setBackButtonVisible(bool visible)
+{
+    HbAction *oldAction = m_window.softKeyAction(Hb::SecondarySoftKey);
+    m_window.removeSoftKeyAction(Hb::SecondarySoftKey, oldAction);
+    if (visible) {
+        m_window.addSoftKeyAction(Hb::SecondarySoftKey, m_backAction);
+        }
+    else {
+        m_window.addSoftKeyAction(Hb::SecondarySoftKey, m_emptyAction);
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/runtests.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,19 @@
+@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
+
+del \epoc32\winscw\c\private\ea9bef3f\ut_phoneuiqtview.log
+\epoc32\release\winscw\udeb\ut_phoneuiqtview.exe -o ut_phoneuiqtview.log
+type \epoc32\winscw\c\private\ea9bef3f\ut_phoneuiqtview.log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/unit.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: 
+#
+#
+
+TEMPLATE = subdirs
+SUBDIRS += ut_phoneuiqtview
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbtoolbar.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "hbtoolbar.h"
+#include <hbaction.h>
+
+bool m_clearCalled;
+bool m_hideCalled;
+bool m_showCalled;
+bool m_clearActionsCalled;
+bool m_setOrientationCalled;
+bool m_toolBarUpdateCalled;
+HbAction *m_action;
+QList<QAction*> m_actions;
+
+HbToolBar::HbToolBar (QObject *parent)
+{
+    Q_UNUSED (parent);
+    reset ();
+}
+
+void HbToolBar::reset ()
+{
+    m_clearCalled = false;
+    m_hideCalled = false;
+    m_showCalled = false;
+    m_clearActionsCalled = false;
+    m_toolBarUpdateCalled = false;
+    m_action = 0;
+}
+
+void HbToolBar::clear ()
+{
+    m_clearCalled = true;	
+}
+
+void HbToolBar::hide ()
+{
+    m_hideCalled = true;	
+}
+
+void HbToolBar::show ()
+{
+    m_showCalled = true;
+}
+
+void HbToolBar::addAction (HbAction *action)
+{
+    m_action = action;
+    m_actions.append(action);
+}
+
+void HbToolBar::clearActions ()
+{
+    m_clearActionsCalled = true;
+}
+
+void HbToolBar::setOrientation(Qt::Orientation orientation)
+{
+    m_setOrientationCalled = true;
+}
+
+void HbToolBar::removeAction(HbAction *action)
+{
+    m_actions.removeOne(action);
+}
+
+QList<QAction*> HbToolBar::actions() const
+{
+    return m_actions;	
+}
+
+void HbToolBar::update()
+{
+    m_toolBarUpdateCalled = true;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbtoolbar.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HBTOOLBAR_H
+#define HBTOOLBAR_H
+
+#include <QObject>
+#include <QAction>
+
+class HbAction;
+
+extern bool m_clearCalled;
+extern bool m_hideCalled;
+extern bool m_showCalled;
+extern bool m_clearActionsCalled;
+extern bool m_setOrientationCalled;
+extern bool m_toolBarUpdateCalled;
+extern HbAction *m_action;
+extern QList<QAction*> m_actions;
+
+
+class HbToolBar : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    HbToolBar (QObject *parent = 0);    
+    virtual ~HbToolBar () {};
+    void reset ();
+    void clear ();
+    void hide ();
+    void show ();
+    void addAction (HbAction *action);
+    void clearActions ();
+    void setOrientation(Qt::Orientation orientation);
+    void removeAction(HbAction *action);
+    QList<QAction*> actions() const;
+    void update();
+
+private:
+    
+};
+
+#endif // HBTOOLBAR_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbvolumesliderpopup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "hbvolumesliderpopup.h"
+
+bool m_volumeSliderContructorCalled;
+bool m_volumeSliderDesctructorCalled;
+int m_sliderValue;
+int m_sliderRangeMin;
+int m_sliderRangeMax;
+bool m_volumeSliderSetValueCalled;
+bool m_volumeSliderValueCalled;
+bool m_volumeSliderSetRangeCalled;
+bool m_volumeSliderSetTimeoutCalled;
+int m_sliderTimeout;
+bool m_volumeSliderShowCalled;
+bool m_isVisible;
+bool m_volumeSliderHideCalled;
+
+HbVolumeSliderPopup::HbVolumeSliderPopup ()
+{
+    m_volumeSliderContructorCalled = true;
+    m_volumeSliderDesctructorCalled = false;
+    m_sliderValue = -1;
+    m_sliderRangeMin = -1;
+    m_sliderRangeMax = -1;
+    m_volumeSliderSetValueCalled = false;
+    m_volumeSliderValueCalled = false;
+    m_volumeSliderSetRangeCalled = false;
+    m_volumeSliderSetTimeoutCalled = false;
+    m_sliderTimeout = -1;
+    m_volumeSliderShowCalled = false;
+}
+
+HbVolumeSliderPopup::~HbVolumeSliderPopup ()
+{
+    m_volumeSliderDesctructorCalled = true;
+    m_volumeSliderContructorCalled = false;
+    m_sliderValue = -1;
+    m_sliderRangeMin = -1;
+    m_sliderRangeMax = -1;
+    m_volumeSliderSetValueCalled = false;
+    m_volumeSliderValueCalled = false;
+    m_volumeSliderSetRangeCalled = false;
+    m_volumeSliderSetTimeoutCalled = false;
+    m_sliderTimeout = -1;
+    m_volumeSliderShowCalled = false;
+    
+    emit aboutToClose ();
+}
+
+void HbVolumeSliderPopup::setValue (int value)
+{
+    m_volumeSliderSetValueCalled = true;
+    m_sliderValue = value;
+}
+
+int HbVolumeSliderPopup::value ()
+{
+    m_volumeSliderValueCalled = true;
+    return m_sliderValue;
+}
+
+void HbVolumeSliderPopup::setRange (int min, int max)
+{
+    m_volumeSliderSetRangeCalled = true;
+    m_sliderRangeMin = min;
+    m_sliderRangeMax = max;
+}
+
+void HbVolumeSliderPopup::setTimeout (int time)
+{
+    m_volumeSliderSetTimeoutCalled = true;
+    m_sliderTimeout = time;	
+}
+
+void HbVolumeSliderPopup::show ()
+{
+    m_volumeSliderShowCalled = true;
+    m_isVisible = true;
+}
+
+void HbVolumeSliderPopup::hide()
+{
+    m_volumeSliderHideCalled = true;
+    m_isVisible = false;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/hbvolumesliderpopup.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HBVOLUMESLIDERPOPUP_H
+#define HBVOLUMESLIDERPOPUP_H
+
+#include <QObject>
+#include <hbpopupbase.h>
+
+extern bool m_volumeSliderContructorCalled;
+extern bool m_volumeSliderDesctructorCalled;
+extern bool m_volumeSliderSetValueCalled;
+extern int m_sliderValue;
+extern bool m_volumeSliderValueCalled;
+extern bool m_volumeSliderSetRangeCalled;
+extern int m_sliderRangeMin;
+extern int m_sliderRangeMax;
+extern bool m_volumeSliderSetTimeoutCalled;
+extern int m_sliderTimeout;
+extern bool m_volumeSliderShowCalled;
+extern bool m_isVisible;
+extern bool m_volumeSliderHideCalled;
+
+class HbVolumeSliderPopup : public QObject
+{
+    Q_OBJECT
+    
+public:
+    HbVolumeSliderPopup ();
+    ~HbVolumeSliderPopup ();
+    
+    void setValue (int value);
+    int value ();
+    void setRange (int min, int max);
+    void setTimeout (int time);
+    void show();
+    void hide();
+    void setDismissPolicy( HbPopupBase::DismissPolicy value ) {;};
+    int minimum() {return m_sliderRangeMin;};
+    int maximum() {return m_sliderRangeMax;};
+    bool isVisible() {return m_isVisible;};
+    
+    
+signals:
+    void aboutToClose ();
+    void valueChanged (int);
+
+};
+
+#endif // HBVOLUMESLIDERPOPUP_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,383 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PhoneUIQtView.
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <QVariant>
+#include <QKeyEvent>
+#include <hbapplication.h>
+#include <QSignalSpy>
+#include <hbmainwindow.h>
+#include <hbinstance.h>
+#include <hbmainwindow.h>
+#include <bubblemanagerif.h>
+#include "phoneuiqtview.h"
+#include "phoneaction.h"
+#include <hbtoolbar.h>
+#include <hbvolumesliderpopup.h>
+#include <hbaction.h>
+#include "xqserviceutil.h"
+#include "phoneaction.h"
+
+//CONSTANTS
+static const int KMAXVOLUME = 10;
+static const int KMINVOLUME = 0;
+static const int KVOLUMECOMMAND = 5;
+
+
+#define PHONE_QT_VIEW_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 TestPhoneUIQtView : public QObject
+{
+    Q_OBJECT
+    
+public:
+    TestPhoneUIQtView ();
+    ~TestPhoneUIQtView ();
+
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase (); 
+    void init ();
+    void cleanup ();
+    
+private slots:
+    void testAddBubbleCommand ();
+    void testHideToolbar ();
+    void testShowToolbar ();
+    void testAddToolbarActions ();
+    void testSetVolumeSliderValue ();
+    void testRemoveVolumeSlider ();
+    void testVolumeSliderValue ();
+    void testVolumeSliderChanged ();
+    void testParticipantListAction ();
+    void testSetExpandAction ();
+    void testPhoneAction ();
+    void testSetOrientation ();
+    void testBackButtonClicked();
+    void testShowDialpad();
+    void testDialpadText();
+    void testSetMenuActions();
+
+private:
+    int createCallHeader();
+
+private:
+    PhoneUIQtView *m_view; // class under test
+    HbMainWindow *m_main_window;
+
+};
+
+
+TestPhoneUIQtView::TestPhoneUIQtView ()
+{    
+}
+
+TestPhoneUIQtView::~TestPhoneUIQtView ()
+{
+}
+
+void TestPhoneUIQtView::initTestCase ()
+{	
+}
+
+void TestPhoneUIQtView::cleanupTestCase ()
+{
+}
+
+void TestPhoneUIQtView::init ()
+{
+    m_main_window = new HbMainWindow(); 
+    m_view = new PhoneUIQtView(*m_main_window);
+}
+
+void TestPhoneUIQtView::cleanup ()
+{
+    delete m_view;
+    delete m_main_window;
+}
+
+void TestPhoneUIQtView::testAddBubbleCommand ()
+{
+    m_view->bubbleManager ().startChanges ();
+    int bubbleId = createCallHeader();
+    int bubbleId2 = createCallHeader();
+    
+    PhoneAction action1;
+    action1.setText("Command 1");
+    action1.setCommand(1);
+    action1.setActionRole(PhoneAction::None);
+    
+    PhoneAction action2;
+    action2.setText("Command 2");
+    action2.setCommand(2);
+    action2.setActionRole(PhoneAction::Accept);
+    
+    PhoneAction action3;
+    action3.setText("Command 3");
+    action3.setCommand(3);
+    action3.setActionRole(PhoneAction::Decline);
+    
+    m_view->addBubbleCommand (bubbleId, action1);
+    m_view->addBubbleCommand (bubbleId, action2);
+    m_view->addBubbleCommand (bubbleId2, action3);
+    m_view->bubbleManager ().endChanges ();
+    
+    m_view->bubbleManager ().startChanges ();
+    m_view->clearBubbleCommands (bubbleId);
+    m_view->clearBubbleCommands (bubbleId2);
+    m_view->clearBubbleCommands (bubbleId2);
+    m_view->bubbleManager ().endChanges ();
+}
+
+void TestPhoneUIQtView::testHideToolbar ()
+{
+    m_view->hideToolbar ();
+    QCOMPARE (m_hideCalled, true);	
+}
+
+void TestPhoneUIQtView::testShowToolbar ()
+{
+    m_view->showToolbar ();
+    QCOMPARE (m_showCalled, true);
+}
+void TestPhoneUIQtView::testAddToolbarActions ()
+{
+    m_actions.clear();
+    HbIcon icon ("foo.jpg");
+    PhoneAction *testAction = new PhoneAction ();
+    testAction->setIcon(icon);
+    testAction->setText("foo");
+    testAction->setCommand(20);
+    QList<PhoneAction*> actions;
+    actions.append(testAction);
+    
+    m_view->setToolbarActions(actions);
+    QCOMPARE (m_action->icon(), icon);
+    QCOMPARE(true, m_toolBarUpdateCalled);
+    
+    m_view->setToolbarActions(actions);
+    
+    m_toolBarUpdateCalled = false;
+    PhoneAction *testAction2 = new PhoneAction ();
+    testAction2->setIcon(icon);
+    testAction2->setText("foo2");
+    testAction2->setCommand(21);
+    actions.append(testAction2);
+    
+    m_view->setToolbarActions(actions);
+    QCOMPARE(true, m_toolBarUpdateCalled);
+    actions.removeOne(testAction2);
+    
+    m_toolBarUpdateCalled = false;
+    m_view->setToolbarActions(actions);
+    QCOMPARE(true, m_toolBarUpdateCalled);
+    
+    actions.clear();
+    delete testAction;
+    delete testAction2;
+}
+
+void TestPhoneUIQtView::testSetVolumeSliderValue ()
+{
+    m_view->setVolumeSliderValue (1, KVOLUMECOMMAND, KMAXVOLUME, KMINVOLUME);
+    QCOMPARE (m_volumeSliderContructorCalled, true);
+    QCOMPARE (m_sliderRangeMin, KMINVOLUME);
+    QCOMPARE (m_sliderRangeMax, KMAXVOLUME);
+    QCOMPARE (m_volumeSliderSetTimeoutCalled, true);
+    QCOMPARE (m_sliderTimeout, 10000);
+    QCOMPARE (m_volumeSliderSetValueCalled, true);
+    QCOMPARE (m_sliderValue, 1);
+    QCOMPARE (m_volumeSliderShowCalled, true);
+    
+    // reset values
+    m_volumeSliderContructorCalled = false;
+    m_volumeSliderSetValueCalled = false;
+    m_sliderRangeMin = -1;
+    m_sliderRangeMax = -1;
+    m_volumeSliderSetTimeoutCalled = false;
+    m_sliderTimeout = -1;
+    m_volumeSliderSetValueCalled = false;
+    m_sliderValue = -1;
+    m_volumeSliderShowCalled = false;
+
+    // The second call shouldn't create a new instance
+    m_view->setVolumeSliderValue (2, KVOLUMECOMMAND, KMAXVOLUME, KMINVOLUME);
+    QCOMPARE (m_volumeSliderContructorCalled, false);
+    QCOMPARE (m_sliderRangeMin, KMINVOLUME);
+    QCOMPARE (m_sliderRangeMax, KMAXVOLUME);
+    QCOMPARE (m_volumeSliderSetTimeoutCalled, false);
+    QCOMPARE (m_sliderTimeout, -1);
+    QCOMPARE (m_volumeSliderSetValueCalled, true);
+    QCOMPARE (m_sliderValue, 2);
+    QCOMPARE (m_volumeSliderShowCalled, false);
+}
+
+void TestPhoneUIQtView::testRemoveVolumeSlider ()
+{
+    m_view->setVolumeSliderValue (1, KVOLUMECOMMAND, KMAXVOLUME, KMINVOLUME);
+    m_view->removeVolumeSlider ();
+    QCOMPARE (m_volumeSliderHideCalled, true);
+}
+
+void TestPhoneUIQtView::testVolumeSliderValue ()
+{
+    m_sliderValue = -1;
+    int value = m_view->volumeSliderValue ();
+    QCOMPARE (m_sliderValue, -1);
+    m_view->setVolumeSliderValue (3, KVOLUMECOMMAND, KMAXVOLUME, KMINVOLUME);
+    value = m_view->volumeSliderValue ();
+    QCOMPARE (m_volumeSliderValueCalled, true);
+    QCOMPARE (value, 3);
+}
+
+void TestPhoneUIQtView::testVolumeSliderChanged ()
+{
+    m_view->setVolumeSliderValue (3, KVOLUMECOMMAND, KMAXVOLUME, KMINVOLUME);
+    QSignalSpy spy (m_view, SIGNAL(command(int)));
+    m_view->volumeSliderChanged (1);
+    QCOMPARE (spy.count(), 1);
+    int command = qvariant_cast<int>(spy.at (0).at (0));
+    QCOMPARE (command, (int)KVOLUMECOMMAND);
+}
+
+void TestPhoneUIQtView::testParticipantListAction ()
+{
+    m_view->bubbleManager ().startChanges ();
+    m_view->addParticipantListAction (1,"Command 1", HbIcon ());
+    m_view->addParticipantListAction (2,"Command 2", HbIcon ());
+    m_view->bubbleManager ().endChanges ();
+
+    m_view->bubbleManager ().startChanges ();
+    m_view->clearParticipantListActions ();
+    m_view->clearParticipantListActions ();
+    m_view->bubbleManager ().endChanges ();
+}
+
+void TestPhoneUIQtView::testSetExpandAction ()
+{
+    m_view->bubbleManager ().startChanges ();
+    int bubbleId = createCallHeader();
+    int bubbleId2 = createCallHeader();
+
+    m_view->setExpandAction(bubbleId, 1);
+    m_view->setExpandAction(bubbleId2, 2);
+    m_view->bubbleManager ().endChanges ();
+
+    m_view->bubbleManager ().startChanges ();
+    m_view->removeExpandAction(bubbleId);
+    m_view->removeExpandAction(bubbleId2);
+    m_view->bubbleManager().removeCallHeader(bubbleId);
+    m_view->bubbleManager().removeCallHeader(bubbleId2);
+    m_view->bubbleManager ().endChanges ();
+}
+
+void TestPhoneUIQtView::testPhoneAction ()
+{
+    PhoneAction *action = new PhoneAction ();
+    QString string("Action");
+    action->setText(string);
+    HbIcon icon;
+    action->setIcon(icon);
+    int commandId(1);
+    action->setCommand(commandId);
+    action->setDisabled(true);
+    QCOMPARE( string, action->text() );
+    QCOMPARE( icon, action->icon() );
+    QCOMPARE( commandId, action->command() );
+    QCOMPARE( true, action->isDisabled() );
+    delete action;
+}
+
+void TestPhoneUIQtView::testSetOrientation ()
+{
+
+    m_setOrientationCalled = false;
+    
+    m_view->handleOrientationChange(Qt::Vertical);
+    QVERIFY( false == m_setOrientationCalled );
+    
+    m_view->handleOrientationChange(Qt::Horizontal);
+    QVERIFY( true == m_setOrientationCalled );
+    
+}
+
+void TestPhoneUIQtView::testBackButtonClicked()
+{
+    // not possible to mock xqservice because it is in \epoc32\include
+    // calling backButtonClicked would send this test background.
+    // m_view->backButtonClicked();
+}
+
+void TestPhoneUIQtView::testShowDialpad()
+{
+    m_view->hideDialpad();
+    m_view->showDialpad();
+    m_view->showDialpad();
+    QVERIFY(true == m_view->isDialpadVisible());
+    m_view->hideDialpad();
+}
+
+void TestPhoneUIQtView::testDialpadText()
+{
+    m_view->showDialpad();
+    QVERIFY(QString("") == m_view->dialpadText());
+    m_view->clearAndHideDialpad();
+}
+
+void TestPhoneUIQtView::testSetMenuActions()
+{
+    QList<PhoneAction*> actions;
+    m_view->setMenuActions(actions);
+    
+    PhoneAction* phoneAction = new PhoneAction; 
+    phoneAction->setText(QString("test"));
+    phoneAction->setCommand(1);
+    actions.append(phoneAction);
+    
+    m_view->setMenuActions(actions);
+    qDeleteAll(actions);
+    actions.clear();
+    
+    m_view->setMenuActions(actions);
+}
+
+//Private methods
+int TestPhoneUIQtView::createCallHeader ()
+{
+    int bubble = m_view->bubbleManager().createCallHeader ();
+
+    return bubble;
+}
+
+PHONE_QT_VIEW_TEST_MAIN(TestPhoneUIQtView)
+Q_DECLARE_METATYPE(QKeyEvent *)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview2/tsrc/ut_phoneuiqtview/ut_phoneuiqtview.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,63 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+TEMPLATE = app
+TARGET = 
+TARGET.UID3 = 0xEA9BEF3F
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+CONFIG += hb qtestlib
+
+symbian {
+
+    INCLUDEPATH += /epoc32/include/platform/mw \
+                   /epoc32/include/platform/app \
+                   /epoc32/include/mw \
+                   ../../../phoneuiutils/inc/ \
+                   ../../inc/ \
+                   ../../../../inc \
+                   ./
+
+    LIBS += -lbubblemanager2 \
+            -lxqserviceutil \
+            -ldialpad
+
+    DEFINES += FT_SYMBIAN_INTEGRATION
+} else:win32 {
+    INCLUDEPATH += c:/hb/include/hbcore \
+        c:/hb/include/hbwidgets \
+        ../../inc/ \
+        ../../../../inc \
+        .
+
+    LIBS += -lbubblemanager2
+}
+
+DEFINES += BUILD_PHONEUIQTVIEW
+
+# Input
+HEADERS += ../../inc/phoneuiqtview.h \
+           ../../inc/phoneuiqtviewif.h \
+           ../../inc/phoneaction.h \
+           hbtoolbar.h \
+           hbvolumesliderpopup.h
+SOURCES += ../../src/phoneuiqtview.cpp \
+           ../../src/phoneaction.cpp \
+           unit_tests.cpp \
+           hbtoolbar.cpp \
+           hbvolumesliderpopup.cpp 
+           
--- a/phoneapp/phoneuivoipextension/group/phoneuivoipextension.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/group/phoneuivoipextension.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -23,7 +23,10 @@
 #include <platform_paths.hrh>
 
 // Capability assignment.
-CAPABILITY CAP_APPLICATION MultiMediaDD PowerMgmt NetworkControl DRM DiskAdmin
+// <-- QT PHONE START --> 
+CAPABILITY CAP_GENERAL_DLL
+//CAPABILITY CAP_APPLICATION MultiMediaDD NetworkControl PowerMgmt DRM DiskAdmin
+// <-- QT PHONE END --> 
 
 // Assign Vendor ID.
 VENDORID VID_DEFAULT
@@ -48,39 +51,33 @@
 SOURCE          cphonemenuextensionwrapper.cpp
 SOURCE          cphoneextensionhandler.cpp
 SOURCE          tphonecmdparamselector.cpp
-SOURCE          tphonetouchpanewrapper.cpp
+// <-- QT PHONE START -->
+//SOURCE          tphonetouchpanewrapper.cpp
+// <-- QT PHONE END -->
 SOURCE          cphonetransferdialercontroller.cpp
 SOURCE          cphoneviewcustomizationvoip.cpp
 SOURCE          cphonestateutilsvoip.cpp
 SOURCE          cphoneunattendedtransfercmdhandler.cpp
-SOURCE          cphonevcchandler.cpp
+// <-- QT PHONE START -->
+//SOURCE          cphonevcchandler.cpp
+// <-- QT PHONE END -->
 SOURCE          cphonenewcallcmdhandler.cpp
 SOURCE          cphonecallforwardqueryhandler.cpp
 
-USERINCLUDE     ../inc
-USERINCLUDE     ../../phoneuicontrol/inc
-USERINCLUDE     ../../phoneuistates/inc
-USERINCLUDE     ../../phoneuiview/inc
-USERINCLUDE     ../../phoneui/inc
-USERINCLUDE     ../../phoneuiutils/inc
-USERINCLUDE     ../../phoneui/srcdata
-USERINCLUDE     ../../phoneui/loc
-
-APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
-SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
-
-
+// <-- QT PHONE START -->
+/* Languages */
+/*LANG SC
 
 #ifndef __SECURE_DATA__ 
+SOURCEPATH      ../srcdata
 
-/* Languages */
- LANG SC
-SOURCEPATH      ../srcdata
 // load protocol specific resources
 RESOURCE        phoneuivoip.rss
 #else
 // Resources
+
 SOURCEPATH      ../srcdata
+
 START RESOURCE  phoneuivoip.rss
 TARGETPATH APP_RESOURCE_DIR 
 HEADER
@@ -88,11 +85,32 @@
 END  // RESOURCE
 
 #endif // __SECURE_DATA__
+*/
+// <-- QT PHONE END -->
 
+USERINCLUDE     ../inc
+USERINCLUDE     ../../phoneuicontrol/inc
+USERINCLUDE     ../../phoneuistates/inc
+// <-- QT PHONE START -->
+USERINCLUDE     ../../phoneuiqtviewadapter/inc
+//USERINCLUDE     ../../phoneuiview/inc
+// <-- QT PHONE END -->
+USERINCLUDE     ../../phoneui/inc
+USERINCLUDE     ../../phoneuiutils/inc
+USERINCLUDE     ../../phoneui2/srcdata
+USERINCLUDE     ../../phoneui2/loc
+
+APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
+SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
 
 LIBRARY         bafl.lib
-LIBRARY         cch.lib 
-LIBRARY         commonengine.lib //StringLoader 
+// <-- QT PHONE START -->
+//LIBRARY         cch.lib 
+// <-- QT PHONE END -->
+// <-- QT PHONE START --> 
+LIBRARY         phonestringloader.lib
+//LIBRARY         commonengine.lib //StringLoader 
+// <-- QT PHONE END -->
 LIBRARY         cone.lib
 LIBRARY         ecom.lib
 LIBRARY         eikcoctl.lib // CEikMenuPane
@@ -106,6 +124,8 @@
 LIBRARY         phoneuiutils.lib
 LIBRARY         serviceprovidersettings.lib
 LIBRARY         serviceselector.lib
-LIBRARY         vccuipropertyhandler.lib //For VCC Usage
+// <-- QT PHONE START -->
+//LIBRARY         vccuipropertyhandler.lib //For VCC Usage
+// <-- QT PHONE END -->
 LIBRARY         ws32.lib
 
--- a/phoneapp/phoneuivoipextension/inc/cphonecustomizationvoip.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/inc/cphonecustomizationvoip.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 #define C_CPHONECUSTOMIZATIONVOIP_H
 
 // INCLUDES
-#include <SettingsInternalCRKeys.h>
+#include <settingsinternalcrkeys.h>
 #include <telmenuextension.h>
 #include <spdefinitions.h>
 #include "mphonecustomization.h"
@@ -37,7 +37,9 @@
 class CPhoneNewCallCmdHandler;
 class CEikMenuPaneItem;
 class CCoeEnv;
-class CPhoneVccHandler;
+// <-- QT PHONE START -->
+//class CPhoneVccHandler;
+// <-- QT PHONE END -->
 class CPhoneCallForwardQueryHandler;
 
 // CONSTANTS
@@ -77,9 +79,9 @@
         static CPhoneCustomizationVoip* NewL( 
             MPhoneStateMachine& aStateMachine,
             MPhoneViewCommandHandle& aViewCommandHandle );
-    	
+        
 // from base class MPhoneCustomization  
-    	
+        
         /**
         * From MPhoneCustomization.
         * Customizes menu bar.
@@ -169,7 +171,7 @@
         void HandleDialL( const TDesC& aNumber );
 
 // from base class MPhoneButtonCustomization
-        
+// <-- QT PHONE START -->         
         /**
         * From MPhoneButtonCustomization.
         * Customizes touch pane buttons.
@@ -177,8 +179,8 @@
         *                   bubble touch pane buttons.
         */
         void CustomizeTouchPaneButtons(
-                        MBubbleTouchPaneInterface& aTouchPane );
-        
+                        /*MBubbleTouchPaneInterface& aTouchPane*/ );
+// <-- QT PHONE END -->         
     protected:
 
         CPhoneCustomizationVoip( 
@@ -205,20 +207,20 @@
         * @param aServiceName On return, contains the service name
         */
         void GetVoipServiceNameL( TServiceId aServiceId, TDes& aServiceName ) const;
-    	
+        
         /**
-    	* Modifies menu when there is active call.
-    	* @param aResourceId Menu resource id.
-    	* @param aMenuPane Menu pane
-    	*/
+        * Modifies menu when there is active call.
+        * @param aResourceId Menu resource id.
+        * @param aMenuPane Menu pane
+        */
         void ModifyInCallMenuL( TInt aResourceId, CEikMenuPane& aMenuPane );
         
         /**
-    	 * Modifies menu when there is dialer/number entry shown.
-    	 * 
-    	 * @param   aResourceId     Menu pane resource identifier.
+         * Modifies menu when there is dialer/number entry shown.
+         * 
+         * @param   aResourceId     Menu pane resource identifier.
          * @param   aMenuPane       Menu pane.
-    	 */
+         */
         void ModifyNumberAcquisitionMenuL( 
             TInt aResourceId, CEikMenuPane& aMenuPane );
         
@@ -240,18 +242,18 @@
         void InsertTextInputModeChangeMenuItemL( CEikMenuPane& aMenuPane );
         
         /**
-    	* Resolves active calls from phoneengine.
-    	* @param aArray Active call array.
-    	*/
+        * Resolves active calls from phoneengine.
+        * @param aArray Active call array.
+        */
         void GetActiveCallArrayL( 
                 RArray<CTelMenuExtension::TCallInfo>& aArray );
         
         /**
-    	* Resolves most active call.
-    	* This is used to determine which plug-in customizes menu pane 
-    	* and handles command.
-    	* @param aArray Active call array.
-    	*/
+        * Resolves most active call.
+        * This is used to determine which plug-in customizes menu pane 
+        * and handles command.
+        * @param aArray Active call array.
+        */
         TInt ResolveMostActiveCallL( 
                 const RArray<CTelMenuExtension::TCallInfo>& aArray );
 
@@ -283,16 +285,18 @@
         */  
         TBool CheckFeatureSupportByCallTypeL( 
                 TFeature aFeature );
-        
+
+// <-- QT PHONE START -->         
         /**
         * Customizes touch pane buttons by extension.
         * @leave KErrNotFound if extension not found.
         * @param aTouchPane Interface to add and dimm
         *                   bubble touch pane buttons.
         */
-        void CustomizeTouchPaneUsingExtensionL(
-                        MBubbleTouchPaneInterface& aTouchPane );
-        
+        /*void CustomizeTouchPaneUsingExtensionL(
+                        MBubbleTouchPaneInterface& aTouchPane );*/
+// <-- QT PHONE END --> 
+
         /**
         * Shows "Enabling %U service" wait note 
         */
@@ -367,7 +371,7 @@
         HBufC* PhoneNumberFromEntryLC() const;
         
     private: // Data
-		        
+                
         /** 
          * Control environment.
          */
@@ -407,13 +411,15 @@
         /**
          * Pointer to VCC handler
          */
-        CPhoneVccHandler* iVccHandler; 
+        // <-- QT PHONE START -->
+        //CPhoneVccHandler* iVccHandler;
+        // <-- QT PHONE END -->
 
         /**
          * Call forward handler.
          */
         CPhoneCallForwardQueryHandler* iCallForwardHandler;
-		
+        
     };
 
 #endif // C_CPHONECUSTOMIZATIONVOIP_H
--- a/phoneapp/phoneuivoipextension/inc/cphoneextensionhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/inc/cphoneextensionhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -22,8 +22,10 @@
 // INCLUDES
 #include <telmenuextension.h>
 #include <spdefinitions.h>
-#include "mphonebuttoncustomization.h"
-
+// <-- QT PHONE START --> 
+//#include "mphonebuttoncustomization.h"
+// <-- QT PHONE END -->
+ 
 // FORWARD DECLARATIONS
 class CPhMenuExtensionWrapper;
 
@@ -45,7 +47,8 @@
          * Creates the extension handler class
          */
         static CPhoneExtensionHandler* NewL();
-        
+
+// <-- QT PHONE START -->         
         /**
          * Customizes touch pane buttons.
          * @param aServiceId Service id of the call.
@@ -53,10 +56,11 @@
          * @param aTouchPane Interface to add and dimm
          *                   bubble touch pane buttons.
          */
-        void CustomizeTouchPaneButtonsL(
+        /*void CustomizeTouchPaneButtonsL(
                 TUint aServiceId,
                 RArray<CTelMenuExtension::TCallInfo>& aArray,
-                MBubbleTouchPaneInterface& aTouchPane );
+                MBubbleTouchPaneInterface& aTouchPane );*/
+// <-- QT PHONE END --> 
                         
         /**
          * Modifies menu when there is active call.
@@ -87,7 +91,7 @@
         
         void ConstructL();
         
-    private:            	
+    private:                
         
         
         /**
--- a/phoneapp/phoneuivoipextension/inc/cphoneresourceresolvervoip.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/inc/cphoneresourceresolvervoip.h	Fri Mar 19 09:28:42 2010 +0200
@@ -78,7 +78,7 @@
 
         TInt iVoIPResourceOffset;       
   
-	};
+    };
 
 #endif      // CPHONERESOURCERESOLVERVOIP_H   
             
--- a/phoneapp/phoneuivoipextension/inc/cphoneuistatemachinefactoryvoip.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/inc/cphoneuistatemachinefactoryvoip.h	Fri Mar 19 09:28:42 2010 +0200
@@ -45,8 +45,8 @@
         * See MPhoneUIStateMachineFactory for details
         */
         CPhoneErrorMessagesHandler* CreatePhoneErrorMessagesHandlerL(
-        	MPhoneViewCommandHandle* aViewCommandHandle,
-        	MPhoneStateMachine* aStateMachine );
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneStateMachine* aStateMachine );
     };
 
 #endif      // CPHONEUISTATEMACHINEFACTORYVOIP_H
--- a/phoneapp/phoneuivoipextension/inc/cphonevcchandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/inc/cphonevcchandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -108,7 +108,7 @@
         */
         void HandoverInProgressNoteL( TInt aCommand );
 
-		// From MVccPsPropertyListenerObserver        
+        // From MVccPsPropertyListenerObserver        
         /**
         *  Gets called when PS key is changed
         * @param aKeyId 
@@ -128,7 +128,7 @@
          TInt GetVccServiceIdL();
          
     private: // Data
-		        
+                
         /** 
          * Interface for setting and getting active state
          */
--- a/phoneapp/phoneuivoipextension/inc/cphonevoiperrormessageshandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/inc/cphonevoiperrormessageshandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -12,12 +12,12 @@
 * Contributors:
 *
 * Description: 
-* 		Class that does processing for Phone Engine messages that are common
-*		for all VoIP states. Most of the GSM states are intressed of these 
-*		messages but due to the class architecture they don't have any single
-*		state class to be put into. This class exists to minimize duplicate
-*		code so that not every VoIP class need to implement these same handlings
-*		for the same messages.
+*       Class that does processing for Phone Engine messages that are common
+*       for all VoIP states. Most of the GSM states are intressed of these 
+*       messages but due to the class architecture they don't have any single
+*       state class to be put into. This class exists to minimize duplicate
+*       code so that not every VoIP class need to implement these same handlings
+*       for the same messages.
 *
 */
 
@@ -95,10 +95,10 @@
             TUint32 aServiceId );
         
     protected:
-   		
+        
         CPhoneVoIPErrorMessagesHandler( 
-        	MPhoneViewCommandHandle* aViewCommandHandle,
-        	MPhoneStateMachine* aPhoneStateMachine );
+            MPhoneViewCommandHandle* aViewCommandHandle,
+            MPhoneStateMachine* aPhoneStateMachine );
             
         void ConstructL();
 
--- a/phoneapp/phoneuivoipextension/inc/tphonetouchpanewrapper.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/inc/tphonetouchpanewrapper.h	Fri Mar 19 09:28:42 2010 +0200
@@ -22,8 +22,9 @@
 // INCLUDES
 #include <e32base.h>
 #include <teltouchpaneextension.h>
-#include <bmtouchpaneinterface.h>
-
+// <-- QT PHONE START --> 
+//#include <bmtouchpaneinterface.h>
+// <-- QT PHONE END --> 
 
 /**
  * Wrapper class to touch pane interface.
@@ -34,9 +35,10 @@
     {
 
 public:
-
-    TPhTouchPaneWrapper( MBubbleTouchPaneInterface& aTouchPane );
-    
+// <-- QT PHONE START --> 
+    TPhTouchPaneWrapper( /*MBubbleTouchPaneInterface& aTouchPane*/ );
+// <-- QT PHONE END -->
+     
     /**
      * Returns number of buttons in touch pane.
      *
@@ -71,8 +73,9 @@
      * Reference to touch pane interface
      * Not own.
      */
-    MBubbleTouchPaneInterface& iTouchPane;
-    
+// <-- QT PHONE START --> 
+    //MBubbleTouchPaneInterface& iTouchPane;
+// <-- QT PHONE END -->     
     };
 
 
--- a/phoneapp/phoneuivoipextension/src/cphonecallforwardqueryhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonecallforwardqueryhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -34,6 +34,9 @@
 #include "cphonemainresourceresolver.h"
 #include "cphonestatemachinevoip.h"
 #include "tphonecmdparamstring.h"
+// <-- QT PHONE START --> 
+#include "phoneviewcommanddefinitions.h"
+// <-- QT PHONE END --> 
 
 
 
--- a/phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonecustomizationvoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,10 +22,16 @@
 #include <spentry.h>
 #include <spproperty.h>
 #include <mpeengineinfo.h>
-#include <bmbubblemanager.h>
-#include <phoneui.rsg>
+// <-- QT PHONE START -->
+//#include <bmbubblemanager.h>
+// <-- QT PHONE END -->
+// <-- QT PHONE START --> 
+//#include <phoneui.rsg>
+#include "phoneresourceids.h"
+//#include <phoneui.rsg>
+//#include <phoneuivoip.rsg>
+// <-- QT PHONE END --> 
 #include <avkon.rsg>
-#include <phoneuivoip.rsg>
 #include <StringLoader.h>
 #include <featmgr.h>
 
@@ -55,7 +61,9 @@
 #include "cphoneunattendedtransfercmdhandler.h"
 #include "tphonecmdparampointer.h"
 #include "cphonenewcallcmdhandler.h"
-#include "cphonevcchandler.h"
+// <-- QT PHONE START -->
+//#include "cphonevcchandler.h"
+// <-- QT PHONE END -->
 #include "cphonecallforwardqueryhandler.h"
 #include "cphonekeys.h"
 
@@ -93,7 +101,9 @@
     delete iPhoneViewCustomization;
     delete iTransferCmdHandler;
     delete iNewCallCmdHandler;
-	delete iVccHandler;
+    // <-- QT PHONE START -->
+    //delete iVccHandler;
+    // <-- QT PHONE END -->
     }
 
 
@@ -128,11 +138,13 @@
         
     iNewCallCmdHandler = CPhoneNewCallCmdHandler::NewL( 
         iStateMachine, iViewCommandHandle );
-		
-    if ( FeatureManager::FeatureSupported( KFeatureIdFfVoiceCallContinuity ) )
+    
+    // <-- QT PHONE START -->    
+    /*if ( FeatureManager::FeatureSupported( KFeatureIdFfVoiceCallContinuity ) )
         {
         iVccHandler = CPhoneVccHandler::NewL( iStateMachine, iViewCommandHandle );
-        }
+        }*/
+    // <-- QT PHONE END -->
     
     iCallForwardHandler = CPhoneCallForwardQueryHandler::NewL( 
         iStateMachine, iViewCommandHandle );
@@ -263,7 +275,7 @@
 
     // Added HO menu items if needed
     AddHandoverMenuItemIfNeededL( aResourceId, *aMenuPane );
-	
+    
     if ( iViewCommandHandle.HandleCommandL( 
             EPhoneViewGetNumberEntryIsVisibleStatus ) != 
             EPhoneViewResponseSuccess )
@@ -290,7 +302,7 @@
 //
 void CPhoneCustomizationVoip::ModifyCallHeaderTexts( TInt aCallId, 
         TPhoneCmdParamCallHeaderData* aCommandParam,
-        const TDesC& /*aInCallNumberText*/ ) 
+        const TDesC& aInCallNumberText ) 
     {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneCustomizationVoip::ModifyCallHeaderTexts" );
@@ -303,54 +315,67 @@
             engineInfo.RemoteName( aCallId ).Length() ||
             engineInfo.RemoteCompanyName( aCallId ).Length();
         
-        if ( EPEStateRinging == aCommandParam->CallState() &&
-            !contactInfoAvailable )
+        if ( !contactInfoAvailable )
             {
-            if ( KNullDesC() != engineInfo.RemotePartyName( aCallId ) )
+            if ( EPEStateRinging == aCommandParam->CallState() )
                 {
-                // Telephone UI specification, 4.2.1 Call identification:
-                // display name is used as the CLI if available.
-                aCommandParam->SetCLIText( 
-                    engineInfo.RemotePartyName( aCallId ), 
-                    CBubbleManager::ERight );
-                // use line reserved for CNAP to show SIP URI
-                aCommandParam->SetCNAPText( 
-                    engineInfo.RemotePhoneNumber( aCallId ),
-                    CBubbleManager::ERight );
-                }
-            else if( KNullDesC() != engineInfo.RemotePhoneNumber( aCallId ) )
-                {
-                // Fit address to two rows if it doesnt fit to one
-                TBuf<KMaxLengthForSIPURI> sipURI;
-                TBuf<KMaxLengthForSIPURI> sipURIDomainPart;
-                HandleURIFittingToCallBubble( 
-                    aCommandParam->CLIText(),
-                    sipURI,
-                    sipURIDomainPart );
-                
-                aCommandParam->SetCLIText( sipURI, CBubbleManager::ERight );
-                aCommandParam->SetCNAPText( 
-                    sipURIDomainPart,
-                    CBubbleManager::ERight );
+                if ( KNullDesC() != engineInfo.RemotePartyName( aCallId ) )
+                    {
+                    // Telephone UI specification, 4.2.1 Call identification:
+                    // display name is used as the CLI if available.
+// <-- QT PHONE START --> 
+                    aCommandParam->SetCLIText( 
+                        engineInfo.RemotePartyName( aCallId ), 
+                        TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
+                    // use line reserved for CNAP to show SIP URI
+                    aCommandParam->SetCNAPText( 
+                        engineInfo.RemotePhoneNumber( aCallId ), 
+// <-- QT PHONE START -->
+//                        CBubbleManager::ERight
+                        TPhoneCmdParamCallHeaderData::ERight
+// <-- QT PHONE END -->
+                       );
+                    }
+                else
+                    {
+                    TBuf<KMaxLengthForSIPURI> sipURI;
+                    TBuf<KMaxLengthForSIPURI> sipURIDomainPart;
+                    HandleURIFittingToCallBubble( 
+                        aCommandParam->CLIText(),
+                        sipURI,
+                        sipURIDomainPart );
+                    
+// <-- QT PHONE START --> 
+                    aCommandParam->SetCLIText( sipURI, TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
+                    aCommandParam->SetCNAPText( sipURIDomainPart,
+// <-- QT PHONE START -->
+//                        CBubbleManager::ERight );
+                        TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END -->
+                    }
                 }
             else
                 {
-                // No address or display name specified
-                // Do nothing
+                if ( KNullDesC() == engineInfo.RemotePartyName( aCallId ) )
+                    {
+                    // Display name not available, set incall number text as a
+                    // CLI text. Text could be 'Call 1', 'Call 2', ...
+// <-- QT PHONE START --> 
+                    aCommandParam->SetCLIText( aInCallNumberText,
+                        TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END --> 
+                    // change clipping direction of CNAP text
+                    aCommandParam->SetCNAPText( 
+                        aCommandParam->CNAPText(),
+// <-- QT PHONE START -->
+//                        CBubbleManager::ERight );
+                        TPhoneCmdParamCallHeaderData::ERight );
+// <-- QT PHONE END -->
+                    }
                 }
             }
-        else
-            {
-            // Change clipping direction
-            aCommandParam->SetCLIText( 
-                aCommandParam->CLIText(), 
-                CBubbleManager::ERight );
-            
-            // Change clipping direction
-            aCommandParam->SetCNAPText( 
-                aCommandParam->CNAPText(), 
-                CBubbleManager::ERight );
-            }
         }
     }
 
@@ -415,13 +440,17 @@
             break;
             
         case EPhoneCmdHandoverToGsm:
-            iVccHandler->StartManualHandoverL( EPhoneVoIPWaitHandoverFromWlan );
+            // <-- QT PHONE START -->
+            //iVccHandler->StartManualHandoverL( EPhoneVoIPWaitHandoverFromWlan );
+            // <-- QT PHONE END -->
             handled = ETrue;
             break;
 
         
         case EPhoneCmdHandoverToWlan:
-            iVccHandler->StartManualHandoverL( EPhoneVoIPWaitHandoverFromGsm );
+            // <-- QT PHONE START -->
+            //iVccHandler->StartManualHandoverL( EPhoneVoIPWaitHandoverFromGsm );
+            // <-- QT PHONE END -->
             handled = ETrue;
             break;
             
@@ -471,7 +500,7 @@
     {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneCustomizationVoip::CustomizeSoftKeys" );
-	
+    
     return CPhoneMainResourceResolver::Instance()->
         ResolveResourceID( EPhoneVoIPNumberAcqInternetSoftkey );
     }
@@ -486,7 +515,7 @@
     {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneCustomizationVoip::CustomizeCallHeaderText" );
-	
+    
     return EPhoneVoIPPrivateAddress;
     }
 
@@ -624,13 +653,14 @@
 // CPhoneCustomizationVoip::CustomizeTouchPaneButtons
 // -----------------------------------------------------------
 //
+// <-- QT PHONE START --> 
 void CPhoneCustomizationVoip::CustomizeTouchPaneButtons(
-        MBubbleTouchPaneInterface& aTouchPane )
+        /*MBubbleTouchPaneInterface& aTouchPane*/ )
     {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneCustomizationVoip::CustomizeTouchPaneButtons" );
     
-    TRAPD( err, CustomizeTouchPaneUsingExtensionL( aTouchPane ) );
+    /*TRAPD( err, CustomizeTouchPaneUsingExtensionL( aTouchPane ) );
     
     if ( KErrNone != err )
         {
@@ -657,9 +687,9 @@
                     break;                    
                 } // switch
             } // for    
-        }
+        }*/
     }
-
+// <-- QT PHONE END --> 
 
 // -----------------------------------------------------------
 // CPhoneCustomizationVoip::VoIPSupportedL
@@ -1115,7 +1145,8 @@
 // CPhoneCustomizationVoip::CustomizeTouchPaneUsingExtensionL
 // -----------------------------------------------------------
 //
-void CPhoneCustomizationVoip::CustomizeTouchPaneUsingExtensionL(
+// <-- QT PHONE START --> 
+/*void CPhoneCustomizationVoip::CustomizeTouchPaneUsingExtensionL(
         MBubbleTouchPaneInterface& aTouchPane )
     {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
@@ -1136,8 +1167,8 @@
         "CPhoneCustomizationVoip::ModifyInCallMenuL() plugin exists" );
     
     CleanupStack::PopAndDestroy( &array );    
-    }
-
+    }*/
+// <-- QT PHONE END --> 
 
 // -----------------------------------------------------------
 // CPhoneCustomizationVoip::LaunchEnablingServiceNoteL
@@ -1170,8 +1201,10 @@
     queryParam.SetDataText( &noteText );  
     queryParam.SetDefaultCba( R_AVKON_SOFTKEYS_CANCEL );
     
-    const TInt KEnableServiceTimeOutInSecs = 60;
-    queryParam.SetTimeOut( KEnableServiceTimeOutInSecs );
+    // <-- QT PHONE START -->
+    const TInt KEnableServiceTimeOutInMilliSecs = 60000;
+    queryParam.SetTimeOut( KEnableServiceTimeOutInMilliSecs );
+    // <-- QT PHONE END -->
     // configure custom command mappings for user responses
     queryParam.SetCbaCommandMapping( 
         EAknSoftkeyCancel, EPhoneCmdCancelServiceEnabling );
@@ -1196,10 +1229,10 @@
     
     __ASSERT_DEBUG( aResourceId, Panic( EPhoneCtrlParameterNotInitialized ) );
     
-	CPhoneState* phoneState = 
-        static_cast< CPhoneState* >( iStateMachine.State() ); 		
-			
-    phoneState->SendGlobalErrorNoteL( aResourceId );		
+    CPhoneState* phoneState = 
+        static_cast< CPhoneState* >( iStateMachine.State() );       
+            
+    phoneState->SendGlobalErrorNoteL( aResourceId );        
     }
 
 
@@ -1373,14 +1406,15 @@
 // CPhoneCustomizationVoip::AddHandoverMenuItemIfNeededL
 // -----------------------------------------------------------
 //
-void CPhoneCustomizationVoip::AddHandoverMenuItemIfNeededL( TInt aResourceId,
-        CEikMenuPane& aMenuPane )
+void CPhoneCustomizationVoip::AddHandoverMenuItemIfNeededL( TInt /*aResourceId*/,
+        CEikMenuPane& /*aMenuPane*/ )
     {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneCustomizationVoip::AddHandoverMenuItemIfNeededL" );
     
     // Menu items to be added
-    if ( iVccHandler && AllowAlphaNumericMode() &&
+    // <-- QT PHONE START -->
+    /*if ( iVccHandler && AllowAlphaNumericMode() &&
         ( aResourceId == R_PHONEUI_CALLHANDLING_INCALL_OPTIONS_MENU ||
           aResourceId == R_PHONEUI_CALLWAITING_OPTIONS_MENU ||
           aResourceId == R_PHONEUI_ACTIVEANDHELDCALL_OPTIONS_MENU ||
@@ -1394,10 +1428,10 @@
         
         iVccHandler->AddHandoverMenuItemL( array, aResourceId, aMenuPane );
         CleanupStack::PopAndDestroy( &array );   
-        }
+        }*/
+    // <-- QT PHONE END -->
     }
-
-
+    
 // -----------------------------------------------------------
 // CPhoneCustomizationVoip::GetVoIPServiceIdsL
 // -----------------------------------------------------------
@@ -1463,7 +1497,6 @@
     CleanupStack::PopAndDestroy( 2, settingsApi );
     }
 
-
 // -----------------------------------------------------------
 // CPhoneCustomizationVoip::PhoneNumberFromEntryLC
 // -----------------------------------------------------------
--- a/phoneapp/phoneuivoipextension/src/cphoneextensionhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphoneextensionhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -21,9 +21,12 @@
 #include <spsettings.h>
 #include <spentry.h>
 #include <spproperty.h>
-#include <phoneui.rsg>
+// <-- QT PHONE START --> 
+//#include <phoneui.rsg>
+#include "phoneresourceids.h"
+//#include <phoneuivoip.rsg>
+// <-- QT PHONE END --> 
 #include <avkon.rsg>
-#include <phoneuivoip.rsg>
 #include <StringLoader.h>
 
 #include "cphoneextensionhandler.h"
@@ -102,22 +105,25 @@
 // CPhoneExtensionHandler::CustomizeTouchPaneButtonsL
 // -----------------------------------------------------------
 //
-void CPhoneExtensionHandler::CustomizeTouchPaneButtonsL(
+// <-- QT PHONE START --> 
+/*void CPhoneExtensionHandler::CustomizeTouchPaneButtonsL(
         TUint aServiceId,
         RArray<CTelMenuExtension::TCallInfo>& aArray,
         MBubbleTouchPaneInterface& aTouchPane )
     {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneExtensionHandler::CustomizeTouchPaneButtonsL" );
-    
+
+    // <-- QT PHONE START -->
     CTelMenuExtension* interface = MenuExtensionL( aServiceId );
     
     TPhTouchPaneWrapper wrapper( aTouchPane );    
     interface->ModifyExtensionsTouchPaneButtonsL(
         aArray,
         wrapper);
-    }
-
+    // <-- QT PHONE END -->
+    }*/
+// <-- QT PHONE END --> 
 
 // -----------------------------------------------------------
 // CPhoneExtensionHandler::ModifyInCallMenuL
--- a/phoneapp/phoneuivoipextension/src/cphoneresourceresolvervoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphoneresourceresolvervoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -19,7 +19,10 @@
 // INCLUDE FILES
 #include <bautils.h>
 #include <AknUtils.h>
-#include <phoneuivoip.rsg>
+// <-- QT PHONE START -->
+//#include <phoneuivoip.rsg>
+#include "phoneresourceids.h"
+// <-- QT PHONE END -->
 #include <data_caging_path_literals.hrh>
 #include "cphoneresourceresolvervoip.h"
 #include "cphonemainresourceresolver.h"
@@ -46,7 +49,8 @@
     {
     // Add resource file
     // Create path to default resource file name
-    TFileName path( KDriveZ );
+// <-- QT PHONE START -->    
+    /*TFileName path( KDriveZ );
     path.Append( KDC_APP_RESOURCE_DIR );
     path.Append( KPhoneResourceFileVoIP );
 
@@ -54,7 +58,8 @@
     BaflUtils::NearestLanguageFile( fsSession, path );
     iVoIPResourceOffset = iEnv.AddResourceFileL( path );
 
-    BaseConstructL();
+    LoadGSMResourcesL();*/
+// <-- QT PHONE END -->    
     
     // Register resolver
     CPhoneMainResourceResolver::Instance()->RegisterResolver( this );
@@ -78,7 +83,9 @@
 // Destructor
 CPhoneResourceResolverVoIP::~CPhoneResourceResolverVoIP()
     {
-    iEnv.DeleteResourceFile( iVoIPResourceOffset );
+// <-- QT PHONE START -->    
+//    iEnv.DeleteResourceFile( iVoIPResourceOffset );
+// <-- QT PHONE END -->    
     }
 
 // -----------------------------------------------------------------------------
@@ -167,31 +174,31 @@
             break;
             
         case EPhoneVoIPHoldFail:
-        	retVal = R_VOIP_HOLD_FAILED;
+            retVal = R_VOIP_HOLD_FAILED;
             break;
             
         case EPhoneVoIPHoldNumberFail:
-        	retVal = R_VOIP_HOLD_NUMBER_FAILED;
+            retVal = R_VOIP_HOLD_NUMBER_FAILED;
             break;
             
         case EPhoneVoIPResumeFail:
-    		retVal = R_VOIP_RESUME_FAILED;
+            retVal = R_VOIP_RESUME_FAILED;
             break;
             
         case EPhoneVoIPResumeNumberFail:
-    		retVal = R_VOIP_RESUME_NUMBER_FAILED;
+            retVal = R_VOIP_RESUME_NUMBER_FAILED;
             break;
             
-       	case EPhoneVoIPSwapFail:
-    		retVal = R_VOIP_SWAP_FAILED;
+        case EPhoneVoIPSwapFail:
+            retVal = R_VOIP_SWAP_FAILED;
             break;
         
         case EPhoneVoIPConferenceHoldFail:
-    		retVal = R_VOIP_CONFERENCE_HOLD_FAILED;
+            retVal = R_VOIP_CONFERENCE_HOLD_FAILED;
             break;
         
         case EPhoneVoIPConferenceResumeFail:
-    		retVal = R_VOIP_CONFERENCE_RESUME_FAILED;
+            retVal = R_VOIP_CONFERENCE_RESUME_FAILED;
             break;
 
         case EPhoneVoIPTransferFail:
@@ -204,7 +211,9 @@
             retVal = R_VOIP_CALL_TYPE_INTERNET;
             break;
         case EPhoneVoIPNumberAcqXSPCall:
-            retVal = R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU_ITEM_XSP;
+// <-- QT PHONE START -->    
+            //retVal = R_PHONEUI_NUMBERACQ_OPTIONS_CALL_MENU_ITEM_XSP;
+// <-- QT PHONE END -->
             break;
         case EPhoneVoIPUnattendedTransferOption:  
             retVal = R_VOIP_UNATTENDED_TRANSFER_OPTION;       
@@ -299,8 +308,8 @@
             break;
         case EPhoneVoIPDefectiveSettings:
             retVal = R_PHONE_VOIP_CREATING_CONN_FAILED_PERMANENTLY;
-			break;
-		default:
+            break;
+        default:
             retVal = CPhoneResourceResolverGSM::ResolveResourceID( aResource );
             break;
         }
--- a/phoneapp/phoneuivoipextension/src/cphonestatealertingvoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonestatealertingvoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -17,7 +17,9 @@
 
 
 // INCLUDES
-#include <bmbubblemanager.h>
+// <-- QT PHONE START -->
+//#include <bmbubblemanager.h>
+// <-- QT PHONE END -->
 #include <mpeengineinfo.h>
 
 #include "cphonestatealertingvoip.h"
@@ -94,8 +96,8 @@
     switch ( aMessage )
         {
         case MEngineMonitor::EPEMessageConnected:
-        	HandleConnectedL( aCallId );
-        	break;
+            HandleConnectedL( aCallId );
+            break;
         
         default:
             CPhoneAlerting::HandlePhoneEngineMessageL( 
@@ -109,16 +111,18 @@
 // -----------------------------------------------------------
 //
 void CPhoneStateAlertingVoIP::HandleConnectedL( TInt aCallId )
-	{
+    {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneStateAlertingVoIP::HandleConnectedL() ");
 
-	if( iStateMachine->PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP )
-		{
-		SetCallHeaderType( CBubbleManager::EVoIPCall );			
-		}
+    if( iStateMachine->PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP )
+        {
+// <-- QT PHONE START --> 
+        SetCallHeaderType( EPECallTypeVoIP );
+// <-- QT PHONE END -->             
+        }
 
-	CPhoneAlerting::HandleConnectedL( aCallId );		
-	}
+    CPhoneAlerting::HandleConnectedL( aCallId );        
+    }
 
 // End of File
--- a/phoneapp/phoneuivoipextension/src/cphonestatecallsetupvoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonestatecallsetupvoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -17,7 +17,9 @@
 
 
 // INCLUDES
-#include <bmbubblemanager.h>
+// <-- QT PHONE START -->
+//#include <bmbubblemanager.h>
+// <-- QT PHONE END -->
 #include <mpeengineinfo.h>
 
 #include "cphonestatecallsetupvoip.h"
@@ -93,8 +95,8 @@
     switch ( aMessage )
         {
         case MEngineMonitor::EPEMessageConnecting:
-        	HandleConnectingL( aCallId );
-        	break;
+            HandleConnectingL( aCallId );
+            break;
         
         default:
             CPhoneCallSetup::HandlePhoneEngineMessageL( 
@@ -108,16 +110,18 @@
 // -----------------------------------------------------------
 //
 void CPhoneStateCallSetupVoIP::HandleConnectingL( TInt aCallId )
-	{
+    {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneStateCallSetupVoIP::HandleConnectingL() ");
 
-	if( iStateMachine->PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP )
-		{
-		SetCallHeaderType( CBubbleManager::EVoIPCall );			
-		}
-		
-	CPhoneCallSetup::HandleConnectingL( aCallId );		
-	}
+    if( iStateMachine->PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP )
+        {
+// <-- QT PHONE START --> 
+        SetCallHeaderType( EPECallTypeVoIP );   
+// <-- QT PHONE END -->         
+        }
+        
+    CPhoneCallSetup::HandleConnectingL( aCallId );      
+    }
 
 // End of File
--- a/phoneapp/phoneuivoipextension/src/cphonestateidlevoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonestateidlevoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -124,12 +124,12 @@
     TBool commandStatus( ETrue );
 
     switch( aCommand )
-        {     	
+        {       
         case EPhoneNumberAcqCmdInternetCall:
             {
             StateUtils().SelectServiceAndDialL();
             }
-        	break;
+            break;
 
         default:
             commandStatus = CPhoneIdle::HandleCommandL( aCommand );
@@ -190,16 +190,18 @@
 // -----------------------------------------------------------
 //
 void CPhoneStateIdleVoIP::HandleDialingL( TInt aCallId )
-	{
+    {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, "CPhoneStateIdleVoIP::HandleDialingL( ) ");
 
-	if( iStateMachine->PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP )
-		{
-		SetCallHeaderType( CBubbleManager::EVoIPCall );			
-		}
+    if( iStateMachine->PhoneEngineInfo()->CallType( aCallId ) == EPECallTypeVoIP )
+        {
+// <-- QT PHONE START --> 
+        SetCallHeaderType( EPECallTypeVoIP );       
+// <-- QT PHONE END -->     
+        }
 
-	CPhoneIdle::HandleDialingL( aCallId );
-	}
+    CPhoneIdle::HandleDialingL( aCallId );
+    }
 
 
 // -----------------------------------------------------------
--- a/phoneapp/phoneuivoipextension/src/cphonestateincomingvoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonestateincomingvoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -91,12 +91,12 @@
 // -----------------------------------------------------------
 //
  void CPhoneStateIncomingVoIP::HandleLongHashL()
-	{
+    {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension,
-    	"CPhoneStateIncomingVoIP::HandleLongHashL( ) ");
+        "CPhoneStateIncomingVoIP::HandleLongHashL( ) ");
 
     CPhoneState::HandleLongHashL();
-	}
+    }
 
 
 // -----------------------------------------------------------
@@ -118,7 +118,7 @@
             {
             resourceId = EPhoneNumberAcqCBA;
             }
-    	
+        
         iCbaManager->SetCbaL( resourceId );
         }
     else
--- a/phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonestatemachinevoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -102,7 +102,7 @@
             // Possible that derived class has been deleted iState,
             // so this delete statement may be useless.
             delete iState;
-            iState = NULL;	            		
+            iState = NULL;                      
             }
 
         // State transition need to be made - construct new state and
@@ -111,7 +111,7 @@
             {
             case EPhoneStateCallSetup:
                 TRAP( err, iState = CPhoneStateCallSetupVoIP::NewL( 
-                	*this, *iViewCommandHandle, *iVoipCustomization ) );
+                    *this, *iViewCommandHandle, *iVoipCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
@@ -120,7 +120,7 @@
                 if( iIdleState == NULL )
                     {
                     TRAP( err, iIdleState = CPhoneStateIdleVoIP::NewL( 
-                    	*this, *iViewCommandHandle, *iVoipCustomization ) );
+                        *this, *iViewCommandHandle, *iVoipCustomization ) );
                     __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                     }
                 iState = iIdleState;
@@ -129,21 +129,21 @@
 
             case EPhoneStateIncoming:
                 TRAP( err, iState = CPhoneStateIncomingVoIP::NewL( 
-                	*this, *iViewCommandHandle, *iVoipCustomization ) );
+                    *this, *iViewCommandHandle, *iVoipCustomization ) );
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;                     
 
             case EPhoneStateSingle:
                 TRAP( err, iState = CPhoneStateSingleVoIP::NewL( 
-                	*this, *iViewCommandHandle, *iVoipCustomization ));
+                    *this, *iViewCommandHandle, *iVoipCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
 
             case EPhoneStateAlerting:
                 TRAP( err, iState = CPhoneStateAlertingVoIP::NewL(
-                	*this, *iViewCommandHandle, *iVoipCustomization ));
+                    *this, *iViewCommandHandle, *iVoipCustomization ));
                 __ASSERT_ALWAYS( KErrNone == err, User::Invariant() );
                 madeStateTransition = ETrue;
                 break;
--- a/phoneapp/phoneuivoipextension/src/cphonestatesinglevoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonestatesinglevoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -134,8 +134,8 @@
         {
         case EPhoneNumberAcqCmdInternetCall:
             StateUtils().SelectServiceAndDialL();
-        	break;
-     	
+            break;
+        
         case EPhoneNumberAcqCmdSendCommand:
             StartCallingL();
             break;
@@ -194,9 +194,9 @@
             }
             break;
             
-		default:
-			CPhoneSingleCall::HandleKeyMessageL( aMessage, aKeyCode );
-			break;
+        default:
+            CPhoneSingleCall::HandleKeyMessageL( aMessage, aKeyCode );
+            break;
         }
     }
 
@@ -205,18 +205,18 @@
 // -----------------------------------------------------------
 //
 void CPhoneStateSingleVoIP::StartCallingL()
-	{
+    {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneStateSingleVoIP::StartCallingL()" )
     
     TUint serviceId( 0 );
     CPhoneStateUtilsVoip& utililty = StateUtils();
-	if ( utililty.IsVoipPreferredCall( serviceId ) )
-		{
-		utililty.SelectServiceAndDialL( KNullDesC, serviceId );			
-		}
-	else
-		{
+    if ( utililty.IsVoipPreferredCall( serviceId ) )
+        {
+        utililty.SelectServiceAndDialL( KNullDesC, serviceId );         
+        }
+    else
+        {
         if ( utililty.IsVoipNumber() )
             {
             utililty.SelectServiceAndDialL();
@@ -246,8 +246,8 @@
                 CleanupStack::PopAndDestroy( phoneNumber );
                 }
             }
-		}
-	}
+        }
+    }
 
 // -----------------------------------------------------------
 // CPhoneStateSingleVoIP::LaunchUnattendedTransferAcceptanceQueryL
--- a/phoneapp/phoneuivoipextension/src/cphonestateutilsvoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonestateutilsvoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -15,7 +15,7 @@
 *
 */
 
-#include <CPhCltEmergencyCall.h>
+#include <cphcltemergencycall.h>
 #include <mpeengineinfo.h>
 #include <cconvergedserviceselector.h>
 #include "cphonestateutilsvoip.h"
--- a/phoneapp/phoneuivoipextension/src/cphonetransferdialercontroller.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonetransferdialercontroller.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -23,13 +23,21 @@
 #include <AknsItemID.h>
 #include <StringLoader.h>
 
-#include <phoneui.mbg>
-#include <phoneui.rsg>
-#include <phoneuivoip.rsg>
-#include <data_caging_path_literals.hrh> // For KDC_APP_BITMAP_DIR
+
+// <-- QT PHONE START -->
+//#include <phoneui.mbg>
+#include "phoneresourceids.h"
+//#include <phoneui.rsg>
+//#include <phoneuivoip.rsg>
+// <-- QT PHONE END -->
 
 #include "phoneui.pan"
 #include "phonelogger.h"
+// <-- QT PHONE START -->
+//#include "cphonebubblewrapper.h" // For KDC_APP_BITMAP_DIR
+#include <data_caging_path_literals.hrh>
+// <-- QT PHONE END -->
+
 #include "cphonetransferdialercontroller.h"
 #include "cphonemainresourceresolver.h"
 #include "phonerssvoip.h"
@@ -43,6 +51,8 @@
 // Number of buttons 
 const TInt KButtonCount = 2;
 
+// <-- QT PHONE START -->
+/*
 class TPhoneDialerToolbarButton 
     {
 public:
@@ -62,7 +72,9 @@
               EPhoneCmdTransferDialerSearch
             }                 
         };  
-
+        
+ */
+// <-- QT PHONE END -->
 // ================= MEMBER FUNCTIONS =======================
 
 // C++ default constructor can NOT contain any code, that
@@ -116,10 +128,13 @@
         iToolbar = &aToolbar;
         // Create transfer specific buttons and add them to the 
         // toolbar starting from index 0
-        CAknButton* button( NULL );
-    
+ // <-- QT PHONE START --> 
+        //CAknButton* button( NULL );
+  
+ /*
         for( TInt i = 0; i < KButtonCount; i++ )
             {
+           
             TAknsItemID skinId = SkinId( bArray[i].iIconIndex );
             // Load tooltip text.
             HBufC* tooltipText = GetTooltipTextL( bArray[i].iCommandId );  
@@ -133,7 +148,9 @@
             iToolbar->AddItemL( button, EAknCtButton, bArray[i].iCommandId, 0, i );
             CleanupStack::Pop( button );
             CleanupStack::PopAndDestroy( tooltipText );
-            }      
+            } 
+            */
+ // <-- QT PHONE END -->        
         iIsInitialized = ETrue;
         }
    
@@ -209,9 +226,9 @@
     __ASSERT_DEBUG( iToolbar, Panic( EPhoneCtrlInvariant ) );
     for( TInt i = 0; i < KButtonCount; i++ )
         {
-        iToolbar->HideItem( bArray[ i ].iCommandId, !aShow, EFalse );
-        }    
-    
+// <-- QT PHONE START -->   
+        //iToolbar->HideItem( bArray[ i ].iCommandId, !aShow, EFalse );
+        }
     if ( aShow )
         {
         iToolbar->SetItemDimmed( EPhoneCmdTransferDialerOk, ETrue, EFalse ); 
@@ -219,7 +236,8 @@
         iToolbar->SetItemDimmed( EPhoneDialerCmdClear, ETrue, EFalse ); 
         }
     
-    iToolbar->DrawDeferred();
+    //iToolbar->DrawDeferred();
+// <-- QT PHONE END --> 
     }
 
 // ---------------------------------------------------------------------------
@@ -293,12 +311,14 @@
 // CPhoneTransferDialerController::SkinId
 // ---------------------------------------------------------------------------
 //    
-TAknsItemID CPhoneTransferDialerController::SkinId( TInt aIconIndex ) const
+TAknsItemID CPhoneTransferDialerController::SkinId( TInt /*aIconIndex*/ ) const
     {
     TAknsItemID skinId;
-    
+ // <-- QT PHONE START -->
+ /*
     switch ( aIconIndex )
         {
+        
         case EMbmPhoneuiQgn_indi_button_send_dtmf:
             skinId = KAknsIIDQgnIndiButtonSendDtmf;
             break;
@@ -309,6 +329,8 @@
             skinId = KAknsIIDNone;        
             break;            
         }
-    
+  */
+  skinId = KAknsIIDNone; 
+// <-- QT PHONE END -->     
     return skinId;  
     }
--- a/phoneapp/phoneuivoipextension/src/cphoneuistatemachinefactoryvoip.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphoneuistatemachinefactoryvoip.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -53,11 +53,11 @@
 // ---------------------------------------------------------
 CPhoneErrorMessagesHandler*
     CPhoneUIStateMachineFactoryVoIP::CreatePhoneErrorMessagesHandlerL( 
-    	MPhoneViewCommandHandle* aViewCommandHandle,
-    	MPhoneStateMachine* aPhoneStateMachine )
+        MPhoneViewCommandHandle* aViewCommandHandle,
+        MPhoneStateMachine* aPhoneStateMachine )
     {
     return CPhoneVoIPErrorMessagesHandler::NewL( aViewCommandHandle, 
-    											 aPhoneStateMachine );
+                                                 aPhoneStateMachine );
     }
 
 // ---------------------------------------------------------
--- a/phoneapp/phoneuivoipextension/src/cphoneunattendedtransfercmdhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphoneunattendedtransfercmdhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -140,11 +140,7 @@
             iStateMachine.SendPhoneEngineMessage( 
                 MPEPhoneModel::EPEMessageDoUnattendedTransfer );
             
-            if ( KErrNone == iStateMachine.PhoneEngineInfo()->
-                    ErrorInfo().iErrorCode )
-                {
-                ShowWaitingAcceptanceNoteL();
-                }
+            ShowWaitingAcceptanceNoteL();
             }
             break;
         
@@ -263,10 +259,7 @@
     iStateMachine.SendPhoneEngineMessage( 
         MPEPhoneModel::EPEMessageDoUnattendedTransfer );
     
-    if ( KErrNone == iStateMachine.PhoneEngineInfo()->ErrorInfo().iErrorCode )
-        {
-        ShowWaitingAcceptanceNoteL();
-        }
+    ShowWaitingAcceptanceNoteL();
     CleanupStack::PopAndDestroy( content );
     }
 
--- a/phoneapp/phoneuivoipextension/src/cphonevcchandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonevcchandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -16,9 +16,12 @@
 */
 
 // INCLUDES
-#include <phoneui.rsg>
-#include <avkon.rsg>
-#include <phoneuivoip.rsg>
+// <-- QT PHONE START --> 
+//#include <phoneui.rsg>
+#include "phoneresourceids.h"
+//#include <avkon.rsg>
+//#include <phoneuivoip.rsg>
+// <-- QT PHONE END --> 
 #include <StringLoader.h>
 #include <avkon.rsg>
 #include <mpeengineinfo.h>
@@ -85,7 +88,7 @@
     {
     iPropListener = CVccUiPsPropertyListener::NewL( KVccPropKeyHoStatus );
     iPropListener->AddObserverL( *this );
- 	iPropListener->Start();
+    iPropListener->Start();
     }
 
 // -----------------------------------------------------------
@@ -316,7 +319,7 @@
 // -----------------------------------------------------------------------------
 //
 void CPhoneVccHandler::VccPropertyChangedL( const TUint aKeyId,
-                                    const TInt aValue )	
+                                    const TInt aValue ) 
     {            
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
         "CPhoneVccHandler::VccPropertyChangedL() ");
@@ -326,13 +329,13 @@
 
     
     if( aKeyId == KVccPropKeyHoStatus )
-  		{
-  		switch( aValue )
-  			{				
-  			case EVccCsToPsHoFailure:
-  			case EVccPsToCsHoFailure:
-  			    {
-  			    __PHONELOG( EBasic, PhoneUIVoIPExtension,
+        {
+        switch( aValue )
+            {               
+            case EVccCsToPsHoFailure:
+            case EVccPsToCsHoFailure:
+                {
+                __PHONELOG( EBasic, PhoneUIVoIPExtension,
                     "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- HO fail" );
                 // Remove handover note if handover is in progress
                 if( !iVccHoReady )
@@ -352,8 +355,8 @@
                     "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- HO Success" );   
                 iVccHoReady = ETrue;
                 RemoveHandoverNoteL();
-  			    }
-  				break;
+                }
+                break;
             case EVccCsToPsHoStarted:
                 {
                 __PHONELOG( EBasic, PhoneUIVoIPExtension,
@@ -456,13 +459,13 @@
                 break;
                 }
                     
-  			default:
+            default:
 
                 __PHONELOG( EBasic, PhoneUIVoIPExtension,
                         "CPhoneVccHandler::VccPropertyChangedL VccPropertyChangedL -- default" );
-        		break;
-  			}		
-  		}
+                break;
+            }       
+        }
     }
 // ---------------------------------------------------------------------------
 // Gets HO notification tone setting value
--- a/phoneapp/phoneuivoipextension/src/cphonevoiperrormessageshandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/cphonevoiperrormessageshandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -21,7 +21,9 @@
 #include <mpeengineinfo.h>
 #include <StringLoader.h>
 
-#include <ccherror.h>
+// <-- QT PHONE START -->
+//#include <ccherror.h>
+// <-- QT PHONE END -->
 
 #include <spsettings.h>
 #include <spentry.h>
@@ -375,14 +377,15 @@
 // -----------------------------------------------------------
 //
 void CPhoneVoIPErrorMessagesHandler::ShowRegistrationErrorNotesL( 
-    TInt aErrorCode )
+    TInt /*aErrorCode*/ )
     {
     __LOGMETHODSTARTEND( PhoneUIVoIPExtension, 
               "CPhoneVoIPErrorMessagesHandler::ShowRegistrationErrorNotesL()" );
     // Dismiss service enabling wait note
     iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveGlobalWaitNote );
     
-    switch ( aErrorCode )
+    // <-- QT PHONE START -->
+    /*switch ( aErrorCode )
         {
         case KCCHErrorAccessPointNotDefined:
             {
@@ -423,7 +426,6 @@
                 serviceId );
             break;
             }
-        case KCCHErrorLoginFailed: 
         default:
             {
             TUint32 serviceId = 
@@ -432,7 +434,8 @@
                serviceId );
             break;
             }
-        }
+        }*/
+    // <-- QT PHONE END -->
     }
 
 // ---------------------------------------------------------
--- a/phoneapp/phoneuivoipextension/src/tphonecmdparamselector.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/tphonecmdparamselector.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -45,9 +45,9 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamSelector::SetServiceId( const TUint aServiceId )
-   	{
-   	iServiceId = aServiceId;
-   	}
+    {
+    iServiceId = aServiceId;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSelector::ServiceId
@@ -57,8 +57,8 @@
 //
 EXPORT_C TUint TPhoneCmdParamSelector::ServiceId()
     {
-   	return iServiceId;
-   	}
+    return iServiceId;
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSelector::SetCallType
@@ -89,9 +89,9 @@
 // ---------------------------------------------------------
 //
 EXPORT_C void TPhoneCmdParamSelector::SetRegStatus( TBool aEnabled )
-   	{
-   	iEnabled = aEnabled;   
-   	}
+    {
+    iEnabled = aEnabled;   
+    }
 
 // ---------------------------------------------------------
 // TPhoneCmdParamSelector::RegStatus
@@ -100,8 +100,8 @@
 // ---------------------------------------------------------
 //
 EXPORT_C TBool TPhoneCmdParamSelector::RegStatus()
-   	{
-   	return iEnabled;
-   	}
+    {
+    return iEnabled;
+    }
 
 //  End of File
--- a/phoneapp/phoneuivoipextension/src/tphonetouchpanewrapper.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/src/tphonetouchpanewrapper.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -28,9 +28,10 @@
 // might leave.
 // -----------------------------------------------------------------------------
 //
+// <-- QT PHONE START --> 
 TPhTouchPaneWrapper::TPhTouchPaneWrapper( 
-        MBubbleTouchPaneInterface& aTouchPane ) :
-        iTouchPane( aTouchPane )    
+        /*MBubbleTouchPaneInterface& aTouchPane*/ ) :
+        //iTouchPane( aTouchPane )    
     {
     }
 
@@ -40,9 +41,9 @@
 // ---------------------------------------------------------
 //
 TInt TPhTouchPaneWrapper::NumberOfButtonsInPane() const
-   	{
-   	return iTouchPane.NumberOfButtonsInPane();
-   	}
+    {
+    return KErrNotSupported; //iTouchPane.NumberOfButtonsInPane();
+    }
 
 // ---------------------------------------------------------
 // TPhTouchPaneWrapper::ButtonCommandId
@@ -50,21 +51,21 @@
 // ---------------------------------------------------------
 //
 TInt TPhTouchPaneWrapper::ButtonCommandId( 
-        TInt aButtonIndex ) const
+        TInt /*aButtonIndex*/ ) const
     {
-   	return iTouchPane.ButtonCommandId( aButtonIndex );
-   	}
+    return KErrNotSupported; //iTouchPane.ButtonCommandId( aButtonIndex );
+    }
 
 // ---------------------------------------------------------
 // TPhTouchPaneWrapper::SetButtonDimmed
 // (other items were commented in a header).
 // ---------------------------------------------------------
 //
-void TPhTouchPaneWrapper::SetButtonDimmed( TInt aCommand, TBool aDimmed )
+void TPhTouchPaneWrapper::SetButtonDimmed( TInt /*aCommand*/, TBool /*aDimmed*/ )
    {
-   iTouchPane.SetButtonDimmed( aCommand, aDimmed );   
+   //iTouchPane.SetButtonDimmed( aCommand, aDimmed );   
    }
 
-
+// <-- QT PHONE END --> 
 
 //  End of File
--- a/phoneapp/phoneuivoipextension/srcdata/phoneuivoip.rss	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/phoneuivoipextension/srcdata/phoneuivoip.rss	Fri Mar 19 09:28:42 2010 +0200
@@ -1217,7 +1217,7 @@
             control = AVKON_LIST_QUERY_CONTROL
                 {
                 listtype = EAknCtSinglePopupMenuListBox;
-	              heading = qtn_voip_rel2_popup_title_forward_call_to;
+                  heading = qtn_voip_rel2_popup_title_forward_call_to;
                 listbox = AVKON_LIST_QUERY_LIST
                     {
                     };
--- a/phoneapp/silenceactionplugin/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/silenceactionplugin/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -24,13 +24,13 @@
 
 PRJ_EXPORTS
 ../data/silence.rul\
-	/epoc32/RELEASE/winscw/UDEB/Z/private/10282BC4/Rules/silence.rul
+    /epoc32/release/winscw/udeb/z/private/10282bc4/rules/silence.rul
 
 ../data/silence.rul\
-	/epoc32/data/Z/private/10282BC4/Rules/silence.rul
+    /epoc32/data/z/private/10282bc4/rules/silence.rul
 
 ../data/silenceactionplugin_stub.SIS\
-    /epoc32/data/z/system/install/silenceactionplugin_stub.SIS
+    /epoc32/data/z/system/install/silenceactionplugin_stub.sis
     
 ../rom/silenceactionplugin.iby\
     CORE_APP_LAYER_IBY_EXPORT_PATH(silenceactionplugin.iby)
--- a/phoneapp/silenceactionplugin/inc/silenceaction.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/silenceactionplugin/inc/silenceaction.h	Fri Mar 19 09:28:42 2010 +0200
@@ -21,8 +21,8 @@
 #define C_SILENCEPLUGIN_H
 
 #include <e32base.h>
-#include <RPhCltServer.h>
-#include <CPhCltCommandHandler.h>
+#include <rphcltserver.h>
+#include <cphcltcommandhandler.h>
 
 #include "msilenceactionobserver.h"
 
--- a/phoneapp/silenceactionplugin/inc/silenceactionplugin.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/silenceactionplugin/inc/silenceactionplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -39,8 +39,8 @@
 * Triggered when the conditions from the rule file are valid.
 */
 class CSilenceActionPlugIn : 
-	public CCFActionPlugIn,
-	public MSilenceActionObserver
+    public CCFActionPlugIn,
+    public MSilenceActionObserver
     {
     public: // Constructors and destructor
 
@@ -51,7 +51,7 @@
 
     public: // From CCFActionPlugIn
 
-		// @see CCFActionPlugIn
+        // @see CCFActionPlugIn
         void InitializeL();
 
         // @see CCFActionPlugIn
@@ -69,16 +69,16 @@
         // @see MSilenceActionObserver
         void MuteActionCompleted();
         
-	protected:
+    protected:
 
         // C++ constrcutor
         CSilenceActionPlugIn();
         
     private: // New functions
-    	
-    	void DoCancel();
-    	
-    	void RunL();
+        
+        void DoCancel();
+        
+        void RunL();
                     
     private: // Data
         
--- a/phoneapp/silenceactionplugin/rom/silenceactionplugin.iby	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/silenceactionplugin/rom/silenceactionplugin.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -25,6 +25,6 @@
 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
+#endif  // RD_CONTEXT_FRAMEWORK
 
 #endif // __SILENCEACTIONPLUGIN_IBY__
--- a/phoneapp/silenceactionplugin/src/silenceaction.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/silenceactionplugin/src/silenceaction.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -81,7 +81,7 @@
 
     iPhoneClient = CPhCltCommandHandler::NewL();
 
-	LOG_1( _L("<-CSilenceAction::ConstructL: END") );
+    LOG_1( _L("<-CSilenceAction::ConstructL: END") );
     }
 
 //-----------------------------------------------------------------------------
@@ -94,9 +94,9 @@
     if ( !IsActive() ) 
         {
         iPhoneClient->MuteRingingTone(iStatus);
-    	SetActive();
+        SetActive();
         }
-	LOG_1( _L("<-CSilenceAction::ActionMuteRingingTone: END") );
+    LOG_1( _L("<-CSilenceAction::ActionMuteRingingTone: END") );
     }
 //-----------------------------------------------------------------------------
 // CSilenceAction::RunL
--- a/phoneapp/silenceactionplugin/src/silenceactionplugin.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneapp/silenceactionplugin/src/silenceactionplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -137,7 +137,7 @@
             }
         }
         
-	LOG_1( _L("CSilenceActionPlugIn::ExecuteL: END") );
+    LOG_1( _L("CSilenceActionPlugIn::ExecuteL: END") );
     return time;
     }
 
--- a/phoneengine/PhoneCntFinder/BWINS/PHONECNTFINDERU.DEF	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	?CreateCntFactoryL@@YAPAVCPhCntFactory@@XZ @ 1 NONAME ; class CPhCntFactory * CreateCntFactoryL(void)
-	??0CCntRawPhoneNumberExtractor@@QAE@XZ @ 2 NONAME ; CCntRawPhoneNumberExtractor::CCntRawPhoneNumberExtractor(void)
-	??1CPhoneCntSaveAddToName@@UAE@XZ @ 3 NONAME ; CPhoneCntSaveAddToName::~CPhoneCntSaveAddToName(void)
-	?HandlePbkOperationL@CPhoneCntSaveAddToName@@UAEXABV?$TBuf@$0GE@@@HW4TCntNumberType@@@Z @ 4 NONAME ; void CPhoneCntSaveAddToName::HandlePbkOperationL(class TBuf<100> const &, int, enum TCntNumberType)
-	?HandlePbkOperationL@CPhoneCntSaveAddToName@@UAEXABV?$TBuf@$0GE@@@H@Z @ 5 NONAME ; void CPhoneCntSaveAddToName::HandlePbkOperationL(class TBuf<100> const &, int)
-
--- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntAIWService.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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:  AIW service wrapper
-*
-*/
-
-#ifndef CPHCNTAIWSERVICE_H
-#define CPHCNTAIWSERVICE_H
-
-#include <e32base.h>
-#include <AiwCommon.h>
-
-#include "CPhCntService.h"
-#include "mphcntaiwservice.h"
-
-/**
- *  Wrapper for phonebook's AIW service.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( CPhCntAiwService ):     
-    public CPhCntService, 
-    public MPhCntAiwService
-    {
-public:
-    
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.2
-     */
-    static CPhCntAiwService* NewL();
-    
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    virtual ~CPhCntAiwService();
-
-// from base class MPhCntService
-    
-    /**
-     * From MPhCntService
-     *
-     * @since S60 v3.2
-     * @see MPhCntService
-     */  
-    void ExecuteRequestL( 
-        MPhCntServiceRequestParam& aServiceRequestParams, 
-        MPhCntServiceResult& aResult,
-        MPhCntAiwServiceObserver& aObserver );       
-	    
-	/**
-     * From MPhCntAiwService
-     *
-     * @since S60 v3.2
-     * @see MPhCntService
-     */  
-	void Cancel();
-	
-	/** 
-	 * Indicates if service request is ongoing.
-	 */
-	TBool IsRequestActive() const;	
-
-protected:
-
-	/**
-	 * Indication that MAiwNotifyCallback is called.
-	 */
-	void ResponseReceived( TInt aError );
-	
-protected:
-
-    CPhCntAiwService();
-
-    void ConstructL();
-   	
-    /**
-     * Observer 
-     * Not own.  
-     */
-	MPhCntAiwServiceObserver* iObserver;
-
-    };
-
-#endif // CPHCNTAIWSERVICE_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContact.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,336 +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:  Contact
-*
-*/
-
-
-#ifndef CPHCNTCONTACT_H
-#define CPHCNTCONTACT_H
-
-#include <e32base.h>
-#include "MPhCntMatch.h"
-#include "tphcntnumber.h"
-
-class MPhCntContactFields;
-class CPhCntFoundContacts;
-class MPhCntContactManager;
-class MVPbkContactLinkArray;
-class MVPbkStoreContact;
-class MPbk2ImageGetObserver;
-class MPbk2ImageOperation;
-class CPhCntVPbkContactId;
-class TPhCntSipURI;
-class CCntRawPhoneNumberExtractor;
-
-/**
- *  Contact data.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntContact ) : public CBase, public MPhCntMatch 
-    {
-public:
-    
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     * @param aContactFields Contact fields, takes ownership.
-     * @param aContactManager Contact manager.
-     */
-    static CPhCntContact* NewL( 
-        MPhCntContactFields* aContactFields,
-        MPhCntContactManager& aContactManager );
-    
-    /**
-     * Destructor.
-     */
-    ~CPhCntContact();
-    
-public:
-
-    /** 
-     * The number, which was used to match this contact, should be
-     * set here.
-     *
-     * @since S60 v3.1
-     * @param aNumber Number, which was used to match this contact.
-     */
-    void SetOriginalNumberL( const TDesC& aNumber );
-    
-    /**
-     * Gives the original number used for matching this contact.
-     * 
-     * @since S60 v3.1
-     * @return Origianl number used for matching this contact.
-     */
-    const TDesC& OriginalNumber() const;
-    
-    /**
-     * Sets the owner of this contact.
-     *
-     * @since S60 v3.1
-     * @param aContactOwner Owner of this contact.
-     */
-    void SetOwner( CPhCntFoundContacts* aContactOwner );
-    
-    /**
-     * Increase reference count.
-     *
-     * @since S60 v3.1
-     */
-    void IncreaseReferenceCount();
-    
-    /**
-     * Gives all phone numbers that this contact has.
-     * 
-     * @since S60 v3.2
-     * @return All phone numbers contact has.
-     */
-    virtual const RArray<TPhCntNumber>& AllNumbers() const;
-    
-    /**
-     * Gives DTMF number, which was selected by user.
-     *
-     * @since S60 v3.2
-     * @return DTMF number or empty descriptor if dmtf
-     * was not defined for this contact.
-     */
-    virtual TPtrC Dtmf() const;
-    
-    /**
-     * Sets the number that matched to the original number.
-     * 
-     * @since S60 v3.1
-     * @param aNumber Number.
-     */
-    void SetMatchedVoipNumber( const TPhCntSipURI& aSipUri );
-
-    
-// From base class MPhCntMatch
-
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    void Release();
-    
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    MPhCntMatch::TNumberType NumberType() const;
-    
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    CPhCntContactId* ContactId() const;
-    
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    MVPbkContactLink* ContactLink() const;
-
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TCliType Cli( HBufC*& aCliText ) const;
-
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TPtrC FirstName() const;
-
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TPtrC LastName() const;
-
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TPtrC CompanyName() const;
-
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TPtrC Number() const;
-
-	/**
-     * Finds a phone number for the requested speed dial position.
-     * @since S60 v3.2
-     * @param aPosition The speed dial position.
-     * @return Phone number. Empty if there isn't one specified.
-     */
-    TPhCntNumber SpeedDialNumber( const TInt aPosition );
-
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TPtrC PersonalRingingTone() const;
-    
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TBool BelongsToGroups( 
-        const CArrayFix<TContactItemId>& aGroupArray ) const;
-
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    HBufC* TextToSpeechTextL() const;
-    
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TPtrC CallText() const;
-
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TPtrC CallImage() const;
-    
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.1
-     * @see MPhCntMatch
-     */
-    TBool HasThumbnailImage() const;  
-    
-    /**
-     * Loads the thumbnail of this contact.
-     * 
-     * @since S60 3.1
-     * @param aObserver Observer of the loading.
-     * @return Operation, that can be canceled by deleting it. Ownership is given.
-     */
-    MPbk2ImageOperation* LoadThumbnailL(
-        MPbk2ImageGetObserver& aObserver ); 
-        
-    /**
-     * From base class MPhCntMatch
-     * @since S60 v3.2
-     * @see MPhCntMatch
-     */
-    CDesCArray& AllDtmfNumbers() const;          
-        
-      
-        
-protected:
-        
-    CPhCntContact(
-        MPhCntContactFields* aContactFields,
-        MPhCntContactManager& aContactManager );
-    
-    void ConstructL();
-    
-    /**
-     * Determines if this contact belongs to a group of contacts.
-     * 
-     * @since S60 v3.1.
-     * @param aGroup Array of contact links, which defines a group.
-     * @return ETrue - This contact belongs to group.
-     * EFalse - This contact does not belong to group.
-     */
-    TBool BelongsToGroupsL( MVPbkContactLinkArray* aGroups ) const;
-
-private:
-    
-    /**
-     * Get number type from number that matches with supplied number 
-     * @since S60 v3.2
-     * @param aNumber Number which type is unknown 
-     * @return Number type
-     */
-    MPhCntMatch::TNumberType NumberType( const TDesC& aNumber ) const;
-            
-protected: // Data
-    
-    /**
-     * Contacts fields
-     * Own.
-     */
-    MPhCntContactFields* iContactFields;
-    
-    /** 
-     * Number, which was used for matching this contact.
-     * Own.
-     */
-    HBufC* iOriginalNumber;
-    
-    /**
-     * Owner of this contact.
-     * Not Own.
-     */
-    CPhCntFoundContacts* iOwner;
-    
-    /**
-     * Number of references of this object.
-     */
-    TInt iReferenceCount;
-    
-    /**
-     * Contact manager.
-     * Not own.
-     */
-    MPhCntContactManager& iContactManager;
-    
-    /**
-     * Contact identifier.
-     * own.
-     */
-    CPhCntVPbkContactId* iContactId;
-    
-    /**
-     * Matched voip number.
-     * own.
-     */
-    HBufC* iMatchedVoipNumber;
-
-    /**
-     * Number extractor.
-     * Own.
-     */
-    CCntRawPhoneNumberExtractor* iNumberExtractor;
-    };
-
-#endif // CPHCNTCONTACT_H
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactManager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +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:  Offers services from phonebook.
-*
-*/
-
-#ifndef CPHCNTCONTACTMANAGER_H
-#define CPHCNTCONTACTMANAGER_H
-
-#include <e32base.h>
-#include <MVPbkContactStoreListObserver.h>
-#include "MPhCntContactManager.h"
-#include "mphcntvoipcontactfinder.h"
-
-class CVPbkContactManager;
-class CVPbkContactStoreUriArray;
-class MPbk2ContactNameFormatter;
-class CPbk2SortOrderManager;
-class CVPbkContactIdConverter;
-class CVPbkSpeedDialAttribute;
-class CPbk2ImageManager;
-class CVPbkFieldTypeRefsList;
-class CPhCntContactStoreUris;
-class MPhCntStoreLoaderObserver;
-
-/**
- *  Offers services from phonebook.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntContactManager ): 
-    public CBase, 
-    public MPhCntContactManager, 
-    public MVPbkContactStoreListObserver,
-    public MPhCntVoipContactFinder
-    {
-public:
-    
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     */
-    static CPhCntContactManager* NewL();
-    
-    /**
-     * Destructor.
-     *
-     * @Since S60 v3.1
-     */
-    ~CPhCntContactManager();
-    
-    /**
-     * Gives reference to contact manager.
-     *
-     * @since S60 v3.2
-     * @return Contact manager.
-     */
-    CVPbkContactManager& ContactManager() const;
-    
-    /**
-     * Return list of additional contact stores
-     * @since S60 v3.2
-     * @return Array of additional contact stores
-     */
-    const CVPbkContactStoreUriArray& AdditionalContactStoreUris();
-
-    
-// From base class MPhCntContactManager
-
-	/**
-	 * From MPhCntContactManager.
-	 *
-	 * @since S60 v3.1
-	 * @see MPhCntContactManager.
-	 */
-    MVPbkContactOperationBase* RetrieveContactL(
-        const MVPbkContactLink& aLink,
-        MVPbkSingleContactOperationObserver& aObserver );
-       
-    /**
-	 * From MPhCntContactManager.
-	 *
-	 * @since S60 v3.1
-	 * @see MPhCntContactManager.
-	 */ 
-    MVPbkContactStoreList& ContactStoresL() const;
-   
-    /**
-     * From MPhCntContactManager.
-	 *
-	 * @since S60 v3.1
-	 * @see MPhCntContactManager.
-	 */
-    MPhCntContactMatchStrategy* CreateContactMatchStrategyL(
-            MVPbkContactFindObserver& aObserver,
-            TBool aRemoveDuplicates );
-   
-    /**
-     * From MPhCntContactManager.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactManager.
-     */         
-    MPbk2ContactNameFormatter& ContactNameFormatter();
-   
-    /**
-     * From MPhCntContactManager.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactManager.
-     */
-    MVPbkContactLinkArray* ConvertContactIdsToLinksL(  
-        const CArrayFix<TContactItemId>& aContactId ) const;
-    
-    /**
-     * From MPhCntContactManager.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactManager.
-     */    
-    MVPbkContactLink* ConvertContactIdToLinkL( 
-        TContactItemId aContactId ) const;   
-        
-    /**
-     * From MPhCntContactManager.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactManager.
-     */
-    TContactItemId ConvertContactLinkToContactId(
-        const MVPbkContactLink& aContactLink ) const;
-    
-    /**
-     * From MPhCntContactManager.
-     *
-     * @since S60 v3.2
-     * @see MPhCntContactManager.
-     */   
-    MVPbkContactLink* ConvertDescriptorToLinkL( const TDesC8& aPackedLink ) const;
-     
-    /**
-     * From MPhCntContactManager.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactManager.
-     */   
-    MVPbkContactOperationBase* RetrieveSpeedDialContactLinkL(
-        const TInt aSpeedDialPosition,
-        MVPbkContactFindObserver& aObserver );
-        
-    /**
-     * From MPhCntContactManager.
-     *
-     * @since S60 v3.2
-     * @see MPhCntContactManager.
-     */   
-	TBool HasSpeedDialL(        
-		const TInt aSpeedDialPosition,
-		const MVPbkStoreContactField& aField );
-    
-    /**
-     * Retrieves contacts thumbnail. To cancel the thumbnail
-     * fetch, delete operation.
-     *
-     * @since S60 v3.1
-     * @param aContact Contact, which thumbnail is fetched.
-     * @param aThumbnailFieldType Thumbnails field type.
-     * @param aObserver Observer of the fetch.
-     */
-    MPbk2ImageOperation* RetrieveImageL(
-        MVPbkStoreContact& aStoreContact,
-        const MVPbkFieldType& aThumbnailFieldType,
-        MPbk2ImageGetObserver& aObserver );
-    
-    /**
-     * From MPhCntContactManager.
-     *
-     * @since S60 v3.2
-     * @see MPhCntContactManager.
-     */   
-    CVPbkFieldTypeSelector* CreateFieldTypeSelectorL() const;
-    
-    /**
-     * From MPhCntContactManager.
-     *
-     * @since S60 v3.2
-     * @see MPhCntContactManager.
-     */  
-    void AppendFilterToSelectorL( CVPbkFieldTypeSelector& aSelector,
-        TVPbkContactViewFilter aFilter );
-
-    /**
-     * From MPhCntContactManager. 
-     *
-     * @since   S60 v9.1
-     * @see MPhCntContactManager.
-     */
-    void LoadContactStoreL( const TDesC8& aContactLink,
-        MPhCntStoreLoaderObserver& aObserver );
-
-    /**
-     * From MPhCntContactManager. 
-     *
-     * @since   S60 v9.1
-     * @see MPhCntContactManager.
-     */    
-    void LoadContactStoreWithUriL(
-        const TDesC& aStoreUri,
-        MPhCntStoreLoaderObserver& aObserver );
- 
-    /**
-     * From MPhCntContactManager. 
-     *
-     * @since   S60 v9.1
-     * @see MPhCntContactManager.
-     */
-    CPhCntContactStoreUris& ContactStoreUrisL();
-	
-// From base class MPhCntContactFinder
-    
-    /**
-     * From base class MPhCntVoipContactFinder
-     * Finds voip contacts, with given URI or partial URI. To cancel
-     * the find, destroy the returned operation.
-     * @since S60 v3.1
-     * @param aSipURI Sip uri defining wanted matches.
-     * @param aObserver Observer of the operation.
-     * @return Operation.
-     */
-    MVPbkContactOperationBase* FindVoipContactsL( 
-        const TDesC& aSipURI,
-        MVPbkContactFindObserver& aObserver ) const;
-
-// From base class MVPbkContactStoreListObserver
-    
-    /**
-     * From MVPbkContactStoreListObserver.
-     * 
-     * @since S60 v3.1
-     * @see MVPbkContactStoreListObserver
-     */	
-    void OpenComplete();
-    
-// From base class MVPbkContactStoreObserver 
-
-    /**
-     * From MVPbkContactStoreObserver.
-     * 
-     * @since S60 v3.1
-     * @see MVPbkContactStoreObserver
-     */
-    void StoreReady( MVPbkContactStore& aContactStore );
-    
-    /**
-     * From MVPbkContactStoreObserver.
-     * 
-     * @since S60 v3.1
-     * @see MVPbkContactStoreObserver
-     */
-    void StoreUnavailable( MVPbkContactStore& aContactStore, TInt aReason );
-    
-    /**
-     * From MVPbkContactStoreObserver.
-     * 
-     * @since S60 v3.1
-     * @see MVPbkContactStoreObserver
-     */
-    void HandleStoreEventL(
-        MVPbkContactStore& aContactStore, 
-        TVPbkContactStoreEvent aStoreEvent);
-    
-private:
-        
-    CPhCntContactManager();
-    
-    void ConstructL();
-    
-    /**
-     * Adds voip field types.
-     * 
-     * @since S60 v3.1
-     * @param aVoipFieldType VoIP field type.
-     */
-    void AddVoipFieldTypeL( const MVPbkFieldType* aVoipFieldType );
-    
-private:
-
-    /**
-     * Contact manager.
-     * Own.
-     */
-    CVPbkContactManager* iContactManager;
-    
-    /**
-     * Contact name formatter.
-     * Own.
-     */
-    MPbk2ContactNameFormatter* iContactNameFormatter;
-    
-    /**
-     * Sort order.
-     * Own.
-     */
-    CPbk2SortOrderManager* iSortOrder;
-    
-    /**
-     * Contact id converter.
-     * Own.
-     */
-    CVPbkContactIdConverter* iContactIdConverter;
-    
-    /**
-     * Contact store.
-     * Not own.
-     */
-    MVPbkContactStore* iContactDBStore;
-    
-    /**
-     * Speed dial.
-     * Own 
-     */
-     CVPbkSpeedDialAttribute* iSpeedDialAttribute;
-     
-     /**
-      * For retrieveing thumbnail from contact.
-      * own.
-      */
-     CPbk2ImageManager* iImageManager;
-     
-     /**
-      * For finding voip contacts.
-      * Own.
-      */
-     CVPbkFieldTypeRefsList* iVoipFieldTypeList;
-    
-     /**
-      * Contact store uris
-      * Own.
-      */
-     CPhCntContactStoreUris* iContactStoreUris;
-    
-     /**
-      * Store loader observer.
-      * Not own.
-      */
-     MPhCntStoreLoaderObserver* iStoreLoaderObserver;
-    };
-
-#endif // CPHCNTCONTACTMANAGER_H
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntContactStores.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +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:  Contact store
-*
-*/
-
-
-#ifndef CPHCNTCONTACTSTORES_H
-#define CPHCNTCONTACTSTORES_H
-
-#include <e32base.h>
-#include <MVPbkContactStoreListObserver.h>
-#include <MVPbkSingleContactOperationObserver.h>
-#include "MPhCntContactStores.h"
-
-class MVPbkContactLink;
-class MPhCntContactManager;
-class MPhCntContactFetchObserver;
-
-
-/**
- *  Contact store, where contact can be fetched.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntContactStores ): 
-    public CBase, 
-    public MPhCntContactStores,
-    public MVPbkSingleContactOperationObserver
-    {
-public:
-
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aContactManager Contact manager.
-     */
-    static CPhCntContactStores* NewL( MPhCntContactManager& aContactManager );
-    
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    ~CPhCntContactStores();
-    
-// from base class MPhCntContactStores
-
-    /**
-     * From MPhCntContactStores.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactStores
-     */
-    TBool IsRequestActive() const;
-    
-    /**
-     * From MPhCntContactStores.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactStores
-     */
-    void CancelRequest();
-    
-    /**
-     * From MPhCntContactStores.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactStores
-     */
-    void FetchContactL( const MVPbkContactLink& aLink, 
-        MPhCntContactFetchObserver& aObserver );
-    
-    /**
-     * From MPhCntContactStores.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactStores
-     */
-    void FetchFirstContactL( const TDesC8& aContactLinks,
-        MPhCntContactFetchObserver& aObserver );
-    
-    /**
-     * From MPhCntContactStores.
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactStores
-     */    
-    CVPbkContactLinkArray* CreateContactLinkArrayL( 
-        const TDesC8& aContactLinks );
-
-// From base class MVPbkSingeContactOperationObserver
-
-    /**
-     * From MVPbkSingeContactOperationObserver.
-     *
-     * @since S60 v3.1
-     * @see MVPbkSingeContactOperationObserver
-     */
-    void VPbkSingleContactOperationComplete(
-        MVPbkContactOperationBase& aOperation,
-        MVPbkStoreContact* aContact);
-    
-    /**
-     * From MVPbkSingeContactOperationObserver.
-     *
-     * @since S60 v3.1
-     * @see MVPbkSingeContactOperationObserver
-     */
-    void VPbkSingleContactOperationFailed(
-        MVPbkContactOperationBase& aOperation, 
-        TInt aError );
-        
-protected:
-    
-    CPhCntContactStores( MPhCntContactManager& aContactManager );
-    
-    void ConstructL();
-    
-private:
-
-    /**
-    * Handle to virtual phonebook.
-    * Not Own.
-    */
-    MPhCntContactManager& iContactManager;
-    
-    /**
-    * Contact fetch operation observer.
-    * Not own.
-    */
-    MPhCntContactFetchObserver* iContactFetchObserver;
-    
-    /**
-    * Contact operation
-    * Own
-    */
-    MVPbkContactOperationBase* iRetrieveContactOperation;
- 
-    /** 
-     * Link is stored here during the fetch.
-     * Own.
-     */    
-    MVPbkContactLink* iLink;
-            
-    };
-
-
-#endif // CPHCNTCONTACTSTORES_H
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntMatcherImpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +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:  Matcher implementation
-*
-*/
-
-#ifndef CPHCNTCNTMATCHERIMPL_H
-#define CPHCNTCNTMATCHERIMPL_H
-
-#include <e32base.h>
-#include "CPhCntMatcher.h"
-#include "MVPbkContactLink.h"
-
-class MPhCntContactStores;
-class CPhCntContactManager;
-class CPhCntContact;
-class CPhCntMatchContact;
-class CPhCntFetchContact;
-class MVPbkContactLink;
-class CPhCntFoundContacts;
-class CCntNumberParser;
-class MPhoneCntPbkOwner;
-class MPhCntContactMatchStrategy;
-class CVPbkContactStoreUriArray;
-
-
-/**
- * CPhCntMatcher implementation.
- *
- * @since S60 v3.1
- * @lib PhoneCntFinder.lib.
- */
-NONSHARABLE_CLASS( CPhCntMatcherImpl ) : public CPhCntMatcher
-    {
-public:
-
-	/**
-	 * Static constructor.
-	 *
-	 * @since S60 v3.1
-	 * @param aOwner Phonebook owner.
-	 */
-    static CPhCntMatcherImpl* NewL( const MPhoneCntPbkOwner& aOwner );
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    ~CPhCntMatcherImpl();
-
-// From base class CPhCntMatcher
-
-    /**
-     * From base class CPhCntMatcher
-     *
-     * @since S60 v3.1
-     * @see CPhCntMatcher.
-     */
-    TInt MatchNumber(
-        MPhCntMatch*& aMatch,
-        const TDesC& aTelNumber );
-
-    /**
-     * From base class CPhCntMatcher
-     *
-     * @since S60 v3.1
-     * @see CPhCntMatcher.
-     */
-    TInt MatchNumber(
-        MPhCntMatch*& aMatch,
-        const TDesC& aTelNumber,
-        const CPhCntContactId& aContactId );
-
-
-// NOT USED BY ANYONE?
-        /**
-    * Match number to phonebook.
-    * @param aMatch Found match, owership tranferred. NULL if not found any.
-    * @param aTelNumber Number to match against.
-    * @param aContactId Current contact.
-    * @param aFieldId Current field id (index from CnmModel);
-    * @return Error code: KErrNone - one match found
-    *                     KErrNotFound - no matches found
-    *                     KErrAlreadyExists - several matches -> no match
-    *                     KErrUnderflow - Number too short for matching
-    *                     KErrAccessDenied - Can't get phonebook instance
-    *                     other - normal Symbian OS error
-    */
-    TInt MatchNumber(
-        MPhCntMatch*& /*aMatch*/,
-        const TDesC& /*aTelNumber*/,
-        const CPhCntContactId& /*aContactId*/,
-        MPhCntMatch::TNumberType /*aNumberType*/ )
-        {
-        return KErrNotFound;
-        };
-
-    /**
-    * Match number to phonebook.
-    * @param aMatch Found match, owership tranferred. NULL if not found any.
-    * @param aNumber Number to match against.
-    * @return Error code: KErrNone - one match found
-    *                     KErrNotFound - no matches found
-    *                     other - normal Symbian OS error
-    */
-	TInt MatchVoipNumber(
-        MPhCntMatch*& aMatch,
-        const TDesC& aNumber,
-        TBool aAllowUserNameMatch,
-        MDesCArray* aContactStoreUris,
-        TInt aCharsForMatching = 0 );
-
-    /**
-    * From CPhCntMatcher, gets VoIP call contact info from phonebook
-    * by contact id.
-    * @since Series60 3.0
-    * @param aMatch for found match, owership tranferred. Empty if not found.
-    * @param aContactId for current contact.
-    * @return Error code: KErrNone - VoIP call contact found
-    *                     KErrNotFound - no VoIP call contact found
-    *                     other - normal Symbian OS error
-    */
-    TInt MatchVoipNumber(
-        MPhCntMatch*& aMatch,
-        const CPhCntContactId& aContactId );
-
-
-    /**
-     * From CPhCntMatcher
-     * Determines if contact has other type of numbers than
-     * voip numbers.
-     *
-     * @since S60 v3.2.
-     * @param aContactId Id of the contact.
-     * @return ETrue - CS numbers found from contact.
-     *         EFalse - No CS numbers found from contact.
-     */
-    TBool HasCSNumbers(
-        const CPhCntContactId& aContactId );
-
-private:
-
-    /**
-     * Tries to get a contact with known number.
-     *
-     * @since S60 v3.1
-     * @param aMatch Contact
-     * @param aTelNumber Phone number.
-     * @return Error code.
-     */
-    TInt GetContactL(
-        MPhCntMatch*& aMatch,
-        const TDesC& aTelNumber );
-
-    /**
-     * Match contacts against product specific stores.
-     *
-     * @since S60 v3.2
-     * @param aLinkArray Array of contacts to match
-     * @return Error code.
-     */
-    TInt MatchFromAdditionalStore( const MVPbkContactLinkArray& aLinkArray ) const;
-
-
-protected:
-
-    CPhCntMatcherImpl( const MPhoneCntPbkOwner& aOwner );
-
-    void ConstructL();
-
-    /**
-     * Delayed on-demand based construction (grabs leaves).
-     * Should be called from functions where a member attribute
-     * (those constructed here) is referenced.
-     */
-    TInt CreateMatcher();
-
-    /**
-     * Delayed on-demand based construction (leaving).
-     */
-    void DoCreateMatcherL();
-
-    /**
-     * Fetches contact pointed by aContactLink from
-     * contact stores.
-     *
-     * @since S60 v3.1
-     * @param aMatch Fetched contact. Is null if contact was not found.
-     * @param aContactLink Link to the contact.
-     * @param aOrigNumber Phone number that was used
-     * to find the contact.
-     * @return Error code.
-     */
-    TInt FetchContact(
-        CPhCntContact*& aMatch,
-        const MVPbkContactLink& aContactLink,
-        const TDesC& aOrigNumber );
-
-
-
-protected: // Data
-
-    /**
-     * Already found contacs.
-     * Own.
-     */
-    CPhCntFoundContacts* iFoundContacts;
-
-    /**
-     * Contact mathching operation.
-     * Own.
-     */
-    CPhCntMatchContact* iMatchContact;
-
-
-    /**
-     * Contact fetching operation.
-     * Own.
-     */
-    CPhCntFetchContact* iFetchContact;
-
-
-    /**
-     * Contact manager.
-     * Not own.
-     */
-    CPhCntContactManager& iContactManager;
-
-private: // Data
-
-    /**
-     * Contact stores
-     * Own.
-     */
-    MPhCntContactStores* iContactStores;
-
-    /**
-     * Owner of phone book.
-     * Not own.
-     */
-    const MPhoneCntPbkOwner& iPbkOwner;
-
-    /**
-     * Match strategy used for CS calls.
-     * Own.
-     */
-    MPhCntContactMatchStrategy* iCSMatchStrategy;
-
-    };
-
-#endif // CPHCNTCNTMATCHERIMPL_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntService.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +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:  AIW service wrapper
-*
-*/
-
-#ifndef CPHCNTSERVICE_H
-#define CPHCNTSERVICE_H
-
-#include <e32base.h>
-#include <AiwCommon.h>
-
-#include "cphcntasynctosync.h"
-#include "MPhCntService.h"
-#include "tphcntaiwserviceobserver.h"
-
-class CAiwServiceHandler;
-class MPhCntServiceObserver;
-class CAiwGenericParamList;
-
-/**
- *  Wrapper for phonebook's AIW service.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntService ):     
-    public CPhCntAsyncToSync, 
-    public MPhCntService,
-    public MPhCntAiwServiceCompleteObserver
-    {
-public:
-    
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     */
-    static CPhCntService* NewL();
-    
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    virtual ~CPhCntService();
-
-
-// from base class MPhCntService
-		
-    /**
-     * From MPhCntService
-     *
-     * @since S60 v3.1
-     * @see MPhCntService
-     */
-    void ExecuteRequestL( 
-        MPhCntServiceRequestParam& aServiceRequestParams, 
-        MPhCntServiceResult& aResult ); 
-
-// from base class MPhCntAiwServiceCompleteObserver
-    
-    /**
-     * From MPhCntAiwServiceCompleteObserver.
-     *
-     * Notification that AIW service request is done.
-     *
-     * @since S60 v3.2
-     * @see MPhCntAiwServiceCompleteObserver
-     */
-    void ServiceRequestComplete( TInt aError );
-
-protected:
-
-    /**
-     * Attach AIW criterias
-     */
-	void AttachCriteriasL();
-	
-	/**
-	 * Cancels request.
-	 * @return Error code.
-	 */
-	TInt CancelRequest();
-	
-protected:
-
-    CPhCntService();
-
-    void ConstructL();
-    
-    /**
-     * From CPhCntAsyncToSync.
-     *
-     * @since S60 v3.2
-     * @see CPhCntAsyncToSync.    
-     */
-    void DoMakeAsyncRequestL();
-    
-    void SetRequestAndResult( 
-        MPhCntServiceRequestParam& aServiceRequestParams, 
-        MPhCntServiceResult& aResult );
-    
-protected: // Protected because of unit testing.
-
-	/**
-	 * Result of the request.
-	 * Now own.
-	 */
-	MPhCntServiceResult* iResult;
-	
-	/**
-	 * Request params.
-	 * Not own.
-	 */
-	MPhCntServiceRequestParam* iParams;
-	
-private: // data
-
-    /**
-     * Handle to AIW service
-     * Own. 
-     */
-   	CAiwServiceHandler* iAiwService;
-	
-	/**
-	 * Criteria array.
-	 * Own.
-	 */
-	RCriteriaArray iCriteriaArray;
-	
-	/**
-	 * Options for the command, see TAiwServiceCmdOptions in AiwCommon.hrh.
-	 */	
-	TUint iCommandOptions;
-	
-	/**
-	 * Indication for that request has been canceled by client.
-	 */
-	TBool* iClientCanceledRequest;
-	
-protected:
-	
-	/**
-	 * Observes the AIW service.
-	 * Protected to ease unit testing.
-	 */
-	TPhCntAiwServiceObserver iAiwServiceObserver;
-
-    };
-
-#endif // CPHCNTSERVICE_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/CPhCntSingleItemFetchService.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +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:  Service for fetching single contact field.
-*
-*/
-
-
-#ifndef CPHCNTSINGLEITEMFETCHSERVICE_H
-#define CPHCNTSINGLEITEMFETCHSERVICE_H
-
-#include <e32base.h>
-#include "CPhCntSingleItemFetch.h"
-
-class MPhCntContactStores;
-class MPhCntPhonebookServices;
-class MPhCntContactManager;
-class CPhCntServiceRequestParamFactory;
-
-NONSHARABLE_CLASS( CPhCntSelectionImpl ) : public CPhCntSelection
-    {
-public:
-    
-    /**
-     * Static constructor.
-     * Takes ownership of the parameters.
-     */
-    static CPhCntSelectionImpl* NewL( 
-        const TDesC& aNumber,
-        const CPhCntContactId& aContactId );
-        
-    ~CPhCntSelectionImpl();
-    
-    /**
-     * From CPhCntSelection
-     * @since s60 v3.2
-     * @see CPhCntSelection
-     */
-    const TDesC& Number() const;
-
-    /**
-     * From CPhCntSelection
-     * @since s60 v3.2
-     * @see CPhCntSelection
-     */
-    const CPhCntContactId& ContactId() const;
-    
-private:
-
-    CPhCntSelectionImpl();
-    
-    void ConstructL(
-        const TDesC& aNumber,
-        const CPhCntContactId& aContactId );
-        
-private: // Data
-
-    /**
-     * Number.
-     * Own.
-     */
-    HBufC* iNumber;
-
-    /**
-     * Contact identifier.
-     * Own.
-     */
-    CPhCntContactId* iContactId;
-    
-    };
-
-/**
- * Service for fetching single contact item from phonebook.
- *
- * @since S60 v3.1
- * @lib PhoneCntFinder.lib
- */
-NONSHARABLE_CLASS( CPhCntSingleItemFetchService ): public CPhCntSingleItemFetch
-    {
-public:
-   	
-   	/**
-   	 * Static constructor.
-   	 *
-   	 * @since S60 v3.1
-   	 * @param aServices Phonebooks services
-   	 * @param aContactManager Contact manager
-   	 */     
-    static CPhCntSingleItemFetchService* NewL(
-        MPhCntContactStores& aServices,
-        MPhCntContactManager& aContactManager );
-
-    /**
-     * Destructor.
-     * 
-     * @since S60 v3.1
-     */
-    ~CPhCntSingleItemFetchService();
-    
-// From base class CPhCntSingleItemFetch
-
-    /**
-    * From base class CPhCntSingleItemFetch
-    *
-    * @see CPhCntSingleItemFetch
-    * @since S60 3.1
-    */
-    TInt FetchLD( TFetchParams& aParams );
-    
-    /**
-	* From base class CPhCntSingleItemFetch
-    *
-    * @see CPhCntSingleItemFetch
-    * @since S60 3.1
-	*/
-    TInt FetchPhoneNumberLD( 
-    	const TDesC8& aContactLink, 
-    	const CPhCntSingleItemFetch::TCallType aCallType,
-    	HBufC*& aNumber,
-    	HBufC8*& aFieldLink );
-    
-    /**
-	 * From base class CPhCntSingleItemFetch
-     *
-     * @see CPhCntSingleItemFetch
-     * @since S60 3.2
-	 */	
-    CPhCntSelection* SelectPhoneNumberLD();
-        
-private:
-
-    /**
-    * Sets return values (aParams) for client when fetching
-    * is completed.
-    * 
-    * @since S60 3.1
-    * @param aParams Parameters from client.
-    * @returns Possible error value
-    */
-    TInt SetFetchParams( TFetchParams& aParams,
-        const TDesC& aPhoneNumber ) const;
-        
-protected:
-        
-    CPhCntSingleItemFetchService();
-    
-    void ConstructL( 
-        MPhCntContactStores& aContactStores,
-        MPhCntContactManager& aContactManage );
-        
-protected:
-
-    /**
-     * Service to fetch the phone number.
-     * Own.
-     */
-    MPhCntPhonebookServices* iServices;
-    
-    /** 
-     * Indication if this is destroyed.
-     */
-    TBool* iDestroyed;
-    
-    /**
-     * Factory to create request params.
-     * Own.
-     */
-    CPhCntServiceRequestParamFactory* iParamFactory;
-
-    };
-
-#endif // CPHCNTSINGLEITEMFETCHSERVICE_H
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactFetchObserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  Observer interface for receiving contact.
-*
-*/
-
-
-#ifndef MPHCNTCONTACTFETCHOBSERVER_H
-#define MPHCNTCONTACTFETCHOBSERVER_H
-
-class CPhCntContact;
-
-/**
- *  Observer interface for receiving contact.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3,1
- */
-NONSHARABLE_CLASS( MPhCntContactFetchObserver ) 
-	{
-	
-public:
-
-    /**
-     * Indication that contact has been received.
-     * 
-     * aContact is NULL if getting the contact failed.
-     *
-     * @since S60 v3.1
-     * @param aContact Received contact. It is null, if there was an error
-     * during reception of the contact. Ownership is given to observer.
-     * @param aError Error code. 
-     */
-     virtual void ContactReceived( CPhCntContact* aContact, TInt aError ) = 0;
-
-    };
-
-
-#endif // MPHCNTCONTACTFECTHOBSERVER_H
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactFetcherObserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Definition of MPhCntContactFetcherObserver class.
-*
-*/
-
-
-#ifndef MPHCNTCONTACTFETCHEROBSERVER_H
-#define MPHCNTCONTACTFETCHEROBSERVER_H
-
-class MVPbkStoreContact;
-
-/**
- *  ?one_line_short_description
- *
- *  ?more_complete_description
- *
- *  @lib ?library
- *  @since S60 ?S60_version *** for example, S60 v3.0
- */
-NONSHARABLE_CLASS( MPhCntContactFetcherObserver )
-	{
-	
-public:
-
-    /**
-     * aContact is NULL if getting the contact failed.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param aContactLinks Links to contacts. Client should take a copy from the links, because
-     * aContactLinks is not valid after call to this method. 
-     * AContactLinks is length may be 0.
-     * @return ?description
-     */
-     virtual void PhoneNumberReceived( const TDesC& aPhoneNumber ) = 0;
-
-    };
-
-
-#endif // MPHCNTCONTACTFETCHEROBSERVER_H
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactManager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +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 phonebook services.
-*
-*/
-
-
-#ifndef MPHCNTCONTACTMANAGER_H
-#define MPHCNTCONTACTMANAGER_H
-
-#include <cntdef.h>
-#include <VPbkContactView.hrh>
-
-class MVPbkContactLink;
-class MVPbkSingleContactOperationObserver;
-class MVPbkContactOperationBase;
-class MVPbkContactStoreList;
-class MVPbkContactFindObserver;
-class MPhCntContactMatchStrategy;
-class MPbk2ContactNameFormatter;
-class CVPbkContactIdConverter;
-class MVPbkContactLinkArray;
-class MVPbkContactFindObserver;
-class MPbk2ImageOperation;
-class MPbk2ImageGetObserver;
-class MVPbkFieldType;
-class MVPbkStoreContact;
-class MVPbkStoreContactField;
-class CVPbkFieldTypeSelector;
-class MPhCntStoreLoaderObserver;
-class CPhCntContactStoreUris;
-
-/**
- * Interface for phonebook services.
- *
- * @since S60 v3.1
- * @lib PhoneCntFinder.lib
- */
-NONSHARABLE_CLASS(  MPhCntContactManager )
-    {
-public:
-    
-    /**
-     * Retrieves contact from phonebook.
-     * 
-     * @since S60 v3.1
-     * @param aLink Link to the contact.
-     * @param aObserver Observer for the retrieval.
-     * @return Handle to the retrieval operation.
-     */
-    virtual MVPbkContactOperationBase* RetrieveContactL(
-        const MVPbkContactLink& aLink,
-        MVPbkSingleContactOperationObserver& aObserver) = 0;
-        
-    /**
-     * Gives the list of contact stores.
-     * 
-     * @since S60 v3.1
-     * @return List of contact stores.
-     */
-    virtual MVPbkContactStoreList& ContactStoresL() const = 0;
-    
-    /**
-     * Factory method for creating contact match strategy.
-     *
-     * @since S60 v3.1
-     * @param aObserver Contact match strategy observer.
-     * @return New contact match strategy instance.
-     */
-    virtual MPhCntContactMatchStrategy* CreateContactMatchStrategyL(
-        MVPbkContactFindObserver& aObserver,
-        TBool aRemoveDuplicates )= 0;
-    
-    /**
-     * Gives access to contact name formatter.
-     *
-     * @since S60 v3.1
-     * @return Contact name formatter.
-     */    
-    virtual MPbk2ContactNameFormatter& ContactNameFormatter() = 0;
-    
-    /**
-     * Converts contact ids to contact links.
-     * 
-     * @since S60 v3.1
-     * @param aContactId Array of contact ids.
-     * @return Array of contact links. Ownership given.
-     */
-    virtual MVPbkContactLinkArray* ConvertContactIdsToLinksL(  
-        const CArrayFix<TContactItemId>& aContactId ) const = 0;
-        
-    /**
-     * Converts contact id to contact link.
-     * 
-     * @since S60 v3.1
-     * @param aContactId Contact id from Contact DB.
-     * @return Concact link, ownership is given to caller.
-     * If the aContactId is KNullContactId then then returned value is NULL.
-     */
-    virtual MVPbkContactLink* ConvertContactIdToLinkL( 
-        TContactItemId aContactId ) const = 0;
-        
-    /**
-     * Converts contact link to contact id.
-     *
-     * @since S60 v3.1
-     * @param aContactLink Reference to contactlink.
-     * @return Contact id.
-     */
-    virtual TContactItemId ConvertContactLinkToContactId(
-        const MVPbkContactLink& aContactLink ) const = 0;
-        
-    /**
-     * Converts packed link descriptor to contact link.
-     * 
-     * @since S60 v3.2
-     * @param aPackeLink Link prepresented as desctiptor.
-     * @return Contact link. Returns null if aPackedLink length is 0.
-     */
-    virtual MVPbkContactLink* ConvertDescriptorToLinkL( 
-        const TDesC8& aPackedLink ) const = 0;
-        
-    /**
-     * Retrieves contact, which has been assinged to speeddial position
-     * aSpeedDialPosition.
-     *
-     * @since S60 v3.1
-     * @param aSpeedDialPosition Speed dial position.
-     * @param aObserver Observer for operation.
-     * @return Operation, ownership is given to caller.
-     */
-    virtual MVPbkContactOperationBase* RetrieveSpeedDialContactLinkL(
-        const TInt aSpeedDialPosition,
-        MVPbkContactFindObserver& aObserver ) = 0;
-
-	/**
-     * Indicates whether the speed dial attribute has been set for the given position.
-     *
-     * @since S60 v3.2
-     * @see MPhCntContactManager.
-     * @param aSpeedDialPosition Speed dial position.
-     * @param aField Field to be evaluated.
-     * @return ETrue if aField has a matching speed dial position,
-     *         EFalse otherwise.     
-     */    
-	virtual TBool HasSpeedDialL(      
-		const TInt aSpeedDialPosition,  
-		const MVPbkStoreContactField& aField ) = 0;        
-
-    /**
-     * Retrieves contacts image. To cancel the thumbnail
-     * fetch, delete operation.
-     *
-     * @since S60 v3.1
-     * @param aContact Contact, which image is fetched.
-     * @param aFieldType Field type.
-     * @param aObserver Observer of the fetch.
-     */
-    virtual MPbk2ImageOperation* RetrieveImageL(
-        MVPbkStoreContact& aStoreContact,
-        const MVPbkFieldType& aFieldType,
-        MPbk2ImageGetObserver& aObserver ) = 0;
-        
-    /** 
-     * Creates field type selector.
-     *
-     * @since S60 v3.2
-     */    
-    virtual CVPbkFieldTypeSelector* CreateFieldTypeSelectorL() const = 0;
-    
-    /**
-     * Appends filter to selector.
-     *
-     * @since S60 v3.2
-     * @param aSelector Selector to append the filter.
-     * @param aFilter The filter to be appended.
-     */
-    virtual void AppendFilterToSelectorL( CVPbkFieldTypeSelector& aSelector,
-        TVPbkContactViewFilter aFilter ) = 0;
-   
-    /**
-     * Loads the store specified in the contact link and adds the store to 
-     * the list of stores handled by this manager.
-     *
-     * @since   S60 v9.1
-     * @param   aContactLink    A contact link containing store to load.
-     * @param   aObserver       An observer for the loading process.
-     */
-    virtual void LoadContactStoreL( const TDesC8& aContactLink,
-        MPhCntStoreLoaderObserver& aObserver ) = 0;
-   
-    /**
-     * Loads the store specified by the URI and adds the store to 
-     * the list of stores handled by this manager.
-     *
-     * @since   S60 v9.1
-     * @param   aStoreUri       A URI of the store to load.
-     * @param   aObserver       An observer for the loading process.
-     */
-    virtual void LoadContactStoreWithUriL( 
-        const TDesC& aStoreUri,
-        MPhCntStoreLoaderObserver& aObserver ) = 0;
-		
-    /** 
-     * Return contact store uri's.
-     *
-     * @since S60 v9.1
-     */ 
-    virtual CPhCntContactStoreUris& ContactStoreUrisL() = 0;
-	
-protected:
-
-    MPhCntContactManager(){};
-    
-    virtual ~MPhCntContactManager() {};
-    };
-
-#endif 
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntContactStores.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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:  Contact match strategy interface.
-*
-*/
-
-#ifndef MPHCNTCONTACTSTORES_H
-#define MPHCNTCONTACTSTORES_H
-
-class MVPbkContactLink;
-class MPhCntContactFetchObserver;
-class CVPbkContactLinkArray;
-class CVPbkPhoneNumberMatchStrategy;
-class MVPbkContactFindObserver;
-
-/**
- * Contact stores interface.
- *
- * @lib PhoneCntFinder.lib
- * @since S60 v3.1
- */
-NONSHARABLE_CLASS( MPhCntContactStores ) 
-    {
-    
-public:
-
-    /**
-     * Destructor.
-     *
-     * @since v3.1
-     */
-    virtual ~MPhCntContactStores() {};
-    
-    /**
-     * Determines if request is pending.
-     * @since S60 v3.2
-     */
-    virtual TBool IsRequestActive() const = 0;
-    
-    /**
-     * Cancels outstanding request if any.
-     */
-    virtual void CancelRequest() = 0;
-    
-    /**
-     * Fetches contact, which is pointed by contact link from 
-     * currently open contact stores. Observer is notified
-     * after the contact has been fetched or fetch was not
-     * successfull. Note that new fetch should not be
-     * started before the existing fetch has completed.
-     *
-     * @since S60 v3.1
-     * @param aLink Link to the contact.
-     * @param aObserver Observer of the fetch.
-     */
-     
-    virtual void FetchContactL( const MVPbkContactLink& aLink, 
-        MPhCntContactFetchObserver& aObserver ) = 0;
-    
-    /**
-     * Creates contact link array from descriptor, which 
-     * defines contact links.
-     *
-     * @since S60 v3.1
-     * @param aContactLinks Contact links in descriptor.
-     * @return Array of contactlinks, ownership given.
-     */
-    virtual CVPbkContactLinkArray* CreateContactLinkArrayL( 
-        const TDesC8& aContactLinks ) = 0;
-    
-    /**
-     * Fetches first contact in contact links, which are defined
-     * by aContactLinks. Observer is notified
-     * after the contact has been fetched or fetch was not
-     * successfull. Note that new fetch should not be
-     * started before the existing fetch has completed.
-     *
-     * @since S60 v3.1
-     * @param aContactLinks Links to a contacts.
-     * @param aObserver Observer of the fetch.
-     */
-    virtual void FetchFirstContactL( const TDesC8& aContactLinks,
-        MPhCntContactFetchObserver& aObserver ) = 0;
-        
-    };
-
-#endif
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntPhonebookServices.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +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 phonebook services.
-*
-*/
-
-
-#ifndef MPHCNTPHONEBOOKSERVICES_H
-#define MPHCNTPHONEBOOKSERVICES_H
-
-#include <e32std.h>
-#include "CPhCntSingleItemFetch.h"
-
-class CPhCntContactId;
-class MPhCntServiceRequestParam;
-class CPhCntContact;
-
-
-/**
- *  Interface for phonebook services.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( MPhCntPhonebookServices )
-    {
-
-public:
-
-    /**
-     * Virtual destructor.
-     * 
-     * @since S60 v3.2
-     */
-    virtual ~MPhCntPhonebookServices() {};
-
-    /**
-     * Gets user selected phone number and contact id.
-     *
-     * @since S60 v3.2
-     * @param aContactId Contact id of the contact, may be null
-     * @param aPhoneNumber Phone number, may be null.
-     * @leaves KErrCancel - User canceled the fetch
-     *         Other system wide error codes.
-     */
-    virtual void GetUserSelectedPhoneNumberL( 
-        CPhCntContactId*& aContactId, 
-        HBufC*& aPhoneNumber ) = 0;
-
-    /**
-     * Gets user selected voip address and contact id.
-     *
-     * @since S60 v5.0
-     * @param aContactId Contact id of the contact, may be null
-     * @param aVoIPAddress voip address, may be null.
-     * @leaves KErrCancel - User canceled the fetch
-     *         Other system wide error codes.
-     */
-    virtual void GetUserSelectedVoIPAddressL( 
-        CPhCntContactId*& aContactId, 
-        HBufC*& aVoIPAddress ) = 0;
-    
-    /**
-     * Gets user selected dtmf number and contact id.
-     *
-     * @since S60 v3.2
-     * @param aContactId Contact id of the contact, may be null
-     * @param aDtmfNumber Dtmf number, may be null.
-     * @leaves KErrCancel - User canceled the fetch
-     *         Other system wide error codes.
-     */    
-    virtual void GetUserSelectedDtmfNumberL(
-        CPhCntContactId*& aContactId,
-        HBufC*& aDtmfNumber ) = 0;
-        
-    /**
-     * Create new contact to phonebook.
-     *
-     * @since S60 v3.2
-     * @param aPhoneNumber Number of the new contact.
-     */
-    virtual void CreateNewContactL( const TDesC& aPhoneNumber ) = 0;
-    
-    /**
-     * Adds phonenumber to existing contact.
-     *
-     * @since S60 v3.2
-     * @param aPhoneNumber Phone number to be added to existing contact.
-     */
-    virtual void UpdateExistingContactL( const TDesC& aPhoneNumber ) = 0;  
-
-	/**
-	 * Gets a phone number from the contact.
-	 * @param aContactLink Contact link.
-	 * @param aCallType Number type.
-	 * @param aNumber User selected phone number.
-	 * @param aFieldLink Contact link (field link) to the number selected by user.
-	 */
-	virtual void GetPhoneNumberL(
-		const TDesC8& aContactLink, 
-		const CPhCntSingleItemFetch::TCallType aCallType,
-    	HBufC*& aNumber,
-    	HBufC8*& aFieldLink ) = 0;
-    	
-    /**
-     * Gets contact selected by user. 
-     *
-     * @since S60 v3.2
-     * @param aParam Parameters passed to AIW.
-     * @return Contact, selected by user. Ownership contact.
-     */   
-    virtual CPhCntContact* GetUserSelectedContactLC( 
-        MPhCntServiceRequestParam& aParam ) = 0;   
-    
-    /**
-	 * Cancels outstanding request.
-	 *
-	 * @since S60 v3.2
-	 */
-    virtual void CancelRequest() = 0;
-
-protected:
-
-    };
-
-
-#endif // MPHCNTPHONEBOOKSERVICES_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/MPhCntService.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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:  Inteface for fetching contact links from AIW.
-*
-*/
-
-
-#ifndef MPHCNTSERVICE_H
-#define MPHCNTSERVICE_H
-
-class MPhCntServiceRequestParam;
-class MPhCntServiceResult;
-
-/**
- * AIW service wrapper interface.
- *
- * @lib PhoneCntFinder.lib
- * @since S60 v3.1
- */
-NONSHARABLE_CLASS( MPhCntService )
-    {
-public:
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    virtual ~MPhCntService() {};
-         
-    /**
-     * Makes AIW service request, synchronous
-     *
-     * @since S60 v3.1
-     * @param aService Parameters used with AIW.
-     * @param aResult Result of the request.
-     * @leaves KErrCancel - User or client canceled the request.
-     *         Other system wide error codes possible.
-     */
-    virtual void ExecuteRequestL( 
-        MPhCntServiceRequestParam& aServiceRequestParams, 
-        MPhCntServiceResult& aResult ) = 0;
-    
-    };
-
-#endif // MPHCNTSERVICE_H
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntasynctosync.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +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:  Converts asynchronous operation to synchronous
-*
-*/
-
-
-#ifndef CPHCNTASYNCTOSYNC_H
-#define CPHCNTASYNCTOSYNC_H
-
-#include <e32base.h>
-
-/**
- *  Converts asynchronous operation to synchronous
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntAsyncToSync ) : public CBase
-    {
-protected:
- 
-    /**
-     * Converts asynchronous call from DoMakeAsyncRequestL to synchronous. 
-     * Derived class has to implement the DoMakeAsyncRequestL method and make
-     * asynchronous call from there.
-     *
-     * @since S60 v3.1
-     */
-    TInt MakeAsyncRequest();
-     
-    /**
-     * Indication that asynchronous call from DoMakeAsyncRequestL has 
-     * completed. Derived class has to call this method, 
-     * when the asynchronous request completes.
-     *
-     * @since S60 v3.1
-     * @param Error code of the response.
-     */
-    virtual void ResponseReceived( TInt aErrorCode );
-
-    /**
-     * Checks if there are pending asynchronous requests available.
-     *
-     * @since S60 v5.0
-     */
-    TBool IsActive();
-     
-    CPhCntAsyncToSync();
-
-    void BaseConstructL();
-    
-    virtual ~CPhCntAsyncToSync();
-
-    /**
-     * Template method, which derived class has to implement. This is the
-     * place to make the asynchronous call, which is converted to synchronous.
-     *
-     * @since S60 v3.1
-     */
-    virtual void DoMakeAsyncRequestL() = 0;
-
-private: // data
-   
-    /**
-     * To make asynchronous operation synchronous
-     * Own.
-     */
-    CActiveSchedulerWait* iWait;
-    
-    /**
-     * Indication of response received from the async request.
-     */
-    TBool iResponseReceived;
-   
-    /**
-     * Error code from response.
-     */
-    TInt iResponseError;
-    };
-
-
-#endif // CPHCNTASYNCTOSYNC_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactdataselection.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:  Service to show dialogs for user to select contact data.
-*
-*/
-
-
-#ifndef CPHCNTCONTACTDATASELECTION_H
-#define CPHCNTCONTACTDATASELECTION_H
-
-#include <e32base.h>
-#include "MPhCntMatch.h"
-
-NONSHARABLE_CLASS( CPhCntSelectedData ) : public CBase
-    {
-public:
-
-    /**
-     * Number selected by user.
-     */
-    virtual const TDesC& Data() const = 0;
-    
-    /**
-     * Phonebook's link, which points to the selected
-     * data.
-     */
-    virtual const TDesC8& FieldLink() const = 0;
-    
-    /**
-     * Number type
-     */
-    virtual MPhCntMatch::TNumberType NumberType() const = 0;
-   
-    };
-
-/**
- * Observer for contact selection.
- *
- * @lib PhoneCntFinder.lib
- * @since S60  v3.2
- */
-class MPhCntSelectionObserver 
-    {
-public:
-    
-    /**
-     * Callback to indicate that selection is done. 
-     *
-     * @param aContactData Selected data. May be NULL if error occured. Ownership is not transferred.
-     * @param aErrorCode Possible system wide error code if error occured.
-     */
-    virtual void SelectionDone( CPhCntSelectedData* aContactData, TInt aErrorCode ) = 0;
-    };
-
-/**
- *  Interface for showing dialogs for selectiong contact data.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( CPhCntContactDataSelection ) : public CBase
-    {
-
-public:
-
-    /**
-	 * Phone number filtering
-	 * 
-	 * ECallPhoneNumber		- CS
-     * ECallVoip,          	- PS
-     * ECallVideoNumber,    - Video 
-	 */
-	enum TCallType
-        {
-        ECallPhoneNumber, 
-        ECallVoip, 
-        ECallVideoNumber 
-        };
-
-    /**
-     * Determines if request is active.
-     *
-     * @since S60 v3.2
-     * @return ETrue - Request is pending
-     *         EFalse - No requests active.
-     */
-    virtual TBool IsActive() const = 0;
-    
-    /**
-     * Cancels any outstanding request.
-     * 
-     * @post IsActive() == EFalse
-     *
-     * @since S60 v3.2
-     */
-    virtual void Cancel() = 0;
-
-    /**
-     * Shows a dialog for user to select a phonenumber from specified contact. 
-     * The contact is specified by the contact link. Observer is notified
-     * when the user has made the selection or canceled the dialog.
-     *
-     * @pre IsActive() == EFalse, leaves with error code KErrInUse.
-     * Otherwise may leave with system wide errorcode.
-     *
-     * @since S60 v3.2
-     * @param aContactLink Link to the contact, which number is to be selected.
-     * @param aCallType Type of number, which will be shown to be selected.
-     * @param aObserver Observer, which is notified when selection is done.
-     */
-     virtual void SelectPhoneNumberForCallL(
-        const TDesC8& aContactLink,
-        const TCallType& aCallType,
-        MPhCntSelectionObserver& aObserver ) = 0;
-
-    };
-
-#endif // CPHCNTCONTACTDATASELECTION_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactdataselectionimpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +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:  Service to show dialogs for user to select contact data.
-*
-*/
-
-
-#ifndef CPHCNTCONTACTDATASELECTIONIMPL_H
-#define CPHCNTCONTACTDATASELECTIONIMPL_H
-
-#include <e32base.h>
-
-#include "cphcntcontactdataselection.h"
-#include "tphcntcontactlinkresult.h"
-#include "mphcntaiwservice.h"
-#include "MPhCntContactFetchObserver.h"
-#include "MPhCntMatch.h"
-
-class MPhCntServiceRequestParamFactory;
-class MPhCntServiceRequestParam;
-class MPhCntContactStores;
-
-/**
- * User selected data from phonebook services.
- *
- * @lib PhoneCntFinder
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CPhCntSelectedDataImpl ) : public CPhCntSelectedData
-    {
-public:
-    
-    /**
-     * Static constructor.
-     *
-     * @param aContact Selected contact. Note that aContact needs to
-     * be valid as long NewL is executed. So CPhCntContact can be 
-     * deleted after call to this NewL
-     */
-    static CPhCntSelectedDataImpl* NewL( CPhCntContact& aContact );
-    
-    ~CPhCntSelectedDataImpl();
-    
-// from base class CPhCntSelectedData
-
-    const TDesC& Data() const;
-    
-    /**
-     * Phonebook's link, which points to the selected
-     * data.
-     */
-    const TDesC8& FieldLink() const;
-    
-    /**
-     * Number type
-     */
-    MPhCntMatch::TNumberType NumberType() const;
-   
-    
-private:
-    CPhCntSelectedDataImpl();
-    
-    void ConstructL( CPhCntContact& aContact );
-    
-private: // Data
-
-    /**
-     * Own.
-     */
-    HBufC8* iFieldLink;
-    
-    /**
-     * Own
-     */
-    HBufC* iSelectedData;
-    
-    /**
-     * Specifies number type for selection
-     */
-    MPhCntMatch::TNumberType iNumberType;
-    
-    };
-
-/**
- *  Implements the CPhCntContactDataSelection interface
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( CPhCntContactDataSelectionImpl ) : 
-    public CPhCntContactDataSelection,
-    private MPhCntAiwServiceObserver,
-    private MPhCntContactFetchObserver
-    {
-
-public:
-
-    static CPhCntContactDataSelectionImpl* NewL(
-        MPhCntAiwService* aService,
-        MPhCntServiceRequestParamFactory* aParamFactory,
-        MPhCntContactStores* iContactStores );
-    
-    virtual ~CPhCntContactDataSelectionImpl();
-
-// from base class CPhCntContactDataSelection
-
-    /**
-     * From CPhCntContactDataSelection
-     *
-     * @see CPhCntContactDataSelection
-     * @since S60 v3.2
-     */
-    TBool IsActive() const;
-    
-    /**
-     * From CPhCntContactDataSelection
-     * ?description
-     *
-     * @see CPhCntContactDataSelection
-     * @since S60 v3.2
-     */
-    void Cancel();
-
-    /**
-     * From CPhCntContactDataSelection
-     *
-     * @see CPhCntContactDataSelection
-     * @since S60 v3.2
-     */
-    void SelectPhoneNumberForCallL(
-        const TDesC8& aContactLink,
-        const TCallType& aCallType,
-        MPhCntSelectionObserver& aObserver );
-        
-private:
-
-// from base class MPhCntAiwServiceObserver
-
-    /**
-     * From MPhCntAiwServiceObserver
-     * Indication that service has completed.
-     *
-     * @since S60 v3.2
-     * @param aError Error code
-     */ 
-    void RequestComplete( TInt aError );
-    
-// from base class MPhCntContactFetchObserver
-
-    /**
-     * From MPhCntContactFetchObserver
-     * Indication that contact is fetched.
-     *
-     * @since S60 v3.2
-     * @param aError Error code
-     */ 
-    void ContactReceived( CPhCntContact* aContact, TInt aError );
-   
-private:
-
-    CPhCntContactDataSelectionImpl( 
-        MPhCntAiwService* aService,
-        MPhCntServiceRequestParamFactory* aParamFactory,
-        MPhCntContactStores* aContactStores );
-
-    void ConstructL();
-
-private: // data
-
-        /**
-         * Service interface for accessing phonebook services.
-         * Own.
-         */
-        MPhCntAiwService* iService;
-        
-        /** 
-         * Factory to create service request parameters.
-         * Own.
-         */
-        MPhCntServiceRequestParamFactory* iParamFactory;
-        
-        /**
-         * Parameters used with service.
-         * Own.
-         */
-        MPhCntServiceRequestParam* iServiceParameter;
-        
-        /** 
-         * Result from service.
-         * Own.
-         */
-        TPhCntContactLinkResult iServiceResult;
-        
-        /**
-         * Field link from service.
-         * Own.
-         */
-        HBufC8* iFieldLink;
-        
-        
-        /** 
-         * Observer for the request.
-         * Not own.
-         */
-        MPhCntSelectionObserver* iObserver;
-        
-        /**
-         * Store to fetch contact.
-         * Own.
-         */
-        MPhCntContactStores* iContactStores;
-
-    };
-
-#endif // CPHCNTCONTACTDATASELECTIONIMPL_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactfieldsresolver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,310 +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:  Resolves contact fields.
-*
-*/
-
-
-
-#ifndef CPHCNTCONTACTFIELDSRESOLVER_H
-#define CPHCNTCONTACTFIELDSRESOLVER_H
-
-#include <e32base.h>
-
-#include "tphcntcontactfield.h"
-#include "MPhCntMatch.h"
-#include "mphcntcontactfields.h"
-
-class MVPbkContactLink;
-class MVPbkStoreContact;
-class MPbk2ContactNameFormatter;
-class MVPbkStoreContactField;
-class MPhCntContactManager;
-
-/**
- *  Resolves contact's fields.
- *
- *  @lib PhoneCntFinder
- *  @since S60 ?S60_version *** for example, S60 v3.0
- */
-NONSHARABLE_CLASS( CPhCntContactFieldsResolver ) : 
-    public CBase, public MPhCntContactFields
-    {
-public:
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     * @param aContactLink Link pointing to the contact, which fields are resolved.
-     * @param aContact Contact which fields are resolved.
-     * @param aNameFormatter Contact title formatter.
-     * @return New instance
-     */
-    static CPhCntContactFieldsResolver* NewL(
-        MVPbkContactLink* aContactLink,
-        MVPbkStoreContact* aContact,
-        MPhCntContactManager& aContactManager );
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     * @param aContactLink Link pointing to the contact, which fields are resolved.
-     * @param aContact Contact which fields are resolved.
-     * @param aNameFormatter Contact title formatter.
-     * @return New instance
-     */
-    static CPhCntContactFieldsResolver* NewLC(
-        MVPbkContactLink* aContactLink,
-        MVPbkStoreContact* aContact,
-        MPhCntContactManager& aContactManager );
-    
-    /**
-     * Destructor.
-     */    
-    virtual ~CPhCntContactFieldsResolver();
-
-// from base class MPhCntContactFields
-    
-    /**
-     * From base class MPhCntContactFields
-     * Get the number type.
-     * @since S60 v3.1
-     * @return Phonebook number type.
-     */
-    MPhCntMatch::TNumberType NumberType() const;
-    
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Contact link, ownership is not given.
-     */
-    MVPbkContactLink* ContactLink() const;
-    
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return First name. Empty if there isn't one specified.
-     */
-    TPtrC FirstName() const;
-
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Last name. Empty if there isn't one specified.
-     */
-    TPtrC LastName() const;
-
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Company name. Empty if there isn't one specified.
-     */
-    TPtrC CompanyName() const;
-
-    /**    
-     * From base class MPhCntContactFields
-     * Returns the matched number.
-     * @since S60 v3.1
-     * @return Phone number. Empty if there isn't one specified.
-     */
-    TPtrC Number() const;
-    
-    /**
-     * From base class MPhCntContactFields
-     * 
-     * @since S60 v3.2
-     * @see MPhCntContactFields
-     */
-    TPtrC Dtmf() const;
-
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Ringing tone. Empty if there isn't one specified.
-     */
-    TPtrC PersonalRingingTone() const;
-    
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Second name. Empty if there isn't one specified.
-     */
-    TPtrC SecondName() const;
-    
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return First name's pronunction. May be zero length.
-     */
-    TPtrC FirstNamePronunciation() const;
-     
-    /**
-     * From base class MPhCntContactFields
-     * Last name pronunciation.
-     * 
-     * @since S60 v3.1
-     * @return Last name's pronunction. May be zero length.
-     */
-    TPtrC LastNamePronunciation() const;
-    
-    /**
-     * From base class MPhCntContactFields
-     * Company name pronunciation.
-     * 
-     * @since S60 v3.1
-     * @return Company name's pronunction. May be zero length.
-     */
-    TPtrC CompanyNamePronunciation() const;
-    
-    /**
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Contact title. Ownership given.
-     */
-    HBufC* GetContactTitleL();
-    
-     /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Array of contact links to groups, where this contact belongs
-     */
-    MVPbkContactLinkArray* ContactGroupsLC() const;
-    
-     /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Contact store, where this contacts information is stored.
-     */
-    MVPbkStoreContact& StoreContact() const;
-    
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Thumbnail field. Null if no thumbnail field defined.
-     */
-    const MVPbkFieldType* ThumbnailField() const;
-    
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Call image. Empty if there isn't one specified.
-     */
-    TPtrC CallImage() const;
-    
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return Call text. Empty if there isn't one specified.
-     */
-    TPtrC CallText() const;
-
-    /**    
-     * From base class MPhCntContactFields
-     * @since S60 v3.1
-     * @return ETrue if contact has thumbnail field.
-     */
-    TBool HasThumbnail() const;
-    
-    /**
-     * From base class MPhCntContactFields
-     *
-     * @since S60 v3.2.
-     * @return Array of phone numbers.
-     */     
-    const RArray<TPhCntNumber>& AllNumbers() const;
-    
-    /**
-     * From base class MPhCntContactFields
-     *
-     * @since S60 v3.2.
-     * @return Array of predefined DTMF strings.
-     */        
-    CDesCArray* AllDtmfNumbers() const;     
-
-private:
-
-    CPhCntContactFieldsResolver(
-        MVPbkContactLink* aContactLink,
-        MVPbkStoreContact* aContact,
-        MPhCntContactManager& aContactManager );
-
-    void ConstructL();
-    
-    void ResolveFieldL( 
-        MVPbkStoreContactField& aContactField,
-        TBool aFieldPointedByContactLink );
-    
-    void ResolveFieldDataL( 
-        MVPbkStoreContactField& aContactField, 
-        const TPtrC aFieldTextData,
-        TBool aFieldPointedByContactLink );
-
-private: // data
-
-    
-    /**
-     * Resolvers for single fields
-     */
-    TPhCntPhoneNumber iPhoneNumberResolver;
-    TPhCntContactField iFirstNameResolver;
-    TPhCntContactField iLastNameResolver;
-    TPhCntContactField iCompanyNameResolver;
-    TPhCntContactField iSecondNameResolver;
-    TPhCntContactField iRingingToneResolver;
-    TPhCntContactField iFirstNamePronunciationResolver;
-    TPhCntContactField iLastNamePronunciationResolver;
-    TPhCntContactField iCompanyNamePronunciationResolver;
-    TPhCntContactField iCallImageResolver;
-    TPhCntContactField iCallTextResolver;
-    TPhCntContactField iDtmfResolver;
-        
-    /**
-     * Link to the contact.
-     * Own.
-     */
-    MVPbkContactLink* iContactLink;
-    
-    /**
-     * Contact
-     * Own.
-     */
-    MVPbkStoreContact* iContact;
-    
-    /**
-     * Handle to virtual phonebook.
-     * Not Own.
-     */
-    MPhCntContactManager& iContactManager;
-
-    /**
-     * Contact title formatter.
-     * Not own.
-     */
-    MPbk2ContactNameFormatter& iNameFormatter;
-    
-    /**
-     * Thumbnails field, if any
-     * Not own.
-     */
-    const MVPbkFieldType* iThumbnailField;
-
-    /**
-    * All DTMF numbers in array. Owned.
-    */
-    CDesCArray* iAllDtmfNumbers;
-    };
-
-#endif // CPHCNTCONTACTFIELDSRESOLVER_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactlinkarrayfetch.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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:  Base class for contact link fetchers.
-*
-*/
-
-
-#ifndef CPHCNTCONTACTLINKARRAYFETCH_H
-#define CPHCNTCONTACTLINKARRAYFETCH_H
-
-#include <MVPbkContactFindObserver.h>
-
-#include "cphcntasynctosync.h"
-
-class MVPbkContactLinkArray;
-
-/**
- *  Base class for contact link fetchers.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntContactLinkArrayFetch ) :  
-    public CPhCntAsyncToSync,
-    public MVPbkContactFindObserver
-    {
-
-public: 
-    
-// from base class MVPbkContactFindObserver
-
-    /**
-     * From base class MVPbkContactFindObserver
-     * Called when find is complete. Callee takes ownership of the results.
-     * In case of an error during find, the aResults may contain only 
-     * partial results of the find.
-     *
-     * @since S60 v3.1
-     * @param aResults Array of contact links that matched the find.
-     *                 Callee must take ownership of this object in
-     *                 the end of the function, ie. in case the function
-     *                 does not leave.
-     */
-    void FindCompleteL( MVPbkContactLinkArray* aResults );
-
-    /**
-     * From base class MVPbkContactFindObserver
-     *
-     * @since S60 v3.1
-     * Called in case the find fails for some reason.
-     * 
-     * @param aError One of the system wide error codes.
-     */
-    void FindFailed( TInt aError );
-    
-protected:
-
-    virtual ~CPhCntContactLinkArrayFetch();
-    
-    void BaseConstructL();
-
-    CPhCntContactLinkArrayFetch();
-
-protected: // data
-
-    /**
-     * Fetched contact links
-     * Own, but derived class can destroy this if after deletion
-     * iFetchedContactLinks pointer is set to NULL.
-     */
-    MVPbkContactLinkArray* iFetchedContactLinks;
-
-    };
-
-#endif // CPHCNTCONTACTLINKARRAYFETCH_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactmatchstrategy.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +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:  Contact matching strategy
-*
-*/
-
-
-#ifndef CPHCNTCONTACTMATCHSTRATEGY_H
-#define CPHCNTCONTACTMATCHSTRATEGY_H
-
-#include <e32base.h>
-#include <cenrepnotifyhandler.h>
-#include <CVPbkPhoneNumberMatchStrategy.h>
-
-#include "mphcntcontactmatchstrategy.h"
-#include "mphcntcontactstoreeventobserver.h"
-
-class CVPbkContactManager;
-class MVPbkContactFindObserver;
-class CVPbkPhoneNumberMatchStrategy;
-class CRepository;
-class CVPbkContactStoreUriArray;
-class CPhCntContactStoreUris;
-class CCntRawPhoneNumberExtractor;
-
-/**
- *  Strategy for matcing CS contacts.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntContactMatchStrategy ) :
-    public CBase,
-    public MPhCntContactMatchStrategy,
-    private MCenRepNotifyHandlerCallback,
-    private MPhCntContactStoreEventObserver
-    {
-public:
-
-    /**
-     * Static contstructor.
-     *
-     * @since S60 v3.1
-     * @param aContactManager Contact manager.
-     * @param aUriArray Array of contact store URI's used.
-     * @param aObserver Observer for finding contacts.
-     */
-    static CPhCntContactMatchStrategy* NewL(
-        CVPbkContactManager& aContactManager,
-        CPhCntContactStoreUris& aContactStoreUris,
-        MVPbkContactFindObserver& aObserver,
-        CVPbkPhoneNumberMatchStrategy::TVPbkPhoneNumberMatchFlags aMatchFlag );
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    virtual ~CPhCntContactMatchStrategy();
-
-// from base class MPhCntContactMatchStrategy
-
-    /**
-     * From MPhCntContactMatchStrategy
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactMatchStrategy
-     */
-    void FindMatchesL( const TDesC& aPhoneNumber );
-
-private:
-
-    /**
-     * Creates contact match strategy with given numbers
-     * of digits.
-     *
-     * @since S60 v3.1
-     * @return Error code.
-     */
-    TInt CreateContactMatchStrategy();
-
-// From base class MCenRepNotifyHandlerCallback
-
-    /**
-     * From base class MCenRepNotifyHandlerCallback
-     * This callback method is used to notify the client about
-     * changes for string value keys, i.e. key type is EStringKey.
-     *
-     * @param aId Id of the key that has changed.
-     * @param aNewValue The new value of the key.
-     */
-    void HandleNotifyString( TUint32 aId, const TDesC16& aNewValue );
-
-
-// From base class MPhCntContactStoreEventObserver
-
-    /**
-     * From MPhCntContactStoreEventObserver
-     *
-     * @since S60 v3.2
-     * @see MPhCntContactStoreEventObserver.
-     */
-    void ContactStoreAvailabilityChanged();
-
-    /**
-     * Removes postfix from aNumber and starts the matching.
-     */
-    void MatchL( const TDesC& aNumber );
-
-    /**
-     * Method to ease unit testing. Creates the actual instance of iMatchStrategy.
-     */
-    virtual TInt DoCreateMatchStrategy();
-    
-    /**
-     * Makes the actual matching request using number
-     * Declared virtual to ease unit testing.
-     */
-    virtual void DoMatchL( const TDesC& aNumber );
-
-protected:
-
-    CPhCntContactMatchStrategy(
-        CVPbkContactManager& aContactManager,
-        CPhCntContactStoreUris& aContactStoreUris,
-        MVPbkContactFindObserver& aObserver,
-        CVPbkPhoneNumberMatchStrategy::TVPbkPhoneNumberMatchFlags aMatchFlag );
-
-    void ConstructL();
-
-protected: // data
-    CVPbkPhoneNumberMatchStrategy::TVPbkPhoneNumberMatchFlags iMatchFlag;
-	
-private: // data
-
-    /**
-     * Match strategy.
-     * Own.
-     */
-    CVPbkPhoneNumberMatchStrategy* iMatchStrategy;
-
-    /**
-     * Central repository instance, for getting
-     * number of numbers used with contact matching.
-     * Own.
-     */
-    CRepository* iCenRepSession;
-
-    /**
-     * For getting notifications of number of numbers
-     * used with contact matching changes.
-     * Own.
-     */
-    CCenRepNotifyHandler* iCenRepNotifyHandler;
-
-     /**
-      * Contact manager is needed with match strategy.
-      * Not own.
-      */
-    CVPbkContactManager& iContactManager;
-
-    /**
-     * Gives active contact store uris.
-     * Not own.
-     */
-    CPhCntContactStoreUris& iContactStoreUris;
-
-     /**
-     * Observer of matching.
-     * Now own.
-     */
-    MVPbkContactFindObserver& iObserver;
-
-     /**
-      * URI's of the active contact stores, where contacts are
-      * looked from.
-      * Own.
-      */
-    CVPbkContactStoreUriArray* iUriArray;
-
-    /**
-     * Number of digits used with matching.
-     */
-    TInt iNumberOfDigits;
-
-    /**
-     * Number extractor.
-     * Own.
-     */
-    CCntRawPhoneNumberExtractor* iNumberExtractor;
-
-    };
-
-
-#endif // CPHCNTCONTACTMATCHSTRATEGY_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntcontactstoreuris.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +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:  Contact store Uris
-*
-*/
-
-
-#ifndef CPHCNTCONTACTSTOREURIS_H
-#define CPHCNTCONTACTSTOREURIS_H
-
-#include <e32base.h>
-
-#include "tphcntcontactstorestate.h"
-
-class CVPbkContactStoreUriArray;
-class TVPbkContactStoreUriPtr;
-class MPhCntContactStoreEventObserver;
-
-/**
- *  Updates list of active contact store uris.
- *
- *  @lib PhoneCntFiner.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( CPhCntContactStoreUris ): public CBase
-    {
-
-public:
-
-    static CPhCntContactStoreUris* NewL();
-
-    virtual ~CPhCntContactStoreUris();
-
-    /**
-     * Gives reference to all contact store uris that
-     * are used with contact matching.
-     *
-     * @since S60 v3.2
-     * @return Uris of contact stores.
-     */
-    CVPbkContactStoreUriArray& ContactStores() const;
-    
-    /**
-     * Gives URIs to currently active contact stores. The Uris
-     * are in priority order ie the first uri is a uri to a contact store, 
-     * where contact matching should be tried first
-     *
-     * @since S60 v3.2
-     * @return Uris of contact stores currently active, ownership is given to client.
-     */
-    CVPbkContactStoreUriArray* ActiveContactStoresL() const;
-    
-    /**
-     * Indication that contact store is ready to be used.
-     *
-     * @since S60 v3.2
-     * @aContactStoreUri URI of the contact store.
-     */
-    void StoreReady( TVPbkContactStoreUriPtr& aContactStoreUri );
-    
-    /**
-     * Indication that contact store has become unavailable.
-     *
-     * @since S60 v3.2
-     * @aContactStoreUri URI of the contact store.
-     */
-    void StoreUnavailable( TVPbkContactStoreUriPtr& aContactStoreUri );
-    
-    /**
-     * Sets observer for contact store events.
-     *
-     * @since S60 v3.2
-     * @param aObserver Observer of the events.
-     */
-    void SetObserver( MPhCntContactStoreEventObserver& aObserver );
-    
-    /**
-     * Returns array of additional contact stores.
-     *
-     * @since S60 v3.2
-     * @return Reference to Uris of additional contact stores
-     */
-    const CVPbkContactStoreUriArray& AdditionalContactStores() const;
-
-    /**
-     * Adds contact store to the base set of stores.
-     *
-     * @since   S60 v9.1
-     * @param   aContactStoreUri    Contact store to add.
-     */
-    void AddContactStoreL( 
-        const TVPbkContactStoreUriPtr& aContactStoreUri );
-    
-    /**
-     * Removes contact store from the base set of stores.
-     *
-     * @since   S60 v9.1
-     * @param   aContactStoreUri    Contact store to remove.
-     */
-    void RemoveContactStore( 
-        const TVPbkContactStoreUriPtr& aContactStoreUri );
-
-private:
-
-    CPhCntContactStoreUris();
-
-    void ConstructL();
-    
-    void SetContactStoreAvailability( 
-        TVPbkContactStoreUriPtr& aStoreUri, 
-        TBool aIsAvailable );
-        
-    /**
-     * Reads additional contact store URIs from CenRep.
-     *
-     * @since S60 v3.2
-     * @param aProductSpecificList Product specific list of additional stores
-     */
-    void ReadAdditionalContactStoreL( TDes* aProductSpecificList );
-    
-    /**
-     * Parses the additional contact store names from the string
-     * fetched from CenRep.
-     *
-     * @since S60 v3.2
-     * @param aProductSpecificList  Reference to product specific 
-     *                              list of additional stores
-     */
-    void ParseStoresL( const TDesC& aProductSpecificList );
-
-    /**
-     * Implements TIdentityRelation for class TPhCntContactStoreState.
-     *
-     * @since S60 v9.1
-     * @param aState1   First state object to compare.
-     * @param aState2   Second state object to compare.
-     * @return ETrue if objects are same.
-     */
-    static TBool MatchUris( 
-        const TPhCntContactStoreState& aState1,
-        const TPhCntContactStoreState& aState2 );
-        
-private: // data
-
-    /**
-     * Contact store uris used with contact matching.
-     * own.
-     */
-    CVPbkContactStoreUriArray* iContactStoreUriArray;
-    
-    /**
-     * Contact store uris used with contact matching.
-     * own.
-     */
-    CVPbkContactStoreUriArray* iAdditionalContactStoreUriArray;
-
-    
-    /**
-     * Contact stores states in priority order.
-     * Own.
-     */
-    RArray<TPhCntContactStoreState> iContactStoreStates;
-    
-    /**
-     * Observer for contact store events.
-     * Not own.
-     */
-    MPhCntContactStoreEventObserver* iObserver;
-    
-    };
-
-
-#endif // CPHCNTCONTACTSTOREURIS_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntfetchcontact.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Definition of CPhCntFetchContact class.
-*
-*/
-
-
-#ifndef CPHCNTFETCHCONTACT_H
-#define CPHCNTFETCHCONTACT_H
-
-#include <e32base.h>
-
-#include "cphcntasynctosync.h"
-#include "MPhCntContactFetchObserver.h"
-
-class MPhCntContactStores;
-class MVPbkContactLink;
-class MVPbkStoreContact;
-
-/**
- *  ?one_line_short_description
- *
- *  ?more_complete_description
- *
- *  @lib ?library
- *  @since S60 ?S60_version *** for example, S60 v3.0
- */
-NONSHARABLE_CLASS( CPhCntFetchContact ) : 
-    public CPhCntAsyncToSync,
-    public MPhCntContactFetchObserver
-    {
-public:
-    static CPhCntFetchContact* NewL( MPhCntContactStores& aContactStores );
-
-    static CPhCntFetchContact* NewLC( MPhCntContactStores& aContactStores );
-
-    virtual ~CPhCntFetchContact();
-    
-    /**
-     * Fetches contact, which aContactLink identifies.
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */
-    TInt FetchContact( 
-        const MVPbkContactLink& aContactLink, 
-        CPhCntContact*& aContact );
-        
-     /**
-      * Fetches first contact from array of contact links.
-      *
-      * @since S60 v3.2
-      * @param aContactLinkArray Contact link array as descriptor.
-      * @param aContact Result of the fetch.
-      * @return Error code.
-      */
-     TInt FetchContact( 
-        const TDesC8& aContactLinkArray, 
-        CPhCntContact*& aContact );
-    
-// from base class CPhCntAsyncToSync
-
-    /**
-     * From CPhCntAsyncToSync
-     * ?description
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     */
-     void DoMakeAsyncRequestL();
-
-// from base class MPhCntContactFetchObserver
-
-    /**
-     * From MPhCntContactFetchObserver
-     * ?description
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     */
-     void ContactReceived( CPhCntContact* aContact, TInt aError );
-
-private:
-
-    CPhCntFetchContact( MPhCntContactStores& aContactStores );
-
-    void ConstructL();
-
-private: // data
-
-    /**
-     * Contact stores, where contact is fetched.
-     * Not own.
-     */
-    MPhCntContactStores& iContactStores;
-    
-    /**
-     * Received contact.
-     * Not own.
-     */
-    CPhCntContact* iReceivedContact;
-    
-    /**
-     * Link to the contact to be fetched.
-     * Not own.
-     */
-    const MVPbkContactLink* iContactLink;
-
-    };
-
-#endif // CPHCNTFETCHCONTACT_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntfoundcontacts.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +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:  Stores found contacts and keeps track of the references.
-*
-*/
-
-
-
-#ifndef CPHCNTFOUNDCONTACTS_H
-#define CPHCNTFOUNDCONTACTS_H
-
-#include <e32base.h>
-
-class CPhCntContact;
-
-/**
- * Responsible to hold found contacts. Takes the ownership of the contacts.
- * The contacts must be removed using MPhCntContact::Release when contact
- * no longer needed. 
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntFoundContacts ) : public CBase
-    {
-public:
-
-    static CPhCntFoundContacts* NewL();
-
-    static CPhCntFoundContacts* NewLC();
-
-    virtual ~CPhCntFoundContacts();
-
-    /**
-     * Adds contact. Takes the ownership.
-     *
-     * @since S60 v3.1
-     * @param aContact Contact
-     * @param aOriginalNumber Number used to match aContact.
-     */
-    void AddL( CPhCntContact* aContact, const TDesC& aOriginalNumber );
-    
-    /**
-    * Removes and deletes contact. Even if contact
-    * is not found, aContact is deleted.
-    * 
-    * @since S60 v3.1
-    * @param aContact Contact to be deleted.
-    */
-    void Remove( CPhCntContact* aContact );
-    
-    /**
-     * Finds a contact which has been stored here.
-     *
-     * @since S60 v3.1
-     * @param aTelNumber Number used for matching contact.
-     * @return Found contact or NULL if contact not found.
-     * Ownership is NOT given to client. CPhCntContact
-     * must be destroyed using Release method of CPhCntContact.
-     */
-    CPhCntContact* FindContact( const TDesC& aTelNumber );
-    
-    /**
-     * Finds a contact which has been stored here.
-     * 
-     * @since S60 v3.1
-     * @param aTelNumber Number used for matching contact.
-     * @param aContactLink ContactLink of the wanted contact.
-     * @return Found contact or NULL if contact not found.
-     * Ownership is NOT given to client. CPhCntContact
-     * can be destroyed using Release method of CPhCntContact.
-     */
-    CPhCntContact* FindContact( 
-        const TDesC& aTelNumber,
-        const MVPbkContactLink& aContactLink );
-        
-    /**
-     * Finds contact which has been stored here.
-     *
-     * @since s60 v3.1
-     * @param aContactLink Contact link of wanted contact.
-     * @return Found contact or NULL if contact not found.
-     * Ownership is NOT given to client. CPhCntContact
-     * can be destroyed using Release method of CPhCntContact. 
-     */
-    CPhCntContact* FindContact(const MVPbkContactLink& aContactLink );
-    
-private:
-
-    CPhCntFoundContacts();
-
-    void ConstructL();
-
-private: // data
-
-    /**
-     * Array of contacts already found.
-     * Own. 
-     */
-    RPointerArray<CPhCntContact> iFoundContacts;
-    };
-
-
-#endif // CPHCNTFOUNDCONTACTS_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntmatchcontact.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +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:  Matches contact to phonenumber from phonebook.
-*
-*/
-
-
-#ifndef CPHCNTMATCHCONTACT_H
-#define CPHCNTMATCHCONTACT_H
-
-#include <e32base.h>
-
-#include "cphcntcontactlinkarrayfetch.h"
-
-class MVPbkContactLinkArray;
-class MPhCntContactManager;
-class MPhCntContactMatchStrategy;
-
-
-/**
- *  Matches contacts to phone number.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntMatchContact ): public CPhCntContactLinkArrayFetch
-    {
-public:
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     */
-    static CPhCntMatchContact* NewL();
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     */
-    static CPhCntMatchContact* NewLC();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CPhCntMatchContact();
-
-    /**
-     * Finds contacts, which telephone number matches with aTelNumber.
-     * Note that aContactLinkArray ownership is not given. Client has
-     * to call MVPbkContactLink::CloneLC in order to take the ownership of the
-     * link in array. If error returned is KErrNone then there is at least
-     * one entry in aContactLinkArray.
-     *
-     * @since S60 v3.1
-     * @param aTelNumber Number, which is matched with contacts.
-     * @Param aContactLinkArray Array of found contacts.
-     *        Ownership of array nor links inside is NOT given to caller.
-     * @param aStrategy Matching strategy used for finding matches.
-     * @return Error code, KErrNotFound, if contact not found
-     *                     KErrAlreadyExists if many contacts found.
-     */
-    TInt MatchContact( const MVPbkContactLinkArray*& aContactLinkArray, 
-                        const TDesC& aTelNumber,
-                        MPhCntContactMatchStrategy& aStrategy );
-    
-protected:
-
-// from base class CPhCntAsyncToSync
-
-    /**
-     * From CPhCntAsyncToSync
-     * Makes the asynchronous request, which is converted to synchronous.
-     * @since S60 v3.1
-     */
-    void DoMakeAsyncRequestL();
-
-private:
-
-    CPhCntMatchContact();
-
-    void ConstructL();
-
-
-private: // data
-
-    /**
-     * Contact matching strategy
-     * Not own.
-     */
-    MPhCntContactMatchStrategy* iMatchStrategy;
-
-    /**
-     * Number to match contacts.
-     */
-    TPtrC iPhoneNumber;
-
-    };
-
-
-
-#endif // CPHCNTMATCHCONTACT_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntmatchervoipimpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:  Implements VoIP specific matching methods.
-*
-*/
-
-
-#ifndef CPHCNTMATCHERVOIPIMPL_H
-#define CPHCNTMATCHERVOIPIMPL_H
-
-#include "CPhCntMatcherImpl.h"
-
-class CPhCntVoipContactMatchStrategy;
-class CPhCntStoreLoaderImpl;
-
-/**
- *  Implements VoIP specific matching methods.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( CPhCntMatcherVoIPImpl ) : public CPhCntMatcherImpl
-    {
-public:
-    static CPhCntMatcherVoIPImpl* NewL( const MPhoneCntPbkOwner& aOwner );
-
-    virtual ~CPhCntMatcherVoIPImpl();
-    
-// From base class CPhCntMatcher
-
-    /**
-     * From CPhCntMatcher
-     * Match number to phonebook.
-     * @since S60 v3.2
-     * @param aMatch Found match, owership tranferred. NULL if not found any.
-     * @param aNumber Number to match against.
-     * @param aAllowUserNameMatch If true user name match is allowed.
-     * @param aCharsForMatching Characters for user name match. Match is started from
-     *                          the rigth of the user name part. (see CS call match)
-     * @return Error code: KErrNone - one match found
-     *                     KErrNotFound - no matches found
-     *                     other - normal Symbian OS error
-     */    
-    TInt MatchVoipNumber(
-        MPhCntMatch*& aMatch,
-        const TDesC& aNumber,
-        TBool aAllowUserNameMatch,
-        MDesCArray* aContactStoreUris,
-        TInt aCharsForMatching = 0 );
-        
-    /**
-     * From CPhCntMatcher
-     * From CPhCntMatcher, gets VoIP call contact info from phonebook
-     * by contact id.
-     * @since Series60 3.2
-     * @param aMatch for found match, owership tranferred. Empty if not found.
-     * @param aContactId for current contact.
-     * @return Error code: KErrNone - VoIP call contact found
-     *                     KErrNotFound - no VoIP call contact found
-     *                     other - normal Symbian OS error
-     */
-    TInt MatchVoipNumber(
-        MPhCntMatch*& aMatch,
-        const CPhCntContactId& aContactId );
-
-    
-    /**
-     * From CPhCntMatcher
-     * From CPhCntMatcher
-     * Determines if contact has other type of numbers than
-     * voip numbers.
-     * 
-     * @since S60 v3.2.
-     * @param aContactId Id of the contact.
-     * @return ETrue - CS numbers found from contact.
-     *         EFalse - No CS numbers found from contact.
-     */
-    TBool HasCSNumbers( 
-        const CPhCntContactId& aContactId );
-
-private:
-    
-    CPhCntMatcherVoIPImpl( const MPhoneCntPbkOwner& aOwner );
-    
-    void ConstructL();
-    
-    /**
-     * Determines if contact has other numbers than VoIP numbers.
-     * 
-     * @since S60 v3.2
-     */
-    TBool HasCSNumbers( 
-        const CPhCntContact* const aContact );
-
-    /**
-     * From CPhCntMatcher. Used for delayed construction.
-     * 
-     * @since S60 v3.2
-     */
-    TInt CreateMatcher();
-
-private: // data
-
-      
-    /**
-     * Match strategy used for Voip calls.
-     * Own.
-     */
-    CPhCntVoipContactMatchStrategy* iVoipMatchStrategy;
-
-    /**
-     * Used for loading service specific contact stores 
-    */
-    CPhCntStoreLoaderImpl* iContactStoreLoader;
-    
-    };
-
-#endif // CPHCNTMATCHERVOIPIMPL_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntphonebookservices.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +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:  Phonebook services wrapper.
-*
-*/
-
-
-#ifndef CPHCNTPHONEBOOKSERVICES_H
-#define CPHCNTPHONEBOOKSERVICES_H
-
-#include <e32base.h>
-
-#include "MPhCntPhonebookServices.h"
-
-class MPhCntService;
-class MPhCntContactStores;
-class CPhCntFetchContact;
-class CPhCntContactId;
-class MPhCntContactManager;
-class MPhCntServiceRequestParam;
-class CPhCntContact;
-class MVPbkContactLinkArray;
-class CPhCntServiceRequestParamFactory;
-
-/**
- *  Phonebook services.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( CPhCntPhonebookServices )
-    : public CBase, 
-    public MPhCntPhonebookServices
-    {
-public:
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.2
-     * @param aContactStores Reference of contact stores.
-     * @param aContactManager Reference to contact manager.
-     */
-    static CPhCntPhonebookServices* NewL( 
-        MPhCntContactStores& aContactStores,
-        MPhCntContactManager& aContactManager );
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */     
-    virtual ~CPhCntPhonebookServices();
-
-// From base class MPhCntPhonebookServices
-
-    /**
-     * From MPhCntPhonebookServices
-     *
-     * @since S60 v3.2
-     * @see MPhCntPhonebookServices
-     */
-    void GetUserSelectedPhoneNumberL( 
-        CPhCntContactId*& aContactId, 
-        HBufC*& aPhoneNumber );
-
-    /**
-     * From MPhCntPhonebookServices
-     *
-     * @since S60 v3.2
-     * @see MPhCntPhonebookServices
-     */
-    void GetUserSelectedVoIPAddressL( 
-        CPhCntContactId*& aContactId, 
-        HBufC*& aVoIPAddress );
-    
-    /**
-     * From MPhCntPhonebookServices
-     *
-     * @since S60 v3.2
-     * @see MPhCntPhonebookServices
-     */    
-    void GetUserSelectedDtmfNumberL(
-        CPhCntContactId*& aContactId,
-        HBufC*& aDtmfNumber );
-        
-    /**
-     * From MPhCntPhonebookServices
-     *
-     * @since S60 v3.2
-     * @see MPhCntPhonebookServices
-     */
-    void CreateNewContactL( const TDesC& aPhoneNumber );
-    
-    /**
-     * From MPhCntPhonebookServices
-     *
-     * @since S60 v3.2
-     * @see MPhCntPhonebookServices
-     */
-    void UpdateExistingContactL( const TDesC& aPhoneNumber );
-    
-    /**
-     * From MPhCntPhonebookServices
-     *
-     * @since S60 v3.2
-     * @see MPhCntPhonebookServices
-     */
-    void CPhCntPhonebookServices::GetPhoneNumberL(
-	    const TDesC8& aContactLink,
-	    const CPhCntSingleItemFetch::TCallType aCallType,
-    	HBufC*& aNumber,
-    	HBufC8*& aFieldLink );    
-    	
-    /**
-     * From MPhCntPhonebookServices
-     *
-     * @since S60 v3.2
-     * @see MPhCntPhonebookServices
-     */   
-    CPhCntContact* GetUserSelectedContactLC( 
-        MPhCntServiceRequestParam& aParam );
-    
-    /**
-     * From MPhCntPhonebookServices
-     *
-     * @since S60 v3.2
-     * @see MPhCntPhonebookServices
-     */     
-    void CancelRequest();
-
-protected:
-
-    CPhCntPhonebookServices( MPhCntContactManager& aContactManager );
-
-    void ConstructL( 
-        MPhCntContactStores& aContactStores );
-    
-private:
-
-    /**
-     * Gets link to a contact, that user selects.
-     * 
-     * @since S60 v3.2
-     * @param aParam Service request parameters.
-     * @return Array of contact links.
-     */
-    HBufC8* GetContactLinksLC(
-        MPhCntServiceRequestParam& aParam );
-    
-       
-    /**
-     * Sets result to client.
-     *
-     * @since S60 v3.2
-     * @param aReceivedNumber Received number.
-     * @param aReceivedContactId Received contact id.
-     * @param aClientResultNumber Number given to client.
-     * @param aClientResultContactId Id given to client.
-     */
-    void SetResultsL( 
-        const TDesC& aReceivedNumber, 
-        const CPhCntContactId* const aReceivedContactId,
-        HBufC*& aClinetResultNumber,
-        CPhCntContactId*& aClientResultContactId ) const;
-     
-    /**
-     * Gets user selected number from phonebook.
-     *
-     * @param aContactId Contact id of the contact where the number is got.
-     * @param aNumber Number user selected.
-     * @param aDTMFWanted ETrue - User is selecting DTMF or phone number.
-     *                    EFalse - User is selecting phone number.
-     */
-    void GetUserSelectedNumberL(
-        CPhCntContactId*& aContactId,
-        HBufC*& aNumber, TBool aDTMFWanted );
-     
-    /**
-     * Creates CPhCntService if needed.
-     * 
-     * @since S60 v3.2
-     */
-    void CreateCntServiceL();
-
-    /**
-     * Gets user selected voip address from phonebook.
-     *
-     * @param aContactId Contact id of the contact where the number is got.
-     * @param aVoIPAddress Address user selected.
-     */
-    void GetUserSelectedAddressL(
-        CPhCntContactId*& aContactId,
-        HBufC*& aVoIPAddress );
-
-protected: // data
-
-    /**
-     * AIW service wrapper.
-     * Own.
-     */
-    MPhCntService* iService;
-    
-    /**
-     * For fetching contact from phonebook.
-     * Own.
-     */
-    CPhCntFetchContact* iFetchContact;
-    
-    /**
-     * Contact manager.
-     * Not own.
-     */
-    MPhCntContactManager& iContactManager;
-    
-    /**
-     * Factory to create params.
-     * Own.
-     */
-    CPhCntServiceRequestParamFactory* iParamFactory;
-    
-    };
-
-#endif // CPHCNTPHONEBOOKSERVICES_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialcontactlinkfetch.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Definition of CPhCntSpeedDialContactLinkFetch class.
-*
-*/
-
-
-#ifndef CPHCNTSPEEDDIALCONTACTFETCH_H
-#define CPHCNTSPEEDDIALCONTACTFETCH_H
-
-#include "cphcntcontactlinkarrayfetch.h"
-
-class MPhCntContactManager;
-class MVPbkContactLink;
-class MVPbkContactOperationBase;
-
-/**
- *  ?one_line_short_description
- *
- *  ?more_complete_description
- *
- *  @lib ?library
- *  @since S60 ?S60_version *** for example, S60 v3.0
- */
-NONSHARABLE_CLASS( CPhCntSpeedDialContactLinkFetch ) : public CPhCntContactLinkArrayFetch
-    {
-
-public:
-
-    static CPhCntSpeedDialContactLinkFetch* NewL( 
-        MPhCntContactManager& aContactManager );
-
-    static CPhCntSpeedDialContactLinkFetch* NewLC(
-        MPhCntContactManager& aContactManager );
-
-    virtual ~CPhCntSpeedDialContactLinkFetch();
-    
-    /**
-     * Fetches contact link which is assigned to speed dial position.
-     *
-     * @since S60 v3.1
-     * @param aSpeedDialPosition Speed dial position.
-     * @return Contact link to speed dial contact.
-     */
-    const MVPbkContactLink& FetchSpeedDialLinkL( 
-        TInt aSpeedDialPosition );
-
-    /**
-     * From CPhCntAsyncToSync
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     * @return ?description
-     */
-    void DoMakeAsyncRequestL();
-    
-
-// from base class ?base_class1
-
-    /**
-     * From ?base_class1.
-     * ?description
-     *
-     * @since S60 ?S60_version
-     * @param ?arg1 ?description
-     */
-
-// from base class ?base_class2
-
-private:
-
-    CPhCntSpeedDialContactLinkFetch( 
-        MPhCntContactManager& aContactManager );
-
-    void ConstructL();
-    
-
-private: // data
-
-    /**
-     * Contact manager.
-     * Not own.
-     */
-    MPhCntContactManager& iContactManager;
-     
-    /**
-     * Operation of contact link fetch.
-     * Own.
-     */
-    MVPbkContactOperationBase* iOperation;
-    
-    /**
-     * Parameter stored from FetchSpeedDialLinkL
-     */
-    TInt iSpeedDialPosition;
-
-    };
-    
-#endif // CPHCNTSPEEDDIALCONTACTFETCH_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntspeeddialimpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Definition of CPhCntSpeedDialImpl class.
-*
-*/
-
-
-#ifndef CPHCNTSPEEDDIALIMPL_H
-#define CPHCNTSPEEDDIALIMPL_H
-
-#include    <e32base.h>
-#include    "CPhCntSpeedDialMonitor.h"
-
-class CSpdiaDialogs;
-class MPhCntContactManager;
-class CPhCntSpeedDialContactLinkFetch;
-class CPhCntFetchContact;
-class CPhCntContactStores;
-class CPhCntContact;
-class CPhCntSpeedDialMonitor;
-class MPhoneCntPbkOwner;
-class CEikStatusPane;
-
-/**
- *  ?one_line_short_description
- *
- *  ?more_complete_description
- *
- *  @lib ?library
- *  @since S60 ?S60_version *** for example, S60 v3.0
- */
-NONSHARABLE_CLASS( CPhCntSpeedDialImpl ) 
-    : public CPhCntSpeedDialMonitor
-    {
-    public:
-        
-        static CPhCntSpeedDialImpl* NewL( MPhoneCntPbkOwner& aPbkOwner );
-
-        static CPhCntSpeedDialImpl* NewLC( MPhoneCntPbkOwner& aPbkOwner );
-
-        virtual ~CPhCntSpeedDialImpl();
-    
-    public: // from base class CPhCntSpeedDialMonitor
-
-         /**
-         * From base class CPhCntSpeedDialMonitor
-         * @since S60 v3.2
-         * @see CPhCntSpeedDialMonitor
-         */
-        void GetSpeedDialFieldInfoL( TInt aSpeedDialPosition,
-            TSpdDialFieldInfo& aFieldInfo ); 
-         
-        /**
-         * From base class CPhCntSpeedDialMonitor
-         * @since S60 v3.2
-         * @see CPhCntSpeedDialMonitor
-         */
-        TInt GetSpeedDialFieldL( 
-            TInt aSpeedDialPosition, 
-            TDes& aPhoneNumber );
-
-        /**
-         * From base class CPhCntSpeedDialMonitor
-         * @since S60 v3.2
-         * @see CPhCntSpeedDialMonitor
-         */
-        TInt GetSpeedDialFieldL(
-            TInt aSpeedDialPosition, 
-            TDes& aPhoneNumber,
-            TSpdDialFieldInfo& aFieldInfo );
-            
-            
-        /**
-         * From base class CPhCntSpeedDialMonitor
-         * @since S60 v3.2
-         * @see CPhCntSpeedDialMonitor
-         */
-        TInt AssignSpeedDialFieldL(
-            TInt aSpeedDialPosition,
-            TDes& aPhoneNumber );
-
-        /**
-         * From base class CPhCntSpeedDialMonitor
-         * @since S60 v3.2
-         * @see CPhCntSpeedDialMonitor
-         */
-        TInt AssignSpeedDialFieldL(
-            TInt aSpeedDialPosition,
-            TDes& aPhoneNumber,
-            TSpdDialFieldInfo& aFieldInfo );
-            
-        /**
-         * From base class CPhCntSpeedDialMonitor
-         * @since S60 v3.2
-         * @see CPhCntSpeedDialMonitor
-         */
-        virtual void Cancel();
-        
-        /**
-         * From base class CPhCntSpeedDialMonitor
-         * @since S60 v3.2
-         * @see CPhCntSpeedDialMonitor
-         */
-        virtual CEikImage* CreateNumberTypeIconLC( TInt aNumberType );
-
-    private:
-
-        CPhCntSpeedDialImpl( MPhoneCntPbkOwner& aPbkOwner );
-
-        void ConstructL();
-
-        TInt FetchNumberL( TInt aSpeedDialPosition, TDes& aPhoneNumber );
-                
-        TInt FetchContact( TInt aSpeedDialPosition, CPhCntContact*& aContact );
-        
-        void CopyNumberL( TDes& aAppendTo, const TDesC& aNumber );
-        
-        /**
-         * Setups the field info with new attributes.
-         * @param aContact Contact information
-         * @param aSpeedDialPosition A speed dial position.
-         * @param aFieldInfo Speed dial contact information.
-         */
-        void CopyContactInfoToFieldInfoL( 
-            CPhCntContact& aContact,
-            TInt aSpeedDialPosition, 
-            TSpdDialFieldInfo& aFieldInfo );
-
-    private: // data
-
-        /**
-         * Contact manager for accessing virtual phonebook services.
-         * Not own.
-         */
-        MPhCntContactManager& iContactManager;
-        
-        /**
-         * Phonebook owner
-         * Own.
-         */ 
-        MPhoneCntPbkOwner& iPbkOwner;
-
-        /**
-         * Fetches speed dial contact link.
-         * Own.
-         */
-        CPhCntSpeedDialContactLinkFetch* iSpeedDialContactLinkFetcher;
-        
-        /**
-         * Fetches speed dial contact using speed dial contact link.
-         * Own.
-         */
-        CPhCntFetchContact* iContactFetcher;
-        
-        /**
-         * Service for contact fetching.
-         * Own.
-         */
-        CPhCntContactStores* iContactStores;
-        
-        /**
-         * Speed Dial Dialogs.
-         * Own.
-         */
-        CSpdiaDialogs* iSpdDial;   
-    };
-
-
-#endif // CPHCNTSPEEDDIALIMPL_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntstoreloaderimpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +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:  Phone contact data store loader implementation.
-*
-*/
-
-
-#ifndef C_PHCNTSTORELOADERIMPL_H
-#define C_PHCNTSTORELOADERIMPL_H
-
-#include "mphcntstoreloader.h"
-#include "mphcntstoreloaderobserver.h"
-#include "cphcntasynctosync.h"
-
-class MPhCntContactManager;
-class MVPbkContactStore;
-
-/**
- *  Implements services to load contact data stores.
- *
- *  @lib phonecntfinder
- *  @since S60 9.1
- */
-NONSHARABLE_CLASS( CPhCntStoreLoaderImpl ) 
-        : 
-        public CPhCntAsyncToSync,
-        public MPhCntStoreLoader, 
-        public MPhCntStoreLoaderObserver
-    {
-
-public:
-
-    /**
-     * Two-phased constructor.
-     * @param aManager  Contact manager.
-     */
-    static CPhCntStoreLoaderImpl* NewL( MPhCntContactManager& aManager );
-
-    /**
-     * Two-phased constructor.
-     * @param aManager  Contact manager.
-     */
-    static CPhCntStoreLoaderImpl* NewLC( MPhCntContactManager& aManager );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CPhCntStoreLoaderImpl();
-
-// from base class MPhCntStoreLoader
-
-    /**
-     * From MPhCntStoreLoader.
-     *
-     * @since S60 v9.1
-     * @see MPhCntStoreLoader.
-     */
-    TBool IsContactStoreLoaded( const TDesC8& aContactLink ) const;
-    
-    /**
-     * From MPhCntStoreLoader.
-     * 
-     * @since S60 v9.1
-     * @see MPhCntStoreLoader.
-     */
-    void LoadContactStoreL( const TDesC8& aContactLink,
-        MPhCntStoreLoaderObserver& aObserver );
-
-// from base class MPhCntStoreLoaderObserver
-
-    /**
-     * From MPhCntStoreLoaderObserver.
-     *
-     * @since S60 v9.1
-     * @see MPhCntStoreLoaderObserver.
-     */
-    void ContactStoreLoadingCompleted( 
-        MVPbkContactStore* aStore, TInt aErrorCode );
-public:   
-    /**
-     * Loads contact store with uri
-     * 
-     * @since S60 v5.1
-     * @param aStoreUri Uri of the store to be loaded.
-     */
-    TInt LoadContactStoreWithUri( const TDesC& aStoreUri );
-    
-protected:
-    /**
-     * From CPhCntAsyncToSync.
-     *
-     * @since S60 v3.2
-     * @see CPhCntAsyncToSync.    
-     */
-    void DoMakeAsyncRequestL();    
-private:
-
-    CPhCntStoreLoaderImpl( MPhCntContactManager& aManager );
-
-    void ConstructL();
-
-    TBool IsContactStoreLoadedL( const TDesC8& aContactLink ) const;
-
-    TBool IsContactStoreLoadedL( const TDesC16& aContactStoreUri ) const;
-private: // data
-
-    /**
-     * Contact manager.
-     * Not own.
-     */
-    MPhCntContactManager& iContactManager;
-    
-    /**
-     * Observer for contact store loading process.
-     * Not own.
-     */
-    MPhCntStoreLoaderObserver* iObserver;
-
-    /**
-     * Pointer to uri of the store to be loaded.
-     * Not own.
-     */
-    const TDesC* iStoreUri;
-    };
-
-#endif // C_PHCNTSTORELOADERIMPL_H
-
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntvoipcontactmatchstrategy.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +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:  Finds voip contacts from phonebook
-*
-*/
-
-
-#ifndef CPHCNTVOIPCONTACTMATCHSTRATEGY
-#define CPHCNTVOIPCONTACTMATCHSTRATEGY
-
-#include <e32base.h>
-#include <MVPbkContactFindObserver.h>
-
-#include "mphcntcontactmatchstrategy.h"
-
-class MPhCntVoipContactFinder;
-class MVPbkContactOperationBase;
-
-/**
- *  Finds voip contacts from phonebook
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntVoipContactMatchStrategy ): 
-    public CBase, 
-    public MPhCntContactMatchStrategy,
-    private MVPbkContactFindObserver
-    {
-public:
-    
-    static CPhCntVoipContactMatchStrategy* NewL(
-        MPhCntVoipContactFinder& aVoipContactFinder,
-        MVPbkContactFindObserver& aObserver );
-
-    static CPhCntVoipContactMatchStrategy* NewLC(
-        MPhCntVoipContactFinder& aVoipContactFinder,
-        MVPbkContactFindObserver& aObserver );
-
-    virtual ~CPhCntVoipContactMatchStrategy();
-
-// from base class MPhCntContactMatchStrategy
-
-    /**
-     * From base class MPhCntContactMatchStrategy
-     * Starts finding contacts, which contact field matches with aMatchString.
-     *
-     * @since S60 v3.1
-     * @param aMatchString String which is matched against contact fields.
-     */
-    void FindMatchesL( const TDesC& aMatchString );
-
-private:
-
-    CPhCntVoipContactMatchStrategy( 
-        MPhCntVoipContactFinder& aVoipContactFinder,
-        MVPbkContactFindObserver& aObserver );
-
-    void ConstructL();
-    
-// from base class MVPbkContactFindObserver
-    
-    /**
-     * From base class MVPbkContactFindObserver
-     * Called when find is complete. Callee takes ownership of the results.
-     * In case of an error during find, the aResults may contain only 
-     * partial results of the find.
-     *
-     * @since S60 v3.1
-     * @param aResults Array of contact links that matched the find.
-     *                 Callee must take ownership of this object in
-     *                 the start of the function, ie. in case the function
-     *                 leaves the results must be destroyed. The find
-     *                 operation can be destroyed at the end of this callback.
-     */
-    void FindCompleteL( MVPbkContactLinkArray* aResults );
-
-    /** 
-     * From base class MVPbkContactFindObserver
-     * Called in case the find fails for some reason. The find operation
-     * can be destroyed at the end of this callback.
-     * 
-     * @Since S60 v3.1
-     * @param aError One of the system wide error codes.
-     *        KErrNotReady if store is not ready (not open or unavailable).
-     */
-    void FindFailed( TInt aError );
-
-private: // data
-
-    /**
-     * Voip contact finder.
-     * Not own.
-     */
-    MPhCntVoipContactFinder& iVoipContactFinder;
-    
-    /**
-     * Find operation.
-     * Own.
-     */
-    MVPbkContactOperationBase* iFindOperation;
-    
-    /**
-     * Observer of the operation.
-     * Not own.
-     */
-    MVPbkContactFindObserver& iObserver;
-
-    };
-#endif // CPHCNTVOIPCONTACTMATCHSTRATEGY
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntvpbkcontactid.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +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:  Contact identifier used with virtual phonebook
-*
-*/
-
-
-#ifndef CPHCNTVPBKCONTACTID_H
-#define CPHCNTVPBKCONTACTID_H
-
-#include "cphcntcontactid.h"
-
-class MVPbkContactLink;
-class MPhCntContactManager;
-
-/**
- *  Contact identifier.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntVPbkContactId ) : public CPhCntContactId
-    {
-public:
-
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aContactLink Contact link, takes ownership.
-     * @param aContactManager Contact manager.
-     */
-    static CPhCntVPbkContactId* NewL( 
-        MVPbkContactLink* aContactLink,
-        MPhCntContactManager& aContactManager );
-
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aContactLink Contact link, takes ownership.
-     * @param aContactManager Contact manager.
-     */
-    static CPhCntVPbkContactId* NewLC( 
-        MVPbkContactLink* aContactLink,
-        MPhCntContactManager& aContactManager );
-    
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aContactId Contact identifier.
-     * @param aContactManager Contact manager.
-     */
-    static CPhCntVPbkContactId* NewL( 
-        TContactItemId aContactId,
-        MPhCntContactManager& aContactManager );
-    
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aContactId Contact identifier.
-     * @param aContactManager Contact manager.
-     */
-    static CPhCntVPbkContactId* NewLC( 
-        TContactItemId aContactId,
-        MPhCntContactManager& aContactManager );
-        
-    /** 
-     * Static constructor.
-     * 
-     * @since S60 v3.2
-     * @param aContactLink MVPbkContactLink as descriptor.
-     * @param aContactManager.
-     */
-    static CPhCntVPbkContactId* NewL( 
-        const TDesC8& aContactLink,
-        MPhCntContactManager& aContactManager );
-
-        
-    /**
-     * Destructor. 
-     *
-     * @since S60 v3.1
-     */
-    virtual ~CPhCntVPbkContactId();
-
-    /**
-     * Gives access to contact link, which
-     * identifies a contact in contact store.
-     * @precond IsValid() returns ETrue
-     * @since S60 v3.1
-     * @return Contact link, which identifies contacts.
-     */
-    const MVPbkContactLink& ContactLink() const;
-
-// from base CPhCntContactId
-
-     /**
-      * From CPhCntContactId
-      *
-      * @since S60 v3.1
-      * @see CPhCntContactId
-      */
-     CPhCntContactId* CloneL() const;
-     
-     /**
-      * From CPhCntContactId
-      *
-      * @since S60 v3.1
-      * @see CPhCntContactId
-      */
-     void Invalidate();
-      
-     /**
-      * From CPhCntContactId
-      *
-      * @since S60 v3.1
-      * @see CPhCntContactId
-      */
-     TBool IsValid() const;
-     
-     /**
-      * From CPhCntContactId
-      *
-      * @since S60 v3.1
-      * @see CPhCntContactId
-      */
-     TContactItemId ContactId() const;
-      
-     /**
-      * From CPhCntContactId
-      *
-      * @since S60 v3.1
-      * @see CPhCntContactId
-      */
-     HBufC8* PackLC() const;
-      
-
-private:
-
-    CPhCntVPbkContactId( 
-        MVPbkContactLink* aContactLink,
-        MPhCntContactManager& aContactManager );
-
-    void ConstructL( TContactItemId aContactItemId );
-    
-    void ConstructL( const TDesC8& aContactLink );
-
-private: // data
-
-    /**
-     * Contact link, which identifies the contact.
-     * Own.
-     */
-    MVPbkContactLink* iContactLink;
-     
-    /**
-     * Contact manager for converting contact id to contact link.
-     * Not own.
-     */
-    MPhCntContactManager& iContactManager;     
-
-    };
-
-
-
-#endif // CPHCNTVPBKCONTACTID_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/cphcntvpbkthumbnailloader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +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:  Thumbnail loader for loading thumbnails contact store.
-*
-*/
-
-
-#ifndef CPHCNTVPBKTHUMBNAILLOADER_H
-#define CPHCNTVPBKTHUMBNAILLOADER_H
-
-#include <MPbk2ImageOperationObservers.h>
-
-#include "cphcntthumbnailloaderbase.h"
-#include "MPhCntContactFetchObserver.h"
-
-class MPhCntContactStores;
-class CPhCntContact;
-class MVPbk2ImageOperation;
-
-/**
- *  Loader for loading thumbnails from contact store.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntVPbkThumbnailLoader ) : 
-    public CPhCntThumbnailLoaderBase,
-    private MPhCntContactFetchObserver,
-    private MPbk2ImageGetObserver
-    {
-
-public:
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     * @param aContactStores Contact stores, where thunbnails are loaded.
-     */
-    static CPhCntVPbkThumbnailLoader* NewL( 
-        MPhCntContactStores& aContactStores );
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     * @param aContactStores Contact stores, where thunbnails are loaded.
-     */
-    static CPhCntVPbkThumbnailLoader* NewLC(
-        MPhCntContactStores& aContactStores );
-
-    /** 
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    virtual ~CPhCntVPbkThumbnailLoader();
-    
-// From base class MPhCntThumbnailLoader.
-
-    /**
-     * From base class MPhCntThumbnailLoader.
-     *
-     * @since S60 v3.1
-     * @see MPhCntThumbnailLoader
-     */
-    void Release();
-    
-    /**
-     * From base class MPhCntThumbnailLoader.
-     *
-     * @since S60 v3.1
-     * @see MPhCntThumbnailLoader
-     */
-    void Cancel();
-
-protected:
-
-// from base class CPhCntThumbnailLoaderBase
-    
-    /**
-     * From CPhCntThumbnailLoaderBase
-     *
-     * @since S60 v3.1
-     * @see CPhCntThumbnailLoaderBase
-     */
-    void DoLoadL( const CPhCntContactId& aContactId );
-    
-private:
-
-// From base class MPhCntContactFetchObserver
-
-    /**
-     * From MPhCntContactFetchObserver
-     *
-     * @since S60 v3.1
-     * @see MPhCntContactFectchObserver
-     */
-    void ContactReceived( CPhCntContact* aContact, TInt aError );
-    
-// from base class MPbk2ImageGetObserver
-
-    /**
-     * From base class MPbk2ImageGetObserver
-     *
-     * @since S60 v3.1
-     * @see MPbk2ImageGetObserver
-     */
-    void Pbk2ImageGetComplete
-        (MPbk2ImageOperation& aOperation, CFbsBitmap* aBitmap);
-
-    /**
-     * From base class MPbk2ImageGetObserver
-     *
-     * @since S60 v3.1
-     * @see MPbk2ImageGetObserver
-     */
-    void Pbk2ImageGetFailed
-        (MPbk2ImageOperation& aOperation, TInt aError);
-
-    CPhCntVPbkThumbnailLoader( MPhCntContactStores& aContactStores );
-
-    void ConstructL();
-
-private: // data
-
-    /**
-     * Contact stores for fetching contact.
-     * own.
-     */
-    MPhCntContactStores* iContactStores;
-    
-    /**
-     * Contact received.
-     * Own.
-     */
-    CPhCntContact* iReceivedContact;
-    
-    /**
-     * Thumbnail loading operation
-     * Own.
-     */
-    MPbk2ImageOperation* iOperation;
-
-    };
-
-#endif // CPHCNTVPBKTHUMBNAILLOADER_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntaiwservice.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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:  Inteface for fetching contact links from AIW.
-*
-*/
-
-
-#ifndef MPHCNTAIWSERVICE_H
-#define MPHCNTAIWSERVICE_H
-
-class MPhCntServiceRequestParam;
-class MPhCntServiceResult;
-
-NONSHARABLE_CLASS( MPhCntAiwServiceObserver )
-    {
-public:
-    
-    /**
-     * Indicates that AIW service request is complete.
-     * 
-     * @since S60 v3.2
-     * @param aError Possible error code.
-     */
-    virtual void RequestComplete( TInt aError ) = 0;
-    };
-
-/**
- * AIW service wrapper interface.
- *
- * @lib PhoneCntFinder.lib
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( MPhCntAiwService )
-    {
-public:
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.2
-     */
-    virtual ~MPhCntAiwService() {};
-    
-    /**
-     * Cancels the possible outstanding request.
-     * @since S60 v3.2
-     */
-    virtual void Cancel() = 0;
-    
-    /**
-     * Determines if request is active.
-     * @since S60 v3.2
-     */
-    virtual TBool IsRequestActive() const = 0;
-         
-    /**
-     * Makes AIW service request
-     *
-     * @since S60 v3.2
-     * @param aService Parameters used with AIW.
-     * @param aResult Result of the request.
-     * @param aObserver Observer, which is notified when request has completed.
-     */
-    virtual void ExecuteRequestL( 
-        MPhCntServiceRequestParam& aServiceRequestParams, 
-        MPhCntServiceResult& aResult,
-        MPhCntAiwServiceObserver& aObserver) = 0;
-    
-    };
-
-#endif // MPHCNTAIWSERVICE_H
\ No newline at end of file
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntcontactfields.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +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 contact fields.
-*
-*/
-
-#ifndef MPHCNTCONTACTFIELDS_H
-#define MPHCNTCONTACTFIELDS_H
-
-#include <e32std.h>
-#include "MPhCntMatch.h"
-#include "tphcntnumber.h"
-
-class MVPbkContactLinkArray;
-class MVPbkStoreContact;
-class MVPbkFieldType;
-
-/**
- *  Interface for contact fields
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( MPhCntContactFields )
-    {
-public:
-    
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    virtual ~MPhCntContactFields() {};
-
-    /**
-     * Gives the matched numbers number type. Note that
-     * this can be ENone when the contact fields were
-     * fetched from contact stores without matching.
-     *
-     * @since S60 v3.1
-     * @return Type of matched number.
-     */
-    virtual MPhCntMatch::TNumberType NumberType() const = 0;
-        
-    /**
-     * Gives the contact's link where these contact fields
-     * are from.
-     *
-     * @since S60 v3.1
-     * @return Contact link, ownership not given.
-     */
-    virtual MVPbkContactLink* ContactLink() const = 0;
-    
-    /**
-     * First name field from contact.
-     *
-     * @since S60 v3.1
-     * @return Field text. Empty if there isn't one specified.
-     */
-    virtual TPtrC FirstName() const = 0;
-
-    /**
-     * Last name field from contact.
-     *
-     * @since S60 v3.1
-     * @return Field text. Empty if there isn't one specified.
-     */
-    virtual TPtrC LastName() const = 0;
-
-    /**
-     * Company name field from contact.
-     *
-     * @since S60 v3.1
-     * @return Field text. Empty if there isn't one specified.
-     */
-    virtual TPtrC CompanyName() const = 0;
-
-    /**
-     * Number that matched. Note that this may be 
-     * zero length, if contactfields were fetched without 
-     * matching.
-     *
-     * @since S60 v3.1
-     * @return Field text. Empty if there isn't one specified.
-     */
-    virtual TPtrC Number() const = 0;
-    
-    /**
-     * Dtmf number, which was pointed by contact link.
-     *
-     * @since S60 v3.2
-     * @return Field text. Empty if there isn't one specified.
-     */
-    virtual TPtrC Dtmf() const = 0;
-
-    /**
-     * Ringing tone field from contact.
-     *
-     * @since S60 v3.1
-     * @return Field text. Empty if there isn't one specified.
-     */
-    virtual TPtrC PersonalRingingTone() const = 0;
-    
-    /**
-     * Second name from contact.
-     *
-     * @since S60 v3.1
-     * @return Field text. Empty if there isn't one specified.
-     */
-    virtual TPtrC SecondName() const = 0;
-    
-    /**
-     * First name pronunciation.
-     * 
-     * @since S60 v3.1
-     * @return First name's pronunction. May be zero length.
-     */
-    virtual TPtrC FirstNamePronunciation() const = 0;
-     
-    /**
-     * Last name pronunciation.
-     * 
-     * @since S60 v3.1
-     * @return Last name's pronunction. May be zero length.
-     */
-    virtual TPtrC LastNamePronunciation() const = 0;
-    
-    /**
-     * Company name pronunciation.
-     * 
-     * @since S60 v3.1
-     * @return Company name's pronunction. May be zero length.
-     */
-    virtual TPtrC CompanyNamePronunciation() const = 0;
-    
-    /**
-     * Creates contacts title. 
-     *
-     * @since S60 v3.1
-     * @return Title of the contact, ownership is given.
-     */
-    virtual HBufC* GetContactTitleL() = 0;
-    
-    /**
-     * Links to a contact groups that this contact information belongs to.
-     * Ownership of links is given. May be NULL.
-     *
-     * @since S60 v3.1
-     * @return Links to contact groups.
-     */
-    virtual MVPbkContactLinkArray* ContactGroupsLC() const = 0;
-    
-    /**
-     * Contact information in the store.
-     * 
-     * @since S60 v3.1
-     * @return Contact information
-     */     
-    virtual MVPbkStoreContact& StoreContact() const = 0;
-    
-    /**
-     * Pointer to thumbnails field.
-     * 
-     * @since S60 v3.1
-     * @return thumbnails field or null.
-     */
-    virtual const MVPbkFieldType* ThumbnailField() const = 0;
-    
-    /**
-     * Call image field from contact.
-     * 
-     * @since S60 v3.1
-     * @return Field text. Empty if there isn't one specified.
-     */
-    virtual TPtrC CallImage() const = 0;
-    
-    /**
-     * Call text field from contact.
-     * 
-     * @since S60 v3.1
-     * @return Field text. Empty if there isn't one specified.
-     */
-    virtual TPtrC CallText() const = 0;
-    
-    /**
-     * Call text field from contact.
-     * 
-     * @since S60 v3.1
-     * @return ETrue if contact has thumbnail field, otherwise EFalse.
-     */
-    virtual TBool HasThumbnail() const = 0;
-    
-    /**
-     * Gives all phone numbers that contact has.
-     *
-     * @since S60 v3.2.
-     * @return Array of phone numbers.
-     */     
-    virtual const RArray<TPhCntNumber>& AllNumbers() const = 0;
-
-    /**
-     * Gives all DTMF numbers that contact has.
-     *
-     * @since S60 v3.2.
-     * @return Array of DTMF numbers.
-     */     
-    
-    virtual CDesCArray* AllDtmfNumbers() const = 0; 
-    };
-
-
-#endif // MPHCNTCONTACTFIELDS_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntcontactmatchstrategy.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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:  Contact match strategy interface.
-*
-*/
-
-
-#ifndef MPHCNTCONTACTMATCHSTRATEGY_H
-#define MPHCNTCONTACTMATCHSTRATEGY_H
-
-#include <e32std.h>
-
-/**
- * Interface for finding contacts.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( MPhCntContactMatchStrategy ) 
-    {
-
-public:
-
-    virtual ~MPhCntContactMatchStrategy() {};
-
-    /**
-     * Starts finding contacts, which contact field matches with aMatchString.
-     *
-     * @since S60 v3.1
-     * @param aMatchString String which is matched against contact fields.
-     */
-    virtual void FindMatchesL( const TDesC& aMatchString ) = 0;
-
-    };
-
-#endif // MPHCNTCONTACTMATCHSTRATEGY_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntcontactstoreeventobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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:  Observer interface for contact store events.
-*
-*/
-
-
-#ifndef MPHCNTCONTACTSTOREEVENTOBSERVER_H
-#define MPHCNTCONTACTSTOREEVENTOBSERVER_H
-
-/**
- *  Observer interface for contact store events.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-class MPhCntContactStoreEventObserver
-    {
-
-public:
-
-    /**
-     * Indication that contact store availability has changed.
-     *
-     * @since S60 v3.2
-     */
-    virtual void ContactStoreAvailabilityChanged() = 0;
-
-protected:
-
-    };
-
-
-#endif // MPHCNTCONTACTSTOREEVENTOBSERVER_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntservicerequestparam.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:  Abstract base class for service request param.
-*
-*/
-
-
-#ifndef MPHCNTSERVICEREQUESTPARAM_H
-#define MPHCNTSERVICEREQUESTPARAM_H
-
-#include <e32std.h>
-#include <AiwCommon.hrh>
-
-class CAiwGenericParamList;
-
-/**
- *  Abstract base class for service request param
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( MPhCntServiceRequestParam )
-    {
-public:
-    
-    virtual ~MPhCntServiceRequestParam() {};
-    
-    /**
-     * Gives the AIW command, that this parameter represents.
-     * 
-     * @since S60 v3,1
-     * @return AIW command.
-     */
-    virtual TAiwServiceCommands Command() const = 0;
-
-    /**
-     * Gives the AIW InParamList
-     * 
-     * @since S60 v3,1
-     * @return AIW param list..
-     */
-    virtual const CAiwGenericParamList& InParamList() const = 0;
-
-    
-    };
-
-
-#endif // MPHCNTSERVICEREQUESTPARAM_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntservicerequestparamfactory.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +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:  Abstract base class for param factory
-*
-*/
-
-
-#ifndef MPHCNTSERVICEREQUESTPARAMFACTORY_H
-#define MPHCNTSERVICEREQUESTPARAMFACTORY_H
-
-#include "CPhCntSingleItemFetch.h"
-#include "cphcntcontactdataselection.h"
-
-class MPhCntServiceRequestParam;
-class MVPbkContactLinkArray;
-class MPhCntContactManager;
-
-/**
- *  Abstract base class for creating AIW service request params.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( MPhCntServiceRequestParamFactory )
-    {
-public:
-
-    virtual ~MPhCntServiceRequestParamFactory() {};
-    
-    /**
-     * Creates new parameter for creating new contact.
-     *
-     * @since S60 v3.1
-     * @param aPhoneNumber Phone number of new contact.
-     * @return New instance.
-     */
-    virtual MPhCntServiceRequestParam* 
-        CreateCreateNewContactRequestParamLC( const TDesC& aPhoneNumber ) const = 0;
-        
-    /**
-     * Creates new paramater for updating existing contact.
-     *
-     * @since S60 v3.1
-     * @param aPhoneNumber Phone number added to existing contact.
-     * @return New param.
-     */   
-    virtual MPhCntServiceRequestParam* 
-        CreateUpdateContactRequestParamLC( const TDesC& aPhoneNumber ) const = 0;
-        
-    /**
-     * Creates new parameter for fetching user selected phone number link.
-     *
-     * @since S60 v3.1
-     * @return New parameter instance.
-     */
-    virtual MPhCntServiceRequestParam* 
-        CreateGetUserSelectedPhoneNumberLinkParamLC() const = 0;
-        
-    /**
-     * Creates new parameter for fetching user selected dtmf number link.
-     *
-     * @since S60 v3.2
-     * @param aContactManager Contact manager reference.
-     * @return New parameter instance.
-     */
-    virtual MPhCntServiceRequestParam* 
-        CreateGetUserSelectedDtmfNumberLinkLC( 
-            MPhCntContactManager& aContactManager ) const = 0;
-
-    /**
-     * Creates new parameter for fetching user selected voip address link.
-     *
-     * @since S60 v5.0
-     * @param aContactManager Contact manager reference.
-     * @return New parameter instance.
-     */  
-    virtual MPhCntServiceRequestParam* 
-        CreateGetUserSelectedVoIPAddressLinkParamLC( 
-            MPhCntContactManager& aContactManager ) const = 0;
-
-    /**
-     * Creates parameter for fetching user selected VoIPumber.
-     * The left soft key is 'Select."
-     *
-     * @since S60 v5.0
-     * @param aContactManager Contact manager reference.
-     * @return New parameter instance.
-     */
-    virtual MPhCntServiceRequestParam* 
-        CreateGetUserSelectedVoIPAddressLC( 
-            MPhCntContactManager& aContactManager ) const = 0;
-
-    /**
-     * Creates new parameter for fetching a phone number from
-     * known contact, which is identified by contact link.
-     * @since S60 v3.2
-     * @param aContactLink Link to a contact.
-     * @param aCallType Number type.
-     * @return New parameter instance.
-     */         
-    virtual MPhCntServiceRequestParam*         
-        CreateGetPhoneNumberFromContactParamLC( 
-            const TDesC8& aContactLink,
-            const CPhCntSingleItemFetch::TCallType aCallType ) const = 0;
-    
-    /**
-     * Creates new parameter for fetching a phone number from
-     * known contact, which is identified by contact link.
-     * @since S60 v3.2
-     * @param aContactLink Link to a contact.
-     * @param aCallType Number type.
-     * @return New parameter instance.
-     */    	
-    virtual MPhCntServiceRequestParam* CreateGetPhoneNumberFromContactParamL(
-        const TDesC8& aContactLink,
-        const CPhCntSingleItemFetch::TCallType aCallType ) const = 0;
-        	
-    };
-
-
-#endif // MPHCNTSERVICEREQUESTPARAMFACTORY_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntserviceresult.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:  Base class for service results.
-*
-*/
-
-
-#ifndef MPHCNTSERVICERESULT_H
-#define MPHCNTSERVICERESULT_H
-
-class CAiwGenericParamList;
-
-/**
- *  Interface of the MPhCntService results.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-class MPhCntServiceResult 
-    {
-public:
-    /**
-     * Result from MPhCntService request.
-     *
-     * @since S60 v3.2
-     * @param aResult Result of the service request.
-     */
-    virtual void ParseResult( 
-        CAiwGenericParamList& aResult ) = 0;
-    };
-
-
-#endif // MPHCNTSERVICERESULT_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntstoreloader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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:  Interface for loading contact stores.
-*
-*/
-
-
-#ifndef M_MPHCNTSTORELOADER_H
-#define M_MPHCNTSTORELOADER_H
-
-#include <e32base.h>
-
-class MPhCntStoreLoaderObserver;
-
-/**
- *  Interface for loading contact stores.
- *
- *  @lib phonecntfinder.lib
- *  @since S60 v9.1
- */
-class MPhCntStoreLoader
-    {
-
-public:
-
-    /**
-    * Destructor.
-    */
-    virtual ~MPhCntStoreLoader() { };
-
-    /**
-     * Checks is the specified contact store loaded.
-     *
-     * @since   S60 v9.1
-     * @param   aContactLink      A contact link containing store to load.
-     * @return  ETrue if store is loaded, EFalse otherwise.
-     */
-    virtual TBool IsContactStoreLoaded( 
-        const TDesC8& aContactLink ) const = 0;
-    
-    /**
-     * Starts to load specified contact store if not yet loaded.
-     * MPhCntStoreLoaderObserver::ContactStoreLoaded is called when contact
-     * store is loaded and ready for use.
-     *
-     * @since   S60 v9.1
-     * @param   aContactLink      A contact link containing store to load.
-     * @param   aObserver         An observer for the loading process.
-     */
-    virtual void LoadContactStoreL( const TDesC8& aContactLink,
-        MPhCntStoreLoaderObserver& aObserver ) = 0;
-    };
-
-#endif // M_MPHCNTSTORELOADER_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntstoreloaderobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  Observer interface for contact data store loading process.
-*
-*/
-
-
-#ifndef M_MPHCNTSTORELOADEROBSERVER_H
-#define M_MPHCNTSTORELOADEROBSERVER_H
-
-#include <e32base.h>
-
-class MVPbkContactStore;
-
-/**
- * Observer interface for contact data store loading process.
- *
- * @lib phonecntfinder.lib
- * @since S60  v9.1
- */
-class MPhCntStoreLoaderObserver 
-    {
-public:
-    
-    /**
-     * Callback to indicate that contact data store loading process is
-     * completed. 
-     *
-     * @param   aStore          The contact store which was loaded or NULL if
-     *                          error occured. Ownership is not transferred. 
-     * @param   aErrorCode      System wide error code if error occured.
-     */
-    virtual void ContactStoreLoadingCompleted( 
-        MVPbkContactStore* aStore, TInt aErrorCode ) = 0;
-    };
-
-#endif // M_MPHCNTSTORELOADEROBSERVER_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/mphcntvoipcontactfinder.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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 finding voip contacts.
-*
-*/
-
-
-#ifndef MPHCNTVOIPCONTACTFINDER_H
-#define MPHCNTVOIPCONTACTFINDER_H
-
-#include <e32std.h>
-
-class MVPbkContactOperationBase;
-class MVPbkContactFindObserver;
-
-/**
- *  Interface for finding voip contacts.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-class MPhCntVoipContactFinder
-    {
-public:
-
-    /**
-     * Finds voip contacts, with given URI or partial URI. To cancel
-     * the find, destroy the returned operation.
-     * @since S60 v3.1
-     * @param aSipURI Sip uri defining wanted matches.
-     * @param aObserver Observer of the operation.
-     * @return Operation.
-     */
-    virtual MVPbkContactOperationBase* FindVoipContactsL( 
-        const TDesC& aSipURI,
-        MVPbkContactFindObserver& aObserver ) const = 0;
-
-protected:
-
-    virtual ~MPhCntVoipContactFinder() {};
-    
-    };
-
-
-#endif // MPHCNTVOIPCONTACTFINDER_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntaiwserviceobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer for Phonebook AIW services.
-*
-*/
-
-
-#ifndef TPHCNTAIWSERVICEOBSERVER_H
-#define TPHCNTAIWSERVICEOBSERVER_H
-
-#include <e32std.h>
-
-#include <AiwCommon.h>
-
-class MPhCntServiceResult;
-class MPhCntAiwServiceCompleteObserver;
-class MPhCntServiceRequestParam;
-
-/**
- * Callback to indicate when phonebook's AIW service request
- * is complete.
- *
- * @lib PhoneCngFinder.lib
- * @since S60 3.2
- */
-NONSHARABLE_CLASS( MPhCntAiwServiceCompleteObserver )
-    {
-public:
-    
-    /**
-     * Called when Phonebook's AIW service request is complete.
-     * @param aError Error code.
-     */
-    virtual void ServiceRequestComplete( TInt aError ) = 0;
-    
-    };
-
-/**
- *  Observes Phonebook AIW services.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 3.2
- */
-NONSHARABLE_CLASS( TPhCntAiwServiceObserver ) : public MAiwNotifyCallback
-    {
-public:
-
-    /**
-     * Constructor.
-     * @param aObserver Callback to indicate when Phonebook's AIW service
-     * request is complete.
-     */
-    TPhCntAiwServiceObserver(MPhCntAiwServiceCompleteObserver& aObserver);
-    
-    /**
-     * Activates observing. When Phonebook AIW service request is complete,
-     * aResult will be notfied that request is done and 
-     * MPhCntAiwServiceCompleteObserver is notified.
-     * 
-     * @param aParams The requests parameters that this class is set to 
-     * observ.
-     * @aResult Result handler.
-     */
-    void SetRequestAndResult( 
-        MPhCntServiceRequestParam* aParams,
-        MPhCntServiceResult* aResult
-        );
-    
-// from base class MAiwNotifyCallback
-    
-    /**
-      * From MAiwNotifyCallback
-      *
-      * @since S60 v3.1
-      * @see MAiwNotifyCallback
-      */
-     TInt HandleNotifyL(
-		TInt aCmdId,
-		TInt aEventId,
-		CAiwGenericParamList& aEventParamList,
-		const CAiwGenericParamList& aInParamList);
-		
-private:
-    
-    /** 
-     * Parses error value from paramlist when KAiwEventError comes
-     * from service provider.
-     *
-     * @since S60 v3.1
-     * @parma aEventParamList Event parameters.
-     */
-	TInt ParseErrorCode( const CAiwGenericParamList& aEventParamList );
-	
-	/**
-	 * Finds first TInt value from param list.
-	 * 
-	 * @since S60 v3.1
-	 * @Returns KErrNotFound if paramter with aParameterId not found.
-	 */
-	TInt FindFirstTInt32Value( 
-	    const CAiwGenericParamList& aEventParamList, 
-	    TGenericParamId aParameterId,
-	    TInt& aValue ) const;
-	
-	/**
-	 * Indication that response for request has arrived.
-	 * @param aError Possible error code.
-	 */
-	void ResponseReceived( TInt aError );
-
-    /**
-     * Checks if current process is Phone application process.
-     * @since S60 v3.1
-     * @return ETrue - Running in phone app process.
-     */	
-	TBool RunningInPhoneAppProcess() const;
-		
-private: 
-    
-    /**
-	 * Result of the request.
-	 * Now own.
-	 */
-	MPhCntServiceResult* iResult;
-	
-	/**
-	 * Request params.
-	 * Not own.
-	 */
-	MPhCntServiceRequestParam* iParams;
-	
-	/**
-	 * Service request observer.
-	 * Not own.
-	 */
-	MPhCntAiwServiceCompleteObserver& iObserver;
-	
-	/**
-	 * State variable indicating that AIW service is shutting down, because
-	 * user has pressed end key.
-	 */
-	TBool iAiwServiceShuttingDown;
-
-    };
-
-    
-#endif // TPHCNTAIWSERVICEOBSERVER_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactfield.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +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:  Resolves and represents the contact field information
-*
-*/
-
-#ifndef TPHCNTCONTACTFIELD_H
-#define TPHCNTCONTACTFIELD_H
-
-
-#include <e32base.h>
-#include <TVPbkFieldVersitProperty.h>
-#include "MPhCntMatch.h"
-#include "tphcntnumber.h"
-
-class MPhCntContactManager;
-class MVPbkStoreContactField;
-
-
-/**
- *  Contact field from contact.
- *
- *  Resolves the type of the contact field ysing contact field id.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( TPhCntContactField ) 
-    {
-public:
-    
-    /**
-     * Constructor.
-     * 
-     * @since S60 v3.1
-     * @param aContactFieldId Contact field identifier.
-     */
-    TPhCntContactField( TInt aContactFieldId );
-    
-    /**
-     * Constructor.
-     *
-     * @since S60 v3.1
-     */
-    TPhCntContactField();
-    
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    virtual ~TPhCntContactField();
-        
-    /** 
-     * Resolves if the contact field data belongs to this
-     * contact field. If the contact field data belongs to this then
-     * the data is stored to this field.
-     *
-     * @since S60 v3.1
-     * @param aContactFieldId aFieldData's field identifier.
-     * @param aFieldData Data in the contact field.
-     * @param aPointedField Was the field data pointed by contact link.
-     */
-    virtual void Resolve( 
-        TInt aContactFieldId, 
-        const TDesC& aFieldData, 
-        TBool aPointedField );
-
-    /**
-     * Data of the field.
-     *
-     * @since S60 v3.1
-     * @return Data.
-     */
-    const TDesC& Data() const;
-
-protected:
-
-    /**
-     * Sets the data.
-     */
-    void SetData( const TDesC& aData, TBool aPointedData );
-    
-protected: // data 
-
-    /**
-     * Was the data set by pointed field.
-     */
-    TBool iDataPointedByContactLink;
-
-private: // data
-
-    /**
-     * Data of the contact field.
-     */
-    TPtrC iContactFieldData;
-    
-    /**
-     * Possible field id, which identifies this field.
-     */
-    TInt iContactFieldId;
-    
-    };
-    
-/**
- *  Phonenumber contact field.
- *
- *  Resolves phone numbers from virtual phonebook. 
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( TPhCntPhoneNumber ): public TPhCntContactField
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @since S60 v3.1
-     */
-    TPhCntPhoneNumber();
-    
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    ~TPhCntPhoneNumber();
-    
-    /**
-     * Gives the phone number that was matched(pointed by VPB) from contact.
-     * If there wasn't number that were pointed by VPB this number does
-     * not contain information.
-     *
-     * @since S60 v3.1.
-     * @return Possible number which was pointed by virtual phonebook
-     */
-    const TPhCntNumber& Number() const;
-    
-    /**
-     * Gives array of all resolved numbers, including possible matched number.
-     *
-     * @since S60 v3.1.
-     * @return Array of phone numbers.
-     */     
-    const RArray<TPhCntNumber>& AllNumbers() const;
-            	
-// from base class TPhCntContactField
-
-    /**
-     * From TPhCntContactField.
-     *
-     * @since S60 v3.1
-     * @see TPhCntContactField.
-     */
-    void ResolveL( 
-        TInt aContactFieldId, 
-        const TDesC& aFieldData, 
-        TBool aPointedField,
-        MPhCntContactManager& aContactManager,
-    	MVPbkStoreContactField& aContactField
-        );                  
-    
-protected: 
-
-	/**
-     * Evaluates the type of a phone number field.
-     * @param aContactFieldId Field to be resolved.
-     * @return Resolved phone number type, 
-     *         MPhCntMatch::ENone if the type was other than a phone number
-     */
-    MPhCntMatch::TNumberType PhoneNumberType( 
-    	TInt aContactFieldId );    	
-    	
-    void SetNumber( const TDesC& aNumber, 
-                    MPhCntMatch::TNumberType aNumberType, 
-                    TBool aPointedField,
-                    TInt aSpeedDialPosition );
-        
-private: // Data
-    
-    /**
-     * Phone number that was pointed by contact link.
-     */
-    TPhCntNumber iPointedNumber;
-    
-    /**
-     * Array of all resolved phone numbers, including
-     * pointed number.
-     * Own.
-     */
-    RArray<TPhCntNumber> iAllNumbers;
-
-    };
-
-#endif // TPHCNTCONTACTFIELD_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactlinkresult.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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:  Result of getting user selected contact link.
-*
-*/
-
-
-#ifndef TPhCntContactLinkResult_H
-#define TPhCntContactLinkResult_H
-
-#include <e32std.h>
-
-#include "mphcntserviceresult.h"
-
-/**
- *  Result of the request to get the user selected phone numbers link.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( TPhCntContactLinkResult )
-    : public MPhCntServiceResult
-    {
-    
-public: 
-
-    /**
-     * Constructor.
-     *
-     * @since S60 v3.2
-     * @param aLink Descriptor where the contact link is set (may be null) when
-     * MPhCntService request completes. 
-     */
-    TPhCntContactLinkResult( HBufC8*& aLink );
-    
-// from base class MPhCntServiceResult
-
-    /**
-     * From MPhCntServiceResult
-     * Parses the result.
-     *
-     * @since S60 v3.2
-     * @see MPhCntServiceResult
-     */
-    void ParseResult( 
-        CAiwGenericParamList& aResult );
-
-private: // data
-
-    /**
-     * Link
-     * Now own.
-     */
-    HBufC8*& iLink;
-
-    };
-
-#endif // TPhCntContactLinkResult_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactstorestate.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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:  Holds state of a contact store.
-*
-*/
-
-
-#ifndef TPHCNTCONTACTSTORESTATE_H
-#define TPHCNTCONTACTSTORESTATE_H
-
-#include <e32std.h>
-#include <TVPbkContactStoreUriPtr.h>
-
-/**
- *  Holds contact store state.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-class TPhCntContactStoreState
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @since S60 v3.2
-     * @param aContactStoreUri Uri of the contact store.
-     */
-    TPhCntContactStoreState( TVPbkContactStoreUriPtr aContactStoreUri );
-
-    /**
-     * Determines if contact store is available.
-     *
-     * @since S60 v3.2
-     * @return Contact store availability
-     */
-    TBool IsAvailable() const;
-    
-    /**
-     * Gives the URI of the contact store.
-     * 
-     * @since S60 v3.2
-     * @return Contact store URI.
-     */
-    const TVPbkContactStoreUriPtr& ContactStoreUri() const;
-    
-    /**
-     * Set availability.
-     *
-     * @since S60 v3.2
-     * @param aAvailable - ETrue, store is available.
-     *                     EFalse, store is unavailable.
-     */
-    void SetAvailability( TBool aIsAvailable );
-    
-private: // data
-
-    /**
-     * Uri of the contact store.
-     */
-    TVPbkContactStoreUriPtr iContactStoreUri;
-    
-    /**
-     * Contact store availability.
-     */
-    TBool iIsAvailable;
-
-    };
-
-#endif // TPHCNTCONTACTSTORESTATE_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntcontactutil.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  Contact utilitiest class
-*
-*/
-
-
-#ifndef PHCNTCONTACTUTIL_H
-#define PHCNTCONTACTUTIL_H
-
-#include "CPhCntContact.h"
-
-/**
- *  Contact utilities.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v5.1
- */
-NONSHARABLE_CLASS( TPhCntContactUtil ) 
-    {
-public:
-    
-    /**
-     * Checks are name fields same in both contacts.
-     * Checked fields are First name, Last name and Company name.
-     *
-     * @since S60 v5.1
-     * @param aFirstContact First Contact to be checked.
-     * @param aSecondContact Second Contact to be checked.
-     * @return ETrue if name fields are same in both contacts.
-     */
-    static TBool AreFirstAndLastAndCompanyNameSame( 
-            const CPhCntContact& aFirstContact,
-            const CPhCntContact& aSecondContact );
-    
-    };
-
-#endif // PHCNTCONTACTUTIL_H
-
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntnullserviceresult.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +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:  Empty service result.
-*
-*/
-
-
-#ifndef TPHCNTNULLSERVICERESULT_H
-#define TPHCNTNULLSERVICERESULT_H
-
-#include <e32std.h>
-
-#include "mphcntserviceresult.h"
-
-/**
- *  Service result, which does not parse the result.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( TPhCntNullServiceResult ) : public MPhCntServiceResult
-    {
-public:
-
-    TPhCntNullServiceResult();
-
-// from base class MPhCntServiceResult
-
-    /**
-     * From MPhCntServiceResult
-     *
-     * @since S60 v3.2
-     * @see MPhCntServiceResult
-     */
-    void ParseResult( CAiwGenericParamList& aResult );
-
-    };
-
-#endif // TPHCNTNULLSERVICERESULT_H
-
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntnumber.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +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:  Phone number
-*
-*/
-
-
-#ifndef TPHCNTNUMBER_H
-#define TPHCNTNUMBER_H
-
-#include <e32std.h>
-
-#include "MPhCntMatch.h"
-
-/**
- *  Represents phone number.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3,1
- */
-class TPhCntNumber 
-    {
-    
-public:
-    /**
-     * Constructor.
-     * 
-     * @since S60 v3.1
-     * @param aNumber Phone number. Given number has to stay accessible 
-     * as long as this class is used. Does not copy the number.
-     * @param aNumberType Number's type.
-     * @param aSpeedDialPosition Speed dial position (a value between 1 and 9).
-     */
-    TPhCntNumber( const TDesC& aNumber, MPhCntMatch::TNumberType aNumberType, TInt aSpeedDialPosition );
-    
-    /**
-     * Constructs empty number.
-     *
-     * @since S60 v3.2.
-     */
-    TPhCntNumber();
-
-    /**
-     * Gives the number
-     *
-     * @since S60 v3.1
-     * @return Number
-     */
-    const TDesC& Number() const;
-    
-    /**
-     * Gives the number type
-     *
-     * @since S60 v3.1
-     * @return Number type
-     */
-    MPhCntMatch::TNumberType Type() const;
-    
-    /**
-     * Gives the speed dial position
-     *
-     * @since S60 v3.2
-     * @return Position
-     */
-    TInt Position() const;    
-    
-    /**
-     * Sets the number and its type. Note that ownership of the data is 
-     * not taken ie the data has to live as long as this instance.
-     *
-     * @since S60 v3.2.
-     * @param aNumber Phone number. Given number has to stay accessible 
-     * as long as this class is used. Does not copy the number.
-     * @param aNumberType Number's type.
-     * @param aSpeedDialPosition Speed dial position or 0.
-     */
-    void Set( const TDesC& aNumber, MPhCntMatch::TNumberType aNumberType, TInt aSpeedDialPosition );
-    
-private: // data
-
-    /**
-     * Phone number.
-     */
-    TPtrC iNumber;
-    
-    /**
-     * Number's type.
-     */
-    MPhCntMatch::TNumberType iNumberType;     
-    
-    /**
-     * Speed dial position.
-     */
-    TInt iSpeedDialPosition;    
-
-    };
-
-#endif // TPHCNTNUMBER_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntservicerequestparamfactory.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +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:  Factory for creating service request params.
-*
-*/
-
-
-#ifndef TPHCNTSERVICEREQUESTPARAMFACTORY_H
-#define TPHCNTSERVICEREQUESTPARAMFACTORY_H
-
-#include <e32base.h>
-
-#include "mphcntservicerequestparamfactory.h"
-
-class MPhCntServiceRequestParam;
-class MPhCntContactManager;
-
-/**
- *  Factory class for creating service request params.
- *
- *  @lib PhoneCntFinder.lib
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntServiceRequestParamFactory ): 
-    public CBase, 
-    public MPhCntServiceRequestParamFactory
-    {
-public:
- 
-    /**
-     * Static constructor.
-     * @since S60 v3.2
-     */
-    static CPhCntServiceRequestParamFactory* NewL( 
-        MPhCntContactManager& aContactManager );
-    
-    /**
-     * Static constructor.
-     * @since S60 v3.2
-     */
-    static CPhCntServiceRequestParamFactory* NewLC( 
-        MPhCntContactManager& aContactManager );
-   
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    ~CPhCntServiceRequestParamFactory();
-    
-// From base class MPhCntServiceRequestParamFactory
-
-    /**
-     * From base class MPhCntServiceRequestParamFactory
-     *
-     * @since S60 v3.1
-     * @see MPhCntServiceRequestParamFactory
-     */
-    MPhCntServiceRequestParam* 
-        CreateCreateNewContactRequestParamLC( const TDesC& aPhoneNumber ) const;
-        
-    /**
-     * From base class MPhCntServiceRequestParamFactory
-     *
-     * @since S60 v3.1
-     * @see MPhCntServiceRequestParamFactory
-     */  
-    MPhCntServiceRequestParam* 
-        CreateUpdateContactRequestParamLC( const TDesC& aPhoneNumber ) const;
-        
-    /**
-     * From base class MPhCntServiceRequestParamFactory
-     *
-     * @since S60 v3.1
-     * @see MPhCntServiceRequestParamFactory
-     */  
-    MPhCntServiceRequestParam* 
-        CreateGetUserSelectedPhoneNumberLinkParamLC() const;
-        
-    /**
-     * Creates paramter for fetching user selected phonenumber.
-     * The left soft key is 'Select."
-     *
-     * @since S60 v3.2
-     * @return New instance of request parameter. Ownership given.
-     */
-    MPhCntServiceRequestParam* 
-        CreateGetUserSelectedPhoneNumberLC() const;
-    
-    /**
-     * From base class MPhCntServiceRequestParamFactory
-     *
-     * @since S60 v3.1
-     * @see MPhCntServiceRequestParamFactory
-     */ 
-    MPhCntServiceRequestParam* 
-        CreateGetUserSelectedDtmfNumberLinkLC( 
-            MPhCntContactManager& aContactManager ) const;
-
-    /**
-     * From base class MPhCntServiceRequestParamFactory
-     *
-     * @since S60 v3.2
-     * @see MPhCntServiceRequestParamFactory
-     */  
-    MPhCntServiceRequestParam* 
-        CreateGetUserSelectedVoIPAddressLinkParamLC( 
-            MPhCntContactManager& aContactManager ) const;
-
-    /**
-     * Creates paramter for fetching user selected VoIPumber.
-     * The left soft key is 'Select."
-     *
-     * @since S60 v3.2
-     * @return New instance of request parameter. Ownership given.
-     */
-    MPhCntServiceRequestParam* 
-        CreateGetUserSelectedVoIPAddressLC( 
-            MPhCntContactManager& aContactManager ) const;
-    
-    /**
-     * From base class MPhCntServiceRequestParamFactory
-     *
-     * @since S60 v3.2
-     * @see MPhCntServiceRequestParamFactory
-     */
-    MPhCntServiceRequestParam*         
-        CreateGetPhoneNumberFromContactParamLC( const TDesC8& aContactLink,
-            const CPhCntSingleItemFetch::TCallType aCallType ) const;
-    /**
-     * From base class MPhCntServiceRequestParamFactory
-     *
-     * @since S60 v3.2
-     * @see MPhCntServiceRequestParamFactory
-     */   	
-    MPhCntServiceRequestParam* CreateGetPhoneNumberFromContactParamL(
-        const TDesC8& aContactLink,
-        const CPhCntSingleItemFetch::TCallType aCallType ) const;
-            
-        
-protected:
-        
-    CPhCntServiceRequestParamFactory( MPhCntContactManager* aContactManager );
-    
-private: // Data
-
-    /**
-     * Contact manager.
-     * Not own.
-     */
-    MPhCntContactManager* iContactManager;
-
-    };
-
-#endif // TPHCNTSERVICEREQUESTPARAMFACTORY_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntservicerequestparams.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,357 +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:  Classes for service requests made to CPhCntService
-*
-*/
-
-
-#ifndef TPHCNTSERVICEREQUESTPARAMS_H
-#define TPHCNTSERVICEREQUESTPARAMS_H
-
-#include <e32base.h>
-#include <AiwCommon.hrh>
-#include <RVPbkContactFieldDefaultPriorities.h>
-
-#include "mphcntservicerequestparam.h"
-#include "CPhCntSingleItemFetch.h"
-
-class CAiwGenericParamList;
-class MPhCntContactManager;
-class MVPbkContactLinkArray;
-
-/**
- *  Base class for service request params.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntServiceRequestParams ) : 
-    public CBase, 
-    public MPhCntServiceRequestParam
-    {
-
-public:
-
-    /** 
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    ~CPhCntServiceRequestParams();
-    
-// From base class MPhCntServiceRequestParam
-
-    /**
-     * From base class MPhCntServiceRequestParam
-     * 
-     * @since S60 v3,1
-     * @see MPhCntServiceRequestParam
-     */
-    TAiwServiceCommands Command() const;
-    
-    /**
-     * From base class MPhCntServiceRequestParam
-     * 
-     * @since S60 v3,1
-     * @see MPhCntServiceRequestParam
-     */
-    const CAiwGenericParamList& InParamList() const;
-    
-protected:
-    
-    /**
-     * Constructor.
-     *
-     * @since S60 v3.1
-     * @param aAiwCommand AIW command.
-     */
-    CPhCntServiceRequestParams( TAiwServiceCommands aAiwCommand );
-    
-    void BaseConstructL();
-    
-
-private: // data
-
-    /**
-     * Command used with aiw.
-     */
-    TAiwServiceCommands iAiwCommand;
-    
-protected:
-
-    /**
-     * Param list used with AIW.
-     * Own.
-     */
-    CAiwGenericParamList* iGenericParamList;
-    
-    /**
-     * Default numbers.
-     * Own.
-     */
-    RVPbkContactFieldDefaultPriorities iDefaultPriorities; 
-    };
-    
-/**
- *  Request parameters for creating new contact.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntCreateNewContactParams ) 
-    : public CPhCntServiceRequestParams
-    {
-public:
-    
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aPhoneNumber Phone number of the new contact.
-     */
-    static CPhCntCreateNewContactParams* NewL( 
-        const TDesC& aPhoneNumber );  
-    
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aPhoneNumber Phone number of the new contact.
-     */
-    static CPhCntCreateNewContactParams* NewLC(
-        const TDesC& aPhoneNumber );  
-    
-private:
-    
-    CPhCntCreateNewContactParams( const TDesC& aPhoneNumber );
-    
-    void ConstructL();
-    
-private:
-    
-    /**
-     * Phone number set to created contact.
-     * Not own.
-     */
-    const TDesC& iPhoneNumber;
-    
-    };
-    
-/**
- *  Request parameters for updating existing contact.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntUpdateExistingContact ) 
-    : public CPhCntServiceRequestParams
-    {
-public:
-    
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aPhoneNumber Phone number to be added to existing contact..
-     */
-    static CPhCntUpdateExistingContact* NewL( 
-        const TDesC& aPhoneNumber );  
-    
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aPhoneNumber Phone number to be added to existing contact..
-     */
-    static CPhCntUpdateExistingContact* NewLC(
-        const TDesC& aPhoneNumber );  
-    
-private:
-    
-    CPhCntUpdateExistingContact( const TDesC& aPhoneNumber );
-    
-    void ConstructL();
-    
-private:
-    
-    /**
-     * Phone number set to created contact.
-     * Not own.
-     */
-    const TDesC& iPhoneNumber;
-    
-    };
-class CVPbkFieldTypeSelector;
-    
-/**
- *  Request parameter for getting user selected phone number link.
- *
- *  @lib PhoneCntFinder.lib
- *  @since  v3.2
- */
-NONSHARABLE_CLASS( CPhCntGetUserSelectedPhoneNumberLink ) : 
-    public CPhCntServiceRequestParams
-    {
-public:
-
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     * @param aCallUsedWithLSK ETrue - Left softkey is 'Call'
-     *                   EFalse - Left softkey is 'Select'
-     * @param aContactManager Reference to contact manager.
-     */
-    static CPhCntGetUserSelectedPhoneNumberLink* NewLC( TBool aCallUsedWithLSK,
-                                        MPhCntContactManager& aContactManager );
-    
-    ~CPhCntGetUserSelectedPhoneNumberLink();
-
-private:
-    
-    CPhCntGetUserSelectedPhoneNumberLink();
-    
-    void ConstructL( TBool aCallUsedWithLSK, 
-                     MPhCntContactManager& aContactManager );
-
-private: // data
-
-	/**
-     * Filter
-     * Own.
-     */
-    CVPbkFieldTypeSelector* iContactViewFilter; 
-    };
-    
-/**
- *  Request parameter for getting user selected voip address link.
- *
- *  @lib PhoneCntFinder.lib
- *  @since  v3.2
- */
-NONSHARABLE_CLASS( CPhCntGetUserSelectedVoIPAddressLink ) : 
-    public CPhCntServiceRequestParams
-    {
-public:
-
-    /**
-     * Static constructor.
-     * 
-     * @since S60 v3.1
-     */
-    static CPhCntGetUserSelectedVoIPAddressLink* NewLC(
-        MPhCntContactManager& aContactManager,
-        TBool aCallUsedWithLSK = ETrue );
-    
-private:
-    
-    CPhCntGetUserSelectedVoIPAddressLink();
-    
-    void ConstructL(
-        MPhCntContactManager& aContactManager,
-        TBool aCallUsedWithLSK );
-
-private:
-        
-    /**
-     * Filter
-     * Own.
-     */
-    CVPbkFieldTypeSelector* iContactViewFilter; 
-    };
-
-/**
- * Request parameter for getting user selected dtmf number link.
- *
- * @lib PhoneCntFinder.lib
- * @since v3.2
- */
-NONSHARABLE_CLASS( CPhCntGetUserSelectedDtmfNumberLink ) : 
-    public CPhCntServiceRequestParams
-    {
-public:
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.2
-     * @param aContactManager Reference to contact manager.
-     */
-    static CPhCntGetUserSelectedDtmfNumberLink* NewLC(
-        MPhCntContactManager& aContactManager );
-        
-    ~CPhCntGetUserSelectedDtmfNumberLink();
-    
-private:
-
-    CPhCntGetUserSelectedDtmfNumberLink();
-    
-    void ConstructL( MPhCntContactManager& aContactManager );
-    
-private:
-
-    /**
-     * Filter
-     * Own.
-     */
-    CVPbkFieldTypeSelector* iContactViewFilter; 
-    };
-
-
-
-/**
- * Request parameter for getting a phone number from a contact link.
- *
- * @lib PhoneCntFinder.lib
- * @since v3.2
- */
-NONSHARABLE_CLASS( CPhCntGetPhoneNumberReqParam ) : 
-    public CPhCntServiceRequestParams
-    {
-public:
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.2
-     * @param aContactLink Contact link
-     */
-    static CPhCntGetPhoneNumberReqParam* NewL(
-    	MPhCntContactManager& aContactManager,
-    	MVPbkContactLinkArray& aLinkArray,
-    	const CPhCntSingleItemFetch::TCallType aCallType
-        );
-        
-    ~CPhCntGetPhoneNumberReqParam();
-    
-private:
-
-    CPhCntGetPhoneNumberReqParam();
-    
-    void ConstructL( 
-    	MPhCntContactManager& aContactManager, 
-    	MVPbkContactLinkArray& aLinkArray, 
-    	const CPhCntSingleItemFetch::TCallType aCallType
-    	);
-    
-private: // data
-
-	/**
-     * Filter
-     * Own.
-     */
-    CVPbkFieldTypeSelector* iContactViewFilter; 
-    };
-
-#endif // TPHCNTSERVICEREQUESTPARAMS_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntsipuri.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +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:  SIP URI descriptor
-*
-*/
-
-
-#ifndef TPHCNTSIPURI_H
-#define TPHCNTSIPURI_H
-
-#include <e32std.h>
-
-/**
- *  SIP URI descriptor
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-class TPhCntSipURI 
-    {
-
-public:
-
-    /**
-     * Constructor.
-     *
-     * @since S60 v3.1
-     * @param aSipURI Sip URI.
-     */
-    TPhCntSipURI( 
-        const TDesC& aSipURI,
-        TInt aDigitsForMatching = 0 );
-
-    /**
-     * Gives the username part.
-     *
-     * @since S60 v3.1
-     * @return Username part of SIP URI.
-     */
-    const TDesC& UserNamePart() const;
-
-    /**
-     * Gives the sip uri, where extra SIP chars has been removed.
-     * Sip uri will be in format "username@domain"
-     *
-     * @since S60 v3.1
-     * @return Sip uri
-     */
-    const TDesC& SipURI() const;
-    
-    /**
-     * Gives the fixed username part.
-     * User part is 
-     *
-     * @since S60 v3.1
-     * @return Username part of SIP URI.
-     */
-    const TDesC& FixedUserNamePart() const;
-    
-protected:
-
-    void RemoveUnusedChars();
-     
-private: // Data
-
-    /** 
-     * Descriptor containing sip uri.
-     */
-    const TDesC& iSipURI;
-    
-    /**
-     * Sip uri, where not needed parts has been removed.
-     */
-    TPtrC iSipURIStripped;
-    
-    /**
-     * Username part.
-     */
-    TPtrC iUserNamePart;
-    
-     /**
-     * Fixed username part.
-     */
-    TPtrC iFixedUserNamePart;
-    
-     /**
-     * Digits for matchig.
-     */
-    TInt iDigitsForMatching;
-    
-    };
-
-
-
-#endif // TPHCNTSIPURI_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcnttxttospeech.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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:  Constructs text to speech descriptor.
-*
-*/
-
-
-#ifndef TPHCNTTXTTOSPEECH_H
-#define TPHCNTTXTTOSPEECH_H
-
-#include <e32std.h>
-
-/**
- *  Constructs text to speech descriptor.
- *  Converts data from contact to text to speech descriptor.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-class TPhCntTxtToSpeech 
-    {
-public:
-
-    /**
-     * Constructor.
-     *
-     * @since S60 v3.1
-     * @param aFirstName First name from contact.
-     * @param aSecondName aSecondName from contact.
-     * @param aLastName Last name from contact.
-     * @param aCompanyName Company name from contact.
-     * @param aFirstNamePronunciation First name pronunciation from contact.
-     * @param aLastNamePronunciation Last name pronunciation from contact.
-     * @param aCompanyNamePronunciation Company name pronunciation from contact.
-     * @param aCurrentLanguage Current language in use.
-     */
-    TPhCntTxtToSpeech( 
-        const TDesC& aFirstName,
-        const TDesC& aSecondName,
-        const TDesC& aLastName,
-        const TDesC& aCompanyName,
-        const TDesC& aFirstNamePronunciation,
-        const TDesC& aLastNamePronunciation,
-        const TDesC& aCompanyNamePronunciation,
-        TLanguage aCurrentLanguage
-    );
-
-    /**
-     * Constructs txt to speech string from contact field data, 
-     * given in constructor.
-     *
-     * @since S60 v3.1
-     * @param aTxtToSpeech Creates instance of txt to speech. May be null.
-     */
-     void GetTextToSpeechL( HBufC*& aTxtToSpeech ) const;
-
-private:
-
-    HBufC* AllocAndTrimL( const TDesC& aText ) const;
-    
-    TBool SwapNameOrder() const;
-    
-    HBufC* GetTrimmedNameLC( 
-        const TDesC& aWritenName, 
-        const TDesC& aNamePronunciation ) const;
-        
-    TInt CalculateTxtToSpeechLength( const HBufC* const aComponent, const HBufC* const aComponent2 ) const;
-
-private: // data
-
-    /** 
-     * Contact field data.
-     * Not own.
-     */
-    const TDesC& iFirstName;
-    const TDesC& iSecondName;
-    const TDesC& iLastName;
-    const TDesC& iCompanyName;
-    const TDesC& iFirstNamePronunciation;
-    const TDesC& iLastNamePronunciation;
-    const TDesC& iCompanyNamePronunciation;
-    TLanguage iCurrentLanguage;
-    };
-
-#endif // TPHCNTTXTTOSPEECH_H
--- a/phoneengine/PhoneCntFinder/ContactService/inc/tphcntvoipmatchArray.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +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:  Array of voip matches.
-*
-*/
-
-
-#ifndef TPHCNTVOIPMATCHARRAY_H
-#define TPHCNTVOIPMATCHARRAY_H
-
-#include <e32std.h>
-
-class CPhCntContact;
-class TPhCntSipURI;
-
-/**
- *  Array of voip matches
- *
- *  Offers way to figure out correct match from many matches.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-class TPhCntVoipMatchArray 
-    {
-public:
-    TPhCntVoipMatchArray();
-    
-    ~TPhCntVoipMatchArray();
-    
-    /**
-     * Adds contact, takes ownership if the contact.
-     *
-     * @since S60 v3.1
-     * @param aVoipMatch Voip match.
-     */
-    void AppendL( CPhCntContact* aVoipMatch );
-
-    /**
-     * Finds first matched contact, which number
-     * is matches aSipNumber. If no such match is found, null is
-     * returned. Note that the found match is not in this
-     * array after this call. Ownership of match is given
-     * to client.
-     *
-     * @since S60 v3.1
-     * @return Contact, which voip number is aSipURI
-     */
-    CPhCntContact* FindFullMatch( const TPhCntSipURI& aSipURI );
-    
-    /**
-     * Finds full or just username match from contacts added to this array.
-     * If no full matches are found then possible username match is given.
-     * Note that the found match is not in this array after this call. 
-     * Ownership of match is given to client.
-     * 
-     * @since S60 v3.1
-     * @param aSipUri Sip URI that the match is compared against.
-     * @return Found match. Null is returned if no match is found.
-     */
-    CPhCntContact* FindFullOrUsernameMatch( 
-        const TPhCntSipURI& aSipUri,
-        const TInt aCharsForMatch = 0 );
-    
-    /**
-     * Releases the matches. Needs to be called before this class goes 
-     * out of scope.
-     * @since S60 
-     */
-    void ReleaseMatches();
-    
-private:
-    
-    /**
-     * Removes contact from array of iMatches. If aMatch does not
-     * exist in iMatches then nothing is done.
-     * 
-     * @since S60 v3.1
-     * @param aContact Contact to be removed from iMatches.
-     */
-    void RemoveMatchFromArray( const CPhCntContact* const aContact );    
-
-    /**
-     * Match type.
-     */
-    enum TMatchType 
-        {
-        ENone,
-        EFullMatch,
-        EUserNameMatch,
-        };
-         
-    /**
-     * Determines if contact has aSipURI voip number.
-     *
-     * @since S60 v3.2
-     * @param aContact Contact, which is checked.
-     * @param aSipURI SIP URI
-     * @return ENone Contact does not have aSipURI voip number.
-     *         EFullMatch Contact has aSipUri voip number.
-     *         EUserNameMatch Contact has voip number which user name part
-     *         equals to aSupURI's user name part.
-     */
-    TMatchType HasVoipNumber( 
-        CPhCntContact& aContact,
-        const TPhCntSipURI& aSipURI,
-        const TInt aCharsForMatch = 0 ) const;
-    
-    /**
-     * Finds contact, which voip number is aSipUri or username part
-     * are same.
-     * 
-     * @since S60 v3.2
-     * @param aSipURI Voip number of wanted contact.
-     * @param aContact Contact found or null.
-     * @return ENone - No contact found.
-     *         EFullMatch Contact found with full match.
-     *         EUserNameMatch contact found that has same user name part
-     *         than aSipURI.
-     */
-    TMatchType FindFullOrUsernameMatch( 
-        const TPhCntSipURI& aSipUri,
-        CPhCntContact*& aFoundContact,
-        const TInt aCharsForMatch = 0 );
-      
-    
-private: // data
-
-    /**
-     * Array of contact matches.
-     * Own.
-     */
-    RPointerArray<CPhCntContact> iMatches;
-
-    };
-
-#endif // TPHCNTVOIPMATCHARRAY_H
--- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntAIWService.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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:  Aiw service wrapper.
-*
-*/
-
-
-#include "CPhCntAIWService.h"
-#include <AiwServiceHandler.h>
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-#include <AiwContactSelectionDataTypes.h>
-#include "mphcntservicerequestparam.h"
-#include "mphcntserviceresult.h"
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntAiwService* CPhCntAiwService::NewL() 
-	{
-	CPhCntAiwService* self = 
-	    new( ELeave )CPhCntAiwService();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//	
-CPhCntAiwService::~CPhCntAiwService() 
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// Cancels request if request is outstanding.
-// ---------------------------------------------------------------------------
-//    
-void CPhCntAiwService::Cancel()
-    {
-    if ( IsRequestActive() )
-    	{
-    	CancelRequest();
-    	iObserver = NULL;
-        iResult = NULL;
-        iParams = NULL;
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// Response received from AIW.
-// ---------------------------------------------------------------------------
-//   
-void CPhCntAiwService::ResponseReceived( 
-    TInt aError )
-    {
-    if( iObserver )
-        {
-        iObserver->RequestComplete( aError );
-        }
-    iObserver = NULL;
-    iResult = NULL;
-    iParams = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// Indicates if request is active.
-// ---------------------------------------------------------------------------
-//  
-TBool CPhCntAiwService::IsRequestActive() const
-    {
-    return iObserver && iResult && iParams;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntService
-// Executes AIW service request.
-// ---------------------------------------------------------------------------
-//
-void CPhCntAiwService::ExecuteRequestL( 
-    MPhCntServiceRequestParam& aServiceRequestParams, 
-    MPhCntServiceResult& aResult,
-    MPhCntAiwServiceObserver& aObserver)
-    {
-    CancelRequest();
-    iObserver = &aObserver;
-    SetRequestAndResult( aServiceRequestParams,aResult );
-   	DoMakeAsyncRequestL();
-    }
-
-// ---------------------------------------------------------------------------
-// Second-phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntAiwService::ConstructL() 
-	{
-	CPhCntService::ConstructL();
-	}
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//	
-CPhCntAiwService::CPhCntAiwService() :
-    CPhCntService()
-	{
-	}
-	
-
-     
--- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntContact.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,531 +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:  Contact data.
-*
-*/
-
-
-#include <CPbk2ImageManager.h>
-
-#include <featmgr.h>         // Feature Manager
-#include "CPhCntContact.h"
-#include "mphcntcontactfields.h"
-#include "cphcntfoundcontacts.h"
-#include "MPhCntContactManager.h"
-#include "MVPbkContactLink.h"
-#include "MVPbkContactLinkArray.h"
-#include "PhCntTrace.h"
-#include "cphcntvpbkcontactid.h"
-#include "tphcnttxttospeech.h"
-
-#include "tphcntsipuri.h"
-#include "CPhoneRawMatchNumberExtractor.h"
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContact* CPhCntContact::NewL( 
-    MPhCntContactFields* aContactFields,
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntContact* self = 
-        new( ELeave )CPhCntContact( 
-            aContactFields, aContactManager );
-            
-    CleanupStack::PushL( self);
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-  
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//  
-CPhCntContact::~CPhCntContact()
-    {
-    delete iContactFields;
-    delete iOriginalNumber;
-    delete iContactId;
-        
-    delete iMatchedVoipNumber;
-    if( iNumberExtractor )
-        {
-        iNumberExtractor->Release();    
-        }
-    FeatureManager::UnInitializeLib();
-    }
-    
-// ---------------------------------------------------------------------------
-// Setter
-// ---------------------------------------------------------------------------
-//
-void CPhCntContact::SetOriginalNumberL( const TDesC& aNumber )
-    {
-    HBufC* number = aNumber.AllocL();
-    delete iOriginalNumber;
-    iOriginalNumber = number;
-    }
-
-// ---------------------------------------------------------------------------
-// Getter
-// ---------------------------------------------------------------------------
-//    
-const TDesC& CPhCntContact::OriginalNumber() const
-    {
-    return *iOriginalNumber;
-    }
-    
-// ---------------------------------------------------------------------------
-// Sets the owner.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContact::SetOwner( CPhCntFoundContacts* aOwner )
-    {
-    iOwner = aOwner;
-    }
-    
-// ---------------------------------------------------------------------------
-// Increases reference count.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContact::IncreaseReferenceCount()
-    {
-    iReferenceCount++;
-    }
-
-// ---------------------------------------------------------------------------
-// All phone numbers
-// ---------------------------------------------------------------------------
-//    
-const RArray<TPhCntNumber>& CPhCntContact::AllNumbers() const
-    {
-    return iContactFields->AllNumbers();
-    }
-
-// ---------------------------------------------------------------------------
-// DTMF number
-// ---------------------------------------------------------------------------
-//    
-TPtrC CPhCntContact::Dtmf() const
-    {
-    return iContactFields->Dtmf();
-    }
-    
-// ---------------------------------------------------------------------------
-// Sets matched number in Voip case. 
-// ---------------------------------------------------------------------------
-//   
-void CPhCntContact::SetMatchedVoipNumber( 
-    const TPhCntSipURI& aSipUri )
-    {
-    delete iMatchedVoipNumber;
-    iMatchedVoipNumber = NULL;
-	//just ignore possible alloc failure
-	TRAP_IGNORE( iMatchedVoipNumber = HBufC::NewL( 
-		aSipUri.SipURI().Length() ) )
-    if( iMatchedVoipNumber ) 
-        {
-        iMatchedVoipNumber->Des().Append( aSipUri.SipURI() );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Releases this contact if no more references found.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContact::Release() 
-    {
-    iReferenceCount--;
-    // TODO: Panic if reference count < 0
-    if( iReferenceCount == 0 )
-        {
-        // TODO: Panic if iOwner == NULL;
-        iOwner->Remove( this );    
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-CPhCntContactId* CPhCntContact::ContactId() const 
-    {   
-    return iContactId;
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-MVPbkContactLink* CPhCntContact::ContactLink() const 
-    {   
-    return iContactFields->ContactLink();
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-MPhCntMatch::TNumberType CPhCntContact::NumberType() const   
-    {
-    MPhCntMatch::TNumberType numberType = iContactFields->NumberType();
-    // check if numbertype was found
-    if ( numberType == MPhCntMatch::ENone )  
-        {
-        // if not, then try to find numbertype among all numbers
-        if ( iOriginalNumber )
-            {
-            numberType = NumberType( *iOriginalNumber );
-            }
-        }
-    if( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        // If we have iMatchedNumber then there was voip match.
-        if( iMatchedVoipNumber ) 
-            {
-            numberType = MPhCntMatch::EVoipNumber;
-            }
-        }
-    return numberType;
-    }    
-
-// ---------------------------------------------------------------------------
-// Get number type from number that matches to supplied number 
-// Getter
-// ---------------------------------------------------------------------------
-//    
-MPhCntMatch::TNumberType CPhCntContact::NumberType( const TDesC& aNumber ) const   
-    {
-    const RArray<TPhCntNumber>& allNumbers = AllNumbers();		
-    MPhCntMatch::TNumberType numberType = MPhCntMatch::ENone;
-    // try to find number from allnumbers array
-    for ( TInt i = 0; i < allNumbers.Count(); i++ )
-        {
-        TPhCntNumber number( allNumbers[i] );
-        // compare 7 last digits
-        TBuf<KPhMatcherNumberCount> contactNumber;
-        TBuf<KPhMatcherNumberCount> originalNumber;
-    	iNumberExtractor->ExtractRawNumber( number.Number(), contactNumber ); 
-    	iNumberExtractor->ExtractRawNumber( aNumber, originalNumber ); 
-    
-        if ( originalNumber.Compare( contactNumber ) == KErrNone )
-            {
-            // number found, get numbertype
-            numberType = number.Type();
-            break;
-            }
-        }   
-    return numberType;
-    } 
-       
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Constructs the cli
-// ---------------------------------------------------------------------------
-//
-MPhCntMatch::TCliType CPhCntContact::Cli( HBufC*& aCliText ) const
-    {
-    TCliType cliType = ECliEmpty;
-    
-    HBufC* contactTitle = NULL;
-    TRAP_IGNORE( contactTitle = iContactFields->GetContactTitleL() );
-    
-    if( contactTitle ) 
-        {
-        aCliText = contactTitle;
-        cliType = ECliName;
-        }
-    else
-        {
-        // No contact title so try to use phonenumber
-        const TPtrC phoneNumber = Number();
-        if( phoneNumber.Length() > 0 )
-            {
-            contactTitle = phoneNumber.Alloc();
-            if( contactTitle ) 
-                {
-                cliType = ECliNumber;
-                }
-            }
-        }
-        
-    if( cliType == ECliName )
-        {
-        // Is the contact title as contact title.
-        if( CompanyName().Compare( contactTitle->Des() ) == 0 &&
-            FirstName().Length() == 0 &&
-            LastName().Length() == 0 )
-            {
-            cliType = ECliCompany;
-            }
-        }
-        
-    aCliText = contactTitle;
-    return cliType;
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContact::FirstName() const 
-    {
-    return iContactFields->FirstName();
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContact::LastName() const 
-    {
-    return iContactFields->LastName();
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContact::CompanyName() const 
-    {
-    return iContactFields->CompanyName();
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContact::Number() const
-    {
-    TPtrC number = iContactFields->Number();
-    if( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        if( iMatchedVoipNumber ) 
-            {
-            number.Set( *iMatchedVoipNumber );
-            }
-        }
-    return number;
-    }
-    
-// ---------------------------------------------------------------------------    
-// Finds a phone number for the requested speed dial position.
-// ---------------------------------------------------------------------------
-//         
-TPhCntNumber CPhCntContact::SpeedDialNumber( const TInt aPosition )
-	{
-	TPhCntNumber contactNumber;
-	const RArray<TPhCntNumber>& allNumbers = AllNumbers();		
-    const TInt count( allNumbers.Count() );
-	for ( TInt numberIndex = 0; numberIndex < count && contactNumber.Type() == MPhCntMatch::ENone; numberIndex++ )
-		{
-		TPhCntNumber number( allNumbers[numberIndex] );	
-		if ( number.Position() == aPosition )
-			{						
-			contactNumber.Set( number.Number(), number.Type(), number.Position() );		
-			}
-		}	
-	return contactNumber;
-	}    
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContact::PersonalRingingTone() const 
-    {
-    return iContactFields->PersonalRingingTone();
-    }
- 
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-// 
-CDesCArray& CPhCntContact::AllDtmfNumbers() const 
-    {
-    return *iContactFields->AllDtmfNumbers();
-    }
-    
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Determines if this contact belongs to some of the groups
-// ---------------------------------------------------------------------------
-//   
-TBool CPhCntContact::BelongsToGroups( 
-    const CArrayFix<TContactItemId>& aGroupArray ) const 
-    {
-    PRINT( "PhCnt: Contact.BelongsToGroups" );
-    TBool belongsToGroup = EFalse;
-    MVPbkContactLinkArray* groupLinks = NULL;
-    TRAP_IGNORE( 
-        groupLinks = 
-            iContactManager.ConvertContactIdsToLinksL( aGroupArray );
-        belongsToGroup = BelongsToGroupsL( groupLinks );
-        );
-    delete groupLinks;
-    return belongsToGroup;
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-HBufC* CPhCntContact::TextToSpeechTextL() const 
-    {
-    TPhCntTxtToSpeech txtToSpeech( 
-        iContactFields->FirstName(), 
-        iContactFields->SecondName(),
-        iContactFields->LastName(),
-        iContactFields->CompanyName(),
-        iContactFields->FirstNamePronunciation(),
-        iContactFields->LastNamePronunciation(),
-        iContactFields->CompanyNamePronunciation(),
-        User::Language() );
-    
-    HBufC* textToSpeech = NULL;
-    txtToSpeech.GetTextToSpeechL( textToSpeech );
-    return textToSpeech;
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContact::CallImage() const
-    {
-    return iContactFields->CallImage();
-    }
-    
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContact::CallText() const
-    {
-    return iContactFields->CallText();
-    }
-    
-// ---------------------------------------------------------------------------
-// From base class MPhCntMatch
-// Getter
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntContact::HasThumbnailImage() const
-    {
-    return iContactFields->HasThumbnail();
-    }
-    
-// ---------------------------------------------------------------------------
-// Loads thumbnail of this contact.
-// ---------------------------------------------------------------------------
-//
-MPbk2ImageOperation* CPhCntContact::LoadThumbnailL(
-    MPbk2ImageGetObserver& aObserver )
-    {
-    const MVPbkFieldType* thumbnailFieldType = 
-        iContactFields->ThumbnailField();
-    
-    MPbk2ImageOperation* oper = NULL;
-    if( thumbnailFieldType ) 
-        {
-        oper = iContactManager.RetrieveImageL( 
-                    iContactFields->StoreContact(),
-                    *thumbnailFieldType,
-                    aObserver );    
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-    return oper;
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContact::CPhCntContact( 
-    MPhCntContactFields* aContactFields,
-    MPhCntContactManager& aContactManager ) :
-    iContactFields( aContactFields ),
-    iContactManager( aContactManager )
-    {
-    
-    } 
-
-// ---------------------------------------------------------------------------
-// Secondphase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntContact::ConstructL(  ) 
-    {
-    iOriginalNumber = KNullDesC().AllocL();
-    MVPbkContactLink* contactLink = iContactFields->ContactLink();
-    MVPbkContactLink* clonedLink = NULL;
-    if( contactLink ) 
-        {
-        clonedLink = contactLink->CloneLC();
-        CleanupStack::Pop(); // clonedLink
-        }
-    iContactId = CPhCntVPbkContactId::NewL( clonedLink, iContactManager );
-    iNumberExtractor = new( ELeave )CCntRawPhoneNumberExtractor();
-    iNumberExtractor->ConstructL();
-    FeatureManager::InitializeLibL();
-    }
-
-// ---------------------------------------------------------------------------
-// Checks if this belongs to any of the groups.
-// ---------------------------------------------------------------------------
-//    
-TBool CPhCntContact::BelongsToGroupsL( 
-    MVPbkContactLinkArray* aGroups ) const
-    {
-    TBool belongsToGroups = EFalse;
-    if( aGroups )
-        {
-        MVPbkContactLinkArray* groupsThisContactBelongsTo =
-            iContactFields->ContactGroupsLC();
-
-        if( groupsThisContactBelongsTo )
-            {
-            PRINTF( "PhCnt: Contact.BelongsToGroups.group count.%d", groupsThisContactBelongsTo->Count() );
-            for( TInt i = 0; i < aGroups->Count() && !belongsToGroups; i++ )
-                {
-                const MVPbkContactLink& linkToGroup( aGroups->At( i ) );
-                
-                // Find returns index if found from array.
-                if( groupsThisContactBelongsTo->Find( linkToGroup ) >= 0 )
-                    {
-                    belongsToGroups = ETrue;
-                    }
-                }
-            CleanupStack::PopAndDestroy(); // groupsThisContactBelongsTo
-            }
-        }
-    return belongsToGroups;
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactManager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,523 +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:  Contact manager
-*
-*/
-
-#include <CVPbkContactManager.h>
-#include <CVPbkContactStoreUriArray.h>
-#include <TVPbkContactStoreUriPtr.h>
-#include <MVPbkContactStoreList.h>
-#include <MPbk2ContactNameFormatter.h>
-#include <CPbk2SortOrderManager.h>
-#include <Pbk2ContactNameFormatterFactory.h>
-#include <CVPbkContactIdConverter.h>
-#include <MVPbkContactStore.h>
-#include <MVPbkContactLink.h>
-#include <CVPbkContactLinkArray.h>
-#include <MVPbkContactAttributeManager.h>
-#include <CVPbkSpeedDialAttribute.h>
-#include <CPbk2ImageManager.h>
-#include <MVPbkStoreContact.h>
-#include <VPbkContactStoreUris.h>
-#include <MVPbkFieldType.h>
-#include <CVPbkFieldTypeRefsList.h>
-#include <VPbkEng.rsg>
-#include <MVPbkContactStoreProperties.h>
-#include <CVPbkFieldTypeSelector.h>
-#include <VPbkContactViewFilterBuilder.h>
-#include <talogger.h>
-
-#include "cphcntcontactmatchstrategy.h"
-#include "CPhCntContactManager.h"
-#include "CPhCntContact.h"
-#include "cphcntcontactstoreuris.h"
-#include "mphcntstoreloaderobserver.h"
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactManager* CPhCntContactManager::NewL()
-    {
-    CPhCntContactManager* self = new( ELeave )CPhCntContactManager();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactManager::~CPhCntContactManager()
-    {
-    delete iVoipFieldTypeList;
-    delete iImageManager;
-    delete iSpeedDialAttribute;
-    delete iContactIdConverter;
-    delete iContactNameFormatter;
-    delete iSortOrder;
-    if( iContactManager )
-        {
-        TRAP_IGNORE( iContactManager->ContactStoresL().CloseAll( *this ) );
-        }
-    delete iContactManager;
-    delete iContactStoreUris;
-    }
-
-// ---------------------------------------------------------------------------
-// Gives contact manager.
-// ---------------------------------------------------------------------------
-//
-CVPbkContactManager& CPhCntContactManager::ContactManager() const
-    {
-    return *iContactManager;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Retrieves contact from contact stores.
-// ---------------------------------------------------------------------------
-//
-MVPbkContactOperationBase* CPhCntContactManager::RetrieveContactL(
-    const MVPbkContactLink& aLink,
-    MVPbkSingleContactOperationObserver& aObserver)
-    {
-    return iContactManager->RetrieveContactL( aLink, aObserver );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Gives contact stores.
-// ---------------------------------------------------------------------------
-//
-MVPbkContactStoreList& CPhCntContactManager::ContactStoresL() const
-    {
-    return iContactManager->ContactStoresL();
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Creates contact match strategy.
-// ---------------------------------------------------------------------------
-//
-MPhCntContactMatchStrategy* CPhCntContactManager::CreateContactMatchStrategyL(
-    MVPbkContactFindObserver& aObserver,
-    TBool aRemoveDuplicates )
-    {
-    return CPhCntContactMatchStrategy::NewL(
-        *iContactManager,
-        *iContactStoreUris,
-        aObserver,
-        aRemoveDuplicates ?
-        CVPbkPhoneNumberMatchStrategy::EVPbkDuplicatedContactsMatchFlag :
-        CVPbkPhoneNumberMatchStrategy::EVPbkMatchFlagsNone );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Converts contact ids to contact links.
-// ---------------------------------------------------------------------------
-//
-MVPbkContactLinkArray* CPhCntContactManager::ConvertContactIdsToLinksL(
-        const CArrayFix<TContactItemId>& aContactId ) const
-    {
-    CVPbkContactLinkArray* contactLinks = CVPbkContactLinkArray::NewLC();
-
-    const TInt contactIdCount( aContactId.Count() );
-    for( TInt i = 0; i < contactIdCount; i++ )
-        {
-        MVPbkContactLink* link =
-            ConvertContactIdToLinkL( aContactId.At( i ) );
-
-        if( link )
-            {
-            contactLinks->AppendL( link );
-            }
-        }
-    CleanupStack::Pop( contactLinks );
-    return contactLinks;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Converts contact id to contact link.
-// ---------------------------------------------------------------------------
-//
-MVPbkContactLink* CPhCntContactManager::ConvertContactIdToLinkL(
-    TContactItemId aContactId ) const
-    {
-    MVPbkContactLink* link = NULL;
-    if( aContactId != KNullContactId )
-        {
-        link = iContactIdConverter->IdentifierToLinkLC( aContactId );
-        CleanupStack::Pop(); // link
-        }
-    return link;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Converts contact link to contact id.
-// ---------------------------------------------------------------------------
-//
-TContactItemId CPhCntContactManager::ConvertContactLinkToContactId(
-    const MVPbkContactLink& aContactLink ) const
-    {
-    return iContactIdConverter->LinkToIdentifier( aContactLink );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Converts contact link descriptor to contact link.
-// ---------------------------------------------------------------------------
-//
-MVPbkContactLink* CPhCntContactManager::ConvertDescriptorToLinkL(
-    const TDesC8& aPackedLink ) const
-    {
-    MVPbkContactLink* link = NULL;
-    if( aPackedLink.Length() > 0 )
-        {
-        MVPbkContactLinkArray* links =
-            iContactManager->CreateLinksLC( aPackedLink );
-        if( links && links->Count() > 0 )
-            {
-            link = links->At( 0 ).CloneLC();
-            CleanupStack::Pop(); // Link from CloneLC
-            }
-        CleanupStack::PopAndDestroy(); // Links
-        }
-    return link;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Retrieves speed dial contact link.
-// ---------------------------------------------------------------------------
-//
-MVPbkContactOperationBase* CPhCntContactManager::RetrieveSpeedDialContactLinkL(
-        const TInt aSpeedDialPosition,
-        MVPbkContactFindObserver& aObserver )
-    {
-    MVPbkContactAttributeManager& attributeManager =
-        iContactManager->ContactAttributeManagerL();
-
-    iSpeedDialAttribute->SetIndex( aSpeedDialPosition );
-
-
-    return attributeManager.ListContactsL(
-                *iSpeedDialAttribute,
-                aObserver );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Indicates whether the field had a speed dial attribute set.
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntContactManager::HasSpeedDialL(
-		const TInt aSpeedDialPosition,
-		const MVPbkStoreContactField& aField )
-    {
-    TBool result = EFalse;
-
-    MVPbkContactAttributeManager& attributeManager =
-        iContactManager->ContactAttributeManagerL();
-
-	CVPbkSpeedDialAttribute* attr = CVPbkSpeedDialAttribute::NewL( aSpeedDialPosition );
-    CleanupStack::PushL( attr );
-
-    result = attributeManager.HasFieldAttributeL(
-    			*attr,
-    			aField );
-
-	CleanupStack::PopAndDestroy( attr );
-
-	return result;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Retrieves contacts image.
-// ---------------------------------------------------------------------------
-//
-MPbk2ImageOperation* CPhCntContactManager::RetrieveImageL(
-    MVPbkStoreContact& aStoreContact,
-    const MVPbkFieldType& aFieldType,
-    MPbk2ImageGetObserver& aObserver )
-    {
-
-    return iImageManager->GetImageAsyncL(
-        	NULL,
-            aStoreContact,
-            aFieldType,
-            aObserver );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Creates field type selector.
-// ---------------------------------------------------------------------------
-//
-CVPbkFieldTypeSelector* CPhCntContactManager::CreateFieldTypeSelectorL() const
-    {
-    return CVPbkFieldTypeSelector::NewL( iContactManager->FieldTypes() );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Appends filter to selector.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactManager::AppendFilterToSelectorL(
-    CVPbkFieldTypeSelector& aSelector,
-    TVPbkContactViewFilter aFilter )
-    {
-    VPbkContactViewFilterBuilder::BuildContactViewFilterL(
-		aSelector,
-		aFilter,
-		*iContactManager );
-    }
-
-
-//-----------------------------------------------------------------------------
-// From base class MPhCntContactFinder.
-// Loads the contact store specified in the given contact link.
-//-----------------------------------------------------------------------------
-//
-void CPhCntContactManager::LoadContactStoreL( const TDesC8& aContactLink,
-        MPhCntStoreLoaderObserver& aObserver )
-    {
-    __ASSERT_ALWAYS( NULL == iStoreLoaderObserver, User::Leave( KErrInUse ) );
-
-    MVPbkContactLink* link = ConvertDescriptorToLinkL( aContactLink );
-
-    // Link conversion has a side effect of loading store plug-in, but
-    // make sure that store really gets loaded.
-    const TVPbkContactStoreUriPtr uri
-        = link->ContactStore().StoreProperties().Uri();
-    delete link;
-    iContactManager->LoadContactStoreL( uri );
-
-    // Start asynchronous opening of the store.
-    MVPbkContactStore* store = iContactManager->ContactStoresL().Find( uri );
-    __ASSERT_ALWAYS( NULL != store, User::Leave( KErrNotFound ) );
-
-    store->OpenL( *this );
-    iStoreLoaderObserver = &aObserver;
-    }
-
-//-----------------------------------------------------------------------------
-// From base class MPhCntContactManager.
-//-----------------------------------------------------------------------------
-//
-CPhCntContactStoreUris& CPhCntContactManager::ContactStoreUrisL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntContactManager::ContactStoreListL" );
-    return *iContactStoreUris;
-    }
-
-//-----------------------------------------------------------------------------
-// From base class MPhCntContactFinder.
-// Constructs fieldtype list, which identifies voip fields and
-// performs the find for voip fields.
-//-----------------------------------------------------------------------------
-//
-MVPbkContactOperationBase* CPhCntContactManager::FindVoipContactsL(
-    const TDesC& aSipURI,
-    MVPbkContactFindObserver& aObserver ) const
-    {
-    return iContactManager->FindL( aSipURI, *iVoipFieldTypeList, aObserver );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactManager
-// Gives contact name formatter.
-// ---------------------------------------------------------------------------
-//
-MPbk2ContactNameFormatter& CPhCntContactManager::ContactNameFormatter()
-    {
-    return *iContactNameFormatter;
-    }
-
-// ---------------------------------------------------------------------------
-// From MVPbkContactStoreListObserver
-// Indication that contact stores has been opened.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactManager::OpenComplete()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// From MVPbkContactStoreListObserver
-// Indication that contact store has been opened.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactManager::StoreReady(
-    MVPbkContactStore& aContactStore )
-    {
-    TVPbkContactStoreUriPtr uri = aContactStore.StoreProperties().Uri();
-
-    if ( iStoreLoaderObserver
-            && !iContactStoreUris->ContactStores().IsIncluded( uri ) )
-        {
-        TRAP_IGNORE( iContactStoreUris->AddContactStoreL( uri ) );
-
-        iStoreLoaderObserver->ContactStoreLoadingCompleted(
-            &aContactStore, KErrNone );
-        iStoreLoaderObserver = NULL;
-        }
-    iContactStoreUris->StoreReady( uri );
-    }
-
-// ---------------------------------------------------------------------------
-// From MVPbkContactStoreListObserver
-// Indication that contact store has become unavailable.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactManager::StoreUnavailable(
-    MVPbkContactStore& aContactStore,
-    TInt /*aReason*/ )
-    {
-    TVPbkContactStoreUriPtr uri = aContactStore.StoreProperties().Uri();
-    iContactStoreUris->StoreUnavailable( uri );
-    }
-
-// ---------------------------------------------------------------------------
-// From MVPbkContactStoreListObserver
-// Contact store event.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactManager::HandleStoreEventL(
-    MVPbkContactStore& aContactStore,
-    TVPbkContactStoreEvent aStoreEvent )
-    {
-    switch( aStoreEvent.iEventType )
-        {
-        case TVPbkContactStoreEvent::EStoreRestoreBeginning:
-        case TVPbkContactStoreEvent::EStoreBackupBeginning:
-            StoreUnavailable( aContactStore, KErrNone );
-            break;
-
-        case TVPbkContactStoreEvent::EStoreBackupRestoreCompleted:
-            StoreReady( aContactStore );
-            break;
-        default:
-            break;
-        }
-    }
-
-//-----------------------------------------------------------------------------
-// From base class MPhCntContactFinder.
-// Loads the contact store specified with URI.
-//-----------------------------------------------------------------------------
-void CPhCntContactManager::LoadContactStoreWithUriL(
-    const TDesC& aStoreUri,
-    MPhCntStoreLoaderObserver& aObserver )
-    {
-    __ASSERT_ALWAYS( NULL == iStoreLoaderObserver, User::Leave( KErrInUse ) );
-    iContactManager->LoadContactStoreL( aStoreUri );
-
-    // Start asynchronous opening of the store.
-    MVPbkContactStore* store = iContactManager->ContactStoresL().Find( aStoreUri );
-    __ASSERT_ALWAYS( NULL != store, User::Leave( KErrNotFound ) );
-
-    store->OpenL( *this );
-    iStoreLoaderObserver = &aObserver;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactManager::CPhCntContactManager()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactManager::ConstructL()
-    {
-    iContactStoreUris = CPhCntContactStoreUris::NewL();
-
-    iContactManager =
-        CVPbkContactManager::NewL( iContactStoreUris->ContactStores() );
-
-    // Open stores so that they are accesible.
-    iContactManager->ContactStoresL().OpenAllL( *this );
-
-    const MVPbkFieldTypeList& fieldTypes = iContactManager->FieldTypes();
-
-    iSortOrder = CPbk2SortOrderManager::NewL( fieldTypes );
-
-    iContactNameFormatter = Pbk2ContactNameFormatterFactory::CreateL(
-            KNullDesC, fieldTypes,
-            *iSortOrder );
-    MVPbkContactStoreList& contactStores = iContactManager->ContactStoresL();
-    TVPbkContactStoreUriPtr uri(VPbkContactStoreUris::DefaultCntDbUri() );
-    iContactDBStore = contactStores.Find( uri );
-    iContactIdConverter = CVPbkContactIdConverter::NewL( *iContactDBStore );
-    iSpeedDialAttribute = CVPbkSpeedDialAttribute::NewL();
-
-    iImageManager = CPbk2ImageManager::NewL( *iContactManager );
-
-    iVoipFieldTypeList = CVPbkFieldTypeRefsList::NewL();
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_VOIPGEN ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_VOIPHOME ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_VOIPWORK ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_MOBILEPHONEHOME ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_MOBILEPHONEWORK ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_MOBILEPHONEGEN ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_LANDPHONEHOME ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_LANDPHONEWORK ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_LANDPHONEGEN ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_CARPHONE ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_IMPP ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_SIP ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_PAGERNUMBER ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_FAXNUMBERGEN ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_FAXNUMBERHOME ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_FAXNUMBERWORK ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_VIDEONUMBERHOME ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_VIDEONUMBERWORK ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_VIDEONUMBERGEN ) );
-    AddVoipFieldTypeL( fieldTypes.Find( R_VPBK_FIELD_TYPE_ASSTPHONE ) );
-    }
-
-// ---------------------------------------------------------------------------
-// Adds voip field type to array.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactManager::AddVoipFieldTypeL(
-    const MVPbkFieldType* aVoipFieldType )
-    {
-    if( aVoipFieldType )
-        {
-        iVoipFieldTypeList->AppendL( *aVoipFieldType );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Return list of additional contact store uris.
-// ---------------------------------------------------------------------------
-//
-const CVPbkContactStoreUriArray& CPhCntContactManager::AdditionalContactStoreUris()
-    {
-    return iContactStoreUris->AdditionalContactStores();
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntContactStores.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +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:  Contact stores.
-*
-*/
-
-
-#include "CPhCntContactStores.h"
-#include "MPhCntContactManager.h"
-#include "MPhCntContactFetchObserver.h"
-#include "CPhCntContact.h"
-#include "cphcntcontactfieldsresolver.h"
-#include <MVPbkContactOperationBase.h>
-#include <CVPbkContactLinkArray.h>
-#include <MVPbkStoreContact.h>
-#include <MVPbkContactLink.h>
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactStores* CPhCntContactStores::NewL( 
-    MPhCntContactManager& aContactManager ) 
-    {
-    CPhCntContactStores* self = new( ELeave )CPhCntContactStores( aContactManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactStores::~CPhCntContactStores() 
-    {
-    CancelRequest();
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactStores
-// Determines if request is active.
-// ---------------------------------------------------------------------------
-//     
-TBool CPhCntContactStores::IsRequestActive() const
-    {
-    TBool isActive( EFalse );
-    if( iRetrieveContactOperation )
-        {
-        isActive = ETrue;
-        }
-    return isActive;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactStores
-// Cancels the request.
-// ---------------------------------------------------------------------------
-//       
-void CPhCntContactStores::CancelRequest()
-    {
-    delete iRetrieveContactOperation;
-    iRetrieveContactOperation = NULL;
-    }
- 
-// ---------------------------------------------------------------------------
-// From MPhCntContactStores
-// Fetches contact from contact store.
-// ---------------------------------------------------------------------------
-//   
-void CPhCntContactStores::FetchContactL( 
-    const MVPbkContactLink& aLink, 
-    MPhCntContactFetchObserver& aObserver ) 
-    {
-    // If we already have somebody fetching contact...
-    if ( iContactFetchObserver )
-        {
-        User::Leave(KErrInUse);
-        }
-            
-    iLink = aLink.CloneLC();
-    CleanupStack::Pop( 1 );
-    iContactFetchObserver = &aObserver;
-    iRetrieveContactOperation = 
-        iContactManager.RetrieveContactL( *iLink, *this ); 
-     
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactStores
-// Fetches first contact pointed by contact links.
-// ---------------------------------------------------------------------------
-//    
-void CPhCntContactStores::FetchFirstContactL( 
-    const TDesC8& aContactLinks,
-    MPhCntContactFetchObserver& aObserver ) 
-    {
-    if ( iContactFetchObserver )
-        {
-        User::Leave(KErrInUse);
-        }
-        
-    CVPbkContactLinkArray* linkArray = 
-        CreateContactLinkArrayL( aContactLinks );
-    CleanupStack::PushL( linkArray );
-    
-    if( linkArray->Count() > 0 ) 
-        {
-        const MVPbkContactLink& link = linkArray->At( 0 );
-        MVPbkContactLink* cloneLink = link.CloneLC();
-        CleanupStack::Pop(); // cloneLink
-        iLink = cloneLink;
-        iContactFetchObserver = &aObserver;
-        iRetrieveContactOperation = 
-            iContactManager.RetrieveContactL( *iLink, *this ); 
-        }
-    else
-        {
-        aObserver.ContactReceived( NULL, KErrNotFound );
-        }
-    CleanupStack::PopAndDestroy( linkArray );
-    }
-    
-// ---------------------------------------------------------------------------
-// From MPhCntContactStores
-// Creates contact link array
-// ---------------------------------------------------------------------------
-//
-CVPbkContactLinkArray* CPhCntContactStores::CreateContactLinkArrayL( 
-    const TDesC8& aLinks ) 
-    {
-    CVPbkContactLinkArray* linkArray = 
-        CVPbkContactLinkArray::NewLC( 
-            aLinks, iContactManager.ContactStoresL() );
-    CleanupStack::Pop( linkArray );
-    return linkArray;
-    }
-    
-// ---------------------------------------------------------------------------
-// From MVPbkSingeContactOperationObserver
-// Resolves the received contact and notifies the observer about 
-// contact reception.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactStores::VPbkSingleContactOperationComplete(
-    MVPbkContactOperationBase& /*aOperation*/,
-    MVPbkStoreContact* aContact ) 
-    {
-    CancelRequest();
-
-    CPhCntContact* contact = NULL;
-    CPhCntContactFieldsResolver* resolver = NULL;
-    TRAPD( err, 
-        resolver = 
-            CPhCntContactFieldsResolver::NewLC( 
-                iLink, aContact, iContactManager );
-            
-        contact =  
-            CPhCntContact::NewL( resolver, iContactManager );
-        CleanupStack::Pop( resolver );
-    )
-        
-    iContactFetchObserver->ContactReceived( contact, err );
-    iContactFetchObserver = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From MVPbkSingeContactOperationObserver
-// Notify observer that contact fetch failed.
-// ---------------------------------------------------------------------------
-//   
-void CPhCntContactStores::VPbkSingleContactOperationFailed(
-    MVPbkContactOperationBase& /*aOperation*/, 
-    TInt aError ) 
-    {
-    CancelRequest();
-    
-    delete iLink;
-    iLink = NULL;
-    iContactFetchObserver->ContactReceived( NULL, aError );
-    iContactFetchObserver = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//    
-CPhCntContactStores::CPhCntContactStores( 
-    MPhCntContactManager& aContactManager ) :
-    iContactManager( aContactManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor.
-// ---------------------------------------------------------------------------
-//    
-void CPhCntContactStores::ConstructL()
-    {
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntMatcherImpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,358 +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:  Matcher implementation
-*
-*/
-
-
-
-#include <CVPbkPhoneNumberMatchStrategy.h>
-#include <MVPbkContactLinkArray.h>
-#include <CPbk2StoreConfiguration.h>
-#include <MVPbkContactStoreProperties.h>
-#include <MVPbkContactStore.h>
-#include <CVPbkContactStoreUriArray.h>
-
-
-#include "CPhCntMatcherImpl.h"
-#include "cphcntmatchcontact.h"
-#include "cphcntfetchcontact.h"
-#include "cphcntfoundcontacts.h"
-#include "CPhCntContact.h"
-#include "CPhCntContactManager.h"
-#include "CPhCntContactStores.h"
-#include "MPhoneCntPbkOwner.h"
-#include "cphcntvpbkcontactid.h"
-#include "cphcntcontactmatchstrategy.h"
-#include <talogger.h>
-
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatcherImpl* CPhCntMatcherImpl::NewL(
-    const MPhoneCntPbkOwner& aOwner )
-    {
-    CPhCntMatcherImpl* self = new( ELeave )CPhCntMatcherImpl( aOwner );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatcherImpl::~CPhCntMatcherImpl()
-    {
-    delete iCSMatchStrategy;
-    delete iFoundContacts;
-    delete iContactStores;
-    delete iMatchContact;
-    delete iFetchContact;
-    }
-
-// ---------------------------------------------------------------------------
-// From CPhCntMatcher
-// Tries to find a contact which has aTelNumber.
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntMatcherImpl::MatchNumber(
-    MPhCntMatch*& aMatch,
-    const TDesC& aTelNumber )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::MatchNumber" );
-    TInt err = CreateMatcher();
-    if ( !err )
-    	{
-	    // Check if we already have the contact.
-	    CPhCntContact* contact = iFoundContacts->FindContact( aTelNumber );
-
-	    err = KErrNone;
-	    if( !contact )
-	        {
-	        // Get contact from contact stores
-	        TRAPD( traperr, err = GetContactL( aMatch, aTelNumber ));
-	        if ( traperr )
-	            {
-	            err = traperr;
-	            }
-	        }
-	    else
-	        {
-	        aMatch = contact;
-	        }
-    	}
-    TEFLOGSTRING2( KTAOBJECT, "CNT CPhCntMatcherImpl::MatchNumber %d " , err);
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// From CPhCntMatcher
-// Tries to find a contact which has aTelNumber.
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntMatcherImpl::MatchNumber(
-    MPhCntMatch*& aMatch,
-    const TDesC& aTelNumber,
-    const CPhCntContactId& aContactId )
-    {
-    TInt err = CreateMatcher();
-    if ( !err )
-	    {
-	    if( aContactId.IsValid() )
-	        {
-	        // Do we have existing contact for the link and number.
-	        const CPhCntVPbkContactId& contactId =
-	            static_cast<const CPhCntVPbkContactId&>( aContactId );
-	        const MVPbkContactLink& link = contactId.ContactLink();
-	        aMatch =
-	            iFoundContacts->FindContact( aTelNumber, link );
-	        if( !aMatch )
-	            {
-	            // Get the contact.
-	            CPhCntContact* match = NULL;
-	            err = FetchContact( match, link, aTelNumber );
-	            if( !err )
-	                {
-	                aMatch = match;
-	                }
-	            }
-	        }
-	    else
-	        {
-	        err = MatchNumber( aMatch, aTelNumber );
-	        }
-	    }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// From CPhCntMatcher
-// Empty implementation. Implemented in CPhCntMatcherVoIPImpl.
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntMatcherImpl::MatchVoipNumber(
-    MPhCntMatch*& /*aMatch*/,
-    const TDesC& /*aMatchString*/,
-    TBool /*aAllowUserNameMatch*/,
-    MDesCArray* /*aContactStoreUris*/,
-    TInt /*aCharsForMatching*/ )
-    {
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// From CPhCntMatcher
-// Empty implementation. Implemented in CPhCntMatcherVoIPImpl.
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntMatcherImpl::MatchVoipNumber(
-    MPhCntMatch*& /*aMatch*/,
-    const CPhCntContactId& /*aContactId*/ )
-    {
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// From CPhCntMatcher
-// Empty implementation. Implemented in CPhCntMatcherVoIPImpl.
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntMatcherImpl::HasCSNumbers(
-    const CPhCntContactId& /*aContactId*/ )
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets contact from contact stores
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntMatcherImpl::GetContactL(
-    MPhCntMatch*& aMatch,
-    const TDesC& aTelNumber )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::GetContactL" );
-    // Try to find matching contact.
-    const MVPbkContactLinkArray* linkArray = NULL;
-    delete iCSMatchStrategy;
-    iCSMatchStrategy = 0;
-    iCSMatchStrategy = iContactManager.CreateContactMatchStrategyL( *iMatchContact,
-        EFalse ); // don't remove duplicates
-    TInt err( iMatchContact->MatchContact( linkArray, aTelNumber,
-        *iCSMatchStrategy ) );
-
-    CPhCntContact* match( NULL );
-    TInt index( KErrNotFound );
-
-    // Apply exact match on additional stores first.
-    // If match is found, don't care about other stores as
-    // these come first.
-    if(  !err && ( linkArray->Count() > 1 ) )
-        {
-        index = MatchFromAdditionalStore( *linkArray );
-
-        // Single match on additonal stores
-        if ( index != KErrNotFound && index != KErrAlreadyExists )
-            {
-            FetchContact( match, linkArray->At( index ), aTelNumber );
-            aMatch = match;
-            return err;
-            }
-        else if ( index == KErrAlreadyExists ) //Several matches on additional stores
-            {
-            aMatch = match;
-            return KErrNotFound;
-            }
-        }
-
-    if(  !err && ( linkArray->Count() > 1 ) )
-        {
-        delete iCSMatchStrategy;
-        iCSMatchStrategy = 0;
-        iCSMatchStrategy = iContactManager.CreateContactMatchStrategyL(
-            *iMatchContact, ETrue ); //remove duplicates
-        err = iMatchContact->MatchContact( linkArray, aTelNumber,
-            *iCSMatchStrategy );
-        }
-    if ( !err )
-        {
-        // If only one contact, no additional checks needed
-        if ( linkArray->Count() == 1 )
-            {
-            index = 0;
-            }
-        }
-
-
-    // Finally fetch contact details
-    if ( index != KErrNotFound )
-        {
-        FetchContact( match, linkArray->At( index ), aTelNumber );
-        }
-
-    aMatch = match;
-    return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatcherImpl::CPhCntMatcherImpl( const MPhoneCntPbkOwner& aOwner ) :
-    iContactManager( *aOwner.ContactManager() ),
-    iPbkOwner( aOwner )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Delayed on-demand based construction
-// ---------------------------------------------------------------------------
-//
-void CPhCntMatcherImpl::DoCreateMatcherL()
-	{
-	TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::DoCreateMatcherL" );
-	if ( !iContactStores )
-		{
-		iFoundContacts = CPhCntFoundContacts::NewL();
-	    iContactStores = CPhCntContactStores::NewL( iContactManager );
-	    iMatchContact = CPhCntMatchContact::NewL();
-	    iFetchContact = CPhCntFetchContact::NewL( *iContactStores );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// Delayed on-demand based construction
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntMatcherImpl::CreateMatcher()
-	{
-	TRAPD( err, DoCreateMatcherL() );
-	return err;
-	}
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntMatcherImpl::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Fetches contact
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntMatcherImpl::FetchContact(
-    CPhCntContact*& aMatch,
-    const MVPbkContactLink& aContactLink,
-    const TDesC& aTelNumber )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::FetchContact" );
-    CPhCntContact* contact = NULL;
-    TInt err = iFetchContact->FetchContact( aContactLink,  contact );
-    if( !err )
-        {
-        TRAP( err, iFoundContacts->AddL( contact, aTelNumber ) );
-        if( err )
-            {
-            delete contact;
-            }
-        else
-            {
-            aMatch = contact;
-            }
-        }
-    return err;
-    }
-
-// --------------------------------------------------------------------------
-// CPhCntMatcherImpl::MatchFromAdditionalStore
-// --------------------------------------------------------------------------
-//
-TInt CPhCntMatcherImpl::MatchFromAdditionalStore(
-    const MVPbkContactLinkArray& linkArray ) const
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatcherImpl::MatchFromAdditionalStore" );
-    TInt ret( KErrNotFound );
-    TInt found(0); // count of found contacts from additional stores.
-
-    for ( TInt i = 0; i < linkArray.Count(); i++ )
-        {
-        TVPbkContactStoreUriPtr uri =
-            linkArray.At( i ).ContactStore().StoreProperties().Uri();
-
-        // Compare if contact is from additional store.
-        if ( iContactManager.AdditionalContactStoreUris().IsIncluded( uri ) )
-            {
-            // Contact found from additional store.
-            found++;
-            ret = i;
-            }
-        }
-
-    if ( found > 1)
-        {
-        // Multiple matches from additional stores -> no match.
-        ret = KErrAlreadyExists;
-        }
-
-    return ret;
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntService.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +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:  Aiw service wrapper.
-*
-*/
-
-
-#include "CPhCntService.h"
-#include <AiwServiceHandler.h>
-#include <AiwGenericParam.hrh>
-#include <AiwCommon.hrh>
-#include <AiwContactSelectionDataTypes.h>
-#include "mphcntservicerequestparam.h"
-#include "mphcntserviceresult.h"
-
-_LIT8( KContentType ,EGenericParamContactItemStr );
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntService* CPhCntService::NewL() 
-	{
-	CPhCntService* self = 
-	    new( ELeave )CPhCntService();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//	
-CPhCntService::~CPhCntService() 
-	{
-	CancelRequest();
-	if( iAiwService ) 
-	    {
-        iAiwService->Reset();	    
-	    }
-	iCriteriaArray.ResetAndDestroy();
-	iCriteriaArray.Close();
-	
-	delete iAiwService;
-	}
-	
-// ---------------------------------------------------------------------------
-// Attach AIW criterias
-// ---------------------------------------------------------------------------
-//
-void CPhCntService::AttachCriteriasL() 
-	{
-	// Note take array to member variable and detach from aiw when destructing.
-	CAiwCriteriaItem* selectCriteria = 
-		CAiwCriteriaItem::NewLC( KAiwCmdSelect, KAiwCmdSelect, KContentType ); 
-    TUid uid;
-	uid.iUid = KAiwClassBase;
-	selectCriteria->SetServiceClass( uid );
-	selectCriteria->SetMaxProviders( 1 );
-	iCriteriaArray.AppendL( selectCriteria );
-	CleanupStack::Pop( selectCriteria );
-		
-    CAiwCriteriaItem* assignCriteria = 
-        CAiwCriteriaItem::NewLC( KAiwCmdAssign, KAiwCmdAssign, KContentType );
-	
-	uid.iUid = KAiwClassMenu;
-	assignCriteria->SetServiceClass( uid );
-	assignCriteria->SetMaxProviders( 1 );
-	
-	
-	iCriteriaArray.AppendL( assignCriteria  );
-	iAiwService->AttachL( iCriteriaArray ); 
-	CleanupStack::Pop( assignCriteria );
-	}
-
-        
-// ---------------------------------------------------------------------------
-// Cancels request if request is outstanding.
-// ---------------------------------------------------------------------------
-//    
-TInt CPhCntService::CancelRequest()
-    {
-    TInt err( KErrNone );
-    if ( iParams )
-    	{
-    	if( iClientCanceledRequest )
-    	    {
-    	    *iClientCanceledRequest = ETrue;
-    	    }
-    	// Cancel old requests
-	    iCommandOptions |= KAiwOptCancel;
-	    // Cancel is synchronous and we have request ongoing so
-	    // do not use base class MakeAsyncRequest, because it uses
-	    // CActiveSchedulerWait to make synchronisation and the 
-	    // wait scheduler is already waiting. If we would call the 
-	    // wait scheduler again, it would crash.
-    	TRAP( err, DoMakeAsyncRequestL() );
-        iCommandOptions = 0; // Reset the command options
-    	}
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntService
-// Executes AIW service rewuest.
-// ---------------------------------------------------------------------------
-//	
-void CPhCntService::ExecuteRequestL( 
-    MPhCntServiceRequestParam& aParams,
-    MPhCntServiceResult& aResult )
-    {
-    if( !IsActive() )
-        {
-        // Destructor can indicate canceling of request using 
-        // iClientCanceledRequest.
-        TBool requestCanceledByClient = EFalse;
-        iClientCanceledRequest = &requestCanceledByClient;
-        
-        SetRequestAndResult( aParams, aResult );
-        TInt err( KErrNone );
-        TRAPD( applicationShuttingdown, err = MakeAsyncRequest() );
-        // If application using phonecntfinder is ended from task switcher, then
-        // underlying CActiveSchedulerWait::Wait leaves. This needs to be
-        // trapped because we are using clients aParams and aResult, which 
-        // are stack based objects. 
-        if( applicationShuttingdown )
-            {
-            // Cancel possible outstanding request
-           	    CancelRequest();
-           	    iResult = NULL;
-                iParams = NULL;
-           	    User::Leave( applicationShuttingdown );
-           	    }
-           
-            if( !requestCanceledByClient )
-                {
-                iResult = NULL;
-                iParams = NULL;
-                }
-            else
-                {
-                err = KErrCancel;
-                }
-    
-        User::LeaveIfError( err );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// From MPhCntAiwServiceCompleteObserver
-// Notifies link fetch observer that links are fetched.
-// ---------------------------------------------------------------------------
-//    
-void CPhCntService::ServiceRequestComplete( TInt aError )
-    {
-    ResponseReceived( aError );
-    }
-	
-void CPhCntService::ConstructL() 
-	{
-    BaseConstructL();
-	iAiwService = CAiwServiceHandler::NewL();
-	AttachCriteriasL();
-
-	}
-	
-CPhCntService::CPhCntService() : 
-    iAiwServiceObserver( *this )
-	{
-	}
-	
-// ---------------------------------------------------------------------------
-// From CPhCntAsyncToSync
-// Makes the actual aiw request.
-// ---------------------------------------------------------------------------
-//
-void CPhCntService::DoMakeAsyncRequestL()  
-    {
-    iAiwService->ExecuteServiceCmdL( 
-        iParams->Command(), 
-        iParams->InParamList(), 
-        iAiwService->OutParamListL(), 
-        iCommandOptions, 
-        &iAiwServiceObserver );
-    }
-
-// ---------------------------------------------------------------------------
-// Sets variables
-// ---------------------------------------------------------------------------
-//    
-void CPhCntService::SetRequestAndResult( 
-    MPhCntServiceRequestParam& aServiceRequestParams, 
-    MPhCntServiceResult& aResult )
-    {
-    iResult = &aResult;
-   	iParams = &aServiceRequestParams;
-   	iAiwServiceObserver.SetRequestAndResult( iParams, iResult );
-    }
-    
--- a/phoneengine/PhoneCntFinder/ContactService/src/CPhCntSingleItemFetchService.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +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:  Service for fetching single contact field.
-*
-*/
-
-
-#include <featmgr.h>         // Feature Manager
-#include "CPhCntSingleItemFetchService.h"
-#include "cphcntphonebookservices.h"
-#include "tphcntservicerequestparamfactory.h"
-#include "cphcntcontactid.h"
-#include "CPhCntContact.h"
-
-   
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntSelectionImpl* CPhCntSelectionImpl::NewL(
-    const TDesC& aNumber, 
-    const CPhCntContactId& aContactId )
-    {
-    CPhCntSelectionImpl* self = new( ELeave )CPhCntSelectionImpl();
-    CleanupStack::PushL( self );
-    self->ConstructL( aNumber, aContactId );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//    
-CPhCntSelectionImpl::CPhCntSelectionImpl()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Second-phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntSelectionImpl::ConstructL(
-    const TDesC& aNumber, 
-    const CPhCntContactId& aContactId)
-    {
-    iNumber = aNumber.AllocL();
-    iContactId = aContactId.CloneL();
-    FeatureManager::InitializeLibL();
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-// 
-CPhCntSelectionImpl::~CPhCntSelectionImpl()
-    {
-    delete iNumber;
-    delete iContactId;
-    FeatureManager::UnInitializeLib();
-    }
-
-// ---------------------------------------------------------------------------
-// Returns number
-// ---------------------------------------------------------------------------
-//     
-const TDesC& CPhCntSelectionImpl::Number() const
-    {
-    return *iNumber;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns contact id
-// ---------------------------------------------------------------------------
-// 
-const CPhCntContactId& CPhCntSelectionImpl::ContactId() const
-    {
-    return *iContactId;
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntSingleItemFetchService* CPhCntSingleItemFetchService::NewL(
-    MPhCntContactStores& aContactStores,
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntSingleItemFetchService* self = 
-        new( ELeave )CPhCntSingleItemFetchService();
-    CleanupStack::PushL( self );
-    self->ConstructL( 
-        aContactStores, aContactManager );
-    CleanupStack::Pop( self );
-    return self;    
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//    
-CPhCntSingleItemFetchService::~CPhCntSingleItemFetchService() 
-    {
-    delete iParamFactory;
-    delete iServices;
-    if( iDestroyed ) 
-        {
-        *iDestroyed = ETrue;
-        }
-    }
-   
-// ---------------------------------------------------------------------------
-// From CPhCntSingleItemFetch
-// Fetches phone number
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntSingleItemFetchService::FetchLD( 
-    TFetchParams& aParams ) 
-    {
-    TBool destroyed = EFalse;
-    iDestroyed = &destroyed;
-    HBufC* number = NULL;
-    TInt err = KErrNone;
-    if( aParams.iType == CPhCntSingleItemFetch::EFetchDtmf )
-        {
-        TRAP( err, 
-            iServices->GetUserSelectedDtmfNumberL( 
-                aParams.iContactId, number ) );
-        }
-    else if( aParams.iType == CPhCntSingleItemFetch::EFetchNewCall )
-        {
-        TRAP( err, 
-            iServices->GetUserSelectedPhoneNumberL( 
-                aParams.iContactId, number ) );
-        }
-    else if( aParams.iType == CPhCntSingleItemFetch::EFetchNewPSCall && 
-             FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        TRAP( err, 
-            iServices->GetUserSelectedVoIPAddressL( 
-                aParams.iContactId, number ) );
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }
-    // Do not touch member variables after this, because service is canceled
-    // by deleting this instance. Deletion causes above request to complete and
-    // execution will be here after deletion.
-        
-    TInt error = KErrNone;
-    if( !err )
-        {
-        error = SetFetchParams( aParams, *number );
-        }
-    else if( err == KErrCancel )
-        {
-        error = KErrCancel;
-        }
-    else 
-        {
-        if( !destroyed )
-            {
-            iDestroyed = NULL;
-            delete this;
-            }
-        User::Leave( err );     
-        }
-    delete number;
-    if( !destroyed )
-        {
-        iDestroyed = NULL;
-        delete this;
-        }
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// From CPhCntSingleItemFetch
-// Fetches phone number
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntSingleItemFetchService::FetchPhoneNumberLD( 
-    const TDesC8& aContactLink,
-    const CPhCntSingleItemFetch::TCallType aCallType,
-    HBufC*& aNumber,
-    HBufC8*& aFieldLink ) 
-    {
-    TBool destroyed = EFalse;
-    iDestroyed = &destroyed;    
-    TInt err = KErrNone;
-        
-    TRAP( err, 
-    	iServices->GetPhoneNumberL( aContactLink, aCallType, aNumber, aFieldLink ) 
-    	);                        
-
-    // Do not touch member variables after this, because service is canceled
-    // by deleting this instance. Deletion causes above request to complete and
-    // execution will be here after deletion.
-    
-    TInt error = KErrNone;    
-    if( err )
-    	{
-    	delete aNumber;
-    	aNumber = NULL;
-    	delete aFieldLink;
-    	aFieldLink = NULL;
-	    if( err == KErrCancel )
-	        {
-	        error = KErrCancel;
-	        }
-	    else 
-	        {
-	        if( !destroyed )
-	            {
-	            iDestroyed = NULL;
-	            delete this;
-	            }
-	        User::Leave( err );     
-	        }	
-    	}
-                    
-    if( !destroyed )
-        {
-        iDestroyed = NULL;
-        delete this;
-        }
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// From CPhCntSingleItemFetch
-// Fetches phone number
-// ---------------------------------------------------------------------------
-//    
-CPhCntSelection* CPhCntSingleItemFetchService::SelectPhoneNumberLD()
-    {
-    TBool destroyed = EFalse;
-    iDestroyed = &destroyed;    
-    CPhCntSelectionImpl* selection = NULL;
-
-    CPhCntContact* contact = NULL;
-    TRAPD( err, 
-        MPhCntServiceRequestParam* param = 
-            iParamFactory->CreateGetUserSelectedPhoneNumberLC();
-        contact = iServices->GetUserSelectedContactLC( *param );
-        CleanupStack::Pop( contact );
-        CleanupStack::PopAndDestroy( 1 ); // param
-        );
-    if( !destroyed )
-        {
-        iDestroyed = NULL;
-        delete this;
-        }
-        
-    if( !err )
-        {
-        CleanupStack::PushL( contact );
-        selection = CPhCntSelectionImpl::NewL( 
-            contact->Number(), *contact->ContactId() );
-        CleanupStack::PopAndDestroy( contact );
-        }
-    else
-        {
-        // If the request is canceled then do not leave, because
-        // of agreement with clients.
-        if( err != KErrCancel )
-            {
-            User::Leave( err );    
-            }
-        }
-        
-    
-    return selection;
-    }
-// ---------------------------------------------------------------------------
-// Sets possible error values and return values.
-// ---------------------------------------------------------------------------
-// 
-TInt CPhCntSingleItemFetchService::SetFetchParams( 
-    TFetchParams& aParams,
-    const TDesC& aReceivedPhoneNumber  ) const
-    {
-    TInt errorValue( KErrNone );
-    
-    if( aReceivedPhoneNumber.Length() >= aParams.iString->MaxLength() ) 
-        {
-        errorValue = KErrOverflow;
-        }
-    
-    if( errorValue == KErrNone ) 
-        {
-        aParams.iString->Zero();
-        aParams.iString->Copy( aReceivedPhoneNumber );
-        }
-    
-    
-    return errorValue;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//     
-CPhCntSingleItemFetchService::CPhCntSingleItemFetchService()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Seconds phase constructor
-// ---------------------------------------------------------------------------
-//     
-void CPhCntSingleItemFetchService::ConstructL( 
-    MPhCntContactStores& aContactStores,
-    MPhCntContactManager& aContactManager )
-    {
-    iParamFactory = CPhCntServiceRequestParamFactory::NewL( aContactManager );
-    iServices = CPhCntPhonebookServices::NewL( 
-        aContactStores, aContactManager );
-    }
-
- 
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntasynctosync.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +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:  Converts asynchronous call to synchronous.
-*
-*/
-
-
-#include "cphcntasynctosync.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntAsyncToSync::CPhCntAsyncToSync()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CPhCntAsyncToSync::BaseConstructL()
-    {
-    iWait = new( ELeave )CActiveSchedulerWait();
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntAsyncToSync::~CPhCntAsyncToSync()
-    {
-    delete iWait;
-    }
-
-// ---------------------------------------------------------------------------
-// Converts asyncrhonous call to synchronous.
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntAsyncToSync::MakeAsyncRequest()
-    {
-    iResponseReceived = EFalse;
-	// Return KErrInUse, if iWait is active.
-	TInt err( IsActive() ? KErrInUse : KErrNone );
-	if ( !err )
-		{
-		TRAP( err, DoMakeAsyncRequestL() );
-    	}
-	if( !err )
-        {
-        // Check that response is not already received, we cannot 
-        // start the scheduler if response is received, otherwise
-        // scheduler waits forever.
-        if( !iResponseReceived )
-            {
-            iWait->Start();
-            }    
-        err = iResponseError;
-        }
-    return err;
-    }
-    
-// ---------------------------------------------------------------------------
-// Indication that response has been received from async request.
-// ---------------------------------------------------------------------------
-//
-void CPhCntAsyncToSync::ResponseReceived( TInt aErrorCode )
-    {
-    iResponseReceived = ETrue;
-    iResponseError = aErrorCode;
-    if( iWait->IsStarted() )
-        {
-        iWait->AsyncStop();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Checks if there are pending asynchronous requests available.
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntAsyncToSync::IsActive()
-    {
-    return iWait->IsStarted();
-    }
-    
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactdataselectionimpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +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:  Service to show dialogs for user to select contact data.
-*
-*/
-
-
-#include "cphcntcontactdataselectionimpl.h"
-#include "mphcntservicerequestparamfactory.h"
-#include "mphcntservicerequestparam.h"
-#include "MPhCntContactStores.h"
-#include "CPhCntContact.h"
-#include "cphcntcontactid.h"
-
-CPhCntSelectedDataImpl* CPhCntSelectedDataImpl::NewL( 
-    CPhCntContact& aContact )
-    {
-    CPhCntSelectedDataImpl* self = new( ELeave )CPhCntSelectedDataImpl();
-    CleanupStack::PushL( self );
-    self->ConstructL( aContact );
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-CPhCntSelectedDataImpl::~CPhCntSelectedDataImpl()
-    {
-    delete iSelectedData;
-    delete iFieldLink;
-    }
-    
-CPhCntSelectedDataImpl::CPhCntSelectedDataImpl()
-    {
-    }
-    
-void CPhCntSelectedDataImpl::ConstructL( CPhCntContact& aContact )
-    {
-    iSelectedData = aContact.Number().AllocL();
-    iFieldLink = aContact.ContactId()->PackLC();
-    iNumberType = aContact.NumberType();
-    CleanupStack::Pop( iFieldLink );
-    }
-    
-const TDesC& CPhCntSelectedDataImpl::Data() const
-    {
-    return *iSelectedData;
-    }
-    
-const TDesC8& CPhCntSelectedDataImpl::FieldLink() const
-    {
-    return *iFieldLink;
-    }
-
-MPhCntMatch::TNumberType CPhCntSelectedDataImpl::NumberType() const
-    {
-    return iNumberType;
-    }
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactDataSelectionImpl::CPhCntContactDataSelectionImpl(
-    MPhCntAiwService* aService,
-    MPhCntServiceRequestParamFactory* aParamFactory,
-    MPhCntContactStores* aContactStores ) : 
-    iService( aService ),
-    iParamFactory( aParamFactory ),
-    iServiceResult( iFieldLink ),
-    iContactStores( aContactStores )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// 2nd phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactDataSelectionImpl::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactDataSelectionImpl* CPhCntContactDataSelectionImpl::NewL(
-    MPhCntAiwService* aService,
-    MPhCntServiceRequestParamFactory* aParamFactory,
-    MPhCntContactStores* aContactStores )
-    {
-    CPhCntContactDataSelectionImpl* self = new( ELeave ) 
-        CPhCntContactDataSelectionImpl(
-            aService, aParamFactory, aContactStores );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactDataSelectionImpl::~CPhCntContactDataSelectionImpl()
-    {
-    if( iService )
-        {
-        iService->Cancel();
-        }
-    delete iService;
-    delete iParamFactory;
-    delete iServiceParameter;
-    delete iFieldLink;
-    if( iContactStores )
-        {
-        iContactStores->CancelRequest();
-        }
-    delete iContactStores;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CPhCntContactDataSelection
-// Determines if there is active request pending.
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntContactDataSelectionImpl::IsActive() const
-    {
-    return iService->IsRequestActive() | iContactStores->IsRequestActive();
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CPhCntContactDataSelection
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//    
-void CPhCntContactDataSelectionImpl::Cancel()
-    {
-    iService->Cancel();
-    iContactStores->CancelRequest();
-    iObserver = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CPhCntContactDataSelection
-// Starts phone number selection.
-// ---------------------------------------------------------------------------
-//   
-void CPhCntContactDataSelectionImpl::SelectPhoneNumberForCallL(
-    const TDesC8& aContactLink,
-    const TCallType& aCallType,
-    MPhCntSelectionObserver& aObserver )
-    {
-    if( IsActive() ) 
-        {
-        User::Leave( KErrInUse );
-        }
-    iObserver = &aObserver;
-    delete iServiceParameter;
-    iServiceParameter = NULL;
-    iServiceParameter = iParamFactory->CreateGetPhoneNumberFromContactParamL( 
-        aContactLink,
-        static_cast<CPhCntSingleItemFetch::TCallType>(aCallType ) );
-    iService->ExecuteRequestL( *iServiceParameter, iServiceResult, *this );
-    }
-    
-// ---------------------------------------------------------------------------
-// From class MPhCntServiceObserver
-// Indication from Aiw service that request has completed.
-// ---------------------------------------------------------------------------
-//  
-void CPhCntContactDataSelectionImpl::RequestComplete( TInt aError )
-    {
-    if( !aError )
-        {
-        TRAPD( err, iContactStores->FetchFirstContactL( *iFieldLink, *this ) );
-        if( iObserver && err )
-            {
-            iObserver->SelectionDone( NULL, err );
-            }
-        }
-    else
-        {
-        if( iObserver )
-            {
-            iObserver->SelectionDone( NULL, aError );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFetchObserver
-// Indication from contact stores that contact is now received.
-// ---------------------------------------------------------------------------
-//  
-void CPhCntContactDataSelectionImpl::ContactReceived( 
-    CPhCntContact* aContact, TInt aError )
-    {
-    if( !aError )
-        {
-        CPhCntSelectedDataImpl* selectedData = NULL;
-        TRAPD( err, 
-            selectedData = CPhCntSelectedDataImpl::NewL( *aContact ) );
-        iObserver->SelectionDone( selectedData, err );
-        delete selectedData;
-        }
-    else
-        {
-        iObserver->SelectionDone( NULL, aError );
-        }
-    delete aContact;
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactfieldsresolver.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,434 +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:  Resolves contact's fields
-*
-*/
-
-
-#include <MVPbkContactLink.h>
-#include <MVPbkStoreContact.h>
-#include <MPbk2ContactNameFormatter.h>
-#include <MVPbkStoreContactFieldCollection.h>
-#include <MVPbkFieldType.h>
-#include <MVPbkContactFieldData.h>
-#include <MVPbkContactFieldTextData.h>
-#include <MVPbkContactFieldUriData.h>
-#include <TVPbkFieldVersitProperty.h>
-#include <VPbkEng.rsg>
-#include <badesca.h>
-
-#include "MPhCntContactManager.h"
-#include "cphcntcontactfieldsresolver.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactFieldsResolver::CPhCntContactFieldsResolver(
-    MVPbkContactLink* aContactLink,
-    MVPbkStoreContact* aContact,
-    MPhCntContactManager& aContactManager ) : 
-    iFirstNameResolver( R_VPBK_FIELD_TYPE_FIRSTNAME ),
-    iLastNameResolver(R_VPBK_FIELD_TYPE_LASTNAME),
-    iCompanyNameResolver( R_VPBK_FIELD_TYPE_COMPANYNAME ),
-    iSecondNameResolver( R_VPBK_FIELD_TYPE_SECONDNAME ),
-    iRingingToneResolver( R_VPBK_FIELD_TYPE_RINGTONE ),
-    iFirstNamePronunciationResolver( R_VPBK_FIELD_TYPE_FIRSTNAMEREADING ),
-    iLastNamePronunciationResolver( R_VPBK_FIELD_TYPE_LASTNAMEREADING ),
-    iCompanyNamePronunciationResolver( R_VPBK_FIELD_TYPE_COMPANYNAME ),
-    iCallImageResolver( R_VPBK_FIELD_TYPE_CALLEROBJIMG ),
-    iCallTextResolver( R_VPBK_FIELD_TYPE_CALLEROBJTEXT ),
-    iDtmfResolver( R_VPBK_FIELD_TYPE_DTMFSTRING ),    	    
-	iContactLink( aContactLink ),
-    iContact( aContact ),    
-    iContactManager( aContactManager ),
-    iNameFormatter( aContactManager.ContactNameFormatter() )
-    {
-   
-    }
-
-
-// ---------------------------------------------------------------------------
-// Secondphase constructor.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactFieldsResolver::ConstructL()
-    {
-    iAllDtmfNumbers = new ( ELeave ) CDesCArrayFlat( 2 );
-    // Check if contactlink is pointing directly to some contact field.
-    // If there is pointed field, then it is going to be in resolved contact fields.
-    // For example there migth be many phonenumbers in contact, but the 
-    // we want to have only the pointed number resolved.
-    MVPbkStoreContactField* field = iContact->Fields().
-        RetrieveField( *iContactLink );
-    if( field != NULL ) 
-        {
-        ResolveFieldL( *field, ETrue );
-        }
-    
-    // Go through the contact's field and resolve the fields.              
-    MVPbkStoreContactFieldCollection& fields = iContact->Fields();
-    const TInt fieldCount( fields.FieldCount() );
-    for( TInt i = 0; i < fieldCount; i++ ) 
-        {
-        MVPbkStoreContactField& field = fields.FieldAt( i );
-        ResolveFieldL( field, EFalse );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Resolves contact's fields
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactFieldsResolver::ResolveFieldL( 
-    MVPbkStoreContactField& aContactField, 
-    TBool aFieldPointedByContactLink )
-    {
-     MVPbkContactFieldData& fieldData = aContactField.FieldData();
-        
-    const MVPbkFieldType* fieldType = aContactField.BestMatchingFieldType();
-    if( fieldType ) 
-        {
-        const TInt fieldId( fieldType->FieldTypeResId() );
-        if( fieldData.DataType() == EVPbkFieldStorageTypeText )
-            {
-            const TPtrC fieldTextData = 
-                MVPbkContactFieldTextData::Cast( fieldData ).Text();
-            
-            ResolveFieldDataL( aContactField,
-                               fieldTextData,
-                               aFieldPointedByContactLink );   
-                                       
-            // DTMF field is only used if the contact link was pointing to it.
-            if( aFieldPointedByContactLink )
-                {
-                iDtmfResolver.Resolve( 
-                    fieldId, 
-                    fieldTextData, 
-                    aFieldPointedByContactLink );
-                }
-                
-             if ( fieldId == R_VPBK_FIELD_TYPE_DTMFSTRING )
-                {
-                TRAP_IGNORE( iAllDtmfNumbers->AppendL( fieldTextData ) );
-                }               
-            }
-        else if ( fieldData.DataType() == EVPbkFieldStorageTypeUri )
-            {
-            MVPbkContactFieldUriData& textData =
-                MVPbkContactFieldUriData::Cast( fieldData );
-            TPtrC fieldTextData = textData.Text();
-            
-            ResolveFieldDataL( aContactField,
-                               fieldTextData,
-                               aFieldPointedByContactLink );
-                                       
-            }
-            
-        // Check for thumbnail field.
-        if( fieldId == R_VPBK_FIELD_TYPE_THUMBNAILPIC )
-            {
-            iThumbnailField = fieldType;    
-            }
-                
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Resolves contact's fields
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactFieldsResolver::ResolveFieldDataL( 
-    MVPbkStoreContactField& aContactField,
-    const TPtrC aFieldTextData,
-    TBool aFieldPointedByContactLink )
-    {
-    MVPbkContactFieldData& fieldData = aContactField.FieldData();
-        
-    const MVPbkFieldType* fieldType = aContactField.BestMatchingFieldType();
-    const TInt fieldId( fieldType->FieldTypeResId() );
-           
-    iPhoneNumberResolver.ResolveL( fieldId, aFieldTextData,
-        aFieldPointedByContactLink, iContactManager, aContactField );
-    iFirstNameResolver.Resolve(  fieldId, aFieldTextData,
-        aFieldPointedByContactLink );
-    iLastNameResolver.Resolve(  fieldId, aFieldTextData,
-        aFieldPointedByContactLink );
-    iCompanyNameResolver.Resolve(  fieldId, aFieldTextData,
-        aFieldPointedByContactLink );
-    iSecondNameResolver.Resolve(  fieldId, aFieldTextData,
-        aFieldPointedByContactLink );
-    iRingingToneResolver.Resolve(  fieldId, aFieldTextData,
-        aFieldPointedByContactLink );
-    iFirstNamePronunciationResolver.Resolve( fieldId, aFieldTextData,
-        aFieldPointedByContactLink );
-    iLastNamePronunciationResolver.Resolve( fieldId, 
-            aFieldTextData, aFieldPointedByContactLink ); 
-    iCompanyNamePronunciationResolver.Resolve( fieldId,
-            aFieldTextData, aFieldPointedByContactLink );
-    
-    iCallImageResolver.Resolve( fieldId, 
-                                aFieldTextData, 
-                                aFieldPointedByContactLink ); 
-    
-    iCallTextResolver.Resolve( fieldId, 
-                               aFieldTextData, 
-                               aFieldPointedByContactLink );    
-
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactFieldsResolver* CPhCntContactFieldsResolver::NewL(
-    MVPbkContactLink* aContactLink,
-    MVPbkStoreContact* aContact,
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntContactFieldsResolver* self = 
-        CPhCntContactFieldsResolver::NewLC(
-            aContactLink, aContact, aContactManager );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactFieldsResolver* CPhCntContactFieldsResolver::NewLC(
-    MVPbkContactLink* aContactLink,
-    MVPbkStoreContact* aContact,
-    MPhCntContactManager& aContactManager ) 
-    {
-    CPhCntContactFieldsResolver* self = 
-        new( ELeave ) CPhCntContactFieldsResolver(
-            aContactLink,
-            aContact,
-            aContactManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactFieldsResolver::~CPhCntContactFieldsResolver()
-    {
-    delete iContact;
-    delete iContactLink;
-    delete iAllDtmfNumbers;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-MVPbkContactLink* CPhCntContactFieldsResolver::ContactLink() const 
-    {   
-    return iContactLink;
-    }
-  
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-// 
-MPhCntMatch::TNumberType
-    CPhCntContactFieldsResolver::NumberType() const   
-    {
-    return iPhoneNumberResolver.Number().Type();
-    }    
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContactFieldsResolver::FirstName() const 
-    {
-    return iFirstNameResolver.Data();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContactFieldsResolver::LastName() const 
-    {
-    return iLastNameResolver.Data();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContactFieldsResolver::CompanyName() const 
-    {
-    return iCompanyNameResolver.Data();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContactFieldsResolver::Number() const
-    {
-    return iPhoneNumberResolver.Number().Number();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//   
-TPtrC CPhCntContactFieldsResolver::Dtmf() const
-    {
-    return iDtmfResolver.Data();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContactFieldsResolver::PersonalRingingTone() const 
-    {
-    return iRingingToneResolver.Data();
-    }
-    
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContactFieldsResolver::SecondName() const
-    {
-    return iSecondNameResolver.Data();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContactFieldsResolver::FirstNamePronunciation() const
-    {
-    return iFirstNamePronunciationResolver.Data();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//     
-TPtrC CPhCntContactFieldsResolver::LastNamePronunciation() const
-    {
-    return iLastNamePronunciationResolver.Data();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//    
-TPtrC CPhCntContactFieldsResolver::CompanyNamePronunciation() const
-    {
-    return iCompanyNamePronunciationResolver.Data();
-    }
-    
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-HBufC* CPhCntContactFieldsResolver::GetContactTitleL()
-    {
-    return iNameFormatter.GetContactTitleOrNullL(
-        iContact->Fields(), 
-        MPbk2ContactNameFormatter::EPreserveLeadingSpaces | 
-        MPbk2ContactNameFormatter::EUseSeparator |
-        MPbk2ContactNameFormatter::EReplaceNonGraphicChars );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-MVPbkContactLinkArray* CPhCntContactFieldsResolver::ContactGroupsLC() const
-    {
-    return iContact->GroupsJoinedLC();
-    }
- 
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//   
- MVPbkStoreContact& CPhCntContactFieldsResolver::StoreContact() const
-    {
-    return *iContact;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//       
-const MVPbkFieldType* CPhCntContactFieldsResolver::ThumbnailField() const
-    {
-    return iThumbnailField;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-// 
-TPtrC CPhCntContactFieldsResolver::CallImage() const 
-    {
-    return iCallImageResolver.Data();
-    }
-
-// ---------------------------------------------------------------------------    
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-TPtrC CPhCntContactFieldsResolver::CallText() const 
-    {
-    return iCallTextResolver.Data();
-    }
-
-// ---------------------------------------------------------------------------    
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntContactFieldsResolver::HasThumbnail() const 
-    {
-    return ( iThumbnailField != NULL );
-    }        
-
-// ---------------------------------------------------------------------------    
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-// 
-const RArray<TPhCntNumber>& CPhCntContactFieldsResolver::AllNumbers() const
-    {
-    return iPhoneNumberResolver.AllNumbers();
-    }
-
-// ---------------------------------------------------------------------------    
-// From class MPhCntContactFields
-// ---------------------------------------------------------------------------
-//        
-CDesCArray* CPhCntContactFieldsResolver::AllDtmfNumbers() const
-    {
-    return iAllDtmfNumbers;
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactlinkarrayfetch.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +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:  Base class for contactlink array fetchers.
-*
-*/
-
-
-#include <MVPbkContactLinkArray.h>
-
-#include "cphcntcontactlinkarrayfetch.h"
-#include <talogger.h>
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactLinkArrayFetch::CPhCntContactLinkArrayFetch()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactLinkArrayFetch::~CPhCntContactLinkArrayFetch()
-    {
-    delete iFetchedContactLinks;
-    }
-    
-// ---------------------------------------------------------------------------
-// Secondphase constructor.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactLinkArrayFetch::BaseConstructL() 
-    {
-    CPhCntAsyncToSync::BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// From class MVPbkContactFindObserver
-// Notifies the base class that response from asynchronous request
-// has been received succesfully.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactLinkArrayFetch::FindCompleteL( MVPbkContactLinkArray* aResults )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntContactLinkArrayFetch::FindCompleteL" );
-    delete iFetchedContactLinks;
-    iFetchedContactLinks = aResults;
-    // Indicate base class that response from fetch has been received.
-    ResponseReceived( KErrNone );
-    }
-    
-// ---------------------------------------------------------------------------
-// From class MVPbkContactFindObserver
-// Notifies the base class that response from asynchronous request
-// has been received succesfully.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactLinkArrayFetch::FindFailed( TInt aError )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntContactLinkArrayFetch::FindFailed" );
-    delete iFetchedContactLinks;
-    iFetchedContactLinks = NULL;
-    // Indicate base class that response from fetch has been received.
-    ResponseReceived( aError );
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactmatchstrategy.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Contact matching strategy
-*
-*/
-
-
-#include <CVPbkContactManager.h>
-#include <centralrepository.h>
-#include <telconfigcrkeys.h>
-#include <CVPbkContactStoreUriArray.h>
-
-#include "cphcntcontactmatchstrategy.h"
-#include "cphcntcontactstoreuris.h"
-#include "CPhoneRawMatchNumberExtractor.h"
-
-// Digit count used to match CS number.
-const TInt KPhCntMatchMin = 7;
-const TInt KPhCntMatchMax = 11;
-const TInt KPhCntMatchDefault = KPhCntMatchMin;
-
-// ======== MEMBER FUNCTIONS ========
-
-
-CPhCntContactMatchStrategy::CPhCntContactMatchStrategy(
-    CVPbkContactManager& aContactManager,
-    CPhCntContactStoreUris& aContactStoreUris,
-    MVPbkContactFindObserver& aObserver,
-    CVPbkPhoneNumberMatchStrategy::TVPbkPhoneNumberMatchFlags aMatchFlag ) :
-    iContactManager( aContactManager ),
-    iContactStoreUris( aContactStoreUris ),
-    iObserver( aObserver ),
-    iMatchFlag( aMatchFlag )
-    {
-    iContactStoreUris.SetObserver( *this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactMatchStrategy::ConstructL()
-    {
-    iCenRepSession = CRepository::NewL( KCRUidTelConfiguration );
-    iCenRepNotifyHandler = 
-        CCenRepNotifyHandler::NewL(
-            *this, 
-            *iCenRepSession, 
-            CCenRepNotifyHandler::EIntKey,
-            KTelMatchDigits );
-            
-    iCenRepNotifyHandler->StartListeningL();
-    
-    iNumberOfDigits = KPhCntMatchDefault;
-    TInt sdMatchValue = KErrNotFound;
-
-    // Find digit count to be used with matching.
-    if ( iCenRepSession->Get( KTelMatchDigits, sdMatchValue )
-         == KErrNone )
-        {
-        // If we can find a proper value from the cenrep, use it.
-        if ( sdMatchValue >= KPhCntMatchMin && sdMatchValue <= KPhCntMatchMax )
-            {
-            iNumberOfDigits = sdMatchValue;
-            }
-        }
-    User::LeaveIfError( CreateContactMatchStrategy() );
-    
-    iNumberExtractor = new( ELeave )CCntRawPhoneNumberExtractor();
-    iNumberExtractor->ConstructL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Static constructor.
-// ---------------------------------------------------------------------------
-//
-CPhCntContactMatchStrategy* CPhCntContactMatchStrategy::NewL(
-    CVPbkContactManager& aContactManager,
-    CPhCntContactStoreUris& aContactStoreUris,
-    MVPbkContactFindObserver& aObserver,
-    CVPbkPhoneNumberMatchStrategy::TVPbkPhoneNumberMatchFlags aMatchFlag )
-    {
-    CPhCntContactMatchStrategy* self = 
-        new( ELeave ) CPhCntContactMatchStrategy( 
-            aContactManager,
-            aContactStoreUris, 
-            aObserver,
-            aMatchFlag );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CPhCntContactMatchStrategy::~CPhCntContactMatchStrategy()
-    {
-    if( iNumberExtractor )
-        {
-        iNumberExtractor->Release();    
-        }
-    
-    if( iCenRepNotifyHandler )
-        {
-        iCenRepNotifyHandler->StopListening();    
-        }
-    delete iCenRepNotifyHandler;
-    delete iCenRepSession;
-    delete iMatchStrategy;
-    delete iUriArray;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntContactMatchStrategy
-// Starts to find contacts which has aPhoneNumber.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactMatchStrategy::FindMatchesL( const TDesC& aPhoneNumber )
-    {
-    if( iMatchStrategy )
-        {
-        MatchL( aPhoneNumber );
-        }
-    else
-        {
-        const TInt err( CreateContactMatchStrategy() );
-        if( !err )
-            {
-            MatchL( aPhoneNumber );
-            }
-        else
-            {
-            User::Leave( KErrNotFound );            
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Creates contact match strategy and destroys the old one.
-// ---------------------------------------------------------------------------
-//    
-TInt CPhCntContactMatchStrategy::CreateContactMatchStrategy()
-    {
-    TInt err = KErrNone;
-    if( !iUriArray )
-        {
-        TRAP( err, iUriArray = iContactStoreUris.ActiveContactStoresL() );
-        }
-    
-    if( iUriArray )
-        {
-        delete iMatchStrategy;
-        iMatchStrategy = NULL;
-        err = DoCreateMatchStrategy();
-         
-        }
-    else
-        {
-        err = KErrGeneral;
-        }
-    
-    return err;                
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MCenRepNotifyHandlerCallback
-// Notification from CenRep
-// ---------------------------------------------------------------------------
-//  
-void CPhCntContactMatchStrategy::HandleNotifyString( 
-    TUint32 aUid, 
-    const TDesC16& aValue )
-    {
-    if ( aUid == KTelMatchDigits )
-        {
-        TLex lexer( aValue );
-        TInt value;
-        const TInt err( lexer.Val( value ) );
-        
-        if( !err ) 
-            {
-            if ( value < KPhCntMatchMin || value > KPhCntMatchMax )
-                {
-                iNumberOfDigits = KPhCntMatchDefault;
-                }
-            else
-                {
-                iNumberOfDigits = value;
-                }
-            CreateContactMatchStrategy();
-            }
-     
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From base class MPhCntContactStoreEventObserver
-// Updates match strategy.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactMatchStrategy::ContactStoreAvailabilityChanged()
-    {
-    delete iUriArray;
-    iUriArray = NULL;
-    CreateContactMatchStrategy();
-    }
-
-// ---------------------------------------------------------------------------
-// Removes extra characters from number and matches with raw number.
-// ---------------------------------------------------------------------------
-//         
-void CPhCntContactMatchStrategy::MatchL( 
-    const TDesC& aPhoneNumber )
-    {
-    HBufC* rawNumber = HBufC::NewLC( aPhoneNumber.Length() );
-    TPtr rawNumberPtr = rawNumber->Des();
-    iNumberExtractor->ExtractRawNumber( aPhoneNumber, rawNumberPtr );
-    DoMatchL( *rawNumber );
-    CleanupStack::PopAndDestroy( rawNumber );
-    }
-
-// ---------------------------------------------------------------------------
-// Creates contact match strategy
-// ---------------------------------------------------------------------------
-//     
-TInt CPhCntContactMatchStrategy::DoCreateMatchStrategy()
-    {
-    CVPbkPhoneNumberMatchStrategy::TConfig config( 
-            iNumberOfDigits,
-            *iUriArray,
-            CVPbkPhoneNumberMatchStrategy::EVPbkSequentialMatch, 
-            iMatchFlag
-            );
-    TRAPD( err, iMatchStrategy = CVPbkPhoneNumberMatchStrategy::NewL( 
-                    config, 
-                    iContactManager, 
-                    iObserver ) );       
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Makes the actual matching request.
-// ---------------------------------------------------------------------------
-//     
-void CPhCntContactMatchStrategy::DoMatchL( 
-    const TDesC& aNumber )
-    {
-    iMatchStrategy->MatchL( aNumber );
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntcontactstoreuris.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,346 +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:  Contact store Uris
-*
-*/
-
-#include <CVPbkContactStoreUriArray.h>
-#include <VPbkContactStoreUris.h>
-#include <TVPbkContactStoreUriPtr.h>
-#include <centralrepository.h>
-#include <talogger.h>
-
-#include "telinternalcrkeys.h"
-#include "cphcntcontactstoreuris.h"
-#include "mphcntcontactstoreeventobserver.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactStoreUris* CPhCntContactStoreUris::NewL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntContactStoreUris::NewL" );
-    CPhCntContactStoreUris* self = new( ELeave ) CPhCntContactStoreUris;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactStoreUris::~CPhCntContactStoreUris()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntContactStoreUris::~CPhCntContactStoreUris" );
-    delete iContactStoreUriArray;
-    delete iAdditionalContactStoreUriArray;    
-    iContactStoreStates.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// Contact store uris
-// ---------------------------------------------------------------------------
-//
-CVPbkContactStoreUriArray& CPhCntContactStoreUris::ContactStores() const
-    {
-    return *iContactStoreUriArray;
-    }
-    
-// ---------------------------------------------------------------------------
-// Currently active contact stores.
-// ---------------------------------------------------------------------------
-//
-CVPbkContactStoreUriArray* CPhCntContactStoreUris::ActiveContactStoresL() const
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntContactStoreUris::ActiveContactStoresL" );
-    CVPbkContactStoreUriArray* array = CVPbkContactStoreUriArray::NewLC();
-    const TInt count( iContactStoreStates.Count() );
-    for( TInt i = 0; i < count; i++ )
-        {
-        const TPhCntContactStoreState& storeState = iContactStoreStates[i];
-        if( storeState.IsAvailable() )
-            {
-            TEFLOGSTRING2( KTAOBJECT,
-                    "CNT CPhCntContactStoreUris::ActiveContactStoresL - Append store: %S", 
-                    &storeState.ContactStoreUri().UriDes() );
-            array->AppendL( storeState.ContactStoreUri() );
-            }
-        }
-    CleanupStack::Pop( array );
-    return array;
-    }
-
-// ---------------------------------------------------------------------------
-// Updates store availability
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactStoreUris::StoreReady( 
-    TVPbkContactStoreUriPtr& aContactStoreUri )
-    {
-    TEFLOGSTRING2( KTAOBJECT, "CNT CPhCntContactStoreUris::StoreReady = %S", 
-                &aContactStoreUri.UriDes() );
-    SetContactStoreAvailability( aContactStoreUri, ETrue );
-    }
-
-// ---------------------------------------------------------------------------
-// Updates store availability
-// ---------------------------------------------------------------------------
-//    
-void CPhCntContactStoreUris::StoreUnavailable( 
-    TVPbkContactStoreUriPtr& aContactStoreUri )
-    {
-    TEFLOGSTRING2( KTAOBJECT, "CNT CPhCntContactStoreUris::StoreUnavailable = %S", 
-            &aContactStoreUri.UriDes() );
-    SetContactStoreAvailability( aContactStoreUri, EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// Sets observer
-// ---------------------------------------------------------------------------
-//     
-void CPhCntContactStoreUris::SetObserver( 
-    MPhCntContactStoreEventObserver& aObserver )
-    {
-    iObserver = &aObserver;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntContactStoreUris::CPhCntContactStoreUris()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactStoreUris::ConstructL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntContactStoreUris::ConstructL" );
-    iAdditionalContactStoreUriArray = CVPbkContactStoreUriArray::NewL();
-        
-    // Read additional, product configured contact stores.
-    HBufC* productSpecificList = HBufC::NewLC( 
-        NCentralRepositoryConstants::KMaxUnicodeStringLength );
-    TPtr productSpecificListPtr( productSpecificList->Des() );
-    ReadAdditionalContactStoreL( &productSpecificListPtr );
-    
-    // Append additional stores to contact store array
-    TInt count( iAdditionalContactStoreUriArray->Count() );       
-    for( TInt i = 0; i < count; i++ )
-        {
-        iContactStoreStates.AppendL( (*iAdditionalContactStoreUriArray)[i] );
-        }            
-    
-    iContactStoreStates.AppendL( 
-        TVPbkContactStoreUriPtr( 
-            VPbkContactStoreUris::DefaultCntDbUri() ) );
-    iContactStoreStates.AppendL( 
-        TVPbkContactStoreUriPtr( 
-            VPbkContactStoreUris::SimGlobalOwnNumberUri() ) );
-    iContactStoreStates.AppendL( 
-        TVPbkContactStoreUriPtr( 
-            VPbkContactStoreUris::SimGlobalAdnUri() ) );
-    iContactStoreStates.AppendL( 
-        TVPbkContactStoreUriPtr( 
-            VPbkContactStoreUris::SimGlobalFdnUri() ) );
-    iContactStoreStates.AppendL( 
-        TVPbkContactStoreUriPtr( 
-            VPbkContactStoreUris::SimGlobalSdnUri() ) );
-            
-    const TInt count_2( iContactStoreStates.Count() );
-    iContactStoreUriArray = CVPbkContactStoreUriArray::NewL();
-    for( TInt i = 0; i < count_2; i++ )
-        {
-        TEFLOGSTRING3( KTAOBJECT, 
-                "CNT CPhCntContactStoreUris::ConstructL - Append store  = %S, Available: %d", 
-                &iContactStoreStates[i].ContactStoreUri().UriDes(),
-                iContactStoreStates[i].IsAvailable() );
-        iContactStoreUriArray->AppendL( iContactStoreStates[i].ContactStoreUri() );
-        }
-    CleanupStack::PopAndDestroy( productSpecificList );                    
-    }
-
-// ---------------------------------------------------------------------------
-// Sets contact stores availability
-// ---------------------------------------------------------------------------
-//    
-void CPhCntContactStoreUris::SetContactStoreAvailability( 
-        TVPbkContactStoreUriPtr& aStoreUri, 
-        TBool aIsAvailable )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CPhCntContactStoreUris::SetContactStoreAvailability" );
-    const TInt count( iContactStoreStates.Count() );
-    for( TInt i = 0; i < count; i++ )
-        {
-        TPhCntContactStoreState& storeState = iContactStoreStates[i];
-        if( storeState.ContactStoreUri().Compare( 
-            aStoreUri, 
-            TVPbkContactStoreUriPtr::EContactStoreUriAllComponents ) 
-            == KErrNone ) 
-            {
-            TEFLOGSTRING2( KTAOBJECT, "SetAvailability: %d", aIsAvailable );
-            storeState.SetAvailability( aIsAvailable );
-            }
-        }
-    if( iObserver )
-        {
-        iObserver->ContactStoreAvailabilityChanged();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Read list of additional contact stores from cenrep
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactStoreUris::ReadAdditionalContactStoreL( TDes* aProductSpecificList )
-    {
-    // Read The product specific VPBK stores from cenrep
-    CRepository* repository = CRepository::NewLC( KCRUidTelVariation );
-    
-    TInt err( KErrNone );        
-    err = repository->Get( KTelAdditionalStores, *aProductSpecificList );
-
-    if ( err == KErrNone && aProductSpecificList->Length() )
-        {
-        ParseStoresL( *aProductSpecificList );
-        } // if ( err == KErrNone && product...    
-     CleanupStack::PopAndDestroy( repository );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Adds contact store.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactStoreUris::AddContactStoreL( 
-        const TVPbkContactStoreUriPtr& aContactStoreUri )
-    {
-    TPhCntContactStoreState candidate 
-        = TPhCntContactStoreState( aContactStoreUri );
-    
-    TInt index = iContactStoreStates.Find( candidate, MatchUris );
-    if ( KErrNotFound == index )
-        {
-        iContactStoreStates.AppendL( candidate );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Removes contact store.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactStoreUris::RemoveContactStore( 
-        const TVPbkContactStoreUriPtr& aContactStoreUri )
-    {
-    TPhCntContactStoreState candidate 
-        = TPhCntContactStoreState( aContactStoreUri );
-    
-    TInt index = iContactStoreStates.Find( candidate, MatchUris );
-    if ( KErrNotFound != index )
-        {
-        iContactStoreStates.Remove( index );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Parses store names from comma separated list.
-// ---------------------------------------------------------------------------
-//
-void CPhCntContactStoreUris::ParseStoresL( const TDesC& aProductSpecificList )
-    {
-    const TChar KStoreSeparatorComma = ',';
-    TChar chr;
-    TLex storeToken ( aProductSpecificList );        
-    HBufC* db;
-    
-    while ( !storeToken.Eos() )
-        {
-        // Skip spaces 
-        // e.g. "  store1,store2"
-        storeToken.SkipSpaceAndMark();  
-
-        // if several commas in row, skip them all.
-        while ( storeToken.Peek() == KStoreSeparatorComma )
-            {
-            // e.g. ",,store1,store2"
-            storeToken.SkipAndMark(1);
-            // Or ",[space],,"
-            storeToken.SkipSpaceAndMark();
-            }
-
-        // Loop until ',' or eof to parse next store
-        do 
-            {
-            chr = storeToken.Get();
-            }
-            while ( chr != KStoreSeparatorComma && !storeToken.Eos() );
-
-        if ( !storeToken.Eos()  )
-            {
-            // Reverse not to include comma.
-            storeToken.UnGet();
-            }
-
-        if ( storeToken.TokenLength() )
-            {
-            // Append to parsed stores array, so that visibility of
-            // all additional DB URIs is maintained.
-            db = HBufC::NewLC( storeToken.TokenLength() );            
-            db->Des().Copy( storeToken.MarkedToken() ); 
-            
-            // Append to additional store array.
-            iAdditionalContactStoreUriArray->AppendL( TVPbkContactStoreUriPtr( *db ) );
-            CleanupStack::PopAndDestroy( db );  
-            //CleanupStack::Pop( db );                      
-            }
-
-        } // while ( !storeToken.Eos() )..        
-    }
-
-// ---------------------------------------------------------------------------
-// Additional Contact store uris
-// ---------------------------------------------------------------------------
-//
-const CVPbkContactStoreUriArray& CPhCntContactStoreUris::AdditionalContactStores() const
-    {
-    return *iAdditionalContactStoreUriArray;
-    }    
-
-// ---------------------------------------------------------------------------
-// Implements TIdentityRelation for class TPhCntContactStoreState.
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntContactStoreUris::MatchUris( 
-        const TPhCntContactStoreState& aState1,
-        const TPhCntContactStoreState& aState2 )
-    {
-    TVPbkContactStoreUriPtr uri1( aState1.ContactStoreUri() );
-    TVPbkContactStoreUriPtr uri2( aState2.ContactStoreUri() );
-    
-    return ( 
-        uri1.Compare( uri2, 
-            TVPbkContactStoreUriPtr::EContactStoreUriAllComponents ) 
-                == 0 );
-    }
-
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntfetchcontact.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +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:  Fetches contact
-*
-*/
-
-
-#include "cphcntfetchcontact.h"
-#include "MPhCntContactStores.h"
-#include "MVPbkContactLink.h"
-#include <CVPbkContactLinkArray.h>
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntFetchContact::CPhCntFetchContact( 
-    MPhCntContactStores& aContactStores ) :
-    iContactStores( aContactStores )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntFetchContact::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntFetchContact* CPhCntFetchContact::NewL(
-    MPhCntContactStores& aContactStores )
-    {
-    CPhCntFetchContact* self = CPhCntFetchContact::NewLC( aContactStores );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntFetchContact* CPhCntFetchContact::NewLC( 
-    MPhCntContactStores& aContactStores )
-    {
-    CPhCntFetchContact* self = 
-        new( ELeave ) CPhCntFetchContact( aContactStores );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CPhCntFetchContact::~CPhCntFetchContact()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Starts fetching the contact.
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntFetchContact::FetchContact( 
-    const MVPbkContactLink& aContactLink,
-    CPhCntContact*& aContact )
-    {
-    iContactLink = &aContactLink;
-     // Converts asynchronous request to synchronous.
-    const TInt error( MakeAsyncRequest() );
-    if( !error )
-        {
-        aContact = iReceivedContact;
-        iReceivedContact = NULL;
-        }
-    iContactLink = NULL;
-    
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-// Starts fetching the first contact.
-// ---------------------------------------------------------------------------
-//    
-TInt CPhCntFetchContact::FetchContact( 
-    const TDesC8& aContactLinkArray, 
-    CPhCntContact*& aContact )
-    {
-    CVPbkContactLinkArray* contactLinkArray = NULL;
-    TRAPD( err, 
-        contactLinkArray = 
-            iContactStores.CreateContactLinkArrayL( aContactLinkArray ) );  
-    
-    if( !err )
-        {
-        if( contactLinkArray && contactLinkArray->Count() > 0 )
-            {
-            const MVPbkContactLink& contactLink = contactLinkArray->At( 0 );
-            err = FetchContact( contactLink, aContact );
-            }     
-        else 
-            {
-            err = KErrNotFound;
-            }
-        delete contactLinkArray;
-        }
- 
-    
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CPhCntAsyncToSync
-// Fetches the contact from contact stores.
-// ---------------------------------------------------------------------------
-//
-void CPhCntFetchContact::DoMakeAsyncRequestL()
-    {
-    iContactStores.FetchContactL( *iContactLink, *this );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFetchObserver
-// Takes the contact and notifies base class that contact has been received.
-// ---------------------------------------------------------------------------
-//
- void CPhCntFetchContact::ContactReceived( 
-    CPhCntContact* aContact, 
-    TInt aError )
-    {
-    iReceivedContact = aContact;    
-    ResponseReceived( aError ); // Indicate that asynchronous operation is complete.
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntfoundcontacts.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +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:  Stores found contacts and keeps track of the references.
-*
-*/
-
-
-#include <MVPbkContactLink.h>
-
-#include "cphcntfoundcontacts.h"
-#include "CPhCntContact.h"
-#include <talogger.h>
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntFoundContacts::CPhCntFoundContacts() 
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Secondphase constructor.
-// ---------------------------------------------------------------------------
-//
-void CPhCntFoundContacts::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntFoundContacts* CPhCntFoundContacts::NewL()
-    {
-    CPhCntFoundContacts* self = CPhCntFoundContacts::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntFoundContacts* CPhCntFoundContacts::NewLC()
-    {
-    CPhCntFoundContacts* self = new( ELeave ) CPhCntFoundContacts;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntFoundContacts::~CPhCntFoundContacts()
-    {
-    iFoundContacts.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// Adds contact-
-// ---------------------------------------------------------------------------
-//
-void CPhCntFoundContacts::AddL( 
-    CPhCntContact* aContact,
-    const TDesC& aMatchingNumber )
-    {
-    aContact->SetOriginalNumberL( aMatchingNumber );
-    iFoundContacts.AppendL( aContact );
-    aContact->SetOwner( this );
-    // There is already reference to aContact, because it is added.
-    aContact->IncreaseReferenceCount();
-    }
-    
-// ---------------------------------------------------------------------------
-// Removes contact from array and deletes the contact.
-// ---------------------------------------------------------------------------
-//
-void CPhCntFoundContacts::Remove( CPhCntContact* aContact )
-    {
-    const TInt errorOrIndex( iFoundContacts.Find( aContact ) );
-    if( errorOrIndex >= 0 ) 
-        {
-        iFoundContacts.Remove( errorOrIndex );
-        }
-    delete aContact;
-    }
-    
-// ---------------------------------------------------------------------------
-// Finds contact, which number is same as aTelNumber
-// ---------------------------------------------------------------------------
-//
-CPhCntContact* CPhCntFoundContacts::FindContact( const TDesC& aTelNumber )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntFoundContacts::FindContact" );
-    const TInt foundContactCount( iFoundContacts.Count() );
-    CPhCntContact* foundContact = NULL;
-    for( TInt i = 0; i < foundContactCount && !foundContact; i++ )
-        {
-        CPhCntContact* contact = iFoundContacts[i];
-        if( aTelNumber.Compare( contact->OriginalNumber() ) == KErrNone )
-            {
-            foundContact = contact;
-            foundContact->IncreaseReferenceCount();
-            }
-        }
-    return foundContact;
-    }
-    
-// ---------------------------------------------------------------------------
-// Finds contact, which number and contact link are same.
-// ---------------------------------------------------------------------------
-//
-CPhCntContact* CPhCntFoundContacts::FindContact( 
-    const TDesC& aTelNumber,
-    const MVPbkContactLink& aContactLink )
-    {
-    CPhCntContact* foundContact = FindContact( aContactLink );
-    if( foundContact )
-        {
-        if( aTelNumber.Compare( foundContact->OriginalNumber() ) != KErrNone )
-            {
-            // contact did not match with the number, so release.
-            foundContact->Release();
-            foundContact = NULL;
-            }
-        }
-    return foundContact;
-    }
-
-// ---------------------------------------------------------------------------
-// Finds contact, which contact link matches with aContactLink
-// ---------------------------------------------------------------------------
-//    
-CPhCntContact* CPhCntFoundContacts::FindContact(
-    const MVPbkContactLink& aContactLink )
-    {
-    const TInt foundContactCount( iFoundContacts.Count() );
-    CPhCntContact* foundContact = NULL;
-    for( TInt i = 0; i < foundContactCount && !foundContact; i++ )
-        {
-        CPhCntContact* contact = iFoundContacts[i];
-        if( aContactLink.IsSame( *contact->ContactLink() ) )
-            {
-            foundContact = contact;
-            foundContact->IncreaseReferenceCount();
-            }
-        }
-    return foundContact;
-    }
-
-    
-
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntmatchcontact.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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:  Matches contact
-*
-*/
-
-#include <talogger.h>
-
-#include <MVPbkContactLinkArray.h>
-
-#include "cphcntmatchcontact.h"
-#include "mphcntcontactmatchstrategy.h"
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatchContact::CPhCntMatchContact( )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Secondphase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntMatchContact::ConstructL()
-    {
-    BaseConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatchContact* CPhCntMatchContact::NewL()
-    {
-    CPhCntMatchContact* self = CPhCntMatchContact::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatchContact* CPhCntMatchContact::NewLC()
-    {
-    CPhCntMatchContact* self = new( ELeave ) CPhCntMatchContact;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatchContact::~CPhCntMatchContact()
-    {
-    }
- 
-
-// ---------------------------------------------------------------------------
-// Matches the contact.
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntMatchContact::MatchContact( 
-    const MVPbkContactLinkArray*& aContactLinkArray, 
-    const TDesC& aTelNumber,
-    MPhCntContactMatchStrategy& aMatchStrategy )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntMatchContact::MatchContact" );
-    
-    iMatchStrategy = &aMatchStrategy;
-    iPhoneNumber.Set( aTelNumber );
-    TInt error = MakeAsyncRequest();
-    
-    if( !error )
-        {
-        if( iFetchedContactLinks )        
-            {
-            const TInt numberOfFoundContactLinks( 
-                iFetchedContactLinks->Count() );
-            if( numberOfFoundContactLinks == 0 )
-                {
-                error = KErrNotFound;
-                }
-            else 
-                {
-                aContactLinkArray = iFetchedContactLinks;                
-                }
-            }
-        else
-            {
-            error = KErrNotFound;
-            }
-        }
-    
-    if( error )
-        {
-        delete iFetchedContactLinks;
-        iFetchedContactLinks = NULL;
-        }
-        
-    return error;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CPhCntAsynctToSync.
-// Makes the asynchronous request to find matches for phone number.
-// ---------------------------------------------------------------------------
-//
-void CPhCntMatchContact::DoMakeAsyncRequestL()
-    {
-    iMatchStrategy->FindMatchesL( iPhoneNumber );
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntmatchervoipimpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,359 +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:  Implements VoIP specific matching methods.
-*
-*/
-
-
-#include <MVPbkContactLinkArray.h>
-#include <TVPbkContactStoreUriPtr.h>
-#include <MVPbkContactStore.h>
-#include <MVPbkContactStoreProperties.h>
-
-#include "cphcntmatchervoipimpl.h"
-#include "tphcntsipuri.h"
-#include "cphcntfoundcontacts.h"
-#include "cphcntmatchcontact.h"
-#include "cphcntvoipcontactmatchstrategy.h"
-#include "tphcntvoipmatchArray.h"
-#include "MPhCntMatch.h"
-#include "CPhCntContact.h"
-#include "cphcntvpbkcontactid.h"
-#include "cphcntfetchcontact.h"
-#include "CPhCntContactManager.h"
-
-#include "cphcntstoreloaderimpl.h" //
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatcherVoIPImpl* CPhCntMatcherVoIPImpl::NewL(
-    const MPhoneCntPbkOwner& aOwner )
-    {
-    CPhCntMatcherVoIPImpl* self = 
-        new( ELeave ) CPhCntMatcherVoIPImpl( aOwner );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatcherVoIPImpl::~CPhCntMatcherVoIPImpl()
-    {
-    delete iVoipMatchStrategy;
-    delete iContactStoreLoader;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CPhCntMatcher
-// Matches voip contacts
-// ---------------------------------------------------------------------------
-//    
-TInt CPhCntMatcherVoIPImpl::MatchVoipNumber(
-    MPhCntMatch*& aMatch,
-    const TDesC& aMatchString,
-    TBool aAllowUserNameMatch,
-    MDesCArray* aContactStoreUris,
-    TInt aCharsForMatching )
-    {    
-    TPhCntSipURI sipUri( aMatchString, aCharsForMatching );
-    TInt err = CreateMatcher();    
-
-    if ( err == KErrNone )
-    {
-    CPhCntContact* existingContact = 
-        iFoundContacts->FindContact( sipUri.SipURI() );
-    if( !existingContact )
-        {
-        // Check for service specific contact stores and
-        // open stores if not open
-        if ( aContactStoreUris )
-            {
-            TInt storeCount = aContactStoreUris->MdcaCount();
-            for( TInt i = 0; i < storeCount ; i++ )
-                {
-                TPtrC storeUri = aContactStoreUris->MdcaPoint( i );
-               
-                err = iContactStoreLoader->LoadContactStoreWithUri( storeUri );              
-                }  
-            }
-
-        const MVPbkContactLinkArray* linkArray = NULL;
-        
-        // Find possible contacts.
-        if( aAllowUserNameMatch && !aCharsForMatching )
-            {
-            err = iMatchContact->MatchContact(
-                linkArray, sipUri.UserNamePart(), *iVoipMatchStrategy );
-            }
-        else if ( aCharsForMatching )
-            {
-            err = iMatchContact->MatchContact(
-                linkArray, sipUri.FixedUserNamePart(), *iVoipMatchStrategy );            
-            }
-        else
-            {
-            err = iMatchContact->MatchContact( 
-                linkArray, sipUri.SipURI() , *iVoipMatchStrategy );    
-            }
-        
-            
-        MPhCntMatch* match = NULL;
-        if( !err )
-            {
-            // Fetch all the matched contacts, because iVoipMatchStrategy
-            // could give us a match that is matched to wrong contact field.
-            const TInt matchedContacts( linkArray->Count() );
-
-            // Find real matches.
-            TPhCntVoipMatchArray voipMatches;
-            for( TInt i = 0; i < matchedContacts; i++ )
-                {
-                // Get contacts from phone book.
-                CPhCntContact* match = NULL;
-                err = FetchContact( match, linkArray->At( i ), sipUri.SipURI() );
-                if( !err )
-                    {
-                    TRAP_IGNORE( voipMatches.AppendL( match ) );
-                    }
-                else
-                    {
-                    // Error in fetching contacts 
-                    break;
-                    }
-                }
-                
-            if( aAllowUserNameMatch || aCharsForMatching )   
-                {
-                match = voipMatches.FindFullOrUsernameMatch( sipUri, aCharsForMatching );
-                }
-            else
-                {
-                // Take the first match, that is voip contact. Gives NULL if match not found.
-                match = voipMatches.FindFullMatch( sipUri );
-                }
-            
-            // Release extra matches
-            voipMatches.ReleaseMatches();
-            }
-        
-        // If no error and match still null pointer, then no contacts were found.
-        if( !err && !match )        
-            {
-            err = KErrNotFound;
-            }
-        else
-            {
-            aMatch = match;
-            }
-        }
-    else
-        {
-        aMatch = existingContact;
-        }
-    }
-
-    return err;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CPhCntMatcher
-// Matches voip contacts
-// ---------------------------------------------------------------------------
-TInt CPhCntMatcherVoIPImpl::MatchVoipNumber(
-            MPhCntMatch*& aMatch,
-            const CPhCntContactId& aContactId )
-    {
-    const CPhCntVPbkContactId& contactId = 
-            static_cast<const CPhCntVPbkContactId&>( aContactId );
-            
-    const MVPbkContactLink& contactLink = contactId.ContactLink();
-    
-    
-    TInt err = CreateMatcher();    
-
-    const TVPbkContactStoreUriPtr uri 
-        = contactLink.ContactStore().StoreProperties().Uri(); 
-
-    // Open contact store if not opened earlier
-    iContactStoreLoader->LoadContactStoreWithUri( uri.UriDes() );
-    
-    if ( err == KErrNone )
-    {
-    CPhCntContact* existingContact = 
-        iFoundContacts->FindContact( contactLink );
-     
-    
-    if( !existingContact )
-        {
-        CPhCntContact* contact = NULL;
-        err = iFetchContact->FetchContact( contactLink,  contact );
-
-        if( !err )
-            {
-            const RArray<TPhCntNumber>& allNumbers = 
-                contact->AllNumbers();
-            const TInt count( allNumbers.Count() );
-            for( TInt i = 0; i < count; i++ )
-                {
-                // Take first voip number and set it as contacts number.
-                TPhCntNumber number = allNumbers[i];
-                if( number.Type() == MPhCntMatch::EVoipNumber ||
-                    number.Type() == MPhCntMatch::EMobileNumber ||
-                    number.Type() == MPhCntMatch::EStandardNumber ||
-                    number.Type() == CPhCntContact::EPagerNumber ||
-                    number.Type() == CPhCntContact::EVideoNumber ||
-                    number.Type() == CPhCntContact::EAssistantNumber ||
-                    number.Type() == CPhCntContact::EFaxNumber ||
-                    number.Type() == CPhCntContact::ECarNumber ) 
-                    {
-                    contact->SetMatchedVoipNumber( TPhCntSipURI( number.Number() ) );
-                    break;
-                    }
-                }
-            TPhCntSipURI sipUri( contact->Number() );
-            TRAP( err, iFoundContacts->AddL( contact, sipUri.SipURI() ) );
-            if( err )
-                {
-                delete contact;
-                }
-            else
-                {
-                aMatch = contact;
-                }
-         
-            }
-        }
-    else
-        {
-        aMatch = existingContact;
-        }
-    }
-    return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CPhCntMatcher
-// Determines if contact has CS numbers.
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntMatcherVoIPImpl::HasCSNumbers( 
-    const CPhCntContactId& aContactId )
-    {
-    TBool hasCSNumbers = EFalse;
-    const CPhCntVPbkContactId& contactId = 
-            static_cast<const CPhCntVPbkContactId&>( aContactId );
-    
-    if ( CreateMatcher() == KErrNone )
-        {
-            
-    // Check if we have contact already.
-    CPhCntContact* contact = 
-        iFoundContacts->FindContact( contactId.ContactLink() );
-        
-    if( contact ) 
-        {
-        hasCSNumbers = HasCSNumbers( contact );
-        contact->Release();
-        }
-    else
-        {
-        // Fetch the contact from Virtual phonebook.
-        const TInt err = 
-            iFetchContact->FetchContact( contactId.ContactLink(), contact );
-        hasCSNumbers = HasCSNumbers( contact );
-        
-        // We can delete the contact, because it is not added to 
-        // iFoundContacts.
-        delete contact;
-        }
-    
-        }
-
-    return hasCSNumbers;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntMatcherVoIPImpl::CPhCntMatcherVoIPImpl(
-    const MPhoneCntPbkOwner& aOwner ) : 
-    CPhCntMatcherImpl( aOwner )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntMatcherVoIPImpl::ConstructL()
-    {
-    CPhCntMatcherImpl::ConstructL();
-    iContactStoreLoader = CPhCntStoreLoaderImpl::NewL( iContactManager ); 
-    }
-
-
-// ---------------------------------------------------------------------------
-// Determines if contat has other phone numbers than CS numbers.
-// ---------------------------------------------------------------------------
-//  
-TBool CPhCntMatcherVoIPImpl::HasCSNumbers( 
-    const CPhCntContact* const aContact )
-    {
-    
-    TBool hasCSNumbers = EFalse;
-    if( aContact )
-        {
-        const RArray<TPhCntNumber>& allNumbers = aContact->AllNumbers();
-        const TInt count( allNumbers.Count() );
-        for( TInt i = 0; i < count; i++ )
-            {
-            const MPhCntMatch::TNumberType type = allNumbers[i].Type();
-            if( type != MPhCntMatch::ENone &&
-                type != MPhCntMatch::EFaxNumber &&
-                type != MPhCntMatch::EPagerNumber &&
-                type != MPhCntMatch::EVoipNumber 
-                )
-                {
-                hasCSNumbers = ETrue;
-                }
-            }
-        }
-    return hasCSNumbers;
-    }
-
-TInt CPhCntMatcherVoIPImpl::CreateMatcher()
-    {
-    TInt err = CPhCntMatcherImpl::CreateMatcher();
-    if (!err && !iVoipMatchStrategy )
-        {
-        TRAP( err, iVoipMatchStrategy = 
-            CPhCntVoipContactMatchStrategy::NewL( iContactManager, 
-            *iMatchContact ) );
-        }
-    return err;
-    }
-
-    
-// End of File
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntphonebookservices.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +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:  Phonebook services wrapper.
-*
-*/
-
-
-#include <MVPbkContactLinkArray.h>
-#include <MVPbkContactLink.h>
-#include "MPhCntContactManager.h"
-#include "cphcntphonebookservices.h"
-#include "tphcntservicerequestparamfactory.h"
-#include "mphcntservicerequestparam.h"
-#include "CPhCntService.h"
-#include "tphcntcontactlinkresult.h"
-#include "cphcntfetchcontact.h"
-#include "CPhCntContact.h"
-#include "cphcntcontactid.h"
-#include "tphcntnullserviceresult.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntPhonebookServices* CPhCntPhonebookServices::NewL(
-    MPhCntContactStores& aContactStores,
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntPhonebookServices* self = 
-        new( ELeave ) CPhCntPhonebookServices( aContactManager );
-    CleanupStack::PushL( self );
-    self->ConstructL( aContactStores );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntPhonebookServices::~CPhCntPhonebookServices()
-    {
-    delete iService;
-    delete iFetchContact;
-    delete iParamFactory;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets user select phonenumber from phonebook.
-// ---------------------------------------------------------------------------
-//
-void CPhCntPhonebookServices::GetUserSelectedPhoneNumberL(
-    CPhCntContactId*& aContactId, 
-    HBufC*& aPhoneNumber )
-    {
-    GetUserSelectedNumberL( aContactId, aPhoneNumber, EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// Gets user select phonenumber from phonebook.
-// ---------------------------------------------------------------------------
-//
-void CPhCntPhonebookServices::GetUserSelectedVoIPAddressL(
-    CPhCntContactId*& aContactId, 
-    HBufC*& aVoIPAddress )
-    {
-    GetUserSelectedAddressL( aContactId, aVoIPAddress );
-    }
-
-// ---------------------------------------------------------------------------
-// Gets user select dtmf number from phonebook.
-// ---------------------------------------------------------------------------
-//    
-void CPhCntPhonebookServices::GetUserSelectedDtmfNumberL(
-    CPhCntContactId*& aContactId,
-    HBufC*& aDtmfNumber )
-    {
-    GetUserSelectedNumberL( aContactId, aDtmfNumber, ETrue );
-    }
- 
-// ---------------------------------------------------------------------------
-// Cancels request.
-// ---------------------------------------------------------------------------
-//
-void CPhCntPhonebookServices::CancelRequest()
-    {
-    delete iService;
-    iService = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// Creates CPhCntService if needed.
-// ---------------------------------------------------------------------------
-//
-void CPhCntPhonebookServices::CreateCntServiceL()
-    {
-    if ( !iService )
-        {
-        iService = CPhCntService::NewL();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Creates new contact to phonebook.
-// ---------------------------------------------------------------------------
-//    
-void CPhCntPhonebookServices::CreateNewContactL( 
-    const TDesC& aPhoneNumber )
-    {
-    CreateCntServiceL();
-   
-    MPhCntServiceRequestParam* param = 
-        iParamFactory->CreateCreateNewContactRequestParamLC( aPhoneNumber );
-        
-    TPhCntNullServiceResult noResult;
-    iService->ExecuteRequestL( *param, noResult );
-    
-    CleanupStack::PopAndDestroy( 1 ); // param
-    }
-    
-// ---------------------------------------------------------------------------
-// Updates existing contact from phonebook.
-// ---------------------------------------------------------------------------
-//    
-void CPhCntPhonebookServices::UpdateExistingContactL( 
-    const TDesC& aPhoneNumber )
-    {
-    CreateCntServiceL();
-    MPhCntServiceRequestParam* param = 
-        iParamFactory->CreateUpdateContactRequestParamLC( aPhoneNumber );
-        
-    TPhCntNullServiceResult noResult;
-    iService->ExecuteRequestL( *param, noResult );
-    
-    CleanupStack::PopAndDestroy( 1 ); // param
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntPhonebookServices::CPhCntPhonebookServices(
-    MPhCntContactManager& aContactManager ) : 
-    iContactManager( aContactManager )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntPhonebookServices::ConstructL(
-    MPhCntContactStores& aContactStores )
-    {
-    iFetchContact = CPhCntFetchContact::NewL( aContactStores );
-    CreateCntServiceL();
-    iParamFactory = CPhCntServiceRequestParamFactory::NewL( iContactManager );
-    }
-
-// ---------------------------------------------------------------------------
-// Gets contact links
-// ---------------------------------------------------------------------------
-//    
-HBufC8* CPhCntPhonebookServices::GetContactLinksLC(
-    MPhCntServiceRequestParam& aParam )
-    {
-    CreateCntServiceL();
-    HBufC8* linkToContact = NULL;
-    TPhCntContactLinkResult result( linkToContact );
-    iService->ExecuteRequestL( aParam, result );
-    CleanupStack::PushL( linkToContact );
-    return linkToContact;
-    }
-
-// ---------------------------------------------------------------------------
-// Gets contact links and fetches the contact pointed by link
-// ---------------------------------------------------------------------------
-// 
-CPhCntContact* CPhCntPhonebookServices::GetUserSelectedContactLC( 
-    MPhCntServiceRequestParam& aParam )
-    {
-    CPhCntContact* contact = NULL;
-    HBufC8* linkToContact = GetContactLinksLC( aParam );
-    if( linkToContact && linkToContact->Length() > 0 ) 
-        {
-        User::LeaveIfError( 
-            iFetchContact->FetchContact( *linkToContact, contact ) );
-        }
-    else 
-        {
-        User::Leave( KErrNotFound );
-        }
-    CleanupStack::PopAndDestroy( linkToContact );
-    CleanupStack::PushL( contact );
-    return contact;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets result to client.
-// ---------------------------------------------------------------------------
-// 
-void CPhCntPhonebookServices::SetResultsL( 
-    const TDesC& aReceivedNumber, 
-    const CPhCntContactId* const aReceivedContactId,
-    HBufC*& aClientResultNumber,
-    CPhCntContactId*& aClientResultContactId ) const
-    {
-    if( aReceivedNumber.Length() > 0 && aReceivedContactId ) 
-        {
-        HBufC* number = aReceivedNumber.AllocLC();
-        aClientResultContactId = aReceivedContactId->CloneL();
-        aClientResultNumber = number; 
-        CleanupStack::Pop( number ); 
-        }
-    else 
-        {
-        User::Leave( KErrNotFound );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Gets user selected number from phonebook.
-// ---------------------------------------------------------------------------
-// 
-void CPhCntPhonebookServices::GetUserSelectedNumberL(
-    CPhCntContactId*& aContactId,
-    HBufC*& aNumber, TBool aDTMFWanted )
-    {
-   
-    MPhCntServiceRequestParam* param = NULL;
-    if( aDTMFWanted )
-        {
-        param = 
-            iParamFactory->CreateGetUserSelectedDtmfNumberLinkLC( 
-                iContactManager );
-        }
-    else
-        {
-        param = iParamFactory->CreateGetUserSelectedPhoneNumberLinkParamLC();
-        }
-        
-    CPhCntContact* contact = GetUserSelectedContactLC( *param );
-        
-    if( contact )
-        {
-        TPtrC number;
-        if( aDTMFWanted )
-            {
-            number.Set( contact->Dtmf() );        
-            }
-        // If dtmf not valid, then use phonenumber        
-        if( number.Length() == 0 )
-            {
-            number.Set( contact->Number() );
-            }
-        SetResultsL( 
-            number, 
-            contact->ContactId(), 
-            aNumber, 
-            aContactId );
-        CleanupStack::PopAndDestroy( contact );
-        }
-    else 
-        {
-        User::Leave( KErrNotFound );
-        }
-    CleanupStack::PopAndDestroy( 1 );  // param
-    }
-
-// ---------------------------------------------------------------------------
-// Gets user selected VoIP Address from phonebook.
-// ---------------------------------------------------------------------------
-// 
-void CPhCntPhonebookServices::GetUserSelectedAddressL(
-    CPhCntContactId*& aContactId,
-    HBufC*& aVoIPAddress )
-    {  
-    MPhCntServiceRequestParam* param = NULL;
-    param = iParamFactory->CreateGetUserSelectedVoIPAddressLinkParamLC(
-                iContactManager );
- 
-    CPhCntContact* contact = GetUserSelectedContactLC( *param );
-        
-    if( contact )
-        {
-        TPtrC number;
-
-        if( number.Length() == 0 )
-            {
-            number.Set( contact->Number() );
-            }
-        
-        SetResultsL( 
-            number, 
-            contact->ContactId(), 
-            aVoIPAddress, 
-            aContactId );
-        CleanupStack::PopAndDestroy( contact );
-        }
-    else 
-        {
-        User::Leave( KErrNotFound );
-        }
-    CleanupStack::PopAndDestroy( 1 ); // contact
-    }
-
-// ---------------------------------------------------------------------------
-// Gets a phone number for a contact link.
-// ---------------------------------------------------------------------------
-// 
-void CPhCntPhonebookServices::GetPhoneNumberL(
-    const TDesC8& aContactLink, 
-    const CPhCntSingleItemFetch::TCallType aCallType,
-    HBufC*& aNumber,
-    HBufC8*& aFieldLink )    
-	{			
-	// Setup AIW parameters	for a service request		
-	MPhCntServiceRequestParam* param = 
-	    iParamFactory->CreateGetPhoneNumberFromContactParamLC( 
-	        aContactLink, aCallType );
-	// Execute the service request
-	CPhCntContact* contact = GetUserSelectedContactLC( *param );	
-	
-	// If a contact was found
-	if( contact )
-	    {
-	    if( contact->Number().Length() > 0 &&
-	        contact->ContactLink() )
-            {        
-            aNumber = contact->Number().AllocLC();
-            aFieldLink = contact->ContactLink()->PackLC();
-            CleanupStack::Pop( 2, aNumber ); // aNumber & aFieldLink
-            }
-        CleanupStack::PopAndDestroy( contact );
-	    }
-    else 
-        {
-        User::Leave( KErrNotFound );
-        }			
-	CleanupStack::PopAndDestroy( 1 ); // param.	
-	}
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialcontactlinkfetch.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 CPhCntSpeedDialContactL class.
-*
-*/
-
-
-#include "cphcntspeeddialcontactlinkfetch.h"
-#include "MPhCntContactManager.h"
-#include "MVPbkContactLinkArray.h"
-#include "MVPbkContactOperationBase.h"
-
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-CPhCntSpeedDialContactLinkFetch::CPhCntSpeedDialContactLinkFetch(
-    MPhCntContactManager& aContactManager ) :
-    iContactManager( aContactManager )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-void CPhCntSpeedDialContactLinkFetch::ConstructL()
-    {
-    CPhCntContactLinkArrayFetch::BaseConstructL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-CPhCntSpeedDialContactLinkFetch* CPhCntSpeedDialContactLinkFetch::NewL(
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntSpeedDialContactLinkFetch* self = 
-        CPhCntSpeedDialContactLinkFetch::NewLC( aContactManager );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-CPhCntSpeedDialContactLinkFetch* CPhCntSpeedDialContactLinkFetch::NewLC(
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntSpeedDialContactLinkFetch* self = 
-        new( ELeave ) CPhCntSpeedDialContactLinkFetch( aContactManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-CPhCntSpeedDialContactLinkFetch::~CPhCntSpeedDialContactLinkFetch()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-const MVPbkContactLink& CPhCntSpeedDialContactLinkFetch::FetchSpeedDialLinkL( 
-    TInt aSpeedDialPosition )
-    {
-    iSpeedDialPosition = aSpeedDialPosition;
-    TInt error( MakeAsyncRequest() );
-    
-    delete iOperation; 
-    iOperation = NULL;
-    
-    const MVPbkContactLink* contactLink = NULL;
-    if( !error ) 
-        {
-        if( iFetchedContactLinks && iFetchedContactLinks->Count() == 1 )
-            {
-            contactLink = &iFetchedContactLinks->At( 0 );
-            }
-        else
-            {
-            delete iFetchedContactLinks;
-            iFetchedContactLinks = NULL;
-            error = KErrNotFound;
-            }
-        }
-    User::LeaveIfError( error );
-    
-    return *contactLink;
-    }
-
-// ---------------------------------------------------------------------------
-// From CPhCntAsyncToSync
-// ?implementation_description
-// ---------------------------------------------------------------------------
-//
-void CPhCntSpeedDialContactLinkFetch::DoMakeAsyncRequestL()
-    {
-    if( !IsActive() )
-        {
-        iOperation = iContactManager.RetrieveSpeedDialContactLinkL( 
-            iSpeedDialPosition, *this );
-        }
-    else
-        {
-        User::Leave( KErrInUse );
-        }
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntspeeddialimpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 CPhCntSpeedDialImpl class.
-*
-*/
-
-
-#include <spdiadialogs.h>
-#include <MVPbkContactLink.h>
-#include <PbkFields.hrh>
-#include <avkon.mbg>
-#include <eikimage.h> 
-#include <aknconsts.h>
-
-#include "CPhCntSpeedDialMonitor.h"
-#include "cphcntspeeddialimpl.h"
-#include "cphcntspeeddialcontactlinkfetch.h"
-#include "MPhoneCntPbkOwner.h"
-#include "cphcntfetchcontact.h"
-#include "CPhCntContactStores.h"
-#include "MPhCntContactManager.h"
-#include "CPhCntContact.h"
-#include "cphcntvpbkcontactid.h"
-#include "CPhCntContactManager.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Default constructor.
-// ---------------------------------------------------------------------------
-//
-CPhCntSpeedDialImpl::CPhCntSpeedDialImpl( MPhoneCntPbkOwner& aPbkOwner ) : 
-    iContactManager( *aPbkOwner.ContactManager() ),
-    iPbkOwner( aPbkOwner )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPhCntSpeedDialImpl::ConstructL()
-    {
-    iSpeedDialContactLinkFetcher = 
-        CPhCntSpeedDialContactLinkFetch::NewL( iContactManager );
-        
-    iContactStores = CPhCntContactStores::NewL( iContactManager );
-        
-    iContactFetcher = CPhCntFetchContact::NewL( *iContactStores );
-    }
-    
-// ---------------------------------------------------------------------------
-//  CPhCntSpeedDialImpl::FetchContact
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntSpeedDialImpl::FetchContact( 
-    TInt aSpeedDialPosition,
-    CPhCntContact*& aContact )
-    {
-    TRAPD( err, 
-        const MVPbkContactLink& linkToSpeedDialContact = 
-            iSpeedDialContactLinkFetcher->FetchSpeedDialLinkL( 
-                aSpeedDialPosition );
-                
-    
-        err = 
-            iContactFetcher->FetchContact( linkToSpeedDialContact, aContact );
-    )
-    return err;
-    }
-    
-// ---------------------------------------------------------------------------
-//  CPhCntSpeedDialImpl::CopyNumberL
-// ---------------------------------------------------------------------------
-//
-void CPhCntSpeedDialImpl::CopyNumberL( 
-    TDes& aCopyTo, 
-    const TDesC& aNumber )
-    {
-    if( aCopyTo.MaxLength() >= aNumber.Length() ) 
-        {
-        aCopyTo.Copy( aNumber );
-        }
-    else
-        {
-        User::Leave( KErrArgument );
-        }
-    }
-// ---------------------------------------------------------------------------
-//  CPhCntSpeedDialImpl::CopyContactInfoToFieldInfoL
-// ---------------------------------------------------------------------------
-//  
-void CPhCntSpeedDialImpl::CopyContactInfoToFieldInfoL( 
-        CPhCntContact& aContact,
-        TInt aSpeedDialPosition, 
-        TSpdDialFieldInfo& aFieldInfo )
-    {
-    
-    MVPbkContactLink* contactLink = aContact.ContactLink()->CloneLC();
-    CPhCntVPbkContactId* contactId = 
-        CPhCntVPbkContactId::NewL( contactLink, iContactManager );
-    CleanupStack::Pop(); // contactLink
-    aFieldInfo.iContactId = contactId;
-        
-    aFieldInfo.iThumbIndex = KErrNotFound;
-	TPhCntNumber speedDial = aContact.SpeedDialNumber( aSpeedDialPosition );    
-	aFieldInfo.iNumberType = speedDial.Type();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::NewL
-// ---------------------------------------------------------------------------
-//
-CPhCntSpeedDialImpl* CPhCntSpeedDialImpl::NewL(
-    MPhoneCntPbkOwner& aPbkOwner )
-    {
-    CPhCntSpeedDialImpl* self = 
-        CPhCntSpeedDialImpl::NewLC( aPbkOwner );
-        
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::NewLC
-// ---------------------------------------------------------------------------
-//
-CPhCntSpeedDialImpl* CPhCntSpeedDialImpl::NewLC(
-    MPhoneCntPbkOwner& aPbkOwner )
-    {
-    CPhCntSpeedDialImpl* self = new( ELeave ) 
-        CPhCntSpeedDialImpl( aPbkOwner );
-        
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntSpeedDialImpl::~CPhCntSpeedDialImpl()
-    {
-    delete iContactFetcher;
-    delete iContactStores;
-    delete iSpeedDialContactLinkFetcher;
-    delete iSpdDial;
-    }
-
-// ---------------------------------------------------------------------------
-//  CPhCntSpeedDialImpl::GetSpeedDialFieldInfoL
-// ---------------------------------------------------------------------------
-//
-void CPhCntSpeedDialImpl::GetSpeedDialFieldInfoL( 
-    TInt aSpeedDialPosition,
-    TSpdDialFieldInfo& aFieldInfo )
-    {    
-    CPhCntContact* contact = NULL;
-    User::LeaveIfError( FetchContact( aSpeedDialPosition, contact ) );
-    
-    CleanupStack::PushL( contact );
-   
-    CopyContactInfoToFieldInfoL( *contact, aSpeedDialPosition, aFieldInfo );
-        
-    CleanupStack::PopAndDestroy( contact );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::GetSpeedDialFieldL
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntSpeedDialImpl::GetSpeedDialFieldL( 
-    TInt aSpeedDialPosition, 
-    TDes& aPhoneNumber )
-    {
-    CPhCntContact* contact = NULL;
-    const TInt err = FetchContact( aSpeedDialPosition, contact );
-    if( !err )
-        {
-        CleanupStack::PushL( contact );
-        TPhCntNumber speedDial( contact->SpeedDialNumber( aSpeedDialPosition ) );
-        CopyNumberL( aPhoneNumber, speedDial.Number() );        
-        CleanupStack::PopAndDestroy( contact );
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::GetSpeedDialFieldL
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntSpeedDialImpl::GetSpeedDialFieldL(
-    TInt aSpeedDialPosition, 
-    TDes& aPhoneNumber,
-    TSpdDialFieldInfo& aFieldInfo )
-    {
-    CPhCntContact* contact = NULL;
-    const TInt err = FetchContact( aSpeedDialPosition, contact );
-    
-    if( !err )
-        {
-        CleanupStack::PushL( contact );
-        TPhCntNumber speedDial( contact->SpeedDialNumber( aSpeedDialPosition ) );
-        CopyNumberL( aPhoneNumber, speedDial.Number() );         
-        CopyContactInfoToFieldInfoL( *contact, aSpeedDialPosition, aFieldInfo );        
-        CleanupStack::PopAndDestroy( contact );
-        }
-    return err;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::FetchNumberL
-// -----------------------------------------------------------------------------
-//
-TInt CPhCntSpeedDialImpl::FetchNumberL(
-            TInt aSpeedDialPosition,
-            TDes& aPhoneNumber )
-    {
-    CPhCntContact* contact = NULL;
-    TInt err = FetchContact( aSpeedDialPosition, contact );
-    
-    if( !err )
-        {
-        CleanupStack::PushL( contact );
-        TPhCntNumber speedDial( contact->SpeedDialNumber( aSpeedDialPosition ) );
-        CopyNumberL( aPhoneNumber, speedDial.Number() );        
-        CleanupStack::PopAndDestroy( contact );
-        }
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::AssignSpeedDialFieldL
-// -----------------------------------------------------------------------------
-//
-TInt CPhCntSpeedDialImpl::AssignSpeedDialFieldL(
-            TInt aSpeedDialPosition,
-            TDes& aPhoneNumber )
-    {
-    CVPbkContactManager* contactMg = 
-        &iPbkOwner.ContactManager()->ContactManager();
-    if ( !iSpdDial )
-        {
-        iSpdDial = CSpdiaDialogs::NewL( *contactMg );    
-        }    
-    MVPbkContactLink *link = NULL;
-    TInt err = iSpdDial->ShowAssign( aSpeedDialPosition, link );
-    delete iSpdDial;
-    iSpdDial = NULL;
-    if ( err == KErrNone )
-        {
-        err = FetchNumberL( aSpeedDialPosition, aPhoneNumber );    
-        }
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::AssignSpeedDialFieldL
-// -----------------------------------------------------------------------------
-//
-TInt CPhCntSpeedDialImpl::AssignSpeedDialFieldL(
-            TInt aSpeedDialPosition,
-            TDes& aPhoneNumber,
-            TSpdDialFieldInfo& aFieldInfo )
-    {
-    TInt err = AssignSpeedDialFieldL( aSpeedDialPosition, aPhoneNumber );
-    if ( err == KErrNone )
-        {
-        GetSpeedDialFieldInfoL( aSpeedDialPosition, aFieldInfo );
-        }
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::Cancel
-// -----------------------------------------------------------------------------
-//
-void CPhCntSpeedDialImpl::Cancel()
-    {
-    if ( iSpdDial )
-        {
-        iSpdDial->Cancel();
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhCntSpeedDialImpl::CreateNumberTypeIconLC
-// -----------------------------------------------------------------------------
-//
-CEikImage* CPhCntSpeedDialImpl::CreateNumberTypeIconLC( 
-    TInt aNumberType )
-    {
-    TUint icon;
-    TUint mask;
-    switch ( aNumberType )
-        {
-        case EPbkFieldIdPhoneNumberMobile:
-            icon = EMbmAvkonQgn_prop_nrtyp_mobile;
-            mask = EMbmAvkonQgn_prop_nrtyp_mobile_mask;
-            break;
-        case EPbkFieldIdPagerNumber:
-            icon = EMbmAvkonQgn_prop_nrtyp_pager;
-            mask = EMbmAvkonQgn_prop_nrtyp_pager_mask;
-            break;
-        case EPbkFieldIdPhoneNumberVideo:
-            icon = EMbmAvkonQgn_prop_nrtyp_video;
-            mask = EMbmAvkonQgn_prop_nrtyp_video_mask;
-            break;
-        case EPbkFieldIdVOIP:
-            icon = EMbmAvkonQgn_prop_nrtyp_voip;
-            mask = EMbmAvkonQgn_prop_nrtyp_voip_mask;
-            break;
-        case EPbkFieldIdPhoneNumberGeneral:
-        case EPbkFieldIdPhoneNumberHome:
-        case EPbkFieldIdPhoneNumberWork:
-        case EPbkFieldIdFaxNumber:
-        default:
-            icon = EMbmAvkonQgn_prop_nrtyp_phone;
-            mask = EMbmAvkonQgn_prop_nrtyp_phone_mask;
-            break;
-        }
-
-    CEikImage* iconImg = new ( ELeave ) CEikImage;
-    CleanupStack::PushL( iconImg );
-
-    CFbsBitmap* iconBmp = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( iconBmp );
-    User::LeaveIfError( iconBmp->Load( 
-        KAvkonBitmapFile(),
-        icon,
-        ETrue ) );
-
-    CFbsBitmap* iconMaskBmp = new ( ELeave ) CFbsBitmap;
-    CleanupStack::PushL( iconMaskBmp );
-    User::LeaveIfError( iconMaskBmp->Load( 
-        KAvkonBitmapFile(), 
-        mask,
-        ETrue ) );
-    
-    CleanupStack::Pop( iconMaskBmp );
-    CleanupStack::Pop( iconBmp );
-
-    iconImg->SetPicture( iconBmp, iconMaskBmp );
-    iconImg->SetPictureOwnedExternally( EFalse );
-
-    return iconImg;
-    }
-        
-//  End of File 
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntstoreloaderimpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +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 CPhCntStoreLoaderImpl class.
-*
-*/
-
-
-#include <CVPbkContactLinkArray.h>
-#include <TVPbkContactStoreUriPtr.h>
-#include <MVPbkContactStoreList.h>
-#include "cphcntstoreloaderimpl.h"
-#include "MPhCntContactManager.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPhCntStoreLoaderImpl::CPhCntStoreLoaderImpl
-// C++ default constructor can NOT contain any code, that might leave.
-// ---------------------------------------------------------------------------
-//
-CPhCntStoreLoaderImpl::CPhCntStoreLoaderImpl( MPhCntContactManager& aManager )
-        :
-        iContactManager( aManager )
-    {
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CPhCntStoreLoaderImpl* CPhCntStoreLoaderImpl::NewL( 
-        MPhCntContactManager& aManager )
-    {
-    CPhCntStoreLoaderImpl* self = CPhCntStoreLoaderImpl::NewLC( aManager );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CPhCntStoreLoaderImpl* CPhCntStoreLoaderImpl::NewLC( 
-        MPhCntContactManager& aManager )
-    {
-    CPhCntStoreLoaderImpl* self 
-        = new( ELeave ) CPhCntStoreLoaderImpl( aManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ?description_if_needed
-// ---------------------------------------------------------------------------
-//
-CPhCntStoreLoaderImpl::~CPhCntStoreLoaderImpl()
-    {
-    iObserver = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// Secondphase constructor.
-// ---------------------------------------------------------------------------
-//
-void CPhCntStoreLoaderImpl::ConstructL()
-    {
-    BaseConstructL();
-    }
-// ---------------------------------------------------------------------------
-// From class MPhCntStoreLoader.
-// Checks is the specified contact store loaded.
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntStoreLoaderImpl::IsContactStoreLoaded( 
-        const TDesC8& aContactLink ) const
-    {
-    TBool isStoreLoaded( EFalse );
-    TRAP_IGNORE( isStoreLoaded = IsContactStoreLoadedL( aContactLink ) );
-    
-    return isStoreLoaded;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MPhCntStoreLoader.
-// Starts asynchronous loading process for the store specified by the given
-// contact link.
-// ---------------------------------------------------------------------------
-//
-void CPhCntStoreLoaderImpl::LoadContactStoreL( const TDesC8& aContactLink,
-        MPhCntStoreLoaderObserver& aObserver )
-    {
-    __ASSERT_ALWAYS( NULL == iObserver, User::Leave( KErrInUse ) );
-    
-    iObserver = &aObserver;
-    iContactManager.LoadContactStoreL( aContactLink, *this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MPhCntStoreLoaderObserver.
-// Called when contact store loading process is completed. 
-// ---------------------------------------------------------------------------
-//
-void CPhCntStoreLoaderImpl::ContactStoreLoadingCompleted( 
-        MVPbkContactStore* aStore, TInt aErrorCode )
-    {
-    // Loading with contact store uri was completed  
-    if ( iStoreUri )
-        {
-        ResponseReceived( aErrorCode );
-        iStoreUri = NULL;
-        }
-    // Loading with contact link was completed   
-    else if ( iObserver )
-        {
-        iObserver->ContactStoreLoadingCompleted( aStore, aErrorCode );
-        iObserver = NULL;
-        }
-    else
-        {
-        ASSERT( NULL != iObserver );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntStoreLoaderImpl::LoadContactStoreWithUri.
-// Loads contact store (specified by the given URI) synchronously.
-// ---------------------------------------------------------------------------
-//
-TInt CPhCntStoreLoaderImpl::LoadContactStoreWithUri( const TDesC& aStoreUri )
-    {      
-    TInt err = KErrNone;
-    TBool storeLoaded = EFalse;
-    TRAP_IGNORE( storeLoaded = IsContactStoreLoadedL( aStoreUri ) );
-    if ( !storeLoaded )
-        {
-        iStoreUri = &aStoreUri;
-        // convert Asynch store loading to synch 
-        err = MakeAsyncRequest();
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CPhCntAsyncToSync
-// Issues asynchronous request for contact store loading.
-// ---------------------------------------------------------------------------
-//
-void CPhCntStoreLoaderImpl::DoMakeAsyncRequestL()
-    {
-    __ASSERT_ALWAYS( NULL != iStoreUri, User::Leave( KErrArgument ) );
-    iContactManager.LoadContactStoreWithUriL( *iStoreUri, *this );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntStoreLoaderImpl::IsContactStoreLoadedL.
-// Checks is the contact store (specified by the given contact link) loaded.
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntStoreLoaderImpl::IsContactStoreLoadedL( 
-        const TDesC8& aContactLink ) const
-    {
-    CVPbkContactLinkArray* linkArray = CVPbkContactLinkArray::NewLC( 
-        aContactLink, iContactManager.ContactStoresL() );
-    
-    TBool storeLoaded( linkArray->Count() != 0 );
-    CleanupStack::PopAndDestroy( linkArray );
-    
-    return storeLoaded;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntStoreLoaderImpl::IsContactStoreLoadedL.
-// Checks is the contact store (specified by the given URI) loaded.
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntStoreLoaderImpl::IsContactStoreLoadedL( 
-        const TDesC16& aContactStoreUri ) const
-    {
-    MVPbkContactStoreList& storeList = iContactManager.ContactStoresL();
-    TVPbkContactStoreUriPtr uriPtr( aContactStoreUri );
-    MVPbkContactStore* store = storeList.Find( uriPtr );
-    return ( NULL != store );
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntvoipcontactmatchstrategy.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:  Finds voip contacts from phonebook
-*
-*/
-
-
-#include <MVPbkContactOperationBase.h>
-
-#include "cphcntvoipcontactmatchstrategy.h"
-#include "mphcntvoipcontactfinder.h"
-#include "PhCntPanic.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVoipContactMatchStrategy::CPhCntVoipContactMatchStrategy(
-    MPhCntVoipContactFinder& aVoipContactFinder,
-    MVPbkContactFindObserver& aObserver ) :
-    iVoipContactFinder( aVoipContactFinder ),
-    iObserver( aObserver )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Secondphase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntVoipContactMatchStrategy::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVoipContactMatchStrategy* CPhCntVoipContactMatchStrategy::NewL(
-    MPhCntVoipContactFinder& aVoipContactFinder,
-    MVPbkContactFindObserver& aObserver )
-    {
-    CPhCntVoipContactMatchStrategy* self = 
-        CPhCntVoipContactMatchStrategy::NewLC( aVoipContactFinder, aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVoipContactMatchStrategy* CPhCntVoipContactMatchStrategy::NewLC(
-    MPhCntVoipContactFinder& aVoipContactFinder,
-    MVPbkContactFindObserver& aObserver )
-    {
-    CPhCntVoipContactMatchStrategy* self = 
-        new( ELeave ) CPhCntVoipContactMatchStrategy( 
-            aVoipContactFinder, aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVoipContactMatchStrategy::~CPhCntVoipContactMatchStrategy()
-    {
-    delete iFindOperation;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntContactMatchStrategy
-// Starts the find
-// ---------------------------------------------------------------------------
-//
- void CPhCntVoipContactMatchStrategy::FindMatchesL( 
-    const TDesC& aMatchString )
-    {
-    __ASSERT_ALWAYS( !iFindOperation, 
-        PhCntPanic( EPhCntOperationAlreadyOngoing ) );
-    iFindOperation = 
-        iVoipContactFinder.FindVoipContactsL( aMatchString, *this );
-    }
- 
-// ---------------------------------------------------------------------------
-// From class MVPbkContactFindObserver
-// Notification that find is done succesfully
-// ---------------------------------------------------------------------------
-//   
- void CPhCntVoipContactMatchStrategy::FindCompleteL( 
-    MVPbkContactLinkArray* aResults )
-    {
-    delete iFindOperation;
-    iFindOperation = NULL;
-    iObserver.FindCompleteL( aResults );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MVPbkContactFindObserver
-// Notification that find failed
-// ---------------------------------------------------------------------------
-//     
-void CPhCntVoipContactMatchStrategy::FindFailed( 
-    TInt aError )
-    {
-    delete iFindOperation;
-    iFindOperation = NULL;
-    iObserver.FindFailed( aError );
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntvpbkcontactid.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +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:  Contact identifier used with virtual phonebook
-*
-*/
-
-
-#include "MPhCntContactManager.h"
-#include "cphcntvpbkcontactid.h"
-#include "MVPbkContactLink.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkContactId::CPhCntVPbkContactId( 
-    MVPbkContactLink* aContactLink,
-    MPhCntContactManager& aContactManager ) : 
-    iContactLink( aContactLink ),
-    iContactManager( aContactManager )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPhCntVPbkContactId::ConstructL( 
-    TContactItemId aContactItemId )
-    {
-    iContactLink = 
-        iContactManager.ConvertContactIdToLinkL( aContactItemId );
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPhCntVPbkContactId::ConstructL( const TDesC8& aContactLink )
-    {
-    iContactLink =
-        iContactManager.ConvertDescriptorToLinkL( aContactLink );
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkContactId* CPhCntVPbkContactId::NewL(
-    MVPbkContactLink* aContactLink,
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntVPbkContactId* self = 
-        CPhCntVPbkContactId::NewLC( aContactLink, aContactManager );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkContactId* CPhCntVPbkContactId::NewLC( 
-    TContactItemId aContactId,
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntVPbkContactId* self = 
-        new( ELeave ) CPhCntVPbkContactId( 
-            NULL, aContactManager );
-    CleanupStack::PushL( self );
-    self->ConstructL( aContactId );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkContactId* CPhCntVPbkContactId::NewL(
-    TContactItemId aContactId,
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntVPbkContactId* self = 
-        CPhCntVPbkContactId::NewLC( aContactId, aContactManager );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkContactId* CPhCntVPbkContactId::NewLC( 
-    MVPbkContactLink* aContactLink,
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntVPbkContactId* self = 
-        new( ELeave ) CPhCntVPbkContactId( 
-            aContactLink,
-            aContactManager );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//    
-CPhCntVPbkContactId* CPhCntVPbkContactId::NewL( 
-    const TDesC8& aContactLink,
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntVPbkContactId* self = 
-        new( ELeave )CPhCntVPbkContactId( NULL, aContactManager );
-    CleanupStack::PushL( self );
-    self->ConstructL( aContactLink );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkContactId::~CPhCntVPbkContactId()
-    {
-    delete iContactLink;
-    }
-
-// ---------------------------------------------------------------------------
-// Gives the contact link
-// ---------------------------------------------------------------------------
-//
-const MVPbkContactLink& CPhCntVPbkContactId::ContactLink() const
-    {
-    return *iContactLink;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CPhCntContactId
-// Clones this object.
-// ---------------------------------------------------------------------------
-//
-CPhCntContactId* CPhCntVPbkContactId::CloneL() const
-    {
-    CPhCntContactId* clone = NULL;
-    if( iContactLink ) 
-        {
-        MVPbkContactLink* clonedLink = iContactLink->CloneLC();
-        clone = CPhCntVPbkContactId::NewL( clonedLink, iContactManager );
-        CleanupStack::Pop(); // clonedLink
-        }
-    return clone;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CPhCntContactId
-// Invalidates this contact id
-// ---------------------------------------------------------------------------
-//
-void CPhCntVPbkContactId::Invalidate()
-    {
-    delete iContactLink;
-    iContactLink = NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CPhCntContactId
-// Is valid
-// ---------------------------------------------------------------------------
-//
-TBool CPhCntVPbkContactId::IsValid() const
-    {
-    TBool isValid = EFalse;
-    if( iContactLink )
-        {
-        isValid = ETrue;
-        }
-    return isValid;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CPhCntContactId
-// Contact id
-// ---------------------------------------------------------------------------
-//
-TContactItemId CPhCntVPbkContactId::ContactId() const
-    {
-    TContactItemId contactId = KNullContactId;
-    if( iContactLink ) 
-        {
-        contactId = iContactManager.ConvertContactLinkToContactId( *iContactLink );
-        }
-    return contactId;
-    }
-    
-// ---------------------------------------------------------------------------
-// From class CPhCntContactId
-// Packs contact link.
-// ---------------------------------------------------------------------------
-//
-HBufC8* CPhCntVPbkContactId::PackLC() const
-    {
-    HBufC8* pack = NULL;
-    if( iContactLink )
-        {
-        pack = iContactLink->PackLC();
-        }
-    return pack;
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/cphcntvpbkthumbnailloader.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +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:  Thumbnail loader for loading thumbnails from VirtualPhonebook
-*
-*/
-
-
-#include <CPbk2ImageManager.h>
-
-#include "cphcntvpbkthumbnailloader.h"
-#include "MPhCntContactStores.h"
-#include "cphcntvpbkcontactid.h"
-#include "CPhCntContact.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkThumbnailLoader::CPhCntVPbkThumbnailLoader(
-    MPhCntContactStores& aContactStores ) : 
-    iContactStores( &aContactStores )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPhCntVPbkThumbnailLoader::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkThumbnailLoader* CPhCntVPbkThumbnailLoader::NewL(
-    MPhCntContactStores& aContactStores )
-    {
-    CPhCntVPbkThumbnailLoader* self = 
-        CPhCntVPbkThumbnailLoader::NewLC( aContactStores );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkThumbnailLoader* CPhCntVPbkThumbnailLoader::NewLC(
-    MPhCntContactStores& aContactStores )
-    {
-    CPhCntVPbkThumbnailLoader* self = 
-        new( ELeave ) CPhCntVPbkThumbnailLoader( aContactStores );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// destructor.
-// ---------------------------------------------------------------------------
-//
-CPhCntVPbkThumbnailLoader::~CPhCntVPbkThumbnailLoader()
-    {
-    delete iContactStores;
-    delete iOperation;
-    delete iReceivedContact;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// From class MPhCntThumbnailLoader
-// ---------------------------------------------------------------------------
-//
-void CPhCntVPbkThumbnailLoader::Cancel()
-    {
-    delete iReceivedContact;
-    iReceivedContact = NULL;
-    delete iOperation;
-    iOperation = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntThumbnailLoader
-// ---------------------------------------------------------------------------
-//
-void CPhCntVPbkThumbnailLoader::Release()
-    {
-    // Nothing to do.
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CPhCntThumbnailLoaderBase
-// Starts the loading of thumbnail
-// ---------------------------------------------------------------------------
-//
-void CPhCntVPbkThumbnailLoader::DoLoadL( const CPhCntContactId& aContactId ) 
-    {
-    // Cast is safe because compile time variation makes sure that 
-    // CPhCntContactId is only subclassed by CPhCntVPbkContactId.
-    const CPhCntVPbkContactId& contactId = 
-        reinterpret_cast<const CPhCntVPbkContactId&>( aContactId );
-        
-    // Fetch the contact.
-    iContactStores->FetchContactL( contactId.ContactLink(), *this );
-    }
- 
-// ---------------------------------------------------------------------------
-// From class MPhCntContactFetchObserver
-// Indication that contact has been fetched from contact stores.
-// Starts loading the thumbnail from contact.
-// ---------------------------------------------------------------------------
-//   
-void CPhCntVPbkThumbnailLoader::ContactReceived( 
-    CPhCntContact* aContact, 
-    TInt aError )
-    {
-    if( aError == KErrNone )
-        {
-        iReceivedContact = aContact;
-        TRAPD( err, iOperation = iReceivedContact->LoadThumbnailL( *this ) );
-        if( err != KErrNone ) 
-            {
-            NotifyObserver( NULL, err );
-            delete iReceivedContact;
-            iReceivedContact = NULL;
-            }
-        }
-    else 
-        {
-        NotifyObserver( NULL, aError );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPbk2ImageGetObserver
-// ---------------------------------------------------------------------------
-//  
-void CPhCntVPbkThumbnailLoader::Pbk2ImageGetComplete( 
-    MPbk2ImageOperation& /*aOperation*/, 
-    CFbsBitmap* aBitmap )
-    {
-    delete iOperation;
-    iOperation = NULL;
-    
-    delete iReceivedContact;
-    iReceivedContact = NULL;
-    
-    NotifyObserver( aBitmap, KErrNone );
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPbk2ImageGetObserver
-// ---------------------------------------------------------------------------
-//
-void CPhCntVPbkThumbnailLoader::Pbk2ImageGetFailed( 
-    MPbk2ImageOperation& /*aOperation*/, 
-    TInt aError )
-    {
-    delete iOperation;
-    iOperation = NULL;
-    
-    delete iReceivedContact;
-    iReceivedContact = NULL;
-    
-    NotifyObserver( NULL, aError );
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntaiwserviceobserver.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Observer for Phonebook AIW services.
-*
-*/
-
-
-#include "tphcntaiwserviceobserver.h"
-#include "mphcntservicerequestparam.h"
-#include "mphcntserviceresult.h"
-
-// Phonebook2 AIW service constants
-const TInt KServiceTermiationAllowed = 0; 
-const TInt KProcessTerminationAllowed = 1;
-
-// Phone Process Uid.
-const TInt KPhoneProcess = 0x100058B3;
-const TBool KDoNotAllowProcessTermination = EFalse;
-const TBool KAllowProcessTermination = ETrue;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntAiwServiceObserver::TPhCntAiwServiceObserver(
-    MPhCntAiwServiceCompleteObserver& aObserver) : 
-    iResult( NULL ),
-    iParams( NULL ),
-    iObserver( aObserver ),
-    iAiwServiceShuttingDown( EFalse )
-    {
-    }
-   
-// ---------------------------------------------------------------------------
-// Sets params and result
-// ---------------------------------------------------------------------------
-// 
-void TPhCntAiwServiceObserver::SetRequestAndResult( 
-    MPhCntServiceRequestParam* aParams,
-    MPhCntServiceResult* aResult )
-    {
-    iParams = aParams;
-    iResult = aResult;
-    }
-
-// ---------------------------------------------------------------------------
-// From MAiwNotifyCallback
-// Handles the Phonebooks AIW callbacks.
-// ---------------------------------------------------------------------------
-//
-TInt TPhCntAiwServiceObserver::HandleNotifyL(
-    TInt aCmdId,
-    TInt aEventId,
-    CAiwGenericParamList& aEventParamList,
-    const CAiwGenericParamList& /*aInParamList*/ )
-	{
-	TInt response = KErrNone;
-	if( iResult && iParams )
-	    {
-	    if( aCmdId == iParams->Command() ) 
-	        {
-	        switch( aEventId )
-	            {
-	            // User canceled the service.
-	            case KAiwEventCanceled:
-	                // if AIW service is shutting down (ie user has pressed end key), 
-	                // do not indicate that response has received yet, because
-	                // we still have to wait KAiwEventQueryExit.
-	                if( !iAiwServiceShuttingDown )
-	                    {
-	                    ResponseReceived( KErrCancel );
-	                    }
-	                break;
-	            
-	            // Service provider had an internal error.
-	            case KAiwEventError:
-	                ResponseReceived( ParseErrorCode( aEventParamList ) );
-	                break;
-	                
-	            // Service provider stopped from some reason.
-	            case KAiwEventStopped:
-	                ResponseReceived( KErrGeneral );
-	                break;
-	            
-	            case KAiwEventCompleted:
-	                iResult->ParseResult( aEventParamList );
-	                ResponseReceived( KErrNone );
-	                break;
-	                
-	            // We are not interested to check the client selection.
-	            case KAiwEventOutParamCheck: 
-	                response = ETrue;
-	                break;
-	                
-	                
-	            // QUERY EXIT is three phase operation.
-	            // First time when KAiwEventQueryExit comes, Phonebook AIW service
-	            // provider is asking if service is allowed to be terminated (KServiceTermiationAllowed).
-	            // After that service request is completed with event KAiwEventCanceled.
-	            // Last phase is KAiwEventQueryExit event with query to allow process termination 
-	            // (KProcessTerminationAllowed).
-	            case KAiwEventQueryExit:
-
-	                TInt queryType;
-                    if( !FindFirstTInt32Value( 
-	                        aEventParamList, EGenericParamApplication, queryType ) )
-                        {
-                        if( queryType == KServiceTermiationAllowed )
-                            { 
-                            // AIW service is always allowed to exit. After this
-                            // AIW service provider cancels the outstanding
-                            // request with event KAiwEventCanceled.
-                            response = iAiwServiceShuttingDown = ETrue;
-                            }
-                        else if( queryType == KProcessTerminationAllowed )
-                            {
-                            if ( RunningInPhoneAppProcess() )
-                                {
-                                // Phone app process is not allowed to be 
-                                // terminated.
-                                response = KDoNotAllowProcessTermination;    
-                                }
-                            else
-                                {
-                                response = KAllowProcessTermination;
-                                }                          
-                            ResponseReceived( KErrCancel );
-                            }
-                        }
-                    break;
-	              
-	            // Other events are not handled and we wait for
-	            // next event.
-                default:
-                    break;
-	            }           
-	        }
-	    }
-	    
-	return response;
-	}
-	
-// ---------------------------------------------------------------------------
-// Takes error code from generic param list.
-// ---------------------------------------------------------------------------
-//	
-TInt TPhCntAiwServiceObserver::ParseErrorCode( 
-    const CAiwGenericParamList& aEventParamList )
-    {
-    TInt errorValue = KErrGeneral;
-    FindFirstTInt32Value( aEventParamList, EGenericParamError, errorValue );
-    return errorValue;
-    }
-
-// ---------------------------------------------------------------------------
-// Takes integer value from aEventParamList.
-// ---------------------------------------------------------------------------
-//	    
-TInt TPhCntAiwServiceObserver::FindFirstTInt32Value( 
-    const CAiwGenericParamList& aEventParamList, 
-    TGenericParamId aParameterId,
-    TInt& aValue ) const
-    {
-    TInt err( KErrNotFound );
-    TInt index( 0 );
-    const TAiwGenericParam* param =
-        aEventParamList.FindFirst( index, aParameterId );
-    if ( index != KErrNotFound && param )
-        {
-        aValue = param->Value().AsTInt32();
-        err = KErrNone;
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Notifies observer.
-// ---------------------------------------------------------------------------
-//
-void TPhCntAiwServiceObserver::ResponseReceived( TInt aError )
-    {
-    iObserver.ServiceRequestComplete( aError );
-    iResult = NULL;
-    iParams = NULL;
-    iAiwServiceShuttingDown = EFalse;
-    }
-    
-// ---------------------------------------------------------------------------
-// Checks if running in phone process. The handling of KAiwEventQueryExit
-// is done differently if running in phone process.
-// ---------------------------------------------------------------------------
-//
-TBool TPhCntAiwServiceObserver::RunningInPhoneAppProcess() const
-    {
-    RProcess currentProcess;
-	TBool phoneProcess( EFalse );
-	TUid processID = currentProcess.Identity();
-	if ( processID.iUid == KPhoneProcess )
-        {
-        phoneProcess = ETrue;    
-        }
-    return phoneProcess;
-    }
-    
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactfield.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 TPhCntContactField class.
-*
-*/
-
-
-#include <VPbkFieldType.hrh>
-#include <TVPbkFieldTypeParameters.h>
-#include <VPbkEng.rsg>
-#include <MVPbkStoreContactField.h>
-
-#include "MPhCntContactManager.h"
-#include "tphcntcontactfield.h"
-#include "PhCntTrace.h"
-
-// Speed dial related constants
-const TInt KPhCntPositionNotSet = 0;
-const TInt KPhCntPositionMin = 1;
-const TInt KPhCntPositionMax = 9;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntContactField::TPhCntContactField() :
-    iDataPointedByContactLink( EFalse ),
-    iContactFieldId( 0 )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//    
-TPhCntContactField::TPhCntContactField(
-    TInt aContactFieldId ) :
-    iDataPointedByContactLink( EFalse ),
-    iContactFieldId( aContactFieldId )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//    
-TPhCntContactField::~TPhCntContactField()
-    {
-    }
-   
-
-// ---------------------------------------------------------------------------
-// Gives the contact field data.
-// ---------------------------------------------------------------------------
-//
-const TDesC& TPhCntContactField::Data() const
-    {
-    return iContactFieldData;
-    }
-
-// ---------------------------------------------------------------------------
-// Checks if this resolver is received datas resolver. If so then sets
-// the contact field data.
-// ---------------------------------------------------------------------------
-//
-void TPhCntContactField::Resolve(
-    TInt aContactFieldId, 
-    const TDesC& aFieldData,
-    TBool aPointedData )
-    {
-    if( iContactFieldId == aContactFieldId )
-        {
-        SetData( aFieldData, aPointedData );
-        }
-    }
- 
-// ---------------------------------------------------------------------------
-// Sets the contact field data if the possible earlier data is not 
-// data which has been pointed by contact link.
-// ---------------------------------------------------------------------------
-//   
-void TPhCntContactField::SetData( 
-    const TDesC& aData,
-    TBool aPointedData )
-    {
-    if( !iDataPointedByContactLink )
-        {
-        iDataPointedByContactLink = aPointedData;
-        PRINTF( "PhCnt: ContactField.SetData: %S", &aData );
-        iContactFieldData.Set( aData );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntPhoneNumber::TPhCntPhoneNumber() : 
-    TPhCntContactField( EVPbkVersitNameTEL )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-TPhCntPhoneNumber::~TPhCntPhoneNumber()
-    {
-    iAllNumbers.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// Gives the phone number pointed by contact link
-// ---------------------------------------------------------------------------
-//    
-const TPhCntNumber& TPhCntPhoneNumber::Number() const
-    {
-    return iPointedNumber;
-    }
-
-// ---------------------------------------------------------------------------
-// Gives all numbers resolved.
-// ---------------------------------------------------------------------------
-//    
-const RArray<TPhCntNumber>& TPhCntPhoneNumber::AllNumbers() const
-    {
-    return iAllNumbers;
-    }
- 
-// ---------------------------------------------------------------------------
-// Resolves phone number and its type.
-// ---------------------------------------------------------------------------
-//   
-void TPhCntPhoneNumber::ResolveL(
-    TInt aContactFieldId, 
-    const TDesC& aFieldData,
-    TBool aPointedData,
-    MPhCntContactManager& aContactManager,
-    MVPbkStoreContactField& aContactField )
-    {        	
-    
-    // Evaluate fields type information
-    const MPhCntMatch::TNumberType numberType = PhoneNumberType( aContactFieldId );    
-    if ( numberType != MPhCntMatch::ENone ) 
-    	{    									
-    	TBool speedDial = EFalse;    									
-		// Test all speed dial positions
-		for( TInt positionIndex = KPhCntPositionMin; positionIndex <= KPhCntPositionMax; positionIndex++ )
-			{
-			if ( aContactManager.HasSpeedDialL( positionIndex, aContactField ) )			
-				{					
-				speedDial = ETrue;
-				// Add phone number & position specific entry
-				SetNumber( aFieldData, numberType, aPointedData, positionIndex ); 				
-				}
-			}				      
-		if ( !speedDial )
-			{
-			// Add at least one phone number entry without any positions
-			SetNumber( aFieldData, numberType, aPointedData, KPhCntPositionNotSet );	
-			}		
-        }              		        
-    }
-
-// ---------------------------------------------------------------------------
-// Evaluates the type of a phone number field.
-// ---------------------------------------------------------------------------
-//   
-MPhCntMatch::TNumberType TPhCntPhoneNumber::PhoneNumberType( 
-	TInt aContactFieldId )
-	{
-	MPhCntMatch::TNumberType numberType = MPhCntMatch::ENone;
-	
-    switch( aContactFieldId ) 
-        {
-        case R_VPBK_FIELD_TYPE_MOBILEPHONEGEN:
-        case R_VPBK_FIELD_TYPE_MOBILEPHONEWORK:
-        case R_VPBK_FIELD_TYPE_MOBILEPHONEHOME:
-            numberType = MPhCntMatch::EMobileNumber;            
-            break;
-            
-        case R_VPBK_FIELD_TYPE_VOIPHOME:
-        case R_VPBK_FIELD_TYPE_VOIPWORK:
-        case R_VPBK_FIELD_TYPE_VOIPGEN:
-        case R_VPBK_FIELD_TYPE_IMPP:
-        case R_VPBK_FIELD_TYPE_SIP:
-            numberType = MPhCntMatch::EVoipNumber;            
-            break;
-            
-        case R_VPBK_FIELD_TYPE_LANDPHONEHOME:
-        case R_VPBK_FIELD_TYPE_LANDPHONEWORK:
-        case R_VPBK_FIELD_TYPE_LANDPHONEGEN:
-            
-            numberType = MPhCntMatch::EStandardNumber;            
-            break;
-            
-        case R_VPBK_FIELD_TYPE_PAGERNUMBER:
-            numberType = MPhCntMatch::EPagerNumber;            
-            break;
-            
-        case R_VPBK_FIELD_TYPE_FAXNUMBERGEN:
-        case R_VPBK_FIELD_TYPE_FAXNUMBERHOME:
-        case R_VPBK_FIELD_TYPE_FAXNUMBERWORK:
-           numberType = MPhCntMatch::EFaxNumber;           
-           break;
-           
-        case R_VPBK_FIELD_TYPE_VIDEONUMBERHOME:
-        case R_VPBK_FIELD_TYPE_VIDEONUMBERWORK:
-        case R_VPBK_FIELD_TYPE_VIDEONUMBERGEN:
-            numberType = MPhCntMatch::EVideoNumber;
-            break;
-            
-        case R_VPBK_FIELD_TYPE_ASSTPHONE:
-			numberType = MPhCntMatch::EAssistantNumber;
-			break;
-		
-        case R_VPBK_FIELD_TYPE_CARPHONE:
-            numberType = MPhCntMatch::ECarNumber;
-            break;                   
-                            
-        default:
-            // Not a phone number.
-            break;
-        }
-        return numberType;	
-    }
- 
-// ---------------------------------------------------------------------------
-// Sets number 
-// ---------------------------------------------------------------------------
-//   
-void TPhCntPhoneNumber::SetNumber( 
-    const TDesC& aNumber, 
-    MPhCntMatch::TNumberType aNumberType, 
-    TBool aPointedField,
-    TInt aSpeedDialPosition )
-    {
-    if( aPointedField && !iDataPointedByContactLink ) 
-        {
-        iDataPointedByContactLink = ETrue;
-        iPointedNumber.Set( aNumber, aNumberType, aSpeedDialPosition );    
-        }
-    iAllNumbers.Append( TPhCntNumber( aNumber, aNumberType, aSpeedDialPosition ) );
-    }
-    
-    
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactlinkresult.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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:  Result of getting user selected contact link.
-*
-*/
-
-
-#include <AiwGenericParam.h>
-#include "tphcntcontactlinkresult.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntContactLinkResult::TPhCntContactLinkResult( 
-    HBufC8*& aLink ) : 
-    iLink( aLink )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// From class MPhCntServiceResult
-// Takes the contact link descriptor from AIW result.
-// ---------------------------------------------------------------------------
-//
-void TPhCntContactLinkResult::ParseResult( 
-    CAiwGenericParamList& aResult )
-    {
-    TInt index = 0;
-    const TAiwGenericParam* param =
-        aResult.FindFirst( index, EGenericParamContactLinkArray );
-    if ( param )
-        {
-        delete iLink;
-        iLink = NULL;
-        iLink = param->Value().AsData().Alloc();
-        }
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactstorestate.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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:  Holds state of a contact store.
-*
-*/
-
-
-#include "tphcntcontactstorestate.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntContactStoreState::TPhCntContactStoreState(
-    TVPbkContactStoreUriPtr aContactStoreUri) : 
-    iContactStoreUri( aContactStoreUri ),
-    iIsAvailable( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Determines if contact store is available.
-// ---------------------------------------------------------------------------
-//
-TBool TPhCntContactStoreState::IsAvailable() const
-    {
-    return iIsAvailable;
-    }
-
-// ---------------------------------------------------------------------------
-// Gives contact store uri.
-// ---------------------------------------------------------------------------
-//   
-const TVPbkContactStoreUriPtr& 
-    TPhCntContactStoreState::ContactStoreUri() const
-    {
-    return iContactStoreUri;
-    }
- 
-// ---------------------------------------------------------------------------
-// Sets availability
-// ---------------------------------------------------------------------------
-//      
-void TPhCntContactStoreState::SetAvailability( 
-    TBool aIsAvailable )
-    {
-    iIsAvailable = aIsAvailable;
-    }
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactutil.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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:  Contact utilitiest class.
-*
-*/
-
-
-#include "tphcntcontactutil.h"
-
-// ---------------------------------------------------------------------------
-// Checks are name fields same in both contacts.
-// ---------------------------------------------------------------------------
-//
-TBool TPhCntContactUtil::AreFirstAndLastAndCompanyNameSame( 
-            const CPhCntContact& aFirstContact,
-            const CPhCntContact& aSecondContact )
-    {
-    // Returns ETrue if first name, last name and company name are same
-    // in both contacts.
-    return KErrNone == aFirstContact.FirstName().Compare( 
-                        aSecondContact.FirstName() )  &&
-           KErrNone == aFirstContact.LastName().Compare( 
-                        aSecondContact.LastName() ) &&
-           KErrNone == aFirstContact.CompanyName().Compare( 
-                        aSecondContact.CompanyName() );
-    }
-
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntnullserviceresult.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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:  Empty service result.
-*
-*/
-
-
-#include "tphcntnullserviceresult.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntNullServiceResult::TPhCntNullServiceResult()
-    {
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// From class MPhCntServiceResult
-// Empty implementation
-// ---------------------------------------------------------------------------
-//
-void TPhCntNullServiceResult::ParseResult( 
-    CAiwGenericParamList& /*aResult*/ )
-    {
-    
-    }
-
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntnumber.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +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:  Phone number
-*
-*/
-
-
-#include "tphcntnumber.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntNumber::TPhCntNumber( 
-    const TDesC& aNumber,
-    MPhCntMatch::TNumberType aNumberType,
-    TInt aSpeedDialPosition ) :
-    iNumber( aNumber ),
-    iNumberType( aNumberType ),
-    iSpeedDialPosition( aSpeedDialPosition )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntNumber::TPhCntNumber() : 
-    iNumber( KNullDesC() ),
-    iNumberType( MPhCntMatch::ENone ),
-    iSpeedDialPosition()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Getter
-// ---------------------------------------------------------------------------
-//
-const TDesC& TPhCntNumber::Number() const
-    {
-    return iNumber;
-    }
-
-// ---------------------------------------------------------------------------
-// Getter
-// ---------------------------------------------------------------------------
-//
-MPhCntMatch::TNumberType TPhCntNumber::Type() const
-    {
-    return iNumberType;
-    }
-
-// ---------------------------------------------------------------------------
-// Getter
-// ---------------------------------------------------------------------------
-//
-TInt TPhCntNumber::Position() const
-    {
-    return iSpeedDialPosition;
-    }
-
-// ---------------------------------------------------------------------------
-// Setter
-// ---------------------------------------------------------------------------
-//    
-void TPhCntNumber::Set( 
-    const TDesC& aNumber, 
-    MPhCntMatch::TNumberType aNumberType,
-    TInt aSpeedDialPosition )
-    {
-    iNumber.Set( aNumber );
-    iNumberType = aNumberType;
-    iSpeedDialPosition = aSpeedDialPosition; 
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntservicerequestfactory.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +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:  Factory to create AIW service requests.
-*
-*/
-
-
-#include <e32std.h>
-
-#include "TPhCntServiceRequestFactory.h"
-#include "CPhCntCreateNewContactRequest.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntServiceRequestFactory::TPhCntServiceRequestFactory()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Creates request to create new contact.
-// ---------------------------------------------------------------------------
-//
-CPhCntCreateNewContactRequest* 
-    TPhCntServiceRequestFactory::CreateCreateNewContactRequestL()
-    {
-    return CPhCntCreateNewContactRequest::NewL();    
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntservicerequestparamfactory.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +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:  Factory for creating service request params.
-*
-*/
-
-
-#include <CVPbkContactLinkArray.h>
-#include "tphcntservicerequestparamfactory.h"
-#include "tphcntservicerequestparams.h"
-#include "MPhCntContactManager.h"
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntServiceRequestParamFactory::CPhCntServiceRequestParamFactory(
-    MPhCntContactManager* aContactManager ) : 
-    iContactManager( aContactManager )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPhCntServiceRequestParamFactory::~CPhCntServiceRequestParamFactory()
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntServiceRequestParamFactory* CPhCntServiceRequestParamFactory::NewL(
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntServiceRequestParamFactory* self = 
-        CPhCntServiceRequestParamFactory::NewLC( aContactManager );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntServiceRequestParamFactory* CPhCntServiceRequestParamFactory::NewLC(
-    MPhCntContactManager& aContactManager )
-    {
-    CPhCntServiceRequestParamFactory* self = 
-        new( ELeave )CPhCntServiceRequestParamFactory( &aContactManager );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntServiceRequestParamFactory
-// Creates new instance.
-// ---------------------------------------------------------------------------
-//
-MPhCntServiceRequestParam* 
-    CPhCntServiceRequestParamFactory::CreateCreateNewContactRequestParamLC( 
-        const TDesC& aPhoneNumber ) const
-    {
-    return CPhCntCreateNewContactParams::NewLC( aPhoneNumber );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntServiceRequestParamFactory
-// Creates new instance.
-// ---------------------------------------------------------------------------
-//    
-MPhCntServiceRequestParam* 
-    CPhCntServiceRequestParamFactory::CreateUpdateContactRequestParamLC( 
-        const TDesC& aPhoneNumber ) const
-    {
-    return CPhCntUpdateExistingContact::NewLC( aPhoneNumber );
-    }
-    
-// ---------------------------------------------------------------------------
-// From MPhCntServiceRequestParamFactory
-// Creates new instance.
-// ---------------------------------------------------------------------------
-// 
-MPhCntServiceRequestParam* 
-    CPhCntServiceRequestParamFactory::
-        CreateGetUserSelectedPhoneNumberLinkParamLC() const
-    {
-    return CPhCntGetUserSelectedPhoneNumberLink::NewLC( ETrue, 
-                                                        *iContactManager );
-    }
-
-// ---------------------------------------------------------------------------
-// Creates new instance param instance
-// ---------------------------------------------------------------------------
-// 
-MPhCntServiceRequestParam* 
-    CPhCntServiceRequestParamFactory::
-        CreateGetUserSelectedPhoneNumberLC() const
-    {
-    return CPhCntGetUserSelectedPhoneNumberLink::NewLC( EFalse, 
-                                                        *iContactManager );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntServiceRequestParamFactory
-// Creates new instance.
-// ---------------------------------------------------------------------------
-// 
-MPhCntServiceRequestParam* 
-    CPhCntServiceRequestParamFactory::
-        CreateGetUserSelectedVoIPAddressLinkParamLC(
-            MPhCntContactManager& aContactManager ) const
-    {
-    return CPhCntGetUserSelectedVoIPAddressLink::NewLC( aContactManager );
-    }
-
-// ---------------------------------------------------------------------------
-// Creates new instance param instance
-// ---------------------------------------------------------------------------
-// 
-MPhCntServiceRequestParam* 
-    CPhCntServiceRequestParamFactory::
-        CreateGetUserSelectedVoIPAddressLC(
-            MPhCntContactManager& aContactManager ) const
-    {
-    return CPhCntGetUserSelectedVoIPAddressLink::NewLC( aContactManager, EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntServiceRequestParamFactory
-// Creates new instance.
-// ---------------------------------------------------------------------------
-//     
-MPhCntServiceRequestParam* 
-    CPhCntServiceRequestParamFactory::CreateGetUserSelectedDtmfNumberLinkLC( 
-        MPhCntContactManager& aContactManager ) const
-    {
-    return CPhCntGetUserSelectedDtmfNumberLink::NewLC( aContactManager );
-    }
-    
-// ---------------------------------------------------------------------------
-// From MPhCntServiceRequestParamFactory
-// Creates new instance.
-// ---------------------------------------------------------------------------
-//    
-MPhCntServiceRequestParam* 
-    CPhCntServiceRequestParamFactory::
-        CreateGetPhoneNumberFromContactParamLC( const TDesC8& aContactLink,
-            const CPhCntSingleItemFetch::TCallType aCallType ) const
-    {
-    CVPbkContactLinkArray* linkArray = CVPbkContactLinkArray::NewLC( 
-        aContactLink, iContactManager->ContactStoresL() );
-    CPhCntGetPhoneNumberReqParam* param = 
-        CPhCntGetPhoneNumberReqParam::NewL( *iContactManager, 
-            *linkArray, aCallType );
-    CleanupStack::PopAndDestroy( linkArray );
-    CleanupStack::PushL( param );
-    return param;   
-    }
-
-// ---------------------------------------------------------------------------
-// From MPhCntServiceRequestParamFactory
-// Creates new instance.
-// ---------------------------------------------------------------------------
-//    
-MPhCntServiceRequestParam* 
-    CPhCntServiceRequestParamFactory::CreateGetPhoneNumberFromContactParamL(
-    const TDesC8& aContactLink,
-    const CPhCntSingleItemFetch::TCallType aCallType ) const
-    {
-    CVPbkContactLinkArray* linkArray = CVPbkContactLinkArray::NewLC( 
-        aContactLink, iContactManager->ContactStoresL() );
-    CPhCntGetPhoneNumberReqParam* param = 
-        CPhCntGetPhoneNumberReqParam::NewL( *iContactManager, 
-            *linkArray, aCallType );
-    CleanupStack::PopAndDestroy( linkArray );
-    return param;        
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntservicerequestparams.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,562 +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:  Classes for service requests made to CPhCntService
-*
-*/
-
-#include <coehelp.h>
-#include <AiwGenericParam.h>
-#include <AiwContactAssignDataTypes.h>
-#include <AiwGenericParam.hrh>
-#include <AiwContactSelectionDataTypes.h>
-#include <CVPbkFieldTypeSelector.h>
-#include <CVPbkContactStoreUriArray.h>
-#include <MVPbkContactLinkArray.h>
-#include <RVPbkContactFieldDefaultPriorities.h>
-#include <talogger.h>
-
-#include "tphcntservicerequestparams.h"
-#include "MPhCntContactManager.h"
-#include "cphcntcontactstoreuris.h"
-#include "CPhCntSingleItemFetch.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntServiceRequestParams::CPhCntServiceRequestParams(
-    TAiwServiceCommands aAiwCommand ) : 
-    iAiwCommand( aAiwCommand )
-    {
-    }
-    
-CPhCntServiceRequestParams::~CPhCntServiceRequestParams()
-    {
-    delete iGenericParamList;
-    iDefaultPriorities.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntServiceRequestParams::BaseConstructL()
-    {
-    iGenericParamList = CAiwGenericParamList::NewL();
-    }
-    
-// ---------------------------------------------------------------------------
-// Gives the command
-// ---------------------------------------------------------------------------
-//
-TAiwServiceCommands CPhCntServiceRequestParams::Command() const
-    {
-    return iAiwCommand;
-    }
-    
-// ---------------------------------------------------------------------------
-// Gives the in param list
-// ---------------------------------------------------------------------------
-//
-const CAiwGenericParamList& CPhCntServiceRequestParams::InParamList() const
-    {
-    return *iGenericParamList;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntCreateNewContactParams::CPhCntCreateNewContactParams(
-    const TDesC& aPhoneNumber ) : 
-    CPhCntServiceRequestParams( KAiwCmdAssign ),
-    iPhoneNumber( aPhoneNumber )
-    {        
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntCreateNewContactParams* CPhCntCreateNewContactParams::NewL(
-    const TDesC& aPhoneNumber )
-    {
-    CPhCntCreateNewContactParams* self = 
-        CPhCntCreateNewContactParams::NewLC( aPhoneNumber );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//    
-CPhCntCreateNewContactParams* CPhCntCreateNewContactParams::NewLC(
-    const TDesC& aPhoneNumber )
-    {
-    CPhCntCreateNewContactParams* self = 
-        new( ELeave )CPhCntCreateNewContactParams( aPhoneNumber );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntCreateNewContactParams::ConstructL()
-    {
-    BaseConstructL();
-    
-    AiwContactAssign::TAiwSingleContactAssignDataV1 data = 
-        AiwContactAssign::TAiwSingleContactAssignDataV1();
-        
-    // EHideEditorExit has to be set because otherwise AIW provider offers
-    // exit menu item which will also exit the phone application.
-    data.SetFlags( AiwContactAssign::ECreateNewContact | 
-                   AiwContactAssign::EHideEditorExit ); 
-
-    iGenericParamList->AppendL(
-        TAiwGenericParam(
-            EGenericParamPhoneNumber,
-            TAiwVariant( iPhoneNumber ) ) );
-            
-    iGenericParamList->AppendL( 
-        TAiwGenericParam(
-            EGenericParamContactAssignData,
-            TAiwVariant( 
-                AiwContactAssign::TAiwSingleContactAssignDataV1Pckg( data ) ) ) );
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntUpdateExistingContact::CPhCntUpdateExistingContact(
-    const TDesC& aPhoneNumber ) : 
-    CPhCntServiceRequestParams( KAiwCmdAssign ),
-    iPhoneNumber( aPhoneNumber )
-    {        
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntUpdateExistingContact* CPhCntUpdateExistingContact::NewL(
-    const TDesC& aPhoneNumber )
-    {
-    CPhCntUpdateExistingContact* self = 
-        CPhCntUpdateExistingContact::NewLC( aPhoneNumber );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//    
-CPhCntUpdateExistingContact* CPhCntUpdateExistingContact::NewLC(
-    const TDesC& aPhoneNumber )
-    {
-    CPhCntUpdateExistingContact* self = 
-        new( ELeave )CPhCntUpdateExistingContact( aPhoneNumber );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntUpdateExistingContact::ConstructL()
-    {
-    BaseConstructL();
-    
-    AiwContactAssign::TAiwSingleContactAssignDataV1 data = 
-        AiwContactAssign::TAiwSingleContactAssignDataV1();
-        
-    data.SetFlags( AiwContactAssign::EHideEditorExit );
-    
-    iGenericParamList->AppendL(
-        TAiwGenericParam(
-            EGenericParamPhoneNumber,
-            TAiwVariant( iPhoneNumber ) ) );
-            
-    iGenericParamList->AppendL( 
-        TAiwGenericParam(
-            EGenericParamContactAssignData,
-            TAiwVariant( 
-                AiwContactAssign::TAiwSingleContactAssignDataV1Pckg( data ) ) ) );
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntGetUserSelectedPhoneNumberLink*   
-    CPhCntGetUserSelectedPhoneNumberLink::NewLC(
-        TBool aCallUsedWithLSK, MPhCntContactManager& aContactManager )
-    {
-    CPhCntGetUserSelectedPhoneNumberLink* self = 
-        new( ELeave )CPhCntGetUserSelectedPhoneNumberLink();
-    CleanupStack::PushL( self );
-    self->ConstructL( aCallUsedWithLSK, aContactManager );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntGetUserSelectedPhoneNumberLink::CPhCntGetUserSelectedPhoneNumberLink() : 
-    CPhCntServiceRequestParams( KAiwCmdSelect )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//  
-CPhCntGetUserSelectedPhoneNumberLink::~CPhCntGetUserSelectedPhoneNumberLink()
-    {
-    delete iContactViewFilter;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-// 
-void CPhCntGetUserSelectedPhoneNumberLink::ConstructL(
-    TBool aCallUsedWithLSK, MPhCntContactManager& aContactManager )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntGetUserSelectedPhoneNumberLink::ConstructL" );
-    BaseConstructL();
-    iContactViewFilter = aContactManager.CreateFieldTypeSelectorL();
-
-    aContactManager.AppendFilterToSelectorL( *iContactViewFilter,   
-        EVPbkContactViewFilterPhoneNumber );
-    
-	iDefaultPriorities.Append( EVPbkDefaultTypePhoneNumber );    
-	
-    TAiwSingleItemSelectionDataV3 data = TAiwSingleItemSelectionDataV3();
-	  
-    if( aCallUsedWithLSK )
-        {
-        data.SetAddressSelectType( EAiwCallItemSelect );	    
-        }
-    else
-        {
-        data.SetAddressSelectType( EAiwPhoneNumberSelect );
-        }
-	
-	data.SetDefaultPriorities( iDefaultPriorities ); 	
-    data.SetFetchFilter( iContactViewFilter );
-        
-    iGenericParamList->AppendL(
-        TAiwGenericParam(
-            EGenericParamContactSelectionData,
-            TAiwVariant( TAiwSingleItemSelectionDataV3Pckg( data ) ) ) );            
-
-	// Pass an array of currently active contact store uris
-    CPhCntContactStoreUris& storeUris = aContactManager.ContactStoreUrisL();
-	CVPbkContactStoreUriArray* uriArray = storeUris.ActiveContactStoresL(); 
-	CleanupStack::PushL( uriArray );
-	if ( uriArray->Count() > 0 ) 
-		{ 
-		HBufC8* packedUris = uriArray->PackLC(); 
-		iGenericParamList->AppendL( 
-	        TAiwGenericParam( 
-            	EGenericParamContactStoreUriArray, 
-            	TAiwVariant( *packedUris ) 
-            	) 
-           	); 
-		CleanupStack::PopAndDestroy( packedUris ); 
-		}
-	CleanupStack::PopAndDestroy( uriArray );
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntGetUserSelectedVoIPAddressLink*   
-    CPhCntGetUserSelectedVoIPAddressLink::NewLC(
-        MPhCntContactManager& aContactManager,
-        TBool aCallUsedWithLSK )
-    {
-    CPhCntGetUserSelectedVoIPAddressLink* self = 
-        new( ELeave )CPhCntGetUserSelectedVoIPAddressLink();
-    CleanupStack::PushL( self ); 
-    self->ConstructL( aContactManager, aCallUsedWithLSK );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntGetUserSelectedVoIPAddressLink::CPhCntGetUserSelectedVoIPAddressLink() : 
-    CPhCntServiceRequestParams( KAiwCmdSelect )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-// 
-void CPhCntGetUserSelectedVoIPAddressLink::ConstructL(
-    MPhCntContactManager& aContactManager,
-    TBool aCallUsedWithLSK )
-    {
-    BaseConstructL();
-
-    // Construct empty filter
-    iContactViewFilter = aContactManager.CreateFieldTypeSelectorL();
-
-    // Append the filter object with suitable criteria
-    aContactManager.AppendFilterToSelectorL( *iContactViewFilter,
-        EVPbkContactViewFilterVoIP );
-    aContactManager.AppendFilterToSelectorL( *iContactViewFilter,   
-        EVPbkContactViewFilterPhoneNumber );
-    
-    iDefaultPriorities.Append( EVPbkDefaultTypeVoIP ); 
-                     
-    TAiwSingleItemSelectionDataV3 data = TAiwSingleItemSelectionDataV3();
-    
-    
-    if( aCallUsedWithLSK )
-        {
-        data.SetCommAddressSelectType( EAiwCommVOIPCall );
-        data.SetAddressSelectType( EAiwVoIPItemSelect );	    
-        }
-    else
-        {
-        data.SetCommAddressSelectType( EAiwCommVOIPCall );
-        }
-    
-    
-    data.SetFetchFilter( iContactViewFilter );
-	data.SetDefaultPriorities( iDefaultPriorities ); 	
-	
-    iGenericParamList->AppendL(
-        TAiwGenericParam(
-            EGenericParamContactSelectionData,
-            TAiwVariant(TAiwSingleItemSelectionDataV3Pckg( data ) ) ) );
-
-	// Pass an array of currently active contact store uris
-    CPhCntContactStoreUris* storeUris = CPhCntContactStoreUris::NewL();
-	CleanupStack::PushL( storeUris );
-	CVPbkContactStoreUriArray* uriArray = storeUris->ActiveContactStoresL();
-	CleanupStack::PushL( uriArray );
-	if ( uriArray->Count() > 0 ) 
-		{ 
-		HBufC8* packedUris = uriArray->PackLC(); 
-		iGenericParamList->AppendL( 
-	        TAiwGenericParam( 
-            	EGenericParamContactStoreUriArray, 
-            	TAiwVariant(*packedUris) 
-            	) 
-           	); 
-		CleanupStack::PopAndDestroy( packedUris ); 
-		}
-	CleanupStack::PopAndDestroy( uriArray );
-	CleanupStack::PopAndDestroy( storeUris );
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//    
-CPhCntGetUserSelectedDtmfNumberLink* 
-    CPhCntGetUserSelectedDtmfNumberLink::NewLC(
-        MPhCntContactManager& aContactManager )
-    {
-    CPhCntGetUserSelectedDtmfNumberLink* self = 
-        new( ELeave )CPhCntGetUserSelectedDtmfNumberLink();
-    CleanupStack::PushL( self );
-    self->ConstructL( aContactManager );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//  
-CPhCntGetUserSelectedDtmfNumberLink::~CPhCntGetUserSelectedDtmfNumberLink()
-    {
-    delete iContactViewFilter;
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntGetUserSelectedDtmfNumberLink::CPhCntGetUserSelectedDtmfNumberLink() : 
-    CPhCntServiceRequestParams( KAiwCmdSelect )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntGetUserSelectedDtmfNumberLink::ConstructL(
-    MPhCntContactManager& aContactManager )
-    {
-    BaseConstructL();
-
-    // Construct empty filter
-    iContactViewFilter = aContactManager.CreateFieldTypeSelectorL();
-
-    // Append the filter object with suitable criteria
-    aContactManager.AppendFilterToSelectorL( *iContactViewFilter,
-        EVPbkContactViewFilterDTMF );
-    aContactManager.AppendFilterToSelectorL( *iContactViewFilter,   
-        EVPbkContactViewFilterPhoneNumber );
-
-    iDefaultPriorities.Append( EVPbkDefaultTypePhoneNumber ); 
-                     
-    TAiwSingleItemSelectionDataV3 data;
-    data.SetAddressSelectType(EAiwDTMFPhoneNumberSelect);
-    data.SetFetchFilter( iContactViewFilter );
-	data.SetDefaultPriorities( iDefaultPriorities ); 	
-                 
-    iGenericParamList->AppendL(
-        TAiwGenericParam( 
-            EGenericParamContactSelectionData,
-            TAiwVariant( TAiwSingleItemSelectionDataV3Pckg( data ) ) ) );
-	// Pass an array of currently active contact store uris
-    CPhCntContactStoreUris* storeUris = CPhCntContactStoreUris::NewL();
-	CleanupStack::PushL( storeUris );				
-	CVPbkContactStoreUriArray* uriArray = storeUris->ActiveContactStoresL(); 
-	CleanupStack::PushL( uriArray );
-	if ( uriArray->Count() > 0 ) 
-		{ 
-		HBufC8* packedUris = uriArray->PackLC(); 
-		iGenericParamList->AppendL( 
-	        TAiwGenericParam( 
-            	EGenericParamContactStoreUriArray, 
-            	TAiwVariant(*packedUris) 
-            	) 
-           	); 
-		CleanupStack::PopAndDestroy( packedUris ); 
-		}
-	CleanupStack::PopAndDestroy( uriArray );
-	CleanupStack::PopAndDestroy( storeUris );
-    }
-
-// ---------------------------------------------------------------------------
-// Static constructor
-// ---------------------------------------------------------------------------
-//    
-CPhCntGetPhoneNumberReqParam* 
-    CPhCntGetPhoneNumberReqParam::NewL(
-    	MPhCntContactManager& aContactManager, 
-        MVPbkContactLinkArray& aLinkArray,
-        const CPhCntSingleItemFetch::TCallType aCallType )
-    {
-    CPhCntGetPhoneNumberReqParam* self = 
-        new( ELeave )CPhCntGetPhoneNumberReqParam();
-    CleanupStack::PushL( self );
-    self->ConstructL( aContactManager, aLinkArray, aCallType );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//  
-CPhCntGetPhoneNumberReqParam::~CPhCntGetPhoneNumberReqParam()
-    {    
-    delete iContactViewFilter;
-    }
-    
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntGetPhoneNumberReqParam::CPhCntGetPhoneNumberReqParam() : 
-    CPhCntServiceRequestParams( KAiwCmdSelect )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CPhCntGetPhoneNumberReqParam::ConstructL(
-	MPhCntContactManager& aContactManager,
-    MVPbkContactLinkArray& aLinkArray,
-    const CPhCntSingleItemFetch::TCallType aCallType )
-    {
-    BaseConstructL();
-                
-	// Set filtering
-	TVPbkContactViewFilter filter = EVPbkContactViewFilterPhoneNumber;	    		                    		
-	TAiwSingleItemSelectionDataV3 data; 
-	data.SetAddressSelectType(  EAiwCallItemSelect );
-	switch( aCallType )
-		{				
-		case CPhCntSingleItemFetch::ECallPhoneNumber:			
-    		iDefaultPriorities.Append( EVPbkDefaultTypePhoneNumber );    		
-    		break;
-    	case CPhCntSingleItemFetch::ECallVoip:
-    		iDefaultPriorities.Append( EVPbkDefaultTypeVoIP );
-    		filter = EVPbkContactViewFilterVoIP;
-    		data.SetCommAddressSelectType( EAiwCommVOIPCall );
-    		data.SetAddressSelectType(  EAiwVOIPSelect ); 		
-    		break;
-    	case CPhCntSingleItemFetch::ECallVideoNumber:
-    		iDefaultPriorities.Append( EVPbkDefaultTypeVideoNumber );
-    		filter = EVPbkContactViewFilterVideoNumber;
-    		break;    	    		
-    	default:
-            break;
-		}
-		
-	// Construct empty filter
-    iContactViewFilter = aContactManager.CreateFieldTypeSelectorL();
-
-    // Append the filter object with suitable criteria
-    aContactManager.AppendFilterToSelectorL( *iContactViewFilter, filter );   			
-                                                 		
-	data.SetFetchFilter( iContactViewFilter ); 
-	data.SetDefaultPriorities( iDefaultPriorities ); 		
-	
-    iGenericParamList->AppendL(
-        TAiwGenericParam(
-            EGenericParamContactSelectionData,
-            TAiwVariant( TAiwSingleItemSelectionDataV3Pckg( data ) ) ) );
-            
-	// Contact link array		
-	HBufC8* packedLinks = aLinkArray.PackLC();
-	iGenericParamList->AppendL( 
-	    TAiwGenericParam( 
-	    	EGenericParamContactLinkArray, 
-	    	TAiwVariant( *packedLinks ) 
-	    	) 
-	   	); 
-   	CleanupStack::PopAndDestroy( packedLinks );
-   			
-    }
-
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntsipuri.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +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:  SIP URI descriptor
-*
-*/
-
-
-#include "tphcntsipuri.h"
-
-const TInt KSipPrefixLength = 4;
-_LIT( KPhCntSipUriAt, "@" );
-_LIT( KPhCntSipPrefix, "sip:" );
-_LIT( KPhCntSipUriSeparatorBegin, "<" );
-_LIT( KPhCntSipUriSeparatorEnd, ">" );
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntSipURI::TPhCntSipURI( 
-    const TDesC& aSipURI,
-    TInt aDigitsForMatching ) : 
-    iSipURI( aSipURI ),
-    iDigitsForMatching( aDigitsForMatching )
-    {
-    RemoveUnusedChars();
-    const TInt sipUriAtPos( iSipURIStripped.Find( KPhCntSipUriAt ) );
-    if( sipUriAtPos > 0 ) 
-        {
-        iUserNamePart.Set( iSipURIStripped.Left( sipUriAtPos ) );
-    	}
-    else
-        {
-        iUserNamePart.Set( iSipURIStripped );
-        }
-
-    if ( iDigitsForMatching )
-        {
-        // Match is done with username part if iDigitsForMatching is given.
-        // E.g. If username part contains valid cs number (sip:0401234567@domain.com)
-        // and iDigitsForMatching is 7 match is done with string 1234567. 
-        TInt length( 0 );
-                                
-        if( sipUriAtPos > 0 )
-            {
-            length = iUserNamePart.Length() > aDigitsForMatching ? 
-                        aDigitsForMatching :
-                        iUserNamePart.Length();
-                                
-            iFixedUserNamePart.Set( iUserNamePart.Right( length ) );
-            }
-        else
-            {
-            length = iSipURIStripped.Length() > aDigitsForMatching ? 
-                        aDigitsForMatching :
-                        iSipURIStripped.Length();
-            
-            iFixedUserNamePart.Set( iSipURIStripped.Right( length ) );
-            }
-        }
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// Gives the username part of sip uri.
-// ---------------------------------------------------------------------------
-//
-const TDesC& TPhCntSipURI::UserNamePart() const
-    {
-    return iUserNamePart;
-    }
-
-// ---------------------------------------------------------------------------
-// Gives the whole sip uri.
-// ---------------------------------------------------------------------------
-//    
-const TDesC& TPhCntSipURI::SipURI() const
-    {
-    return iSipURIStripped;
-    }
-    
-// ---------------------------------------------------------------------------
-// Gives the fixed username part of sip uri.
-// ---------------------------------------------------------------------------
-//    
-const TDesC& TPhCntSipURI::FixedUserNamePart() const
-    {
-    return iFixedUserNamePart;
-    }
-
-// ---------------------------------------------------------------------------
-// Removes possible < and > marks and sip: prefix from sip uri.
-// ---------------------------------------------------------------------------
-//    
-void TPhCntSipURI::RemoveUnusedChars()
-    {
-    TPtrC sipuri( iSipURI );
-    
-    // Remove begin mark
-    const TInt startMarkPos( sipuri.Find( KPhCntSipUriSeparatorBegin ) );
-    if( startMarkPos >= 0 ) 
-        {
-        // Extract the part after "<" mark ie take the part from end of 
-        // the sip uri to "<" mark.
-        sipuri.Set( sipuri.Right( iSipURI.Length() - ( startMarkPos + 1 ) ) );
-        }
-    
-    // Remove end mark
-    const TInt endMarkPos( sipuri.Find( KPhCntSipUriSeparatorEnd ) );
-    if( endMarkPos >= 0 )
-        {
-        sipuri.Set( sipuri.Left( endMarkPos ) );
-        }
-        
-    // "sip:" is not used when comparing addresses. 
-    if ( sipuri.Length() > KSipPrefixLength )
-        {
-        TBuf<KSipPrefixLength> possibleSipPrefix;
-        possibleSipPrefix.Copy( sipuri.Left( KSipPrefixLength ) );
-        possibleSipPrefix.LowerCase();
-               
-        if ( possibleSipPrefix.Compare( KPhCntSipPrefix ) == KErrNone )
-            {
-            sipuri.Set( sipuri.Right( sipuri.Length() - KSipPrefixLength ) );
-            }
-        }
-    
-    iSipURIStripped.Set( sipuri );
-    }
-
-// End of File
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcnttxttospeech.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +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:  Constructs text to speech descriptor.
-*
-*/
-
-
-#include "tphcnttxttospeech.h"
-#include "mphcntcontactfields.h"
-
-// Separator between lastname/firstname for TTS text.
-_LIT( KPhCntTtsNamesDelimeter, " " );
-
-// Number of languages that use lastname-firstname order
-const TInt KPhCntTtsNumberOfSwappedLanguages = 7;
-
-// Languages which use lastname-firstname order
-const TLanguage KPhCntTtsSwappedLanguages[KPhCntTtsNumberOfSwappedLanguages] = 
-    {
-    ELangHungarian,       // 17
-    ELangTaiwanChinese,   // 29
-    ELangHongKongChinese, // 30
-    ELangPrcChinese,      // 31
-    ELangJapanese,		  // 32
-    ELangKorean,          // 65
-    ELangVietnamese       // 96
-    };
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntTxtToSpeech::TPhCntTxtToSpeech(
-    const TDesC& aFirstName,
-    const TDesC& aSecondName,
-    const TDesC& aLastName,
-    const TDesC& aCompanyName,
-    const TDesC& aFirstNamePronunciation,
-    const TDesC& aLastNamePronunciation,
-    const TDesC& aCompanyNamePronunciation,
-    TLanguage aCurrentLanguage ) :
-    iFirstName( aFirstName ),
-    iSecondName( aSecondName ),
-    iLastName( aLastName ),
-    iCompanyName( aCompanyName ),
-    iFirstNamePronunciation( aFirstNamePronunciation ),
-    iLastNamePronunciation( aLastNamePronunciation ),
-    iCompanyNamePronunciation( aCompanyNamePronunciation ),
-    iCurrentLanguage( aCurrentLanguage )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Constructs text to speech descriptor.
-// ---------------------------------------------------------------------------
-//
-void TPhCntTxtToSpeech::GetTextToSpeechL( HBufC*& aTxtToSpeech ) const
-    {
-    aTxtToSpeech = AllocAndTrimL( iSecondName );
-    
-    // Try contact name (first & last name).
-    if ( !aTxtToSpeech )
-        {
-        HBufC* trimmedFirstName = GetTrimmedNameLC( 
-            iFirstName, iFirstNamePronunciation );
-            
-        HBufC* trimmedLastName = GetTrimmedNameLC( 
-            iLastName, iLastNamePronunciation );
-
-        // Determine order.
-        const TBool swapNameOrder = SwapNameOrder();
-
-        HBufC* firstComponent = trimmedFirstName;
-        HBufC* lastComponent = trimmedLastName;
-        if ( swapNameOrder )
-            {
-            firstComponent = trimmedLastName;
-            lastComponent = trimmedFirstName;
-            }
-
-        // Calculate length.
-        const TInt totalLength( 
-            CalculateTxtToSpeechLength( firstComponent, lastComponent ) );
-        
-        // Compose.
-        if ( totalLength )
-            {
-            aTxtToSpeech = HBufC::NewL( totalLength );
-            TPtr ptr = aTxtToSpeech->Des();
-
-            if ( firstComponent )
-                {
-                ptr.Append( *firstComponent );
-                if ( lastComponent )
-                    {
-                    ptr.Append( KPhCntTtsNamesDelimeter );
-                    }
-                }
-            if ( lastComponent )
-                {
-                ptr.Append( *lastComponent );
-                }
-            }
-
-        CleanupStack::PopAndDestroy( trimmedLastName );
-        CleanupStack::PopAndDestroy( trimmedFirstName );
-        }
-
-    // Try company name.
-    if ( !aTxtToSpeech )
-        {
-        aTxtToSpeech = AllocAndTrimL( iCompanyNamePronunciation );
-        if( !aTxtToSpeech ) 
-            {
-            aTxtToSpeech = AllocAndTrimL( iCompanyName );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Copies the text and trims it.
-// ---------------------------------------------------------------------------
-//    
-HBufC* TPhCntTxtToSpeech::AllocAndTrimL( const TDesC& aText ) const
-    {
-    HBufC* result = NULL;
-
-    if( aText.Length() > 0 )
-        {
-        result = aText.AllocL();
-        TPtr ptr = result->Des();
-        ptr.Trim();
-        if ( !ptr.Length() )
-            {
-            delete result;
-            result = NULL;
-            }
-        }
-        
-    return result;
-    }
-    
-// -----------------------------------------------------------------------------
-// Swaps name order depending on current language.
-// -----------------------------------------------------------------------------
-//
-TBool TPhCntTxtToSpeech::SwapNameOrder() const
-    {
-    TBool result = EFalse;
-    for ( TInt index = 0; index < KPhCntTtsNumberOfSwappedLanguages; index++ )
-        {
-        if ( KPhCntTtsSwappedLanguages[ index ] == iCurrentLanguage )
-            {
-            result = ETrue;
-            index = KPhCntTtsNumberOfSwappedLanguages;
-            }
-        }
-
-    return result;
-    }
-    
-// -----------------------------------------------------------------------------
-// Takes suitable name, copies and trims it.
-// -----------------------------------------------------------------------------
-//  
-HBufC* TPhCntTxtToSpeech::GetTrimmedNameLC( 
-    const TDesC& aWritenName, 
-    const TDesC& aNamePronunciation ) const
-    {
-    HBufC* trimmedName = AllocAndTrimL( aNamePronunciation );
-    if ( !trimmedName )
-        {
-        trimmedName = AllocAndTrimL( aWritenName );
-        }
-    CleanupStack::PushL( trimmedName );
-    return trimmedName;
-    }
-
-// -----------------------------------------------------------------------------
-// Calculates the length of text to speech string.
-// -----------------------------------------------------------------------------
-//
-TInt TPhCntTxtToSpeech::CalculateTxtToSpeechLength( 
-    const HBufC* const aFirstComponent, 
-    const HBufC* const aLastComponent ) const
-    {
-    TInt totalLength = 0;
-    if( aFirstComponent && aLastComponent ) 
-        {
-        totalLength += KPhCntTtsNamesDelimeter().Length();
-        }
-    
-    if( aFirstComponent )
-        {
-        totalLength += aFirstComponent->Length();
-        }
-        
-    if( aLastComponent )
-        {
-        totalLength += aLastComponent->Length();
-        }
-        
-    return totalLength;
-    }
-
-//  End of File 
--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntvoipmatchArray.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +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:  Array of voip matches.
-*
-*/
-
-
-#include "tphcntvoipmatchArray.h"
-#include "CPhCntContact.h"
-#include "tphcntsipuri.h"
-#include "tphcntcontactutil.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntVoipMatchArray::TPhCntVoipMatchArray()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//    
-TPhCntVoipMatchArray::~TPhCntVoipMatchArray()
-    {
-    iMatches.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// Addes contact to array.
-// ---------------------------------------------------------------------------
-//
-void TPhCntVoipMatchArray::AppendL( 
-    CPhCntContact* aVoipMatch )
-    {
-    User::LeaveIfError( iMatches.Append( aVoipMatch ) );
-    }
-
-// ---------------------------------------------------------------------------
-// Finds first match that has voip number.
-// ---------------------------------------------------------------------------
-//
-CPhCntContact* TPhCntVoipMatchArray::FindFullMatch( 
-    const TPhCntSipURI& aSipURI )
-    {
-    CPhCntContact* foundContact = NULL;
-    CPhCntContact* contact = NULL;
-    
-    const TPhCntVoipMatchArray::TMatchType type = 
-        FindFullOrUsernameMatch( aSipURI, contact );
-        
-    if( type == TPhCntVoipMatchArray::EFullMatch ) 
-        {
-        foundContact = contact;
-        }
-    RemoveMatchFromArray( foundContact );
-    return foundContact;
-    }
-
-// ---------------------------------------------------------------------------
-// Finds full or username match.
-// ---------------------------------------------------------------------------
-//    
-CPhCntContact* TPhCntVoipMatchArray::FindFullOrUsernameMatch( 
-    const TPhCntSipURI& aSipUri,
-    const TInt aCharsForMatch )
-    {
-    CPhCntContact* contact = NULL;
-    FindFullOrUsernameMatch( aSipUri, contact, aCharsForMatch );
-    RemoveMatchFromArray( contact );
-    return contact;
-    }
-
-// ---------------------------------------------------------------------------
-// Destroys the items in array.
-// ---------------------------------------------------------------------------
-//   
-void TPhCntVoipMatchArray::ReleaseMatches()
-    {
-    const TInt matchesCount( iMatches.Count() );
-    for( TInt i = 0; i < matchesCount; i++ )
-        {
-        iMatches[i]->Release();
-        }
-    iMatches.Reset();
-    }
- 
-// ---------------------------------------------------------------------------
-// Removes match from array.
-// ---------------------------------------------------------------------------
-//   
-void TPhCntVoipMatchArray::RemoveMatchFromArray( 
-    const CPhCntContact* const aMatch )
-    {
-    const TInt index( iMatches.Find( aMatch ) );
-    if( index >= 0 )
-        {
-        iMatches.Remove( index );    
-        }
-    iMatches.Compress();
-    }
-
-// ---------------------------------------------------------------------------
-// Determines if contact has aSipURI voip number.
-// ---------------------------------------------------------------------------
-//    
-TPhCntVoipMatchArray::TMatchType TPhCntVoipMatchArray::HasVoipNumber( 
-    CPhCntContact& aContact,
-    const TPhCntSipURI& aSipURI,
-    const TInt aCharsForMatch ) const
-    {
-    const RArray<TPhCntNumber>& allNumbers = aContact.AllNumbers();
-    const TInt numbers( allNumbers.Count() );
-    TMatchType matchType = TPhCntVoipMatchArray::ENone;
-    
-    for( TInt i = 0; i < numbers; i++ ) 
-        {
-        TPhCntNumber number = allNumbers[i];
-        if( number.Type() == CPhCntContact::EVoipNumber ||
-            number.Type() == CPhCntContact::EMobileNumber || 
-            number.Type() == CPhCntContact::EStandardNumber ||
-            number.Type() == CPhCntContact::EPagerNumber ||
-            number.Type() == CPhCntContact::EVideoNumber ||
-            number.Type() == CPhCntContact::EAssistantNumber ||
-            number.Type() == CPhCntContact::EFaxNumber ||
-            number.Type() == CPhCntContact::ECarNumber
-             ) 
-            {
-            // If uris are the same then we have a full match.
-            TPhCntSipURI matchURI( number.Number(), aCharsForMatch );
-			// full match if uris are the same (usernamepart requires
-			// case sensitive match, domain is not sensitive)
-            if ( matchURI.SipURI().CompareF( aSipURI.SipURI() ) 
-                == KErrNone &&
-                matchURI.UserNamePart().Compare( aSipURI.UserNamePart() )
-                == KErrNone )
-                {
-                matchType = TPhCntVoipMatchArray::EFullMatch;
-                aContact.SetMatchedVoipNumber( matchURI );
-                break;
-                }
-            else if( matchURI.UserNamePart().Compare( aSipURI.UserNamePart() ) 
-                == KErrNone ) 
-                {
-                matchType = TPhCntVoipMatchArray::EUserNameMatch;
-                aContact.SetMatchedVoipNumber( matchURI );
-                }
-            else if( 0 != aCharsForMatch && matchURI.FixedUserNamePart().Compare( 
-                     aSipURI.FixedUserNamePart() ) == KErrNone ) 
-                {
-                matchType = TPhCntVoipMatchArray::EUserNameMatch;
-                aContact.SetMatchedVoipNumber( matchURI );
-                }
-            }
-        }
-    return matchType;
-    }
-
-// ---------------------------------------------------------------------------
-// Finds contact that has aSipURI voip number
-// ---------------------------------------------------------------------------
-//    
-TPhCntVoipMatchArray::TMatchType 
-    TPhCntVoipMatchArray::FindFullOrUsernameMatch( 
-        const TPhCntSipURI& aSipUri,
-        CPhCntContact*& aFoundContact,
-        const TInt aCharsForMatch )
-    {
-    CPhCntContact* userNameMatch = NULL;
-    CPhCntContact* fullMatch = NULL;
-    TBool duplicateMatch( EFalse );
-    TMatchType matchType = TPhCntVoipMatchArray::ENone;
-    // Go through all voip matches.
-    const TInt matchesCount( iMatches.Count() );
-
-    for( TInt i = 0; i < matchesCount; i++ )
-        {
-       
-        CPhCntContact* possibleMatch = iMatches[i];
-
-        matchType = HasVoipNumber( *possibleMatch, aSipUri, aCharsForMatch ) ;
-        if( matchType == TPhCntVoipMatchArray::EFullMatch ) 
-            {
-            if ( fullMatch && 
-                 !TPhCntContactUtil::AreFirstAndLastAndCompanyNameSame( 
-                         *fullMatch, *possibleMatch ) )
-                {
-                // Duplicate match means no match found
-                fullMatch = NULL;
-                userNameMatch = NULL;
-                break;
-                }
-            fullMatch = possibleMatch;
-            }
-        // Once username match is found it 
-        // will be the match if fullmatch is not found.
-        else if( matchType == TPhCntVoipMatchArray::EUserNameMatch &&
-                 EFalse == duplicateMatch ) 
-            {
-            if ( userNameMatch )
-                {
-                // Duplicate username match.
-                duplicateMatch = ETrue;
-                }
-            userNameMatch = possibleMatch;
-            }
-        }
-    
-    if( fullMatch )
-        {
-        aFoundContact = fullMatch;
-        }
-    else if ( duplicateMatch )
-        {
-        aFoundContact = NULL;
-        }
-    else
-        {
-        aFoundContact = userNameMatch;
-        }
-    return matchType;
-    }
-
-// End of File
--- a/phoneengine/PhoneCntFinder/Group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  Bld.inf for PhoneCntFinder
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/CPhoneCntFactory.h                   |../../../inc/cphonecntfactory.h
-../inc/CPhoneCntSaveAddToName.h             |../../../inc/cphonecntsaveaddtoname.h
-../inc/MPhCntMatch.h                        |../../../inc/mphcntmatch.h
-../inc/CPhCntMatcher.h                      |../../../inc/cphcntmatcher.h
-../inc/cphcntcontactid.h                    |../../../inc/cphcntcontactid.h
-
-../inc/Misc/CPhCntSingleItemFetch.h         |../../../inc/cphcntsingleitemfetch.h
-../inc/Misc/CPhCntThumbnailLoader.h         |../../../inc/cphcntthumbnailloader.h
-../inc/Misc/MPhCntThumbnailLoaderObserver.h |../../../inc/mphcntthumbnailloaderobserver.h
-../inc/Misc/CPhCntSpeedDialMonitor.h        |../../../inc/cphcntspeeddialmonitor.h
-../inc/Misc/CPhCntRfsHandler.h              |../../../inc/cphcntrfshandler.h
-../inc/Misc/CPhCntMmiSecurity.h             |../../../inc/cphcntmmisecurity.h
-../inc/Misc/CPhCntProfileEngine.h           |../../../inc/cphcntprofileengine.h
-../ContactService/inc/cphcntcontactdataselection.h |../../../inc/cphcntcontactdataselection.h 
-../ContactService/inc/mphcntstoreloader.h   |../../../inc/mphcntstoreloader.h
-../ContactService/inc/mphcntstoreloaderobserver.h  |../../../inc/mphcntstoreloaderobserver.h
-
-../Group/phonecntfinder_stub.SIS            /epoc32/data/z/system/install/phonecntfinder_stub.sis
-
-// IBY export
-../rom/PhoneCntFinder.iby                   CORE_APP_LAYER_IBY_EXPORT_PATH(PhoneCntFinder.iby)
-
-PRJ_MMPFILES
-../Group/phonecntfinder.mmp
-
-// End of File
--- a/phoneengine/PhoneCntFinder/Group/phonecntfinder.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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 project specification file for PhoneCntFinder.
-*
-*/
-
-#include <platform_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-// Assign Vendor ID.
-VENDORID VID_DEFAULT
-
-TARGET          phonecntfinder.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x10005998
-
-SOURCEPATH      ../src
-SOURCE          CPhoneCntFactoryImpl.cpp
-SOURCE          CPhoneRawMatchNumberExtractor.cpp
-SOURCE          CPhoneCntPbkOwner.cpp
-SOURCE          CPhoneCntSaveAddToName.cpp
-SOURCE          CPhoneCntNumberParser.cpp
-SOURCE          cphcntthumbnailloaderbase.cpp
-SOURCE          PhCntPanic.cpp
-
-SOURCEPATH      ../src/Misc
-SOURCE          CPhCntThumbnailLoaderImpl.cpp
-SOURCE          CPhCntRfsHandlerImpl.cpp
-SOURCE          CPhCntMmiSecurityImpl.cpp 
-SOURCE          CPhCntProfileEngineImpl.cpp
-
-SOURCEPATH      ../ContactService/src
-SOURCE          CPhCntSingleItemFetchService.cpp
-SOURCE          CPhCntContactStores.cpp
-SOURCE          CPhCntService.cpp
-SOURCE          CPhCntAIWService.cpp
-SOURCE          tphcntaiwserviceobserver.cpp
-SOURCE          CPhCntContactManager.cpp
-SOURCE          CPhCntMatcherImpl.cpp
-SOURCE          tphcntcontactutil.cpp
-SOURCE          cphcntmatchervoipimpl.cpp
-SOURCE          tphcntsipuri.cpp
-SOURCE          cphcntvoipcontactmatchstrategy.cpp
-SOURCE          tphcntvoipmatchArray.cpp
-SOURCE          CPhCntContact.cpp
-SOURCE          cphcntcontactfieldsresolver.cpp
-SOURCE          tphcntcontactfield.cpp
-SOURCE          cphcntmatchcontact.cpp
-SOURCE          cphcntcontactmatchstrategy.cpp
-SOURCE          cphcntfetchcontact.cpp
-SOURCE          cphcntasynctosync.cpp
-SOURCE          cphcntfoundcontacts.cpp
-SOURCE          cphcntspeeddialimpl.cpp
-SOURCE          cphcntcontactlinkarrayfetch.cpp
-SOURCE          cphcntspeeddialcontactlinkfetch.cpp
-SOURCE          cphcntvpbkthumbnailloader.cpp
-SOURCE          cphcntvpbkcontactid.cpp
-SOURCE          tphcntservicerequestparams.cpp
-SOURCE          tphcntservicerequestparamfactory.cpp
-SOURCE          tphcntcontactlinkresult.cpp
-SOURCE          tphcnttxttospeech.cpp
-SOURCE          tphcntnumber.cpp
-SOURCE          cphcntphonebookservices.cpp
-SOURCE          tphcntnullserviceresult.cpp
-SOURCE          cphcntcontactstoreuris.cpp
-SOURCE          tphcntcontactstorestate.cpp
-SOURCE          cphcntcontactdataselectionimpl.cpp
-SOURCE          cphcntstoreloaderimpl.cpp
-
-USERINCLUDE     ../ContactService/inc
-USERINCLUDE     ../inc
-USERINCLUDE     ../inc/Misc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../inc               // talogger
-SYSTEMINCLUDE   ../../../inc
-SYSTEMINCLUDE   /epoc32/include/ecom
-
-LIBRARY         euser.lib
-LIBRARY         pbkview.lib             // PhonebookUI.
-LIBRARY         pbk2presentation.lib    // Phonebook2.
-LIBRARY         vpbkeng.lib             // Virtula Phonebook.
-LIBRARY         spdctrl.lib             // Speeddial.
-LIBRARY         rfs.lib                 // Restore factory settings.
-LIBRARY         eikcoctl.lib            // CEikImage.
-LIBRARY         secui.lib               // Security.
-LIBRARY         fbscli.lib              // Speeddial bitmap/icon handling.
-LIBRARY         cone.lib                // CCoeEnv.
-LIBRARY         profileeng.lib          // Profile.
-LIBRARY         cenrepnotifhandler.lib  // CenRep notifyhandler.
-LIBRARY         centralrepository.lib   // CenRep.
-LIBRARY         ecom.lib                // ECOM plugin usage.
-LIBRARY         servicehandler.lib      // AIW framework.
-LIBRARY         bafl.lib                // Descriptor arrays
-
-LIBRARY         featmgr.lib             // Feature manager
-// End of File
--- a/phoneengine/PhoneCntFinder/Group/phonecntfinder.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /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.
-;
-; Languages
-&EN
-
-; Header
-#{"PhoneCntFinder"}, (0x10005998), 10, 1, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-"\epoc32\RELEASE\armv5\UREL\phonecntfinder.dll"-"z:\sys\bin\phonecntfinder.dll"
Binary file phoneengine/PhoneCntFinder/Group/phonecntfinder_stub.SIS has changed
--- a/phoneengine/PhoneCntFinder/Group/phonecntfinder_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /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"
--- a/phoneengine/PhoneCntFinder/eabi/phonecntfinderu.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
-	_Z17CreateCntFactoryLv @ 1 NONAME
-	_ZN22CPhoneCntSaveAddToName19HandlePbkOperationLERK4TBufILi100EEi @ 2 NONAME
-	_ZN22CPhoneCntSaveAddToName19HandlePbkOperationLERK4TBufILi100EEi14TCntNumberType @ 3 NONAME
-	_ZN22CPhoneCntSaveAddToNameD0Ev @ 4 NONAME
-	_ZN22CPhoneCntSaveAddToNameD1Ev @ 5 NONAME
-	_ZN22CPhoneCntSaveAddToNameD2Ev @ 6 NONAME
-	_ZN27CCntRawPhoneNumberExtractorC1Ev @ 7 NONAME
-	_ZN27CCntRawPhoneNumberExtractorC2Ev @ 8 NONAME
-	_ZTI22CPhoneCntSaveAddToName @ 9 NONAME
-	_ZTI27CCntRawPhoneNumberExtractor @ 10 NONAME
-	_ZTV22CPhoneCntSaveAddToName @ 11 NONAME
-	_ZTV27CCntRawPhoneNumberExtractor @ 12 NONAME
-	_ZThn4_N22CPhoneCntSaveAddToName19HandlePbkOperationLERK4TBufILi100EEi @ 13 NONAME
-	_ZThn4_N22CPhoneCntSaveAddToName19HandlePbkOperationLERK4TBufILi100EEi14TCntNumberType @ 14 NONAME
-	_ZThn4_N22CPhoneCntSaveAddToNameD0Ev @ 15 NONAME
-	_ZThn4_N22CPhoneCntSaveAddToNameD1Ev @ 16 NONAME
-
--- a/phoneengine/PhoneCntFinder/inc/CPhCntMatch.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +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:  Implementation for single match result.
-*
-*/
-
-
-#ifndef CPHCNTMATCH_H
-#define CPHCNTMATCH_H
-
-//  INCLUDES
-#include "MPhCntMatch.h"
-
-// FORWARD DECLARATIONS
-class CPhCntMatchItem;
-
-// CLASS DECLARATION
-
-/**
-*  Implementation for single match result.
-*  Passes all function calls to CPhCntMacthItem object.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhCntMatch ) : public CBase, public MPhCntMatch
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aItem Match data to use
-        * @return New instance
-        */
-        static CPhCntMatch* NewL( CPhCntMatchItem& aItem );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhCntMatch();
-
-    protected: // Functions from base classes
-
-        /**
-        * From MPhCntMatch
-        */ 
-        void Release();
-
-        /**
-        * From MPhCntMatch
-        */ 
-        CPhCntContactId* ContactId() const;
-
-        /**
-        * From MPhCntMatch
-        */ 
-        TInt NumberType() const;
-
-        /**
-        * From MPhCntMatch
-        */ 
-        TCliType Cli( HBufC*& aCliText ) const;
-
-        /**
-        * From MPhCntMatch
-        */ 
-        TPtrC FirstName() const;
-
-        /**
-        * From MPhCntMatch
-        */ 
-        TPtrC LastName() const;
-
-        /**
-        * From MPhCntMatch
-        */ 
-        TPtrC CompanyName() const;
-
-        /**
-        * From MPhCntMatch
-        */ 
-        TPtrC Number() const;
-
-        /**
-        * From MPhCntMatch
-        */ 
-        TPtrC PersonalRingingTone() const;
-
-        /**
-        * From MPhCntMatch
-        */ 
-        TBool BelongsToGroups( 
-            const CArrayFix<TContactItemId>& aGroupArray ) const;
-
-        /**
-        * @see MPhCntMatch::TextToSpeechTextL.
-        * @since Series 60 3.0
-        */
-        virtual HBufC* TextToSpeechTextL() const;
-        
-        /**
-        * From MPhCntMatch
-        * @since Series 60 3.1
-        */ 
-        TPtrC CallText() const;
-        
-       	/**
-        * From MPhCntMatch
-        * @since Series 60 3.1
-        */ 
-        TPtrC CallImage() const;
-        
-        /**
-        * From MPhCntMatch
-        * @since Series 60 3.1
-        */ 
-        TBool HasThumbnailImage() const;
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CPhCntMatch( CPhCntMatchItem& aItem );
-
-    private:    // Data
-        // Match data
-        CPhCntMatchItem& iItem;
-
-    };
-
-#endif      // CPHCNTMATCH_H   
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/CPhCntMatchItem.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,298 +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:  Holds data for one match result.
-*
-*/
-
-
-#ifndef CPHCNTMATCHITEM_H
-#define CPHCNTMATCHITEM_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <CNTDEF.H>     // TContactItemId
-
-#include "CPhCntMatcher.h" // TFieldId
-#include "MPhCntMatch.h" // TPhCCliType
-
-// CONSTANTS
-
-// Panic literal for maching related panics.
-_LIT( KPhCntMatchPanic, "PhCntMatch" );
-
-/**
-* Enumerates panic reasons.
-*
-* EPhCntMatchReferenceCountPanic 
-*       - reference count is invalid  
-* EPhCntMatchNeededObjectNotPresentPanic 
-*       - instance is not present even if it is required to be.
-* EPhCntMatchPhonebookNotReleasedPanic 
-*       - phonebook has been released but still request of 
-*         phonebook to be released is given.
-*/
-enum TPhCntMatchPanicReason
-    {
-    EPhCntMatchReferenceCountPanic,
-    EPhCntMatchNeededObjectNotPresentPanic,
-    EPhCntMatchPhonebookNotReleasedPanic
-    };
-
-// FORWARD DECLARATIONS
-class CPbkContactItem;
-class MPhCntMatchItemOwner;
-class CContactIdArray;
-class CPhCntPbkContactId;
-
-// CLASS DECLARATION
-
-/**
-*  Holds data for one match result.
-*  Many CPhCntMatch objects may use this.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhCntMatchItem ) :public CBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @param aTelNumber Original phone number
-        * @param aContact Matched contact item
-        * @param aFieldId Matched field from the contact item
-        * @param aOwner Own this i.e. handles delete
-        * @return New instance
-        */
-        static CPhCntMatchItem* NewL( 
-            const TDesC& aTelNumber,
-            CPbkContactItem& aContact,
-            const TFieldId aFieldId,
-            MPhCntMatchItemOwner& aOwner );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhCntMatchItem();
-
-    public: // New functions
-        
-        /**
-        * Get the compared phone number
-        * @return The original phonenumber
-        */
-        inline const TDesC& OriginalNumber() const;
-
-        /**
-        * Add reference to this match item.
-        */
-        inline void AddReference();
-
-        /**
-        * Removes reference to this match item. If reference count
-        * gets to zero the object is deleted.
-        */
-        void RemoveReference();
-
-        /**
-        * Returns reference count.
-        * @return The count.
-        */
-        inline TInt ReferenceCount() const;
-
-        /**
-        * Get contact ID.
-        * @return The ID.
-        */
-        inline CPhCntPbkContactId* ContactId() const;
-
-        /**
-        * Get number type
-        * @return Phonebook number type
-        */
-        inline TInt NumberType() const;
-
-        /**
-        * Get contact's CLI
-        * @param aCliText CLI is saved here. User deletes the object.
-        * @return CLI type
-        */
-        MPhCntMatch::TCliType Cli( HBufC*& aCliText ) const;
-
-        /**
-        * First name field content.
-        * @return The field. Empty if not specified.
-        */
-        TPtrC FirstName() const;
-
-        /**
-        * Last name field content.
-        * @return The field. Empty if not specified.
-        */
-        TPtrC LastName() const;
-
-        /**
-        * Company name field content.
-        * @return The field. Empty if not specified.
-        */
-        TPtrC CompanyName() const;
-
-        /**
-        * Number field content (matched field).
-        * @return The field. Empty if not specified.
-        */
-        TPtrC Number() const;
-
-        /**
-        * Ringing tone field content.
-        * @return The field. Empty if not specified.
-        */
-        TPtrC PersonalRingingTone() const;
-
-        /**
-        * Find if contact belongs to any contact groups given.
-        * @param aGroupArray Compared contact groups.
-        * @return ETrue is belongs at least one group from parameter.
-        */
-        TBool BelongsToGroups( const CArrayFix<TContactItemId>& aGroupArray ) const;
-
-        /**
-        * Returns text to speech text for this contact. Used in
-        * text to speech ringing tone.
-        * @since Series 60 3.0
-        * @return descriptor, ownership passed.
-        */
-        HBufC* TextToSpeechTextL() const;
-        
-        /**
-        * Call text field content.
-        * @since Series 60 3.1
-        * @return The field. Empty if not specified.
-        */
-        TPtrC CallText() const;
-
-        /**
-        * Call image field content.
-        * @since Series 60 3.1
-        * @return The field. Empty if not specified.
-        */
-        TPtrC CallImage() const;        
-        
-        /**
-        * Check if contact has a thumbnail image.
-        * @since Series 60 3.1
-        * @return ETrue if thumbnail exists, otherwise EFalse.
-        */
-        TBool HasThumbnailImage() const;        
-        
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CPhCntMatchItem( const TFieldId aFieldId, MPhCntMatchItemOwner& aOwner);
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL( const TDesC& aTelNumber, CPbkContactItem& aContact );
-
-        
-        /**
-        * Read all needed info from the contact.
-        * @param aContact Contact item from Phonebook
-        */
-        void GetContactInfoL( CPbkContactItem& aContact );
-        void ReadFirstNameL( CPbkContactItem& aContact );
-        void ReadLastNameL( CPbkContactItem& aContact );
-        void ReadCompanyNameL( CPbkContactItem& aContact );
-        void ReadNumberL( CPbkContactItem& aContact );
-        void ReadNumberType( CPbkContactItem& aContact );
-        void ReadCliAndTypeL( CPbkContactItem& aContact );
-        void ReadGroupsL( CPbkContactItem& aContact );
-        void ReadRingingToneL( CPbkContactItem& aContact );
-        void ReadTextToSpeechL( CPbkContactItem& aContact );
-        void ReadCallObjectL( CPbkContactItem& aContact );
-
-        /**
-        * Allocate string and trim the result.
-        * @since Series 60 3.0
-        * @param aText text to be allocated.
-        * @return trimmed version.
-        */
-        static HBufC* AllocAndTrimL( const TDesC* aText );
-
-        /**
-        * Returns ETrue if order of the names needs to be swapped.
-        * Default order is first name followed by last name.
-        *
-        * @since Series 60 3.0
-        * @return ETrue if order of the names needs to be swapped.
-        */
-        static TBool SwapNameOrder();
-
-    private:    // Data
-        // Original phone number buffer
-        HBufC* iOriginalTelNumber;
-        // Contact item id
-        CPhCntPbkContactId* iContactId;
-        // Field id of the contact
-        TFieldId iFieldId;
-        // Reference count to this match data
-        TInt iReferenceCount;
-        // Who can delete this (when reference count comes to 0)
-        MPhCntMatchItemOwner& iOwner;
-
-        // First name buffer
-        HBufC* iFirstName;
-        // Last name buffer
-        HBufC* iLastName;
-        // Company name buffer
-        HBufC* iCompanyName;
-        // Matched phone numer buffer
-        HBufC* iNumber;
-        // Number type
-        TInt iNumberType;
-        // CLI
-        HBufC* iCli;
-        // CLI type (name, number, company, ...)
-        MPhCntMatch::TCliType iCliType;
-        // Contact groups
-        CContactIdArray* iGroups;
-        // Path to ringing tone
-        HBufC* iRingingTone;
-
-        // Text to speech related variables:
-
-        // First name reading
-        HBufC* iFirstNameReading;
-        // Last name reading
-        HBufC* iLastNameReading;
-        // Nick name
-        HBufC* iSecondName;
-        // Call text
-        HBufC* iCallText;
-		// Call image
-        HBufC* iCallImage;
-        // Has thumbnail image
-        TBool iHasThumbnailImage;
-
-    };
-
-#include    "CPhCntMatchItem.inl"
-
-#endif      // CPHCNTMATCHITEM_H  
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/CPhCntMatchItem.inl	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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:  Inline functions for Match Item
-*
-*/
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CPhCntMatchItem::OriginalNumber
-// 
-// ---------------------------------------------------------
-//
-inline const TDesC& CPhCntMatchItem::OriginalNumber() const
-    {
-    return *iOriginalTelNumber;
-    }
-
-// ---------------------------------------------------------
-// CPhCntMatchItem::AddReference
-// 
-// ---------------------------------------------------------
-//
-inline void CPhCntMatchItem::AddReference()
-    {
-    iReferenceCount++;
-    }
-
-// ---------------------------------------------------------
-// CPhCntMatchItem::ReferenceCount
-// 
-// ---------------------------------------------------------
-//
-inline TInt CPhCntMatchItem::ReferenceCount() const
-    {
-    return iReferenceCount;
-    }
-
-// ---------------------------------------------------------
-// CPhCntMatchItem::ContactId
-// 
-// ---------------------------------------------------------
-//
-inline CPhCntPbkContactId* CPhCntMatchItem::ContactId() const
-    {
-    return iContactId;
-    }
-
-// ---------------------------------------------------------
-// CPhCntMatchItem::NumberType
-// 
-// ---------------------------------------------------------
-//
-inline TInt CPhCntMatchItem::NumberType() const
-    {
-    return iNumberType;
-    }
-
-//  End of File  
--- a/phoneengine/PhoneCntFinder/inc/CPhCntMatcher.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +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:  Abstract class for making matches.
-*
-*/
-
-
-#ifndef CPHCNTMATCHER_H
-#define CPHCNTMATCHER_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <cntdef.h>     // TContactItemId
-#include <badesca.h>
-#include <cphcntsingleitemfetch.h>
-// CONSTANTS
-const TInt KPhCntInvalidFieldId = KErrNotFound;
-
-// DATA TYPES
-typedef TInt TFieldId;
-
-// FORWARD DECLARATIONS
-class MPhCntMatch;
-class CGulIcon;
-class MVPbkContactLink;
-
-// CLASS DECLARATION
-
-/**
-*  Abstract class for making matches.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class CPhCntMatcher 
-    : public CBase
-    {
-    public:  // Constructors and destructor  
-
-        /**
-        * Match number to phonebook.
-        * @param aMatch Found match, owership tranferred. NULL if not found any.
-        * @param aTelNumber Number to match against.
-        * @return Error code: KErrNone - one match found
-        *                     KErrNotFound - no matches found
-        *                     KErrAlreadyExists - several matches -> no match
-        *                     KErrUnderflow - Number too short for matching
-        *                     KErrAccessDenied - Can't get phonebook instance
-        *                     other - normal Symbian OS error
-        */
-        virtual TInt MatchNumber( 
-            MPhCntMatch*& aMatch, 
-            const TDesC& aTelNumber ) = 0;
-
-        /**
-        * Match number to phonebook.
-        * @param aMatch Found match, owership tranferred. NULL if not found any.
-        * @param aTelNumber Number to match against.
-        * @param aContactId Current contact.
-        * @return Error code: KErrNone - one match found
-        *                     KErrNotFound - no matches found
-        *                     KErrAlreadyExists - several matches -> no match
-        *                     KErrUnderflow - Number too short for matching
-        *                     KErrAccessDenied - Can't get phonebook instance
-        *                     other - normal Symbian OS error
-        */
-        virtual TInt MatchNumber(
-            MPhCntMatch*& aMatch,
-            const TDesC& aTelNumber,
-            const CPhCntContactId& aContactLink ) = 0;
-
-        /**
-        * Match number to phonebook.
-        * @param aMatch Found match, owership tranferred. NULL if not found any.
-        * @param aTelNumber Number to match against.
-        * @param aContactId Current contact.
-        * @param aFieldId Current field id (index from CnmModel);
-        * @return Error code: KErrNone - one match found
-        *                     KErrNotFound - no matches found
-        *                     KErrAlreadyExists - several matches -> no match
-        *                     KErrUnderflow - Number too short for matching
-        *                     KErrAccessDenied - Can't get phonebook instance
-        *                     other - normal Symbian OS error
-        */
-        virtual TInt MatchNumber(
-            MPhCntMatch*& aMatch,
-            const TDesC& aTelNumber,
-            const CPhCntContactId& aContactId,
-            MPhCntMatch::TNumberType aNumberType ) = 0;
-
-        /**
-        * Match number to phonebook.
-        * @param aMatch Found match, owership tranferred. NULL if not found any.
-        * @param aNumber Number to match against.
-        * @param aAllowUsernameMatch 
-        *						is ETrue if username is sufficient for match.
-        * @param aContactStoreUris
-        *                      Pointer to array containing store uris
-        * @param aCharsForMatching Length of string to be used in matching.
-        *                       Starts from the end of VoIP number. Domain part
-        *                       not included for matching.
-        * @return Error code: KErrNone - one match found
-        *                     KErrNotFound - no matches found
-        *                     other - normal Symbian OS error
-        */    
-        virtual TInt MatchVoipNumber(
-            MPhCntMatch*& aMatch,
-            const TDesC& aNumber,
-            const TBool aAllowUsernameMatch,
-            MDesCArray* aContactStoreUris,
-            TInt aCharsForMatching = 0 ) = 0;
-        
-         /**
-        * Gets VoIP call contact info from phonebook
-        * by contact id.
-        * @since Series60 3.0
-        * @param aMatch for found match, owership tranferred. Empty if not found.
-        * @param aContactId for current contact.
-        * @return Error code: KErrNone - VoIP call contact found
-        *                     KErrNotFound - no VoIP call contact found
-        *                     other - normal Symbian OS error
-        */    
-        virtual TInt MatchVoipNumber(
-            MPhCntMatch*& aMatch,
-            const CPhCntContactId& aContactId ) = 0;
-            
-        /**
-         * Determines if contact has other type of numbers
-         * than VoIP numbers.
-         * 
-         * @since S60 v3.2.
-         * @param aContactId Id of the contact.
-         * @return ETrue - CS numbers found from contact.
-         *         EFalse - No CS numbers found from contact.
-         */
-        virtual TBool HasCSNumbers( 
-            const CPhCntContactId& aContactId ) = 0;
-
-    };
-
-#endif      // CPHCNTMATCHER_H  
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/CPhoneCntFactory.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +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:  It's factory for creating components.
-*
-*/
-
-
-#ifndef CPHCNTFACTORY_H
-#define CPHCNTFACTORY_H
-
-//  INCLUDES
-#include    <e32base.h>
-#include    <cntdef.h>
-
-// FORWARD DECLARATIONS
-class MPhCntThumbnailLoaderObserver;
-class CEikStatusPane;
-class CPhCntSpeedDialMonitor;
-class CPhCntThumbnailLoader;
-class CPhCntSingleItemFetch;
-class CPhCntRfsHandler;
-class CPhCntMmiSecurity;
-class CPhoneCntSaveAddToName; 
-class CPhoneCntVoiceKeyImp;
-class CPhCntMatcher;
-class CPhCntProfileEngine;
-class MProfileChangeObserver;
-class CPhCntContactId;
-class CPhCntContactDataSelection;
-class MPhCntStoreLoader;
-
-// CLASS DECLARATION
-
-/**
-*  Factory class for creating phonebook related classes.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class CPhCntFactory : public CBase
-    {
-    public:
-
-        /**
-        * Creates speed dial monitor.
-        *
-        * @param aStatusPane statuspane.
-        * @return speed dial monitor, ownership transferred.
-        */
-        virtual CPhCntSpeedDialMonitor* CreateSpeedDialMonitorL() = 0;
-
-        /**
-        * Creates thumbnail loader.
-        *
-        * @param aObserver observer.
-        * @return thumbnail loader, ownership transferred.
-        */
-        virtual CPhCntThumbnailLoader* CreateThumbnailLoaderL(
-            MPhCntThumbnailLoaderObserver& aObserver ) = 0;
-            
-        /**
-        * Creates single item fetcher.     
-        * 
-        * @return single item fetcher, ownership transferred.
-        */
-        virtual CPhCntSingleItemFetch* CreateSingleItemFetchL() = 0;
-
-        /**
-        * Creates rfs handler.
-        *
-        * @return rfs handler, ownership is transferred.
-        */
-        virtual CPhCntRfsHandler* CreateRfsHandlerL() = 0;
-
-        /**
-        * Creates mmi security.
-        *
-        * @return mmi security.
-        */
-        virtual CPhCntMmiSecurity* CreateMmiSecurityL() = 0;
-       
-        /**
-        * Creates save and add to name-object.
-        *
-        * @return pointer to class, ownership is transferred.
-        */
-        virtual CPhoneCntSaveAddToName* CreateSaveAddToNameL() = 0;
-
-        /** 
-        * Creates an instance of Contact Matcher
-        *
-        * @return Contact Matcher object. Ownership is transferred.
-        */
-        virtual CPhCntMatcher* CreateContactMatcherL() = 0;
-
-        /**
-        * Creates an instance of profile engine.
-        *
-        * @return profile engine instance. Ownership is transferred.
-        */
-        virtual CPhCntProfileEngine* CreateProfileEngineL() = 0;
-
-        /**
-        * Creates an instance of profile engine notify handler.
-        * @param aObserver observer to be notified of profile changes.
-        * @return new instance.
-        */
-        virtual CBase* CreateProfileEngineNotifyHandlerL( 
-            MProfileChangeObserver* aObserver ) = 0;
-            
-        /**
-         * Creates contact id instance.
-         *
-         * @since S60 v3.1
-         * @return New instance.
-         */
-        virtual CPhCntContactId* CreateContactIdL() = 0;
-            
-        /**
-         * Creates an contact id instance.
-         *
-         * @since S60 v3.1
-         * @return New instance of CPhCntContactId
-         */
-        virtual CPhCntContactId* CreateContactIdL( TContactItemId aContactId ) = 0;
-
-        /**
-         * Create and contact id instance from contact link.
-         *
-         * @since S60 v3.2
-         */
-        virtual CPhCntContactId* CreateContactIdL( const TDesC8& aContactId ) = 0;    
-
-        /**
-         * Creates service to get user to select data from contact.
-         * 
-         * @since S60 v3.2
-         */
-        virtual CPhCntContactDataSelection* CreateContactDataSelectionL() = 0;
-
-        /**
-         * Creates a service to load contact stores.
-         * 
-         * @since S60 v9.1
-         */
-        virtual MPhCntStoreLoader* CreateContactStoreLoaderL() = 0;
-        
-        /**
-         * Creates a phonebook service and opens contact stores.
-         * 
-         * @since S60 v9.1
-         */
-        virtual void CreatePhonebookServicesL() = 0;
-    };
-
-/**
-* Creates CPhCntFactory. Position 1 in DLL's lookup table.
-* @return Reference to CPhCntFactory object. Ownership is transferred.
-*/
-IMPORT_C CPhCntFactory* CreateCntFactoryL();
-
-#endif      // CPHCNTFACTORY_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/CPhoneCntFactoryImpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +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:  Factory class's implementation.
-*
-*/
-
-
-#ifndef CPHCNTFACTORYIMPL_H
-#define CPHCNTFACTORYIMPL_H
-
-//  INCLUDES
-#include    <e32base.h>
-#include    <cphonecntfactory.h>
-#include    <RPbkViewResourceFile.h>
-
-class CPhCntPhonebookServices;
-class CPhCntContactStores;
-class CPhCntContactDataSelection;
-
-
-// FORWARD DECLARATIONS
-class CPhoneCntPbkOwner;
-class MPhCntStoreLoader;
-
-// CLASS DECLARATION
-
-/**
-*  Factory class's implementation. Not for external use.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhCntFactoryImpl ) : public CPhCntFactory
-    {
-    public: // Constructors and destructors.
-
-        /**
-        * Two-phased constructor.
-        *
-        * @return new instance of the class.
-        */
-        static CPhCntFactoryImpl* NewL();
-
-        /**
-        * Destructor.
-        */
-        ~CPhCntFactoryImpl();
-
-    public: // From base classes.
-
-        /**
-        * From CPhCntFactory
-        */
-        CPhCntSpeedDialMonitor* CreateSpeedDialMonitorL();
-
-        /**
-        * From CPhCntFactory
-        */
-        CPhCntThumbnailLoader* CreateThumbnailLoaderL(
-            MPhCntThumbnailLoaderObserver& aObserver );
-
-        /**
-        * From CPhCntFactory
-        */
-        CPhCntSingleItemFetch* CreateSingleItemFetchL();
-
-        /**
-        * From CPhCntFactory
-        */
-        CPhCntRfsHandler* CreateRfsHandlerL();
-
-        /**
-        * From CPhCntFactory
-        */
-        CPhCntMmiSecurity* CreateMmiSecurityL();
-      
-        /**
-        * From CPhCntFactory
-        */
-        CPhoneCntSaveAddToName* CreateSaveAddToNameL();
-
-        /**
-        * From CPhCntFactory
-        */
-        CPhCntMatcher* CreateContactMatcherL();
-
-        /**
-        * From CPhCntFactory
-        */
-        CPhCntProfileEngine* CreateProfileEngineL();
-
-        /**
-        * From CPhCntFactory
-        */
-        CBase* CreateProfileEngineNotifyHandlerL( 
-            MProfileChangeObserver* aObserver );
-            
-        /**
-         * Creates contact id instance.
-         *
-         * @since S60 v3.1
-         * @return New instance.
-         */
-        CPhCntContactId* CreateContactIdL();
-        
-        /**
-         * From CPhCntFactory
-         * Creates an contact id instance.
-         *
-         * @since S60 v3.1
-         * @return New instance of CPhCntContactId
-         */
-        CPhCntContactId* CreateContactIdL( TContactItemId aContactId );
-        
-        /**
-         * From CPhCntFactory
-         *
-         * @since S60 v3.2
-         * @see CPhCntFactory
-         */
-        CPhCntContactId* CreateContactIdL( const TDesC8& aContactLink );
-
-        /**
-         * From CPhCntFactory.
-         * @since S60 v3.2
-         * @see CPhCntFactory
-         */
-        CPhCntContactDataSelection* CreateContactDataSelectionL();
-
-        /**
-         * From CPhCntFactory.
-         * @since S60 v9.1
-         * @see CPhCntFactory
-         */
-        MPhCntStoreLoader* CreateContactStoreLoaderL();
-        
-        /**
-         * From CPhCntFactory.
-         * @since S60 v9.1
-         * @see CPhCntFactory
-         */
-        void CreatePhonebookServicesL();
-        
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CPhCntFactoryImpl();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-        
-        void CreateContactStoreAndManagerL();
-
-    private:
-        // Phonebook view resources
-        RPbkViewResourceFile iPbkResource;
-
-        // Has the SecUi been initialized
-        TBool iSecUiInit;
-
-        // Phonebook owner
-        CPhoneCntPbkOwner* iPbkOwner;
-
-        /**
-         * Phonebook services.
-         * own.
-         */
-        CPhCntPhonebookServices* iPhonebookServices;
-        
-        /** 
-         * Contact stores.
-         * Own.
-         */
-        CPhCntContactStores* iContactStores;
-    };
-
-
-#endif      // CPHCNTFACTORYIMPL_H   
-
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/CPhoneCntNumberParser.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2004-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 class loads contact model phone number parser DLL.
-*
-*/
-
-
-#ifndef CCntNumberParser_H
-#define CCntNumberParser_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CContactPhoneNumberParser;
-
-// CLASS DECLARATION
-
-/**
- * Template classes to call ResetAndDestroy on array classes
- * automatically, when ::PopAndDestroy'ing from the cleanup stack.
- */
-template <class T>
-class CleanupResetAndDestroy
-    {
-public:
-    inline static void PushL(T& aRef);
-private:
-    static void ResetAndDestroy(TAny *aPtr);
-    };
-template <class T>
-inline void CleanupResetAndDestroyL(T& aRef);
-
-// Template class CleanupClose
-template <class T>
-inline void CleanupResetAndDestroy<T>::PushL(T& aRef)
-    {CleanupStack::PushL(TCleanupItem(&ResetAndDestroy, &aRef));}
-template <class T>
-void CleanupResetAndDestroy<T>::ResetAndDestroy(TAny *aPtr)
-    {static_cast<T*>(aPtr)->ResetAndDestroy();}
-template <class T>
-inline void CleanupResetAndDestroyPushL(T& aRef)
-    {CleanupResetAndDestroy<T>::PushL(aRef);}
-
-
-/**
-*  CCntNumberParser
-*
-*  This class loads contact model phone number parser DLL.
-*
-*  @lib PhoneCntFinder
-*  @since 2.8
-*/
-NONSHARABLE_CLASS( CCntNumberParser ) : public CBase
-    {
-    public: // Constructor
-
-        /**
-        * Two-phased constructor.
-        * @return New instance
-        */
-        static CCntNumberParser* NewL();
-
-        /**
-        * Destructor.
-        */
-        ~CCntNumberParser();
-
-        /**
-        * Gets a pointer of CContactPhoneNumberParser instance.
-        *
-        * @return the pointer of the instance.
-        */
-        CContactPhoneNumberParser* CntPhoneNumberParser() const;
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CCntNumberParser();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-    private: // Data
-
-        // Parser itself
-        CContactPhoneNumberParser* iParser;
-    };
-
-
-#endif //CCntNumberParser_H
-
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/CPhoneCntPbkOwner.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +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:  It provides interface to retrieve phonebook instance in 
-*                the PhoneCntFinder subsystem.
-*
-*/
-
-
-#ifndef CPHONECNTPBKOWNER_H
-#define CPHONECNTPBKOWNER_H
-
-//  INCLUDES
-#include "MPhoneCntPbkOwner.h"
-
-class CPhCntContactManager;
-
-// CLASS DECLARATION
-
-/**
-*  It's the phonebook owner.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhoneCntPbkOwner )
-    : public MPhoneCntPbkOwner
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @return New instance
-        */
-        static CPhoneCntPbkOwner* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPhoneCntPbkOwner();
-
-    public: // Functions from base classes
-
-        /**
-        * From MPhoneCntPbkOwner
-        */
-        CPhCntContactManager* ContactManager() const;
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CPhoneCntPbkOwner();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-    private:    // Data
-    
-        // Contact manager.
-        CPhCntContactManager* iContactManager;
-    };
-
-#endif      // CPHONECNTPBKOWNER_H  
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/CPhoneCntSaveAddToName.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +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:  Add number to existing name and save the number.
-*
-*/
-
-
-#ifndef CPHONECNTSAVEADDTONAME_H
-#define CPHONECNTSAVEADDTONAME_H
-
-// INCLUDES
-#include <e32base.h>
-
-// DATA TYPES
-enum TCntNumberType
-    {
-    /**
-    * If saved type is normal number.
-    */
-    ECntNormalNumber = 0,
-    /**
-    * If saved type is normal number it could be used in SIP Uri.
-    */
-    ECntVoiceInternetNumber,
-    /**
-    * If saved type is internet number.
-    */
-    ECntOnlyInternetNumber,
-    /**
-    * If saved type is internet number and could be used like
-    * email address.
-    */
-    ECntInternetEmailField    
-    };    
-
-// KCntPhoneNumberMaxLength must be same as MPhEngCallHandling::TPhEngPhoneNumber  
-const TInt KCntPhoneNumberMaxLength = 100;     
-typedef TBuf<KCntPhoneNumberMaxLength> TCntPhoneNumber;
-
-// FORWARD DECLARATIONS
-class CPbkDataSaveAppUi;
-class CPbkViewResourceLoader;
-class MPhoneCntPbkOwner;
-class MPhCntPhonebookServices;
-
-// CLASS DECLARATION
-
-/**
-*  MPhoneCntSaveAddToName
-*
-*  Abstact class for saving new entry and adding data to old phonebook entry.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( MPhoneCntSaveAddToName )
-    {
-    public: // New functions   
-    
-        virtual ~MPhoneCntSaveAddToName()  {};
-        
-        /**
-        * Handles phonebook operation
-        * @param aTelNumber Telephone number to save
-        * @param aCommand Given command (new, update existing)
-        */
-        virtual void HandlePbkOperationL( 
-            const TCntPhoneNumber& aTelNumber,                                            
-            TInt aCommand ) = 0;
-            
-        /**
-        * Handles phonebook operation.
-        * @since Series60 3.0
-        * @param aTelNumber Telephone number to save
-        * @param aCommand Given command (new, update existing)
-        * @param aNumberType Type of saved telnumber (E.g If not numeric
-        *                    could not save to the Phone number field)
-        */       
-        virtual void HandlePbkOperationL(
-            const TCntPhoneNumber& aTelNumber,
-            TInt aCommand,
-            TCntNumberType aNumberType ) = 0;    
-       };
-
-
-
-/**
-*  This class is used to add number to existing name and to save the number.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class CPhoneCntSaveAddToName
-    : public CBase, 
-      public MPhoneCntSaveAddToName
-    {
-    public: // New functions       
-        /**
-        * Two-phased constructor.
-        * @param aPbkOwner Phonebook owner.
-        * @return new instance of the class.
-        */
-        static CPhoneCntSaveAddToName* NewL( MPhCntPhonebookServices& aServices );
-
-        /**
-        * Destructor.
-        */
-        IMPORT_C ~CPhoneCntSaveAddToName();
-
-    public : // Functions from base classes
-
-        /**
-        * From MPhoneCntSaveAddToName
-        */
-        IMPORT_C void HandlePbkOperationL(
-            const TCntPhoneNumber& aTelNumber,
-            TInt aCommand );
-        
-        /**
-        * From MPhoneCntSaveAddToName
-        * @since 3.0
-        */
-        IMPORT_C void HandlePbkOperationL(
-            const TCntPhoneNumber& aTelNumber,
-            TInt aCommand,
-            TCntNumberType aNumberType );    
-    private:
-        
-        /**
-        * C++ constructor.
-        */
-        CPhoneCntSaveAddToName( MPhCntPhonebookServices& aServices  );
-        
-    private://data
-    
-        /**
-         * Service for creating and updating contacts.
-         * Not own.
-         */
-        MPhCntPhonebookServices& iServices;
-
-    };
-
-#endif      // CPHONECNTSAVEADDTONAME_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/CPhoneRawMatchNumberExtractor.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +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 class extracts phone number for comparison.
-*
-*/
-
-
-
-#ifndef CCNTRAWPHONENUMBEREXTRACTOR_H
-#define CCNTRAWPHONENUMBEREXTRACTOR_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CContactPhoneNumberParser;
-class CCntNumberParser;
-
-// CONSTANTS
-const TInt KPhMatcherMaximumPhoneNumberLength = 150;
-const TInt KPhMatcherNumberCount = 7;
-
-
-// CLASS DECLARATION
-
-/**
-*  MRawPhoneNumberExtractor
-*
-*  Abstact class for extraction.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class MRawPhoneNumberExtractor 
-    {
-    public: // New functions
-        /**
-        * This should be called when instance is not needed any more.
-        */
-        virtual void Release() = 0;
-        
-        /**
-        * DEPRECATED.
-        */
-        virtual TUint ExtractRawNumber(
-            const TDesC& aTextualNumber ) = 0;
-        
-        /**
-        * Extracts the given number for comparsion.
-        * @param aTextualNumber Number to match for. 7 digits count.
-        * @param aRawNumber Extracted number in descriptor.
-        * @return Extracted number in integer (extra char at beginning).
-        *         Equals extra char if given number is not taken to comparsion.
-        */
-        virtual TUint ExtractRawNumber(
-            const TDesC& aTextualNumber, 
-            TDes& aRawNumber ) = 0;
-        
-        /**
-        * DEPRECATED.
-        */
-        virtual TChar ExtraChar() const = 0;
-    };
-
-
-
-/**
-*  CCntRawPhoneNumberExtractor
-*
-*  Concrete extarctor class. 
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class CCntRawPhoneNumberExtractor 
-    : public CBase, 
-      public MRawPhoneNumberExtractor 
-    {
-    public: // Constructor
-
-        /**
-        * Constructor.
-        */
-        IMPORT_C CCntRawPhoneNumberExtractor();
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-        
-    public: // Functions from base classes
-
-        /**
-        * From MRawPhoneNumberExtractor
-        */
-        void Release();
-        
-        /**
-        * From MRawPhoneNumberExtractor
-        * DEPRECTED - Do not use.
-        */
-        TUint ExtractRawNumber( 
-            const TDesC& aTextualNumber );
-        
-        /**
-        * From MRawPhoneNumberExtractor
-        */
-        TUint ExtractRawNumber( 
-            const TDesC& aTextualNumber, 
-            TDes& aRawNumber );
-        
-        /**
-        * From MRawPhoneNumberExtractor
-        * DEPRECTED - Do not use.
-        */
-        TChar ExtraChar() const;
-
-    private:
-
-        /**
-        * Destructor.
-        */
-        ~CCntRawPhoneNumberExtractor();
-        
-    private:    // Data
-        // Buffer for data
-        TBuf<KPhMatcherMaximumPhoneNumberLength> iMatchBuffer;
-
-        // DEPRECATED.
-        const TChar iKPhoneNumberExtraChar;
-
-        // Parser library
-        RLibrary iParserLibrary;
-
-        // Parser itself
-        CContactPhoneNumberParser* iParser;
-
-        // Pointer to CCntNumberParser
-        CCntNumberParser* iNumberParser;
-    };
-
-
-#endif //CCNTRAWPHONENUMBEREXTRACTOR_H
-
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/MPhCntMatch.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +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:  Abstact match result. 
-*
-*/
-
-
-#ifndef MPHCNTMATCH_H
-#define MPHCNTMATCH_H
-
-//  INCLUDES
-#include <cntdef.h>     // TContactItemId
-#include <badesca.h>
-
-class MVPbkContactLink;
-class CPhCntContactId;
-
-// CLASS DECLARATION
-
-/**
-*  Abstact match result. 
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class MPhCntMatch
-    {
-    public:
-        
-        /**
-        * Enumerates CLI types.
-        *
-        * ECliEmpty - not set/found.
-        * ECliNumber - phone number from contact.
-        * ECliName - name from contact.
-        * ECliCompany - company name from contact.
-        */
-        enum TCliType
-            {
-            ECliEmpty,  
-            ECliNumber,
-            ECliName,
-            ECliCompany
-            };
-            
-        enum TNumberType
-            {
-            ENone = 0,
-            EMobileNumber,
-            EStandardNumber,
-            EFaxNumber,
-            EPagerNumber,
-            EVoipNumber,
-            EVideoNumber,
-            EAssistantNumber,
-            ECarNumber,
-            EHomeNumber,
-            EWorkNumber            
-            }; 
-
-        /**
-        * To destroy the item. Must be called when item is not needed
-        * any more.
-        */
-        virtual void Release() = 0;
-
-        /**
-         * Contact id.
-         * @return Contact finder contact id.
-         */
-        virtual CPhCntContactId* ContactId() const = 0;
-        
-        /**
-        * Get the number type.
-        * @return Phonebook number type.
-        */
-        virtual TNumberType NumberType() const = 0;
-
-        /**
-        * Get CLI value.
-        * @param aCliText CLI is copied here. User must delete after usage.
-        * @return CLI type.
-        */
-        virtual TCliType Cli( HBufC*& aCliText ) const = 0;
-
-        /**
-        * First name field from contact.
-        * @return Field text. Empty if there isn't one specified.
-        */
-        virtual TPtrC FirstName() const = 0;
-
-        /**
-        * Last name field from contact.
-        * @return Field text. Empty if there isn't one specified.
-        */
-        virtual TPtrC LastName() const = 0;
-
-        /**
-        * Company name field from contact.
-        * @return Field text. Empty if there isn't one specified.
-        */
-        virtual TPtrC CompanyName() const = 0;
-
-        /**
-        * Number field from contact (from matched field).
-        * @return Field text. Empty if there isn't one specified.
-        */
-        virtual TPtrC Number() const = 0;
-
-        /**
-        * Ringing tone field from contact.
-        * @return Field text. Empty if there isn't one specified.
-        */
-        virtual TPtrC PersonalRingingTone() const = 0;
-
-        /**
-        * Find if contact belong to any contact groups given.
-        * @param aGroupArray Compared contact groups.
-        * @return ETrue is belogns at least one group from parameter.
-        */
-        virtual TBool BelongsToGroups( 
-            const CArrayFix<TContactItemId>& aGroupArray ) const = 0;
-
-        /**
-        * Returns text to speech text for this contact. Used in
-        * text to speech ringing tone.
-        * @since Series 60 3.0
-        * @return descriptor, ownership passed.
-        */
-        virtual HBufC* TextToSpeechTextL() const = 0;
-        
-        /**
-        * Call text field from contact.
-        * @since Series 60 3.1
-        * @return Field text. Empty if there isn't one specified.
-        */
-        virtual TPtrC CallText() const = 0;
-
-        /**
-        * Call image field from contact.
-        * @since Series 60 3.1
-        * @return Field text. Empty if there isn't one specified.
-        */
-        virtual TPtrC CallImage() const = 0;
-        
-        /**
-        * Can used to check if contact has a thumbnail image.
-        * @since Series 60 3.1
-        * @return ETrue if has thumbnail, otherwise EFalse.
-        */
-        virtual TBool HasThumbnailImage() const = 0;      
-        
-        /**
-        * Returns all dtmf numbers which are found from
-        * a single contact
-        * @Since Series S60 3.2
-        * @return array of DTMF numbers.
-        */
-        virtual CDesCArray& AllDtmfNumbers() const = 0;    
-
-    };
-
-#endif      // MPHCNTMATCH_H   
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/MPhoneCntPbkOwner.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:  Interface for Phonebook Owner implementation
-*
-*/
-
-
-#ifndef MPHONECNTPBKOWNER_H
-#define MPHONECNTPBKOWNER_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CPhCntContactManager;
-
-// CLASS DECLARATION
-
-/**
-*  Interface for Phonebook Owner implementation.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class MPhoneCntPbkOwner
-    {
-    public:
-        /**
-        * Gives intance of contact manager.
-        */
-        virtual CPhCntContactManager* ContactManager() const = 0;
-    };
-
-#endif      // MPHONECNTPBKOWNER_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntMmiSecurity.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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:  Provides interface to mmi initiated security operations.
-*
-*/
-
-
-#ifndef CPHCNTMMISECURITY_H
-#define CPHCNTMMISECURITY_H
-
-// INCLUDES
-#include    <e32base.h>
-
-// CLASS DECLARATION
-
-/**
-*  It provides interface to perform mmi initiated security operations.
-*
-*  The class shouldn't be destroyed during operation.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class CPhCntMmiSecurity
-    : public CBase
-    {
-    public: // New functions       
-
-        /**
-        * Enumerates different pin related commands.
-        *
-        * ECmdChangePin - change pin.
-        * ECmdChangePin2 - change pin2.
-        * ECmdUnblockPin - unblock pin.
-        * ECmdUnblockPin2 - unblock pin2.
-        */
-        enum TPinCommand
-            {
-            ECmdChangePin,
-            ECmdChangePin2,
-            ECmdUnblockPin,
-            ECmdUnblockPin2
-            };
-
-        /**
-        * Change pin code.
-        *
-        * @param aCommand command. 
-        * @param aCode old code. 
-        *       if command is change, then old pin.
-        *       if command is unblock, then puk.
-        * @param aNewPin new pin. 
-        * @param aVerifyNew verification of pin.
-        */
-        virtual TBool ChangePinL(
-            TPinCommand aCommand,
-            const TDesC& aCode,
-            const TDesC& aNewPin,
-            const TDesC& aVerifyNew ) = 0;
-
-        /**
-        * Enumerates different sim commands.
-        *
-        * ECmdOpenLock - opens lock.
-        * ECmdCloseLock - closes lock.
-        */
-        enum TSimCommand
-            {
-            ECmdOpenLock,
-            ECmdCloseLock
-            };
-
-        /**
-        * Change sim lock status.
-        *
-        * @param aCommand command. 
-        * @param aCode password.
-        * @param aType type of lock.
-        */
-        virtual TBool ChangeSimLockL(
-            TSimCommand aCommand,
-            const TDesC& aCode,
-            const TDesC& aType ) = 0;
-
-        /**
-        * Cancels whatever it is doing.
-        *
-        * If not doing anything, then does nothing.
-        */
-        virtual void Cancel() = 0;
-        
-    };
-
-#endif      // CPHCNTMMISECURITY_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntMmiSecurityImpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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:  Implementation of mmi security.
-*
-*/
-
-
-#ifndef CPHCNTMMISECURITYIMPL_H
-#define CPHCNTMMISECURITYIMPL_H
-
-// INCLUDES
-#include    "CPhCntMmiSecurity.h"
-
-// FORWARD DECLARATIONS
-class CManualSecuritySettings;
-
-// CLASS DECLARATION
-
-/**
-*  It is implementation of mmi security.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhCntMmiSecurityImpl )
-    : public CPhCntMmiSecurity
-    {
-    public:  // Constructors and destructor      
-                
-        /**
-        * Two-phased constructor.
-        * @return New instance
-        */
-        static CPhCntMmiSecurityImpl* NewL();
-        
-        /**
-        * Destructor.
-        */
-        ~CPhCntMmiSecurityImpl();
-
-    public: // From base classes
-
-        /**
-        * From CPhCntMmiSecurity
-        */
-        TBool ChangePinL(
-            TPinCommand aCommand,
-            const TDesC& aCode,
-            const TDesC& aNewPin,
-            const TDesC& aVerifyNew );
-
-        /**
-        * From CPhCntMmiSecurity
-        */
-        TBool ChangeSimLockL(
-            TSimCommand aCommand,
-            const TDesC& aCode,
-            const TDesC& aType );
-
-        /**
-        * From CPhCntMmiSecurity
-        */
-        void Cancel();
-
-    private:
-
-        /**
-        * Creates model.
-        *
-        * @return model.
-        */
-        CManualSecuritySettings& CreateModelL();
-
-        /**
-        * Destroyes model.
-        */
-        void DestroyModel();
-
-        /**
-        * Panics (in debug builds).
-        */
-        static void Panic();
-
-    private:    // Data
-        // Security model
-        CManualSecuritySettings* iModel;
-
-    };
-
-#endif      // CPHCNTMMISECURITYIMPL_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntProfileEngine.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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:  It provides Profile information.
-*
-*/
-
-
-#ifndef CPHCNTPROFILEENGINE_H
-#define CPHCNTPROFILEENGINE_H
-
-// INCLUDES
-#include    <e32base.h>
-#include    <MProfileEngine.h>
-
-// CLASS DECLARATION
-
-/**
-* Profile interface.
-*
-* @lib PhoneCntFinder
-* @since 2.0
-*/
-class CPhCntProfileEngine
-    : public CBase
-    {
-    public: // New functions
-
-        /**
-        * Refresh contents of profile.
-        */
-        virtual void RefreshL() = 0;
-
-        /**
-        * Checks if profile information has been
-        * retrieved.
-        *
-        * @return ETrue if it is allowed to call 
-        * the Profile method.
-        */
-        virtual TBool HasProfile() const = 0;
-
-        /**
-        * Returns active profile. It is valid
-        * after RefreshL has succeeded.
-        *
-        * @return active profile information.
-        */
-        virtual MProfile& Profile() = 0;
-
-        /**
-        * Sets active profile. It is valid
-        * after RefreshL has succeeded.
-        *
-        * @param aProfileId Id of the profile to be set.
-        */
-        virtual void SetActiveProfileL( 
-            const TInt aProfileId ) = 0;
-
-        /**
-         * Checks whether the given feature is supported by Profiles Engine.         
-         * @param aFeatureId the feature to be checked.
-         * @return ETrue if the given feature is supported, EFalse otherwise.
-         * @since Series60_2.8
-         */
-        virtual TBool IsFeatureSupported(
-            TProfileFeatureId aFeatureId ) const = 0;
-    };
-
-#endif      // CPHCNTPROFILEENGINE_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntProfileEngineImpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +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:  Concrete implementation of CPhCntProfileEngine interface.
-*
-*/
-
-
-#ifndef CPHCNTPROFILEENGINEIMPL_H
-#define CPHCNTPROFILEENGINEIMPL_H
-
-// INCLUDES
-#include    "CPhCntProfileEngine.h"
-
-// FORWARD DECLARATIONS
-class MProfile;
-class MProfileEngine;
-
-// CLASS DECLARATION
-
-/**
-* Profile interface.
-*
-* @lib PhoneCntFinder
-* @since 2.0
-*/
-NONSHARABLE_CLASS( CPhCntProfileEngineImpl )
-    : public CPhCntProfileEngine
-    {
-    public: // Constructors and destructors
-
-        /**
-        * Two-phased constructor.
-        * @return New instance
-        */
-        static CPhCntProfileEngineImpl* NewL();
-
-        /**
-        * Destructor.
-        */
-        ~CPhCntProfileEngineImpl();
-
-    public: // From base classes
-
-        /**
-        * From CPhCntProfileEngine, refresh contents 
-        * of profile.
-        */
-        virtual void RefreshL();
-
-        /**
-        * From CPhCntProfileEngine, checks if profile 
-        * information has been retrieved.
-        *
-        * @return ETrue if it is allowed to call 
-        * the Profile method.
-        */
-        virtual TBool HasProfile() const;
-
-        /**
-        * From CPhCntProfileEngine, returns active 
-        * profile. It is valid after RefreshL has 
-        * succeeded.
-        *
-        * @return active profile information.
-        */
-        virtual MProfile& Profile();
-
-        /**
-        * Sets active profile. It is valid
-        * after RefreshL has succeeded.
-        *
-        * @param aProfileId Id of the profile to be set.
-        */
-        virtual void SetActiveProfileL( 
-            const TInt aProfileId );
-
-        /**
-         * Checks whether the given feature is supported by Profiles Engine.         
-         * @param aFeatureId the feature to be checked.
-         * @return ETrue if the given feature is supported, EFalse otherwise.
-         * @since Series60_2.8
-         */
-        virtual TBool IsFeatureSupported(
-            TProfileFeatureId aFeatureId ) const;
-
-    private:
-        // Profile engine
-        MProfileEngine* iEngine;
-        // Profile
-        MProfile* iProfile;
-
-    };
-
-#endif      // CPHCNTPROFILEENGINEIMPL_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntRfsHandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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:  Provides interface to restore factory settings.
-*
-*/
-
-
-#ifndef CPHCNTRFSHANDLER_H
-#define CPHCNTRFSHANDLER_H
-
-// INCLUDES
-#include    <e32base.h>
-
-// CLASS DECLARATION
-
-/**
-*  It provides interface to restore factory settings.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class CPhCntRfsHandler
-    : public CBase
-    {
-    public: // New functions       
-
-        /**
-        * It enumerates different types of commands.
-        *
-        * ERfsCmdActivateNormal - normal rfs
-        * ERfsCmdActivateDeep - deep rfs
-        * ERfsCmdCancel - cancel whatever you are doing
-        */
-        enum TRfsCommand
-            {
-            ERfsCmdActivateNormal,
-            ERfsCmdActivateDeep,
-            ERfsCmdCancel
-            };
-        
-        /**
-        * Perform command.
-        *
-        * @param aCommand command to be performed.
-        */
-        virtual void ProcessCommandL( TRfsCommand aCommand ) = 0;
-
-    };
-
-#endif      // CPHCNTRFSHANDLER_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntRfsHandlerImpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  Implementation of restore factory settings.
-*
-*/
-
-
-#ifndef CPHCNTRFSHANDLERIMPL_H
-#define CPHCNTRFSHANDLERIMPL_H
-
-// INCLUDES
-#include    "CPhCntRfsHandler.h"
-
-// FORWARD DECLARATIONS
-class CRfsHandler;
-
-// CLASS DECLARATION
-
-/**
-*  It is implementation of restore factory settings interface.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhCntRfsHandlerImpl )
-    : public CPhCntRfsHandler
-    {
-    public:  // Constructors and destructor      
-                
-        /**
-        * Two-phased constructor.
-        * @return New instance
-        */
-        static CPhCntRfsHandlerImpl* NewL();
-        
-        /**
-        * Destructor.
-        */
-        ~CPhCntRfsHandlerImpl();
-
-    public: // From base classes
-
-        /**
-        * From CPhCntRfsHandlerImpl
-        */
-        void ProcessCommandL( TRfsCommand aCommand );
-
-    private:    // Data
-        // Restory factory settings component
-        CRfsHandler* iRfsHandler;
-    };
-
-#endif      // CPHCNTRFSHANDLERIMPL_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntSingleItemFetch.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +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:  Interface to make single item fetches.
-*
-*/
-
-
-#ifndef CPHCNTSINGLEITEMFETCH_H
-#define CPHCNTSINGLEITEMFETCH_H
-
-// INCLUDES
-#include    <e32base.h>
-#include    <cntdef.h>
-#include <mphcntmatch.h>
-
-class MVPbkContactLink;
-class CPhCntContactId;
-
-class CPhCntSelection : public CBase
-    {
-public:
-        
-    /**
-     * @since s60 v3.2
-     * @return Number selected by user.
-     */
-    virtual const TDesC& Number() const = 0;
-    
-    /**
-     * @since s60 v3.2
-     * @return Contact identifier. Identifies the contact
-     * where user selected the number.
-     */
-    virtual const CPhCntContactId& ContactId() const = 0;
-    
-    };
-        
-// CLASS DECLARATION
-
-/**
-*  It provides interface to make phone app single item fetches.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class CPhCntSingleItemFetch
-    : public CBase
-    {
-    public: // New functions       
-
-        /**
-        * It enumerates different types of fetches.
-        *
-        * EFetchDtmf          - fetch from dtmf
-        * EFetchNewCall       - fetch from new call query
-        * EFetchNewPSCall     - fetch from new PS call query
-        */
-        enum TFetchType
-            {
-            EFetchDtmf,
-            EFetchNewCall,
-            EFetchNewPSCall
-            };
-
-		/**
-		* Phone number filtering for the FetchPhoneNumberLD implementation
-		* 
-		* ECallPhoneNumber		- CS
-        * ECallVoip,          	- PS
-        * ECallVideoNumber,		- Video 
-		*/
-		enum TCallType
-            {
-            ECallPhoneNumber, 
-            ECallVoip, 
-            ECallVideoNumber 
-            };
-
-        /**
-        * It defines structure for result.
-        */
-        struct TFetchParams
-            {
-            public: // In
-
-                // Fetch type.
-                TFetchType iType;
-
-                // Resource for softkeys.
-                TInt iCbaResource;
-
-            public:
-
-                // Buffer for string.
-                TDes* iString;
-
-                MPhCntMatch::TNumberType iNumberType;
-                
-                CPhCntContactId* iContactId;
-            };
-
-        /**
-        * Perform fetch.
-        *
-        * Destroyes itself always after fetch. In successful case, target 
-        * descriptor will contain result. Otherwise it must be considered 
-        * undefined.
-        *
-        * You can also cancel request by destroying the instance.
-        *
-        * @param aParams it contains parameters.
-        * @return error code,
-        *       KErrNone iff fetch succeeded,
-        *       KErrCancel iff fetch was cancelled,
-        *       KErrGeneral iff result was invalid,
-        *       KErrOverflow iff result was too long
-        *
-        * If method returns error, then contents of aResult are undefined.
-        */
-        virtual TInt FetchLD( 
-            TFetchParams& aParams ) = 0;
-
-		/**
-		* Performs a fetch.
-		*
-		* A contact link is used for fetching and as a search result 
-		* a phone number is returned.
-		*
-		* Destroyes itself always after fetch. In successful case, target 
-        * descriptor will contain result. Otherwise it must be considered 
-        * undefined.
-        *
-        * You can also cancel request by destroying the instance.
-        *
-		* @param aContactLink Contact link.
-		* @param aCallType Number type.
-		* @param aNumber Found phone number. Needs to be NULL before the call.
-		* @param aFieldLink Field link to user selected number. Needs to be NULL, before the call.
-		* @return error code,
-        *       KErrNone iff fetch succeeded,
-        *       KErrCancel iff fetch was cancelled,
-        *       KErrGeneral iff result was invalid,
-        *       KErrOverflow iff result was too long        
-        *
-        * If method returns error, then contents of aResult are undefined.
-		*/
-		virtual TInt FetchPhoneNumberLD( 
-			const TDesC8& aContactLink,		    
-			const CPhCntSingleItemFetch::TCallType aCallType,
-		    HBufC*& aNumber,
-		    HBufC8*& aFieldLink ) = 0;
- 
-        /**
-         * Shows dialog for user to select a phone number for other
-         * purposes than making a call. The left softkey is 'Select'.
-         *
-         * Request can be canceled by deleting instance of this class.         
-         *
-         * @leave System wide error code
-         *
-         * @since S60 3.2
-		 * @returns The selection made by user. Ownership is transferred to 
-		 * caller. Note that the selection may be NULL, if user canceled the 
-		 * the dialog.
-		 */
-        virtual CPhCntSelection* SelectPhoneNumberLD() = 0;
-         
-    };
-
-#endif      // CPHCNTSINGLEITEMFETCH_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntSingleItemFetchImpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +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:  Implementation of single item fetch interface.
-*
-*/
-
-
-#ifndef CPHCNTSINGLEITEMFETCHIMPL_H
-#define CPHCNTSINGLEITEMFETCHIMPL_H
-
-// INCLUDES
-#include    "CPhCntSingleItemFetch.h"
-
-// FORWARD DECLARATIONS
-class CPbkSingleItemFetch;
-class CPbkSingleItemFetchDlg;
-class CPbkFieldIdArray;
-class MPhoneCntPbkOwner;
-class CPhCntSingleCallFetchDlg;
-class CPbkContactItem;
-class TPbkContactItemField;
-
-// CLASS DECLARATION
-
-/**
-*  It is implementation of single item fetch interface.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhCntSingleItemFetchImpl )
-    : public CPhCntSingleItemFetch
-    {
-    public:  // Constructors and destructor      
-                
-        /**
-        * Two-phased constructor.
-        *
-        * @param aPbkOwner phonebook owner interface.
-        * @return new instance of the class.
-        */
-        static CPhCntSingleItemFetchImpl* NewL(
-            MPhoneCntPbkOwner& aPbkOwner );
-        
-        /**
-        * Destructor.
-        */
-        ~CPhCntSingleItemFetchImpl();
-
-    public: // Functions from base classes
-        
-        /**
-        * From CPhCntSingleItemFetch
-        */
-        TInt FetchLD( TFetchParams& aParams );
-        
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CPhCntSingleItemFetchImpl(
-            MPhoneCntPbkOwner& aPbkOwner );
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Fetch DTMF via single item fetch.
-        *
-        * @param aParams it contains parameters.
-        */
-        TInt FetchDtmfLD( TFetchParams& aParams );
-
-        /**
-        * Fetch new phonenumber field via single item fetch.
-        *
-        * @param aParams it contains parameters.
-        */
-        TInt FetchNewCallLD( TFetchParams& aParams );
-
-        /**
-        * Generates array of field id for DTMF fetch.
-        */
-        CPbkFieldIdArray* GenerateFieldIdArrayLC();
-
-        /**
-        * Pushes cleanup item to stack that resets some pointers.
-        */
-        void CleanupResetPtrPushL();
-
-        /**
-        * Resets iFetch & iDestroyed pointers.
-        */
-        static void ResetPointers( TAny* aAny );
-
-        /**
-        * Extracts result.
-        *
-        * @param aParams result will be stored there.
-        * @param aItem contact item.
-        * @param aField selected field.
-        * @return error code.
-        */
-        static TInt ExtractResult( 
-            TFetchParams& aParams,
-            const CPbkContactItem* aItem,
-            const TPbkContactItemField* aField );
-
-    private:    // Data
-
-        // Ref to pbk owner.
-        MPhoneCntPbkOwner& iPbkOwner;
-        
-        // Pointer to boolean flag, will be updated to ETrue upon destruction.
-        TBool* iDestroyed;
-
-        // Owned: single item fetch
-        CPbkSingleItemFetchDlg* iFetch;        
-
-        // Owned: single entry fetch
-        CPhCntSingleCallFetchDlg* iEntryFetch;
-
-        // Type of fetch
-        CPhCntSingleItemFetch::TFetchType iType;
-
-    };
-
-#endif      // CPHCNTSINGLEITEMFETCHIMPL_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntSpeedDialMonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +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:  It defines interface for speed dial for phone app.
-*
-*/
-
-
-#ifndef CPHCNTSPEEDDIALMONITOR_H
-#define CPHCNTSPEEDDIALMONITOR_H
-
-//  INCLUDES
-#include    <e32base.h>
-#include <mphcntmatch.h>
-
-// CONSTANTS
-const TInt KPhCntContactItemNotFound = -1;
-const TInt KPhCntInvalidIndex = -1;
-
-// CLASS DECLARATION
-class CSpdiaControl;
-class CEikImage;
-class MVPbkContactLink;
-class CPhCntContactId;
-
-/**
-*  It defines interface for speed dial for phone app.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhCntSpeedDialMonitor )
-    : public CBase
-    {
-    public: // New functions
-
-        /**
-        * Structure holding speed dial information.
-        */
-        struct TSpdDialFieldInfo
-            {
-            CPhCntContactId* iContactId;
-            
-            MPhCntMatch::TNumberType iNumberType;
-            
-            // Thumbnail index of a grid array.
-            TInt iThumbIndex;
-            };
-        
-        /**
-        * Gets the speed dial number.
-        *
-        * @param aSpeedDialPosition a speed dial position
-        * @return aPhoneNumber phone number
-        * @return error code, KErrNone if success
-        */
-        virtual TInt GetSpeedDialFieldL( 
-            TInt aSpeedDialPosition, 
-            TDes& aPhoneNumber ) = 0;
-
-        /**
-        * Gets the speed dial number.
-        *
-        * @param aSpeedDialPosition a speed dial position
-        * @return aPhoneNumber phone number
-        * @return aFieldInfo speed dial contact information
-        * @return error code, KErrNone if success
-        */
-        virtual TInt GetSpeedDialFieldL(
-            TInt aSpeedDialPosition, 
-            TDes& aPhoneNumber,
-            TSpdDialFieldInfo& aFieldInfo ) = 0;
-
-        /**
-        * Assigns phone number to speed dial location
-        *
-        * @param aSpeedDialPosition the speed dial position
-        * @return aPhoneNumber If the number is assigned successfully, phone
-        *         return the phone number
-        * @return KErrNone if successfully assigned, KErrNotFound if user
-        *         cancel the assignation
-        */
-        virtual TInt AssignSpeedDialFieldL(
-            TInt aSpeedDialPosition,
-            TDes& aPhoneNumber ) = 0;
-
-        /**
-        * Assigns phone number to speed dial location
-        *
-        * @param aSpeedDialPosition the speed dial position
-        * @return aPhoneNumber If the number is assigned successfully, phone
-        *         return the phone number
-        * @return aFieldInfo speed dial contact information
-        * @return KErrNone if successfully assigned, KErrNotFound if user
-        *         cancel the assignation
-        */
-        virtual TInt AssignSpeedDialFieldL(
-            TInt aSpeedDialPosition,
-            TDes& aPhoneNumber,
-            TSpdDialFieldInfo& aFieldInfo ) = 0;
-
-        /**
-        * Cancel speed dialing assignment process
-        */
-        virtual void Cancel() = 0;
-
-        /**
-        * Create number type icon from phone book view
-        * @param aNumberType the number type
-        * @return returns a object of CEikImage
-        */
-        virtual CEikImage* CreateNumberTypeIconLC( TInt aNumberType ) = 0;
-
-    };
-
-#endif      // CPHCNTSPEEDDIALMONITOR_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntThumbnailLoader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /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:  Abstract interface for loading thumbail images.
-*
-*/
-
-
-#ifndef CPHCNTTHUMBNAILLOADER_H
-#define CPHCNTTHUMBNAILLOADER_H
-
-// INCLUDES
-#include    <e32base.h>
-#include    <cntdef.h>
-
-class CPhCntContactId;
-
-// CONSTANTS
-// MACROS
-#define KPhCntThumbnailNullId 0
-
-// CLASS DECLARATION
-
-/**
-*  It is abstract interface for loading thumbail images.
-*
-*  Note that it is considered that loading of thumbnail images is not critical.
-*  Thus, if something fails during loading procedure, then we ignore the whole 
-*  thumbnail.
-*
-*  However, observer will be informed of both success and failure.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhCntThumbnailLoader )
-    : public CBase
-    {
-    public: // New functions
-
-        /**
-        * It defines type for thumbnail ids.
-        */
-        typedef const TAny* TThumbnailId;
-
-        /**
-        * Loads thumbnail asynchronously.
-        *
-        * You can call this to load several images. Images are loaded in
-        * FIFO order.
-        *
-        * @param aId id. if id is already in use, it's canceled. It will
-        *            be zeroed if loading failed to the beginning.
-        * @param aContactId contact id. Copies the contact id.
-        * @return error code.
-        */
-        virtual TInt Load( TThumbnailId& aId, const CPhCntContactId& aContactId ) = 0;
-        
-        /**
-        * Cancels loading of thumbnail with given id.
-        *
-        * @param aId id to cancel.
-        */
-        virtual void Cancel( TThumbnailId aId ) = 0;  
-        
-    };
-
-#endif      // CPHCNTTHUMBNAILLOADER_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/CPhCntThumbnailLoaderImpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +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:  Concrete interface for loading thumbail images.
-*
-*/
-
-
-#ifndef CPHCNTTHUMBNAILLOADERIMPL_H
-#define CPHCNTTHUMBNAILLOADERIMPL_H
-
-// INCLUDES
-#include    "CPhCntThumbnailLoader.h"
-#include    "mphcntthumbnailloader.h"
-
-// FORWARD DECLARATIONS
-class MPhoneCntPbkOwner;
-class MPhCntThumbnailLoaderObserver;
-class CPbkContactItem;
-class CPbkThumbnailManager;
-class MPbkThumbnailOperation;
-class CPhCntContactId;
-
-// CLASS DECLARATION
-
-/**
-*  It loads thumbail images.
-*
-*  Note that it is considered that loading of thumbnail images is not critical.
-*  Thus, if something fails during loading procedure, then we ignore the whole 
-*  thumbnail.
-*
-*  However, observer will be informed of both success and failure.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-NONSHARABLE_CLASS( CPhCntThumbnailLoaderImpl )
-    : public CPhCntThumbnailLoader,
-      private MPhCntLoaderObserver
-    {
-    public:  // Constructors and destructor      
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CPhCntThumbnailLoaderImpl* NewL(
-            MPhCntThumbnailLoaderObserver& aObserver,
-            MPhoneCntPbkOwner& aPbkOwner,
-            MPhCntThumbnailLoader& aLoader );
-        
-        /**
-        * Destructor.
-        */
-        ~CPhCntThumbnailLoaderImpl();
-
-    public: // Functions from base classes
-
-        /**
-        * From CPhCntThumbnailLoader
-        */
-        TInt Load( TThumbnailId& aId, const CPhCntContactId& aContactId );
-        
-        /**
-        * From CPhCntThumbnailLoader
-        */
-        void Cancel( TThumbnailId aId );
-        
-        /**
-         * Indication that loading has been made.
-         * 
-         * @since S60 v3.0
-         * @param Pointer of bitmap loaded, ownership is given to caller.
-         * May be null if error occured during loading.
-         * @param aError Error code of loading.
-         */
-        void LoadingCompleted( CFbsBitmap* aBitmap, TInt aError );
-       
-    private:
-
-        /**
-        * It contains necessary information to load a thumbnail.
-        */
-        struct TThumbnailInfo
-            {
-            // It contains index.
-            TThumbnailId iId;
-
-            // Identifies the contact, which thumbnail is going to be loaded.
-            CPhCntContactId* iContactId;
-            };
-
-        /**
-        * It enumerates all states.
-        */
-        enum TState
-            {
-            ELoadFromContact,
-            EProcessResult
-            };
-
-        /**
-        * C++ constructor.
-        */
-        CPhCntThumbnailLoaderImpl(
-            MPhCntThumbnailLoaderObserver& aObserver,
-            MPhoneCntPbkOwner& aPbkOwner,
-            MPhCntThumbnailLoader& aLoader );
-
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL( MPhoneCntPbkOwner& aPbkOwner );
-
-        /**
-        * Attempts to start loading of thumbnail.
-        */
-        void AttemptLoadL( 
-            TThumbnailId aId, 
-            const CPhCntContactId& aContactId );
-
-        /**
-        * Starts loading next thumbnail.
-        */
-        void StartLoadL();
-
-        /**
-        * Cancels loading.
-        */
-        void CancelLoad();
-
-        /**
-        * Processes the result.
-        */
-        void ProcessResultL();
-
-        /**
-        * Finds position in array by thumbnail id.
-        *
-        * @param aId id.
-        * @return position or KErrNotFound if not found.
-        */
-        TInt FindById( TThumbnailId aId );
-
-        /**
-        * Starts loading. If it failed, then simply inform
-        * observer about failure.
-        */
-        void DoStartLoad();
-
-        /**
-        * Handles start.
-        */
-        void HandleStartL();
-        
-        /**
-        * Handles start; calls HandleStartL in trap harnness.
-        */
-        void HandleStart();
-
-        /**
-        * Starts bridge.
-        */ 
-        void Start( TState aState );
-
-        /**
-        * Idle callback.
-        */
-        static TInt DoStart( TAny* aAny );
-        
-        /**
-        * It gives thumbnail to the observer.
-        *
-        * Ownership of the bitmap is transferred to the client.
-        *
-        * @param aResult error code.
-        * @param aBitmap bitmap or NULL if no bitmap loaded.
-        */
-        void Notify( 
-            TThumbnailId aId, 
-            TInt aResult, 
-            CFbsBitmap* aBitmap );
-
-        /**
-        * Clears all pbk stuff.
-        */
-        void ClearPbk( TBool aMore = ETrue );
-
-        /**
-        * Compares ids of two structure.
-        *
-        * @return ETrue iff aFirst.iId == aSecond.iId.
-        */
-        static TBool CompareIds( 
-            const TThumbnailInfo& aFirst,
-            const TThumbnailInfo& aSecond );
-
-        /**
-        * It is enumeration of all panic reasons.
-        */
-        enum TPanicReason
-            {
-            EPanicInvariant,
-            EPanicInvalidState
-            };
-
-        /**
-        * Panics.
-        *
-        * @param aReason reason for panic.
-        */
-        static void Panic( TPanicReason aReason );
-        
-        void ClearThumbnailArray();
-        
-        void RemoveThumbnailArrayEntry( TInt aIndex );
-        
-    private:    // Data
-        
-        /**
-        * It is type for array of thumbnail info.
-        */
-        typedef RArray< TThumbnailInfo > RThumbnailArray;
-
-        // Ref: Observer.
-        MPhCntThumbnailLoaderObserver& iObserver;       
-
-        // Owned: array of thumbnails to load.
-        RThumbnailArray iArray;
-
-        // Owned: active bridge
-        CIdle* iBridge;
-
-        // INFORMATION OF LOADING..
-        
-        // Current state.
-        TState iState;
-
-        // Currently loading. System is loading iff iCurrent != KNullId.
-        TThumbnailId iCurrent;                
-
-        // Current bitmap.
-        CFbsBitmap* iBitmap;
-        
-        /**
-         * Thumbnail loader.
-         * Own.
-         */
-        MPhCntThumbnailLoader* iLoader;
-
-    };
-
-#endif      // CPHCNTTHUMBNAILLOADERIMPL_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/Misc/MPhCntThumbnailLoaderObserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:  Defines interface for the observer of thumbnail loader.
-*
-*/
-
-
-#ifndef MPHCNTTHUMBNAILLOADEROBSERVER_H
-#define MPHCNTTHUMBNAILLOADEROBSERVER_H
-
-// INCLUDES
-#include    <e32base.h>
-#include    "CPhCntThumbnailLoader.h"
-
-// FORWARD DECLARATIONS
-class CFbsBitmap;
-
-// CLASS DECLARATION
-
-/**
-*  It defines interface for the observer of thumbnail loader.
-*
-*  @lib PhoneCntFinder
-*  @since 1.0
-*/
-class MPhCntThumbnailLoaderObserver
-    {
-    public: // New functions
-
-        /**
-        * It is called when thumbnail loading has been completed.
-        *
-        * Ownership of the bitmap is transferred to the observer.
-        *
-        * @param aId id, never KNullId.
-        * @param aResult error code.
-        * @param aBitmap bitmap.
-        */
-        virtual void MpctloThumbnailLoaded(
-            CPhCntThumbnailLoader::TThumbnailId aId,
-            TInt aResult, 
-            CFbsBitmap* aBitmap ) = 0;
-       
-    };
-
-#endif      // MPHCNTTHUMBNAILLOADEROBSERVER_H
-            
-// End of File
--- a/phoneengine/PhoneCntFinder/inc/PhCntPanic.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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:  Panic method
-*
-*/
-
-
-#ifndef PHCNTPANIC
-#define PHCNTPANIC
-
-#include <e32std.h>
-
-enum TPhCntPanic 
-    {
-    EPhCntOperationAlreadyOngoing,
-    EPhCntServiceRequestActiveAlready
-    };
-
-/**
- * Panics the current thread with panic code.
- * @since S60 v3.1
- * @param aPanicCode Panic code used with panic.
- */
-void PhCntPanic( TPhCntPanic aPanicCode );
-
-
-#endif // PHCNTPANIC
--- a/phoneengine/PhoneCntFinder/inc/PhCntTrace.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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:  Traces
-*
-*/
-
-
-#ifndef PHCNTTRACE_H
-#define PHCNTTRACE_H
-
-#include <e32std.h>
-
-//#define PHCNT_TRACE
-
-#ifdef PHCNT_TRACE
-
-#pragma message("DEBUG PRINTS ON")
-
-#define PRINTF( format, data ) RDebug::Print( _L(format), data );
-#define PRINT( format ) RDebug::RawPrint( _L(format) );
-
-#else
-
-#define PRINTF( format, data )
-#define PRINT( format ) 
-
-#endif // PHCNT_TRACE
-
-#endif // PHCNTTRACE_H
--- a/phoneengine/PhoneCntFinder/inc/cphcntcontactid.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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:  Abstract base class for contact identifier.
-*
-*/
-
-
-#ifndef CPHCNTCONTACTID_H
-#define CPHCNTCONTACTID_H
-
-#include <e32base.h>
-#include <cntdef.h>
-
-/**
- *  Abstract base class for identifying a single contact
- *  in contact stores.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-class CPhCntContactId : public CBase
-    {
-public:
-
-    /**
-     * Clones contact id.
-     *
-     * @since S60 v3.1
-     * @return New cloned instance of contact id.
-     */
-     virtual CPhCntContactId* CloneL() const  = 0;
-     
-     /**
-      * Invalidates this contact id. After this call, 
-      * IsValid call will return false.
-      * @since S60 v3.1
-      */
-     virtual void Invalidate() = 0;
-     
-     /**
-      * Is contact id valid.
-      * 
-      * @since S60 v3.1
-      * @return ETrue if contact id is valid.
-      */
-     virtual TBool IsValid() const = 0;
-     
-     /**
-      * Gives contact item id. If this id is not valid, then
-      * contact item id given is not valid.
-      * 
-      * @since S60 v3.1
-      * @return Contact item id.
-      */
-     virtual TContactItemId ContactId() const = 0;
-     
-     /**
-      * Packs Virtual phonebook contact link to descriptor.
-      * If this link is not valid, then packed data is not valid.
-      *
-      * @since S60 v3.1
-      * @return Packed virtual phonebook contact link.
-      */
-      virtual HBufC8* PackLC() const = 0;
-    
-      virtual ~CPhCntContactId() {};
-    };
-
-#endif // CPHCNTCONTACTID_H
--- a/phoneengine/PhoneCntFinder/inc/cphcntpbkcontactid.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +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:  Contact id used with contact engine.
-*
-*/
-
-
-#ifndef CPHCNTPBKCONTACTID_H
-#define CPHCNTPBKCONTACTID_H
-
-#include "cphcntcontactid.h"
-
-/**
- *  Contact id used with contact engine.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntPbkContactId ): public CPhCntContactId
-    {
-public:
-
-    static CPhCntPbkContactId* NewL( TInt aContactId );
-
-    static CPhCntPbkContactId* NewLC( TInt aContactId );
-
-    virtual ~CPhCntPbkContactId();
-
-    /**
-     * Gives the contact id used with contact engine.
-     *
-     * @since S60 v3.1
-     * @return Contact id.
-     */
-    TContactItemId ContactId() const;
-
-// from base class CPhCntContactId
-
-    /**
-     * From CPhCntContactId
-     * Clones contact id.
-     *
-     * @since S60 v3.1
-     * @return New cloned instance of this contact id.
-     */
-    CPhCntContactId* CloneL() const;
-    
-    /**
-     * From CPhCntContactId
-     * Invalidates this contact id.
-     *
-     * @since S60 v3.1
-     */
-    void Invalidate();
-    
-    /**
-     * From CPhCntContactId
-     * Determines if this contact id is valid contact id.
-     *
-     * @since S60 v3.1
-     * @return ETrue if contact id is valid.
-     */
-    TBool IsValid() const;
-    
-    /**
-     * From CPhCntContactId
-     * Returns null.
-     *
-     * @since S60 v3.1
-     * @return null.
-     */
-    HBufC8* PackLC() const;
-    
-private:
-
-    CPhCntPbkContactId( TInt aContactId );
-
-private: // data
-
-    /**
-     * Contact identifier.
-     */
-    TInt iContactId;
-
-    };
-
-#endif // CPHCNTPBKCONTACTID_H
--- a/phoneengine/PhoneCntFinder/inc/cphcntpbksaveaddtoname.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +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:  Add number to existing name and save the number.
-*
-*/
-
-
-#ifndef CPHCNTVPBKSAVEADDTONAME_H
-#define CPHCNTVPBKSAVEADDTONAME_H
-
-#include <e32base.h>
-
-#include "CPhoneCntSaveAddToName.h"
-
-/**
- *  Add number to existing name and save the number.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntPbkSaveAddToName )
-    : public CBase, 
-      public MPhoneCntSaveAddToName
-    {
-public: // New functions       
-    /**
-    * Two-phased constructor.
-    * @param aPbkOwner Phonebook owner.
-    * @return new instance of the class.
-    */
-    static CPhCntPbkSaveAddToName* NewL( MPhoneCntPbkOwner& aPbkOwner );
-
-    /**
-    * Destructor.
-    */
-    ~CPhCntPbkSaveAddToName();
-
-public : // Functions from base classes
-
-    /**
-    * From MPhoneCntSaveAddToName
-    */
-    void HandlePbkOperationL(
-        const TCntPhoneNumber& aTelNumber,
-        TInt aCommand );
-    
-    /**
-    * From MPhoneCntSaveAddToName
-    * @since 3.0
-    */
-    void HandlePbkOperationL(
-        const TCntPhoneNumber& aTelNumber,
-        TInt aCommand,
-        TCntNumberType aNumberType );
-        
-private:
-    
-    /**
-    * C++ constructor.
-    */
-    CPhCntPbkSaveAddToName( MPhoneCntPbkOwner& aPbkOwner );
-
-    /**
-    * Symbian OS constructor.
-    */
-    void ConstructL();
-    
-private://data
-    // Phoneboo owner
-    MPhoneCntPbkOwner& iPbkOwner;
-
-    // Phonebook saver
-    CPbkDataSaveAppUi* iPbkDataSaveAppUi;
-    };
-
-
-#endif // CPHCNTVPBKSAVEADDTONAME_H
--- a/phoneengine/PhoneCntFinder/inc/cphcntpbkthumbnailloader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +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:  Loads thumbnail from contact engine.
-*
-*/
-
-
-#ifndef CPHCNTPBKTHUMBNAILLOADER_H
-#define CPHCNTPBKTHUMBNAILLOADER_H
-
-#include <e32base.h>
-#include <MPbkThumbnailOperationObservers.h>
-
-#include "cphcntthumbnailloaderbase.h"
-
-class MPhoneCntPbkOwner;
-class CPhCntContactId;
-class MPbkThumbnailOperation;
-class CPbkContactItem;
-class CPbkThumbnailManager;
-class MPbkThumbnailGetObserver;
-
-
-/**
- *  Loads thumbnail from contact engine.
- *
- *  @lib S60 PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntPbkThumbnailLoader ) : 
-    public CPhCntThumbnailLoaderBase,
-    private MPbkThumbnailGetObserver
-    {
-public:
-    
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     * @param aOwner Owner of phone book.
-     */
-    static CPhCntPbkThumbnailLoader* NewL( MPhoneCntPbkOwner& aOwner );
-
-    /**
-     * Static constructor.
-     *
-     * @since S60 v3.1
-     * @param aOwner Owner of phone book.
-     */
-    static CPhCntPbkThumbnailLoader* NewLC( MPhoneCntPbkOwner& aOwner );
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    virtual ~CPhCntPbkThumbnailLoader();
-
-// From base class CPhCntThumbnailLoaderBase
-    
-    /**
-     * Starts the loading of thumbnail from contact, which is 
-     * identified by contact id.
-     *
-     * @since S60 v3.1
-     * @param aContactId Contact id, which identifies the contact where thumbnail
-     * is loaded.
-     */
-     void DoLoadL( const CPhCntContactId& aContactId );
-     
-// From base class MPhCntThumbnailLoader
-        
-    /**
-     * From MPhCntThumbnailLoader
-     * 
-     * @since S60 v3.1
-     * @see MPhCntThumbnailLoader
-     */
-    void Release();
-    
-    /**
-     * From MPhCntThumbnailLoader
-     * 
-     * @since S60 v3.1
-     * @see MPhCntThumbnailLoader
-     */
-    void Cancel();
-     
-private:
-
-    /**
-     * From MPbkThumbnailGetObserver, called when 
-     * thumbnail loading is completed.
-     *
-     * @param aOperation the completed operation.
-     * @param aBitmap The loaded bitmap. Callee is responsible of 
-     *                the bitmap.
-     */
-    void PbkThumbnailGetComplete(
-        MPbkThumbnailOperation& aOperation, 
-        CFbsBitmap* aBitmap );
-
-    /**
-     * From MPbkThumbnailGetObserver, called if 
-     * the thumbnail loading fails.
-     *
-     * @param aOperation the failed operation.
-     * @param aError error code of the failure.
-     */
-    void PbkThumbnailGetFailed(
-        MPbkThumbnailOperation& aOperation, 
-        TInt aError );
-   
-private:
-
-    CPhCntPbkThumbnailLoader( 
-        MPhoneCntPbkOwner& aOwner );
-
-    void ConstructL();
-    
-    /**
-     * Clears all pbk stuff.
-     */
-    void ClearPbk( TBool aMore = ETrue );
-
-private: // data
-    
-    /**
-     * Owner of contact access.
-     * Not own.
-     */
-    MPhoneCntPbkOwner& iOwner;
-   
-    /**
-     * Thumnail loading operation.
-     * own.
-     */
-    MPbkThumbnailOperation* iPbkGetOp;
-    
-    /**
-     * Contact.
-     * Own.
-     */
-    CPbkContactItem* iPbkItem;
-    
-    /**
-     * Thumbnail manager.
-     * Own.
-     */
-    CPbkThumbnailManager* iPbkManager;
-    };
-
-
-#endif // CPHCNTPBKTHUMBNAILLOADER_H
--- a/phoneengine/PhoneCntFinder/inc/cphcntthumbnailloaderbase.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +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:  Base class for concrete thumbnailloaders.
-*
-*/
-
-
-#ifndef CPHCNTTHUMBNAILLOADERBASE_H
-#define CPHCNTTHUMBNAILLOADERBASE_H
-
-
-#include <e32base.h>
-#include "mphcntthumbnailloader.h"
-
-/**
- *  Base class for thumbnail loaders.
- *
- *  Holds the loading observer and offers interface 
- *  for notifying the observer.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CPhCntThumbnailLoaderBase ) : 
-    public CBase,
-    public MPhCntThumbnailLoader
-    {
-public:
-
-// from base class MPhCntThumbnailLoader
-
-     /**
-      * From MPhCntThumbnailLoader.
-      *
-      * @since S60 v3.1
-      * @see MPhCntThumbnailLoader
-      */
-    void LoadL( 
-        const CPhCntContactId& aContactId,
-        MPhCntLoaderObserver& aLoadingObserver );
-
-protected:
-
-    virtual ~CPhCntThumbnailLoaderBase();
-
-    CPhCntThumbnailLoaderBase();
-    
-    /**
-     * Notifies the observer.
-     */
-    void NotifyObserver( CFbsBitmap* aBitmap, TInt aError );
-    
-private:
-
-    /**
-     * Template method, for doing the actual loading in base class.
-     */
-    virtual void DoLoadL( const CPhCntContactId& aContactId ) = 0;
-    
-private: // Data
-
-    /** 
-     * Observer of loading thumbnail.
-     * Not own.
-     */
-    MPhCntLoaderObserver* iLoadingObserver;
-
-    };
-
-#endif // CPHCNTTHUMBNAILLOADERBASE_H
--- a/phoneengine/PhoneCntFinder/inc/mphcntthumbnailloader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +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 loading thumbnails from contacts.
-*
-*/
-
-
-#ifndef MPHCNTTHUMBNAILLOADER_H
-#define MPHCNTTHUMBNAILLOADER_H
-
-class CPhCntContactId;
-class MPhCntThumbnailLoaderObserver;
-class CFbsBitmap;
-
-/**
- * Observer interface for observing thumbnail loading
- * of MPhCntThumbnailLoader.
- * 
- * @lib PhoneCntFinder.
- * @since S60 v3.1
- */
-NONSHARABLE_CLASS( MPhCntLoaderObserver )
-    {
-public:
-
-    /**
-     * Indication that loading has been made.
-     * 
-     * @since S60 v3.0
-     * @param Pointer of bitmap loaded, ownership is given to caller.
-     * May be null if error occured during loading.
-     * @param aError Error code of loading.
-     */
-    virtual void LoadingCompleted( CFbsBitmap* aBitmap, TInt aError ) = 0;
-    };
- 
- 
-/**
- *  Interface for thumbnail loader.
- *
- *  @lib PhoneCntFinder
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( MPhCntThumbnailLoader )
-    {
-
-public:
-    
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.1
-     */
-    virtual ~MPhCntThumbnailLoader() {};
-    
-     /**
-      * Starts the loading of thumbnail from contact, which is 
-      * identified by contact id.
-      *
-      * @since S60 v3.1
-      * @param aContactId Contact id, which identifies the contact where thumbnail
-      * is loaded.
-      */
-    virtual void LoadL( 
-        const CPhCntContactId& aContactId,
-        MPhCntLoaderObserver& aLoadingObserver ) = 0;
-        
-    /**
-     * Indicats that loadings of thumbnails is done for now and 
-     * resources can be released.
-     *
-     * @since S60 v3.1
-     */
-    virtual void Release() = 0;
-    
-    /**
-     * Cancels the current loading.
-     *
-     * @since S60 v3.1
-     */
-    virtual void Cancel() = 0;
-
-    };
-
-
-#endif // MPHCNTTHUMBNAILLOADER_H
--- a/phoneengine/PhoneCntFinder/rom/PhoneCntFinder.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  IBY file
- *
-*/
-
-#ifndef __PHONECNTFINDER_IBY__
-#define __PHONECNTFINDER_IBY__
-
-file=ABI_DIR\BUILD_DIR\phonecntfinder.dll           SHARED_LIB_DIR\phonecntfinder.dll
-data=ZSYSTEM\install\phonecntfinder_stub.SIS        System\Install\phonecntfinder_stub.SIS
-
-#endif
--- a/phoneengine/PhoneCntFinder/src/CPhoneCntFactoryImpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,350 +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:  Factory class's implementation.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "CPhoneCntFactoryImpl.h"
-#include    "CPhCntThumbnailLoaderImpl.h"
-#include    "CPhCntRfsHandlerImpl.h"
-#include    "CPhCntMmiSecurityImpl.h"
-#include    "CPhoneCntSaveAddToName.h"
-#include    "CPhoneCntPbkOwner.h"
-#include    "CPhCntMatcherImpl.h"
-#include    "CPhCntProfileEngineImpl.h"
-
-#include    <CProfileChangeNotifyHandler.h>
-#include    <MProfileChangeObserver.h>
-
-#include    "CPhCntSingleItemFetchService.h"
-#include    "cphcntspeeddialimpl.h"
-#include    "cphcntvpbkthumbnailloader.h"
-#include    "CPhCntContactStores.h"
-#include    "cphcntvpbkcontactid.h"
-#include    "CPhCntContactManager.h"
-#include    "cphcntphonebookservices.h"
-#include    "cphcntmatchervoipimpl.h"
-#include    "CPhCntMatcherImpl.h"
-#include    "CPhCntAIWService.h"
-#include    "tphcntservicerequestparamfactory.h"
-#include    "cphcntcontactdataselectionimpl.h"
-#include    "cphcntstoreloaderimpl.h"
-
-#include    <coemain.h>     // CONE
-#include    <SecUi.h>       // For TSecUi
-#include    <featmgr.h>     // Feature Manager
-#include    <talogger.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhCntFactoryImpl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhCntFactoryImpl* CPhCntFactoryImpl::NewL()
-    {
-    CPhCntFactoryImpl* self = new (ELeave) CPhCntFactoryImpl;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::~CPhCntFactoryImpl
-// ---------------------------------------------------------------------------
-//
-CPhCntFactoryImpl::~CPhCntFactoryImpl()
-    {
-    delete iPhonebookServices;
-    delete iContactStores;
-
-    if ( iSecUiInit )
-        {
-        TSecUi::UnInitializeLib();
-        }
-
-    iPbkResource.Close();
-    delete iPbkOwner;
-    FeatureManager::UnInitializeLib();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateSpeedDialMonitorL
-// ---------------------------------------------------------------------------
-//
-CPhCntSpeedDialMonitor* CPhCntFactoryImpl::CreateSpeedDialMonitorL()
-    {
-    CreateContactStoreAndManagerL();
-    return CPhCntSpeedDialImpl::NewL( *iPbkOwner );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateThumbnailLoaderL
-// ---------------------------------------------------------------------------
-//
-CPhCntThumbnailLoader* CPhCntFactoryImpl::CreateThumbnailLoaderL(
-        MPhCntThumbnailLoaderObserver& aObserver )
-    {
-    CreateContactStoreAndManagerL();
-    
-    CPhCntContactStores* contactStores = 
-        CPhCntContactStores::NewL( *iPbkOwner->ContactManager() );
-    CleanupStack::PushL( contactStores );
-    
-    CPhCntVPbkThumbnailLoader* loader = 
-        CPhCntVPbkThumbnailLoader::NewL( *contactStores );
-    CleanupStack::Pop( contactStores );
-    CleanupStack::PushL( loader );
-    
-    CPhCntThumbnailLoaderImpl* impl =  
-        CPhCntThumbnailLoaderImpl::NewL( aObserver, *iPbkOwner, *loader );
-    CleanupStack::Pop( loader );
-    
-    return impl;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateSingleItemFetchL
-// ---------------------------------------------------------------------------
-//
-CPhCntSingleItemFetch* CPhCntFactoryImpl::CreateSingleItemFetchL()
-    {
-    CreatePhonebookServicesL();
-    return CPhCntSingleItemFetchService::NewL( 
-        *iContactStores, *iPbkOwner->ContactManager() );    
-    }
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateContactDataSelectionL
-// ---------------------------------------------------------------------------
-//       
-CPhCntContactDataSelection* CPhCntFactoryImpl::CreateContactDataSelectionL()
-    {
-    CreatePhonebookServicesL();
-    CPhCntAiwService* service = CPhCntAiwService::NewL();
-    CleanupStack::PushL( service );
-    CPhCntServiceRequestParamFactory* factory = 
-        CPhCntServiceRequestParamFactory::NewLC( *iPbkOwner->ContactManager() );
-    CPhCntContactStores* contactStores = 
-        CPhCntContactStores::NewL( *iPbkOwner->ContactManager() );
-    CleanupStack::PushL( contactStores );
-    
-        
-    CPhCntContactDataSelectionImpl* impl = 
-        CPhCntContactDataSelectionImpl::NewL(
-            service,
-            factory,
-            contactStores );
-    CleanupStack::Pop( 3, service );
-    return impl;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateSaveAddToNameL
-// ---------------------------------------------------------------------------
-//
-CPhoneCntSaveAddToName* CPhCntFactoryImpl::CreateSaveAddToNameL()
-    {
-    CreatePhonebookServicesL();
-    
-    CPhoneCntSaveAddToName* phoneSaveAddToName =  
-        CPhoneCntSaveAddToName::NewL( *iPhonebookServices );
-    return phoneSaveAddToName;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateRfsHandlerL
-// ---------------------------------------------------------------------------
-//
-CPhCntRfsHandler* CPhCntFactoryImpl::CreateRfsHandlerL()    
-    {
-    return CPhCntRfsHandlerImpl::NewL();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateMmiSecurityL
-// ---------------------------------------------------------------------------
-//
-CPhCntMmiSecurity* CPhCntFactoryImpl::CreateMmiSecurityL()
-    {
-    if ( !iSecUiInit )
-        {
-        TSecUi::InitializeLibL();
-        iSecUiInit = ETrue;
-        }
-        
-    return CPhCntMmiSecurityImpl::NewL();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateContactMatcherL
-// 
-//  Create contact matcher
-// ---------------------------------------------------------------------------
-//
-CPhCntMatcher* CPhCntFactoryImpl::CreateContactMatcherL()
-    {
-    CreateContactStoreAndManagerL();
-    CPhCntMatcherImpl* matcher = NULL;
-    if( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        matcher = CPhCntMatcherVoIPImpl::NewL( *iPbkOwner );
-        }
-    else 
-        {
-        matcher = CPhCntMatcherImpl::NewL( *iPbkOwner );
-        }
-
-    return matcher;
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateProfileEngineL
-// ---------------------------------------------------------------------------
-//
-CPhCntProfileEngine* CPhCntFactoryImpl::CreateProfileEngineL()
-    {
-    return CPhCntProfileEngineImpl::NewL();
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateProfileEngineNotifyHandlerL
-// ---------------------------------------------------------------------------
-//
-CBase* CPhCntFactoryImpl::CreateProfileEngineNotifyHandlerL( 
-        MProfileChangeObserver* aObserver )
-    {
-    return CProfileChangeNotifyHandler::NewL( aObserver );
-    }
-    
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateContactIdL
-// ---------------------------------------------------------------------------
-//    
-CPhCntContactId* CPhCntFactoryImpl::CreateContactIdL()
-    {
-    CreateContactStoreAndManagerL();
-    MVPbkContactLink* nullLink = NULL;
-    return CPhCntVPbkContactId::NewL( nullLink, *iPbkOwner->ContactManager() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateContactIdL
-// ---------------------------------------------------------------------------
-//    
-CPhCntContactId* CPhCntFactoryImpl::CreateContactIdL( 
-    TContactItemId aContactId )
-    {
-    CreateContactStoreAndManagerL();
-    return CPhCntVPbkContactId::NewL( aContactId, *iPbkOwner->ContactManager() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateContactIdL
-// ---------------------------------------------------------------------------
-//    
-CPhCntContactId* CPhCntFactoryImpl::CreateContactIdL( 
-    const TDesC8& aContactId )
-    {
-    CreateContactStoreAndManagerL();
-    return CPhCntVPbkContactId::NewL( aContactId, *iPbkOwner->ContactManager() );
-    }
-
-// ---------------------------------------------------------------------------
-// CPhCntFactoryImpl::CreateContactStoreLoaderL
-// ---------------------------------------------------------------------------
-//
-MPhCntStoreLoader* CPhCntFactoryImpl::CreateContactStoreLoaderL()
-    {
-    CreateContactStoreAndManagerL();
-    
-    return CPhCntStoreLoaderImpl::NewL( *(iPbkOwner->ContactManager() ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntFactoryImpl::CPhCntFactoryImpl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhCntFactoryImpl::CPhCntFactoryImpl()
-: iPbkResource( *CCoeEnv::Static() )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntFactoryImpl::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhCntFactoryImpl::ConstructL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntFactoryImpl::ConstructL" );
-    FeatureManager::InitializeLibL();
-    }
-
-// -----------------------------------------------------------------------------
-// Creates phonebook services.
-// -----------------------------------------------------------------------------
-//    
-void CPhCntFactoryImpl::CreatePhonebookServicesL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntFactoryImpl::CreatePhonebookServicesL" );
-    CreateContactStoreAndManagerL();
-        
-    if( !iPbkResource.IsOpen() )
-        {
-        iPbkResource.OpenL();  
-        iPhonebookServices = 
-            CPhCntPhonebookServices::NewL( 
-                *iContactStores, 
-                *iPbkOwner->ContactManager() );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// Creates phonebook services.
-// -----------------------------------------------------------------------------
-//   
-void CPhCntFactoryImpl::CreateContactStoreAndManagerL()
-    {
-    if( !iPbkOwner )
-        {
-        iPbkOwner = CPhoneCntPbkOwner::NewL( );
-        CPhCntContactManager* contactManager = iPbkOwner->ContactManager();
-        iContactStores = CPhCntContactStores::NewL( *contactManager );
-        }
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-// ---------------------------------------------------------------------------
-// CreateCntFactoryL
-// 
-//  Creates instance of contact factory.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CPhCntFactory* CreateCntFactoryL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPhCntFactoryImpl::CreateCntFactoryL" );
-    return CPhCntFactoryImpl::NewL();
-    }
-
-// End of File
--- a/phoneengine/PhoneCntFinder/src/CPhoneCntNumberParser.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* 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:  This class loads contact model phone number parser DLL.
-*
-*/
-
-
-//  INCLUDES
-#include "CPhoneCntNumberParser.h"
-#include <cntdb.h>
-#include <ecom.h>
-
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <cntphonenumparser.h>
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCntNumberParser::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CCntNumberParser* CCntNumberParser::NewL()
-    {
-    CCntNumberParser* self = new (ELeave) CCntNumberParser();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// Destructor
-CCntNumberParser::~CCntNumberParser()
-    {
-    delete iParser;
-    REComSession::FinalClose();
-    }
-
-// -----------------------------------------------------------------------------
-// CCntNumberParser::CCntNumberParser
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CContactPhoneNumberParser* 
-    CCntNumberParser::CntPhoneNumberParser() const
-    {
-    return iParser;
-    }
-
-// -----------------------------------------------------------------------------
-// CCntNumberParser::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCntNumberParser::ConstructL()
-    {
-    RImplInfoPtrArray   implInfoArray;
-    CleanupResetAndDestroyPushL( implInfoArray );
-    REComSession::ListImplementationsL( KUidEcomCntPhoneNumberParserInterface, 
-                                        implInfoArray );
-    // Load the first implementation found for KUidEcomCntPhoneNumberParserInterface 
-    const TInt count = implInfoArray.Count();
-    __ASSERT_ALWAYS( count > 0, User::Leave( KErrNotFound ) );
-    const TUid firstImplementationFound = implInfoArray[0]->ImplementationUid();
-    iParser = reinterpret_cast<CContactPhoneNumberParser*> 
-        ( CContactEcomPhoneNumberParser::NewL( firstImplementationFound ) );
-    CleanupStack::PopAndDestroy( &implInfoArray );
-    }
-
-// -----------------------------------------------------------------------------
-// CCntNumberParser::CCntNumberParser
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCntNumberParser::CCntNumberParser() 
-    {
-    }
-
-// End of file
--- a/phoneengine/PhoneCntFinder/src/CPhoneCntPbkOwner.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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:  Implementation of phonebook management in PhoneCntFinder.
-*
-*/
-
-
-// INCLUDE FILES
-#include  "CPhoneCntPbkOwner.h"
-#include  "CPhCntContactManager.h"
-
-#include  <e32property.h>
-
-// MACROS
-#ifndef __WINS__
-#ifdef _DEBUG
-#define PHONECNTDEBUG_ON
-#endif // _DEBUG
-#endif // __WINS__
-
-#ifdef PHONECNTDEBUG_ON
-#include    <e32svr.h> // class RDebug
-#define PHONECNTDEBUGPRINT( x ) RDebug::Print( (x) );
-#else
-#define PHONECNTDEBUGPRINT( x )
-#endif // PHONECNTDEBUG_ON
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneCntPbkOwner::CPhoneCntPbkOwner
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneCntPbkOwner::CPhoneCntPbkOwner( ) 
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneCntPbkOwner::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneCntPbkOwner::ConstructL()
-    {
-    iContactManager = CPhCntContactManager::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneCntPbkOwner::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneCntPbkOwner* CPhoneCntPbkOwner::NewL()
-    {
-    CPhoneCntPbkOwner* self = new (ELeave) CPhoneCntPbkOwner();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPhoneCntPbkOwner::~CPhoneCntPbkOwner
-// -----------------------------------------------------------------------------
-//
-CPhoneCntPbkOwner::~CPhoneCntPbkOwner()
-    {
-    delete iContactManager;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhoneCntPbkOwner::ContactManager
-// -----------------------------------------------------------------------------
-CPhCntContactManager* CPhoneCntPbkOwner::ContactManager() const
-    {
-    return iContactManager;
-    }
-
-//  End of File
--- a/phoneengine/PhoneCntFinder/src/CPhoneCntSaveAddToName.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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:  Add number to existing name and save the number.
-*
-*/
-
-
-//  INCLUDES
-
-#include <e32base.h>
-#include <PbkDataSaveAppUi.hrh>
-
-#include "MPhCntPhonebookServices.h"
-#include "CPhoneCntSaveAddToName.h"
-#include "MPhoneCntPbkOwner.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ----------------------------------------------------------------------------
-//  CPhoneCntSaveAddToName::NewL
-// ----------------------------------------------------------------------------
-//
-CPhoneCntSaveAddToName* CPhoneCntSaveAddToName::NewL( 
-       MPhCntPhonebookServices& aServices )
-    {
-    CPhoneCntSaveAddToName* self = 
-        new(ELeave) CPhoneCntSaveAddToName( aServices );
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CPhoneCntSaveAddToName::~CPhoneCntSaveAddToName
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CPhoneCntSaveAddToName::~CPhoneCntSaveAddToName()
-    {
-    iServices.CancelRequest();
-    }
-
-// ----------------------------------------------------------------------------
-// CPhoneCntSaveAddToName::HandlePbkOperationL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneCntSaveAddToName::HandlePbkOperationL( 
-        const TCntPhoneNumber& aTelNumber,
-        TInt aCommand )
-    {
-    TInt err = KErrNone;
-    switch( aCommand ) 
-        {
-        case EPbkCmdDataSaveCreateNew:
-            TRAP( err, iServices.CreateNewContactL( aTelNumber ) );
-            break;
-        
-        case EPbkCmdDataSaveAddToExisting:
-            TRAP( err,iServices.UpdateExistingContactL( aTelNumber ) ); 
-            break;
-        
-        default:
-            User::Leave( KErrArgument );
-            break;
-        }
-    // Dont leave with KErrCancel, because it is valid functionality to
-    // cancel service.
-    if( err != KErrCancel ) 
-        {
-        User::LeaveIfError( err );
-        }
-    }
-    
-// ----------------------------------------------------------------------------
-// CPhoneCntSaveAddToName::HandlePbkOperationL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneCntSaveAddToName::HandlePbkOperationL( 
-        const TCntPhoneNumber& aTelNumber,
-        TInt aCommand,
-        TCntNumberType /*aNumberType*/ )
-    {
-    HandlePbkOperationL( aTelNumber, aCommand );
-    }
-
-// ----------------------------------------------------------------------------
-// CPhoneCntSaveAddToName::CPhoneCntSaveAddToName
-// ----------------------------------------------------------------------------
-//
-CPhoneCntSaveAddToName::CPhoneCntSaveAddToName( 
-        MPhCntPhonebookServices& aServices  )
-    : iServices( aServices )  
-    {
-    }
-
--- a/phoneengine/PhoneCntFinder/src/CPhoneRawMatchNumberExtractor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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 class extracts phone number for comparsion.
-*
-*/
-
-
-//  INCLUDES
-#include "CPhoneRawMatchNumberExtractor.h"
-#include "CPhoneCntNumberParser.h"
-#include <cntdb.h>
-
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <cntphonenumparser.h>
-#endif
-
-// CONSTANTS
-
-// DEPRECATED
-const TUint KPhCntExtractorExtraChar = '1'; // number makes no difference.
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCntRawPhoneNumberExtractor::CCntRawPhoneNumberExtractor
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CCntRawPhoneNumberExtractor::CCntRawPhoneNumberExtractor() 
-: iKPhoneNumberExtraChar( KPhCntExtractorExtraChar ) 
-    {
-    }
-
-// Destructor
-CCntRawPhoneNumberExtractor::~CCntRawPhoneNumberExtractor()
-    {
-    delete iNumberParser;
-    }
-
-// -----------------------------------------------------------------------------
-// CCntRawPhoneNumberExtractor::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCntRawPhoneNumberExtractor::ConstructL()
-    {
-    iNumberParser = CCntNumberParser::NewL();
-    iParser = iNumberParser->CntPhoneNumberParser();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCntRawPhoneNumberExtractor::Release
-// 
-//  Releases used memory
-// -----------------------------------------------------------------------------
-//
-void CCntRawPhoneNumberExtractor::Release()
-    {
-    delete this;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCntRawPhoneNumberExtractor::ExtractRawNumber
-// 
-//  DEPRECATED. 
-// -----------------------------------------------------------------------------
-//
-TUint CCntRawPhoneNumberExtractor::ExtractRawNumber(
-    const TDesC& /*aTextualNumber*/)
-    {
-    __ASSERT_DEBUG( EFalse , User::Invariant() );
-    return 0;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CCntRawPhoneNumberExtractor::ExtractRawNumber
-// 
-//  Does the actual extracting
-// -----------------------------------------------------------------------------
-//
-TUint CCntRawPhoneNumberExtractor::ExtractRawNumber(
-    const TDesC& aTextualNumber, 
-    TDes& aRawNumber)
-    {
-    aRawNumber.Zero();
-    iParser->ExtractRawNumber( aTextualNumber , iMatchBuffer );
-    if ( iMatchBuffer.Length() == 0 )
-        {
-        return 0;
-        }
-
-    if ( iMatchBuffer.Length() > aRawNumber.MaxLength() )
-        {
-        aRawNumber = iMatchBuffer.Right( aRawNumber.MaxLength() );
-        }
-    else
-        {
-        aRawNumber = iMatchBuffer;
-        }
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CCntRawPhoneNumberExtractor::ExtraChar() const
-// 
-//  DEPRECATED.
-// -----------------------------------------------------------------------------
-//
-TChar CCntRawPhoneNumberExtractor::ExtraChar() const
-    {
-    __ASSERT_DEBUG( EFalse , User::Invariant() );
-    return iKPhoneNumberExtraChar;
-    }   
-    
-// End of file
--- a/phoneengine/PhoneCntFinder/src/Misc/CPhCntMmiSecurityImpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +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:  Implementation of security operations
-*
-*/
-
-
-// INCLUDE FILES
-#include    "CPhCntMmiSecurityImpl.h"
-#include    <secuimanualsecuritysettings.h>
-
-// CONSTANTS
-#ifdef _DEBUG
-_LIT( KPhCntMmiSecurity, "PhCntMmi" );
-#endif // _DEBUG
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhCntMmiSecurityImpl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhCntMmiSecurityImpl* CPhCntMmiSecurityImpl::NewL()
-    {
-    CPhCntMmiSecurityImpl* self = 
-        new (ELeave) CPhCntMmiSecurityImpl;
-    
-    return self;
-    }
-   
-// Destructor
-CPhCntMmiSecurityImpl::~CPhCntMmiSecurityImpl()
-    {
-    DestroyModel();
-    }
-
-// ---------------------------------------------------------
-// CPhCntMmiSecurityImpl::ChangePinL
-// ---------------------------------------------------------
-//
-TBool CPhCntMmiSecurityImpl::ChangePinL(
-        TPinCommand aCommand,
-        const TDesC& aCode,
-        const TDesC& aNewPin,
-        const TDesC& aVerifyNew )
-    {
-    CManualSecuritySettings& model = CreateModelL();
-    
-    // Initially, setting is pin2.
-    CManualSecuritySettings::TPin pin = 
-        CManualSecuritySettings::EPin2;
-
-    TBool result = EFalse;
-
-    switch ( aCommand )
-        {
-        case ECmdChangePin:
-            
-            // Change setting.
-            //
-            pin = CManualSecuritySettings::EPin1;
-            
-            // Flow through..
-            //
-        case ECmdChangePin2:
-            
-            result = model.ChangePinL( 
-                pin,
-                aCode,
-                aNewPin,
-                aVerifyNew );
-            break;
-
-        case ECmdUnblockPin:
-            
-            // Change setting
-            //
-            pin = CManualSecuritySettings::EPin1;
-
-            // Flow through..
-            //
-        case ECmdUnblockPin2:
-            
-            result = model.UnblockPinL( 
-                pin,
-                aCode,
-                aNewPin,
-                aVerifyNew );
-            break;
-
-        default:
-            // Case not handled, panic.
-            Panic();
-            break;
-        }
-
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CPhCntMmiSecurityImpl::ChangeSimLockL
-// ---------------------------------------------------------
-//
-TBool CPhCntMmiSecurityImpl::ChangeSimLockL(
-        TSimCommand aCommand,
-        const TDesC& aCode,
-        const TDesC& aType )
-    {   
-    CManualSecuritySettings& model = CreateModelL();
-    TBool result = EFalse;
-
-    switch ( aCommand )
-        {
-        case ECmdOpenLock:
-            result = 
-                model.UnlockSimL( aCode, aType );
-            break;
-        case ECmdCloseLock:
-            result =
-                model.LockSimL( aCode, aType );
-            break;
-        default:
-            // Case not handled, panic.
-            Panic();
-            break;
-        }
-
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CPhCntMmiSecurityImpl::Cancel
-// ---------------------------------------------------------
-//
-void CPhCntMmiSecurityImpl::Cancel()
-    {
-    if ( iModel )
-        {
-        iModel->CancelChangePin();
-        iModel->CancelUnblockPin();
-        iModel->CancelLockSim();
-        iModel->CancelUnlockSim();
-
-        DestroyModel();
-        }
-    }
-
-// ---------------------------------------------------------
-// CPhCntMmiSecurityImpl::CreateModelL
-// ---------------------------------------------------------
-//
-CManualSecuritySettings& 
-    CPhCntMmiSecurityImpl::CreateModelL()
-    {
-    if ( !iModel )
-        {
-        iModel = CManualSecuritySettings::NewL();
-        }
-
-    return *iModel;
-    }
-
-// ---------------------------------------------------------
-// CPhCntMmiSecurityImpl::DestroyModel
-// ---------------------------------------------------------
-//
-void CPhCntMmiSecurityImpl::DestroyModel()
-    {
-    delete iModel; 
-    iModel = NULL;
-    }
-
-// ---------------------------------------------------------
-// CPhCntMmiSecurityImpl::Panic
-// ---------------------------------------------------------
-//
-void CPhCntMmiSecurityImpl::Panic()
-    {
-    // We only panic with debug builds.
-    __ASSERT_DEBUG( 
-        EFalse, 
-        User::Panic( KPhCntMmiSecurity, 0 ) );
-    }
-
-//  End of File  
-
--- a/phoneengine/PhoneCntFinder/src/Misc/CPhCntProfileEngineImpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +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:  Implementation of Profile information retrieval.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "CPhCntProfileEngineImpl.h"
-#include    <MProfile.h>
-
-// CONSTANTS
-_LIT( KPhCntProfilePanic, "PhCntProfile" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhCntProfileEngineImpl::NewL
-// -----------------------------------------------------------------------------
-//
-CPhCntProfileEngineImpl* CPhCntProfileEngineImpl::NewL()
-    {
-    CPhCntProfileEngineImpl* self = 
-        new ( ELeave ) CPhCntProfileEngineImpl;
-    
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntProfileEngineImpl::~CPhCntProfileEngineImpl
-// -----------------------------------------------------------------------------
-//      
-CPhCntProfileEngineImpl::~CPhCntProfileEngineImpl()
-    {
-    if ( iProfile )
-        {
-        iProfile->Release();
-        iProfile = NULL;
-        }
-
-    if ( iEngine )
-        {
-        iEngine->Release();
-        iEngine = NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntProfileEngineImpl::RefreshL
-// -----------------------------------------------------------------------------
-//
-void CPhCntProfileEngineImpl::RefreshL()
-    {
-    if ( !iEngine )
-        {
-        iEngine = CreateProfileEngineL();
-        }
-
-    MProfile* profile = iEngine->ActiveProfileL();
-
-    if ( iProfile )
-        {
-        iProfile->Release();
-        iProfile = NULL;
-        }
-    iProfile = profile;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntProfileEngineImpl::HasProfile
-// -----------------------------------------------------------------------------
-//
-TBool CPhCntProfileEngineImpl::HasProfile() const
-    {
-    return iProfile != NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntProfileEngineImpl::Profile
-// -----------------------------------------------------------------------------
-//
-MProfile& CPhCntProfileEngineImpl::Profile()
-    {
-    __ASSERT_ALWAYS( iProfile, User::Panic( KPhCntProfilePanic, 0 ) );
-    return *iProfile;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntProfileEngineImpl::SetActiveProfileL
-// -----------------------------------------------------------------------------
-//
-void CPhCntProfileEngineImpl::SetActiveProfileL( const TInt aProfileId )
-    {
-    if ( !iEngine )
-        {
-        iEngine = CreateProfileEngineL();
-        }
-
-    iEngine->SetActiveProfileL( aProfileId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntProfileEngineImpl::IsFeatureSupported
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPhCntProfileEngineImpl::IsFeatureSupported(
-        TProfileFeatureId aFeatureId ) const
-    {
-    return iEngine->IsFeatureSupported( aFeatureId );
-    }
-
-//  End of File  
--- a/phoneengine/PhoneCntFinder/src/Misc/CPhCntRfsHandlerImpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +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:  Implementation of restore factory settings.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "CPhCntRfsHandlerImpl.h"
-#include    <rfsHandler.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhCntRfsHandlerImpl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhCntRfsHandlerImpl* CPhCntRfsHandlerImpl::NewL()
-    {
-    CPhCntRfsHandlerImpl* self = 
-        new (ELeave) CPhCntRfsHandlerImpl;
-    
-    return self;
-    }
-   
-// -----------------------------------------------------------------------------
-// CPhCntRfsHandlerImpl::~CPhCntRfsHandlerImpl
-// -----------------------------------------------------------------------------
-//
-CPhCntRfsHandlerImpl::~CPhCntRfsHandlerImpl()
-    {
-    delete iRfsHandler;
-    }
-
-// ---------------------------------------------------------
-// CPhCntRfsHandlerImpl::ProcessCommandL
-// ---------------------------------------------------------
-//
-void CPhCntRfsHandlerImpl::ProcessCommandL( 
-        TRfsCommand aCommand )
-    {
-    TRfsType type = ERfsDeep; // By default, let's assume deep.
-
-    switch ( aCommand )
-        {
-        case ERfsCmdActivateNormal:
-            type = ERfsNormal;
-            // Fall through..
-
-        case ERfsCmdActivateDeep:
-            // Create instance of rfs handler
-            if ( !iRfsHandler )
-                {
-                iRfsHandler = new ( ELeave ) CRfsHandler;
-                }
-        
-            // Activate 
-            iRfsHandler->ActivateRfsL( type );
-            break;
-
-        case ERfsCmdCancel:
-            {
-            if ( iRfsHandler )
-                {
-                iRfsHandler->Cancel();
-                }
-            }
-            break;
-
-        default:
-            // Do nothing.
-            break;
-        }    
-    }
-
-//  End of File  
-
--- a/phoneengine/PhoneCntFinder/src/Misc/CPhCntThumbnailLoaderImpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,429 +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:  Thumbnail loading implementation.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "CPhCntThumbnailLoaderImpl.h"
-#include    "MPhoneCntPbkOwner.h"
-#include    "MPhCntThumbnailLoaderObserver.h"
-#include    "cphcntcontactid.h"
-#include    "cphcntpbkcontactid.h"
-#include    "cphcntpbkthumbnailloader.h"
-
-#include    <CPbkContactItem.h>
-#include    <CPbkContactEngine.h>
-#include    <CPbkThumbnailManager.h>
-#include    <fbs.h>
-
-// CONSTANTS
-
-// Granularity of thumbnail array.
-const TInt KPhoneThumbnailArrayGranularity = 5;
-
-// Maximum amount of thumbnails.
-const TInt KPhoneThumbnailMax = 20;
-
-// Panic literal for thumbnail related panics.
-_LIT( KPhCntThumbnailLoaderPanic, "PhCntThumb" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhCntThumbnailLoaderImpl* CPhCntThumbnailLoaderImpl::NewL(
-        MPhCntThumbnailLoaderObserver& aObserver,
-        MPhoneCntPbkOwner& aPbkOwner,
-        MPhCntThumbnailLoader& aLoader )
-    {
-    CPhCntThumbnailLoaderImpl* self = 
-        new ( ELeave ) CPhCntThumbnailLoaderImpl( 
-            aObserver,
-            aPbkOwner,
-            aLoader );
-
-    CleanupStack::PushL( self );
-    self->ConstructL( aPbkOwner );
-    CleanupStack::Pop();
-
-    return self;
-    }
-        
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::~CPhCntThumbnailLoaderImpl
-// -----------------------------------------------------------------------------
-//
-CPhCntThumbnailLoaderImpl::~CPhCntThumbnailLoaderImpl()
-    {
-    delete iBitmap;
-    ClearThumbnailArray();
-    iArray.Close();
-    delete iLoader;
-    delete iBridge;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::Load
-// -----------------------------------------------------------------------------
-//
-TInt CPhCntThumbnailLoaderImpl::Load( 
-        TThumbnailId& aId, 
-        const CPhCntContactId& aContactId )
-    {
-    // If condition doesn't hold, then definitely something is badly
-    // wrong.
-    if ( iArray.Count() < KPhoneThumbnailMax )
-        {
-        TRAPD( err, AttemptLoadL( aId, aContactId ) );
-
-        if ( err != KErrNone )
-            {
-            aId = KPhCntThumbnailNullId;
-            }
-
-        return err;
-        }
-    else
-        {
-        aId = KPhCntThumbnailNullId;
-        return KErrNotFound;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::Cancel
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::Cancel( 
-        TThumbnailId aId )
-    {
-    TInt index = FindById( aId );
-
-    // If not found, then we can ignore the call.
-    if ( index == KErrNotFound )
-        {
-        return;
-        }
-
-    // Remove thumbnail loading information from array.
-    RemoveThumbnailArrayEntry( index );
-    
-    // If we are currently loading this, then cancel loading.
-    if ( iCurrent != KPhCntThumbnailNullId && aId == iCurrent )
-        {      
-        CancelLoad();
-        }
-    
-    if ( iCurrent == KPhCntThumbnailNullId && iArray.Count() )
-        {
-        Start( ELoadFromContact );
-        }
-    }
-    
-void CPhCntThumbnailLoaderImpl::LoadingCompleted(
-    CFbsBitmap* aBitmap,
-    TInt aResult )
-    {
-    if( aResult == KErrNone )
-        {
-        if ( iCurrent != KPhCntThumbnailNullId )
-            {
-
-            iBitmap = aBitmap;
-            Start( EProcessResult );       
-            }
-        else
-            {
-            delete aBitmap;
-            }
-        }
-    else
-        {
-        if ( iCurrent != KPhCntThumbnailNullId )
-            {
-            TThumbnailId old = iCurrent;
-
-            Cancel( old );
-            Notify( old, aResult, NULL );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::CPhCntThumbnailLoaderImpl
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhCntThumbnailLoaderImpl::CPhCntThumbnailLoaderImpl(
-        MPhCntThumbnailLoaderObserver& aObserver,
-        MPhoneCntPbkOwner& /*aPbkOwner*/,
-        MPhCntThumbnailLoader& aLoader )
-    : iObserver( aObserver ),
-      iArray( KPhoneThumbnailArrayGranularity ),
-      iCurrent( KPhCntThumbnailNullId ),
-      iLoader( &aLoader )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::ConstructL(
-    MPhoneCntPbkOwner& /*aPbkOwner*/ )
-    {
-    iBridge = 
-        CIdle::NewL(
-            CActive::EPriorityStandard );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::AttemptLoadL
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::AttemptLoadL( 
-        TThumbnailId aId,
-        const CPhCntContactId& aContactId )
-    {
-    // Create new thumbnail information.
-    TThumbnailInfo info;
-    info.iId = aId;
-    info.iContactId = aContactId.CloneL();
-    User::LeaveIfError( iArray.Append( info ) );
-
-    // If there were no items, then we can start loading the first image.
-    if ( iCurrent == KPhCntThumbnailNullId )
-        {
-        Start( ELoadFromContact );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::StartLoadL
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::StartLoadL()
-    {
-    if ( !iArray.Count() )
-        {
-        return;
-        }
-
-    TThumbnailInfo& info = iArray[ 0 ]; // first
-    iCurrent = info.iId;
-
-    // Clear pbk
-    ClearPbk( ETrue ); 
-    
-    iLoader->LoadL( *info.iContactId, *this );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::CancelLoad
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::CancelLoad()
-    {
-    iCurrent = KPhCntThumbnailNullId; 
-    
-    delete iBitmap;
-    iBitmap = NULL;
-
-    ClearPbk( iArray.Count() );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::ProcessResultL
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::ProcessResultL()
-    {
-    if ( iCurrent == KPhCntThumbnailNullId )
-        {
-        return;
-        }
-
-    if ( !iBitmap )
-        {
-        User::Leave( KErrNotFound );
-        }
-    else
-        {
-        CFbsBitmap* bitmap = iBitmap;
-        iBitmap = NULL;
-        TThumbnailId old = iCurrent;
-        Cancel( iCurrent );
-        Notify( old, KErrNone, bitmap );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::HandleStartL
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::HandleStartL()
-    {
-    switch ( iState )
-        {
-        case ELoadFromContact:
-            StartLoadL();
-            break;
-
-        case EProcessResult:
-            ProcessResultL();
-            break;
-
-        default:
-            Panic( EPanicInvalidState );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::HandleStart
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::HandleStart()
-    {
-    TRAPD( err, HandleStartL() );
-
-    if ( err != KErrNone && iCurrent != KPhCntThumbnailNullId )
-        {
-        TThumbnailId old = iCurrent;
-        Cancel( iCurrent );
-        Notify( old, err, NULL );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::Start
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::Start( TState aState )
-    {
-    iState = aState;
-    iBridge->Cancel();
-    iBridge->Start( TCallBack( DoStart, this ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::DoStart
-// -----------------------------------------------------------------------------
-//
-TInt CPhCntThumbnailLoaderImpl::DoStart( TAny* aAny )
-    {
-    CPhCntThumbnailLoaderImpl* loader =
-        static_cast< CPhCntThumbnailLoaderImpl* >( aAny );
-
-    loader->HandleStart();
-
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::Notify
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::Notify( 
-        TThumbnailId aId,
-        TInt aResult, 
-        CFbsBitmap* aBitmap )
-    {
-    iObserver.MpctloThumbnailLoaded( aId, aResult, aBitmap );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::ClearPbk
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::ClearPbk( TBool aMore )
-    {
-   
-    iLoader->Cancel();
-
-    if ( !aMore )
-        {
-        iLoader->Release();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::FindById
-// -----------------------------------------------------------------------------
-//
-TInt CPhCntThumbnailLoaderImpl::FindById( TThumbnailId aId )
-    {
-    TThumbnailInfo info;
-    info.iId = aId;
-    // info.iContactId doesn't matter.
-
-    return 
-        iArray.Find( 
-            info,
-            TIdentityRelation<TThumbnailInfo>( CompareIds ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::CompareIds
-// -----------------------------------------------------------------------------
-//
-TBool CPhCntThumbnailLoaderImpl::CompareIds( 
-        const TThumbnailInfo& aFirst,
-        const TThumbnailInfo& aSecond )
-    {
-    return aFirst.iId == aSecond.iId;
-    }
-
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::Panic
-// -----------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderImpl::Panic( 
-        TPanicReason aReason )
-    {
-    User::Panic( KPhCntThumbnailLoaderPanic, aReason );
-    }
- 
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::ClearThumbnailArray
-// -----------------------------------------------------------------------------
-//   
-void CPhCntThumbnailLoaderImpl::ClearThumbnailArray()
-    {
-    const TInt count( iArray.Count() );
-    for( TInt i = 0; i < count; i++ ) 
-        {
-        RemoveThumbnailArrayEntry( i );
-        }
-    }
-   
-// -----------------------------------------------------------------------------
-// CPhCntThumbnailLoaderImpl::ClearThumbnailArrayEntry
-// -----------------------------------------------------------------------------
-//        
-void CPhCntThumbnailLoaderImpl::RemoveThumbnailArrayEntry( TInt aIndex )
-    {
-    TThumbnailInfo info = iArray[aIndex];
-    delete info.iContactId;
-    iArray.Remove( aIndex );
-    }
-
-//  End of File  
--- a/phoneengine/PhoneCntFinder/src/PhCntPanic.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Panic 
-*
-*/
-
-
-#include "PhCntPanic.h"
-
-_LIT( KPanicTxt, "PhCntFinder" );
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Panics current thread
-// ---------------------------------------------------------------------------
-//
-void PhCntPanic( TPhCntPanic aPanicCode )
-    {
-    User::Panic( KPanicTxt, aPanicCode );
-    }
--- a/phoneengine/PhoneCntFinder/src/cphcntthumbnailloaderbase.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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:  Base class for concrete thumbnailloaders.
-*
-*/
-
-
-#include "cphcntthumbnailloaderbase.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CPhCntThumbnailLoaderBase::CPhCntThumbnailLoaderBase()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CPhCntThumbnailLoaderBase::~CPhCntThumbnailLoaderBase()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// Notifies the observer.
-// ---------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderBase::NotifyObserver( 
-    CFbsBitmap* aBitmap, 
-    TInt aError )
-    {
-    if( iLoadingObserver ) 
-        {
-        iLoadingObserver->LoadingCompleted( aBitmap, aError );
-        iLoadingObserver = NULL;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MPhCntThumbnailLoader
-// Takes hold of observer and calls template method for actual loading of 
-// thumbnail.
-// ---------------------------------------------------------------------------
-//
-void CPhCntThumbnailLoaderBase::LoadL( 
-    const CPhCntContactId& aContactId,
-    MPhCntLoaderObserver& aLoadingObserver )
-    {
-    iLoadingObserver = &aLoadingObserver;
-    DoLoadL( aContactId );
-    }
-
--- a/phoneengine/audiohandling/data/defaultbeep.rss	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/data/defaultbeep.rss	Fri Mar 19 09:28:42 2010 +0200
@@ -21,225 +21,225 @@
 
 RESOURCE SEQ_LOOP ringtone
 {
-	repeats = 3;
-	tones = 
-	{
-		SEQ_2TONES
-		{
-			duration	= 1000 ;
-			freq1		= SEQ_FREQ_C1;
-			vol1		= SEQ_VOL_MP;
-			freq2		= SEQ_FREQ_C2;
-			vol2		= SEQ_VOL_MP;
-		},	
-		SEQ_2TONES
-		{
-			duration	= 1000 ;
-			freq1		= SEQ_FREQ_D1;
-			vol1		= SEQ_VOL_MP;
-			freq2		= SEQ_FREQ_B2;
-			vol2		= SEQ_VOL_MP;
-		},	
-		SEQ_2TONES
-		{
-			duration	= 1000 ;
-			freq1		= SEQ_FREQ_E1;
-			vol1		= SEQ_VOL_MP;
-			freq2		= SEQ_FREQ_C2;
-			vol2		= SEQ_VOL_MP;
-		},	
-		SEQ_2TONES
-		{
-			duration	= 1000 ;
-			freq1		= SEQ_FREQ_F1;
-			vol1		= SEQ_VOL_MP;
-			freq2		= SEQ_FREQ_C2;
-			vol2		= SEQ_VOL_MP;
-		},	
-		SEQ_2TONES
-		{
-			duration	= 1000 ;
-			freq1		= SEQ_FREQ_G1;
-			vol1		= SEQ_VOL_MP;
-			freq2		= SEQ_FREQ_C2;
-			vol2		= SEQ_VOL_MP;
-		},
-		SEQ_2TONES
-		{
-			duration	= 1000 ;
-			freq1		= SEQ_FREQ_A2;
-			vol1		= SEQ_VOL_MP;
-			freq2		= SEQ_FREQ_C2;
-			vol2		= SEQ_VOL_MP;
-		},	
-		SEQ_2TONES
-		{
-			duration	= 1000 ;
-			freq1		= SEQ_FREQ_B2;
-			vol1		= SEQ_VOL_MP;
-			freq2		= SEQ_FREQ_C2;
-			vol2		= SEQ_VOL_MP;
-		}		
+    repeats = 3;
+    tones = 
+    {
+        SEQ_2TONES
+        {
+            duration    = 1000 ;
+            freq1       = SEQ_FREQ_C1;
+            vol1        = SEQ_VOL_MP;
+            freq2       = SEQ_FREQ_C2;
+            vol2        = SEQ_VOL_MP;
+        },  
+        SEQ_2TONES
+        {
+            duration    = 1000 ;
+            freq1       = SEQ_FREQ_D1;
+            vol1        = SEQ_VOL_MP;
+            freq2       = SEQ_FREQ_B2;
+            vol2        = SEQ_VOL_MP;
+        },  
+        SEQ_2TONES
+        {
+            duration    = 1000 ;
+            freq1       = SEQ_FREQ_E1;
+            vol1        = SEQ_VOL_MP;
+            freq2       = SEQ_FREQ_C2;
+            vol2        = SEQ_VOL_MP;
+        },  
+        SEQ_2TONES
+        {
+            duration    = 1000 ;
+            freq1       = SEQ_FREQ_F1;
+            vol1        = SEQ_VOL_MP;
+            freq2       = SEQ_FREQ_C2;
+            vol2        = SEQ_VOL_MP;
+        },  
+        SEQ_2TONES
+        {
+            duration    = 1000 ;
+            freq1       = SEQ_FREQ_G1;
+            vol1        = SEQ_VOL_MP;
+            freq2       = SEQ_FREQ_C2;
+            vol2        = SEQ_VOL_MP;
+        },
+        SEQ_2TONES
+        {
+            duration    = 1000 ;
+            freq1       = SEQ_FREQ_A2;
+            vol1        = SEQ_VOL_MP;
+            freq2       = SEQ_FREQ_C2;
+            vol2        = SEQ_VOL_MP;
+        },  
+        SEQ_2TONES
+        {
+            duration    = 1000 ;
+            freq1       = SEQ_FREQ_B2;
+            vol1        = SEQ_VOL_MP;
+            freq2       = SEQ_FREQ_C2;
+            vol2        = SEQ_VOL_MP;
+        }       
 
-	};
+    };
 
 }
 
 STRUCT VAR_ARRAY
-	{
-	WORD sequence [];
-	}
+    {
+    WORD sequence [];
+    }
 
 RESOURCE VAR_ARRAY r_net_busy
-	{
-	// ETSI spec says 425Hz on 500ms, off 500ms.
-	// Seems to be close but on/off time is 480ms. 
-	sequence={0,17,10,5,6,78,50,64,50,6,11};
-	// 0  = OPCODE_SEQUENCE_START
-	// 17 = OPCODE_DURATION_UNIT
-	// 10 = duration unit => tone duration is 10ms * tone_tick
-	// 5  = OPCODE_REPEAT
-	// 6  = repeat 6 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
-	// 78-64=14=AUD_TONE_NETWORK_FREQ_1	 = 425Hz
-	// 50 = tone_tick = 500ms
-	// 64-64=0=AUD_TONE_FREQ_OFF	     = 0Hz
-	// 50 = tone_tick = 50ms
-	// 6  = OPCODE_REPEATEND
-	// 11 = OPCODE_END
-	}
+    {
+    // ETSI spec says 425Hz on 500ms, off 500ms.
+    // Seems to be close but on/off time is 480ms. 
+    sequence={0,17,10,5,6,78,50,64,50,6,11};
+    // 0  = OPCODE_SEQUENCE_START
+    // 17 = OPCODE_DURATION_UNIT
+    // 10 = duration unit => tone duration is 10ms * tone_tick
+    // 5  = OPCODE_REPEAT
+    // 6  = repeat 6 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
+    // 78-64=14=AUD_TONE_NETWORK_FREQ_1  = 425Hz
+    // 50 = tone_tick = 500ms
+    // 64-64=0=AUD_TONE_FREQ_OFF         = 0Hz
+    // 50 = tone_tick = 50ms
+    // 6  = OPCODE_REPEATEND
+    // 11 = OPCODE_END
+    }
  
 RESOURCE VAR_ARRAY r_net_reorder
-	{
-	// Don't know if this is defined in ETSI spec at all
-	sequence={0,17,10,5,3,93,25,64,25,6,11};
-	// 0  = OPCODE_SEQUENCE_START
-	// 17 = OPCODE_DURATION_UNIT
-	// 10 = duration unit => tone duration is 10ms * tone_tick
-	// 5  = OPCODE_REPEAT
-	// 3  = repeat 3 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
-	// 93-64=29=AUD_TONE_RING_FREQ_E0	 = 330Hz
-	// 25 = tone_tick = 250ms
-	// 64-64 = 0 = AUD_TONE_FREQ_OFF	 = 0Hz
-	// 25 = tone_tick = 250ms
-	// 6  = OPCODE_REPEATEND
-	// 11 = OPCODE_END
-	}
+    {
+    // Don't know if this is defined in ETSI spec at all
+    sequence={0,17,10,5,3,93,25,64,25,6,11};
+    // 0  = OPCODE_SEQUENCE_START
+    // 17 = OPCODE_DURATION_UNIT
+    // 10 = duration unit => tone duration is 10ms * tone_tick
+    // 5  = OPCODE_REPEAT
+    // 3  = repeat 3 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
+    // 93-64=29=AUD_TONE_RING_FREQ_E0    = 330Hz
+    // 25 = tone_tick = 250ms
+    // 64-64 = 0 = AUD_TONE_FREQ_OFF     = 0Hz
+    // 25 = tone_tick = 250ms
+    // 6  = OPCODE_REPEATEND
+    // 11 = OPCODE_END
+    }
 
 RESOURCE VAR_ARRAY r_net_congestion
-	{
-	// ETSI spec says 425Hz on 200ms, off 200ms
-	// Seems to be so (but repeated only 15 times):
-	sequence={0,17,10,5,15,78,20,64,20,6,11};
-	// 0  = OPCODE_SEQUENCE_START
-	// 17 = OPCODE_DURATION_UNIT
-	// 10 = duration unit => tone duration is 10ms * tone_tick
-	// 5  = OPCODE_REPEAT
-	// 15  = repeat 15 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
-	// 78-64=14=AUD_TONE_NETWORK_FREQ_1	 = 425Hz
-	// 20 = tone_tick = 200ms
-	// 64-64 = 0 = AUD_TONE_FREQ_OFF	 = 0Hz
-	// 20 = tone_tick = 200ms
-	// 6  = OPCODE_REPEATEND
-	// 11 = OPCODE_END
-	}
+    {
+    // ETSI spec says 425Hz on 200ms, off 200ms
+    // Seems to be so (but repeated only 15 times):
+    sequence={0,17,10,5,15,78,20,64,20,6,11};
+    // 0  = OPCODE_SEQUENCE_START
+    // 17 = OPCODE_DURATION_UNIT
+    // 10 = duration unit => tone duration is 10ms * tone_tick
+    // 5  = OPCODE_REPEAT
+    // 15  = repeat 15 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
+    // 78-64=14=AUD_TONE_NETWORK_FREQ_1  = 425Hz
+    // 20 = tone_tick = 200ms
+    // 64-64 = 0 = AUD_TONE_FREQ_OFF     = 0Hz
+    // 20 = tone_tick = 200ms
+    // 6  = OPCODE_REPEATEND
+    // 11 = OPCODE_END
+    }
 
 RESOURCE VAR_ARRAY r_net_special_information
-	{
-	sequence={0,17,10,5,3,79,33,80,33,81,33,64,50,64,50,6,11};
-	// 0  = OPCODE_SEQUENCE_START
-	// 17 = OPCODE_DURATION_UNIT
-	// 10 = duration unit => tone duration is 10ms * tone_tick
-	// 5  = OPCODE_REPEAT
-	// 3  = repeat 3 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
-	// 79-64=15=AUD_TONE_NETWORK_FREQ_2	 = 950Hz
-	// 33 = tone_tick = 330ms
-	// 80-64=16=AUD_TONE_NETWORK_FREQ_3	 = 1400Hz
-	// 33 = tone_tick = 330ms
-	// 81-64=17=AUD_TONE_NETWORK_FREQ_4	 = 1800Hz
-	// 33 = tone_tick = 330ms
-	// 64-64 = 0 = AUD_TONE_FREQ_OFF	 = 0Hz
-	// 50 = tone_tick = 500ms
-	// 64-64 = 0 = AUD_TONE_FREQ_OFF	 = 0Hz
-	// 50 = tone_tick = 500ms  
-	// 6  = OPCODE_REPEATEND
-	// 11 = OPCODE_END
-	}
+    {
+    sequence={0,17,10,5,3,79,33,80,33,81,33,64,50,64,50,6,11};
+    // 0  = OPCODE_SEQUENCE_START
+    // 17 = OPCODE_DURATION_UNIT
+    // 10 = duration unit => tone duration is 10ms * tone_tick
+    // 5  = OPCODE_REPEAT
+    // 3  = repeat 3 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
+    // 79-64=15=AUD_TONE_NETWORK_FREQ_2  = 950Hz
+    // 33 = tone_tick = 330ms
+    // 80-64=16=AUD_TONE_NETWORK_FREQ_3  = 1400Hz
+    // 33 = tone_tick = 330ms
+    // 81-64=17=AUD_TONE_NETWORK_FREQ_4  = 1800Hz
+    // 33 = tone_tick = 330ms
+    // 64-64 = 0 = AUD_TONE_FREQ_OFF     = 0Hz
+    // 50 = tone_tick = 500ms
+    // 64-64 = 0 = AUD_TONE_FREQ_OFF     = 0Hz
+    // 50 = tone_tick = 500ms  
+    // 6  = OPCODE_REPEATEND
+    // 11 = OPCODE_END
+    }
 
 RESOURCE VAR_ARRAY r_net_radio_not_available
-	{
-	// ETSI spec says: 425Mhz on 200ms, off 200ms, 3 bursts
-	// Seems to be so:
-	sequence={0,17,10,5,3,78,20,64,20,6,11};
-	// 0  = OPCODE_SEQUENCE_START
-	// 17 = OPCODE_DURATION_UNIT
-	// 10 = duration unit => tone duration is 10ms * tone_tick
-	// 5  = OPCODE_REPEAT
-	// 3  = repeat 3 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
-	// 78-64=14=AUD_TONE_NETWORK_FREQ_1 = 425Hz
-	// 20 = tone_tick = 200ms
-	// 64-64=0=AUD_TONE_FREQ_OFF
-	// 20 = tone_tick = 200ms
-	// 6  = OPCODE_REPEATEND
-	// 11 = OPCODE_END
-	}
+    {
+    // ETSI spec says: 425Mhz on 200ms, off 200ms, 3 bursts
+    // Seems to be so:
+    sequence={0,17,10,5,3,78,20,64,20,6,11};
+    // 0  = OPCODE_SEQUENCE_START
+    // 17 = OPCODE_DURATION_UNIT
+    // 10 = duration unit => tone duration is 10ms * tone_tick
+    // 5  = OPCODE_REPEAT
+    // 3  = repeat 3 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND  
+    // 78-64=14=AUD_TONE_NETWORK_FREQ_1 = 425Hz
+    // 20 = tone_tick = 200ms
+    // 64-64=0=AUD_TONE_FREQ_OFF
+    // 20 = tone_tick = 200ms
+    // 6  = OPCODE_REPEATEND
+    // 11 = OPCODE_END
+    }
 
 RESOURCE VAR_ARRAY r_net_ring_going
-	{
-	// ETSI spec says 425Hz Tone on 1s, silence 4s
-	// Seems to be so:
-	sequence={0,17,10,2,252,78,100,5,4,64,100,6,7,11};
-	// 0  = OPCODE_SEQUENCE_START
-	// 17 = OPCODE_DURATION_UNIT
-	// 10 = duration unit => tone duration is 10ms * tone_tick
-	// 2  = OPCODE_CONTINUE_MASK (obsolete from DCT4 onwards)
-	// 252 = continue mask value
-	// 78-64=14=AUD_TONE_NETWORK_FREQ_1	 = 425Hz
-	// 100 = tone_tick = 1000ms
-	// 5 = OPCODE_REPEAT
-	// 4 = repeat 4 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND
-	// 64-64=0=AUD_TONE_FREQ_OFF
-	// 100 = tone_tick = 1000ms
-	// 7 = OPCODE_RESTART
-	// 11 = OPCODE_END
-	}
+    {
+    // ETSI spec says 425Hz Tone on 1s, silence 4s
+    // Seems to be so:
+    sequence={0,17,10,2,252,78,100,5,4,64,100,6,7,11};
+    // 0  = OPCODE_SEQUENCE_START
+    // 17 = OPCODE_DURATION_UNIT
+    // 10 = duration unit => tone duration is 10ms * tone_tick
+    // 2  = OPCODE_CONTINUE_MASK (obsolete from DCT4 onwards)
+    // 252 = continue mask value
+    // 78-64=14=AUD_TONE_NETWORK_FREQ_1  = 425Hz
+    // 100 = tone_tick = 1000ms
+    // 5 = OPCODE_REPEAT
+    // 4 = repeat 4 times sequence between OPCODE_REPEAT and OPCODE_REPEATEND
+    // 64-64=0=AUD_TONE_FREQ_OFF
+    // 100 = tone_tick = 1000ms
+    // 7 = OPCODE_RESTART
+    // 11 = OPCODE_END
+    }
 
 RESOURCE VAR_ARRAY r_net_call_waiting
-	{
-	// Seems to be so:
-	sequence={0,17,10,78,20,64,60,78,20,64,100,64,100,64,100,78,20,64,60,78,20,11};
-	// 0  = OPCODE_SEQUENCE_START
-	// 17 = OPCODE_DURATION_UNIT
-	// 10 = duration unit => tone duration is 10ms * tone_tick
-	// 78-64=14=AUD_TONE_NETWORK_FREQ_1	 = 425Hz
-	// 20 = tone_tick = 200ms
-	// 64-64 = 0 = AUD_TONE_FREQ_OFF	 = 0Hz
-	// 60 = tone_tick = 600ms
-	// 78-64=14=AUD_TONE_NETWORK_FREQ_1	 = 425Hz
-	// 20 = tone_tick = 200ms
-	// 64-64 = 0 = AUD_TONE_FREQ_OFF	 = 0Hz
-	// 100 = tone_tick = 1000ms
-	// 64-64 = 0 = AUD_TONE_FREQ_OFF	 = 0Hz
-	// 100 = tone_tick = 1000ms
-	// 64-64 = 0 = AUD_TONE_FREQ_OFF	 = 0Hz
-	// 100 = tone_tick = 1000ms
-	// 78-64=14=AUD_TONE_NETWORK_FREQ_1	 = 425Hz
-	// 20 = tone_tick = 200ms
-	// 64-64 = 0 = AUD_TONE_FREQ_OFF	 = 0Hz
-	// 60 = tone_tick = 600ms
-	// 78-64=14=AUD_TONE_NETWORK_FREQ_1	 = 425Hz
-	// 20 = tone_tick = 200ms
-	// 11 = OPCODE_END
-	}
+    {
+    // Seems to be so:
+    sequence={0,17,10,78,20,64,60,78,20,64,100,64,100,64,100,78,20,64,60,78,20,11};
+    // 0  = OPCODE_SEQUENCE_START
+    // 17 = OPCODE_DURATION_UNIT
+    // 10 = duration unit => tone duration is 10ms * tone_tick
+    // 78-64=14=AUD_TONE_NETWORK_FREQ_1  = 425Hz
+    // 20 = tone_tick = 200ms
+    // 64-64 = 0 = AUD_TONE_FREQ_OFF     = 0Hz
+    // 60 = tone_tick = 600ms
+    // 78-64=14=AUD_TONE_NETWORK_FREQ_1  = 425Hz
+    // 20 = tone_tick = 200ms
+    // 64-64 = 0 = AUD_TONE_FREQ_OFF     = 0Hz
+    // 100 = tone_tick = 1000ms
+    // 64-64 = 0 = AUD_TONE_FREQ_OFF     = 0Hz
+    // 100 = tone_tick = 1000ms
+    // 64-64 = 0 = AUD_TONE_FREQ_OFF     = 0Hz
+    // 100 = tone_tick = 1000ms
+    // 78-64=14=AUD_TONE_NETWORK_FREQ_1  = 425Hz
+    // 20 = tone_tick = 200ms
+    // 64-64 = 0 = AUD_TONE_FREQ_OFF     = 0Hz
+    // 60 = tone_tick = 600ms
+    // 78-64=14=AUD_TONE_NETWORK_FREQ_1  = 425Hz
+    // 20 = tone_tick = 200ms
+    // 11 = OPCODE_END
+    }
 
 RESOURCE VAR_ARRAY r_data_call_tone
-	{
-	sequence={0,17,6,2,252,10,8,5,8,84,3,89,3,6,10,247,64,50,7,11};
-	}
+    {
+    sequence={0,17,6,2,252,10,8,5,8,84,3,89,3,6,10,247,64,50,7,11};
+    }
 RESOURCE VAR_ARRAY r_no_sound_sequence
-	{
-	sequence={0,17,6,5,252,10,8,64,50,10,247,64,100,06,11};
-	}
+    {
+    sequence={0,17,6,5,252,10,8,64,50,10,247,64,100,06,11};
+    }
 RESOURCE VAR_ARRAY r_beep_sequence
-	{
-	sequence={0,17,6,10,8,115,10,64,40,10,247,5,252,64,100,10,8,64,50,10,247,6,11};
-	}
+    {
+    sequence={0,17,6,10,8,115,10,64,40,10,247,5,252,64,100,10,8,64,50,10,247,6,11};
+    }
--- a/phoneengine/audiohandling/group/audiohandling.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/group/audiohandling.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -21,25 +21,25 @@
 TARGET          audiohandling.dll    
 TARGETTYPE      DLL                
 UID             0x1000008D 0x1000A832        
-VENDORID		VID_DEFAULT
+VENDORID        VID_DEFAULT
 
-CAPABILITY	CAP_GENERAL_DLL
+CAPABILITY  CAP_GENERAL_DLL
 
-//MACRO		UNIT_TESTING	//defined if running T_AudoHandlingMT tests
+//MACRO     UNIT_TESTING    //defined if running T_AudoHandlingMT tests
 SOURCEPATH      ../src
     
-SOURCE      	cpeaudiodata.cpp        
-SOURCE      	cpegsmaudiodata.cpp
-SOURCE	    	cpeaudiodtmftoneplayer.cpp
-SOURCE      	cpeaudioinbandtoneplayer.cpp
-SOURCE      	cpeaudioroutingmonitor.cpp
-SOURCE	    	peaudiohandlingpanic.cpp
+SOURCE          cpeaudiodata.cpp        
+SOURCE          cpegsmaudiodata.cpp
+SOURCE          cpeaudiodtmftoneplayer.cpp
+SOURCE          cpeaudioinbandtoneplayer.cpp
+SOURCE          cpeaudioroutingmonitor.cpp
+SOURCE          peaudiohandlingpanic.cpp
 SOURCE        cpecallaudioroutinghandler.cpp
-SOURCE      	cpeaudiofactory.cpp
+SOURCE          cpeaudiofactory.cpp
 SOURCE        cpeaudiotoneutilityimpl.cpp
 
-START RESOURCE	../data/defaultbeep.rss
-TARGETPATH		RESOURCE_FILES_DIR
+START RESOURCE  ../data/defaultbeep.rss
+TARGETPATH      RESOURCE_FILES_DIR
 HEADER
 END
 
@@ -53,7 +53,7 @@
 SYSTEMINCLUDE   /epoc32/include/mmf/common
 
 LIBRARY         bafl.lib
-LIBRARY			cce.lib
+LIBRARY         cce.lib
 LIBRARY         telephonyaudiorouting.lib
 LIBRARY         efsrv.lib
 LIBRARY         engineinfo.lib
--- a/phoneengine/audiohandling/inc/audiodataproxy.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/inc/audiodataproxy.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 #define AUDIODATAPROXY_H
 
 //  INCLUDES
-#include "MPEAudioData.h"
+#include "mpeaudiodata.h"
 
 // CONSTANTS
 // None.
--- a/phoneengine/audiohandling/inc/cpeaudiodtmftoneplayer.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/inc/cpeaudiodtmftoneplayer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -141,8 +141,8 @@
 
         /**
         * Normalize tone.
-		* @since Series60_2.7
-		* @param aTone dtmf tone.
+        * @since Series60_2.7
+        * @param aTone dtmf tone.
         * @return None.
         */
         void Normalize( TChar& aTone );
@@ -156,7 +156,7 @@
          * CMMFDevSound. The CMMFDevSound uses valuess that can from 0 to the
          * value returned by a call to CMMFDevSound::MaxVolume().
          */
-    	TInt ConvertVolume( TInt aVolume );
+        TInt ConvertVolume( TInt aVolume );
     
     protected:    // Data
 
--- a/phoneengine/audiohandling/inc/cpeaudiofactory.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/inc/cpeaudiofactory.h	Fri Mar 19 09:28:42 2010 +0200
@@ -53,7 +53,7 @@
 */  
 
 NONSHARABLE_CLASS( CPEAudioFactory ) : public CBase
-	{
+    {
     public: 
         
         IMPORT_C static CPEAudioFactory* NewLC();
@@ -74,11 +74,11 @@
          */
         IMPORT_C virtual CPEAudioToneUtility* CreateAudioToneUtilityL(
             MMdaAudioToneObserver& aToneObserver );
-	
+    
 protected:
         IMPORT_C CPEAudioFactory();
-	};    
-	     
+    };    
+         
 #endif      // CPEAudioFactory_H  
             
 // End of File
--- a/phoneengine/audiohandling/inc/cpeaudioinbandtoneplayer.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/inc/cpeaudioinbandtoneplayer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -72,7 +72,7 @@
 
         /**
         * Plays given tone. Originates from CCP plugin.
-		* @param aTone inband tone needed to play
+        * @param aTone inband tone needed to play
         */
         void PlayInbandTone( TCCPTone aTone );
 
@@ -104,26 +104,26 @@
 
         /**
         * Playes current tone.
-		* @since Series60_2.7
-		* @param None.
+        * @since Series60_2.7
+        * @param None.
         * @return None.
-		*/
+        */
         void PlayCurrentTone();
 
-		//From MMdaAudioToneObserver
+        //From MMdaAudioToneObserver
         /**
         * Handles completion of preparation.
-		* @since Series60_2.7
-		* @param aError Isn't used.
+        * @since Series60_2.7
+        * @param aError Isn't used.
         * @return None.
         */
         void MatoPrepareComplete( TInt aError );
 
-		//From MMdaAudioToneObserver
+        //From MMdaAudioToneObserver
         /**
         * Handles completion of playing.
-		* @since Series60_2.7
-		* @param aError Isn't used.
+        * @since Series60_2.7
+        * @param aError Isn't used.
         * @return None.
         */
         void MatoPlayComplete( TInt aError );
@@ -146,12 +146,12 @@
 
         // Currently playing, NULL or tone sequence.
         CPEAudioToneUtility* iCurrent;
-		//Member variable for inband tone
-		TCCPTone iToneName;
+        //Member variable for inband tone
+        TCCPTone iToneName;
         // Owner of this object
         CPEAudioData& iOwner;
         // Current volume setting.
-		//NetworkBusy sequence
+        //NetworkBusy sequence
         HBufC8* iResourceBusySeq;
         //NetworkBusy sequence
         HBufC8* iResourceReorderSeq;
--- a/phoneengine/audiohandling/inc/cpegsmaudiodata.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/inc/cpegsmaudiodata.h	Fri Mar 19 09:28:42 2010 +0200
@@ -64,7 +64,7 @@
         */
         IMPORT_C static CPEGsmAudioData* NewL( MPEPhoneModelInternal& aPhoneModel,
                                                RFs& aFsSession );                                  
-		   
+           
                                                
         /**
         * Two-phased constructor for testing purposes
@@ -99,7 +99,7 @@
         * Plays the given dtmf tone
         * @since Series60_2.7
         * @param  aTone, dtmf tone to be played
-		* @param  aVolume, dtmf tones volume
+        * @param  aVolume, dtmf tones volume
         * @return None.  
         */
         IMPORT_C void PlayDtmfTone( const TChar& aTone ) const; 
--- a/phoneengine/audiohandling/inc/defaultbeep.rh	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/inc/defaultbeep.rh	Fri Mar 19 09:28:42 2010 +0200
@@ -17,12 +17,12 @@
 
 
 // Note frequencies
-#define SEQ_FREQ_A0	     440
+#define SEQ_FREQ_A0      440
 #define SEQ_FREQ_AsBf0   466  // 466.1637615 A#, Bb
-#define SEQ_FREQ_B0	     494  // 493.8833013
-#define SEQ_FREQ_C0	     523  // 523.2511306
-#define SEQ_FREQ_CsDf0	 554  // 554.365262 C#, Db, etc.
-#define SEQ_FREQ_D0	     587  // 587.3295358
+#define SEQ_FREQ_B0      494  // 493.8833013
+#define SEQ_FREQ_C0      523  // 523.2511306
+#define SEQ_FREQ_CsDf0   554  // 554.365262 C#, Db, etc.
+#define SEQ_FREQ_D0      587  // 587.3295358
 #define SEQ_FREQ_DsEf0   622  // 622.2539674
 #define SEQ_FREQ_E0      659  // 659.2551138
 #define SEQ_FREQ_F0      698  // 698.4564629
@@ -58,24 +58,24 @@
 
 // Volume defines
 #define SEQ_VOL_F        32767 // Forte = Loud
-#define SEQ_VOL_MF	     24575 // Mezzo forte = Medium loud
-#define SEQ_VOL_MP		 16383 // Mezzo piano = Medium soft
+#define SEQ_VOL_MF       24575 // Mezzo forte = Medium loud
+#define SEQ_VOL_MP       16383 // Mezzo piano = Medium soft
 #define SEQ_VOL_P         8191 // Piano = Soft
 
 
 STRUCT SEQ_2TONES
 {
-	WORD duration;
-	WORD freq1;
-	WORD vol1;
-	WORD freq2;
-	WORD vol2;
+    WORD duration;
+    WORD freq1;
+    WORD vol1;
+    WORD freq2;
+    WORD vol2;
 }
 
 STRUCT SEQ_LOOP
 {
-	WORD repeats;
-	STRUCT tones[];
+    WORD repeats;
+    STRUCT tones[];
 }
 
 
--- a/phoneengine/audiohandling/src/cpeaudiodata.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/src/cpeaudiodata.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -32,7 +32,7 @@
 #include "cpeaudiodtmftoneplayer.h"
 #include "cpeaudioroutingmonitor.h"
 #include "cpecallaudioroutinghandler.h"
-#include "cpeaudiofactory.h"	
+#include "cpeaudiofactory.h"    
 #include <telinternalpskeys.h>
 // CONSTANTS
 //Mute Value for volume
@@ -73,7 +73,7 @@
     RProperty::TType type( RProperty::EInt );
     TSecurityPolicy readPolicy( ECapability_None );
     TSecurityPolicy writePolicy( ECapabilityWriteDeviceData );
-    	
+        
     RProperty::Define( KPSUidTelMicrophoneMuteStatus, 
         KTelMicrophoneMuteState,
         type,
@@ -196,33 +196,33 @@
         "AUD CPEAudioData::SendMessage: aMessage = %d", aMessage );
    
    if ( aMessage == MEngineMonitor::EPEMessageAudioVolumeChanged )
-	   {
-	    // update volume
-	    if ( iPhoneModel.DataStore()->AudioOutput() == EPELoudspeaker )
-	        {
-	        iLoudspeakerVolume = iPhoneModel.DataStore()->AudioVolume();
-	        TEFLOGSTRING2( KTAINT, 
-	            "AUD CPEAudioData::SendMessage: iLoudspeakerVolume = %d", 
-	            iLoudspeakerVolume );
-	        }
-	    else 
-	        {
-	        iHeadSetVolume = iPhoneModel.DataStore()->AudioVolume();
-	        TEFLOGSTRING2( KTAINT, 
-	            "AUD CPEAudioData::SendMessage: iHeadSetVolume = %d", 
-	            iHeadSetVolume );
-	        }	
-    	   	
-       	if ( !iAudioOutputChanged )
+       {
+        // update volume
+        if ( iPhoneModel.DataStore()->AudioOutput() == EPELoudspeaker )
+            {
+            iLoudspeakerVolume = iPhoneModel.DataStore()->AudioVolume();
+            TEFLOGSTRING2( KTAINT, 
+                "AUD CPEAudioData::SendMessage: iLoudspeakerVolume = %d", 
+                iLoudspeakerVolume );
+            }
+        else 
+            {
+            iHeadSetVolume = iPhoneModel.DataStore()->AudioVolume();
+            TEFLOGSTRING2( KTAINT, 
+                "AUD CPEAudioData::SendMessage: iHeadSetVolume = %d", 
+                iHeadSetVolume );
+            }   
+            
+        if ( !iAudioOutputChanged )
             {
             // EPEMessageAudioVolumeChanged message must not be sent 
             // while audio output change is being processed
-            iPhoneModel.SendMessage( aMessage );	
+            iPhoneModel.SendMessage( aMessage );    
             }
-	   }
+       }
     else 
         {
-        iPhoneModel.SendMessage( aMessage );	
+        iPhoneModel.SendMessage( aMessage );    
         }        
     }
 
@@ -402,7 +402,7 @@
             TEFLOGSTRING( KTAINT, 
                 "AUD CPEAudioData::SetAudioVolumeSync: EPEIncallEarVolumeSetting");
             }
-		}            
+        }            
  
     iPhoneModel.DataStore()->SetAudioVolume( aAudioVolume );
 
@@ -470,41 +470,41 @@
 #if defined(__WINSCW__ ) && !defined(UNIT_TESTING)
     iAudioRouting->SetShowNote( aShowNote );
     SendMessage( MEngineMonitor::EPEMessageAudioOutputChanged, aOutput);
-#else   	
-    CTelephonyAudioRouting::TAudioOutput output = iAudioRouting->Output();    	
+#else       
+    CTelephonyAudioRouting::TAudioOutput output = iAudioRouting->Output();      
      
     if ( output == aOutput ) 
-    	{
-    	// audio routing cannot changed
-    	TEFLOGSTRING2( KTAERROR, 
-    	    "AUD CPEAudioData::SetTAROutput: audio path already (%d)"
-    	    , aOutput );
-  		return;
-     	}
-    iAudioRouting->SetShowNote( aShowNote );     	    
-   	TRAPD( err, iAudioRouting->SetOutputL( aOutput ) );
+        {
+        // audio routing cannot changed
+        TEFLOGSTRING2( KTAERROR, 
+            "AUD CPEAudioData::SetTAROutput: audio path already (%d)"
+            , aOutput );
+        return;
+        }
+    iAudioRouting->SetShowNote( aShowNote );            
+    TRAPD( err, iAudioRouting->SetOutputL( aOutput ) );
     
-	if( err )
-		{
-		TEFLOGSTRING2( KTAERROR, 
-		    "AUD CPEAudioData::SetTAROutput:Leave.1 (%d)", err );
- 	    switch ( aOutput )
-		    {
-			case CTelephonyAudioRouting::ELoudspeaker:
-			case CTelephonyAudioRouting::EWiredAudioAccessory:   		    
-			case CTelephonyAudioRouting::EBTAudioAccessory:
-				// if leave try handset
-				TRAPD( err2, iAudioRouting->SetOutputL( CTelephonyAudioRouting::EHandset ) );
-				if( err2 )
-					{
-					TEFLOGSTRING2( KTAERROR, 
-					    "AUD CPEAudioData::SetTAROutput:Leave.2 (%d)", err );
- 					}				
-				break;
-		  	default:
-		        // None
-		    	break;     
-		    }
+    if( err )
+        {
+        TEFLOGSTRING2( KTAERROR, 
+            "AUD CPEAudioData::SetTAROutput:Leave.1 (%d)", err );
+        switch ( aOutput )
+            {
+            case CTelephonyAudioRouting::ELoudspeaker:
+            case CTelephonyAudioRouting::EWiredAudioAccessory:              
+            case CTelephonyAudioRouting::EBTAudioAccessory:
+                // if leave try handset
+                TRAPD( err2, iAudioRouting->SetOutputL( CTelephonyAudioRouting::EHandset ) );
+                if( err2 )
+                    {
+                    TEFLOGSTRING2( KTAERROR, 
+                        "AUD CPEAudioData::SetTAROutput:Leave.2 (%d)", err );
+                    }               
+                break;
+            default:
+                // None
+                break;     
+            }
         }
 #endif        
     }
--- a/phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/src/cpeaudiodtmftoneplayer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -23,7 +23,7 @@
 #include    <utility.h>
 #include    <mdaaudiotoneplayer.h>
 #include    <talogger.h>
-#include    <AudioPreference.h> 
+#include    <AudioPreference.h>
 
 // EXTERNAL DATA STRUCTURES
 // None
@@ -32,7 +32,9 @@
 // None
 
 // CONSTANTS
-const TInt KDtmfSilent = 0;
+// <-- QT PHONE START --> 
+//const TInt KDtmfSilent = 0;
+// <-- QT PHONE END --> 
 const TInt KDtmfPauseAfterTone = 100000;
 const TInt KDtmfToneZero = 0;
 const TInt KBufSize = 10;
--- a/phoneengine/audiohandling/src/cpeaudiofactory.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/src/cpeaudiofactory.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 // INCLUDES
 #include "cpeaudiofactory.h"
 #include "cpeaudiotoneutilityimpl.h"
-#include <TelephonyAudioRouting.h> 
+#include <TelephonyAudioRouting.h>
 
 // EXTERNAL DATA STRUCTURES
 // None.
@@ -64,8 +64,8 @@
 // -----------------------------------------------------------------------------
 //  
 EXPORT_C CPEAudioFactory::CPEAudioFactory()
-	{
-	}
+    {
+    }
 
 // -----------------------------------------------------------------------------
 // CPEAudioFactory::CreateTelephonyAudioRoutingL
--- a/phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/src/cpeaudioinbandtoneplayer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,7 @@
 #include    "cpeaudioinbandtoneplayer.h"
 #include    "cpeaudiofactory.h"
 #include    "cpeaudiotoneutility.h"
-#include    <AudioPreference.h> 
+#include    <AudioPreference.h>
 #include    <barsc.h> 
 #include    <barsread.h>
 #include    <data_caging_path_literals.hrh> 
@@ -352,7 +352,7 @@
             TEFLOGSTRING2( KTAINT, "AUD CPEAudioInbandTonePlayer::PlayInbandTone: No InbandTone defined to play with: %d", aTone );
             __ASSERT_DEBUG( EFalse, Panic( EPEPanicNotCompleted ) );
             break;
-    	}
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -413,7 +413,7 @@
                     break;
                 case ECCPToneRadioPathNotAvailable:
                     iCurrent->SetRepeats( 
-						KPhoneInbandToneRepeatOnce, 
+                        KPhoneInbandToneRepeatOnce, 
                         TTimeIntervalMicroSeconds( KPhoneInbandToneZero ) );
                     iCurrent->SetPriority(
                         KAudioPriorityNetMsg,
@@ -453,7 +453,7 @@
                     break;
                 case ECCPCallWaiting:
                     iCurrent->SetRepeats( 
-                   		KPhoneInbandToneNoRepeat, 
+                        KPhoneInbandToneNoRepeat, 
                         TTimeIntervalMicroSeconds( KPhoneInbandToneZero ) );
                     iCurrent->SetPriority(
                         KAudioPriorityNetMsg,
@@ -481,7 +481,7 @@
                     if ( iRingingType == EProfileRingingTypeRingingOnce )
                         {
                         iCurrent->SetRepeats( 
-                        	KPhoneInbandToneNoRepeat, 
+                            KPhoneInbandToneNoRepeat, 
                             TTimeIntervalMicroSeconds( KPhoneInbandToneZero ) );
                         }
                     break;
@@ -494,8 +494,8 @@
                         KAudioPriorityPhoneCall,
                         static_cast < TMdaPriorityPreference > ( KAudioPrefIncomingCall ) );
                     iCurrent->SetRepeats( 
-						KPhoneInbandToneNoRepeat, 
-                    	TTimeIntervalMicroSeconds( KPhoneInbandToneZero ) );
+                        KPhoneInbandToneNoRepeat, 
+                        TTimeIntervalMicroSeconds( KPhoneInbandToneZero ) );
                     iCurrent->SetVolumeRamp( TTimeIntervalMicroSeconds( KPhoneInbandToneZero ) );
                     break;
                 default:
--- a/phoneengine/audiohandling/src/cpeaudioroutingmonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/src/cpeaudioroutingmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -91,7 +91,7 @@
     iOwner.SendMessage( MEngineMonitor::EPEMessageAvailableAudioOutputsChanged, 
                         aTelephonyAudioRouting );
     }
-		
+        
 // -----------------------------------------------------------------------------
 // CPEAudioRoutingMonitor::OutputChanged
 // Output mode changed event received.
@@ -104,7 +104,7 @@
     iOwner.SendMessage( MEngineMonitor::EPEMessageAudioOutputChanged, 
                         aTelephonyAudioRouting.Output() );
     }
-		
+        
 // -----------------------------------------------------------------------------
 // CPEAudioRoutingMonitor::SetOutputComplete
 // OutputComplete mode changed event received.
--- a/phoneengine/audiohandling/src/cpecallaudioroutinghandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/src/cpecallaudioroutinghandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -117,18 +117,18 @@
     else
         {
         if ( iAnyVideoCall )
-        	{
-        	if ( iAnswerToHandset )
-        	    {
-        	    newOutput = CTelephonyAudioRouting::EHandset;
-        	    }
+            {
+            if ( iAnswerToHandset )
+                {
+                newOutput = CTelephonyAudioRouting::EHandset;
+                }
             else
                 {
                 newOutput = CTelephonyAudioRouting::ELoudspeaker;        
-                }        	    
+                }               
             }
         else
-        	{
+            {
             newOutput = iOwner.RoutePreference();
             } 
         }
@@ -165,73 +165,73 @@
     switch ( curOutput )
         {
         case CTelephonyAudioRouting::ENotActive:
-   			// None
+            // None
              break;
- 		case CTelephonyAudioRouting::EHandset:
- 		case CTelephonyAudioRouting::ELoudspeaker:
- 			// Wired audio accessory connected during call
- 			if ( iOwner.IsWiredAvailable() )
- 				{
- 				newOutput = CTelephonyAudioRouting::EWiredAudioAccessory;
-  				}
- 			// BT comes available during call	
- 			else if ( iOwner.IsBTAvailable() )
- 				{
- 		        newOutput = CTelephonyAudioRouting::EBTAudioAccessory;
-  				}
-			else if ( iOwner.IsTTYAvailable() ) 				
-				{
- 				newOutput = CTelephonyAudioRouting::ETTY;
-  				}
-  			else
-  			    {
-  			    // No changes
-  			    }	
- 		    break;
- 		case CTelephonyAudioRouting::EWiredAudioAccessory:
- 			if ( iOwner.IsBTAvailable() )
-  			    {
- 				// Not allowed direct from wired to BTA
- 				// or BTA comes available during wired, No changes
- 				}
- 			if ( iOwner.IsWiredAvailable() )
-				{
- 			    // No changes
-				}
-		    else if ( iAnyVideoCall )
- 			    {
- 			    newOutput = CTelephonyAudioRouting::ELoudspeaker;
- 			    }
-            else 			    
-				{
-				// Wired detach
-            	newOutput = iOwner.RoutePreference();
-				}	
-         	break;
-		case CTelephonyAudioRouting::EBTAudioAccessory:
- 			if ( iOwner.IsWiredAvailable() )
- 				{
- 				newOutput = CTelephonyAudioRouting::EWiredAudioAccessory;
-   				}
-  			else if ( iOwner.IsBTAvailable() )	
-  				{
-  			    // No changes
-  				}
-			else
-				{
- 				newOutput = iOwner.RoutePreference();
- 				}		    
-   		    break;
+        case CTelephonyAudioRouting::EHandset:
+        case CTelephonyAudioRouting::ELoudspeaker:
+            // Wired audio accessory connected during call
+            if ( iOwner.IsWiredAvailable() )
+                {
+                newOutput = CTelephonyAudioRouting::EWiredAudioAccessory;
+                }
+            // BT comes available during call   
+            else if ( iOwner.IsBTAvailable() )
+                {
+                newOutput = CTelephonyAudioRouting::EBTAudioAccessory;
+                }
+            else if ( iOwner.IsTTYAvailable() )                 
+                {
+                newOutput = CTelephonyAudioRouting::ETTY;
+                }
+            else
+                {
+                // No changes
+                }   
+            break;
+        case CTelephonyAudioRouting::EWiredAudioAccessory:
+            if ( iOwner.IsBTAvailable() )
+                {
+                // Not allowed direct from wired to BTA
+                // or BTA comes available during wired, No changes
+                }
+            if ( iOwner.IsWiredAvailable() )
+                {
+                // No changes
+                }
+            else if ( iAnyVideoCall )
+                {
+                newOutput = CTelephonyAudioRouting::ELoudspeaker;
+                }
+            else                
+                {
+                // Wired detach
+                newOutput = iOwner.RoutePreference();
+                }   
+            break;
+        case CTelephonyAudioRouting::EBTAudioAccessory:
+            if ( iOwner.IsWiredAvailable() )
+                {
+                newOutput = CTelephonyAudioRouting::EWiredAudioAccessory;
+                }
+            else if ( iOwner.IsBTAvailable() )  
+                {
+                // No changes
+                }
+            else
+                {
+                newOutput = iOwner.RoutePreference();
+                }           
+            break;
         case CTelephonyAudioRouting::ETTY:
-        	if ( iOwner.IsTTYAvailable()  )
- 				{
-  			    // No changes
-   				}
- 			else
-				{
- 				newOutput = iOwner.RoutePreference();
- 				}
-        	break;
+            if ( iOwner.IsTTYAvailable()  )
+                {
+                // No changes
+                }
+            else
+                {
+                newOutput = iOwner.RoutePreference();
+                }
+            break;
        default:
             break;     
         }
@@ -263,8 +263,8 @@
     CTelephonyAudioRouting::TAudioOutput newOutput = curOutput;
     
     if ( !iAnyVideoCall &&
-       	 curOutput != CTelephonyAudioRouting::EWiredAudioAccessory &&
-       	 curOutput != CTelephonyAudioRouting::EBTAudioAccessory )
+         curOutput != CTelephonyAudioRouting::EWiredAudioAccessory &&
+         curOutput != CTelephonyAudioRouting::EBTAudioAccessory )
         {
         newOutput = iOwner.RoutePreference();
         }
--- a/phoneengine/audiohandling/src/cpegsmaudiodata.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/audiohandling/src/cpegsmaudiodata.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -118,7 +118,7 @@
         ( 
         MPEPhoneModelInternal& aPhoneModel,
         RFs& aFsSession,
-        CPEAudioFactory& aAudioFactory	
+        CPEAudioFactory& aAudioFactory  
         )
     {
     CPEGsmAudioData* self = new ( ELeave ) 
@@ -151,7 +151,7 @@
         const TChar& aTone //DTMF tone to play
         ) const
     {
-	TInt volume;  //DTMF tone volume
+    TInt volume;  //DTMF tone volume
     volume = iPhoneModel.DataStore()->KeypadVolume();
 
     TEFLOGSTRING3( KTAREQIN, 
@@ -159,7 +159,7 @@
         &aTone, 
         volume );
 
-	iDtmfTonePlayer->SetVolume( volume );
+    iDtmfTonePlayer->SetVolume( volume );
     iDtmfTonePlayer->PlayDtmfTone( aTone );
     }
 
@@ -232,7 +232,7 @@
                 if ( DtmfLocalPlayAllowed() )
                     {
                     TEFLOGSTRING( KTAINT, "AUD CPEGsmAudioData::HandleDTMFEvent: PlayDtmfTone" );
-    			    PlayDtmfTone( aTone );
+                    PlayDtmfTone( aTone );
                     }
                 else
                     {
@@ -249,16 +249,16 @@
             case ECCEDtmfStringSendingCompleted:
             default:
                 TEFLOGSTRING( KTAINT, "AUD CPEGsmAudioData::HandleDTMFEvent: StopDtmfTonePlay" );
-    			//Stop tone playing
-    			StopDtmfTonePlay();
+                //Stop tone playing
+                StopDtmfTonePlay();
                 break;
             }
         }
     else
         {
         TEFLOGSTRING( KTAINT, "AUD CPEGsmAudioData::HandleDTMFEvent: Error case" );
-    	//Stop tone playing
-    	StopDtmfTonePlay();
+        //Stop tone playing
+        StopDtmfTonePlay();
         }
     }
 
--- a/phoneengine/callhandling/group/callhandling.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/group/callhandling.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -40,7 +40,6 @@
 SOURCE      cpesystemcallstate.cpp
 SOURCE      cpevideocallhandling.cpp
 SOURCE      cpecceobserver.cpp
-SOURCE      tpematcher.cpp
 
 USERINCLUDE     ../inc
 
@@ -58,7 +57,6 @@
 LIBRARY featmgr.lib // Feature manager. 
 LIBRARY flogger.lib
 LIBRARY phonesettings.lib
-LIBRARY centralrepository.lib   // CenRep.
 
 LANG            SC
 START WINS
--- a/phoneengine/callhandling/inc/cpecallhandling.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/inc/cpecallhandling.h	Fri Mar 19 09:28:42 2010 +0200
@@ -54,7 +54,6 @@
 class CCCECallParameters;
 class CPECCEObserver;
 class CPESystemCallState;
-class CRepository;
 
 // CLASS DECLARATION
 
@@ -649,14 +648,6 @@
          * @param aCall reference to call object
          */
         void SetCallOrigin( const TInt aCallId, const MCCECall& aCall ) const;
-        
-        /**
-         * Set COLP number to datastore if remote party number is 
-         * different from dialled number.
-         * @param aCallid.
-         * @param aCall reference to call object
-         */
-        void SetColpNumber( TInt aCallId, const MCCECall& aCall ) const;
 
     protected:
         // Phone model instance which owns this object.
@@ -698,8 +689,6 @@
         CPECCEObserver* iCCEObserver;
         // System Call State
         CPESystemCallState* iSystemCallState;
-        
-        CRepository* iRepository;
     };
 
 #endif    // CPECALLHANDLING_H
--- a/phoneengine/callhandling/inc/cpeconferencecall.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/inc/cpeconferencecall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -58,18 +58,18 @@
         /**
         * Two-phased constructor.
         */
-    	IMPORT_C static CPEConferenceCall* NewL( 
-    	    MPEMessageSender& aOwner,
-        	CCCE& aConvergedCallEngine );
-    	
-    	/**
+        IMPORT_C static CPEConferenceCall* NewL( 
+            MPEMessageSender& aOwner,
+            CCCE& aConvergedCallEngine );
+        
+        /**
         * Two-phased constructor.
         * Conference call is made outof telephony control
         */
         IMPORT_C static CPEConferenceCall* NewL( 
             MPEMessageSender& aOwner,
             MCCEConferenceCall& aCall );
-        	
+            
         /**
         * Destructor.
         */
@@ -97,7 +97,7 @@
         
    public: // From MCCEConferenceCallObserver
    
-	    /**
+        /**
         * A ConferenceCall event has occurred.
         *
         * @param aEvent Occurred event.
@@ -197,9 +197,9 @@
         */
         void GoOneToOneL( MCCECall& aCall );
 
-	protected:
-	
-		/**
+    protected:
+    
+        /**
         * C++ default constructor.
         */
         CPEConferenceCall( MPEMessageSender& aOwner, MCCEConferenceCall& aCall );
--- a/phoneengine/callhandling/inc/cpegprstermination.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/inc/cpegprstermination.h	Fri Mar 19 09:28:42 2010 +0200
@@ -24,8 +24,10 @@
 #include    <e32base.h>
 
 // FORWARD DECLARATIONS
-class CCoUtlInterface;
-
+// <-- QT PHONE START --> 
+//class CCoUtlInterface;
+// <-- QT PHONE END -->
+ 
 // CLASS DECLARATION
 
 /**
@@ -74,9 +76,10 @@
         void DoCancel();
 
     private:
-
+// <-- QT PHONE START --> 
         // Owned GPRS termination instance.
-        CCoUtlInterface* iInterface;
+        //CCoUtlInterface* iInterface;
+// <-- QT PHONE END --> 
 
     };
 
--- a/phoneengine/callhandling/inc/cpesinglecall.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/inc/cpesinglecall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -98,8 +98,8 @@
         /**
         * Disables FDN checking for SIM ATK originated calls
         */  
-		void DisableFDNCheck();
-		
+        void DisableFDNCheck();
+        
         /**
         * Creates deflect request to cce call object
         * @param aMobileAddress the address of the remote party
@@ -147,13 +147,13 @@
         /**
         * Returns the inband tone needed to play in state transition
         */    
-		TCCPTone Tone();
-		
+        TCCPTone Tone();
+        
         /**
         * Creates hangup request to cce call  object
         * @return possible error code
         */ 
-		TInt HangUp();
+        TInt HangUp();
         
         /**
         * Offers call parameters
--- a/phoneengine/callhandling/inc/cpesinglecallobserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/inc/cpesinglecallobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -52,38 +52,38 @@
         : public CPECall, 
           public MCCECallObserver
     {
-	protected: //Constructors and descructor
-	    /**
-	    * C++ default constructor.
-	    */
-	    CPESingleCallObserver( MPEMessageSender& aOwner );
+    protected: //Constructors and descructor
+        /**
+        * C++ default constructor.
+        */
+        CPESingleCallObserver( MPEMessageSender& aOwner );
 
-	    /**
-	    * Destructor.
-	    */
-	    virtual ~CPESingleCallObserver();
+        /**
+        * Destructor.
+        */
+        virtual ~CPESingleCallObserver();
 
-	public:    // from MCCECallObserver
-	
-	    /**
+    public:    // from MCCECallObserver
+    
+        /**
         * Call errors are notified using this interface. 
         *
         * @since S60 v3.2
         * @param aError Occurred error as integer,
         * return none
         */
-    	IMPORT_C void ErrorOccurred( const TCCPError aError );
-	    
-	    /**
-	    * Call state notificfation. 
-	    * TODO: The observer need to verify the correctness of given state.
-	    * CCE will do at least basic call state change checking but also the client 
-	    * needs to verify the correctness.
-	    *
-	    * @since S60 v3.2
-	    * @param aState New state of the call
-	    * return none
-	    */
+        IMPORT_C void ErrorOccurred( const TCCPError aError );
+        
+        /**
+        * Call state notificfation. 
+        * TODO: The observer need to verify the correctness of given state.
+        * CCE will do at least basic call state change checking but also the client 
+        * needs to verify the correctness.
+        *
+        * @since S60 v3.2
+        * @param aState New state of the call
+        * return none
+        */
         IMPORT_C void CallStateChanged( const CCPCall::TCallState aState );
 
         /**
@@ -95,49 +95,49 @@
         */
         IMPORT_C void CallStateChangedWithInband( const CCPCall::TCallState aState );
 
-	    /**
-	    * An event for the call has occurred. 
-	    * TODO: the observer need to verify event correcness.
-	    *
-	    * @since S60 v3.2
-	    * @param aEvent Occurred call event
-	    * return none
-	    */
+        /**
+        * An event for the call has occurred. 
+        * TODO: the observer need to verify event correcness.
+        *
+        * @since S60 v3.2
+        * @param aEvent Occurred call event
+        * return none
+        */
         IMPORT_C void CallEventOccurred( const MCCECallObserver::TCCECallEvent aEvent );
-	    
-	    /**
-	    * Notifies observer the change in call duration.
-	    *
-	    * @since S60 v3.2
-	    * @param aDuration Duration of the call in seconds
-	    * return none
-	    */
+        
+        /**
+        * Notifies observer the change in call duration.
+        *
+        * @since S60 v3.2
+        * @param aDuration Duration of the call in seconds
+        * return none
+        */
         IMPORT_C void CallDurationChanged( const TTimeIntervalSeconds aDuration );
-	    
-	    /**
-	    * Notifies observer about the changes in call control caps.
-	    *
-	    * @since S60 v3.2
-	    * @param aCaps Contains updated call control capability flags
-	    * return none
-	    */
+        
+        /**
+        * Notifies observer about the changes in call control caps.
+        *
+        * @since S60 v3.2
+        * @param aCaps Contains updated call control capability flags
+        * return none
+        */
         IMPORT_C void CallCapsChanged( const MCCECallObserver::TCCECallControlCaps aCaps );
-	    
-	    /**
-	    * Notifies observer about transfer made by remote end
-	    *
-	    * @since S60 v3.2
-	    * @param aAttended ETrue: if transfer type is attended, EFalse: type is unattended
-	    * @param aDestination Address where the call is to be transferred. Given as received in CCE 
-	    * observer needs to verify the address, e.g. it can be KNullDesC.
-	    * TODO anonymous transfer target - quess cannot be occurring? 
-	    * A-B -> B-C, C has requested anonymity in network???
-	    */
+        
+        /**
+        * Notifies observer about transfer made by remote end
+        *
+        * @since S60 v3.2
+        * @param aAttended ETrue: if transfer type is attended, EFalse: type is unattended
+        * @param aDestination Address where the call is to be transferred. Given as received in CCE 
+        * observer needs to verify the address, e.g. it can be KNullDesC.
+        * TODO anonymous transfer target - quess cannot be occurring? 
+        * A-B -> B-C, C has requested anonymity in network???
+        */
         IMPORT_C void HandleTransfer( const TBool aAttended, 
-	                                  const TDesC& aDestination );
+                                      const TDesC& aDestination );
        
     public:    //New functions 
-	                 
+                     
         /**
         * Returns call duration time
         * @param aDuration the duration value of the call
--- a/phoneengine/callhandling/inc/cpesupplementaryservicesmonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/inc/cpesupplementaryservicesmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -71,29 +71,29 @@
         /**
         From MCCESsObserver
         */
-    	IMPORT_C void BarringEventOccurred( const MCCESsObserver::TCCESsBarringEvent aBarringEvent );
+        IMPORT_C void BarringEventOccurred( const MCCESsObserver::TCCESsBarringEvent aBarringEvent );
 
         /**
         From MCCESsObserver
         */
-    	IMPORT_C void CLIEventOccurred( const MCCESsObserver::TCCESsCLIEvent aCallLineEvent );
+        IMPORT_C void CLIEventOccurred( const MCCESsObserver::TCCESsCLIEvent aCallLineEvent );
 
         /**
         From MCCESsObserver
         */
-    	IMPORT_C void CallForwardEventOccurred( 
-    						const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
-    						const TDesC& aRemoteAddress );
+        IMPORT_C void CallForwardEventOccurred( 
+                            const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
+                            const TDesC& aRemoteAddress );
 
         /**
         From MCCESsObserver
         */
-    	IMPORT_C void CallCugEventOccurred( const MCCESsObserver::TCCESsCugEvent aCugEvent );
+        IMPORT_C void CallCugEventOccurred( const MCCESsObserver::TCCESsCugEvent aCugEvent );
 
         /**
         From MCCESsObserver
         */
-    	IMPORT_C void NotifyCurrentActiveALSLine( TInt aLine );
+        IMPORT_C void NotifyCurrentActiveALSLine( TInt aLine );
 
     private:
         // Owner of this object
--- a/phoneengine/callhandling/inc/mpecallhandling.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/inc/mpecallhandling.h	Fri Mar 19 09:28:42 2010 +0200
@@ -370,11 +370,11 @@
         virtual void CancelDtmfPlay() = 0;
         
         /**
-    	* This method gets the lifetime of the MS. The lifetime information 
-    	* includes the manufacturing date of the MS and the total amount of airtime use.
-    	* @param aLifeTimeInfo Life time information
-    	* @return Get succeeded or not.
-    	*/
+        * This method gets the lifetime of the MS. The lifetime information 
+        * includes the manufacturing date of the MS and the total amount of airtime use.
+        * @param aLifeTimeInfo Life time information
+        * @return Get succeeded or not.
+        */
         virtual TBool GetLifeTime( TDes8& aLifeTimeInfo ) = 0;
         
         /**
--- a/phoneengine/callhandling/inc/tpematcher.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains the header file of the class TPEMatcher. 
-*
-*/
-
-#ifndef TPEMATCHER_H_
-#define TPEMATCHER_H_
-
-#include <e32def.h>
-#include <e32cmn.h>
-
-class TPEMatcher 
-    {
-public:
-	
-	 /**
-    * C++ default constructor.
-    */
-    TPEMatcher();
-    
-   /**
-	  * Destructor.
-    */
-    ~TPEMatcher();
-    
-    /**
-     * Finds if the two numbers match. Numbers are matched from
-     * right to left. If either or both of the numbers passed as a parameter
-     * are shorter than aCount the shortes number count is used in
-     * matching.     
-     * 
-     * @since S60 v5.2
-     * @param aNumber1 phone number.
-     * @param aNumber2 phone number.
-     * @param aCount Digit count used to match numbers.
-     * @return Found match. 
-     */
-    TBool numbersMatch( const TDesC& aNumber1, const TDesC& aNumber2, TInt aCount );
-    
-    };
-
-
-#endif /* TPEMATCHER_H_ */
--- a/phoneengine/callhandling/src/cpecallhandling.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/src/cpecallhandling.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -29,7 +29,6 @@
 #include    "mpecallhandling.h"
 #include    "cpecceobserver.h"
 #include    "cpesystemcallstate.h"
-#include    "tpematcher.h"
 
 #include    <gsmerror.h>
 #include    <mpedatastore.h>
@@ -38,10 +37,8 @@
 #include    <PSVariables.h>
 #include    <ctsydomainpskeys.h>
 #include    <mccecall.h>
-#include    <PsetSAObserver.h>
+#include    <psetsaobserver.h>
 #include    <cccecallparameters.h>
-#include    <centralrepository.h>
-#include    <telconfigcrkeys.h>
 
 // EXTERNAL DATA STRUCTURES
 // None
@@ -50,7 +47,7 @@
 // None
 
 // CONSTANTS
-const TInt KPEMatchDefault = 7;
+// None
 
 // MACROS
 // None
@@ -95,7 +92,6 @@
     {  
     TEFLOGSTRING( KTAOBJECT, "CALL CPECallHandling::~CPECallHandling() start");
     
-    delete iRepository;
     delete iSystemCallState;
     delete iDtmfHandling;
     
@@ -168,8 +164,6 @@
     
     iSystemCallState = CPESystemCallState::NewL( *iCallArrayOwner, *iModel.DataStore() );
     
-    iRepository = CRepository::NewL( KCRUidTelConfiguration );
-    
     TEFLOGSTRING( KTAOBJECT, "CALL CPECallHandling::BaseConstructL() complete");
     }
 
@@ -448,8 +442,7 @@
             
             if( connectedCall )
                 {
-                MCCECall& call = connectedCall->Call();
-                CCPCall::TCallType callType = call.Parameters().CallType();
+                CCPCall::TCallType callType = connectedCall->Call().Parameters().CallType();
                 
                 if ( callType == CCPCall::ECallTypePS ) 
                     {
@@ -465,20 +458,14 @@
                         "CALL CPECallHandling::SendMessage -> EPEMessageRemotePartyInfoChanged->update call type to CS");
                     iCallOpenParams->SetCallType( CCPCall::ECallTypeCSVoice );
                     iModel.DataStore()->SetServiceIdCommand( 1 );
-                    iModel.DataStore()->SetCallType( EPECallTypeCSVoice, aCallId );  
-                    SetColpNumber( aCallId, call );
+                    iModel.DataStore()->SetCallType( EPECallTypeCSVoice, aCallId );    
                     }
-                
-                iModel.DataStore()->SetRemotePartyName( call.RemotePartyName(), aCallId );                
-                iModel.DataStore()->SetRemotePhoneNumber( call.RemoteParty(), aCallId );
-                iModel.DataStore()->SetCallIndex(call.CallIndex(), aCallId );
                 }
-            break;
             }
-                   
+       // Flow throught
+            
         case MEngineMonitor::EPEMessageIncoming:
             {
-            TEFLOGSTRING( KTAMESINT, "CALL CPECallHandling::SendMessage -> EPEMessageIncoming");
             CPESingleCall* callData = iCallArrayOwner->GetCallObject( aCallId );
             if( callData )
                 {
@@ -2432,40 +2419,5 @@
         }                
     }
 
-// -----------------------------------------------------------------------------
-// CPECallHandling::SetColpNumber
-// -----------------------------------------------------------------------------
-//
-void CPECallHandling::SetColpNumber( TInt aCallId, const MCCECall& aCall ) const
-    {
-    TEFLOGSTRING( KTAINT, "CALL CPECallHandling::SetColpNumber" );
-    
-    TInt errorCode( KErrNone );
-    TInt value( KPEMatchDefault );
-    TPEMatcher matcher;    
-    
-    const TPEPhoneNumber& origRemoteNumber = iModel.DataStore()->RemotePhoneNumber( aCallId );    
-    const TPEPhoneNumber& remoteNumber = aCall.RemoteParty();
-    
-    errorCode = iRepository->Get( KTelMatchDigits, value );
-
-    if ( !errorCode == KErrNone )
-        {
-        TEFLOGSTRING( KTAOBJECT, "Reading KTelMatchDigits failed, use default value for matching");
-        }    
-    
-    //check if remote number is different from dialled number
-    if ( !matcher.numbersMatch( origRemoteNumber, remoteNumber, value ) )
-        {
-        //set COLP number        
-        iModel.DataStore()->SetRemoteColpNumber( remoteNumber, aCallId );
-        
-        TEFLOGSTRING3( KTAMESINT, 
-                "CPECallHandling::SetColpNumber, colp number: '%S', call id: %d", 
-                &remoteNumber, aCallId );
-        }        
-    }
-        
-
 
 //  End of File 
--- a/phoneengine/callhandling/src/cpeconferencecall.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/src/cpeconferencecall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -84,7 +84,7 @@
 // -----------------------------------------------------------------------------
 //
 void CPEConferenceCall::ConstructL(
-		CCCE& aConvergedCallEngine )
+        CCCE& aConvergedCallEngine )
     {
     TEFLOGSTRING( KTAOBJECT, "cpecallgsm: CPEGsmConferenceCall::ConstructL start." );
     iConferenceCall = &( aConvergedCallEngine.ConferenceCallL( *this ) );
@@ -172,26 +172,26 @@
 EXPORT_C void CPEConferenceCall::CallEventOccurred( 
         const MCCEConferenceCallObserver::TCCEConferenceCallEvent aEvent,
         MCCECall* aReferredCall  )
-	{
-	TEFLOGSTRING2( KTAREQEND, "CALL CPEConferenceCall::ConferenceCallEventOccurred, event: %d", aEvent );
-	
-	if ( aReferredCall )
-		{
-		//resolve the referred call first
-		RMobileCall::TMobileCallInfoV1 callInfo;
-		RMobileCall::TMobileCallInfoV1Pckg callInfoPckg( callInfo );
-	    TEFLOGSTRING( KTAREQOUT, "CALL CPEConferenceCall::ConferenceCallEventOccurred: Request MCCECall::GetMobileCallInfo()" );
-	    aReferredCall->GetMobileCallInfo( callInfoPckg );
-	    callInfo = callInfoPckg();
-	    iCallName = callInfo.iCallName;
-	    
-	    // now that the call name has been stored, owner may fetch it
-	    // upon receiving a conference call related indication
-	   	}
-	else
-		{
-		iCallName = KNullDesC;
-		}
+    {
+    TEFLOGSTRING2( KTAREQEND, "CALL CPEConferenceCall::ConferenceCallEventOccurred, event: %d", aEvent );
+    
+    if ( aReferredCall )
+        {
+        //resolve the referred call first
+        RMobileCall::TMobileCallInfoV1 callInfo;
+        RMobileCall::TMobileCallInfoV1Pckg callInfoPckg( callInfo );
+        TEFLOGSTRING( KTAREQOUT, "CALL CPEConferenceCall::ConferenceCallEventOccurred: Request MCCECall::GetMobileCallInfo()" );
+        aReferredCall->GetMobileCallInfo( callInfoPckg );
+        callInfo = callInfoPckg();
+        iCallName = callInfo.iCallName;
+        
+        // now that the call name has been stored, owner may fetch it
+        // upon receiving a conference call related indication
+        }
+    else
+        {
+        iCallName = KNullDesC;
+        }
 
     switch ( aEvent )
         {
@@ -234,7 +234,7 @@
             break;
             }
         }
-	}
+    }
 
 // -----------------------------------------------------------------------------
 // CPEConferenceCall::CallStateChanged
@@ -282,26 +282,26 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CPEConferenceCall::CallCapsChanged( 
-		const MCCEConferenceCallObserver::TCCEConferenceCallCaps aCaps )
-	{
-	TEFLOGSTRING2( KTAREQEND, "CALL CPEConferenceCall::CallCapsChanged, caps: %d", aCaps );
-	iCaps = aCaps;
-	SendMessage( MEngineMonitor::EPEMessageConferenceCapsChange );
-	}
-	
+        const MCCEConferenceCallObserver::TCCEConferenceCallCaps aCaps )
+    {
+    TEFLOGSTRING2( KTAREQEND, "CALL CPEConferenceCall::CallCapsChanged, caps: %d", aCaps );
+    iCaps = aCaps;
+    SendMessage( MEngineMonitor::EPEMessageConferenceCapsChange );
+    }
+    
 // -----------------------------------------------------------------------------
 // CPEConferenceCall::ErrorOccurred
 // 
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CPEConferenceCall::ErrorOccurred( TCCPConferenceCallError aError )
-	{
-	TEFLOGSTRING2( KTAERROR, "CALL CPEConferenceCall::ErrorOccurred, error: %d", aError );
-	
-	iOwner.SendErrorMessage( KPEConferenceCallID, aError );
+    {
+    TEFLOGSTRING2( KTAERROR, "CALL CPEConferenceCall::ErrorOccurred, error: %d", aError );
+    
+    iOwner.SendErrorMessage( KPEConferenceCallID, aError );
 
-	}
-	
+    }
+    
 // -----------------------------------------------------------------------------
 // CPEConferenceCall::SendMessage
 // Forwards message to CPEConferenceCall object
@@ -313,7 +313,7 @@
     iOwner.SendMessage( aMessage, KPEConferenceCallID );
     }
 
-	
+    
 // -----------------------------------------------------------------------------
 // CPEConferenceCall::SendMessage
 // Forwards message to CPEConferenceCall object
--- a/phoneengine/callhandling/src/cpegprstermination.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/src/cpegprstermination.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -16,10 +16,10 @@
 */
 
 
-
+// <-- QT PHONE START --> 
 // INCLUDE FILES
 #include "cpegprstermination.h"
-#include <ccoutlinterface.h>
+// #include<ccoutlinterface.h> <CCoUtlInterface.h>
 #include <talogger.h>
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -43,7 +43,7 @@
     {
     TEFLOGSTRING( KTAOBJECT, "cpecall: CPEGprsTermination::~CPEGprsTermination" );
     Cancel();
-    delete iInterface;
+    //delete iInterface;
     }
 
 // -----------------------------------------------------------------------------
@@ -54,14 +54,14 @@
     {
     TEFLOGSTRING( KTAINT, "cpecall: CPEGprsTermination::StartL" );
 
-    Cancel();
+    /*Cancel();
     delete iInterface;
     iInterface = NULL;
 
     iInterface = CCoUtlInterface::NewL();
     TEFLOGSTRING( KTAREQOUT, "cpecall: CPEGprsTermination::StartL CCoUtlInterface::Terminate()" );
     iInterface->Terminate( iStatus );
-    SetActive();
+    SetActive();*/
     }
 
 // -----------------------------------------------------------------------------
@@ -71,7 +71,7 @@
 TBool CPEGprsTermination::IsTerminating() const
     {
     TEFLOGSTRING( KTAINT, "cpecall: CPEGprsTermination::IsTerminating" );
-    if ( !iInterface )
+    /*if ( !iInterface )
         {
         return EFalse;
         }
@@ -83,7 +83,9 @@
         return 
             ( current != CCoUtlInterface::EIdle ) &&
             ( current != CCoUtlInterface::EConfirm );
-        }
+        }*/
+    
+    return EFalse;
     }
 
 // -----------------------------------------------------------------------------
@@ -93,8 +95,8 @@
 void CPEGprsTermination::RunL()
     {
     TEFLOGSTRING2( KTAREQEND, "cpecall: CPEGprsTermination::RunL status: %d", iStatus.Int() );
-    delete iInterface;
-    iInterface = NULL;
+    /*delete iInterface;
+    iInterface = NULL;*/
     }
 
 // -----------------------------------------------------------------------------
@@ -104,10 +106,12 @@
 void CPEGprsTermination::DoCancel()
     {
     TEFLOGSTRING( KTAREQEND, "cpecall: CPEGprsTermination::DoCancel" );
-    if( iInterface )
+    /*if( iInterface )
         {
         iInterface->Cancel();
-        }
+        }*/
     }
 
+// <-- QT PHONE END -->
+ 
 //  End of File  
--- a/phoneengine/callhandling/src/cpesinglecall.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/src/cpesinglecall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -44,7 +44,7 @@
 CPESingleCall::CPESingleCall( 
         MPEMessageSender& aOwner
         ) : CPESingleCallObserver( aOwner ),
-		    iMissedCall( EFalse)
+            iMissedCall( EFalse)
     {
     TEFLOGSTRING( KTAOBJECT, "CALL CPESingleCall::CPESingleCall start." );
     TEFLOGSTRING( KTAOBJECT, "CALL CPESingleCall::CPESingleCall complete." );
@@ -167,7 +167,7 @@
     
     //iCall->NoFDNCheck();
     }
-		
+        
 // -----------------------------------------------------------------------------
 // CPESingleCall::Hold
 // creates hold request to the CPECallCommand object
--- a/phoneengine/callhandling/src/cpesinglecallobserver.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/src/cpesinglecallobserver.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -127,7 +127,7 @@
             {
             SetCallState( EPEStateHeld );
             SendMessage( MEngineMonitor::EPEMessageHeld );
-            break;	
+            break;  
             }
         case CCPCall::EStateAnswering:
             {
--- a/phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/src/cpesupplementaryservicesmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -86,18 +86,18 @@
         aBarringEvent );
      switch( aBarringEvent )
         {       
-        case ECCESsIncomingCallBarred:	/** Incoming call is barred. (DoCoMo) */
-		case ECCESsAnonymousCallBarred:	/** Anonymous call barring. */
-		case ECCESsOutgoingCallBarred: 	/** Outgoing call barring */
-		    iOwner.SendMessage( MEngineMonitor::EPEMessageCallBarred, KPECallIdNotUsed );
+        case ECCESsIncomingCallBarred:  /** Incoming call is barred. (DoCoMo) */
+        case ECCESsAnonymousCallBarred: /** Anonymous call barring. */
+        case ECCESsOutgoingCallBarred:  /** Outgoing call barring */
+            iOwner.SendMessage( MEngineMonitor::EPEMessageCallBarred, KPECallIdNotUsed );
             break;
             
         default:
             break;
         }
     }
-	
-		
+    
+        
 // -----------------------------------------------------------------------------
 // CPESupplementaryServicesMonitor::CLIEventOccurred
 // -----------------------------------------------------------------------------
@@ -108,27 +108,27 @@
  
     switch( aCallLineEvent )
         {
-        case ECCESsTempClirSuppressUnsuccessful:	/** Temporary CLIR suppression was unsuccessful */
-        	iOwner.SendMessage( MEngineMonitor::EPEMessageTempClirSuppressUnsuccessful, KPECallIdNotUsed );
-        	break;
-        	
-        case ECCESsTempClirActivationUnsuccessful:	/** Temporary CLIR activation was unsuccessful*/
+        case ECCESsTempClirSuppressUnsuccessful:    /** Temporary CLIR suppression was unsuccessful */
+            iOwner.SendMessage( MEngineMonitor::EPEMessageTempClirSuppressUnsuccessful, KPECallIdNotUsed );
+            break;
+            
+        case ECCESsTempClirActivationUnsuccessful:  /** Temporary CLIR activation was unsuccessful*/
             iOwner.SendMessage( MEngineMonitor::EPEMessageTempClirActivationUnsuccessful, KPECallIdNotUsed );
             break;
             
         default:
-        	break;
+            break;
         }
 
     }
-						  
+                          
 // -----------------------------------------------------------------------------
 // CPESupplementaryServicesMonitor::CallForwardEventOccurred
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CPESupplementaryServicesMonitor::CallForwardEventOccurred( 
-						const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
-						const TDesC& /*aRemoteAddress*/ )
+                        const MCCESsObserver::TCCESsCallForwardEvent aCallForwardEvent,
+                        const TDesC& /*aRemoteAddress*/ )
     {  
     TEFLOGSTRING2( 
         KTAMESIN, 
@@ -137,35 +137,35 @@
     switch( aCallForwardEvent )
         {
         case ECCESsIncCallIsForw:   /** Incoming call is forwarded */
-        	iOwner.SendMessage( MEngineMonitor::EPEMessageIncCallIsForw, KPECallIdNotUsed );
-        	break;
-        	
-        case ECCESsIncCallForwToC:	/** Incoming call was forwarded because of user own settings. */
-        	iOwner.SendMessage( MEngineMonitor::EPEMessageIncCallForwToC, KPECallIdNotUsed );
-        	break;
-        	
-        case ECCESsOutCallForwToC:	/** outgoing call was forwarded because of user own settings. */
+            iOwner.SendMessage( MEngineMonitor::EPEMessageIncCallIsForw, KPECallIdNotUsed );
+            break;
+            
+        case ECCESsIncCallForwToC:  /** Incoming call was forwarded because of user own settings. */
+            iOwner.SendMessage( MEngineMonitor::EPEMessageIncCallForwToC, KPECallIdNotUsed );
+            break;
+            
+        case ECCESsOutCallForwToC:  /** outgoing call was forwarded because of user own settings. */
             iOwner.SendMessage( MEngineMonitor::EPEMessageOutCallForwToC, KPECallIdNotUsed );
             break;
         
         case ECCESsForwardUnconditionalModeActive:
-        	iOwner.SendMessage( MEngineMonitor::EPEMessageForwardUnconditionalModeActive, KPECallIdNotUsed );
-        	break;
-        	
+            iOwner.SendMessage( MEngineMonitor::EPEMessageForwardUnconditionalModeActive, KPECallIdNotUsed );
+            break;
+            
         case ECCESsForwardConditionallyModeActive:
-        	iOwner.SendMessage( MEngineMonitor::EPEMessageForwardConditionallyModeActive, KPECallIdNotUsed );
-        	break;
-        	
+            iOwner.SendMessage( MEngineMonitor::EPEMessageForwardConditionallyModeActive, KPECallIdNotUsed );
+            break;
+            
         case ESsCallWaiting:
-        	iOwner.SendMessage( MEngineMonitor::EPEMessageCallWaiting, KPECallIdNotUsed );
-        	TEFLOGSTRING( KTAINT, "CPESupplementaryServicesMonitor::CallForwardEventOccurred -> ECCESsCallWaiting" );
-        	break;
+            iOwner.SendMessage( MEngineMonitor::EPEMessageCallWaiting, KPECallIdNotUsed );
+            TEFLOGSTRING( KTAINT, "CPESupplementaryServicesMonitor::CallForwardEventOccurred -> ECCESsCallWaiting" );
+            break;
             
         default:
             break;        
         }       
     }
-								  
+                                  
 // -----------------------------------------------------------------------------
 // CPESupplementaryServicesMonitor::CallCugEventOccurred
 // -----------------------------------------------------------------------------
--- a/phoneengine/callhandling/src/cpevideocallhandling.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/callhandling/src/cpevideocallhandling.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -28,7 +28,7 @@
 #include <e32property.h>
 #include <gsmerror.h>
 #include <mpedatastore.h>
-#include <NetworkHandlingDomainPSKeys.h>
+#include <networkhandlingdomainpskeys.h>
 #include <pepanic.pan>
 #include <pevirtualengine.h>
 #include <talogger.h>
@@ -183,15 +183,15 @@
             aCallId );
     
     TInt errorCode( KErrNone );    
-	CPESingleCall* dataCall = iCallArrayOwner.GetCallObject( aCallId );
-	if ( dataCall )
-	    {
-	    dataCall->GetErrorCode( errorCode );
-	    }
-	
-	TEFLOGSTRING2( KTAINT, 
-	            "VID CPEVideoCallHandling::CallTerminatedError, errorCode: %d",
-	            errorCode );
+    CPESingleCall* dataCall = iCallArrayOwner.GetCallObject( aCallId );
+    if ( dataCall )
+        {
+        dataCall->GetErrorCode( errorCode );
+        }
+    
+    TEFLOGSTRING2( KTAINT, 
+                "VID CPEVideoCallHandling::CallTerminatedError, errorCode: %d",
+                errorCode );
     return errorCode;
     }
 
@@ -309,7 +309,7 @@
     {
     TEFLOGSTRING( KTAINT, "CALL CPEVideoCallHandling::InitCall" );
     CPESingleCall* callData( NULL );
-	  TRAP_IGNORE( callData = iCallArrayOwner.CreateDataCallL( *this ) );
+      TRAP_IGNORE( callData = iCallArrayOwner.CreateDataCallL( *this ) );
 
     if ( callData )
         {
@@ -319,7 +319,7 @@
         iModel.DataStore()->SetCallSecureStatus( callData->IsSecureCall(), callData->GetCallId() );
         iModel.DataStore()->SetSecureSpecified( callData->SecureSpecified() );
         
-    	const CCCPCallParameters& callParameters = aCall.Parameters();
+        const CCCPCallParameters& callParameters = aCall.Parameters();
         switch ( callParameters.CallType() )
             {
             case CCPCall::ECallTypeCSVoice:
@@ -343,9 +343,9 @@
             }
         }
     else
-    	{
-    	Panic( EPEPanicNoFreeCalls );
-    	}
+        {
+        Panic( EPEPanicNoFreeCalls );
+        }
     }
  
 // -----------------------------------------------------------------------------
@@ -381,18 +381,18 @@
         TInt aCallId )
     {
     TEFLOGSTRING2( KTAINT, "VID CPEVideoCallHandling::NotifySystemCallStateChanged %d", aCallId );
-	// this needs to be checked because this function is called for all data calls
-	if ( IsMultimedia( aCallId ) )
+    // this needs to be checked because this function is called for all data calls
+    if ( IsMultimedia( aCallId ) )
         {
-	    if ( aMessage == MEngineMonitor::EPEMessageIncoming ||
-	       aMessage == MEngineMonitor::EPEMessageDialing )
-	        {
+        if ( aMessage == MEngineMonitor::EPEMessageIncoming ||
+           aMessage == MEngineMonitor::EPEMessageDialing )
+            {
             TInt updateError = RProperty::Set( KPSUidCtsyCallInformation, 
                 KCTsyCallType, EPSCTsyCallTypeH324Multimedia );
             TEFLOGSTRING2( updateError?KTAERROR:KTAMESOUT, 
                 "VID CPEVideoCallHandling::NotifySystemCallStateChanged request RProperty::Set, EPSCTsyCallTypeH324Multimedia, updateError: ",
                 updateError );
-	        }
+            }
         }
     }
 
@@ -427,29 +427,29 @@
                 if( ( restoreValue & ( conn::EBURRestoreFull | conn::EBURRestorePartial ) ) )
                     {
                     // First phase VT and restore: Check if there is a arriving VT 
-            	    // call and Restore ongoing.
-            	    TEFLOGSTRING( KTAINT, 
+                    // call and Restore ongoing.
+                    TEFLOGSTRING( KTAINT, 
                         "VID CPEVideoCallHandling::SendMessage > HangUp restore active " );
-               	    iRestoreCauseVTCallReject = ETrue;
-               	    if( videoCall )
-               	        {
-               	        videoCall->HangUp();
-               	        }
-               	    aMessage = MEngineMonitor::EPEMessageDoNotSendMe;
+                    iRestoreCauseVTCallReject = ETrue;
+                    if( videoCall )
+                        {
+                        videoCall->HangUp();
+                        }
+                    aMessage = MEngineMonitor::EPEMessageDoNotSendMe;
                     }
                 break;
                 }
             case MEngineMonitor::EPEMessageDisconnecting:
                 {
                 if( iRestoreCauseVTCallReject )
-	                {
-	            	// Second phase VT and restore: Check if there is a rejected arriving VT call 
-	                // and Restore ongoing, then don't notify observers.
-	                iRestoreCauseVTCallReject = EFalse;
-	                TEFLOGSTRING( KTAINT, 
-				        "VID CPEVideoCallHandling::SendMessage Second phase Restore and VT call" );
-	                aMessage = MEngineMonitor::EPEMessageDoNotSendMe;
-	                }
+                    {
+                    // Second phase VT and restore: Check if there is a rejected arriving VT call 
+                    // and Restore ongoing, then don't notify observers.
+                    iRestoreCauseVTCallReject = EFalse;
+                    TEFLOGSTRING( KTAINT, 
+                        "VID CPEVideoCallHandling::SendMessage Second phase Restore and VT call" );
+                    aMessage = MEngineMonitor::EPEMessageDoNotSendMe;
+                    }
                 break;
                 }
             case MEngineMonitor::EPEMessageIdle:
@@ -457,12 +457,12 @@
                 iRestoreCauseVTCallReject = EFalse;
                 // Check reject video cace, if there is connect VT call don't disconnect
                 if( !connectedVideoCall )
-	                {
-	                if ( CallTerminatedError( aCallId ) == KErrGsmCCIncompatibleDestination )
-	                    {
-	                    error = KErrGsmCCIncompatibleDestination;
-	                    }
-	                }
+                    {
+                    if ( CallTerminatedError( aCallId ) == KErrGsmCCIncompatibleDestination )
+                        {
+                        error = KErrGsmCCIncompatibleDestination;
+                        }
+                    }
                 break;
                 }
             default:
@@ -521,18 +521,18 @@
     TBool phoneNumberAvailable ( EFalse );
         
     if ( iDataStore.CallDirection( aCallId ) == RMobileCall::EMobileOriginated )
-	    {
-	    phoneNumberAvailable = ETrue;	
-	    }
+        {
+        phoneNumberAvailable = ETrue;   
+        }
     else
-	    {
-	    RMobileCall::TMobileCallRemoteIdentityStatus remoteIdentity;
-	    remoteIdentity = iDataStore.RemoteIdentity( aCallId );
-	    TEFLOGSTRING2( KTAINT, 
-	        "VID CPEVideoCallHandling::IsPhoneNumberAvailable, remoteIdentity: %d", 
-	        remoteIdentity);
-	    phoneNumberAvailable = ( remoteIdentity == RMobileCall::ERemoteIdentityAvailable ); 	
-	    }
+        {
+        RMobileCall::TMobileCallRemoteIdentityStatus remoteIdentity;
+        remoteIdentity = iDataStore.RemoteIdentity( aCallId );
+        TEFLOGSTRING2( KTAINT, 
+            "VID CPEVideoCallHandling::IsPhoneNumberAvailable, remoteIdentity: %d", 
+            remoteIdentity);
+        phoneNumberAvailable = ( remoteIdentity == RMobileCall::ERemoteIdentityAvailable );     
+        }
     TEFLOGSTRING2( KTAINT, 
         "VID CPEVideoCallHandling::IsPhoneNumberAvailable, isAvailable: %d", 
         phoneNumberAvailable );
@@ -632,21 +632,21 @@
                                                           *iCallOpenParams, 
                                                           *callData ) ) );
     if ( errorCode == KErrNone )
-    	{
-    	callData->SetCall( *cceCall );
-    	iModel.DataStore()->SetServiceId( callData->GetCallId(), cceCall->ServiceId() );
-    	iModel.DataStore()->SetCallSecureStatus( callData->IsSecureCall(), callData->GetCallId() );
+        {
+        callData->SetCall( *cceCall );
+        iModel.DataStore()->SetServiceId( callData->GetCallId(), cceCall->ServiceId() );
+        iModel.DataStore()->SetCallSecureStatus( callData->IsSecureCall(), callData->GetCallId() );
         iModel.DataStore()->SetSecureSpecified( callData->SecureSpecified() );
-    	}
+        }
     else
-    	{
-    	// Open new call failed
-    	ReleaseCallObject( callData->GetCallId() );
-		TEFLOGSTRING2( KTAERROR, 
-		        "VID CPEVideoCallHandling::DIALCALL ! OPENNEWCALL FAILED: MAY NOT PROCEED! %d", 
-		        errorCode );
-	    User::Leave( errorCode );
-    	}
+        {
+        // Open new call failed
+        ReleaseCallObject( callData->GetCallId() );
+        TEFLOGSTRING2( KTAERROR, 
+                "VID CPEVideoCallHandling::DIALCALL ! OPENNEWCALL FAILED: MAY NOT PROCEED! %d", 
+                errorCode );
+        User::Leave( errorCode );
+        }
     return callData;
     }
 
--- a/phoneengine/callhandling/src/tpematcher.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0""
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include "tpematcher.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPEMatcher::TPEMatcher()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//    
-TPEMatcher::~TPEMatcher()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Finds if the two numbers match.
-// ---------------------------------------------------------------------------
-//
-TBool TPEMatcher::numbersMatch( const TDesC& aNumber1, const TDesC& aNumber2, TInt aCount )
-    {
-    TBool returnVal( EFalse );    
-    TInt matchDigits(aCount); 
-    
-    matchDigits = Min( matchDigits, aNumber1.Length() );
-    matchDigits = Min( matchDigits, aNumber2.Length() );
-    
-    TPtrC16 number1Ptr = aNumber1.Right(matchDigits);
-    TPtrC16 number2Ptr = aNumber2.Right(matchDigits);
-    
-    if ( number1Ptr.Match( number2Ptr ) != KErrNotFound )
-        {
-        returnVal = ETrue;
-        }
-    
-    return returnVal;
-    }
--- a/phoneengine/contacthandling/bwins/contacthandlingu.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-EXPORTS
-	??1CPEContactHandlingProxy@@UAE@XZ @ 1 NONAME ; CPEContactHandlingProxy::~CPEContactHandlingProxy(void)
-	?CreateFirstPhaseL@CPEContactHandlingProxy@@SAPAVMPEContactHandling@@XZ @ 2 NONAME ; class MPEContactHandling * CPEContactHandlingProxy::CreateFirstPhaseL(void)
-	?CreateSecondPhaseL@CPEContactHandlingProxy@@QAEXAAVMPEPhoneModelInternal@@AAVRFs@@@Z @ 3 NONAME ; void CPEContactHandlingProxy::CreateSecondPhaseL(class MPEPhoneModelInternal &, class RFs &)
-	?FindContactInfoSync@CPEContactHandlingDummy@@UAEHHW4TPEFindContactKey@@@Z @ 4 NONAME ; int CPEContactHandlingDummy::FindContactInfoSync(int, enum TPEFindContactKey)
-	?FindContactInfoSync@CPEContactHandlingProxy@@UAEHHW4TPEFindContactKey@@@Z @ 5 NONAME ; int CPEContactHandlingProxy::FindContactInfoSync(int, enum TPEFindContactKey)
-	?GetSpeedDialLocation@CPEContactHandlingDummy@@UAEHHAAV?$TBuf@$0GE@@@@Z @ 6 NONAME ; int CPEContactHandlingDummy::GetSpeedDialLocation(int, class TBuf<100> &)
-	?GetSpeedDialLocation@CPEContactHandlingProxy@@UAEHHAAV?$TBuf@$0GE@@@@Z @ 7 NONAME ; int CPEContactHandlingProxy::GetSpeedDialLocation(int, class TBuf<100> &)
-	?NewL@CPEContactHandlingDummy@@SAPAV1@XZ @ 8 NONAME ; class CPEContactHandlingDummy * CPEContactHandlingDummy::NewL(void)
-	?NewL@CPEContactMatch@@SAPAV1@AAVCPEContactHandling@@AAVMPEDataStore@@@Z @ 9 NONAME ; class CPEContactMatch * CPEContactMatch::NewL(class CPEContactHandling &, class MPEDataStore &)
-
--- a/phoneengine/contacthandling/data/contacthandling_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /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/contacthandling/data/contacthandling_stub.sis has changed
--- a/phoneengine/contacthandling/eabi/contacthandlingu.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-EXPORTS
-	_ZN23CPEContactHandlingDummy19FindContactInfoSyncEi17TPEFindContactKey @ 1 NONAME
-	_ZN23CPEContactHandlingDummy20GetSpeedDialLocationEiR4TBufILi100EE @ 2 NONAME
-	_ZN23CPEContactHandlingDummy4NewLEv @ 3 NONAME
-	_ZN23CPEContactHandlingProxy17CreateFirstPhaseLEv @ 4 NONAME
-	_ZN23CPEContactHandlingProxy18CreateSecondPhaseLER21MPEPhoneModelInternalR3RFs @ 5 NONAME
-	_ZN23CPEContactHandlingProxy19FindContactInfoSyncEi17TPEFindContactKey @ 6 NONAME
-	_ZN23CPEContactHandlingProxy20GetSpeedDialLocationEiR4TBufILi100EE @ 7 NONAME
-	_ZTI15CPEContactMatch @ 8 NONAME ; #<TI>#
-	_ZTI18CPEContactHandling @ 9 NONAME ; #<TI>#
-	_ZTI23CPEContactHandlingDummy @ 10 NONAME ; #<TI>#
-	_ZTI23CPEContactHandlingProxy @ 11 NONAME ; #<TI>#
-	_ZTV15CPEContactMatch @ 12 NONAME ; #<VT>#
-	_ZTV18CPEContactHandling @ 13 NONAME ; #<VT>#
-	_ZTV23CPEContactHandlingDummy @ 14 NONAME ; #<VT>#
-	_ZTV23CPEContactHandlingProxy @ 15 NONAME ; #<VT>#
-	_ZThn4_N23CPEContactHandlingDummy19FindContactInfoSyncEi17TPEFindContactKey @ 16 NONAME ; #<thunk>#
-	_ZThn4_N23CPEContactHandlingDummy20GetSpeedDialLocationEiR4TBufILi100EE @ 17 NONAME ; #<thunk>#
-	_ZThn4_N23CPEContactHandlingProxy19FindContactInfoSyncEi17TPEFindContactKey @ 18 NONAME ; #<thunk>#
-	_ZThn4_N23CPEContactHandlingProxy20GetSpeedDialLocationEiR4TBufILi100EE @ 19 NONAME ; #<thunk>#
-
--- a/phoneengine/contacthandling/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ContanctHandling bld file
-*
-*/
-
-#ifdef RD_PHONE_NG
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/cpecontacthandlingproxy.h |../../inc/cpecontacthandlingproxy.h
-../inc/mpecontacthandling.h      |../../inc/mpecontacthandling.h
-
-// SIS stubs
-../data/contacthandling_stub.sis    /epoc32/data/z/system/install/contacthandling_stub.sis
- 
-PRJ_MMPFILES
-contacthandling.mmp
-
-#endif // RD_PHONE_NG
-
-//  End of File
--- a/phoneengine/contacthandling/group/contacthandling.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* 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:  Project specification file for Contact Handling dll
-*
-*/
-
-#ifdef RD_PHONE_NG
-
-#include <platform_paths.hrh>
-
-TARGET          contacthandling.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x1000A836    
-VENDORID		VID_DEFAULT
-
-CAPABILITY		CAP_GENERAL_DLL
-
-SOURCEPATH      ../src
-
-SOURCE          cpecontacthandling.cpp
-SOURCE          cpecontacthandlingdummy.cpp
-SOURCE          cpecontacthandlingproxy.cpp
-SOURCE          cpecontactmatch.cpp
-SOURCE          pecontacthandlingpanic.cpp
-SOURCE          cpecontactextensionwrapper.cpp
-
-USERINCLUDE     ../inc
-
-APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
-SYSTEMINCLUDE   ../../inc          // PhoneEngine private headers
-SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
-SYSTEMINCLUDE   /epoc32/include/connect
-
-LIBRARY	        serviceprovidersettings.lib
-LIBRARY	        bafl.lib
-LIBRARY         ecom.lib	
-LIBRARY         efsrv.lib // For reading picture.	
-LIBRARY         engineinfo.lib	
-LIBRARY         euser.lib	
-LIBRARY         featmgr.lib // Feature manager. 	
-LIBRARY         flogger.lib // For logging.	
-LIBRARY         phonecntfinder.lib	
-
-LANG            SC
-
-START WINS
-BASEADDRESS 0x10040000
-END
-
-#endif // RD_PHONE_NG
\ No newline at end of file
--- a/phoneengine/contacthandling/inc/cpecontactextensionwrapper.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +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: Definition of CPEContactExtensionWrapper class.
-*
-*/
-
-
-
-#ifndef C_CPECONTACTEXTENSIONWRAPPER_H
-#define C_CPECONTACTEXTENSIONWRAPPER_H
-
-#include <e32base.h>
-#include <telmatchingextension.h>
-
-/**
- *  Provides container friendly interface for extension plugin handling.
- *    
- *  @lib loghandling.dll
- *  @since S60 v5.1
- */
-NONSHARABLE_CLASS( CPEContactExtensionWrapper ) : public CTelMatchingExtension
-    {
-
-public:
-
-    /**
-     * Two-phased constructor.
-     * @param   aImplementationUid  An Ecom plugin implementation identifier.
-     */
-    static CPEContactExtensionWrapper* NewL( TUid aImplementationUid );
-
-    /**
-     * Two-phased constructor.
-     * @param   aImplementationUid  An Ecom plugin implementation identifier.
-     */
-    static CPEContactExtensionWrapper* NewLC( TUid aImplementationUid );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CPEContactExtensionWrapper();
-
-    /**
-     * Provides comparison algorithm for CPEContactExtensionWrapper objects using
-     * extension plugin implementation identifier as a search key.
-     * 
-     * @param   aKey        A search key.
-     * @param   aWrapper    An object to match with a key.
-     * @since   S60 v5.1
-     * @return  ETrue if match, EFalse otherwise.
-     */
-    static TBool MatchByUid( 
-        const TUid* aKey, const CPEContactExtensionWrapper& aWrapper );
-    
-    // from base class CTelMatchingExtension
-    /**
-    * From CTelMatchingExtension.
-    * @see CTelMatchingExtension.
-    */
-    void InitializeL( TUint aServiceId, const TDesC& aOrigAddress );
-    
-    /**
-    * From CTelMatchingExtension.
-    * @see CTelMatchingExtension.
-    */
-    TInt GetAddressForMatching( RBuf& aParsedAddress, TInt& aMeaningfulDigits );
-
-    /**
-    * From CTelMatchingExtension.
-    * @see CTelMatchingExtension.
-    */
-    TInt GetContactStoreUris( CDesCArray& aStoreUris );
-
-    /**
-    * From CTelMatchingExtension.
-    * @see CTelMatchingExtension.
-    */
-    TInt GetRemotePartyName( RBuf& aRemotePartyName );
-
-private:
-
-    CPEContactExtensionWrapper() {};
-    
-    CPEContactExtensionWrapper( TUid aImplementationUid );
-
-    void ConstructL();
-    
-    /**
-     * Creates contact extension plugin.
-     * @since   S60 v5.1
-     * @return A new contact extension plugin instance.
-     */
-    CTelMatchingExtension* CreateContactExtensionL() const;
-    
-    /**
-     * Returns identifier of the wrapped extension plugin.
-     * @since   S60 v5.1
-     * @return Identifier of the extension plugin.
-     */
-    TUid Identifier() const;
-
-private: // data
-
-    /**
-     * Extension plugin identifier.
-     */
-    TUid iPluginUid;
-
-    /**
-     * Contact matching extension plugin.
-     * Own.
-     */
-    CTelMatchingExtension* iPlugin;
-
-    };
-
-#endif // C_CPECONTACTEXTENSIONWRAPPER_H
--- a/phoneengine/contacthandling/inc/cpecontacthandling.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2006-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 file contains the header file of the
-*              : CPEContactHandling class.
-*
-*/
-
-
-
-#ifndef CPECONTACTHANDLING_H
-#define CPECONTACTHANDLING_H
-
-//  INCLUDES
-#include "mpecontacthandling.h"
-#include <e32base.h>
-#include <cntdef.h> // TContactItemId
-#include <pevirtualengine.h>
-
-// CONSTANTS
-//None
-
-// MACROS
-//None
-
-// DATA TYPES
-//None.
-
-// FUNCTION PROTOTYPES
-//None
-
-// FORWARD DECLARATIONS
-class CContactGroup;
-class CContactItemFieldDef;
-class MPEPhoneModelInternal;
-class CPEContactMatch;
-
-// CLASS DECLARATION
-
-/**
-*  Interface class for phone engine to fetch remote info from contact database or SIM
-*
-*  @lib ContactHandling.lib
-*  @since Series60_4.0
-*/
-class CPEContactHandling
-        : public CBase,
-          public MPEContactHandling
-    {
-    public:  // Constructors and destructor
-      
-        /**
-        * Two-phased constructor.
-        */
-        static CPEContactHandling* NewL( MPEPhoneModelInternal& aModel, 
-                                              RFs& aFsSession );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPEContactHandling();
-
-    public: // New functions
-        
-        /**
-        * Synchronous method for searching contact information. This function call's FindContactInfoSyncL()
-        * which can leave. This function call is Trapped so API function does not leave.
-        * @param aCallId        call id from phone engine
-        * @param aFindKey       defines the key to search the contact data with
-        * @return Error code indicating the success of the search
-        */
-        TInt FindContactInfoSync( 
-            const TInt aCallId,
-            const TPEFindContactKey aFindKey );
-
-        /**
-        * Reroutes errorCodes to the Phone Model
-        * @param aErrorCode is the errorCode
-        * @return None.
-        */
-        void SendErrorMessage( TInt aErrorCode );
-
-        /**
-        * Reroutes messages to the Phone Model
-        * @param aMessage is the message id
-        * @param aCallId identifies the call this event is associated to
-        */
-        void SendMessage( MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, 
-                          const TInt aCallId = KPECallIdNotUsed );
-        
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        * @return Error code.
-        */
-        TInt GetSpeedDialLocation( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber );
-
-   protected:  // New functions
-        
-        /**
-        * C++ default constructor.
-        */
-        CPEContactHandling( MPEPhoneModelInternal& aModel, 
-                        RFs& aFsSession );
-
-    private:
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-
-        /**
-        * Synchronous method for searching contact information
-        * @param aCallId        call id from phone engine
-        * @param aFindKey       defines the key to search the contact data with
-        */
-
-        void FindContactInfoSyncL(
-            const TInt aCallId, 
-            const TPEFindContactKey aFindKey );
-
-        /**
-        * Synchronous method for searching contact information from Contactdb
-        * @param aFindKey       defines the key to search the contact data with
-        * @return None
-        */
-        void FindContactInfoSyncFromContactDbL(
-            const TInt aCallId, 
-            const TPEFindContactKey aFindKey ) const;
-
-    private:    // Data
-        // Reference to MPEPhoneModelInternal , also object owner
-        MPEPhoneModelInternal&          iModel;
-        // ContactMatcher
-        CPEContactMatch*                iContactMatcher;
-        // handle to a file server session
-        RFs& iFsSession;
-        
-    };
-
-#endif      // CPECONTACTHANDLING_H
-            
-// End of File
--- a/phoneengine/contacthandling/inc/cpecontacthandlingdummy.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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:  This file contains the header file of the
-*              : CPEContactHandlingDummy class.
-*
-*/
-
-
-#ifndef CPECONTACTHANDLINGDUMMY_H
-#define CPECONTACTHANDLINGDUMMY_H
-
-//  INCLUDES
-#include "mpecontacthandling.h"
-#include <e32base.h>
-#include <mpephonemodelinternal.h>
-
-// CLASS DECLARATION
-
-/**
-*  Dummy interface to substitute real contact handling subject when neccessary
-*
-*  @lib ContactHandling.lib
-*  @since Series60_4.0
-*/
-class CPEContactHandlingDummy
-        : public CBase,
-          public MPEContactHandling
-    {
-    public:  // Constructors and destructor
-      
-        /**
-        * Two-phased constructor.
-        */
-        IMPORT_C static CPEContactHandlingDummy* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CPEContactHandlingDummy();
-
-    public: // New functions
-        
-        /**
-        * Synchronous method for searching contact information. This function call's FindContactInfoSyncL()
-        * which can leave. This function call is Trapped so API funktion dosn't leave.
-        * @param aCallId        call id from phone engine
-        *        aFindKey       defines the key to search the contact data with
-        *        aSearchFrom    search from key
-        * @return Error code indicating the success of the search
-        */
-        TInt FindContactInfoSync( 
-                    TInt aCallId,
-                    TPEFindContactKey aFindKey );
-
-        /**
-        * Reroutes errorCodes to the Phone Model
-        * @param aErrorCode is the errorCode
-        * @return None.
-        */
-        void SendErrorMessage( TInt aErrorCode );
-
-        /**
-        * Reroutes messages to the Phone Model
-        * @param aMessage is the message id
-        * @return None.
-        */
-        void SendMessage( MEngineMonitor::TPEMessagesFromPhoneEngine aMessage );
-        
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        * @return Error code.
-        */
-        TInt GetSpeedDialLocation( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber );
-
-   protected:  // New functions
-        /**
-        * C++ default constructor.
-        */
-        CPEContactHandlingDummy();
-
-    };
-
-#endif      // CPECONTACTHANDLINGDUMMY_H
-            
-// End of File
--- a/phoneengine/contacthandling/inc/cpecontacthandlingproxy.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +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:  This file contains the header file of the
-*              : CPEContactHandlingProxy class.
-*
-*/
-
-
-
-#ifndef CPECONTACTHANDLINGPROXY_H
-#define CPECONTACTHANDLINGPROXY_H
-
-//  INCLUDES
-#include "mpecontacthandling.h"
-#include <e32base.h>
-#include <mpephonemodelinternal.h>
-
-// CLASS DECLARATION
-
-/**
-*  This proxy class provides for the access to contact information services.
-*  The construction of contact handling component is two-fold:
-*  1) CreateFirstPhaseL() creates the proxy object along with cnt handling dummy
-*  2) CreateSecondPhaseL() creates the real subject with capability to utilize
-*     contact database.
-*
-*  @lib ContactHandling.lib
-*  @since Series60_4.0
-*/
-class CPEContactHandlingProxy
-        : public CBase,
-          public MPEContactHandling
-    {
-    public:
-        /**
-        * Create contact handling proxy and dummy implementation
-        * @return pointer to log handling proxy object, i.e. the handle to
-        * access log handling services
-        */
-        IMPORT_C static MPEContactHandling* CreateFirstPhaseL();
-
-        /**
-        * Create contact handling sub system
-        * This method creates the actual log handling implementation which
-        * replaces the dummy component in use. The phone model should call this
-        * function as all the critical sub systems already enable emergency call
-        * capabilities.
-        * @param aModel, handle to the owner of this object and phone engine
-        * @param aFsSession, handle to the shared file server session
-        */
-        IMPORT_C void CreateSecondPhaseL( 
-            MPEPhoneModelInternal& aModel, 
-            RFs& aFsSession );
-      
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CPEContactHandlingProxy();
-
-    public:
-        /**
-        * Synchronous method for searching contact information.
-        * @param aCallId        call id from phone engine
-        *        aFindKey       defines the key to search the contact data with
-        *        aSearchFrom    search from key
-        * @return possible Symbian OS error code
-        */
-        IMPORT_C TInt FindContactInfoSync( 
-            const TInt aCallId,
-            const TPEFindContactKey aFindKey );
-
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        * @param aContactItemId Contact item id. KErrNotFound if given location
-        *                                        was not set.
-        * @return possible Symbian OS error code
-        */
-        IMPORT_C TInt GetSpeedDialLocation( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber );
-
-    protected:
-        /**
-        * C++ default constructor.
-        */
-        CPEContactHandlingProxy();
-
-        /**
-        * Constructor, second phase. 
-        */
-        void ConstructL();
-
-
-    private:    // Data
-        // Handle to contact handling implementation
-        MPEContactHandling* iContactHandling;
-        // Handle to contact handling dummy implementation
-        MPEContactHandling* iContactHandlingDummy;
-    };
-
-#endif      // CPECONTACTHANDLINGPROXY_H
-            
-// End of File
--- a/phoneengine/contacthandling/inc/cpecontactmatch.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +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:  Manager for contacts.
-*
-*/
-
-
-#ifndef CPECONTACTMATCH_H
-#define CPECONTACTMATCH_H
-
-// INCLUDES
-#include <cntdef.h>
-#include <e32base.h>
-#include <pevirtualengine.h>
-#include <mphcntthumbnailloaderobserver.h>
-
-// CONSTANTS
-// Number of languages that use lastname-firstname order
-const TInt KPENumberOfSwappedLanguages = 7;
-
-// Languages which use lastname-firstname order
-const TLanguage KPESwappedLanguages[ KPENumberOfSwappedLanguages ] = 
-    {
-    ELangHungarian,       // 17
-    ELangTaiwanChinese,   // 29
-    ELangHongKongChinese, // 30
-    ELangPrcChinese,      // 31
-    ELangJapanese,		  // 32
-    ELangKorean,          // 65
-    ELangVietnamese       // 96
-    };
-
-// FORWARD DECLARATIONS
-class CPEContactHandling;
-class CPhCntContactId;
-class CPhCntFactory;
-class CPhCntSingleItemFetch;
-class CPhCntSpeedDialMonitor;
-class CPhCntThumbnailLoader;
-class MPEDataStore;
-class MPhCntMatch;
-class CPhCntMatcher;
-class CPhCntThumbnailLoader;
-class MPESimContactMatch;
-class CTelMatchingExtension;
-class CPEContactExtensionWrapper;
-
-// CLASS DECLARATION
-
-/**
-*  Container for all Contact Handling owned instances of Phone Contact Finder
-*/
-class CPEContactMatch
-    : public CBase,
-      public MPhCntThumbnailLoaderObserver
-    {
-    public:  // Constructors and destructor      
-
-        /**
-        * Two-phased constructor.
-        * @param aOwner, handle to contact handling interface / owner of this class
-        * @param aDataStore, handle to internal engine info interface
-        * @return an instance of class CPEContactMatch
-        */
-        IMPORT_C static CPEContactMatch* NewL(
-            CPEContactHandling& aOwner,
-            MPEDataStore& aDataStore );
-        
-        /**
-        * Destructor.
-        */
-        ~CPEContactMatch();
-
-    public: // New functions
-
-        /**
-        * Synchronous method for finding contact data specified with aContactId
-        * @param aCallId, the call this contact is associated with
-        * @return None
-        */
-        void MatchWithContactIdL( const TInt aCallId ); 
-
-        /**
-        * Search contact information synchronously matching with aPhoneNumber
-        * @param aCallId, the call this contact is associated with
-        * @return None (leaves with KErrNotFound if no match found or db in use)
-        */
-        void MatchWithNumberL( const TInt aCallId );
-
-        /**
-        * Returns contact picture data and call id association
-        * NOTE! Ownership of the picture is transfered to caller.
-        * @return contact thumbnail, equals NULL if not found
-        */
-        CFbsBitmap* ContactThumbnail();
-
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        */
-        void GetSpeedDialLocationL( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber );
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CPEContactMatch(
-            CPEContactHandling& aOwner,
-            MPEDataStore& aDataStore );
-        
-        /**
-        * Symbian OS constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Create thumbnail loader.
-        */
-        void ConstructThumbnailLoaderL();
-
-        /**
-        * Create speed dial command
-        */
-        void ConstructSpeedDialCommandL();
-
-        /**
-        * Copies contact information to remote info struct
-        * @param aMatch a contact item 
-        * @param aCallId, the call this contact is associated with
-        */
-        void CopyContactFieldsDataL(
-            const MPhCntMatch& aMatch,
-            const TInt aCallId );
-
-        /**
-        * Creates single item fetch.
-        *
-        * Ownership is passed to the client.
-        *
-        * @return instance of single item fetch.
-        */
-        CPhCntSingleItemFetch* CreateSingleItemFetchL();
-
-        /**
-         * Creates contact id.
-         */
-        CPhCntContactId* CreateContactIdL( const TDesC8& aContactId );
-
-        /**
-         * Creates contact id.
-         */
-        CPhCntContactId* CreateContactIdL( TContactItemId aContactId );
-
-        /**
-        * Starts loading thumbnail image
-        * @param aContactId contact item with the desired thumbnail
-        * @param aCallId call id for identifying which thumbnail is loaded
-        * @return Symbian OS error code
-        */
-        TInt LoadThumbnail( const CPhCntContactId& aContactId, const TInt aCallId );
-
-        /**
-        * From MPhCntThumbnailLoaderObserver
-        *
-        * Called when thumbnail loading has been completed.
-        * Ownership of the bitmap is transferred to the observer.
-        *
-        * @param aId id, never KPhCntThumbnailNullId.
-        * @param aResult error code.
-        * @param aBitmap bitmap.
-        */
-        void MpctloThumbnailLoaded(
-            CPhCntThumbnailLoader::TThumbnailId aId,
-            TInt aResult, 
-            CFbsBitmap* aBitmap );
-
-        /**
-        * Resolves services implementation uid for matching (ECom plugin).
-        * @leave Leaves with KErrNotFound if UID not found.
-        * @param aServiceId Unique service id used in current call.
-        * @return Implementation UID
-        */       
-        TUid ResolveServicesImplementationUidL( TUint32 aServiceId );
- 
-        /**
-        * Makes voip contact matching.
-        * @param aCallId Id of the currently used call
-        * @param aMatch Contact match
-        * @param aRemotePartyName Remote party name.
-        */  
-        void MatchWithVoipAdressL( 
-                const TInt aCallId, 
-                MPhCntMatch*& aMatch, 
-                RBuf& aRemotePartyName );
-        
-        /**
-        * Returns contact store uris that should be opened
-        * before contact match. Store uris are fetched by service id.
-        * @param aServiceId Service id of the ongoing call.
-        * @return Array of uri's. NULL if not found for current service.
-        */
-        CDesCArray* StoreUrisForServiceL( TUint aServiceId );
-        
-        /**
-        * Makes voip contact matching using extension plugin.
-        * @since    S60 v5.1
-        * @param    aCallId            Identifier of the currently used call.
-        * @param    aMatch             Contact match.
-        * @param    aRemotePartyName   Remote party name.
-        */  
-        void MatchWithVoipAddressUsingExtensionL( TInt aCallId, 
-            MPhCntMatch*& aMatch, RBuf& aRemotePartyName );
-        
-        /**
-         * Returns matching extension plugin for the given service. A new 
-         * plugin is created if extension is not yet created for the service.
-         * @since   S60 v5.1
-         * @param   aServiceId  Service identifier.
-         * @return  A matching extension instance.
-         */
-        CTelMatchingExtension& MatchingExtensionL( TUint aServiceId );
-        
-    private:    // Data
-
-        // Handle to contact handling interface / owner of this class
-        CPEContactHandling& iOwner;
-
-        // Handle to internal engine info interface
-        MPEDataStore& iDataStore;
-
-        // Owned: library
-        RLibrary iLibrary;
-
-        // Owned: contact factory
-        CPhCntFactory* iContactFactory;
-
-        // Owned: contact matcher
-        CPhCntMatcher* iContactMatcher;
-
-        // Owned: sim contact matcher
-        MPESimContactMatch* iSimContactMatcher;
-
-        // Owned: thumbnail loader
-        CPhCntThumbnailLoader* iContactThumbnailLoader;
-
-        // Owned: speed dial monitor
-        CPhCntSpeedDialMonitor* iSpeedDialCommand;
-
-        // Owned: thumbnail image
-        // Ownership is passed to client when it calls ContactThumbnail()
-        CFbsBitmap* iThumbnailImage;
-
-        // Identifier of the currently loading thumbnail
-        // Used *exlusively* by this class to associate a thumbnail to a contact
-        // This class uses a call id (TInt) for this purpose
-        CPhCntThumbnailLoader::TThumbnailId iThumbnailId;
-        
-        /**
-         * Contact extension plugins.
-         * Own.
-         */
-        RPointerArray<CPEContactExtensionWrapper> iPlugins;
-    };
-
-#endif // CPECONTACTMATCH_H
-
-// End of File
--- a/phoneengine/contacthandling/inc/mpecontacthandling.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  This file contains the header file of the MPEContactHandling class.
-*
-*/
-
-
-#ifndef MPECONTACTHANDLING_H
-#define MPECONTACTHANDLING_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <pevirtualengine.h>
-
-// CLASS DECLARATION
-
-/**
-*  Interface class provides for the access to contact information services.
-*
-*  @lib ContactHandling.lib
-*  @since Series60_4.0
-*/
-class MPEContactHandling
-    {
-    public:
-        /**
-        * Destructor.
-        */
-        virtual ~MPEContactHandling(){};
-
-        /**
-        * Synchronous method for searching contact information.
-        * @param aCallId        call id from phone engine
-        *        aFindKey       defines the key to search the contact data with
-        *        aSearchFrom    search from key
-        * @return possible Symbian OS error code
-        */
-        virtual TInt FindContactInfoSync( 
-            const TInt aCallId,
-            const TPEFindContactKey aFindKey ) = 0;
-
-        /**
-        * Fetch number from speed dial location
-        * @param aLocationIndex Index to look for
-        * @param aNumber Filled with speed dial location phone number
-        * @param aContactItemId Contact item id. KErrNotFound if given location
-        *                                        was not set.
-        * @return possible Symbian OS error code
-        */
-        virtual TInt GetSpeedDialLocation( 
-            TInt aLocationIndex, 
-            TPEPhoneNumber& aNumber ) = 0;
-    };
-
-#endif      // MPECONTACTHANDLING_H
-            
-// End of File
--- a/phoneengine/contacthandling/src/cpecontactextensionwrapper.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +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 CPEContactExtensionWrapper class.
-*
-*/
-
-
-#include "cpecontactextensionwrapper.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPEContactExtensionWrapper::CPEContactExtensionWrapper
-// ---------------------------------------------------------------------------
-//
-CPEContactExtensionWrapper::CPEContactExtensionWrapper( 
-        TUid aImplementationUid )
-    : 
-    iPluginUid( aImplementationUid )
-    {
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPEContactExtensionWrapper::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPEContactExtensionWrapper::ConstructL()
-    {
-    iPlugin = CreateContactExtensionL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPEContactExtensionWrapper::NewL
-// ---------------------------------------------------------------------------
-//
-CPEContactExtensionWrapper* CPEContactExtensionWrapper::NewL( 
-        TUid aImplementationUid )
-    {
-    CPEContactExtensionWrapper* self = 
-        CPEContactExtensionWrapper::NewLC( aImplementationUid );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPEContactExtensionWrapper::NewLC
-// ---------------------------------------------------------------------------
-//
-CPEContactExtensionWrapper* CPEContactExtensionWrapper::NewLC( 
-        TUid aImplementationUid )
-    {
-    CPEContactExtensionWrapper* self = 
-        new( ELeave ) CPEContactExtensionWrapper( aImplementationUid );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPEContactExtensionWrapper::~CPEContactExtensionWrapper
-// ---------------------------------------------------------------------------
-//
-CPEContactExtensionWrapper::~CPEContactExtensionWrapper()
-    {
-    delete iPlugin;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPEContactExtensionWrapper::MatchByUid
-// ---------------------------------------------------------------------------
-//
-TBool CPEContactExtensionWrapper::MatchByUid( 
-        const TUid* aKey, const CPEContactExtensionWrapper& aWrapper )
-    {
-    if ( aKey )
-        {
-        return ( aWrapper.Identifier() == *aKey );
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CTelMatchingExtension.
-// ---------------------------------------------------------------------------
-//
-void CPEContactExtensionWrapper::InitializeL( 
-        TUint aServiceId, const TDesC& aOrigAddress )
-    {
-    iPlugin->InitializeL( aServiceId, aOrigAddress );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CTelMatchingExtension.
-// ---------------------------------------------------------------------------
-//
-TInt CPEContactExtensionWrapper::GetAddressForMatching( 
-        RBuf& aParsedAddress, TInt& aMeaningfulDigits )
-    {
-    return iPlugin->GetAddressForMatching( aParsedAddress, aMeaningfulDigits );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CTelMatchingExtension.
-// ---------------------------------------------------------------------------
-//
-TInt CPEContactExtensionWrapper::GetContactStoreUris( CDesCArray& aStoreUris )
-    {
-    return iPlugin->GetContactStoreUris( aStoreUris );
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CTelMatchingExtension.
-// ---------------------------------------------------------------------------
-//
-TInt CPEContactExtensionWrapper::GetRemotePartyName( RBuf& aRemotePartyName )
-    {
-    return iPlugin->GetRemotePartyName( aRemotePartyName );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPEContactExtensionWrapper::CreateContactExtensionL
-// Needed for testing with mock technique.
-// ---------------------------------------------------------------------------
-//
-CTelMatchingExtension* 
-    CPEContactExtensionWrapper::CreateContactExtensionL() const
-    {
-    return CTelMatchingExtension::NewL( iPluginUid );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CPEContactExtensionWrapper::Identifier
-// ---------------------------------------------------------------------------
-//
-TUid CPEContactExtensionWrapper::Identifier() const
-    {
-    return iPluginUid;
-    }
--- a/phoneengine/contacthandling/src/cpecontacthandling.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +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 module contains the implementation of CPEContactHandling class
-*
-*/
-
-
-//  INCLUDE FILES
-#include "cpecontacthandling.h"
-#include "cpecontactmatch.h"
-#include <mpedatastore.h>
-#include <e32std.h>
-#include <mpephonemodelinternal.h>
-#include <pepanic.pan>
-#include <barsc.h> 
-#include <barsread.h>
-#include <talogger.h>
-#include <bldvariant.hrh>
-#include <featmgr.h>
-
-// ================= MEMBER FUNCTIONS =======================================
-
-// -----------------------------------------------------------------------------
-// CPEContactHandling::CPEContactHandling
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPEContactHandling::CPEContactHandling
-        ( 
-        MPEPhoneModelInternal& aModel,
-        RFs& aFsSession
-        ) : iModel( aModel ),
-            iFsSession( aFsSession )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandling::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPEContactHandling::ConstructL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandling::ConstructL > CPEContactMatch::NewL" );
-    iContactMatcher = CPEContactMatch::NewL( *this, *iModel.DataStore() );  
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandling::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPEContactHandling* CPEContactHandling::NewL
-        ( 
-        MPEPhoneModelInternal& aModel,  // Phone Model
-        RFs& aFsSession
-        )
-    {
-    TEFLOGSTRING(KTAOBJECT, "CNT CPEContactHandling::NewL start.");
-    CPEContactHandling* self = new ( ELeave ) CPEContactHandling( aModel, aFsSession );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    TEFLOGSTRING(KTAOBJECT, "CNT CPEContactHandling::NewL Complete.");
-    return self;
-    }
-
-// Destructor
-CPEContactHandling::~CPEContactHandling
-        (
-        // None.
-        )
-    {
-    delete iContactMatcher;
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandling::FindContactInfoSyncL
-// Synchronous method for searching contact information with the key defined
-//
-// Supported synchronous searching keys are searching with phone number,
-// name, contact id and voice tag (actually uses contact id)
-// -----------------------------------------------------------------------------
-//
-void CPEContactHandling::FindContactInfoSyncL
-        ( 
-        TInt aCallId,             // call id from phone engine
-        TPEFindContactKey aFindKey     // search key
-        )     
-    {
-    TPEPhoneNumber line1 = iModel.DataStore()->VoiceMailBoxNumberLine1();
-    TPEPhoneNumber line2 = iModel.DataStore()->VoiceMailBoxNumberLine2();
-    TPEPhoneNumber remoteNumber = iModel.DataStore()->RemotePhoneNumber( aCallId );
-    
-    if( remoteNumber.Length() < 3 ) //according to UI spec numbers less than 3 digits are not matched.
-        {
-        return;
-        }
-
-    if ( remoteNumber == line1 )
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactHandling::FindContactInfoSyncL, number matched to vmbx line 1" );
-        iModel.DataStore()->SetRemotePhoneNumberType( EPEVmbxNumberLine1, aCallId );
-        }
-    else if ( remoteNumber == line2 )
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactHandling::FindContactInfoSyncL, number matched to vmbx line 2" );
-        iModel.DataStore()->SetRemotePhoneNumberType( EPEVmbxNumberLine2, aCallId );
-        }
-    else // If number was not voicemailboxnumber, check number from contacts.
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactHandling::FindContactInfoSyncL, number did not match vmbx" );
-        FindContactInfoSyncFromContactDbL( aCallId, aFindKey );
-        }
-    }
-// -----------------------------------------------------------------------------
-// CPEContactHandling::FindContactInfoSync
-// Calls method FindContactInfoSyncL which can leave. This leave is trapped in 
-// this function.
-// -----------------------------------------------------------------------------
-//
-TInt CPEContactHandling::FindContactInfoSync
-        ( 
-        const TInt aCallId,
-        const TPEFindContactKey aFindKey
-        )     
-    {
-    TRAPD( error, FindContactInfoSyncL( aCallId, aFindKey ) );
-    TEFLOGSTRING2( KTAMESOUT, "CNT CPEContactHandling::FindContactInfoSync, error code: %d", error );
-    return (error);
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandling::SendErrorMessage
-// Method reroutes error messages to the CPhoneModel object
-// -----------------------------------------------------------------------------
-//
-void CPEContactHandling::SendErrorMessage
-        ( 
-        TInt aErrorCode 
-        )
-    {
-    iModel.DataStore()->SetErrorCode( aErrorCode );
-    iModel.SendMessage( MEngineMonitor::EPEMessageContactHandlingError );
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandling::SendMessage
-// Method reroutes error messages to the CPhoneModel object
-// -----------------------------------------------------------------------------
-//
-void CPEContactHandling::SendMessage
-        (
-        MEngineMonitor::TPEMessagesFromPhoneEngine aMessage,
-        const TInt aCallId
-        )
-    {
-    if ( aMessage == MEngineMonitor::EPEMessageThumbnailLoadingCompleted )
-        {
-        CFbsBitmap* thumbnailData = iContactMatcher->ContactThumbnail();
-        if ( thumbnailData )
-            {
-            iModel.DataStore()->SetCallerThumbnail( thumbnailData, aCallId );
-            }
-        }
-
-    iModel.SendMessage( aMessage, aCallId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandling::FindContactInfoSyncFromContactDb
-// Synchronous method for searching contact information from
-// contact database with the key defined.
-//
-// Supported synchronous searching keys are searching with phone number and
-// contact id.
-// -----------------------------------------------------------------------------
-//
-void CPEContactHandling::FindContactInfoSyncFromContactDbL
-        (
-        const TInt aCallId,
-        const TPEFindContactKey aFindKey
-        ) const
-    {
-    ASSERT( iContactMatcher );
-
-    // Check validity of the search key
-    switch ( aFindKey )
-        {
-        case EPEFindWithPhoneNumber:
-            iContactMatcher->MatchWithNumberL( aCallId );
-            break;
-        case EPEFindWithContactId:
-            iContactMatcher->MatchWithContactIdL( aCallId );
-            break;
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandling::GetSpeedDialLocation
-// Get's phone number and contact id from given location.
-// -----------------------------------------------------------------------------
-//
-TInt CPEContactHandling::GetSpeedDialLocation( 
-    TInt aLocationIndex, 
-    TPEPhoneNumber& aNumber )
-    {
-    TInt error = KErrLocked;
-    ASSERT( iContactMatcher );
-    TRAP( error, iContactMatcher->GetSpeedDialLocationL( aLocationIndex, 
-                                                        aNumber ) );
-    return error;
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS ===============================
-
-//  End of File 
--- a/phoneengine/contacthandling/src/cpecontacthandlingdummy.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +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:  This module contains the implementation of CPEContactHandlingDummy class
-*
-*/
-
-
-
-//  INCLUDE FILES
-#include "cpecontacthandlingdummy.h"
-#include "cpecontactmatch.h"
-#include <mpedatastore.h>
-#include <e32std.h>
-#include <mpephonemodelinternal.h>
-#include <pepanic.pan>
-#include <barsc.h> 
-#include <barsread.h>
-#include <talogger.h>
-#include <bldvariant.hrh>
-#include <featmgr.h>
-
-// ================= MEMBER FUNCTIONS =======================================
-// -----------------------------------------------------------------------------
-// CPEContactHandlingDummy::CPEContactHandlingDummy
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPEContactHandlingDummy::CPEContactHandlingDummy()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandlingDummy::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPEContactHandlingDummy* CPEContactHandlingDummy::NewL()
-    {
-    TEFLOGSTRING(KTAOBJECT, "CNT CPEContactHandlingDummy::NewL start.");
-    CPEContactHandlingDummy* self = new ( ELeave ) CPEContactHandlingDummy();
-    TEFLOGSTRING(KTAOBJECT, "CNT CPEContactHandlingDummy::NewL Complete.");
-    return self;
-    }
-
-// Destructor
-CPEContactHandlingDummy::~CPEContactHandlingDummy()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingDummy::~CPEContactHandlingDummy()" );
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandlingDummy::FindContactInfoSync
-// Calls method FindContactInfoSyncL which can leave. This leave is trapped in 
-// this function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CPEContactHandlingDummy::FindContactInfoSync( 
-    const TInt /*aCallId*/, const TPEFindContactKey /*aFindKey*/ )     
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingDummy::FindContactInfoSync()" );
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandlingDummy::GetSpeedDialLocation
-// Get's phone number and contact id from given location.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CPEContactHandlingDummy::GetSpeedDialLocation( 
-    TInt /*aLocationIndex*/, 
-    TPEPhoneNumber& /*aNumber*/ )
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingDummy::GetSpeedDialLocation()" );
-    return KErrNone;
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS ===============================
-
-//  End of File 
--- a/phoneengine/contacthandling/src/cpecontacthandlingproxy.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +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:  This module contains the implementation of CPEContactHandlingProxy class
-*
-*/
-
-
-//  INCLUDE FILES
-#include "cpecontacthandling.h"
-#include "cpecontacthandlingproxy.h"
-#include "cpecontacthandlingdummy.h"
-#include "cpecontactmatch.h"
-#include <mpedatastore.h>
-#include <e32std.h>
-#include <mpephonemodelinternal.h>
-#include <pepanic.pan>
-#include <barsc.h> 
-#include <barsread.h>
-#include <talogger.h>
-#include <bldvariant.hrh>
-#include <featmgr.h>
-
-// ================= MEMBER FUNCTIONS =======================================
-// -----------------------------------------------------------------------------
-// CPEContactHandlingProxy::CreateFirstPhaseL
-// This method creates the contact handling proxy and dummy implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MPEContactHandling* CPEContactHandlingProxy::CreateFirstPhaseL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingProxy::CreateFirstPhaseL start." );
-    CPEContactHandlingProxy* self = new ( ELeave ) CPEContactHandlingProxy();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingProxy::CreateFirstPhaseL Complete." );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandlingProxy::CreateSecondPhaseL
-// This method creates the actual contact handling implementation
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPEContactHandlingProxy::CreateSecondPhaseL(
-        MPEPhoneModelInternal& aModel,
-        RFs& aFsSession
-        )
-    {
-    TEFLOGSTRING( KTAOBJECT, "LOG CPELogHandlingProxy::CreateSecondPhaseL start." );
-    iContactHandling = CPEContactHandling::NewL( aModel, aFsSession );
-    TEFLOGSTRING( KTAOBJECT, "LOG CPELogHandlingProxy::CreateSecondPhaseL complete." );
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandlingProxy::CPEContactHandlingProxy
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPEContactHandlingProxy::CPEContactHandlingProxy()
-        {
-        }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandlingProxy::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPEContactHandlingProxy::ConstructL()
-    {
-    TEFLOGSTRING( KTAOBJECT, "LOG CPEContactHandlingProxy::ConstructL" );
-    // Create an instance of the log handling dummy implementation
-    iContactHandlingDummy = CPEContactHandlingDummy::NewL();  
-    }
-
-// Destructor
-CPEContactHandlingProxy::~CPEContactHandlingProxy()
-    {
-    TEFLOGSTRING( KTAOBJECT, "LOG CPELogHandlingProxy::~CPEContactHandlingProxy" );
-    delete iContactHandling;
-    delete iContactHandlingDummy;
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandlingProxy::FindContactInfoSync
-// Calls method FindContactInfoSyncL which can leave. This leave is trapped in 
-// this function.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CPEContactHandlingProxy::FindContactInfoSync
-        ( 
-        const TInt aCallId,
-        const TPEFindContactKey aFindKey
-        )     
-    {
-    if ( iContactHandling )
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactHandlingProxy::FindContactInfoSync > CPEContactHandling::FindContactInfoSync" );
-        return iContactHandling->FindContactInfoSync( aCallId, aFindKey );
-        }
-    else if ( iContactHandlingDummy )
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactHandlingProxy::FindContactInfoSync > CPEContactHandlingDummy::FindContactInfoSync" );
-        return iContactHandlingDummy->FindContactInfoSync( aCallId, aFindKey );
-        }
-    else
-        {
-        TEFLOGSTRING( KTAERROR, "CNT CPECONTACTHANDLINGPROXY::FINDCONTACTINFOSYNC ! NEITHER CONTACT HANDLING NOR CONTACT HANDLING DUMMY EXISTS" );
-        User::Invariant();
-        }
-    return KErrBadHandle;
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactHandlingProxy::GetSpeedDialLocation
-// Get's phone number and contact id from given location.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CPEContactHandlingProxy::GetSpeedDialLocation( 
-    TInt aLocationIndex, 
-    TPEPhoneNumber& aNumber )
-    {
-    if ( iContactHandling )
-        {
-        TEFLOGSTRING( 
-            KTAINT, 
-            "CNT CPEContactHandlingProxy::GetSpeedDialLocation > CPEContactHandling::GetSpeedDialLocation" );
-        return iContactHandling->GetSpeedDialLocation( aLocationIndex, aNumber );
-        }
-    else if ( iContactHandlingDummy )
-        {
-        TEFLOGSTRING( 
-            KTAINT, 
-            "CNT CPEContactHandlingProxy::GetSpeedDialLocation > CPEContactHandlingDummy::GetSpeedDialLocation" );
-        return iContactHandlingDummy->GetSpeedDialLocation( 
-            aLocationIndex, 
-            aNumber );
-        }
-    else
-        {
-        TEFLOGSTRING( 
-            KTAERROR, 
-            "CNT CPECONTACTHANDLINGPROXY::GETSPEEDDIALLOCATION ! NEITHER CONTACT HANDLING NOR CONTACT HANDLING DUMMY EXISTS" );
-        User::Invariant();
-        }
-    return KErrBadHandle;
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS ===============================
-
-//  End of File 
--- a/phoneengine/contacthandling/src/cpecontactmatch.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,750 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This module contains the implementation of CPEContactMatch class
-*
-*/
-
-
-// INCLUDE FILES
-#include "cpecontacthandling.h"
-#include "cpecontactmatch.h"
-#include <cphonecntfactory.h>
-#include <cphcntmatcher.h>
-#include <cphcntspeeddialmonitor.h>
-#include <cphcntthumbnailloader.h>
-#include <mpeclientinformation.h>
-#include <mpedatastore.h>
-#include <mphcntmatch.h>
-#include <mphcntthumbnailloaderobserver.h>
-#include <pepanic.pan>
-#include <pevirtualengine.h>
-#include <talogger.h>
-#include <telmatchingextension.h>
-#include <spsettings.h>
-#include <spdefinitions.h>
-#include <spproperty.h>
-#include <spentry.h>
-#include "cpecontactextensionwrapper.h"
-
-// CONSTANTS
-
-// Space - used as a separator between concatenated first and last name
-_LIT( KPESpace," ");
-
-
-// Contact group array granularity
-const TInt KPEContactGroupArrayGranularity = 5;
-// Minimum value of meanigful digits
-const TInt KMinValueOfMeaningfulDigits = 4;
-// Maximum value of meanigful digits
-const TInt KMaxValueOfMeaningfulDigits = 20;
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CPEContactMatch::NewL
-// ---------------------------------------------------------------------------
-//
-CPEContactMatch* CPEContactMatch::NewL(
-        CPEContactHandling& aOwner,
-        MPEDataStore& aDataStore
-        )
-    {
-    CPEContactMatch* self = 
-        new ( ELeave ) CPEContactMatch( aOwner, aDataStore );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CPEContactMatch::~CPEContactMatch()
-    {
-    delete iSpeedDialCommand;
-    if ( iContactThumbnailLoader && iThumbnailId )
-        {
-      	iContactThumbnailLoader->Cancel( iThumbnailId );
-        }
-    delete iThumbnailImage;
-    delete iContactThumbnailLoader;
-    delete iContactMatcher;
-    delete iContactFactory;
-    
-    iPlugins.ResetAndDestroy();
-    REComSession::FinalClose();
-    iLibrary.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::CreateSingleItemFetchL
-// -----------------------------------------------------------------------------
-//
-CPhCntSingleItemFetch* CPEContactMatch::CreateSingleItemFetchL()
-    {
-    return iContactFactory->CreateSingleItemFetchL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::CreateContactIdL
-// -----------------------------------------------------------------------------
-//
-CPhCntContactId* CPEContactMatch::CreateContactIdL( const TDesC8& aContactId )
-    {  
-    return iContactFactory->CreateContactIdL( aContactId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::CreateContactIdL
-// -----------------------------------------------------------------------------
-//
-CPhCntContactId* CPEContactMatch::CreateContactIdL(
-    TContactItemId aContactId )
-    {  
-    return iContactFactory->CreateContactIdL( aContactId );
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::CPEContactMatch
-// -----------------------------------------------------------------------------
-//
-CPEContactMatch::CPEContactMatch(
-        CPEContactHandling& aOwner,
-        MPEDataStore& aDataStore )
-        : iOwner( aOwner ), iDataStore( aDataStore )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CPEContactMatch::ConstructL()
-    {
-    //Mandatory services for providing contact match functionality
-    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactMatch::ConstructL > RLibrary::Load" );
-    iContactFactory = CreateCntFactoryL();
-    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactMatch::ConstructL > CPhCntFactory::CreateContactMatcherL" );
-    iContactMatcher = iContactFactory->CreateContactMatcherL();
-
-    //Secondary services that may be enabled on demand
-    ConstructThumbnailLoaderL();
-    ConstructSpeedDialCommandL();
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::ConstructThumbnailLoaderL
-// -----------------------------------------------------------------------------
-//
-void CPEContactMatch::ConstructThumbnailLoaderL()
-    {
-    if ( !iContactThumbnailLoader )
-        {
-        TEFLOGSTRING( KTAOBJECT, "CNT CPEContactMatch::ConstructL > CPhCntFactory::CreateThumbnailLoaderL" );
-        iContactThumbnailLoader = iContactFactory->CreateThumbnailLoaderL( *this );
-        }
-    else
-        {
-        TEFLOGSTRING( KTAERROR,
-            "CNT CPECONTACTMATCH::CONSTRUCTTHUMBNAILLOADERL ! ALREADY EXISTS" );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::ConstructSpeedDialCommandL
-// -----------------------------------------------------------------------------
-//
-void CPEContactMatch::ConstructSpeedDialCommandL()
-    {
-    if ( !iSpeedDialCommand )
-        {
-        TEFLOGSTRING( KTAOBJECT, "CNT CPEContactMatch::ConstructL > CPhCntFactory::CreateSpeedDialMonitorL" );
-        iSpeedDialCommand = iContactFactory->CreateSpeedDialMonitorL();
-        }
-    else
-        {
-        TEFLOGSTRING( KTAERROR,
-            "CNT CPECONTACTMATCH::CONSTRUCTSPEEDDIALCOMMANDL ! ALREADY EXISTS" );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::MatchWithContactIdL
-// Synchronous method for finding contact data specified 
-// with aContactId.
-// -----------------------------------------------------------------------------
-//
-void CPEContactMatch::MatchWithContactIdL(
-        const TInt aCallId
-        )
-
-    {
-    TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL" );
-    MPhCntMatch* match( NULL );
-    CPhCntContactId* contactId = NULL;
-    contactId = CreateContactIdL( iDataStore.CallClientInformation( aCallId ).ContactLink() );
-    CleanupStack::PushL( contactId );
-    if ( iDataStore.CallType( aCallId ) == EPECallTypeVoIP )
-        {
-        if ( contactId && contactId->IsValid() )
-            {
-            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL > CPhCntMatcher::MatchVoipNumber" );
-            // Get contact based on contact id.
-            iContactMatcher->MatchVoipNumber( match, 
-                                              *contactId );
-            }
-        else
-            {
-            User::Leave( KErrArgument );
-            }
-        }
-    else
-        {
-        if ( contactId && contactId->IsValid() )
-            {
-            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL > CPhCntMatcher::MatchNumber" );
-	        iContactMatcher->MatchNumber( match, 
-	                                      iDataStore.RemotePhoneNumber( aCallId ),
-	                                      *contactId );
-            }
-        else
-            {
-            User::Leave( KErrArgument );
-            }
-        }
-
-    if ( match != NULL )
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL, Contact match found" );
-        CopyContactFieldsDataL( *match, aCallId );
-
-        if ( match->HasThumbnailImage() )
-            {
-            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL, Thumbnail image found" );
-            // Start loading thumbnail for this contact
-            // Error code may be ignored since this is not a critical function
-            iDataStore.SetHasCallerThumbnail( ETrue, aCallId );
-            LoadThumbnail( iDataStore.ContactId( aCallId ), aCallId );
-            }
-        match->Release();
-        match = NULL;
-        }
-    CleanupStack::PopAndDestroy( contactId ); //contactId 
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::MatchWithNumberL
-// Synchronous method for finding contact data specified with phone number.
-// -----------------------------------------------------------------------------
-//
-void CPEContactMatch::MatchWithNumberL(
-        const TInt aCallId
-        )
-    {
-    MPhCntMatch* match( NULL );
-    RBuf remoteParty;
-    remoteParty.CleanupClosePushL();
-
-    if ( iDataStore.CallType( aCallId ) == EPECallTypeVoIP )
-        {
-        TEFLOGSTRING2( KTAINT, "CNT CPEContactMatch::MatchWithNumberL > CPhCntMatcher::MatchVoipNumber, call id: %d", aCallId );
-        MatchWithVoipAdressL( aCallId, match, remoteParty );
-        
-        }
-    else
-        {
-        TPEPhoneNumber remoteNumber = iDataStore.RemotePhoneNumber( aCallId );
-        
-        TEFLOGSTRING3( KTAINT, "CNT CPEContactMatch::MatchWithNumberL > CPhCntMatcher::MatchNumber, number: %S, call id: %d",
-            &remoteNumber, aCallId );
-        iContactMatcher->MatchNumber( match, remoteNumber );
-        }
-
-    if ( match != NULL )
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithNumberL, Contact match found" );
-        CopyContactFieldsDataL( *match, aCallId );
-
-        if ( match->HasThumbnailImage() )
-            {
-            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithNumberL, Thumbnail image found" );
-            // Start loading thumbnail for this contact
-            // Error code may be ignored since this is not a critical function
-            iDataStore.SetHasCallerThumbnail( ETrue, aCallId );
-            LoadThumbnail( iDataStore.ContactId( aCallId ), aCallId );
-            }
-        match->Release();
-        match = NULL;
-        }
-    else if ( 0 < remoteParty.Length() )
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithNumberL, Set plugins remote name" );
-        // Match not found, set plugins remote party name.
-        // Make sure that length of the remote name is not too long.
-        iDataStore.SetRemoteName( remoteParty.Left( 
-                                    Min( KCntMaxTextFieldLength, remoteParty.Length() ) ), 
-                                  aCallId );
-        }
-
-    CleanupStack::PopAndDestroy( &remoteParty );
-    }
-
-// ---------------------------------------------------------
-// CPEContactMatch::LoadThumbnail
-// ---------------------------------------------------------
-//
-TInt CPEContactMatch::LoadThumbnail(
-        const CPhCntContactId& aContactId,
-        const TInt aCallId )
-    {
-    // use call id for identifying which thumbnail is loaded
-    // Increment it because zero is invalid value for the id
-    TInt thumbnailId = aCallId + 1;
-    iThumbnailId =
-        reinterpret_cast< CPhCntThumbnailLoader::TThumbnailId > ( thumbnailId );
-
-    TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::LoadThumbnail > CPhCntThumbnailLoader::Load" );
-    return iContactThumbnailLoader->Load( iThumbnailId, aContactId );
-    }
-
-// ---------------------------------------------------------
-// CPEContactMatch::MpctloThumbnailLoaded
-// ---------------------------------------------------------
-//
-void CPEContactMatch::MpctloThumbnailLoaded(
-        CPhCntThumbnailLoader::TThumbnailId aId,
-        TInt aResult, 
-        CFbsBitmap* aBitmap )
-    {
-    // Operation complete
-    // Reset id to indicate that no thumbnail loading is in progress
-    iThumbnailId = KPhCntThumbnailNullId;
-
-    if ( aResult == KErrNone )
-        {
-        iThumbnailImage = aBitmap;
-
-        // Decrement call id, see LoadThumbnail() for reason
-        TInt thumbnailId = ( reinterpret_cast< TInt >( aId ) ) - 1;
-
-        iOwner.SendMessage( MEngineMonitor::EPEMessageThumbnailLoadingCompleted, thumbnailId );
-        }
-    else
-        {
-        TEFLOGSTRING( KTAERROR,
-            "CNT CPECONTACTMATCH::MPCTLOTHUMBNAILLOADED ! ERROR LOADING THUMBNAIL" );
-        iOwner.SendErrorMessage( aResult );
-        }
-    }
-
-// ---------------------------------------------------------
-// CPEContactMatch::ContactThumbnail
-// Returns contact thumbnail image, NULL if not found
-// ---------------------------------------------------------
-//
-CFbsBitmap* CPEContactMatch::ContactThumbnail()
-    {
-    if ( !iThumbnailImage )
-        {
-        return NULL;
-        }
-    CFbsBitmap* returnedThumbnailImage( iThumbnailImage );
-    iThumbnailImage = NULL; // Ownership is passed to caller
-
-    return returnedThumbnailImage;
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::CopyContactFieldsDataL
-// Copies contact information to remote info struct
-// -----------------------------------------------------------------------------
-//
-void CPEContactMatch::CopyContactFieldsDataL(
-        const MPhCntMatch& aMatch,
-        const TInt aCallId
-        )
-    {
-    TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL: start" );
-
-    // Set ringing tone's filename
-    iDataStore.SetPersonalRingingTone( aMatch.PersonalRingingTone(), aCallId );
-
-    // Set name
-    // The following logic determines if one of the languages that require
-    // swapping of first/last name order is selected and performs the operation.
-    HBufC* lastname( NULL );
-    HBufC* firstname( NULL );
-
-    if ( aMatch.LastName().Length() > 0 )
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, alloc last name" );
-        lastname = aMatch.LastName().Alloc();
-        }
-    if ( aMatch.FirstName().Length() > 0 )
-        {
-        TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, alloc first name" );
-        firstname = aMatch.FirstName().Alloc();
-        }
-
-    if ( ( lastname ) && ( firstname ) )
-        {
-        //Swap name order, if required by the current language setting
-        const TLanguage language = User::Language();
-    
-        for ( TInt index = 0; index < KPENumberOfSwappedLanguages; index++ )
-            {
-            if ( KPESwappedLanguages[index] == language )
-                {
-                HBufC* tempfirstname( firstname );
-                firstname = lastname;
-                lastname = tempfirstname;
-                break;
-                }
-            }
-        }
-
-    TPEContactName finalName;
-    // Parse name by concatenating lastname and firstname
-    if ( firstname )
-        {
-        finalName = *firstname;
-        if ( finalName.Length() < KCntMaxTextFieldLength && lastname )
-            {
-            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, append with space" );
-            finalName.Append( KPESpace );
-            }
-        delete firstname;
-        firstname = NULL;
-        }
-    if ( lastname )
-        {
-        if ( finalName.Length() < KCntMaxTextFieldLength )
-            {
-            // Check how long last name can be added to the iName string. 
-            TInt lastNameMaxLength = KCntMaxTextFieldLength - finalName.Length();
-            if ( lastname->Length() > lastNameMaxLength )
-                {
-                TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, append with part of last name" );
-                // Cut extra chars from the string.
-                finalName.Append( lastname->Left( lastNameMaxLength ) );          
-                }
-            else 
-                {
-                TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, append with last name" );
-                finalName.Append( *lastname );
-                }
-            }
-        delete lastname;
-        lastname = NULL;
-        }
-        
-    // Replace paragraph separator with space character
-    const TText ps(0x2029);
-
-    while ( finalName.Locate( ps ) != KErrNotFound )
-        {
-        finalName[ finalName.Locate( ps )] = ' ';
-        }
-
-    iDataStore.SetRemoteName( finalName, aCallId );
-
-    iDataStore.SetRemoteTextToSpeechText( aMatch.TextToSpeechTextL(), aCallId );
-
-    if ( aMatch.Number().Length() > 0 )
-        {
-        iDataStore.SetRemotePhoneNumber( aMatch.Number(), aCallId );    
-        }   
-
-    TInt phcntfinderNumberType = aMatch.NumberType();
-            
-    switch ( phcntfinderNumberType )
-        {
-        case MPhCntMatch::EMobileNumber:
-            iDataStore.SetRemotePhoneNumberType( EPEMobileNumber, aCallId );
-            break;
-        case MPhCntMatch::EStandardNumber:
-            iDataStore.SetRemotePhoneNumberType( EPETelephoneNumber, aCallId );
-            break;
-        case MPhCntMatch::EFaxNumber:
-            iDataStore.SetRemotePhoneNumberType( EPEFaxNumber, aCallId );
-            break;
-        case MPhCntMatch::EPagerNumber:
-            iDataStore.SetRemotePhoneNumberType( EPEPager, aCallId );
-            break;
-        case MPhCntMatch::EVoipNumber:
-            iDataStore.SetRemotePhoneNumberType( EPEVoipNumber, aCallId );
-            break;
-        case MPhCntMatch::EVideoNumber:
-            iDataStore.SetRemotePhoneNumberType( EPEVideoNumber, aCallId );
-            break;        
-        case MPhCntMatch::EAssistantNumber:
-            iDataStore.SetRemotePhoneNumberType( EPEAssistantNumber, aCallId );
-            break;        
-        case MPhCntMatch::ECarNumber:
-            iDataStore.SetRemotePhoneNumberType( EPECarNumber, aCallId );
-            break;        
-        case MPhCntMatch::EHomeNumber:
-            iDataStore.SetRemotePhoneNumberType( EPEHomeNumber, aCallId );
-            break;        
-        case MPhCntMatch::EWorkNumber:
-            iDataStore.SetRemotePhoneNumberType( EPEWorkNumber, aCallId );
-            break;        
-        case MPhCntMatch::ENone: // fall through
-        default:
-            iDataStore.SetRemotePhoneNumberType( EPEUnknownNumber, aCallId );
-            break;
-        }
-
-    // Replace paragraph separator with space character
-    TPEContactName companyName;
-    companyName = aMatch.CompanyName();
-    while ( companyName.Locate( ps ) != KErrNotFound )
-        {
-        companyName[ companyName.Locate( ps )] = ' ';
-        }
-    // Set Company name
-    iDataStore.SetRemoteCompanyName( companyName, aCallId );
-
-    // Set Call text
-    iDataStore.SetCallerText( aMatch.CallText(), aCallId );
-
-    // Set Call image
-    iDataStore.SetCallerImage( aMatch.CallImage(), aCallId );
-    
-    // Set Contact ID
-    iDataStore.SetContactId( aMatch.ContactId()->CloneL(), aCallId );
-
-    CArrayFixFlat< TContactItemId >* groupList
-        = new ( ELeave ) CArrayFixFlat< TContactItemId >
-        ( KPEContactGroupArrayGranularity );
- 
-    TArray<TContactItemId> alertFor = iDataStore.AlertForGroup();
-    const TInt groupLength = alertFor.Count();
-    for ( TInt i = 0; i < groupLength; i++ ) 
-        {
-        groupList->AppendL( alertFor[ i ] );
-        }
-   
-    if ( aMatch.BelongsToGroups( *groupList ) )
-        {
-        // Convert array type here to ease further handling
-        TArray<TContactItemId> list = groupList->Array();
-        // Set group information
-        iDataStore.SetContactGroups( list, aCallId );
-        }
-    delete groupList;
-    groupList = NULL;
-    
-    // Set dtmf array
-    iDataStore.SetPredefinedDtmfStrings( aMatch.AllDtmfNumbers(), aCallId );
-    TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL: complete" );  
-    }
-
-// -----------------------------------------------------------------------------
-// CPEContactMatch::GetSpeedDialLocationL
-// Get's phone number from given location.
-// -----------------------------------------------------------------------------
-//
-void CPEContactMatch::GetSpeedDialLocationL( 
-    TInt aLocationIndex, 
-    TPEPhoneNumber& aNumber )
-    {
-    iSpeedDialCommand->GetSpeedDialFieldL( aLocationIndex, aNumber);
-    }
-
-// -----------------------------------------------------------
-// CPEContactMatch::ResolveImplementationUidL
-// -----------------------------------------------------------
-//
-TUid CPEContactMatch::ResolveServicesImplementationUidL( TUint32 aServiceId )
-    {
-    TEFLOGSTRING2( KTAINT, "CNT CPEContactMatch::ResolveService > aServiceId: %d", aServiceId );   
-    TUid implUid = {0};
-    
-    CSPEntry* entry = CSPEntry::NewLC();
-    CSPSettings* spSettings = CSPSettings::NewLC(); 
-    
-    User::LeaveIfError(
-        spSettings->FindEntryL( aServiceId, *entry ) ); 
-
-    CleanupStack::PopAndDestroy( spSettings ); 
-
-    const CSPProperty* property = NULL;
-    User::LeaveIfError( entry->GetProperty( property, EPropertyCLIPluginId ) );
-    
-    if ( property ) 
-        {
-        TInt temp(0);
-        User::LeaveIfError( property->GetValue( temp ) );
-        implUid.iUid = temp;
-        }
-    else
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    CleanupStack::PopAndDestroy( entry );
-    return implUid;
-    }
-
-// -----------------------------------------------------------
-// CPEContactMatch::MatchWithVoipAdressL
-// -----------------------------------------------------------
-//
-void CPEContactMatch::MatchWithVoipAdressL( 
-    const TInt aCallId, 
-    MPhCntMatch*& aMatch, 
-    RBuf& aRemotePartyName )
-    {
-    TEFLOGSTRING2( KTAINT, 
-        "CNT CPEContactMatch::MatchWithVoipAdressL, CALL ID: %d", aCallId )
-    
-    aRemotePartyName.Close();
-    TRAPD( result, MatchWithVoipAddressUsingExtensionL( 
-        aCallId, aMatch, aRemotePartyName ) );
-    if ( KErrNone != result )
-        {
-        TEFLOGSTRING2( KTAINT, 
-            "CNT CPEContactMatch::MatchWithVoipAdressL > PLUGIN ERR: %d", result )
-            
-        // Some error happened while using extension plugin.
-        // -> Default matching is used.
-            
-        // Try to find store uris that should be opened before contact match.    
-        CDesCArray* storeUris = NULL; 
-        TRAP_IGNORE( storeUris = StoreUrisForServiceL( 
-                iDataStore.ServiceId( aCallId )) );
-        
-        TPEPhoneNumber remoteNumber = iDataStore.RemotePhoneNumber( aCallId );
-        iContactMatcher->MatchVoipNumber( 
-            aMatch, remoteNumber, ETrue, storeUris, remoteNumber.Length() );
-        
-        delete storeUris;
-        }
-    }
-
-// -----------------------------------------------------------
-// CPEContactMatch::StoreUrisForServiceL
-// -----------------------------------------------------------
-//
-CDesCArray* CPEContactMatch::StoreUrisForServiceL( TUint aServiceId )
-    {	
-    CDesCArray* storeUris = new ( ELeave ) CDesC16ArrayFlat( 1 );
-    CleanupStack::PushL( storeUris );
-    
-    // Get contact store id from Service Table
-    // KSPMaxDesLength from spdefinitions.h
-    HBufC* cntStoreId = HBufC::NewLC( KSPMaxDesLength );
-    CSPSettings* spSettings = CSPSettings::NewLC(); 
-    CSPProperty* property = CSPProperty::NewLC();
-    User::LeaveIfError( spSettings->FindPropertyL( 
-            TServiceId( aServiceId ), 
-            EPropertyContactStoreId, 
-            *property ) );                        
-          
-    TPtr storeUri( cntStoreId->Des() );
-    User::LeaveIfError( property->GetValue( storeUri ) );   
-
-    storeUris->AppendL( storeUri );
-
-    CleanupStack::PopAndDestroy( property );
-    CleanupStack::PopAndDestroy( spSettings );     
-    CleanupStack::PopAndDestroy( cntStoreId );
-    CleanupStack::Pop( storeUris );
-
-    return storeUris;
-    }
-
-// -----------------------------------------------------------
-// CPEContactMatch::MatchWithVoipAddressUsingExtensionL
-// -----------------------------------------------------------
-//
-void CPEContactMatch::MatchWithVoipAddressUsingExtensionL( TInt aCallId, 
-        MPhCntMatch*& aMatch, RBuf& aRemotePartyName )
-    {
-    // Create and initialize extension plugin.
-    TUint32 serviceId = iDataStore.ServiceId( aCallId );
-    CTelMatchingExtension& plugin = MatchingExtensionL( serviceId );
-    TPEPhoneNumber remoteNumber = iDataStore.RemotePhoneNumber( aCallId );
-    plugin.InitializeL( serviceId, remoteNumber );
-    
-    // Get service specific parameters from the plugin.
-    User::LeaveIfError( plugin.GetRemotePartyName( aRemotePartyName ) );
-    
-    RBuf parsedAddress;
-    CleanupClosePushL( parsedAddress );
-    TInt digitsformatching( 0 );
-    User::LeaveIfError( plugin.GetAddressForMatching( parsedAddress, digitsformatching ) );
-
-    CDesCArray* array = new ( ELeave ) CDesC16ArrayFlat( 1 );
-    CleanupStack::PushL( array );
-    User::LeaveIfError( plugin.GetContactStoreUris( *array ) );
-    
-    TEFLOGSTRING2( KTAINT, "CNT Extension Plugin > remoteParty: %S", &aRemotePartyName )
-    TEFLOGSTRING3( KTAINT, "CNT Extension Plugin > parsedAddress: %S , digits: %d",
-        &parsedAddress, digitsformatching )
-    TEFLOGSTRING2( KTAINT, "CNT Extension Plugin > array count: %d", array->MdcaCount() )
-    
-    // Digits for matching. Supported range is between 4-20.
-    // If not valid value use whole address length for matching.
-    digitsformatching = ( digitsformatching < KMinValueOfMeaningfulDigits || 
-                          digitsformatching > KMaxValueOfMeaningfulDigits ) ? 
-                          parsedAddress.Length() : digitsformatching;
-    
-    // Use service specific parameters for matching.
-    TEFLOGSTRING3( KTAINT, "CNT MatchWithVoipAddressUsingExtensionL >\
-        CPhCntMatcher::MatchVoipNumber, NUMBER: %S, CALL ID: %d",
-        &remoteNumber, aCallId )
-    iContactMatcher->MatchVoipNumber( aMatch, 
-        parsedAddress.Left( Min( parsedAddress.Length(), KPEPhoneNumberMaxLength ) ), 
-        ETrue, array, digitsformatching );                                       
-    
-    CleanupStack::PopAndDestroy( array );
-    CleanupStack::PopAndDestroy( &parsedAddress );
-    }
-
-
-// -----------------------------------------------------------
-// CPEContactMatch::MatchingExtensionL
-// -----------------------------------------------------------
-//
-CTelMatchingExtension& CPEContactMatch::MatchingExtensionL( TUint aServiceId )
-    {
-    TUid pluginUid = ResolveServicesImplementationUidL( aServiceId );
-    
-    CPEContactExtensionWrapper* wrapper = NULL;
-    TInt pluginInd = 
-        iPlugins.Find( pluginUid, CPEContactExtensionWrapper::MatchByUid );
-    if ( KErrNotFound == pluginInd )
-        {
-        wrapper = CPEContactExtensionWrapper::NewLC( pluginUid );
-        iPlugins.AppendL( wrapper );
-        CleanupStack::Pop( wrapper );
-        }
-    else
-        {
-        wrapper = iPlugins[pluginInd];
-        }
-    
-    __ASSERT_ALWAYS( NULL != wrapper, User::Leave( KErrNotFound ) );
-    return *wrapper;
-    }
-
-//  End of File  
--- a/phoneengine/contacthandling/src/pecontacthandlingpanic.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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 module contains the implementation of Contact Hanling 
-*                panic function
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <pepanic.pan>
-#include "e32std.h"
-// EXTERNAL DATA STRUCTURES
-//None
-
-// EXTERNAL FUNCTION PROTOTYPES  
-//None
-
-// CONSTANTS
-//None
-
-// MACROS
-//None
-
-// LOCAL CONSTANTS AND MACROS
-//None
-
-// MODULE DATA STRUCTURES
-//None
-
-// LOCAL FUNCTION PROTOTYPES
-//None
-
-// FORWARD DECLARATIONS
-//None
-
-
-// ==================== LOCAL FUNCTIONS =====================================
-// None
-
-// ================= MEMBER FUNCTIONS =======================================
-// None
-
-// ================= OTHER EXPORTED FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// Panic implements...
-// Contact Handling panic function
-// Returns: None
-// -----------------------------------------------------------------------------
-//
-GLDEF_C void Panic
-        ( 
-        TPEPanic aPanic 
-        )
-    {
-    _LIT(KPEContactHandlingPanic,"ContactHandling Panic!");
-    User::Panic( KPEContactHandlingPanic, aPanic);
-    }
-
-// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/bwins/contacthandlingu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,11 @@
+EXPORTS
+	??1CPEContactHandlingProxy@@UAE@XZ @ 1 NONAME ; CPEContactHandlingProxy::~CPEContactHandlingProxy(void)
+	?CreateFirstPhaseL@CPEContactHandlingProxy@@SAPAVMPEContactHandling@@XZ @ 2 NONAME ; class MPEContactHandling * CPEContactHandlingProxy::CreateFirstPhaseL(void)
+	?CreateSecondPhaseL@CPEContactHandlingProxy@@QAEXAAVMPEPhoneModelInternal@@AAVRFs@@@Z @ 3 NONAME ; void CPEContactHandlingProxy::CreateSecondPhaseL(class MPEPhoneModelInternal &, class RFs &)
+	?FindContactInfoSync@CPEContactHandlingDummy@@UAEHHW4TPEFindContactKey@@@Z @ 4 NONAME ; int CPEContactHandlingDummy::FindContactInfoSync(int, enum TPEFindContactKey)
+	?FindContactInfoSync@CPEContactHandlingProxy@@UAEHHW4TPEFindContactKey@@@Z @ 5 NONAME ; int CPEContactHandlingProxy::FindContactInfoSync(int, enum TPEFindContactKey)
+	?GetSpeedDialLocation@CPEContactHandlingDummy@@UAEHHAAV?$TBuf@$0GE@@@@Z @ 6 NONAME ; int CPEContactHandlingDummy::GetSpeedDialLocation(int, class TBuf<100> &)
+	?GetSpeedDialLocation@CPEContactHandlingProxy@@UAEHHAAV?$TBuf@$0GE@@@@Z @ 7 NONAME ; int CPEContactHandlingProxy::GetSpeedDialLocation(int, class TBuf<100> &)
+	?NewL@CPEContactHandlingDummy@@SAPAV1@XZ @ 8 NONAME ; class CPEContactHandlingDummy * CPEContactHandlingDummy::NewL(void)
+	?NewL@CPEContactMatch@@SAPAV1@AAVCPEContactHandling@@AAVMPEDataStore@@@Z @ 9 NONAME ; class CPEContactMatch * CPEContactMatch::NewL(class CPEContactHandling &, class MPEDataStore &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/data/contacthandling_stub.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -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/data/contacthandling_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/eabi/contacthandlingu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,21 @@
+EXPORTS
+	_ZN23CPEContactHandlingDummy19FindContactInfoSyncEi17TPEFindContactKey @ 1 NONAME
+	_ZN23CPEContactHandlingDummy20GetSpeedDialLocationEiR4TBufILi100EE @ 2 NONAME
+	_ZN23CPEContactHandlingDummy4NewLEv @ 3 NONAME
+	_ZN23CPEContactHandlingProxy17CreateFirstPhaseLEv @ 4 NONAME
+	_ZN23CPEContactHandlingProxy18CreateSecondPhaseLER21MPEPhoneModelInternalR3RFs @ 5 NONAME
+	_ZN23CPEContactHandlingProxy19FindContactInfoSyncEi17TPEFindContactKey @ 6 NONAME
+	_ZN23CPEContactHandlingProxy20GetSpeedDialLocationEiR4TBufILi100EE @ 7 NONAME
+	_ZTI15CPEContactMatch @ 8 NONAME ; #<TI>#
+	_ZTI18CPEContactHandling @ 9 NONAME ; #<TI>#
+	_ZTI23CPEContactHandlingDummy @ 10 NONAME ; #<TI>#
+	_ZTI23CPEContactHandlingProxy @ 11 NONAME ; #<TI>#
+	_ZTV15CPEContactMatch @ 12 NONAME ; #<VT>#
+	_ZTV18CPEContactHandling @ 13 NONAME ; #<VT>#
+	_ZTV23CPEContactHandlingDummy @ 14 NONAME ; #<VT>#
+	_ZTV23CPEContactHandlingProxy @ 15 NONAME ; #<VT>#
+	_ZThn4_N23CPEContactHandlingDummy19FindContactInfoSyncEi17TPEFindContactKey @ 16 NONAME ; #<thunk>#
+	_ZThn4_N23CPEContactHandlingDummy20GetSpeedDialLocationEiR4TBufILi100EE @ 17 NONAME ; #<thunk>#
+	_ZThn4_N23CPEContactHandlingProxy19FindContactInfoSyncEi17TPEFindContactKey @ 18 NONAME ; #<thunk>#
+	_ZThn4_N23CPEContactHandlingProxy20GetSpeedDialLocationEiR4TBufILi100EE @ 19 NONAME ; #<thunk>#
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,38 @@
+/*
+* 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:  ContanctHandling bld file
+*
+*/
+
+#ifdef RD_PHONE_NG
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/cpecontacthandlingproxy.h |../../inc/cpecontacthandlingproxy.h
+../inc/mpecontacthandling.h      |../../inc/mpecontacthandling.h
+
+// SIS stubs
+../data/contacthandling_stub.sis    /epoc32/data/z/system/install/contacthandling_stub.sis
+ 
+PRJ_MMPFILES
+contacthandling.mmp
+
+#endif // RD_PHONE_NG
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/group/contacthandling.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+/*
+* 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:  Project specification file for Contact Handling dll
+*
+*/
+
+#ifdef RD_PHONE_NG
+
+#include <platform_paths.hrh>
+
+TARGET          contacthandling.dll
+TARGETTYPE      dll
+UID             0x1000008D 0x1000A836    
+VENDORID        VID_DEFAULT
+
+CAPABILITY      CAP_GENERAL_DLL
+
+APP_LAYER_SYSTEMINCLUDE         // Application layer domain APIs
+
+SYSTEMINCLUDE   ../../inc          // PhoneEngine private headers
+SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
+SYSTEMINCLUDE   /epoc32/include/connect
+
+SOURCEPATH      ../src
+
+SOURCE          cpecontacthandling.cpp
+SOURCE          cpecontacthandlingdummy.cpp
+SOURCE          cpecontacthandlingproxy.cpp
+SOURCE          cpecontactmatch.cpp
+SOURCE          pecontacthandlingpanic.cpp
+
+USERINCLUDE     ../inc
+
+
+LIBRARY         efsrv.lib // For reading picture.
+LIBRARY         euser.lib
+LIBRARY         featmgr.lib // Feature manager. 
+LIBRARY         flogger.lib // For logging.
+LIBRARY         phonecntfinder.lib
+
+LANG            SC
+
+START WINS
+BASEADDRESS 0x10040000
+END
+
+#endif // RD_PHONE_NG
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/inc/cpecontacthandling.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,157 @@
+/*
+* Copyright (c) 2006-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 file contains the header file of the
+*              : CPEContactHandling class.
+*
+*/
+
+
+#ifndef CPECONTACTHANDLING_H
+#define CPECONTACTHANDLING_H
+
+//  INCLUDES
+#include "mpecontacthandling.h"
+#include <e32base.h>
+#include <cntdef.h> // TContactItemId
+#include <pevirtualengine.h>
+
+// CONSTANTS
+//None
+
+// MACROS
+//None
+
+// DATA TYPES
+//None.
+
+// FUNCTION PROTOTYPES
+//None
+
+// FORWARD DECLARATIONS
+class CContactGroup;
+class CContactItemFieldDef;
+class MPEPhoneModelInternal;
+class CPEContactMatch;
+
+// CLASS DECLARATION
+
+/**
+*  Interface class for phone engine to fetch remote info from contact database or SIM
+*
+*  @lib ContactHandling.lib
+*  @since Series60_4.0
+*/
+class CPEContactHandling
+        : public CBase,
+          public MPEContactHandling
+    {
+    public:  // Constructors and destructor
+      
+        /**
+        * Two-phased constructor.
+        */
+        static CPEContactHandling* NewL( MPEPhoneModelInternal& aModel, 
+                                              RFs& aFsSession );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CPEContactHandling();
+
+    public: // New functions
+        
+        /**
+        * Synchronous method for searching contact information. This function call's FindContactInfoSyncL()
+        * which can leave. This function call is Trapped so API function does not leave.
+        * @param aCallId        call id from phone engine
+        * @param aFindKey       defines the key to search the contact data with
+        * @return Error code indicating the success of the search
+        */
+        TInt FindContactInfoSync( 
+            const TInt aCallId,
+            const TPEFindContactKey aFindKey );
+
+        /**
+        * Reroutes errorCodes to the Phone Model
+        * @param aErrorCode is the errorCode
+        * @return None.
+        */
+        void SendErrorMessage( TInt aErrorCode );
+
+        /**
+        * Reroutes messages to the Phone Model
+        * @param aMessage is the message id
+        * @param aCallId identifies the call this event is associated to
+        */
+        void SendMessage( MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, 
+                          const TInt aCallId = KPECallIdNotUsed );
+        
+        /**
+        * Fetch number from speed dial location
+        * @param aLocationIndex Index to look for
+        * @param aNumber Filled with speed dial location phone number
+        * @return Error code.
+        */
+        TInt GetSpeedDialLocation( 
+            TInt aLocationIndex, 
+            TPEPhoneNumber& aNumber );
+
+   protected:  // New functions
+        
+        /**
+        * C++ default constructor.
+        */
+        CPEContactHandling( MPEPhoneModelInternal& aModel, 
+                        RFs& aFsSession );
+
+    private:
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+
+        /**
+        * Synchronous method for searching contact information
+        * @param aCallId        call id from phone engine
+        * @param aFindKey       defines the key to search the contact data with
+        */
+
+        void FindContactInfoSyncL(
+            const TInt aCallId, 
+            const TPEFindContactKey aFindKey );
+
+        /**
+        * Synchronous method for searching contact information from Contactdb
+        * @param aFindKey       defines the key to search the contact data with
+        * @return None
+        */
+        void FindContactInfoSyncFromContactDbL(
+            const TInt aCallId, 
+            const TPEFindContactKey aFindKey ) const;
+
+    private:    // Data
+        // Reference to MPEPhoneModelInternal , also object owner
+        MPEPhoneModelInternal&          iModel;
+        // ContactMatcher
+        CPEContactMatch*                iContactMatcher;
+        // handle to a file server session
+        RFs& iFsSession;
+        
+    };
+
+#endif      // CPECONTACTHANDLING_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/inc/cpecontacthandlingdummy.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,100 @@
+/*
+* 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:  This file contains the header file of the
+*              : CPEContactHandlingDummy class.
+*
+*/
+
+
+#ifndef CPECONTACTHANDLINGDUMMY_H
+#define CPECONTACTHANDLINGDUMMY_H
+
+//  INCLUDES
+#include "mpecontacthandling.h"
+#include <e32base.h>
+#include <mpephonemodelinternal.h>
+
+// CLASS DECLARATION
+
+/**
+*  Dummy interface to substitute real contact handling subject when neccessary
+*
+*  @lib ContactHandling.lib
+*  @since Series60_4.0
+*/
+class CPEContactHandlingDummy
+        : public CBase,
+          public MPEContactHandling
+    {
+    public:  // Constructors and destructor
+      
+        /**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CPEContactHandlingDummy* NewL();
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CPEContactHandlingDummy();
+
+    public: // New functions
+        
+        /**
+        * Synchronous method for searching contact information. This function call's FindContactInfoSyncL()
+        * which can leave. This function call is Trapped so API funktion dosn't leave.
+        * @param aCallId        call id from phone engine
+        *        aFindKey       defines the key to search the contact data with
+        *        aSearchFrom    search from key
+        * @return Error code indicating the success of the search
+        */
+        TInt FindContactInfoSync( 
+                    TInt aCallId,
+                    TPEFindContactKey aFindKey );
+
+        /**
+        * Reroutes errorCodes to the Phone Model
+        * @param aErrorCode is the errorCode
+        * @return None.
+        */
+        void SendErrorMessage( TInt aErrorCode );
+
+        /**
+        * Reroutes messages to the Phone Model
+        * @param aMessage is the message id
+        * @return None.
+        */
+        void SendMessage( MEngineMonitor::TPEMessagesFromPhoneEngine aMessage );
+        
+        /**
+        * Fetch number from speed dial location
+        * @param aLocationIndex Index to look for
+        * @param aNumber Filled with speed dial location phone number
+        * @return Error code.
+        */
+        TInt GetSpeedDialLocation( 
+            TInt aLocationIndex, 
+            TPEPhoneNumber& aNumber );
+
+   protected:  // New functions
+        /**
+        * C++ default constructor.
+        */
+        CPEContactHandlingDummy();
+
+    };
+
+#endif      // CPECONTACTHANDLINGDUMMY_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/inc/cpecontacthandlingproxy.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,116 @@
+/*
+* 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:  This file contains the header file of the
+*              : CPEContactHandlingProxy class.
+*
+*/
+
+
+
+#ifndef CPECONTACTHANDLINGPROXY_H
+#define CPECONTACTHANDLINGPROXY_H
+
+//  INCLUDES
+#include "mpecontacthandling.h"
+#include <e32base.h>
+#include <mpephonemodelinternal.h>
+
+// CLASS DECLARATION
+
+/**
+*  This proxy class provides for the access to contact information services.
+*  The construction of contact handling component is two-fold:
+*  1) CreateFirstPhaseL() creates the proxy object along with cnt handling dummy
+*  2) CreateSecondPhaseL() creates the real subject with capability to utilize
+*     contact database.
+*
+*  @lib ContactHandling.lib
+*  @since Series60_4.0
+*/
+class CPEContactHandlingProxy
+        : public CBase,
+          public MPEContactHandling
+    {
+    public:
+        /**
+        * Create contact handling proxy and dummy implementation
+        * @return pointer to log handling proxy object, i.e. the handle to
+        * access log handling services
+        */
+        IMPORT_C static MPEContactHandling* CreateFirstPhaseL();
+
+        /**
+        * Create contact handling sub system
+        * This method creates the actual log handling implementation which
+        * replaces the dummy component in use. The phone model should call this
+        * function as all the critical sub systems already enable emergency call
+        * capabilities.
+        * @param aModel, handle to the owner of this object and phone engine
+        * @param aFsSession, handle to the shared file server session
+        */
+        IMPORT_C void CreateSecondPhaseL( 
+            MPEPhoneModelInternal& aModel, 
+            RFs& aFsSession );
+      
+        /**
+        * Destructor.
+        */
+        IMPORT_C virtual ~CPEContactHandlingProxy();
+
+    public:
+        /**
+        * Synchronous method for searching contact information.
+        * @param aCallId        call id from phone engine
+        *        aFindKey       defines the key to search the contact data with
+        *        aSearchFrom    search from key
+        * @return possible Symbian OS error code
+        */
+        IMPORT_C TInt FindContactInfoSync( 
+            const TInt aCallId,
+            const TPEFindContactKey aFindKey );
+
+        /**
+        * Fetch number from speed dial location
+        * @param aLocationIndex Index to look for
+        * @param aNumber Filled with speed dial location phone number
+        * @param aContactItemId Contact item id. KErrNotFound if given location
+        *                                        was not set.
+        * @return possible Symbian OS error code
+        */
+        IMPORT_C TInt GetSpeedDialLocation( 
+            TInt aLocationIndex, 
+            TPEPhoneNumber& aNumber );
+
+    protected:
+        /**
+        * C++ default constructor.
+        */
+        CPEContactHandlingProxy();
+
+        /**
+        * Constructor, second phase. 
+        */
+        void ConstructL();
+
+
+    private:    // Data
+        // Handle to contact handling implementation
+        MPEContactHandling* iContactHandling;
+        // Handle to contact handling dummy implementation
+        MPEContactHandling* iContactHandlingDummy;
+    };
+
+#endif      // CPECONTACTHANDLINGPROXY_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/inc/cpecontactmatch.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,177 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Contact match class
+*
+*/
+
+#ifndef CPECONTACTMATCH_H
+#define CPECONTACTMATCH_H
+
+// INCLUDES
+#include <cntdef.h>
+#include <e32base.h>
+#include <pevirtualengine.h>
+
+// CONSTANTS
+// Number of languages that use lastname-firstname order
+const TInt KPENumberOfSwappedLanguages = 7;
+
+// Languages which use lastname-firstname order
+const TLanguage KPESwappedLanguages[ KPENumberOfSwappedLanguages ] = 
+    {
+    ELangHungarian,       // 17
+    ELangTaiwanChinese,   // 29
+    ELangHongKongChinese, // 30
+    ELangPrcChinese,      // 31
+    ELangJapanese,        // 32
+    ELangKorean,          // 65
+    ELangVietnamese       // 96
+    };
+
+// FORWARD DECLARATIONS
+class CPEContactHandling;
+class CPhCntContactId;
+class CPhCntFactory;
+class MPEDataStore;
+class MPhCntMatch;
+class CPhCntMatcher;
+class MPESimContactMatch;
+
+// CLASS DECLARATION
+
+/**
+*  Container for all Contact Handling owned instances of Phone Contact Finder
+*/
+class CPEContactMatch
+    : public CBase
+    {
+    public:  // Constructors and destructor      
+
+        /**
+        * Two-phased constructor.
+        * @param aOwner, handle to contact handling interface / owner of this class
+        * @param aDataStore, handle to internal engine info interface
+        * @return an instance of class CPEContactMatch
+        */
+        IMPORT_C static CPEContactMatch* NewL(
+            CPEContactHandling& aOwner,
+            MPEDataStore& aDataStore );
+        
+        /**
+        * Destructor.
+        */
+        ~CPEContactMatch();
+
+    public: // New functions
+
+        /**
+        * Synchronous method for finding contact data specified with aContactId
+        * @param aCallId, the call this contact is associated with
+        * @return None
+        */
+        void MatchWithContactIdL( const TInt aCallId ); 
+
+        /**
+        * Search contact information synchronously matching with aPhoneNumber
+        * @param aCallId, the call this contact is associated with
+        * @return None (leaves with KErrNotFound if no match found or db in use)
+        */
+        void MatchWithNumberL( const TInt aCallId );
+
+        /**
+        * Returns contact picture data and call id association
+        * NOTE! Ownership of the picture is transfered to caller.
+        * @return contact thumbnail, equals NULL if not found
+        */
+        CFbsBitmap* ContactThumbnail();
+
+        /**
+        * Fetch number from speed dial location
+        * @param aLocationIndex Index to look for
+        * @param aNumber Filled with speed dial location phone number
+        */
+        void GetSpeedDialLocationL( 
+            TInt aLocationIndex, 
+            TPEPhoneNumber& aNumber );
+
+    private:
+
+        /**
+        * C++ constructor.
+        */
+        CPEContactMatch(
+            CPEContactHandling& aOwner,
+            MPEDataStore& aDataStore );
+        
+        /**
+        * Symbian OS constructor.
+        */
+        void ConstructL();
+
+        /**
+        * Copies contact information to remote info struct
+        * @param aMatch a contact item 
+        * @param aCallId, the call this contact is associated with
+        */
+        void CopyContactFieldsDataL(
+            const MPhCntMatch& aMatch,
+            const TInt aCallId );
+
+
+        /**
+         * Creates contact id.
+         */
+        CPhCntContactId* CreateContactIdL( const TDesC8& aContactId );
+
+        /**
+         * Creates contact id.
+         */
+        CPhCntContactId* CreateContactIdL( TContactItemId aContactId );
+
+        /**
+        * Starts loading thumbnail image
+        * @param aContactId contact item with the desired thumbnail
+        * @param aCallId call id for identifying which thumbnail is loaded
+        * @return Symbian OS error code
+        */
+        TInt LoadThumbnail( const CPhCntContactId& aContactId, const TInt aCallId );
+
+  
+
+    private:    // Data
+
+        // Handle to contact handling interface / owner of this class
+        CPEContactHandling& iOwner;
+
+        // Handle to internal engine info interface
+        MPEDataStore& iDataStore;
+
+        // Owned: library
+        RLibrary iLibrary;
+
+        // Owned: contact factory
+        CPhCntFactory* iContactFactory;
+
+        // Owned: contact matcher
+        CPhCntMatcher* iContactMatcher;
+
+        // Owned: sim contact matcher
+        MPESimContactMatch* iSimContactMatcher;
+
+
+    };
+
+#endif // CPECONTACTMATCH_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/inc/mpecontacthandling.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,68 @@
+/*
+* 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:  This file contains the header file of the MPEContactHandling class.
+*
+*/
+
+
+#ifndef MPECONTACTHANDLING_H
+#define MPECONTACTHANDLING_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <pevirtualengine.h>
+
+// CLASS DECLARATION
+
+/**
+*  Interface class provides for the access to contact information services.
+*
+*  @lib ContactHandling.lib
+*  @since Series60_4.0
+*/
+class MPEContactHandling
+    {
+    public:
+        /**
+        * Destructor.
+        */
+        virtual ~MPEContactHandling(){};
+
+        /**
+        * Synchronous method for searching contact information.
+        * @param aCallId        call id from phone engine
+        *        aFindKey       defines the key to search the contact data with
+        *        aSearchFrom    search from key
+        * @return possible Symbian OS error code
+        */
+        virtual TInt FindContactInfoSync( 
+            const TInt aCallId,
+            const TPEFindContactKey aFindKey ) = 0;
+
+        /**
+        * Fetch number from speed dial location
+        * @param aLocationIndex Index to look for
+        * @param aNumber Filled with speed dial location phone number
+        * @param aContactItemId Contact item id. KErrNotFound if given location
+        *                                        was not set.
+        * @return possible Symbian OS error code
+        */
+        virtual TInt GetSpeedDialLocation( 
+            TInt aLocationIndex, 
+            TPEPhoneNumber& aNumber ) = 0;
+    };
+
+#endif      // MPECONTACTHANDLING_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/src/cpecontacthandling.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,230 @@
+/*
+* 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 module contains the implementation of CPEContactHandling class
+*
+*/
+
+//  INCLUDE FILES
+#include "cpecontacthandling.h"
+#include "cpecontactmatch.h"
+#include <mpedatastore.h>
+#include <e32std.h>
+#include <mpephonemodelinternal.h>
+#include <pepanic.pan>
+#include <barsc.h> 
+#include <barsread.h>
+#include <talogger.h>
+#include <bldvariant.hrh>
+#include <featmgr.h>
+
+// ================= MEMBER FUNCTIONS =======================================
+
+// -----------------------------------------------------------------------------
+// CPEContactHandling::CPEContactHandling
+// C++ constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CPEContactHandling::CPEContactHandling
+        ( 
+        MPEPhoneModelInternal& aModel,
+        RFs& aFsSession
+        ) : iModel( aModel ),
+            iFsSession( aFsSession )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandling::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CPEContactHandling::ConstructL()
+    {
+    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandling::ConstructL > CPEContactMatch::NewL" );
+    iContactMatcher = CPEContactMatch::NewL( *this, *iModel.DataStore() );  
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandling::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CPEContactHandling* CPEContactHandling::NewL
+        ( 
+        MPEPhoneModelInternal& aModel,  // Phone Model
+        RFs& aFsSession
+        )
+    {
+    TEFLOGSTRING(KTAOBJECT, "CNT CPEContactHandling::NewL start.");
+    CPEContactHandling* self = new ( ELeave ) CPEContactHandling( aModel, aFsSession );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    TEFLOGSTRING(KTAOBJECT, "CNT CPEContactHandling::NewL Complete.");
+    return self;
+    }
+
+// Destructor
+CPEContactHandling::~CPEContactHandling
+        (
+        // None.
+        )
+    {
+    delete iContactMatcher;
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandling::FindContactInfoSyncL
+// Synchronous method for searching contact information with the key defined
+//
+// Supported synchronous searching keys are searching with phone number,
+// name, contact id and voice tag (actually uses contact id)
+// -----------------------------------------------------------------------------
+//
+void CPEContactHandling::FindContactInfoSyncL
+        ( 
+        TInt aCallId,             // call id from phone engine
+        TPEFindContactKey aFindKey     // search key
+        )     
+    {
+    TPEPhoneNumber line1 = iModel.DataStore()->VoiceMailBoxNumberLine1();
+    TPEPhoneNumber line2 = iModel.DataStore()->VoiceMailBoxNumberLine2();
+    TPEPhoneNumber remoteNumber = iModel.DataStore()->RemotePhoneNumber( aCallId );
+    
+    if( remoteNumber.Length() < 3 ) //according to UI spec numbers less than 3 digits are not matched.
+        {
+        return;
+        }
+
+    if ( remoteNumber == line1 )
+        {
+        TEFLOGSTRING( KTAINT, "CNT CPEContactHandling::FindContactInfoSyncL, number matched to vmbx line 1" );
+        iModel.DataStore()->SetRemotePhoneNumberType( EPEVmbxNumberLine1, aCallId );
+        }
+    else if ( remoteNumber == line2 )
+        {
+        TEFLOGSTRING( KTAINT, "CNT CPEContactHandling::FindContactInfoSyncL, number matched to vmbx line 2" );
+        iModel.DataStore()->SetRemotePhoneNumberType( EPEVmbxNumberLine2, aCallId );
+        }
+    else // If number was not voicemailboxnumber, check number from contacts.
+        {
+        TEFLOGSTRING( KTAINT, "CNT CPEContactHandling::FindContactInfoSyncL, number did not match vmbx" );
+        FindContactInfoSyncFromContactDbL( aCallId, aFindKey );
+        }
+    }
+// -----------------------------------------------------------------------------
+// CPEContactHandling::FindContactInfoSync
+// Calls method FindContactInfoSyncL which can leave. This leave is trapped in 
+// this function.
+// -----------------------------------------------------------------------------
+//
+TInt CPEContactHandling::FindContactInfoSync
+        ( 
+        const TInt aCallId,
+        const TPEFindContactKey aFindKey
+        )     
+    {
+    TRAPD( error, FindContactInfoSyncL( aCallId, aFindKey ) );
+    TEFLOGSTRING2( KTAMESOUT, "CNT CPEContactHandling::FindContactInfoSync, error code: %d", error );
+    return (error);
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandling::SendErrorMessage
+// Method reroutes error messages to the CPhoneModel object
+// -----------------------------------------------------------------------------
+//
+void CPEContactHandling::SendErrorMessage
+        ( 
+        TInt aErrorCode 
+        )
+    {
+    iModel.DataStore()->SetErrorCode( aErrorCode );
+    iModel.SendMessage( MEngineMonitor::EPEMessageContactHandlingError );
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandling::SendMessage
+// Method reroutes error messages to the CPhoneModel object
+// -----------------------------------------------------------------------------
+//
+void CPEContactHandling::SendMessage
+        (
+        MEngineMonitor::TPEMessagesFromPhoneEngine aMessage,
+        const TInt aCallId
+        )
+    {
+    if ( aMessage == MEngineMonitor::EPEMessageThumbnailLoadingCompleted )
+        {
+        CFbsBitmap* thumbnailData = iContactMatcher->ContactThumbnail();
+        if ( thumbnailData )
+            {
+            iModel.DataStore()->SetCallerThumbnail( thumbnailData, aCallId );
+            }
+        }
+
+    iModel.SendMessage( aMessage, aCallId );
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandling::FindContactInfoSyncFromContactDb
+// Synchronous method for searching contact information from
+// contact database with the key defined.
+//
+// Supported synchronous searching keys are searching with phone number and
+// contact id.
+// -----------------------------------------------------------------------------
+//
+void CPEContactHandling::FindContactInfoSyncFromContactDbL
+        (
+        const TInt aCallId,
+        const TPEFindContactKey aFindKey
+        ) const
+    {
+    ASSERT( iContactMatcher );
+
+    // Check validity of the search key
+    switch ( aFindKey )
+        {
+        case EPEFindWithPhoneNumber:
+            iContactMatcher->MatchWithNumberL( aCallId );
+            break;
+        case EPEFindWithContactId:
+            iContactMatcher->MatchWithContactIdL( aCallId );
+            break;
+        default:
+            break;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandling::GetSpeedDialLocation
+// Get's phone number and contact id from given location.
+// -----------------------------------------------------------------------------
+//
+TInt CPEContactHandling::GetSpeedDialLocation( 
+    TInt aLocationIndex, 
+    TPEPhoneNumber& aNumber )
+    {
+    TInt error = KErrLocked;
+    ASSERT( iContactMatcher );
+    TRAP( error, iContactMatcher->GetSpeedDialLocationL( aLocationIndex, 
+                                                        aNumber ) );
+    return error;
+    }
+
+// ================= OTHER EXPORTED FUNCTIONS ===============================
+
+//  End of File 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/src/cpecontacthandlingdummy.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,91 @@
+/*
+* 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:  This module contains the implementation of CPEContactHandlingDummy class
+*
+*/
+
+
+//  INCLUDE FILES
+#include "cpecontacthandlingdummy.h"
+#include "cpecontactmatch.h"
+#include <mpedatastore.h>
+#include <e32std.h>
+#include <mpephonemodelinternal.h>
+#include <pepanic.pan>
+#include <barsc.h> 
+#include <barsread.h>
+#include <talogger.h>
+#include <bldvariant.hrh>
+#include <featmgr.h>
+
+// ================= MEMBER FUNCTIONS =======================================
+// -----------------------------------------------------------------------------
+// CPEContactHandlingDummy::CPEContactHandlingDummy
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CPEContactHandlingDummy::CPEContactHandlingDummy()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandlingDummy::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CPEContactHandlingDummy* CPEContactHandlingDummy::NewL()
+    {
+    TEFLOGSTRING(KTAOBJECT, "CNT CPEContactHandlingDummy::NewL start.");
+    CPEContactHandlingDummy* self = new ( ELeave ) CPEContactHandlingDummy();
+    TEFLOGSTRING(KTAOBJECT, "CNT CPEContactHandlingDummy::NewL Complete.");
+    return self;
+    }
+
+// Destructor
+CPEContactHandlingDummy::~CPEContactHandlingDummy()
+    {
+    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingDummy::~CPEContactHandlingDummy()" );
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandlingDummy::FindContactInfoSync
+// Calls method FindContactInfoSyncL which can leave. This leave is trapped in 
+// this function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CPEContactHandlingDummy::FindContactInfoSync( 
+    const TInt /*aCallId*/, const TPEFindContactKey /*aFindKey*/ )     
+    {
+    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingDummy::FindContactInfoSync()" );
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandlingDummy::GetSpeedDialLocation
+// Get's phone number and contact id from given location.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CPEContactHandlingDummy::GetSpeedDialLocation( 
+    TInt /*aLocationIndex*/, 
+    TPEPhoneNumber& /*aNumber*/ )
+    {
+    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingDummy::GetSpeedDialLocation()" );
+    return KErrNone;
+    }
+
+// ================= OTHER EXPORTED FUNCTIONS ===============================
+
+//  End of File 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/src/cpecontacthandlingproxy.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,163 @@
+/*
+* 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:  This module contains the implementation of CPEContactHandlingProxy class
+*
+*/
+
+//  INCLUDE FILES
+#include "cpecontacthandling.h"
+#include "cpecontacthandlingproxy.h"
+#include "cpecontacthandlingdummy.h"
+#include "cpecontactmatch.h"
+#include <mpedatastore.h>
+#include <e32std.h>
+#include <mpephonemodelinternal.h>
+#include <pepanic.pan>
+#include <barsc.h> 
+#include <barsread.h>
+#include <talogger.h>
+#include <bldvariant.hrh>
+#include <featmgr.h>
+
+// ================= MEMBER FUNCTIONS =======================================
+// -----------------------------------------------------------------------------
+// CPEContactHandlingProxy::CreateFirstPhaseL
+// This method creates the contact handling proxy and dummy implementation
+// -----------------------------------------------------------------------------
+//
+EXPORT_C MPEContactHandling* CPEContactHandlingProxy::CreateFirstPhaseL()
+    {
+    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingProxy::CreateFirstPhaseL start." );
+    CPEContactHandlingProxy* self = new ( ELeave ) CPEContactHandlingProxy();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactHandlingProxy::CreateFirstPhaseL Complete." );
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandlingProxy::CreateSecondPhaseL
+// This method creates the actual contact handling implementation
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CPEContactHandlingProxy::CreateSecondPhaseL(
+        MPEPhoneModelInternal& aModel,
+        RFs& aFsSession
+        )
+    {
+    TEFLOGSTRING( KTAOBJECT, "LOG CPELogHandlingProxy::CreateSecondPhaseL start." );
+    iContactHandling = CPEContactHandling::NewL( aModel, aFsSession );
+    TEFLOGSTRING( KTAOBJECT, "LOG CPELogHandlingProxy::CreateSecondPhaseL complete." );
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandlingProxy::CPEContactHandlingProxy
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CPEContactHandlingProxy::CPEContactHandlingProxy()
+        {
+        }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandlingProxy::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CPEContactHandlingProxy::ConstructL()
+    {
+    TEFLOGSTRING( KTAOBJECT, "LOG CPEContactHandlingProxy::ConstructL" );
+    // Create an instance of the log handling dummy implementation
+    iContactHandlingDummy = CPEContactHandlingDummy::NewL();  
+    }
+
+// Destructor
+CPEContactHandlingProxy::~CPEContactHandlingProxy()
+    {
+    TEFLOGSTRING( KTAOBJECT, "LOG CPELogHandlingProxy::~CPEContactHandlingProxy" );
+    delete iContactHandling;
+    delete iContactHandlingDummy;
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandlingProxy::FindContactInfoSync
+// Calls method FindContactInfoSyncL which can leave. This leave is trapped in 
+// this function.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CPEContactHandlingProxy::FindContactInfoSync
+        ( 
+        const TInt aCallId,
+        const TPEFindContactKey aFindKey
+        )     
+    {
+    if ( iContactHandling )
+        {
+        TEFLOGSTRING( KTAINT, "CNT CPEContactHandlingProxy::FindContactInfoSync > CPEContactHandling::FindContactInfoSync" );
+        return iContactHandling->FindContactInfoSync( aCallId, aFindKey );
+        }
+    else if ( iContactHandlingDummy )
+        {
+        TEFLOGSTRING( KTAINT, "CNT CPEContactHandlingProxy::FindContactInfoSync > CPEContactHandlingDummy::FindContactInfoSync" );
+        return iContactHandlingDummy->FindContactInfoSync( aCallId, aFindKey );
+        }
+    else
+        {
+        TEFLOGSTRING( KTAERROR, "CNT CPECONTACTHANDLINGPROXY::FINDCONTACTINFOSYNC ! NEITHER CONTACT HANDLING NOR CONTACT HANDLING DUMMY EXISTS" );
+        User::Invariant();
+        }
+    return KErrBadHandle;
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactHandlingProxy::GetSpeedDialLocation
+// Get's phone number and contact id from given location.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt CPEContactHandlingProxy::GetSpeedDialLocation( 
+    TInt aLocationIndex, 
+    TPEPhoneNumber& aNumber )
+    {
+    if ( iContactHandling )
+        {
+        TEFLOGSTRING( 
+            KTAINT, 
+            "CNT CPEContactHandlingProxy::GetSpeedDialLocation > CPEContactHandling::GetSpeedDialLocation" );
+        return iContactHandling->GetSpeedDialLocation( aLocationIndex, aNumber );
+        }
+    else if ( iContactHandlingDummy )
+        {
+        TEFLOGSTRING( 
+            KTAINT, 
+            "CNT CPEContactHandlingProxy::GetSpeedDialLocation > CPEContactHandlingDummy::GetSpeedDialLocation" );
+        return iContactHandlingDummy->GetSpeedDialLocation( 
+            aLocationIndex, 
+            aNumber );
+        }
+    else
+        {
+        TEFLOGSTRING( 
+            KTAERROR, 
+            "CNT CPECONTACTHANDLINGPROXY::GETSPEEDDIALLOCATION ! NEITHER CONTACT HANDLING NOR CONTACT HANDLING DUMMY EXISTS" );
+        User::Invariant();
+        }
+    return KErrBadHandle;
+    }
+
+// ================= OTHER EXPORTED FUNCTIONS ===============================
+
+//  End of File 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/src/cpecontactmatch.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,472 @@
+/*
+* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This module contains the implementation of CPEContactMatch class
+*
+*/
+
+// INCLUDE FILES
+#include "cpecontacthandling.h"
+#include "cpecontactmatch.h"
+#include <cphonecntfactory.h>
+#include <cphcntmatcher.h>
+#include <mpeclientinformation.h>
+#include <mpedatastore.h>
+#include <mphcntmatch.h>
+#include <pepanic.pan>
+#include <pevirtualengine.h>
+#include <talogger.h>
+
+// CONSTANTS
+
+// Space - used as a separator between concatenated first and last name
+_LIT( KPESpace," ");
+
+// For parsing protocol prefix and domain part out of a VoIP call URI
+_LIT( KPhoneColon, ":" );
+_LIT( KPhoneAt, "@" );
+
+// Contact group array granularity
+const TInt KPEContactGroupArrayGranularity = 5;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------------------------
+// CPEContactMatch::NewL
+// ---------------------------------------------------------------------------
+//
+CPEContactMatch* CPEContactMatch::NewL(
+        CPEContactHandling& aOwner,
+        MPEDataStore& aDataStore
+        )
+    {
+    CPEContactMatch* self = 
+        new ( ELeave ) CPEContactMatch( aOwner, aDataStore );
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CPEContactMatch::~CPEContactMatch()
+    {
+
+    delete iContactMatcher;
+    delete iContactFactory;
+    iLibrary.Close();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPEContactMatch::CreateContactIdL
+// -----------------------------------------------------------------------------
+//
+CPhCntContactId* CPEContactMatch::CreateContactIdL( const TDesC8& aContactId )
+    {  
+    return iContactFactory->CreateContactIdL( aContactId );
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactMatch::CreateContactIdL
+// -----------------------------------------------------------------------------
+//
+CPhCntContactId* CPEContactMatch::CreateContactIdL(
+    TContactItemId aContactId )
+    {  
+    return iContactFactory->CreateContactIdL( aContactId );
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactMatch::CPEContactMatch
+// -----------------------------------------------------------------------------
+//
+CPEContactMatch::CPEContactMatch(
+        CPEContactHandling& aOwner,
+        MPEDataStore& aDataStore )
+        : iOwner( aOwner ), iDataStore( aDataStore )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactMatch::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPEContactMatch::ConstructL()
+    {
+    //Mandatory services for providing contact match functionality
+    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactMatch::ConstructL > RLibrary::Load" );
+    iContactFactory = CreateCntFactoryL();
+    TEFLOGSTRING( KTAOBJECT, "CNT CPEContactMatch::ConstructL > CPhCntFactory::CreateContactMatcherL" );
+    iContactMatcher = iContactFactory->CreateContactMatcherL();
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPEContactMatch::MatchWithContactIdL
+// Synchronous method for finding contact data specified 
+// with aContactId.
+// -----------------------------------------------------------------------------
+//
+void CPEContactMatch::MatchWithContactIdL(
+        const TInt aCallId
+        )
+
+    {
+    TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL" );
+    MPhCntMatch* match( NULL );
+    CPhCntContactId* contactId = NULL;
+    contactId = CreateContactIdL( iDataStore.CallClientInformation( aCallId ).ContactLink() );
+    CleanupStack::PushL( contactId );
+    if ( iDataStore.CallType( aCallId ) == EPECallTypeVoIP )
+        {
+        if ( contactId && contactId->IsValid() )
+            {
+            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL > CPhCntMatcher::MatchVoipNumber" );
+            // Get contact based on contact id.
+            iContactMatcher->MatchVoipNumber( match, 
+                                              *contactId );
+            }
+        else
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+    else
+        {
+        if ( contactId && contactId->IsValid() )
+            {
+            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL > CPhCntMatcher::MatchNumber" );
+            iContactMatcher->MatchNumber( match, 
+                                          iDataStore.RemotePhoneNumber( aCallId ),
+                                          *contactId );
+            }
+        else
+            {
+            User::Leave( KErrArgument );
+            }
+        }
+
+    if ( match != NULL )
+        {
+        TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL, Contact match found" );
+        CopyContactFieldsDataL( *match, aCallId );
+
+        if ( match->HasThumbnailImage() )
+            {
+            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithContactIdL, Thumbnail image found" );
+            // Start loading thumbnail for this contact
+            // Error code may be ignored since this is not a critical function
+            //LoadThumbnail( iDataStore.ContactId( aCallId ), aCallId );
+            }
+        match->Release();
+        match = NULL;
+        }
+    CleanupStack::PopAndDestroy( contactId ); //contactId 
+
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactMatch::MatchWithNumberL
+// Synchronous method for finding contact data specified with phone number.
+// -----------------------------------------------------------------------------
+//
+void CPEContactMatch::MatchWithNumberL(
+        const TInt aCallId
+        )
+    {
+    MPhCntMatch* match( NULL );
+
+    if ( iDataStore.CallType( aCallId ) == EPECallTypeVoIP )
+        {
+        TEFLOGSTRING2( KTAINT, "CNT CPEContactMatch::MatchWithNumberL > CPhCntMatcher::MatchVoipNumber, call id: %d", aCallId );
+        TPEPhoneNumber remoteNumber = iDataStore.RemotePhoneNumber( aCallId );        
+        
+
+        // TODO: Determine whether domain part of the URI should be ignored
+        // This could be done via RCSE (which is in my understanding: depricated)
+        // but needs to be studied if SP Settings need to support this service
+        // setting instead
+        
+        // Parse protocol prefix and domain part out of a VoIP call URI
+        TInt pos( remoteNumber.Find( KPhoneColon ) );
+        if ( pos > KErrNotFound )
+            {
+            remoteNumber.Delete( 0, pos+1 );
+            }                
+            
+        pos = remoteNumber.Find( KPhoneAt );
+        if ( pos > KErrNotFound )
+            {
+            remoteNumber.Delete( pos, remoteNumber.Length() - pos );
+            }
+
+        TEFLOGSTRING3( KTAINT, "CNT CPEContactMatch::MatchWithNumberL > CPhCntMatcher::MatchNumber, number: %S, call id: %d",
+            &remoteNumber, aCallId );
+        iContactMatcher->MatchVoipNumber( match, remoteNumber, ETrue, remoteNumber.Length() );
+
+                
+        }
+    else
+        {
+        TPEPhoneNumber remoteNumber = iDataStore.RemotePhoneNumber( aCallId );
+        
+        TEFLOGSTRING3( KTAINT, "CNT CPEContactMatch::MatchWithNumberL > CPhCntMatcher::MatchNumber, number: %S, call id: %d",
+            &remoteNumber, aCallId );
+
+         TInt id = KErrNotFound;
+         id = iDataStore.ContactId2();
+         id == KErrNotFound? iContactMatcher->MatchNumber( match, remoteNumber ) :
+                                     iContactMatcher->MatchNumber(match, remoteNumber, id);
+         //reset contact-id
+         iDataStore.SetContactId2(KErrNotFound);
+         
+
+        }
+
+    if ( match != NULL )
+        {
+        TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithNumberL, Contact match found" );
+        CopyContactFieldsDataL( *match, aCallId );
+
+        if ( match->HasThumbnailImage() )
+            {
+            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::MatchWithNumberL, Thumbnail image found" );
+            // Start loading thumbnail for this contact
+            // Error code may be ignored since this is not a critical function
+            iDataStore.SetHasCallerThumbnail( ETrue, aCallId );
+            //LoadThumbnail( iDataStore.ContactId( aCallId ), aCallId );
+            }
+        match->Release();
+        match = NULL;
+        }
+    }
+
+
+
+// ---------------------------------------------------------
+// CPEContactMatch::ContactThumbnail
+// Returns contact thumbnail image, NULL if not found
+// ---------------------------------------------------------
+//
+CFbsBitmap* CPEContactMatch::ContactThumbnail()
+    {
+    return NULL;
+
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactMatch::CopyContactFieldsDataL
+// Copies contact information to remote info struct
+// -----------------------------------------------------------------------------
+//
+void CPEContactMatch::CopyContactFieldsDataL(
+        const MPhCntMatch& aMatch,
+        const TInt aCallId
+        )
+    {
+    TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL: start" );
+
+    // Set ringing tone's filename
+    iDataStore.SetPersonalRingingTone( aMatch.PersonalRingingTone(), aCallId );
+
+    // Set name
+    // The following logic determines if one of the languages that require
+    // swapping of first/last name order is selected and performs the operation.
+    HBufC* lastname( NULL );
+    HBufC* firstname( NULL );
+
+    if ( aMatch.LastName().Length() > 0 )
+        {
+        TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, alloc last name" );
+        lastname = aMatch.LastName().Alloc();
+        }
+    if ( aMatch.FirstName().Length() > 0 )
+        {
+        TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, alloc first name" );
+        firstname = aMatch.FirstName().Alloc();
+        }
+
+    if ( ( lastname ) && ( firstname ) )
+        {
+        //Swap name order, if required by the current language setting
+        const TLanguage language = User::Language();
+    
+        for ( TInt index = 0; index < KPENumberOfSwappedLanguages; index++ )
+            {
+            if ( KPESwappedLanguages[index] == language )
+                {
+                HBufC* tempfirstname( firstname );
+                firstname = lastname;
+                lastname = tempfirstname;
+                break;
+                }
+            }
+        }
+
+    TPEContactName finalName;
+    // Parse name by concatenating lastname and firstname
+    if ( firstname )
+        {
+        finalName = *firstname;
+        if ( finalName.Length() < KCntMaxTextFieldLength && lastname )
+            {
+            TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, append with space" );
+            finalName.Append( KPESpace );
+            }
+        delete firstname;
+        firstname = NULL;
+        }
+    if ( lastname )
+        {
+        if ( finalName.Length() < KCntMaxTextFieldLength )
+            {
+            // Check how long last name can be added to the iName string. 
+            TInt lastNameMaxLength = KCntMaxTextFieldLength - finalName.Length();
+            if ( lastname->Length() > lastNameMaxLength )
+                {
+                TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, append with part of last name" );
+                // Cut extra chars from the string.
+                finalName.Append( lastname->Left( lastNameMaxLength ) );          
+                }
+            else 
+                {
+                TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL, append with last name" );
+                finalName.Append( *lastname );
+                }
+            }
+        delete lastname;
+        lastname = NULL;
+        }
+        
+    // Replace paragraph separator with space character
+    const TText ps(0x2029);
+
+    while ( finalName.Locate( ps ) != KErrNotFound )
+        {
+        finalName[ finalName.Locate( ps )] = ' ';
+        }
+    TEFLOGSTRING3( KTAINT, "CNT CPEContactMatch::iDataStore.SetRemoteName( finalName, aCallId ): finalName: %S callid: %d ", &finalName, aCallId);
+    iDataStore.SetRemoteName( finalName, aCallId );
+
+    iDataStore.SetRemoteTextToSpeechText( aMatch.TextToSpeechTextL(), aCallId );
+
+    if ( aMatch.Number().Length() > 0 )
+        {
+        iDataStore.SetRemotePhoneNumber( aMatch.Number(), aCallId );    
+        }   
+
+    TInt phcntfinderNumberType = aMatch.NumberType();
+            
+    switch ( phcntfinderNumberType )
+        {
+        case MPhCntMatch::EMobileNumber:
+            iDataStore.SetRemotePhoneNumberType( EPEMobileNumber, aCallId );
+            break;
+        case MPhCntMatch::EStandardNumber:
+            iDataStore.SetRemotePhoneNumberType( EPETelephoneNumber, aCallId );
+            break;
+        case MPhCntMatch::EFaxNumber:
+            iDataStore.SetRemotePhoneNumberType( EPEFaxNumber, aCallId );
+            break;
+        case MPhCntMatch::EPagerNumber:
+            iDataStore.SetRemotePhoneNumberType( EPEPager, aCallId );
+            break;
+        case MPhCntMatch::EVoipNumber:
+            iDataStore.SetRemotePhoneNumberType( EPEVoipNumber, aCallId );
+            break;
+        case MPhCntMatch::EVideoNumber:
+            iDataStore.SetRemotePhoneNumberType( EPEVideoNumber, aCallId );
+            break;        
+        case MPhCntMatch::EAssistantNumber:
+            iDataStore.SetRemotePhoneNumberType( EPEAssistantNumber, aCallId );
+            break;        
+        case MPhCntMatch::ECarNumber:
+            iDataStore.SetRemotePhoneNumberType( EPECarNumber, aCallId );
+            break;        
+        case MPhCntMatch::EHomeNumber:
+            iDataStore.SetRemotePhoneNumberType( EPEHomeNumber, aCallId );
+            break;        
+        case MPhCntMatch::EWorkNumber:
+            iDataStore.SetRemotePhoneNumberType( EPEWorkNumber, aCallId );
+            break;        
+        case MPhCntMatch::ENone: // fall through
+        default:
+            iDataStore.SetRemotePhoneNumberType( EPEUnknownNumber, aCallId );
+            break;
+        }
+
+    // Replace paragraph separator with space character
+    TPEContactName companyName;
+    companyName = aMatch.CompanyName();
+    while ( companyName.Locate( ps ) != KErrNotFound )
+        {
+        companyName[ companyName.Locate( ps )] = ' ';
+        }
+    // Set Company name
+    iDataStore.SetRemoteCompanyName( companyName, aCallId );
+
+    // Set Call text
+    iDataStore.SetCallerText( aMatch.CallText(), aCallId );
+
+    // Set Call image
+    iDataStore.SetCallerImage( aMatch.CallImage(), aCallId );
+    
+    // Set Contact ID
+    iDataStore.SetContactId( aMatch.ContactId()->CloneL(), aCallId );
+
+    CArrayFixFlat< TContactItemId >* groupList
+        = new ( ELeave ) CArrayFixFlat< TContactItemId >
+        ( KPEContactGroupArrayGranularity );
+ 
+    TArray<TContactItemId> alertFor = iDataStore.AlertForGroup();
+    const TInt groupLength = alertFor.Count();
+    for ( TInt i = 0; i < groupLength; i++ ) 
+        {
+        groupList->AppendL( alertFor[ i ] );
+        }
+   
+    if ( aMatch.BelongsToGroups( *groupList ) )
+        {
+        // Convert array type here to ease further handling
+        TArray<TContactItemId> list = groupList->Array();
+        // Set group information
+        iDataStore.SetContactGroups( list, aCallId );
+        }
+    delete groupList;
+    groupList = NULL;
+    
+    // Set dtmf array
+    iDataStore.SetPredefinedDtmfStrings( aMatch.AllDtmfNumbers(), aCallId );
+    TEFLOGSTRING( KTAINT, "CNT CPEContactMatch::CopyContactFieldsDataL: complete" );  
+    }
+
+// -----------------------------------------------------------------------------
+// CPEContactMatch::GetSpeedDialLocationL
+// Get's phone number from given location.
+// -----------------------------------------------------------------------------
+//
+void CPEContactMatch::GetSpeedDialLocationL( 
+    TInt /*aLocationIndex*/, 
+    TPEPhoneNumber& /*aNumber*/ )
+    {
+
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/src/pecontacthandlingpanic.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,71 @@
+/*
+* 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 module contains the implementation of Contact Hanling 
+*                panic function
+*
+*/
+
+
+// INCLUDE FILES
+#include <pepanic.pan>
+#include "e32std.h"
+// EXTERNAL DATA STRUCTURES
+//None
+
+// EXTERNAL FUNCTION PROTOTYPES  
+//None
+
+// CONSTANTS
+//None
+
+// MACROS
+//None
+
+// LOCAL CONSTANTS AND MACROS
+//None
+
+// MODULE DATA STRUCTURES
+//None
+
+// LOCAL FUNCTION PROTOTYPES
+//None
+
+// FORWARD DECLARATIONS
+//None
+
+
+// ==================== LOCAL FUNCTIONS =====================================
+// None
+
+// ================= MEMBER FUNCTIONS =======================================
+// None
+
+// ================= OTHER EXPORTED FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// Panic implements...
+// Contact Handling panic function
+// Returns: None
+// -----------------------------------------------------------------------------
+//
+GLDEF_C void Panic
+        ( 
+        TPEPanic aPanic 
+        )
+    {
+    _LIT(KPEContactHandlingPanic,"ContactHandling Panic!");
+    User::Panic( KPEContactHandlingPanic, aPanic);
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/contacthandling2/tsrc/run_auto_tests.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,229 @@
+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\*
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+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=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL=abld test build winscw udeb -keepgoing
+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 bldmake bldfiles
+call abld test clean winscw udeb
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_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
--- a/phoneengine/engineinfo/group/engineinfo.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/engineinfo/group/engineinfo.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -20,9 +20,9 @@
 TARGET          engineinfo.dll
 TARGETTYPE      dll
 UID             0x1000008D 0x10207904
-VENDORID		    VID_DEFAULT
+VENDORID            VID_DEFAULT
 
-CAPABILITY	    CAP_GENERAL_DLL
+CAPABILITY      CAP_GENERAL_DLL
 
 SOURCEPATH      ../src
 SOURCE          cpecallinfo.cpp
--- a/phoneengine/engineinfo/inc/cpeengineinfoimpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/engineinfo/inc/cpeengineinfoimpl.h	Fri Mar 19 09:28:42 2010 +0200
@@ -36,59 +36,59 @@
 // DATA TYPES
 NONSHARABLE_STRUCT( TPECallCommandInfo )                  // For Mobile Originated Call Commands
     {
-	TChar iKeyCode;                         // pressed key code
-	TInt iAudioMute;                        // state of microphone ( 0 = false, 1 = true )
-	TInt iAudioVolume;                      // Audio volume
-	TPEAudioOutput iAudioOutput;            // audio output path
-	TBool iShowNote;                        // Status of call audio route info note.
-	TInt iCallId;                           // Calls ID
-	TPEDtmfString iDtmfString;              // Dtmf string to be sent.
-	TPEPhoneNumber iPhoneNumber;            // Dialed Phonenumber, set by client
-	TPECallType iCallType;                  // Type of the attempted call
-	TUint32 iServiceId;                     // ServiceId	
-	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
-	TPEPhoneNumber iTransferToAddress;      // Unattended transfer target address	
+    TChar iKeyCode;                         // pressed key code
+    TInt iAudioMute;                        // state of microphone ( 0 = false, 1 = true )
+    TInt iAudioVolume;                      // Audio volume
+    TPEAudioOutput iAudioOutput;            // audio output path
+    TBool iShowNote;                        // Status of call audio route info note.
+    TInt iCallId;                           // Calls ID
+    TPEDtmfString iDtmfString;              // Dtmf string to be sent.
+    TPEPhoneNumber iPhoneNumber;            // Dialed Phonenumber, set by client
+    TPECallType iCallType;                  // Type of the attempted call
+    TUint32 iServiceId;                     // ServiceId    
+    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
+    TPEPhoneNumber iTransferToAddress;      // Unattended transfer target address   
     TInt iForwardToAddressIndex;            // Array index for a address to be forwarded
     };
 
 NONSHARABLE_STRUCT( TPEBasicInfo )                         // Contains information of the phone related variables 
     {
-	TBool iAudioMute;                       // state of microphone.					
-	TBool iTwoDigitSupportStatus;           // Two Digit support status
-	TBool iALSLineSupport;                  // ALS line support.				
-	TInt iAudioOutputPreference;            // Audio output preference (private/public) - TODO: change type to enum when available
-	TInt iAudioVolume;                      // Audio volume					
-	TInt iKeypadVolume;                     // Keypad volume					
-	TInt iLastCallDuration;                 // Call duration (seconds)					
-	TInt iPersonalToneStatus;               // Personal tone status					
-	TInt iProfileId;                        // the id number of the profile					
-	TInt iRingingVolume;                    // Current ringing volume					
-	TBool iTextToSpeech;                    // Current text-to-speech setting
-	TBool iPhoneNumberIsServiceCode;        // flag indicating if the phone number is a service code
-	TNWNetworkRegistrationStatus iNetworkRegistrationStatus;					
+    TBool iAudioMute;                       // state of microphone.                 
+    TBool iTwoDigitSupportStatus;           // Two Digit support status
+    TBool iALSLineSupport;                  // ALS line support.                
+    TInt iAudioOutputPreference;            // Audio output preference (private/public) - TODO: change type to enum when available
+    TInt iAudioVolume;                      // Audio volume                 
+    TInt iKeypadVolume;                     // Keypad volume                    
+    TInt iLastCallDuration;                 // Call duration (seconds)                  
+    TInt iPersonalToneStatus;               // Personal tone status                 
+    TInt iProfileId;                        // the id number of the profile                 
+    TInt iRingingVolume;                    // Current ringing volume                   
+    TBool iTextToSpeech;                    // Current text-to-speech setting
+    TBool iPhoneNumberIsServiceCode;        // flag indicating if the phone number is a service code
+    TNWNetworkRegistrationStatus iNetworkRegistrationStatus;                    
     CCCECallParameters::TCCELineType iALSLine;        // includes active als line.                  
-	TPEContactFileName iRingingToneName1;   // Current ringingtone name					
-	TPEContactFileName iRingingToneName2;
-	TPEContactFileName iVideoCallRingingTone; // Video call ringingtone name									
-	TPEDtmfString iDtmfString;              // Dtmf string.					
-	TPEErrorInfo iErrorInfo;                // possible error code					
-	TPELifeTimeData iLifeTimeData;					
-	TPEPhoneIdentityParameters iPhoneIdentityParameters; // the phone identity parameters					
-	TPEProfileName iProfileName;            // the name of the profile					
-	TProfileRingingType iRingingType;       // Includes current ringing type 					
-	TPEVoiceMailBoxNumberInfo iVMBXNumbers; // Voice mail box numbers
-	TPEPhoneAudioRouteParameters iPhoneAudioRouteParameters; // the phone audio route parameters
-	TCCPTone iInbandTone;                   // Inband tone needed to play in a call state transition or error
-	TPEActiveForwardInfo iActiveForward;    // active forward information.
-	TPEBarringInfo iBarringInfo;            // includes call barring information.
-	TPESimState iSimState;
-	TPESSCommandInfo iSSCommandInfo;        // Contains information of the Suplementary Services command.
+    TPEContactFileName iRingingToneName1;   // Current ringingtone name                 
+    TPEContactFileName iRingingToneName2;
+    TPEContactFileName iVideoCallRingingTone; // Video call ringingtone name                                    
+    TPEDtmfString iDtmfString;              // Dtmf string.                 
+    TPEErrorInfo iErrorInfo;                // possible error code                  
+    TPELifeTimeData iLifeTimeData;                  
+    TPEPhoneIdentityParameters iPhoneIdentityParameters; // the phone identity parameters                   
+    TPEProfileName iProfileName;            // the name of the profile                  
+    TProfileRingingType iRingingType;       // Includes current ringing type                    
+    TPEVoiceMailBoxNumberInfo iVMBXNumbers; // Voice mail box numbers
+    TPEPhoneAudioRouteParameters iPhoneAudioRouteParameters; // the phone audio route parameters
+    TCCPTone iInbandTone;                   // Inband tone needed to play in a call state transition or error
+    TPEActiveForwardInfo iActiveForward;    // active forward information.
+    TPEBarringInfo iBarringInfo;            // includes call barring information.
+    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
+    TName iDataPortName;                    // the name of data port currently on-loan
     TBool iSwitchToOngoing;                 // Switch to operation status
     };
 
@@ -252,7 +252,7 @@
         * @return TBool the secure status (on/off)
         */
         TBool IsSecureCall( const TInt aCallId ) const;
-		
+        
         /**
         * Gets dtmf postfix
         * @param aCallId is the call identification number.
@@ -618,7 +618,7 @@
          
          /**
          * Checks if given state can be found.
-		 * @param aCallState state to be checked.
+         * @param aCallState state to be checked.
          */
           TBool CheckIfCallStateExists( const TPEState& aCallState );
 
@@ -1258,7 +1258,7 @@
         * @param aCallId, is the call identification number.
         */
         void SetRemoteColpNumber(
-            const TPEPhoneNumber& aColpNumber, 
+            TPEPhoneNumber& aColpNumber, 
             const TInt aCallId );
 
         /**
@@ -1505,8 +1505,8 @@
          * @see MPEDataStore::UserToUserInformation
          * @since S60 5.0
          */
-		void SetUserToUserInformation( const TPEUserToUserInfo& aUUI );
-		
+        void SetUserToUserInformation( const TPEUserToUserInfo& aUUI );
+        
         /**
          * Sets remote party name given by network to TPECallInfo structure.
          * @param aName Remote party name.
@@ -1529,7 +1529,20 @@
          * @see MPEDataStore::SetCallOrigin          
          */
         void SetCallOrigin( TPECallOrigin aOrigin, TInt aCallId );
-                
+      
+// <-- QT PHONE START -->
+        /**
+        * Sets call Phonebook contact identifier.
+        * @param aContactId is the contact identifier for a call
+        */
+        void SetContactId2( const TInt aContactId );
+
+        /**
+         * Returns Phonebook contact identifier.
+         */
+        TInt ContactId2() const;
+// <-- QT PHONE END -->
+          
     private:
           /**
         * C++ default constructor.
@@ -1561,13 +1574,19 @@
         TFixedArray<TBool, KPEMaxAudioOutputs> iAvailableAudioOutputs;
 
         // Contains the group id's which are active for ringtone
-    	RArray< TContactItemId > iAlertForGroup;
+        RArray< TContactItemId > iAlertForGroup;
 
         /**
          * CCE call dial parameters
          */
         CCCECallParameters *iCallParams;
 
+// <-- QT PHONE START -->
+        /**
+         * Phonebook contact identifier.
+         */
+        TInt iContactId;
+// <-- QT PHONE END -->
     };
 
 
--- a/phoneengine/engineinfo/inc/cperemoteinfo.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/engineinfo/inc/cperemoteinfo.h	Fri Mar 19 09:28:42 2010 +0200
@@ -260,49 +260,49 @@
     /**
      * Call id association
      */
-	TInt iCallId;
+    TInt iCallId;
 
     /**
      * Contact link or id
      * Own.
      */
-	CPhCntContactId* iContactId;
+    CPhCntContactId* iContactId;
 
-	/**
-	 * Contact link
-	 * Own.
-	 */
-	HBufC8* iContactLink;
-	
+    /**
+     * Contact link
+     * Own.
+     */
+    HBufC8* iContactLink;
+    
     /**
      * Remote end phone number
      */
-	TPEPhoneNumber iPhoneNumber;
+    TPEPhoneNumber iPhoneNumber;
 
     /**
      * Remote end phone number if the mobile originated call was forwarded
      */
-	TPEPhoneNumber iColpNumber;
+    TPEPhoneNumber iColpNumber;
 
     /**
      * First name + Last name
      */
-	TPEContactName iName;
+    TPEContactName iName;
 
     /**
      * Remote end company name
      */
-	TPEContactCompany iCompanyName;
+    TPEContactCompany iCompanyName;
 
     /**
      * Remote end personal or group ringing tone
      */
-	TPEContactFileName iPersonalRingingTone;
+    TPEContactFileName iPersonalRingingTone;
 
     /**
      * Remote end phone number type
      */
-	TPEPhoneNumberIdType iPhoneNumberType;
+    TPEPhoneNumberIdType iPhoneNumberType;
 
     /**
      * Remote end Text To Speech text
@@ -313,7 +313,7 @@
      * Array for caller group ids
      * Own.
      */
-	RArray< TContactItemId > iGroupId;
+    RArray< TContactItemId > iGroupId;
 
     /**
      * Caller text
--- a/phoneengine/engineinfo/inc/mpedatastore.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/engineinfo/inc/mpedatastore.h	Fri Mar 19 09:28:42 2010 +0200
@@ -735,7 +735,7 @@
          * @param aCallId, is the call identification number.
          */
          virtual void SetRemoteColpNumber(
-             const TPEPhoneNumber& aColpNumber, 
+             TPEPhoneNumber& aColpNumber, 
              const TInt aCallId ) = 0;
 
          /**
--- a/phoneengine/engineinfo/inc/mpeengineinfo.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/engineinfo/inc/mpeengineinfo.h	Fri Mar 19 09:28:42 2010 +0200
@@ -22,6 +22,9 @@
 
 //  INCLUDES
 #include <pevirtualengine.h>
+// <-- QT PHONE START -->
+#include "mpecallsettersif.h" 
+// <-- QT PHONE END --> 
 
 // CONSTANTS
 // None
@@ -40,7 +43,9 @@
 *  @lib phoneengine.lib
 *  @since Series 60 4.0
 */
-NONSHARABLE_CLASS( MPEEngineInfo )
+// <-- QT PHONE START --> 
+NONSHARABLE_CLASS( MPEEngineInfo ) : public MPECallSettersIF
+// <-- QT PHONE END --> 
     {
 
     public:
@@ -640,7 +645,7 @@
          * Returns address choices from received call forward request 
          * or NULL if addresses are not available.
          * 
-		 * @param   aCallId     Call identification number.
+         * @param   aCallId     Call identification number.
          * @return  Address array.
          */
         virtual const CDesC8Array* ForwardAddressChoices( TInt aCallId ) const = 0;
@@ -686,9 +691,9 @@
         */
         virtual TBool IsSwitchToOperationOngoing() const = 0;
         
-		/**
+        /**
         * Checks if given state can be found.
-		* @param aCallState state to be checked.
+        * @param aCallState state to be checked.
         */
         virtual TBool CheckIfCallStateExists( const TPEState& aCallState )= 0;
         
@@ -698,6 +703,12 @@
          */
         virtual TPECallOrigin CallOrigin( const TInt aCallId ) const = 0;
         
+// <-- QT PHONE START --> 
+        /**
+         * Returns Phonebook contact identifier.
+         */
+        virtual TInt ContactId2 () const = 0;
+// <-- QT PHONE END -->  
     }; // MPEEngineInfo
     
 #endif      //MPEENGINEINFO_H
--- a/phoneengine/engineinfo/src/cpeengineinfoimpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/engineinfo/src/cpeengineinfoimpl.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,7 @@
 #include <pepanic.pan>
 #include <telinternalpskeys.h>
 #include <cphcltdialdata.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h>
 #include <talogger.h>
 
 // ================= MEMBER FUNCTIONS ==========================================
@@ -35,6 +35,10 @@
 //
 CPEEngineInfoImpl::CPEEngineInfoImpl()
     : iCurrentCalls( KPEMaximumNumberOfCalls )
+// <-- QT PHONE START -->
+    ,iContactId( KErrNotFound )
+// <-- QT PHONE END -->
+
     {
     iCallCommandInfo.iPhoneNumber = KNullDesC;
     iCallCommandInfo.iCallId = 0;
@@ -99,6 +103,11 @@
     iBasicInfo.iDataPortName = KNullDesC;
     iBasicInfo.iSwitchToOngoing = EFalse;
     iConferenceCallInfo.iConferenceCallState = EPEStateConferenceIdle;
+    
+    // <-- QT PHONE START --> 
+    //TODO remove after profile information is available
+    iBasicInfo.iRingingVolume = 10;
+    // <-- QT PHONE END --> 
     }
 
 // -----------------------------------------------------------------------------
@@ -660,10 +669,10 @@
 // -----------------------------------------------------------------------------
 //
 const TPECallOrigin& CPEEngineInfoImpl::CallOriginCommand() const
-	{
-	return iCallCommandInfo.iCallOrigin;
-	}
-        	
+    {
+    return iCallCommandInfo.iCallOrigin;
+    }
+            
 // CPEEngineInfoImpl::ProfileId
 // Gets the profile id from the TPEBasicInfo structure.
 // -----------------------------------------------------------------------------
@@ -1275,7 +1284,7 @@
     {
     iBasicInfo.iLastCallDuration = aCallDuration; 
     }
-	
+    
 // -----------------------------------------------------------------------------
 // CPEEngineInfoImpl::SetDtmfPostFix
 // Sets dtmf postfix value to TPEBasicInfo-structure
@@ -1402,9 +1411,9 @@
 // -----------------------------------------------------------------------------
 //
 void CPEEngineInfoImpl::SetCallOriginCommand( const TPECallOrigin& aOrigin )
-	{
-	iCallCommandInfo.iCallOrigin = aOrigin;
-	}
+    {
+    iCallCommandInfo.iCallOrigin = aOrigin;
+    }
 
 // -----------------------------------------------------------------------------
 // CPEEngineInfoImpl::SetProfileId
@@ -2546,7 +2555,7 @@
 // -----------------------------------------------------------------------------
 //
 void CPEEngineInfoImpl::SetRemoteColpNumber(
-    const TPEPhoneNumber& aColpNumber, 
+    TPEPhoneNumber& aColpNumber, 
     const TInt aCallId )
     {
     return ( *iRemoteInfo )[ aCallId ]->SetColpNumber( aColpNumber );
@@ -2615,5 +2624,27 @@
       }
     return stateExists;
     }
+// <-- QT PHONE START -->
+// -----------------------------------------------------------------------------
+// CPEEngineInfoImpl::SetContactId
+// -----------------------------------------------------------------------------
+//
+void CPEEngineInfoImpl::SetContactId2( const TInt aContactId )
+{
+    TEFLOGSTRING2( KTAINT, 
+        "PE CPEEngineInfo::SetContactId: aContactId: %d", aContactId );
+    iContactId = aContactId;    
+}
+
+// -----------------------------------------------------------------------------
+// CPEEngineInfoImpl::ContactId
+// -----------------------------------------------------------------------------
+//
+TInt CPEEngineInfoImpl::ContactId2 () const
+    {
+    TEFLOGSTRING2( KTAINT, "ContactId: %d", iContactId );
+    return iContactId;      
+    }
+// <-- QT PHONE END -->
 
 // End of File
--- a/phoneengine/engineinfo/src/cperemoteinfo.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/engineinfo/src/cperemoteinfo.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -334,10 +334,10 @@
         TRAPD( err, iPredefinedDtmfStrings = new ( ELeave ) CDesCArrayFlat( count ) );
         
         if( err != KErrNone )
-    	    {
-    	    TEFLOGSTRING2( KTAINT, "CPERemoteInfo::SetPredefinedDtmfStrings, err: %d", err );
-    		return;
-    	    }
+            {
+            TEFLOGSTRING2( KTAINT, "CPERemoteInfo::SetPredefinedDtmfStrings, err: %d", err );
+            return;
+            }
          
         for ( TInt i = 0; i < count; i++ )
             {
--- a/phoneengine/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -15,13 +15,17 @@
 *
 */
 
-
-#include "../PhoneCntFinder/Group/bld.inf"
+      
 #include "../audiohandling/group/bld.inf"
 #include "../callhandling/group/bld.inf"
-#include "../contacthandling/group/bld.inf"
+// <-- QT PHONE START -->         
+#include "../contacthandling2/group/bld.inf"
+// <-- QT PHONE END -->         
 #include "../loghandling/group/bld.inf"
 #include "../engineinfo/group/bld.inf"
-#include "../phonemodel/group/bld.inf"
+// <-- QT PHONE START -->
+//#include "../phonemodel/group/bld.inf"
+// <-- QT PHONE END -->
 #include "../servicehandling/group/bld.inf"
-// End of File
\ No newline at end of file
+
+// End of File
--- a/phoneengine/loghandling/group/loghandling.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/loghandling/group/loghandling.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,9 +22,9 @@
 TARGET          loghandling.dll
 TARGETTYPE      dll
 UID             0x10000079 0x1000A830
-VENDORID		VID_DEFAULT
+VENDORID        VID_DEFAULT
 
-CAPABILITY		CAP_GENERAL_DLL
+CAPABILITY      CAP_GENERAL_DLL
 
 SOURCEPATH      ../src
 
--- a/phoneengine/loghandling/src/cpelogevent.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/loghandling/src/cpelogevent.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -21,7 +21,9 @@
 #include "cpeloginfo.h"
 #include "cpeloghandling.h"
 #include "cpeloghandlingcommand.h"
-#include <PbkFields.hrh>
+// <-- QT PHONE START -->
+//#include <pbkfields.hrh>
+// <-- QT PHONE END -->
 #include <talogger.h>
 #include <logcli.h>
 #include <LogsApiConsts.h>
@@ -304,30 +306,35 @@
     TBuf<KPhonebookTypeIdLength> subject;
     subject.Zero();
 
+// <-- QT PHONE START -->
+    
     switch ( iLogInfo->PhoneNumberId() )
         {
         case EPEMobileNumber:
-            subject.AppendNum( EPbkFieldIdPhoneNumberMobile );
+            subject.AppendNum( EPEUnknownNumber );
             break;
         case EPETelephoneNumber:
-            subject.AppendNum( EPbkFieldIdPhoneNumberGeneral );
+            subject.AppendNum( EPEUnknownNumber );
             break;
         case EPEPager:
-            subject.AppendNum( EPbkFieldIdPagerNumber );
+            subject.AppendNum( EPEUnknownNumber );
             break;
         case EPEFaxNumber:
-            subject.AppendNum( EPbkFieldIdFaxNumber );
+            subject.AppendNum( EPEUnknownNumber );
             break; 
         case EPEAssistantNumber:
-            subject.AppendNum( EPbkFieldIdAssistantNumber);
+            subject.AppendNum( EPEUnknownNumber);
             break;
         case EPECarNumber:
-            subject.AppendNum( EPbkFieldIdCarNumber);
+            subject.AppendNum( EPEUnknownNumber);
             break;
         default:
-            subject.AppendNum( EPbkFieldIdNone );
+            subject.AppendNum( EPEUnknownNumber );
             break;
         }
+        
+// <-- QT PHONE END -->
+    
 
     if ( subject.Length() > 0 )
         {
--- a/phoneengine/loghandling/src/cpelogexternaldata.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/loghandling/src/cpelogexternaldata.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -227,7 +227,7 @@
             TEFLOGSTRING( KTAREQOUT, 
             "LOG CPELogExternalData::UpdateLastCallTimerByLine > CRepository::Set(KLogsLastCallTimerLine2)" );
 
-	        errorCode = iRepository->Set( KLogsLastCallTimerLine2, aLogInfo.Duration().Int() );
+            errorCode = iRepository->Set( KLogsLastCallTimerLine2, aLogInfo.Duration().Int() );
             }
             break;
         default:
@@ -238,7 +238,7 @@
     if ( errorCode != KErrNone )
        {
        TEFLOGSTRING2( KTAERROR, "LOG CPELogExternalData::UpdateLastCallTimerByLine(): FAILED. ErrorCode: %d", errorCode );
-	   }
+       }
    
     }
 
@@ -303,8 +303,8 @@
         TEFLOGSTRING2( KTAREQOUT, 
             "LOG CPELogExternalData::IncreaseMissedCallValue > CRepository::Set. value = %d"
             , value );
-	    errorCode = iRepository->Set( KLogsNewMissedCalls, value );
-	    iOwner.ResetMissedCalls( aCallId );
+        errorCode = iRepository->Set( KLogsNewMissedCalls, value );
+        iOwner.ResetMissedCalls( aCallId );
         }
     else
         {
--- a/phoneengine/loghandling/src/cpeloghandling.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/loghandling/src/cpeloghandling.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -186,15 +186,15 @@
          CallIdCheck::IsVideo( aCallId )
        ) 
         {
-		CPELogInfo* logInfo( NULL );
+        CPELogInfo* logInfo( NULL );
         TRAP( errorCode, logInfo = CPELogInfo::NewL(); );
             
         if ( logInfo )
             {
             // continue gathering log data
             
-		    // set phonenumber and/or voip address
-			SetRemoteContact( aCallId, *logInfo );
+            // set phonenumber and/or voip address
+            SetRemoteContact( aCallId, *logInfo );
             logInfo->SetEventData( aCallId, iDataStore ); 
             TRAP_IGNORE( 
                 // Contact link can be big, not critical for basic functionality.
--- a/phoneengine/loghandling/src/cpeloginfo.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/loghandling/src/cpeloginfo.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -124,11 +124,11 @@
                 iName = KLogsPayphoneText;
                 break;
             case RMobileCall::ERemoteIdentitySuppressed:
-            	if ( aDataStore.RemotePhoneNumber( aCallId ).Length() == 0 )
-            		{
-            		iName = KLogsPrivateText;
-            		}
-            	break;
+                if ( aDataStore.RemotePhoneNumber( aCallId ).Length() == 0 )
+                    {
+                    iName = KLogsPrivateText;
+                    }
+                break;
             default:
                 break;
             }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/mocks/mock_centralrepository.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,641 @@
+/** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <smcmockclassincludes.h>
+#include <ceunitalloctestcasedecorator.h>
+#include "centralrepository.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CRepository::NewL
+// -----------------------------------------------------------------------------
+//
+CRepository * CRepository::NewL( 
+        TUid aRepositoryUid )
+    {
+    SMC_MOCK_NEWL1( CRepository *, TUid, aRepositoryUid )
+
+    CRepository* self = new( ELeave ) CRepository;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::NewLC
+// -----------------------------------------------------------------------------
+//
+CRepository * CRepository::NewLC( 
+        TUid aRepositoryUid )
+    {
+    SMC_MOCK_NEWLC1( CRepository *, TUid, aRepositoryUid )
+
+    CRepository* self = new( ELeave ) CRepository;
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::~CRepository
+// -----------------------------------------------------------------------------
+//
+CRepository::~CRepository(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Create
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Create( 
+        TUint32 aKey,
+        TInt aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        TInt, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Create
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Create( 
+        TUint32 aKey,
+        const TReal & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        const TReal &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Create
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Create( 
+        TUint32 aKey,
+        const TDesC8 & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        const TDesC8 &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Create
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Create( 
+        TUint32 aKey,
+        const TDesC16 & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        const TDesC16 &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Delete
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Delete( 
+        TUint32 aKey )
+    {
+    SMC_MOCK_METHOD1( TInt, TUint32, aKey )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Delete
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Delete( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        TUint32 & aErrorKey )
+    {
+    SMC_MOCK_METHOD3( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        TUint32 &, aErrorKey )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Get
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Get( 
+        TUint32 aKey,
+        TInt & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        TInt &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Set
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Set( 
+        TUint32 aKey,
+        TInt aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        TInt, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Get
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Get( 
+        TUint32 aKey,
+        TReal & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        TReal &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Set
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Set( 
+        TUint32 aKey,
+        const TReal & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        const TReal &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Get
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Get( 
+        TUint32 aKey,
+        TDes8 & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        TDes8 &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Get
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Get( 
+        TUint32 aId,
+        TDes8 & aValue,
+        TInt & aActualLength )
+    {
+    SMC_MOCK_METHOD3( TInt, TUint32, aId, 
+        TDes8 &, aValue, 
+        TInt &, aActualLength )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Set
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Set( 
+        TUint32 aKey,
+        const TDesC8 & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        const TDesC8 &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Get
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Get( 
+        TUint32 aKey,
+        TDes16 & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        TDes16 &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Get
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Get( 
+        TUint32 aId,
+        TDes16 & aValue,
+        TInt & aActualLength )
+    {
+    SMC_MOCK_METHOD3( TInt, TUint32, aId, 
+        TDes16 &, aValue, 
+        TInt &, aActualLength )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Set
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Set( 
+        TUint32 aKey,
+        const TDesC16 & aValue )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        const TDesC16 &, aValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::GetMeta
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::GetMeta( 
+        TUint32 aKey,
+        TUint32 & aMeta )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        TUint32 &, aMeta )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Move
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Move( 
+        TUint32 aSourcePartialKey,
+        TUint32 aTargetPartialKey,
+        TUint32 aMask,
+        TUint32 & aErrorKey )
+    {
+    SMC_MOCK_METHOD4( TInt, TUint32, aSourcePartialKey, 
+        TUint32, aTargetPartialKey, 
+        TUint32, aMask, 
+        TUint32 &, aErrorKey )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FindL
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::FindL( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        RArray<TUint32> & aFoundKeys )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD3( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        RArray<TUint32> &, aFoundKeys )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FindEqL
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::FindEqL( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        TInt aValue,
+        RArray<TUint32> & aFoundKeys )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD4( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        TInt, aValue, 
+        RArray<TUint32> &, aFoundKeys )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FindEqL
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::FindEqL( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        const TReal & aValue,
+        RArray<TUint32> & aFoundKeys )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD4( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        const TReal &, aValue, 
+        RArray<TUint32> &, aFoundKeys )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FindEqL
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::FindEqL( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        const TDesC8 & aValue,
+        RArray<TUint32> & aFoundKeys )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD4( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        const TDesC8 &, aValue, 
+        RArray<TUint32> &, aFoundKeys )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FindEqL
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::FindEqL( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        const TDesC16 & aValue,
+        RArray<TUint32> & aFoundKeys )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD4( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        const TDesC16 &, aValue, 
+        RArray<TUint32> &, aFoundKeys )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FindNeqL
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::FindNeqL( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        TInt aValue,
+        RArray<TUint32> & aFoundKeys )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD4( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        TInt, aValue, 
+        RArray<TUint32> &, aFoundKeys )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FindNeqL
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::FindNeqL( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        const TReal & aValue,
+        RArray<TUint32> & aFoundKeys )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD4( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        const TReal &, aValue, 
+        RArray<TUint32> &, aFoundKeys )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FindNeqL
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::FindNeqL( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        const TDesC8 & aValue,
+        RArray<TUint32> & aFoundKeys )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD4( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        const TDesC8 &, aValue, 
+        RArray<TUint32> &, aFoundKeys )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FindNeqL
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::FindNeqL( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        const TDesC16 & aValue,
+        RArray<TUint32> & aFoundKeys )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD4( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        const TDesC16 &, aValue, 
+        RArray<TUint32> &, aFoundKeys )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::NotifyRequest
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::NotifyRequest( 
+        TUint32 aKey,
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aKey, 
+        TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::NotifyRequest
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::NotifyRequest( 
+        TUint32 aPartialKey,
+        TUint32 aMask,
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD3( TInt, TUint32, aPartialKey, 
+        TUint32, aMask, 
+        TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::NotifyCancel
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::NotifyCancel( 
+        TUint32 aKey )
+    {
+    SMC_MOCK_METHOD1( TInt, TUint32, aKey )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::NotifyCancel
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::NotifyCancel( 
+        TUint32 aPartialKey,
+        TUint32 aMask )
+    {
+    SMC_MOCK_METHOD2( TInt, TUint32, aPartialKey, 
+        TUint32, aMask )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::NotifyCancelAll
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::NotifyCancelAll(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Reset
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Reset(  )
+    {
+    SMC_MOCK_METHOD0( TInt )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::Reset
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::Reset( 
+        TUint32 aKey )
+    {
+    SMC_MOCK_METHOD1( TInt, TUint32, aKey )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::StartTransaction
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::StartTransaction( 
+        TTransactionMode aMode )
+    {
+    SMC_MOCK_METHOD1( TInt, TTransactionMode, aMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::StartTransaction
+// -----------------------------------------------------------------------------
+//
+void CRepository::StartTransaction( 
+        TTransactionMode aMode,
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD2( void, TTransactionMode, aMode, 
+        TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::CommitTransaction
+// -----------------------------------------------------------------------------
+//
+TInt CRepository::CommitTransaction( 
+        TUint32 & aKeyInfo )
+    {
+    SMC_MOCK_METHOD1( TInt, TUint32 &, aKeyInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::CommitTransaction
+// -----------------------------------------------------------------------------
+//
+void CRepository::CommitTransaction( 
+        TDes8 & aKeyInfo,
+        TRequestStatus & aStatus )
+    {
+    SMC_MOCK_METHOD2( void, TDes8 &, aKeyInfo, 
+        TRequestStatus &, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::CancelTransaction
+// -----------------------------------------------------------------------------
+//
+void CRepository::CancelTransaction(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::CleanupCancelTransactionPushL
+// -----------------------------------------------------------------------------
+//
+void CRepository::CleanupCancelTransactionPushL(  )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::FailTransaction
+// -----------------------------------------------------------------------------
+//
+void CRepository::FailTransaction(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CRepository::CleanupFailTransactionPushL
+// -----------------------------------------------------------------------------
+//
+void CRepository::CleanupFailTransactionPushL(  )
+    {
+    EUNIT_LEAVE_POINT
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/mocks/mock_cpeloghandling.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,191 @@
+/** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <smcmockclassincludes.h>
+#include <spsettings.h>
+#include <spproperty.h>
+#include <telloggingextension.h>
+#include <ECom.h> 
+#include "CPELogHandling.h"
+#include "CPELogEvent.h"
+#include "CPELogHandlingCommand.h"
+#include "CPELogExternalData.h"
+#include <TALogger.h>
+#include <logcli.h>
+#include <pepanic.pan>
+#include <MPEPhoneModelInternal.h>
+#include <MPEDataStore.h>
+#include "cpeloghandling.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::CPELogHandling
+// -----------------------------------------------------------------------------
+//
+CPELogHandling::CPELogHandling( 
+        MPEPhoneModelInternal & aModel,
+        RFs & aFsSession ) : iModel( aModel ),
+            iDataStore( *( aModel.DataStore( ) ) ),
+            iFsSession( aFsSession )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPELogHandling::ConstructL(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::NewL
+// -----------------------------------------------------------------------------
+//
+MPELogHandling * CPELogHandling::NewL( 
+        MPEPhoneModelInternal & aModel,
+        RFs & aFsSession )
+    {
+    SMC_MOCK_NEWL2( MPELogHandling *, MPEPhoneModelInternal &, aModel, 
+        RFs &, aFsSession )
+
+    CPELogHandling* self = new( ELeave ) CPELogHandling( aModel, aFsSession );
+    CleanupStack::PushL( self );
+    //self->ConstructL()
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::~CPELogHandling
+// -----------------------------------------------------------------------------
+//
+CPELogHandling::~CPELogHandling(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::SaveCallEntry
+// -----------------------------------------------------------------------------
+//
+TInt CPELogHandling::SaveCallEntry( 
+        const TInt aCallId )
+    {
+    SMC_MOCK_METHOD1( TInt, const TInt, aCallId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::SendMessage
+// -----------------------------------------------------------------------------
+//
+void CPELogHandling::SendMessage( 
+        MEngineMonitor::TPEMessagesFromPhoneEngine aMessage,
+        TInt aErrorCode )
+    {
+    SMC_MOCK_METHOD2( void, MEngineMonitor::TPEMessagesFromPhoneEngine, aMessage, 
+        TInt, aErrorCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::LogStringIn
+// -----------------------------------------------------------------------------
+//
+TLogString & CPELogHandling::LogStringIn(  )
+    {
+    SMC_MOCK_METHOD0( TLogString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::LogStringOut
+// -----------------------------------------------------------------------------
+//
+TLogString & CPELogHandling::LogStringOut(  )
+    {
+    SMC_MOCK_METHOD0( TLogString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::LogStringMissed
+// -----------------------------------------------------------------------------
+//
+TLogString & CPELogHandling::LogStringMissed(  )
+    {
+    SMC_MOCK_METHOD0( TLogString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::LogStringDelivery
+// -----------------------------------------------------------------------------
+//
+TLogString & CPELogHandling::LogStringDelivery(  )
+    {
+    SMC_MOCK_METHOD0( TLogString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::LogStringInAlt
+// -----------------------------------------------------------------------------
+//
+TLogString & CPELogHandling::LogStringInAlt(  )
+    {
+    SMC_MOCK_METHOD0( TLogString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::LogStringOutAlt
+// -----------------------------------------------------------------------------
+//
+TLogString & CPELogHandling::LogStringOutAlt(  )
+    {
+    SMC_MOCK_METHOD0( TLogString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::LogStringUnknown
+// -----------------------------------------------------------------------------
+//
+TLogString & CPELogHandling::LogStringUnknown(  )
+    {
+    SMC_MOCK_METHOD0( TLogString & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPELogHandling::ResetMissedCalls
+// -----------------------------------------------------------------------------
+//
+void CPELogHandling::ResetMissedCalls( 
+        const TInt aCallId )
+    {
+    SMC_MOCK_METHOD1( void, const TInt, aCallId )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/mocks/mock_cpeloghandlingcommand.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,156 @@
+/*
+* 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 module contains the implementation of CPELogHandlingCommand class  
+
+*
+*/
+
+
+// INCLUDE FILES
+#include <smcmockclassincludes.h>
+#include "CPELogHandlingCommand.h"
+#include "CPELogHandling.h"
+#include <PEVirtualEngine.h>
+#include <TALogger.h>
+#include <LogWrap.h>
+#include <LogCli.h>
+
+// EXTERNAL DATA STRUCTURES
+// None.
+
+// EXTERNAL FUNCTION PROTOTYPES  
+// None.
+
+// CONSTANTS
+// None.
+
+// MACROS
+// None.
+
+// LOCAL CONSTANTS AND MACROS
+// None.
+
+// MODULE DATA STRUCTURES
+// None.
+
+// LOCAL FUNCTION PROTOTYPES
+// None.
+
+// FORWARD DECLARATIONS
+// None. 
+
+// ==================== LOCAL FUNCTIONS ====================
+// None.
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------------------------
+// CPELogHandlingCommand::CPELogHandlingCommand
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+/*****************************************************
+*    Series 60 Customer / LOGENG
+*    Series 60  LOGENG API
+*****************************************************/
+CPELogHandlingCommand::CPELogHandlingCommand
+        ( 
+        CPELogHandling& aOwner,                   //The owner of this object
+        CLogClient& aLogClient                    //The log client
+        ) : CActive( EPriorityStandard ),
+            iOwner( aOwner),
+            iLogClient( aLogClient )
+    {
+    }
+
+// Destructor
+CPELogHandlingCommand::~CPELogHandlingCommand
+    (
+    // None.
+    )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPELogHandlingCommand::AddEvent
+// Adds an event to the log
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+/*****************************************************
+*    Series 60 Customer / LOGENG
+*    Series 60  LOGENG API
+*****************************************************/
+TInt CPELogHandlingCommand::AddEvent
+        (
+        CLogEvent& aLogEvent
+        )
+    { 
+    SMC_MOCK_METHOD1( TInt, CLogEvent& , aLogEvent)     
+    }
+
+// -----------------------------------------------------------------------------
+// CPELogHandlingCommand::ChangeEvent
+// Updates an event in the log
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+/*****************************************************
+*    Series 60 Customer / LOGENG
+*    Series 60  LOGENG API
+*****************************************************/
+TInt CPELogHandlingCommand::ChangeEvent
+        (
+        const CLogEvent& aLogEvent
+        )
+    { 
+    SMC_MOCK_METHOD1( TInt, CLogEvent& , aLogEvent)     
+    }
+
+// -----------------------------------------------------------------------------
+// CPELogHandlingCommand::RunL
+// Description: Method gets notification from etel that asyncronous request is completed.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CPELogHandlingCommand::RunL
+        (
+        // None.
+        )
+    {
+    SMC_MOCK_METHOD0( void ) 
+    }
+
+// -----------------------------------------------------------------------------
+// CPELogHandlingCommand::DoCancel
+// Cancels request to the log client
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+/*****************************************************
+*    Series 60 Customer / LOGENG
+*    Series 60  LOGENG API
+*****************************************************/
+void CPELogHandlingCommand::DoCancel
+        (
+        // None.
+        )
+    {
+    SMC_MOCK_METHOD0( void ) 
+    }
+
+
+
+//  End of File 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/mocks/mock_cpeloginfo.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,427 @@
+/*
+* Copyright (c) 2003-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 file contains the implementation of CPELogInfo class 
+*                member functions.
+*
+*/
+
+//  INCLUDE FILES
+#include <smcmockclassincludes.h>
+#include "cpeloginfo.h"
+#include "talogger.h"
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+CPELogInfo* CPELogInfo::NewL()
+    {
+    return new( ELeave ) CPELogInfo();
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+CPELogInfo::~CPELogInfo()
+    {
+    delete iContactLink;
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+CPELogInfo::CPELogInfo() : iEventType( CPELogInfo::EPEUnknownEvent ),
+    iCallDirection( RMobileCall::EDirectionUnknown ),
+    iCallId( KPECallIdNotUsed ),
+    iCallState( EPEStateUnknown ),
+    iCurrentLine( CCCECallParameters::ECCELineTypePrimary ), 
+    iPhoneNumberId( EPEUnknownNumber )
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// Set basic event data, guarantees data existence
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetEventData( 
+    TInt aCallId, 
+    const MPEDataStore& aDataStore )
+    {
+    SMC_MOCK_METHOD2( void, TInt, aCallId, const MPEDataStore&, aDataStore )	    
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::CopyL( const CPELogInfo& aLogInfo )
+    {
+    SMC_MOCK_METHOD1( void, const CPELogInfo&, aLogInfo )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::Reset()
+    {
+    SMC_MOCK_METHOD0( void )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetEventType( TPELogEventType aEventType )
+    {
+    SMC_MOCK_METHOD1( void, TPELogEventType, aEventType )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+CPELogInfo::TPELogEventType CPELogInfo::EventType() const
+    {
+    SMC_MOCK_METHOD0( CPELogInfo::TPELogEventType )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetCallDirection( RMobileCall::TMobileCallDirection aCallDirection )
+    {
+    SMC_MOCK_METHOD1( void, RMobileCall::TMobileCallDirection, aCallDirection )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+RMobileCall::TMobileCallDirection CPELogInfo::CallDirection() const
+    {
+    SMC_MOCK_METHOD0( RMobileCall::TMobileCallDirection )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetCallId( TInt aCallId )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aCallId )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+TInt CPELogInfo::CallId() const
+    {
+    SMC_MOCK_METHOD0( TInt )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber )
+    {
+    SMC_MOCK_METHOD1( void, TPEPhoneNumber&, aPhoneNumber )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+const TPEPhoneNumber& CPELogInfo::PhoneNumber() const
+    {
+    SMC_MOCK_METHOD0( TPEPhoneNumber& ) 
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetName( const TPEContactName& aName )
+    {
+    SMC_MOCK_METHOD1( void, TPEContactName&, aName )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+const TPEContactName& CPELogInfo::Name() const
+    {
+    SMC_MOCK_METHOD0( TPEContactName& )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetCallState( TPEState aCallState )
+    {
+    SMC_MOCK_METHOD1( void, TPEState, aCallState )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+TPEState CPELogInfo::CallState() const
+    {
+    SMC_MOCK_METHOD0( TPEState )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetDuration( TTimeIntervalSeconds aDuration )
+    {
+    SMC_MOCK_METHOD1( void, TTimeIntervalSeconds, aDuration )	
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+TTimeIntervalSeconds CPELogInfo::Duration() const
+    {
+    SMC_MOCK_METHOD0( TTimeIntervalSeconds )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetCurrentLine( CCCECallParameters::TCCELineType aCurrentLine )
+    {
+    SMC_MOCK_METHOD1( void, CCCECallParameters::TCCELineType, aCurrentLine )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+CCCECallParameters::TCCELineType CPELogInfo::CurrentLine() const
+    {
+    SMC_MOCK_METHOD0( CCCECallParameters::TCCELineType )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetPhoneNumberId( TPEPhoneNumberIdType aPhoneNumberId )
+    {
+    SMC_MOCK_METHOD1( void, TPEPhoneNumberIdType, aPhoneNumberId )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+TPEPhoneNumberIdType CPELogInfo::PhoneNumberId() const
+    {
+    SMC_MOCK_METHOD0( TPEPhoneNumberIdType )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetLoggingEnabled( TBool aLoggingEnabled )
+    {
+    SMC_MOCK_METHOD1( void, TBool, aLoggingEnabled )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+TBool CPELogInfo::LoggingEnabled() const
+    {
+    SMC_MOCK_METHOD0( TBool )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetCallStartTime( TTime aCallStartTime )
+    {
+    SMC_MOCK_METHOD1( void, TTime, aCallStartTime )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+TTime CPELogInfo::CallStartTime() const
+    {
+    SMC_MOCK_METHOD0( TTime )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetMissedCall( TBool aMissedCall )
+    {
+    SMC_MOCK_METHOD1( void, TBool, aMissedCall )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+TBool CPELogInfo::MissedCall() const
+    {
+    SMC_MOCK_METHOD0( TBool )
+    }
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetForcedCompletion( TBool aForcedCompletion )
+    {
+    SMC_MOCK_METHOD1( void, TBool, aForcedCompletion )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+TBool CPELogInfo::ForcedCompletion() const
+    {
+    SMC_MOCK_METHOD0( TBool )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetServiceId( TUint32 aServiceId )
+    {
+    SMC_MOCK_METHOD1( void, TUint32, aServiceId )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+TUint32 CPELogInfo::ServiceId() const
+    {
+    SMC_MOCK_METHOD0( TUint32 )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetVoipAddress( const TPEPhoneNumber& aVoipAddress )
+    {
+    SMC_MOCK_METHOD1( void, TPEPhoneNumber&, aVoipAddress )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+const TPEPhoneNumber& CPELogInfo::VoipAddress() const
+    {
+    SMC_MOCK_METHOD0( TPEPhoneNumber& )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetMyAddress( const TPEPhoneNumber& aMyAddress )
+    {
+    SMC_MOCK_METHOD1( void, TPEPhoneNumber&, aMyAddress )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+const TPEPhoneNumber& CPELogInfo::MyAddress() const
+    {
+    SMC_MOCK_METHOD0( TPEPhoneNumber& )
+    }
+
+
+// ---------------------------------------------------------------------------
+// Save contact link. Ownership is transferred.
+// ---------------------------------------------------------------------------
+//
+void CPELogInfo::SetContactLink( const HBufC8* aContactLink )
+    {
+    SMC_MOCK_METHOD1( void, const HBufC8*, aContactLink )
+    }
+
+
+// ---------------------------------------------------------------------------
+// 
+// ---------------------------------------------------------------------------
+//
+const HBufC8& CPELogInfo::ContactLink() const
+    {
+    SMC_MOCK_METHOD0( const HBufC8& )
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/run_auto_tests.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,229 @@
+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\*
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+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=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL=abld test build winscw udeb -keepgoing
+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 bldmake bldfiles
+call abld test clean winscw udeb
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i m -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_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 -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/phoneengine/loghandling/tsrc/ut_cpelogevent/bwins/ut_cpelogeventu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,6 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+	?SaveCallEntry@CPELogHandling@@UAEHH@Z @ 2 NONAME ; int CPELogHandling::SaveCallEntry(int)
+	??1CPELogHandling@@UAE@XZ @ 3 NONAME ; CPELogHandling::~CPELogHandling(void)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogevent/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -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_cpelogevent.mmp
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogevent/group/ut_cpelogevent.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,68 @@
+/*
+* 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_CPELogEvent.dll
+TARGETTYPE      dll
+TARGETPATH              /DigiaEUnit/Tests
+
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB //-DRM
+VENDORID        VID_DEFAULT
+
+SOURCEPATH          ../src
+SOURCE              UT_CPELogEvent.cpp
+SOURCE              UT_CPELogEvent_DllMain.cpp
+
+// mocks
+SOURCEPATH          ../../mocks
+SOURCE              mock_cpeloghandling.cpp
+SOURCE              mock_cpeloginfo.cpp
+SOURCE              mock_cpeloghandlingcommand.cpp
+
+// Sources required by the test suite
+SOURCEPATH          ../../../src
+SOURCE              cpelogevent.cpp
+
+
+USERINCLUDE         ../src
+
+// User include folders required by the tested code
+USERINCLUDE         ../../../inc
+
+APP_LAYER_SYSTEMINCLUDE   // Application layer domain APIs
+SYSTEMINCLUDE       /epoc32/include/ecom
+SYSTEMINCLUDE       /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE       ../../../../loghandling/inc
+SYSTEMINCLUDE       ../../../../inc  // phoneengine inc
+SYSTEMINCLUDE       ../../../../../inc // phone inc
+
+LIBRARY             EUnit.lib
+LIBRARY             EUnitUtil.lib
+LIBRARY             customapi.lib
+LIBRARY             efsrv.lib
+LIBRARY             euser.lib
+LIBRARY             flogger.lib // For logging
+LIBRARY             logcli.lib 
+LIBRARY             logwrap.lib 
+LIBRARY             centralrepository.lib
+LIBRARY             ecom.lib
+LIBRARY             engineinfo.lib
+LIBRARY             serviceprovidersettings.lib
+LIBRARY             symbianmock.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogevent/src/testdefs.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TESTDEFS_H_
+#define TESTDEFS_H_
+
+#include <CEunitAllocTestCaseDecorator.h>
+
+//Is eunit alloc decorator enabled or not.
+class TTestUtils
+    {
+public:
+    static TBool AllocTestEnabled()
+        {
+        CEUnitTestCaseDecorator* decorator 
+            = CEUnitTestCaseDecorator::ActiveTestCaseDecorator( 
+            KEUnitAllocTestCaseDecoratorName );
+        return ( decorator ? ETrue : EFalse );
+        }
+    };
+
+//id for test controller
+const TInt KTestControllerUid = 0xFFFF;
+
+//call id
+TInt const KVoipCallId = 157;
+
+//service id
+TUint32 const KServiceId = 3;
+
+//remote party name match found
+_LIT( KRemotePartyNameMatchFound, "Match" );
+
+//no remote party name found
+_LIT( KRemotePartyNameMatchNotFound, "No Match" );
+
+#endif /*TESTDEFS_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogevent/src/ut_cpelogevent.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,564 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <eunitdecorators.h>
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+
+#include <cpeengineinfo.h>
+#include <e32cmn.h>
+#include <f32file.h>
+#include <LOGCLI.H>
+#include <LogsApiConsts.h>
+#include <mpedatastore.h>
+
+#include "UT_CPELogEvent.h"
+#include "cpelogexternaldata.h"
+#include "cpeloginfo.h"
+#include "cpeloghandling.h"
+#include "cpeloghandlingcommand.h"
+#include "cpelogevent.h"
+#include "testdefs.h"
+
+const TInt KCallId = 0;
+
+
+TBool AllocTestEnabled()
+    {
+    CEUnitTestCaseDecorator* decorator 
+        = CEUnitTestCaseDecorator::ActiveTestCaseDecorator( 
+        KEUnitAllocTestCaseDecoratorName );
+    return ( decorator ? ETrue : EFalse );
+    }
+
+// - Construction -----------------------------------------------------------
+UT_CPELogEvent* UT_CPELogEvent::NewL()
+    {
+    UT_CPELogEvent* self = UT_CPELogEvent::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+UT_CPELogEvent* UT_CPELogEvent::NewLC()
+    {
+    UT_CPELogEvent* self = new( ELeave ) UT_CPELogEvent();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+UT_CPELogEvent::~UT_CPELogEvent()
+    {
+    CSmcMockContext::Release();
+    }
+
+TInt UT_CPELogEvent::SaveCallEntry( const TInt aCallId )
+    {
+    TInt id( aCallId );
+    return KErrNone;
+    // derived
+    }
+
+MPEDataStore* UT_CPELogEvent::DataStore()
+    {
+    return iDataStore;
+    }
+void UT_CPELogEvent::HandleInternalMessage( const TInt aMessage )
+    {
+    TInt mes( aMessage );
+    }
+void UT_CPELogEvent::SendMessage( 
+       const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage )
+    {
+    TInt mes(aMessage);
+    }
+void UT_CPELogEvent::SendMessage( 
+       const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, 
+       const TInt aCallId )
+    {
+    TInt mes(aMessage);
+    TInt call(aCallId);
+    }
+MPEExternalDataHandler* UT_CPELogEvent::DataStoreExt()
+    {
+    return NULL;
+    }
+    
+CPERemotePartyInfoMediator* UT_CPELogEvent::MediatorCommunicationHandler()
+    {
+    return NULL;
+    }    
+
+UT_CPELogEvent::UT_CPELogEvent()
+    //iFsSession( *( RFs* )0x1 )
+    {
+    }
+
+void UT_CPELogEvent::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+// - Test methods -----------------------------------------------------------
+void UT_CPELogEvent::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    
+    User::LeaveIfError(iFsSession.Connect());
+    iLogClient = CLogClient::NewL( iFsSession );
+    
+    iLogHandlingMock = static_cast<CPELogHandling*>( 
+        CPELogHandling::NewL( *this, iFsSession ) );
+    
+    iLogInfoMock = CPELogInfo::NewL();
+  
+    iLogHCMock = new (ELeave) CPELogHandlingCommand( *static_cast<CPELogHandling*>(iLogHandlingMock), *iLogClient );
+
+    iCPELogEvent = CPELogEvent::NewL( *static_cast<CPELogHandling*>(iLogHandlingMock), *iLogHCMock );
+    iDataStore = static_cast<MPEDataStore*>( CPEEngineInfo::NewL() );
+    
+    _LIT( KBuf, "Number" );
+    TBuf<10> buf;
+    buf.Append( KBuf );
+    iDataStore->SetRemotePhoneNumber( buf, 0 );
+    iDataStore->SetServiceId( KServiceId, 0 );
+    iDataStore->SetCallType( EPECallTypeVoIP, 0 );
+    }
+
+void UT_CPELogEvent::Teardown(  )
+    {   
+    delete iLogInfoMock;
+    iLogInfoMock = NULL;
+    delete iLogHandlingMock;
+    iLogHandlingMock = NULL;
+    delete iLogClient;
+    iLogClient = NULL;
+    delete iCPELogEvent; 
+    iCPELogEvent = NULL; 
+    delete iLogHCMock;
+    iLogHCMock = NULL;
+    delete static_cast<CPEEngineInfo*>( iDataStore );
+    iDataStore = NULL;
+    iFsSession.Close();
+    iMockContext->Reset();
+    }
+
+void UT_CPELogEvent::T_CPELogEvent_CallIdL()
+
+    {
+    iMockContext->ExpectCallL( "CPELogInfo::CallId" );
+    
+    iCPELogEvent->CallId( );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );  
+    }
+
+void UT_CPELogEvent::T_CPELogEvent_UpdateLogInfoL(  )
+    {    
+    iMockContext->ExpectCallL( "CPELogInfo::CopyL" );
+        
+    iCPELogEvent->UpdateLogInfoL( *iLogInfoMock );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );  
+    }
+
+void UT_CPELogEvent::T_CPELogEvent_ResetLogInfoL(  )
+    {
+    iMockContext->ExpectCallL( "CPELogInfo::Reset" );
+        
+    iCPELogEvent->ResetLogInfo( );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );  
+    }
+
+void UT_CPELogEvent::T_CPELogEvent_IsCompletedL(  )
+    {
+    if ( iCPELogEvent->IsCompleted( ) )
+        {
+        EUNIT_FAIL_TEST( "IsCompleted FAILED return value!");
+        }
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+void UT_CPELogEvent::T_CPELogEvent_SaveLeaveL(  )
+    {
+    if ( iCPELogEvent->SaveLeave( ) )
+        {
+        EUNIT_FAIL_TEST( "SaveLeave FAILED wrong return value!");
+        }
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+    
+void UT_CPELogEvent::T_CPELogEvent_SaveLL(  )
+    {
+    TLogString test;
+    _LIT( KMyAddress, "myaddress@domain.com" );
+    _LIT( KVoipAddress, "remotecontact@domain.com" );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringDelivery" ).
+        ReturnsL( test );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringOut" ).
+        ReturnsL( test );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::PhoneNumberId" ).
+        ReturnsL( EPEUnknownNumber );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::EventType" ).
+        ReturnsL( CPELogInfo::EPEVoiceEvent );
+   
+    iMockContext->ExpectCallL( "CPELogInfo::CurrentLine" ).
+        ReturnsL( CCCECallParameters::ECCELineTypePrimary ).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::CallDirection" ).
+        ReturnsL( RMobileCall::EMobileOriginated );
+
+    iMockContext->ExpectCallL( "CPELogInfo::Name" ).
+        ReturnsL( KNullDesC() );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::PhoneNumber" ).
+        ReturnsL( KNullDesC() );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::VoipAddress" ).
+        ReturnsL( KVoipAddress()).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::MyAddress" ).
+        ReturnsL( KMyAddress()).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::Duration" ).
+        ReturnsL( 0 );
+
+    iMockContext->ExpectCallL( "CPELogInfo::ContactLink").
+        ReturnsL( KNullDesC() ).
+        TimesL( 4 );
+    
+    iMockContext->ExpectCallL( "CPELogHandlingCommand::AddEvent");
+    
+    iCPELogEvent->SaveL();
+       
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+void UT_CPELogEvent::T_CPELogEvent_SaveL2L(  )
+    {
+    TLogString test;
+    _LIT( KMyAddress, "myaddress@domain.com" );
+    _LIT( KVoipAddress, "remotecontact@domain.com" );
+
+    iMockContext->ExpectCallL( "CPELogInfo::CallState" ).
+        ReturnsL( EPEStateIdle ).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringDelivery" ).
+        ReturnsL( test );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringOutAlt" ).
+        ReturnsL( test );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::PhoneNumberId" ).
+        ReturnsL( EPEUnknownNumber );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::EventType" ).
+        ReturnsL( CPELogInfo::EPEVoIPEvent );
+  
+    iMockContext->ExpectCallL( "CPELogInfo::CurrentLine" ).
+        ReturnsL( CCCECallParameters::ECCELineTypeAux ).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::CallDirection" ).
+        ReturnsL( RMobileCall::EMobileOriginated );
+
+    iMockContext->ExpectCallL( "CPELogInfo::Name" ).
+        ReturnsL( KNullDesC() );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::PhoneNumber" ).
+        ReturnsL( KNullDesC() );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::VoipAddress" ).
+        ReturnsL( KVoipAddress()).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::MyAddress" ).
+        ReturnsL( KMyAddress()).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::Duration" ).
+        ReturnsL( 0 );
+
+    iMockContext->ExpectCallL( "CPELogInfo::ContactLink").
+        ReturnsL( KNullDesC() ).
+        TimesL( 4 );
+    
+    iMockContext->ExpectCallL( "CPELogHandlingCommand::AddEvent");
+     
+    iCPELogEvent->SaveL();
+       
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+void UT_CPELogEvent::T_CPELogEvent_SaveL3L(  )
+    {
+    TLogString test;
+    _LIT( KMyAddress, "myaddress@domain.com" );
+    _LIT( KVoipAddress, "remotecontact@domain.com" );
+
+    iMockContext->ExpectCallL( "CPELogInfo::ForcedCompletion" ).
+        ReturnsL( ETrue );
+   
+    iMockContext->ExpectCallL( "CPELogInfo::CurrentLine" ).
+        ReturnsL( CCCECallParameters::ECCELineTypePrimary ).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::CallDirection" ).
+        ReturnsL( RMobileCall::EMobileTerminated ).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringIn" ).
+        ReturnsL( test );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringDelivery" ).
+        ReturnsL( test );
+
+    iMockContext->ExpectCallL( "CPELogInfo::Name" ).
+        ReturnsL( KNullDesC() );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::PhoneNumber" ).
+        ReturnsL( KNullDesC() );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::VoipAddress" ).
+        ReturnsL( KVoipAddress()).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::MyAddress" ).
+        ReturnsL( KMyAddress()).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::Duration" ).
+        ReturnsL( 0 );
+    
+    iMockContext->ExpectCallL( "CPELogHandlingCommand::ChangeEvent");
+    
+    iCPELogEvent->SetAdded();
+ 
+    iCPELogEvent->SaveL();
+       
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+void UT_CPELogEvent::T_CPELogEvent_SaveL4L(  )
+    {
+    TLogString test;
+    _LIT( KVoipAddress, "remotecontact@domain.com" );
+
+    iMockContext->ExpectCallL( "CPELogInfo::CallState" ).
+        ReturnsL( EPEStateIdle );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringDelivery" ).
+        ReturnsL( test );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringMissed" ).
+        ReturnsL( test );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::PhoneNumberId" ).
+        ReturnsL( EPEUnknownNumber );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::EventType" ).
+        ReturnsL( CPELogInfo::EPEVideoCallEvent );
+  
+    iMockContext->ExpectCallL( "CPELogInfo::CurrentLine" ).
+        ReturnsL( CCCECallParameters::ECCELineTypeAux );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::CallDirection" ).
+        ReturnsL( RMobileCall::EMobileTerminated ).
+        TimesL( 2 );
+
+    iMockContext->ExpectCallL( "CPELogInfo::Name" ).
+        ReturnsL( KNullDesC() );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::PhoneNumber" ).
+        ReturnsL( KNullDesC() );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::VoipAddress" ).
+        ReturnsL( KVoipAddress()).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::MyAddress" ).
+        ReturnsL( KNullDesC());
+    
+    iMockContext->ExpectCallL( "CPELogInfo::Duration" ).
+        ReturnsL( 0 );
+
+    iMockContext->ExpectCallL( "CPELogInfo::ContactLink").
+        ReturnsL( KNullDesC() ).
+        TimesL( 4 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::CallState" ).
+        ReturnsL( EPEStateIdle ).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::MissedCall" ).
+        ReturnsL( ETrue );
+    
+    iMockContext->ExpectCallL( "CPELogHandlingCommand::AddEvent");
+     
+    iCPELogEvent->SaveL();
+       
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+void UT_CPELogEvent::T_CPELogEvent_SaveL5L(  )
+    {
+    TLogString test;
+
+    _LIT( KMyNumber, "040665544" );
+    _LIT( KMyName, "Tester" );
+
+    iMockContext->ExpectCallL( "CPELogInfo::CallState" ).
+        ReturnsL( EPEStateIdle );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringDelivery" ).
+        ReturnsL( test );
+    
+    iMockContext->ExpectCallL( "CPELogHandling::LogStringInAlt" ).
+        ReturnsL( test );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::PhoneNumberId" ).
+        ReturnsL( EPEUnknownNumber );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::EventType" ).
+        ReturnsL( CPELogInfo::EPEUnknownEvent );
+  
+    iMockContext->ExpectCallL( "CPELogInfo::CurrentLine" ).
+        ReturnsL( CCCECallParameters::ECCELineTypeAux ).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::CallDirection" ).
+        ReturnsL( RMobileCall::EMobileTerminated ).
+        TimesL( 2 );
+
+    iMockContext->ExpectCallL( "CPELogInfo::Name" ).
+        ReturnsL( KMyName() ).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::PhoneNumber" ).
+        ReturnsL( KMyNumber() ).
+        TimesL( 2 );
+    
+    iMockContext->ExpectCallL( "CPELogInfo::VoipAddress" ).
+        ReturnsL(  KNullDesC());
+    
+    iMockContext->ExpectCallL( "CPELogInfo::MyAddress" ).
+        ReturnsL( KNullDesC());
+    
+    iMockContext->ExpectCallL( "CPELogInfo::Duration" ).
+        ReturnsL( 0 );
+
+    iMockContext->ExpectCallL( "CPELogInfo::ContactLink").
+        ReturnsL( KNullDesC() ).
+        TimesL( 4 );
+    
+    iMockContext->ExpectCallL( "CPELogHandlingCommand::AddEvent");
+     
+    iCPELogEvent->SaveL();
+       
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() ); 
+    }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    UT_CPELogEvent,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "CallId - test1",
+    "CPELogEvent",
+    "CallId - test1",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_CallIdL, Teardown)
+   
+EUNIT_TEST(
+    "UpdateLogInfo - test2",
+    "CPELogEvent",
+    "UpdateLogInfo - test2",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_UpdateLogInfoL, Teardown)
+    
+EUNIT_TEST(
+    "ResetLogInfo - test3",
+    "CPELogEvent",
+    "ResetLogInfo - test3",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_ResetLogInfoL, Teardown)
+    
+EUNIT_TEST(
+    "IsCompleted - test4",
+    "CPELogEvent",
+    "IsCompleted - test4",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_IsCompletedL, Teardown)
+    
+EUNIT_TEST(
+    "SaveLeave - test5",
+    "CPELogEvent",
+    "SaveLeave - test5",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_SaveLeaveL, Teardown)
+    
+EUNIT_TEST(
+    "SaveL - test6",
+    "CPELogEvent",
+    "SaveL - test6",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_SaveLL, Teardown)
+    
+EUNIT_TEST(
+    "SaveL 2 - test7",
+    "CPELogEvent",
+    "SaveL 2 - test7",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_SaveL2L, Teardown)
+    
+EUNIT_TEST(
+    "SaveL 3 - test8",
+    "CPELogEvent",
+    "SaveL 3 - test8",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_SaveL3L, Teardown)
+    
+EUNIT_TEST(
+    "SaveL 4 - test9",
+    "CPELogEvent",
+    "SaveL 4 - test9",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_SaveL4L, Teardown)
+    
+EUNIT_TEST(
+    "SaveL 5 - test10",
+    "CPELogEvent",
+    "SaveL 5 - test10",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogEvent_SaveL5L, Teardown)  
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogevent/src/ut_cpelogevent.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,119 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_CPELOGEVENT_H__
+#define __UT_CPELOGEVENT_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+#include "MPEPhoneModelInternal.h"
+
+// FORWARD DECLARATIONS
+class CPELogExternalData;
+class CPELogHandling;
+class CPEEngineInfo;
+class CSmcMockContext;
+class CRepository;
+class MPEDataStore;
+
+class CPELogEvent;
+class CPELogHandlingCommand;
+class CLogClient;
+class CPELogInfo;
+
+
+
+
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( UT_CPELogEvent )
+    : public CEUnitTestSuiteClass, public MPEPhoneModelInternal
+    {
+    public:  // Constructors and destructor
+
+        static UT_CPELogEvent* NewL();
+        static UT_CPELogEvent* NewLC();
+        ~UT_CPELogEvent();
+ 
+        TInt SaveCallEntry( const TInt aCallId );
+        
+        MPEDataStore* DataStore();    
+        void HandleInternalMessage( const TInt aMessage );
+        void SendMessage( 
+               const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage );
+        void SendMessage( 
+               const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, 
+               const TInt aCallId );
+        MPEExternalDataHandler* DataStoreExt();
+        CPERemotePartyInfoMediator* MediatorCommunicationHandler();
+        
+
+    private: // Constructors
+
+        UT_CPELogEvent();
+        void ConstructL();
+
+    private: // New methods
+        
+         void SetupL();
+        
+         void Teardown();
+	   
+         void T_CPELogEvent_CallIdL();
+        
+         void T_CPELogEvent__CPELogEventL();
+        
+         void T_CPELogEvent_SaveLL();
+         
+         void T_CPELogEvent_UpdateLogInfoL();
+        
+         void T_CPELogEvent_ResetLogInfoL();
+                        
+         void T_CPELogEvent_IsCompletedL();
+        
+         void T_CPELogEvent_SetPhoneNumberIdL();
+        
+         void T_CPELogEvent_SaveLeaveL();
+         
+         void T_CPELogEvent_SaveL2L();
+         
+         void T_CPELogEvent_SaveL3L();
+         
+         void T_CPELogEvent_SaveL4L();
+         
+         void T_CPELogEvent_SaveL5L();
+
+    private: // Data
+
+        CPELogEvent* iCPELogEvent;
+        CPELogInfo* iLogInfoMock;
+        CPELogHandlingCommand* iLogHCMock;
+        CLogClient* iLogClient;
+        RFs iFsSession;
+        MPEDataStore* iDataStore;   
+        CSmcMockContext* iMockContext;
+        CPELogHandling* iLogHandlingMock;
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPELOGEVENT_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogevent/src/ut_cpelogevent_dllmain.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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_CPELogEvent.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return UT_CPELogEvent::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogexternaldata/bwins/ut_cpelogexternaldatau.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void)
+	??1CRepository@@UAE@XZ @ 2 NONAME ; CRepository::~CRepository(void)
+	?StartTransaction@CRepository@@QAEHW4TTransactionMode@1@@Z @ 3 NONAME ; int CRepository::StartTransaction(enum CRepository::TTransactionMode)
+	?Reset@CRepository@@QAEHK@Z @ 4 NONAME ; int CRepository::Reset(unsigned long)
+	?Move@CRepository@@QAEHKKKAAK@Z @ 5 NONAME ; int CRepository::Move(unsigned long, unsigned long, unsigned long, unsigned long &)
+	?NewLC@CRepository@@SAPAV1@VTUid@@@Z @ 6 NONAME ; class CRepository * CRepository::NewLC(class TUid)
+	?Create@CRepository@@QAEHKABVTDesC8@@@Z @ 7 NONAME ; int CRepository::Create(unsigned long, class TDesC8 const &)
+	?Set@CRepository@@QAEHKABVTDesC8@@@Z @ 8 NONAME ; int CRepository::Set(unsigned long, class TDesC8 const &)
+	?CleanupFailTransactionPushL@CRepository@@QAEXXZ @ 9 NONAME ; void CRepository::CleanupFailTransactionPushL(void)
+	?Reset@CRepository@@QAEHXZ @ 10 NONAME ; int CRepository::Reset(void)
+	?NotifyCancel@CRepository@@QAEHK@Z @ 11 NONAME ; int CRepository::NotifyCancel(unsigned long)
+	?Delete@CRepository@@QAEHK@Z @ 12 NONAME ; int CRepository::Delete(unsigned long)
+	?Create@CRepository@@QAEHKH@Z @ 13 NONAME ; int CRepository::Create(unsigned long, int)
+	?CancelTransaction@CRepository@@QAEXXZ @ 14 NONAME ; void CRepository::CancelTransaction(void)
+	?CommitTransaction@CRepository@@QAEXAAVTDes8@@AAVTRequestStatus@@@Z @ 15 NONAME ; void CRepository::CommitTransaction(class TDes8 &, class TRequestStatus &)
+	?SaveCallEntry@CPELogHandling@@UAEHH@Z @ 16 NONAME ; int CPELogHandling::SaveCallEntry(int)
+	?Get@CRepository@@QAEHKAAVTDes8@@@Z @ 17 NONAME ; int CRepository::Get(unsigned long, class TDes8 &)
+	?Create@CRepository@@QAEHKABVTDesC16@@@Z @ 18 NONAME ; int CRepository::Create(unsigned long, class TDesC16 const &)
+	?FindEqL@CRepository@@QAEHKKABNAAV?$RArray@K@@@Z @ 19 NONAME ; int CRepository::FindEqL(unsigned long, unsigned long, double const &, class RArray<unsigned long> &)
+	?NewL@CRepository@@SAPAV1@VTUid@@@Z @ 20 NONAME ; class CRepository * CRepository::NewL(class TUid)
+	?NotifyCancelAll@CRepository@@QAEHXZ @ 21 NONAME ; int CRepository::NotifyCancelAll(void)
+	?Get@CRepository@@QAEHKAAH@Z @ 22 NONAME ; int CRepository::Get(unsigned long, int &)
+	??1CPELogHandling@@UAE@XZ @ 23 NONAME ; CPELogHandling::~CPELogHandling(void)
+	?Get@CRepository@@QAEHKAAVTDes16@@AAH@Z @ 24 NONAME ; int CRepository::Get(unsigned long, class TDes16 &, int &)
+	?Get@CRepository@@QAEHKAAVTDes8@@AAH@Z @ 25 NONAME ; int CRepository::Get(unsigned long, class TDes8 &, int &)
+	?CleanupCancelTransactionPushL@CRepository@@QAEXXZ @ 26 NONAME ; void CRepository::CleanupCancelTransactionPushL(void)
+	?FindNeqL@CRepository@@QAEHKKABNAAV?$RArray@K@@@Z @ 27 NONAME ; int CRepository::FindNeqL(unsigned long, unsigned long, double const &, class RArray<unsigned long> &)
+	?Set@CRepository@@QAEHKH@Z @ 28 NONAME ; int CRepository::Set(unsigned long, int)
+	?FailTransaction@CRepository@@QAEXXZ @ 29 NONAME ; void CRepository::FailTransaction(void)
+	?Get@CRepository@@QAEHKAAVTDes16@@@Z @ 30 NONAME ; int CRepository::Get(unsigned long, class TDes16 &)
+	?FindL@CRepository@@QAEHKKAAV?$RArray@K@@@Z @ 31 NONAME ; int CRepository::FindL(unsigned long, unsigned long, class RArray<unsigned long> &)
+	?FindNeqL@CRepository@@QAEHKKABVTDesC16@@AAV?$RArray@K@@@Z @ 32 NONAME ; int CRepository::FindNeqL(unsigned long, unsigned long, class TDesC16 const &, class RArray<unsigned long> &)
+	?FindNeqL@CRepository@@QAEHKKHAAV?$RArray@K@@@Z @ 33 NONAME ; int CRepository::FindNeqL(unsigned long, unsigned long, int, class RArray<unsigned long> &)
+	?NotifyRequest@CRepository@@QAEHKAAVTRequestStatus@@@Z @ 34 NONAME ; int CRepository::NotifyRequest(unsigned long, class TRequestStatus &)
+	?Get@CRepository@@QAEHKAAN@Z @ 35 NONAME ; int CRepository::Get(unsigned long, double &)
+	?Set@CRepository@@QAEHKABVTDesC16@@@Z @ 36 NONAME ; int CRepository::Set(unsigned long, class TDesC16 const &)
+	?NotifyRequest@CRepository@@QAEHKKAAVTRequestStatus@@@Z @ 37 NONAME ; int CRepository::NotifyRequest(unsigned long, unsigned long, class TRequestStatus &)
+	?FindNeqL@CRepository@@QAEHKKABVTDesC8@@AAV?$RArray@K@@@Z @ 38 NONAME ; int CRepository::FindNeqL(unsigned long, unsigned long, class TDesC8 const &, class RArray<unsigned long> &)
+	?Create@CRepository@@QAEHKABN@Z @ 39 NONAME ; int CRepository::Create(unsigned long, double const &)
+	?Set@CRepository@@QAEHKABN@Z @ 40 NONAME ; int CRepository::Set(unsigned long, double const &)
+	?FindEqL@CRepository@@QAEHKKHAAV?$RArray@K@@@Z @ 41 NONAME ; int CRepository::FindEqL(unsigned long, unsigned long, int, class RArray<unsigned long> &)
+	?FindEqL@CRepository@@QAEHKKABVTDesC8@@AAV?$RArray@K@@@Z @ 42 NONAME ; int CRepository::FindEqL(unsigned long, unsigned long, class TDesC8 const &, class RArray<unsigned long> &)
+	?StartTransaction@CRepository@@QAEXW4TTransactionMode@1@AAVTRequestStatus@@@Z @ 43 NONAME ; void CRepository::StartTransaction(enum CRepository::TTransactionMode, class TRequestStatus &)
+	?NotifyCancel@CRepository@@QAEHKK@Z @ 44 NONAME ; int CRepository::NotifyCancel(unsigned long, unsigned long)
+	?FindEqL@CRepository@@QAEHKKABVTDesC16@@AAV?$RArray@K@@@Z @ 45 NONAME ; int CRepository::FindEqL(unsigned long, unsigned long, class TDesC16 const &, class RArray<unsigned long> &)
+	?Delete@CRepository@@QAEHKKAAK@Z @ 46 NONAME ; int CRepository::Delete(unsigned long, unsigned long, unsigned long &)
+	?CommitTransaction@CRepository@@QAEHAAK@Z @ 47 NONAME ; int CRepository::CommitTransaction(unsigned long &)
+	?GetMeta@CRepository@@QAEHKAAK@Z @ 48 NONAME ; int CRepository::GetMeta(unsigned long, unsigned long &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogexternaldata/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,33 @@
+/*
+* 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
+
+
+//../../../../group/loghandling.mmp
+
+PRJ_TESTMMPFILES
+UT_CPELogExternalData.mmp
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogexternaldata/group/ut_cpelogexternaldata.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,63 @@
+/*
+* 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_CPELogExternalData.dll
+TARGETTYPE          dll
+UID                 0x1000af5a 0x01700000
+
+CAPABILITY          ALL -TCB //-DRM
+VENDORID            VID_DEFAULT
+
+SOURCEPATH          ../src
+SOURCE              UT_CPELogExternalData.cpp
+SOURCE              UT_CPELogExternalData_DllMain.cpp
+
+// Sources required by the test suite
+SOURCEPATH          ../../../src
+SOURCE              peloghandlingpanic.cpp
+SOURCE              cpelogexternaldata.cpp
+SOURCE              cpeloginfo.cpp
+
+// mocks
+SOURCEPATH          ../../mocks
+SOURCE              mock_centralrepository.cpp
+SOURCE              mock_cpeloghandling.cpp
+
+// User include folders required by the tested code
+USERINCLUDE         ../src
+USERINCLUDE         ../../../../inc
+USERINCLUDE         ../../../../phonemodel/inc
+
+APP_LAYER_SYSTEMINCLUDE   // Application layer domain APIs
+SYSTEMINCLUDE       /epoc32/include/ecom
+SYSTEMINCLUDE       /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE       ../../../../loghandling/inc
+SYSTEMINCLUDE       ../../../../inc  // phoneengine inc
+SYSTEMINCLUDE       ../../../../../inc // phone inc
+
+LIBRARY             EUnit.lib
+LIBRARY             EUnitUtil.lib
+LIBRARY             euser.lib
+LIBRARY             efsrv.lib
+LIBRARY             engineinfo.lib
+LIBRARY             flogger.lib // For logging
+LIBRARY             cce.lib
+LIBRARY             bafl.lib                // Descriptor arrays
+LIBRARY             symbianmock.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogexternaldata/src/ut_cpelogexternaldata.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,320 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <EUnitDecorators.h>
+#include <csmcmockcontext.h>
+#include <msmcmockspecbuilder.h>
+#include <centralrepository.h>
+#include <SettingsInternalCRKeys.h>
+#include <LogsDomainCRKeys.h>
+#include "UT_CPELogExternalData.h"
+#include "cpelogexternaldata.h"
+#include "cpeloginfo.h"
+#include "cpeengineinfo.h"
+#include "cpeloghandling.h"
+
+// - Construction -----------------------------------------------------------
+UT_CPELogExternalData* UT_CPELogExternalData::NewL()
+    {
+    UT_CPELogExternalData* self = UT_CPELogExternalData::NewLC();
+    CleanupStack::Pop();
+    return self;
+    }
+
+
+UT_CPELogExternalData* UT_CPELogExternalData::NewLC()
+    {
+    UT_CPELogExternalData* self = new( ELeave ) UT_CPELogExternalData();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+
+UT_CPELogExternalData::~UT_CPELogExternalData()
+    {
+    delete iRepositoryMock;
+    CSmcMockContext::Release();
+    }
+
+
+// from MPEPhoneModelInternal
+MPEDataStore* UT_CPELogExternalData::DataStore()
+    {
+    return iEngineInfo;
+    }
+
+
+void UT_CPELogExternalData::HandleInternalMessage( const TInt /*aMessage*/ )
+    {
+    }
+
+
+void UT_CPELogExternalData::SendMessage( 
+    const MEngineMonitor::TPEMessagesFromPhoneEngine /*aMessage*/ )
+    {
+    }
+
+
+void UT_CPELogExternalData::SendMessage( 
+    const MEngineMonitor::TPEMessagesFromPhoneEngine /*aMessage*/, 
+    const TInt /*aCallId*/ )
+    {
+    }
+
+
+MPEExternalDataHandler* UT_CPELogExternalData::DataStoreExt()
+    {
+    return NULL;
+    }
+
+CPERemotePartyInfoMediator* UT_CPELogExternalData::MediatorCommunicationHandler()
+    {
+    return NULL;
+    } 
+
+UT_CPELogExternalData::UT_CPELogExternalData()
+    {
+    }
+
+
+void UT_CPELogExternalData::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    iMockContext = CSmcMockContext::InstanceL();
+    }
+
+
+// - Test methods -----------------------------------------------------------
+void UT_CPELogExternalData::SetupL(  )
+    {
+    iMockContext->InitializeL();
+    
+    User::LeaveIfError( iFsSession.Connect() );
+    iEngineInfo = CPEEngineInfo::NewL();
+    iEngineInfo->SetCallType( EPECallTypeVoIP, 0 );
+    
+    iLogHandlingMock = static_cast<CPELogHandling*>( 
+        CPELogHandling::NewL( *this, iFsSession ) );
+    iCPELogExternalData = CPELogExternalData::NewL( *iLogHandlingMock );
+    
+    iRepositoryMock = CRepository::NewL( KCRUidLogs );
+    }
+
+
+void UT_CPELogExternalData::Teardown(  )
+    {
+    delete iCPELogExternalData; 
+    iCPELogExternalData = NULL;
+    delete iEngineInfo;
+    iEngineInfo = NULL;
+    iFsSession.Close();
+    
+    delete iLogHandlingMock; 
+    iLogHandlingMock = NULL;
+    delete iRepositoryMock;
+    iRepositoryMock = NULL;
+    
+    iMockContext->Reset();
+    }
+
+
+void UT_CPELogExternalData::T_UpdateCallTimersL(  )
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+    const TInt KDuration = 1000000;
+    info->SetDuration( KDuration );
+    
+    // 1) case
+    info->SetCurrentLine( CCCECallParameters::ECCELineTypePrimary );
+    info->SetCallDirection( RMobileCall::EMobileOriginated );
+    info->SetEventType( CPELogInfo::EPEVoIPEvent );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsDialledCallsTimerVoIP, KDuration ).
+        ReturnsL( KErrNone );
+    iCPELogExternalData->UpdateCallTimers( *info );
+    
+    // 2) case
+    info->SetEventType( CPELogInfo::EPEVoiceEvent );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsDialledCallsTimerLine1, KDuration ).
+        ReturnsL( KErrNone );
+    iCPELogExternalData->UpdateCallTimers( *info );
+    
+    // 3) case
+    info->SetCallDirection( RMobileCall::EMobileTerminated );
+    info->SetEventType( CPELogInfo::EPEVoIPEvent );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsReceivedCallsTimerVoIP, KDuration ).
+        ReturnsL( KErrNone );
+    iCPELogExternalData->UpdateCallTimers( *info );
+    
+    // 4) case
+    info->SetEventType( CPELogInfo::EPEVoiceEvent );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsReceivedCallsTimerLine1, KDuration ).
+        ReturnsL( KErrNone );
+    iCPELogExternalData->UpdateCallTimers( *info );
+    
+    // 5) case
+    info->SetCurrentLine( CCCECallParameters::ECCELineTypeAux );
+    info->SetCallDirection( RMobileCall::EMobileOriginated );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsDialledCallsTimerLine2, KDuration ).
+        ReturnsL( KErrNone );
+    iCPELogExternalData->UpdateCallTimers( *info );
+    
+    // 6) case
+    info->SetCallDirection( RMobileCall::EMobileTerminated );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsReceivedCallsTimerLine2, KDuration ).
+        ReturnsL( KErrNone );
+    iCPELogExternalData->UpdateCallTimers( *info );
+    
+    // 7) case, error while reading from repository
+    iMockContext->ExpectCallL( "CRepository::Get" ).
+        ReturnsL( KErrGeneral );
+    iMockContext->ExpectCallL( "CRepository::Set" ).TimesL( 0 );
+    iCPELogExternalData->UpdateCallTimers( *info );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    delete info;
+    }
+
+
+void UT_CPELogExternalData::T_UpdateLastCallTimerByLineL(  )
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+    const TInt KDuration = 1000000;
+    info->SetDuration( KDuration );
+    
+    // 1) case, primary line and VoIP call
+    info->SetCurrentLine( CCCECallParameters::ECCELineTypePrimary );
+    info->SetEventType( CPELogInfo::EPEVoIPEvent );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsLastCallTimerVoIP, KDuration ).
+        ReturnsL( KErrNone );
+    iCPELogExternalData->UpdateLastCallTimerByLine( *info );
+    
+    // 2) case, primary line and Voice call
+    info->SetEventType( CPELogInfo::EPEVoiceEvent );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsLastCallTimerLine1, KDuration ).
+        ReturnsL( KErrNone );
+    iCPELogExternalData->UpdateLastCallTimerByLine( *info );
+    
+    // 3) case, aux line
+    info->SetCurrentLine( CCCECallParameters::ECCELineTypeAux );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsLastCallTimerLine2, KDuration ).
+        ReturnsL( KErrNone );
+    iCPELogExternalData->UpdateLastCallTimerByLine( *info );
+    
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    delete info;
+    }
+
+
+void UT_CPELogExternalData::T_UpdateLastCallTimerL(  )
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+    const TInt KDuration = 1000000;
+    info->SetDuration( KDuration );
+    
+    // 1) case, primary line and VoIP call
+    info->SetCurrentLine( CCCECallParameters::ECCELineTypePrimary );
+    info->SetEventType( CPELogInfo::EPEVoIPEvent );
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        WithL( KLogsActualLastCallTimer, KDuration ).
+        ReturnsL( KErrNone );
+    
+    iCPELogExternalData->UpdateLastCallTimer( *info );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    
+    delete info;
+    }
+
+void UT_CPELogExternalData::T_IncreaseMissedCallValueL(  )
+    {
+    TInt callId(0);
+ 
+    iMockContext->ExpectCallL( "CRepository::Get" ).
+        ReturnsL( KErrNone );
+    
+    iMockContext->ExpectCallL( "CRepository::Set" ).
+        ReturnsL( KErrNone );
+    
+    iCPELogExternalData->IncreaseMissedCallValue( callId );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+void UT_CPELogExternalData::T_SetFirstCallStartTimeL(  )
+    {
+    TTime time( 0 );
+    iCPELogExternalData->SetFirstCallStartTime( time );
+    EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+    }
+
+
+// - EUnit test table -------------------------------------------------------
+EUNIT_BEGIN_TEST_TABLE(
+    UT_CPELogExternalData,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "UpdateCallTimers",
+    "CPELogExternalData",
+    "UpdateCallTimers",
+    "FUNCTIONALITY",
+    SetupL, T_UpdateCallTimersL, Teardown)
+    
+EUNIT_TEST(
+    "UpdateLastCallTimerByLine",
+    "CPELogExternalData",
+    "UpdateLastCallTimerByLine",
+    "FUNCTIONALITY",
+    SetupL, T_UpdateLastCallTimerByLineL, Teardown)
+
+    
+EUNIT_TEST(
+    "UpdateLastCallTimer",
+    "CPELogExternalData",
+    "UpdateLastCallTimer",
+    "FUNCTIONALITY",
+    SetupL, T_UpdateLastCallTimerL, Teardown)
+    
+EUNIT_TEST(
+    "IncreaseMissedCallValue",
+    "CPELogExternalData",
+    "IncreaseMissedCallValue",
+    "FUNCTIONALITY",
+    SetupL, T_IncreaseMissedCallValueL, Teardown)
+    
+EUNIT_TEST(
+    "SetFirstCallStartTime",
+    "CPELogExternalData",
+    "SetFirstCallStartTime",
+    "FUNCTIONALITY",
+    SetupL, T_SetFirstCallStartTimeL, Teardown)
+    
+
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogexternaldata/src/ut_cpelogexternaldata.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_CPELOGEXTERNALDATA_H__
+#define __UT_CPELOGEXTERNALDATA_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+#include "MPEPhoneModelInternal.h"
+
+// FORWARD DECLARATIONS
+class CPELogExternalData;
+class CPELogHandling;
+class CPEEngineInfo;
+class CSmcMockContext;
+class CRepository;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( UT_CPELogExternalData )
+	: public CEUnitTestSuiteClass, public MPEPhoneModelInternal
+    {
+    public:  // Constructors and destructor
+
+        static UT_CPELogExternalData* NewL();
+        static UT_CPELogExternalData* NewLC();
+        ~UT_CPELogExternalData();
+        
+        // from MPEPhoneModelInternal
+        MPEDataStore* DataStore();    
+        void HandleInternalMessage( const TInt aMessage );
+        void SendMessage( 
+               const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage );
+        void SendMessage( 
+               const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, 
+               const TInt aCallId );
+        MPEExternalDataHandler* DataStoreExt();
+        CPERemotePartyInfoMediator* MediatorCommunicationHandler();
+
+    private: // Constructors
+
+        UT_CPELogExternalData();
+        void ConstructL();
+
+    private: // New methods
+
+         void SetupL();
+        
+         void Teardown();
+        
+         void T_UpdateCallTimersL();
+        
+         void T_UpdateLastCallTimerByLineL();
+        
+         void T_UpdateLastCallTimerL();
+        
+         void T_IncreaseMissedCallValueL();
+        
+         void T_SetFirstCallStartTimeL();
+
+    private: // Data
+
+        CPELogExternalData* iCPELogExternalData;
+        RFs iFsSession;
+        CPEEngineInfo* iEngineInfo;
+
+        CSmcMockContext* iMockContext;
+        CPELogHandling* iLogHandlingMock;
+        CRepository* iRepositoryMock;
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPELOGEXTERNALDATA_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpelogexternaldata/src/ut_cpelogexternaldata_dllmain.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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_CPELogExternalData.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return UT_CPELogExternalData::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpeloginfo/bwins/ut_cpeloginfou.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,3 @@
+EXPORTS
+	?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpeloginfo/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -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
+    DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+//../../../../group/loghandling.mmp
+
+PRJ_TESTMMPFILES
+UT_CPELogInfo.mmp
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpeloginfo/group/ut_cpeloginfo.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,63 @@
+/*
+* 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_CPELogInfo.dll
+TARGETTYPE      dll
+UID             0x1000af5a 0x01700000
+
+CAPABILITY      ALL -TCB //-DRM
+VENDORID        VID_DEFAULT
+
+SOURCEPATH          ../src
+SOURCE              UT_CPELogInfo.cpp
+SOURCE              UT_CPELogInfo_DllMain.cpp
+
+// mocks
+//SOURCEPATH          ../../../../../../internal/mocks/phoneengine/loghandling
+//SOURCE              mock_cpeloghandling.cpp
+
+// Sources required by the test suite
+SOURCEPATH          ../../../../loghandling/src
+SOURCE              cpeloginfo.cpp
+
+USERINCLUDE         ../src
+
+// User include folders required by the tested code
+USERINCLUDE         ../../../../inc
+
+APP_LAYER_SYSTEMINCLUDE   // Application layer domain APIs
+SYSTEMINCLUDE       /epoc32/include/ecom
+SYSTEMINCLUDE       /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE       ../../../../loghandling/inc
+SYSTEMINCLUDE       ../../../../inc  // phoneengine inc
+SYSTEMINCLUDE       ../../../../../inc // phone inc
+
+LIBRARY             EUnit.lib
+LIBRARY             EUnitUtil.lib
+LIBRARY             customapi.lib
+LIBRARY             efsrv.lib
+LIBRARY             engineinfo.lib
+LIBRARY             euser.lib
+LIBRARY             flogger.lib // For logging
+LIBRARY             logcli.lib 
+LIBRARY             logwrap.lib 
+LIBRARY             centralrepository.lib
+LIBRARY             ecom.lib
+LIBRARY             serviceprovidersettings.lib
+//LIBRARY             symbianmock.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpeloginfo/src/testdefs.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 TESTDEFS_H_
+#define TESTDEFS_H_
+
+#include <CEunitAllocTestCaseDecorator.h>
+
+//Is eunit alloc decorator enabled or not.
+class TTestUtils
+    {
+public:
+    static TBool AllocTestEnabled()
+        {
+        CEUnitTestCaseDecorator* decorator 
+            = CEUnitTestCaseDecorator::ActiveTestCaseDecorator( 
+            KEUnitAllocTestCaseDecoratorName );
+        return ( decorator ? ETrue : EFalse );
+        }
+    };
+
+//id for test controller
+const TInt KTestControllerUid = 0xFFFF;
+
+//call id
+TInt const KVoipCallId = 157;
+
+//service id
+TUint32 const KServiceId = 3;
+
+//remote party name match found
+_LIT( KRemotePartyNameMatchFound, "Match" );
+
+//no remote party name found
+_LIT( KRemotePartyNameMatchNotFound, "No Match" );
+
+#endif /*TESTDEFS_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpeloginfo/src/ut_cpeloginfo.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,577 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <eunitdecorators.h>
+#include <csmcmockcontext.h>
+#include <smcdefaultvalue.h>
+#include <msmcmockspecbuilder.h>
+
+#include <e32cmn.h>
+#include <f32file.h>
+#include <LOGCLI.H>
+#include <LogsApiConsts.h>
+#include <cccecallparameters.h>
+#include <cpeengineinfo.h>
+#include <mpedatastore.h>
+
+#include "UT_CPELogInfo.h"
+#include "cpeloginfo.h"
+
+const TInt KCallId = 0;
+
+
+TBool AllocTestEnabled()
+    {
+    CEUnitTestCaseDecorator* decorator 
+        = CEUnitTestCaseDecorator::ActiveTestCaseDecorator( 
+        KEUnitAllocTestCaseDecoratorName );
+    return ( decorator ? ETrue : EFalse );
+    }
+
+// - Construction -----------------------------------------------------------
+UT_CPELogInfo* UT_CPELogInfo::NewL()
+    {
+    UT_CPELogInfo* self = UT_CPELogInfo::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+UT_CPELogInfo* UT_CPELogInfo::NewLC()
+    {
+    UT_CPELogInfo* self = new( ELeave ) UT_CPELogInfo();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+UT_CPELogInfo::~UT_CPELogInfo()
+    {
+    }
+
+TInt UT_CPELogInfo::SaveCallEntry( const TInt aCallId )
+    {
+    TInt id( aCallId );
+    return KErrNone;
+    // derived
+    }
+
+
+MPEDataStore* UT_CPELogInfo::DataStore()
+    {
+    return iDataStore;
+    }
+
+void UT_CPELogInfo::HandleInternalMessage( const TInt aMessage )
+    {
+    TInt mes( aMessage );
+    }
+void UT_CPELogInfo::SendMessage( 
+       const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage )
+    {
+    TInt mes(aMessage);
+    }
+void UT_CPELogInfo::SendMessage( 
+       const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, 
+       const TInt aCallId )
+    {
+    TInt mes(aMessage);
+    TInt call(aCallId);
+    }
+MPEExternalDataHandler* UT_CPELogInfo::DataStoreExt()
+    {
+    return NULL;
+    }
+    
+CPERemotePartyInfoMediator* UT_CPELogInfo::MediatorCommunicationHandler()
+    {
+    return NULL;
+    }        
+
+UT_CPELogInfo::UT_CPELogInfo()
+    //iFsSession( *( RFs* )0x1 )
+    {
+    }
+
+void UT_CPELogInfo::ConstructL()
+    {
+    CEUnitTestSuiteClass::ConstructL();
+    }
+
+// - Test methods -----------------------------------------------------------
+void UT_CPELogInfo::SetupL(  )
+    {
+    }
+
+void UT_CPELogInfo::Teardown(  )
+    {   
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_VoIPAddressL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+    
+    TPEPhoneNumber voipAdderess;
+    voipAdderess.Copy( TPtrC8( ( TText8* )( "remotecontact@domain.com" ) ) );
+ 
+    info->SetVoipAddress(  voipAdderess );
+    
+    if ( voipAdderess != info->VoipAddress() )
+        {
+        EUNIT_FAIL_TEST( "VoIPAddressL FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_EventTypeL()
+    { 
+    CPELogInfo* info = CPELogInfo::NewL();
+  
+    info->SetEventType(  CPELogInfo::EPEVoIPEvent );
+    CPELogInfo::TPELogEventType eventType = info->EventType();
+    
+    if ( CPELogInfo::EPEVoIPEvent != eventType )
+        {
+        EUNIT_FAIL_TEST( "EventTypeL FAILED wrong return value!");
+        }
+    
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_CallDirectionL()
+    { 
+    CPELogInfo* info = CPELogInfo::NewL();
+    info->SetCallDirection(  RMobileCall::EMobileOriginated );
+    
+    if ( RMobileCall::EMobileOriginated != info->CallDirection() )
+        {
+        EUNIT_FAIL_TEST( "CallDirectionL FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_CallIdL()
+    {
+    TInt callId( 2 );
+    CPELogInfo* info = CPELogInfo::NewL();
+    info->SetCallId( callId );
+    
+    if ( callId != info->CallId() )
+        {
+        EUNIT_FAIL_TEST( "CallId FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_PhoneNumberL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL(); 
+    
+    TPEPhoneNumber phoneNumber;
+    phoneNumber.Copy( TPtrC8( ( TText8* )( "0123456789pw*#" ) ) );
+    
+    info->SetPhoneNumber(  phoneNumber );
+    
+    if ( phoneNumber != info->PhoneNumber() )
+        {
+        EUNIT_FAIL_TEST( "PhoneNumber FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_NameL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+
+    TPEContactName name;
+    name.Copy( TPtrC8( ( TText8* )( "Tester 007" ) ) );
+    
+    info->SetName(  name );
+    
+    if ( name != info->Name() )
+        {
+        EUNIT_FAIL_TEST( "Name FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_CallstateL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+  
+    info->SetCallState(  EPEStateRinging );
+    
+    if ( EPEStateRinging != info->CallState() )
+        {
+        EUNIT_FAIL_TEST( "CallState FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_CallDurationL()
+    {
+    TTimeIntervalSeconds duration(10000);
+    CPELogInfo* info = CPELogInfo::NewL();
+  
+    info->SetDuration(  duration );
+    
+    if ( duration != info->Duration() )
+        {
+        EUNIT_FAIL_TEST( "CallDuration FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_CurrentLineL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+  
+    CCCECallParameters::TCCELineType currentLine( CCCECallParameters::ECCELineTypePrimary );
+    
+    info->SetCurrentLine(  currentLine );
+    
+    if ( currentLine != info->CurrentLine() )
+        {
+        EUNIT_FAIL_TEST( "CallDuration FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_PhoneNumberIdL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+  
+    TPEPhoneNumberIdType phoneNumberId( EPEVoipNumber );
+    
+    info->SetPhoneNumberId( phoneNumberId );
+    
+    if ( phoneNumberId != info->PhoneNumberId() )
+        {
+        EUNIT_FAIL_TEST( "PhoneNumberId FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_LoggingEnabledL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+    
+    info->SetLoggingEnabled( ETrue );
+    
+    if ( ETrue != info->LoggingEnabled() )
+        {
+        EUNIT_FAIL_TEST( "LoggingEnabled FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_CallStartTimeL()
+    {
+    TTime startTime(1000);
+    CPELogInfo* info = CPELogInfo::NewL();
+  
+    info->SetCallStartTime(  startTime );
+    
+    if ( startTime != info->CallStartTime() )
+        {
+        EUNIT_FAIL_TEST( "CallStartTime FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_MissedCallL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+    
+    info->SetMissedCall( ETrue );
+    
+    if ( ETrue != info->MissedCall() )
+        {
+        EUNIT_FAIL_TEST( "MissedCall FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_ForcedCompletionL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+    
+    info->SetForcedCompletion( ETrue );
+    
+    if ( ETrue != info->ForcedCompletion() )
+        {
+        EUNIT_FAIL_TEST( "ForcedCompletion FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_ServiceIdL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+  
+    TUint32 serviceId( 12 );
+    
+    info->SetServiceId( serviceId );
+    
+    if ( serviceId != info->ServiceId() )
+        {
+        EUNIT_FAIL_TEST( "serviceId FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_MyAddressL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+
+    TPEPhoneNumber myAddress;
+    myAddress.Copy( TPtrC8( ( TText8* )( "myaddress@domain.com" ) ) );
+ 
+    info->SetMyAddress(  myAddress );
+ 
+    if ( myAddress != info->MyAddress() )
+        {
+        EUNIT_FAIL_TEST( "MyAddress FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_ContactLinkL()
+    {
+    CPELogInfo* info = CPELogInfo::NewL();
+
+    HBufC8* linkToContact = NULL;
+ 
+    info->SetContactLink(  linkToContact );
+
+    if ( &info->ContactLink() != linkToContact )
+        {
+        EUNIT_FAIL_TEST( "ContactLink FAILED wrong return value!");
+        }
+    delete info;
+    }
+
+void UT_CPELogInfo::T_CPELogInfo_CopyLogInfoL()
+    {
+    CPELogInfo* infoSource = CPELogInfo::NewL();
+    CPELogInfo* infoDestination = CPELogInfo::NewL();
+    
+    TPEPhoneNumber myAddress;
+    myAddress.Copy( TPtrC8( ( TText8* )( "myaddress@domain.com" ) ) );
+ 
+    infoSource->SetMyAddress(  myAddress );
+  
+    infoDestination->CopyL(  *infoSource );
+
+    if ( infoSource->MyAddress() != infoDestination->MyAddress() )
+        {
+        EUNIT_FAIL_TEST( "CopyLogInfoL case 1 FAILED wrong return value!");
+        }
+    
+    infoDestination->Reset();
+    
+    if ( infoSource->MyAddress() == infoDestination->MyAddress() )
+        {
+        EUNIT_FAIL_TEST( "CopyLogInfoL case 2 FAILED wrong return value!");
+        }
+    
+    delete infoSource;
+    delete infoDestination;
+    }
+
+
+void UT_CPELogInfo::T_CPELogInfo_SetEventDataL()
+    {       
+    TPEContactName name;
+    name.Copy( TPtrC8( ( TText8* )( "remotecontact" ) ) );
+  
+    CPELogInfo* info = CPELogInfo::NewL();
+    iDataStore = static_cast<MPEDataStore*>( CPEEngineInfo::NewL() );
+    
+    iDataStore->SetRemoteName( name, KCallId );
+    
+    info->SetEventData( KCallId, *DataStore() );
+    
+    if ( name != info->Name() )
+        {
+        EUNIT_FAIL_TEST( "SetEventDataL FAILED wrong return value!");
+        }
+
+    delete static_cast<CPEEngineInfo*>( iDataStore );
+    delete info;
+    }
+
+/**
+ * Copy event data.
+ * 
+ * @since S60 v5.0
+ * @param aLogInfo Log info to be copied
+ */
+void CopyL( const CPELogInfo& aLogInfo );
+
+/**
+ * Restore default values.
+ * 
+ * @since S60 v5.0
+ */
+void Reset();
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+    UT_CPELogInfo,
+    "Add test suite description here.",
+    "UNIT" )
+
+EUNIT_TEST(
+    "VoIP Address - test1",
+    "CPELogInfo",
+    "VoIP Address - test1",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_VoIPAddressL, Teardown)
+   
+EUNIT_TEST(
+    "EventType - test2",
+    "CPELogInfo",
+    "EventType - test2",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_EventTypeL, Teardown)
+    
+EUNIT_TEST(
+    "CallDirection - test3",
+    "CPELogInfo",
+    "CallDirection - test3",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_CallDirectionL, Teardown)
+        
+EUNIT_TEST(
+    "CallId - test4",
+    "CPELogInfo",
+    "CallId - test4",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_CallIdL, Teardown)
+    
+EUNIT_TEST(
+    "PhoneNumber - test5",
+    "CPELogInfo",
+    "PhoneNumber - test5",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_PhoneNumberL, Teardown)
+    
+EUNIT_TEST(
+    "NameL - test6",
+    "CPELogInfo",
+    "NameL - test6",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_NameL, Teardown)
+    
+EUNIT_TEST(
+    "CallStateL - test7",
+    "CPELogInfo",
+    "CallStateL - test7",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_CallstateL, Teardown)
+    
+EUNIT_TEST(
+    "Call duration - test8",
+    "CPELogInfo",
+    "Call duration - test8",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_CallDurationL, Teardown)
+    
+EUNIT_TEST(
+    "Current line - test9",
+    "CPELogInfot",
+    "Current line - test9",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_CurrentLineL, Teardown)
+    
+EUNIT_TEST(
+    "PhoneNumberId - test10",
+    "CPELogInfo",
+    "PhoneNumberId - test10",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_PhoneNumberIdL, Teardown)
+    
+EUNIT_TEST(
+    "LoggingEnabledL - test11",
+    "CPELogInfo",
+    "LoggingEnabledL - test11",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_LoggingEnabledL, Teardown)  
+    
+
+EUNIT_TEST(
+    "CallStartTimeL - test12",
+    "CPELogInfo",
+    "CallStartTimeL - test12",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_CallStartTimeL, Teardown) 
+    
+EUNIT_TEST(
+    "MissedCall - test13",
+    "CPELogInfo",
+    "MissedCall - test13",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_MissedCallL, Teardown) 
+    
+EUNIT_TEST(
+    "ForcedCompletion - test14",
+    "CPELogInfo",
+    "ForcedCompletion - test14",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_ForcedCompletionL, Teardown) 
+
+EUNIT_TEST(
+    "ServiceId - test145",
+    "CPELogInfo",
+    "ServiceId - test15",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_ServiceIdL, Teardown)
+
+EUNIT_TEST(
+    "MyAddress - test16",
+    "CPELogInfo",
+    "MyAddress - test16",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_MyAddressL, Teardown)
+    
+
+EUNIT_TEST(
+    "ContactLink - test17",
+    "CPELogInfo",
+    "ContactLink - test17",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_ContactLinkL, Teardown)
+    
+
+EUNIT_TEST(
+    "CopyLogInfo - test18",
+    "CPELogInfo",
+    "CopyLogInfo - test18",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_CopyLogInfoL, Teardown)
+    
+
+EUNIT_TEST(
+    "SetEventDataL - test19",
+    "CPELogInfo",
+    "SetEventDataL - test19",
+    "FUNCTIONALITY",
+    SetupL, T_CPELogInfo_SetEventDataL, Teardown)
+    
+EUNIT_END_TEST_TABLE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpeloginfo/src/ut_cpeloginfo.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef __UT_CPELOGEVENT_H__
+#define __UT_CPELOGEVENT_H__
+
+// INCLUDES
+#include <CEUnitTestSuiteClass.h>
+#include <EUnitDecorators.h>
+#include "MPEPhoneModelInternal.h"
+
+// FORWARD DECLARATIONS
+class CPELogInfo;
+class MPEDataStore;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( UT_CPELogInfo )
+    : public CEUnitTestSuiteClass, public MPEPhoneModelInternal
+    {
+    public:  // Constructors and destructor
+
+        static UT_CPELogInfo* NewL();
+        static UT_CPELogInfo* NewLC();
+        ~UT_CPELogInfo();
+   
+        TInt SaveCallEntry( const TInt aCallId );
+        
+        MPEDataStore* DataStore();
+        void HandleInternalMessage( const TInt aMessage );
+        void SendMessage( 
+               const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage );
+        void SendMessage( 
+               const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, 
+               const TInt aCallId );
+        MPEExternalDataHandler* DataStoreExt();
+        CPERemotePartyInfoMediator* MediatorCommunicationHandler();
+        
+
+    private: // Constructors
+
+        UT_CPELogInfo();
+        void ConstructL();
+
+    private: // New methods
+        
+         void SetupL();
+        
+         void Teardown();
+	   
+         void T_CPELogInfo_VoIPAddressL();
+        
+         void T_CPELogInfo_EventTypeL();
+         
+         void T_CPELogInfo_CallDirectionL();
+         
+         void T_CPELogInfo_CallIdL();
+         
+         void T_CPELogInfo_PhoneNumberL();
+         
+         void T_CPELogInfo_NameL();
+         
+         void T_CPELogInfo_CallstateL();
+         
+         void T_CPELogInfo_CallDurationL();
+         
+         void T_CPELogInfo_CurrentLineL();
+         
+         void T_CPELogInfo_PhoneNumberIdL();
+         
+         void T_CPELogInfo_LoggingEnabledL();
+         
+         void T_CPELogInfo_CallStartTimeL();
+         
+         void T_CPELogInfo_MissedCallL();
+         
+         void T_CPELogInfo_ForcedCompletionL();
+         
+         void T_CPELogInfo_ServiceIdL();
+         
+         void T_CPELogInfo_MyAddressL();
+         
+         void T_CPELogInfo_ContactLinkL();
+         
+         void T_CPELogInfo_CopyLogInfoL();
+         
+         void T_CPELogInfo_SetEventDataL();
+
+    private: // Data
+
+        CPELogInfo* iLogInfo;
+        MPEDataStore* iDataStore;   
+
+        EUNIT_DECLARE_TEST_TABLE;
+
+    };
+
+#endif      //  __UT_CPELOGEVENT_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/tsrc/ut_cpeloginfo/src/ut_cpeloginfo_dllmain.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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_CPELogInfo.h"
+#include <CEUnitTestSuite.h>
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+    {
+    return UT_CPELogInfo::NewL();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/bwins/parserrecognizeru.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,15 @@
+EXPORTS
+	?metaObject@ParserRecognizer@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * ParserRecognizer::metaObject(void) const
+	?tr@ParserRecognizer@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString ParserRecognizer::tr(char const *, char const *, int)
+	??0ParserRecognizer@@QAE@PAVQObject@@@Z @ 3 NONAME ; ParserRecognizer::ParserRecognizer(class QObject *)
+	?tr@ParserRecognizer@@SA?AVQString@@PBD0@Z @ 4 NONAME ; class QString ParserRecognizer::tr(char const *, char const *)
+	?qt_metacast@ParserRecognizer@@UAEPAXPBD@Z @ 5 NONAME ; void * ParserRecognizer::qt_metacast(char const *)
+	?getStaticMetaObject@ParserRecognizer@@SAABUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const & ParserRecognizer::getStaticMetaObject(void)
+	??_EParserRecognizer@@UAE@I@Z @ 7 NONAME ; ParserRecognizer::~ParserRecognizer(unsigned int)
+	?sendMessage@ParserRecognizer@@QAEXHH@Z @ 8 NONAME ; void ParserRecognizer::sendMessage(int, int)
+	?trUtf8@ParserRecognizer@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString ParserRecognizer::trUtf8(char const *, char const *)
+	?staticMetaObject@ParserRecognizer@@2UQMetaObject@@B @ 10 NONAME ; struct QMetaObject const ParserRecognizer::staticMetaObject
+	??1ParserRecognizer@@UAE@XZ @ 11 NONAME ; ParserRecognizer::~ParserRecognizer(void)
+	?qt_metacall@ParserRecognizer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12 NONAME ; int ParserRecognizer::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?trUtf8@ParserRecognizer@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString ParserRecognizer::trUtf8(char const *, char const *, int)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/eabi/parserrecognizeru.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,15 @@
+EXPORTS
+	_ZN16ParserRecognizer11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN16ParserRecognizer11qt_metacastEPKc @ 2 NONAME
+	_ZN16ParserRecognizer11sendMessageEii @ 3 NONAME
+	_ZN16ParserRecognizer16staticMetaObjectE @ 4 NONAME DATA 16
+	_ZN16ParserRecognizer19getStaticMetaObjectEv @ 5 NONAME
+	_ZN16ParserRecognizerC1EP7QObject @ 6 NONAME
+	_ZN16ParserRecognizerC2EP7QObject @ 7 NONAME
+	_ZN16ParserRecognizerD0Ev @ 8 NONAME
+	_ZN16ParserRecognizerD1Ev @ 9 NONAME
+	_ZN16ParserRecognizerD2Ev @ 10 NONAME
+	_ZNK16ParserRecognizer10metaObjectEv @ 11 NONAME
+	_ZTI16ParserRecognizer @ 12 NONAME
+	_ZTV16ParserRecognizer @ 13 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/inc/parserrecognizer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Recognizes the parser messages that needs to be notified to the world
+*               using QtHighway.
+*
+*/
+
+#ifndef PARSERRECOGNIZER_H
+#define PARSERRECOGNIZER_H
+
+#include <QObject>
+
+#ifdef BUILD_PARSERRECOGNIZER
+#define PARSERRECOGNIZER_EXPORT Q_DECL_EXPORT
+#else
+#define PARSERRECOGNIZER_EXPORT Q_DECL_IMPORT
+#endif
+
+class PARSERRECOGNIZER_EXPORT ParserRecognizer : public QObject
+{
+    Q_OBJECT
+public:
+    ParserRecognizer(QObject *parent = 0);
+    ~ParserRecognizer();
+    
+    /*!
+        \fn sendMessage(const int message, const int callId)
+        
+        This method takes a Phone Engine message and a caller id.
+        It recognizes the messages that needs to be sent to the
+        QtHighway. If message isn't recognized it doesn't do anything.
+    */
+    void sendMessage(const int message, const int callId);
+    
+};
+
+#endif // PARSERRECOGNIZER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/parserrecognizer.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+#
+
+SOURCES=\
+    ./src/parserrecognizer.cpp
+
+HEADERS=\
+    ./inc/parserrecognizer.h
+    
+DIALSERVICE_API_HEADERS=\
+		./inc/parserrecognizer.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/parserrecognizer.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = lib
+TARGET = parserrecognizer
+
+symbian {
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.EPOCALLOWDLLDATA =1
+    TARGET.UID3 = 0x20029F87
+    DEFINES += BUILD_PARSERRECOGNIZER
+    
+    INCLUDEPATH += ../../inc \
+                   ../phonemodel/inc \
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
+    parserDefFiles = \
+        "$${LITERAL_HASH}ifdef WINSCW" \
+        "DEFFILE bwins/parserrecognizer.def" \
+        "$${LITERAL_HASH}else" \
+        "DEFFILE eabi/parserrecognizer.def" \
+        "$${LITERAL_HASH}endif"
+        
+    MMP_RULES += parserDefFiles
+
+    LIBS += -lxqservice \
+            -lxqserviceutil
+}
+
+# Input
+#include(\ext\mw\qthighway\xqservicebase.pri)
+include(./parserrecognizer.pri)
+
+headers.sources = $$PARSERRECOGNIZER_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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/src/parserrecognizer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,103 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Recognizes the parser messages that needs to be notified to the world
+*               using QtHighway.
+*
+*/
+
+#include <QDebug>
+#include <xqservicerequest.h>
+#include <pevirtualengine.h>
+#include "parserrecognizer.h"
+
+ParserRecognizer::ParserRecognizer(QObject* parent) : QObject (parent)
+{
+}
+
+ParserRecognizer::~ParserRecognizer()
+{
+}
+
+void ParserRecognizer::sendMessage(const int message, const int callId)
+{
+    Q_UNUSED(callId); // for now
+    qDebug () << "ParserRecognizer::sendMessage message:" << message;
+    QString api;
+    QString method;
+    bool recognized = true;
+    
+    switch(message) {
+    case MEngineMonitor::EPEMessageActivateRfsDeep:
+        api = "com.nokia.services.telephony";
+        method = "activateDeepRestoreFactorySettings()";
+        break;
+        
+    case MEngineMonitor::EPEMessageActivateRfsNormal:
+        api = "com.nokia.services.telephony";
+        method = "activateNormalRestoreFactorySettings()";
+        break;
+        
+    case MEngineMonitor::EPEMessageActivateWarrantyMode:
+        api = "com.nokia.services.telephony";
+        method = "activateWarrantyMode()";
+        break;
+        
+    case MEngineMonitor::EPEMessageShowBTDeviceAddress:
+        api = "com.nokia.services.bluetooth";
+        method = "showBluetoothDeviceAddress()";
+        break;
+        
+    case MEngineMonitor::EPEMessageShowBTLoopback:
+        api = "com.nokia.services.bluetooth";
+        method = "showBluetoothLoopback()";
+        break;
+        
+    case MEngineMonitor::EPEMessageBTDebugMode:
+        api = "com.nokia.services.bluetooth";
+        method = "activateBluetoothDebugMode()";
+        break;
+
+    case MEngineMonitor::EPEMessageShowIMEI:
+        api = "com.nokia.services.telephony";
+        method = "showIMEICode()";
+        break;
+        
+    case MEngineMonitor::EPEMessageShowVersion:
+        api = "com.nokia.services.telephony";
+        method = "showVersionNumber()";
+        break;
+        
+    case MEngineMonitor::EPEMessageShowWlanMacAddress:
+        api = "com.nokia.services.wlan";
+        method = "showWLANMacAddress()";
+        break;
+        
+    case MEngineMonitor::EPEMessageSSRequestFailed:
+        api = "com.nokia.services.telephony";
+        method = "supplementaryServiceRequestFailed()";
+        break;
+              
+    default:
+      recognized = false;
+      break;        
+    }
+    
+    if(recognized) {
+        qDebug () << "ParserRecognizer::sendMessage api:" << api;
+        qDebug () << "ParserRecognizer::sendMessage method:" << method;
+        XQServiceRequest snd(api, method);
+        QVariant err;
+        snd.send(err);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/README.txt	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,5 @@
+ut_parserrecognizer
+
+If you run qmake then please modify the created mmp file of this project.
+You need to remove \epoc32\include from the mmp. Otherwise the parserrecognizer.cpp
+will see the original instead of the mocked version.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/runtests.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,21 @@
+@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
+
+del \epoc32\winscw\c\private\E31F4ECF\ut_parserrecognizer.log
+\epoc32\release\winscw\udeb\ut_parserrecognizer.exe -o ut_parserrecognizer.log
+type \epoc32\winscw\c\private\E31F4ECF\ut_parserrecognizer.log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/unit.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = subdirs
+SUBDIRS += ut_parserrecognizer
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/README.txt	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,5 @@
+ut_parserrecognizer
+
+If you run qmake then please modify the created mmp file of this project.
+You need to remove \epoc32\include from the mmp. Otherwise the parserrecognizer.cpp
+will see the original instead of the mocked version.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/moc_parserrecognizer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,63 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'parserrecognizer.h'
+**
+** Created: Fri 18. Sep 14:27:09 2009
+**      by: The Qt Meta Object Compiler version 61 (Qt 4.5.2-tower)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "../../inc/parserrecognizer.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'parserrecognizer.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 61
+#error "This file was generated using the moc from 4.5.2-tower. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_ParserRecognizer[] = {
+
+ // content:
+       2,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       0,    0, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+
+       0        // eod
+};
+
+static const char qt_meta_stringdata_ParserRecognizer[] = {
+    "ParserRecognizer\0"
+};
+
+const QMetaObject ParserRecognizer::staticMetaObject = {
+    { &QObject::staticMetaObject, qt_meta_stringdata_ParserRecognizer,
+      qt_meta_data_ParserRecognizer, 0 }
+};
+
+const QMetaObject *ParserRecognizer::metaObject() const
+{
+    return &staticMetaObject;
+}
+
+void *ParserRecognizer::qt_metacast(const char *_clname)
+{
+    if (!_clname) return 0;
+    if (!strcmp(_clname, qt_meta_stringdata_ParserRecognizer))
+        return static_cast<void*>(const_cast< ParserRecognizer*>(this));
+    return QObject::qt_metacast(_clname);
+}
+
+int ParserRecognizer::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    return _id;
+}
+QT_END_MOC_NAMESPACE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/moc_xqservicerequest.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,63 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'xqservicerequest.h'
+**
+** Created: Tue 22. Sep 12:22:55 2009
+**      by: The Qt Meta Object Compiler version 61 (Qt 4.5.2-tower)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "xqservicerequest.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'xqservicerequest.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 61
+#error "This file was generated using the moc from 4.5.2-tower. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_XQServiceRequest[] = {
+
+ // content:
+       2,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       0,    0, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+
+       0        // eod
+};
+
+static const char qt_meta_stringdata_XQServiceRequest[] = {
+    "XQServiceRequest\0"
+};
+
+const QMetaObject XQServiceRequest::staticMetaObject = {
+    { &QObject::staticMetaObject, qt_meta_stringdata_XQServiceRequest,
+      qt_meta_data_XQServiceRequest, 0 }
+};
+
+const QMetaObject *XQServiceRequest::metaObject() const
+{
+    return &staticMetaObject;
+}
+
+void *XQServiceRequest::qt_metacast(const char *_clname)
+{
+    if (!_clname) return 0;
+    if (!strcmp(_clname, qt_meta_stringdata_XQServiceRequest))
+        return static_cast<void*>(const_cast< XQServiceRequest*>(this));
+    return QObject::qt_metacast(_clname);
+}
+
+int XQServiceRequest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    return _id;
+}
+QT_END_MOC_NAMESPACE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,186 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 ParserRecognizer.
+*
+*/
+
+#include <QtTest/QtTest>
+
+//#include <hbglobal_p.h>
+#include "xqservicerequest.h"
+#include "parserrecognizer.h"
+#include "pevirtualengine.h"
+
+QString apiString;
+QString methodString;
+bool sendCalled;
+
+class TestParserRecognizer : public QObject
+{
+    Q_OBJECT
+public:
+    TestParserRecognizer();
+    virtual ~TestParserRecognizer();
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup ();
+        
+private slots:
+    void testActivateRfsDeep();
+    void testActivateRfsNormal();
+    void testActivateWarrantyMode();
+    void testShowBTDeviceAddress();
+    void testShowBTLoopback();
+    void testActivateBTDebugMode();
+    void testShowIMEI();
+    void testShowVersion();
+    void testShowWLANMacAddress();
+    void testSSRequestFailed();
+
+private:
+    ParserRecognizer *parserRecognizer; // class under test
+};
+
+XQServiceRequest::XQServiceRequest(QString const& api, QString const& method, bool const& sync)
+{
+    Q_UNUSED(sync);
+    apiString = api;
+    methodString = method;
+}
+
+bool XQServiceRequest::send(QVariant& retValue)
+{
+    Q_UNUSED(retValue);
+    sendCalled = true;
+    return true;
+}
+
+XQServiceRequest::~XQServiceRequest()
+{
+}
+
+TestParserRecognizer::TestParserRecognizer ()
+{
+}
+
+TestParserRecognizer::~TestParserRecognizer ()
+{
+}
+
+void TestParserRecognizer::initTestCase ()
+{
+}
+
+void TestParserRecognizer::cleanupTestCase ()
+{
+}
+
+void TestParserRecognizer::init ()
+{
+    apiString = "";
+    methodString = "";
+    sendCalled = false;
+    parserRecognizer = new ParserRecognizer;
+}
+
+void TestParserRecognizer::cleanup ()
+{
+    delete parserRecognizer;
+}
+
+void TestParserRecognizer::testActivateRfsDeep()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageActivateRfsDeep, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.telephony"));
+    QCOMPARE(methodString, QString("activateDeepRestoreFactorySettings()"));
+    QCOMPARE(sendCalled, true);
+}
+
+void TestParserRecognizer::testActivateRfsNormal()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageActivateRfsNormal, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.telephony"));
+    QCOMPARE(methodString, QString("activateNormalRestoreFactorySettings()"));
+    QCOMPARE(sendCalled, true);
+}
+
+void TestParserRecognizer::testActivateWarrantyMode()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageActivateWarrantyMode, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.telephony"));
+    QCOMPARE(methodString, QString("activateWarrantyMode()"));
+    QCOMPARE(sendCalled, true);
+}
+
+void TestParserRecognizer::testShowBTDeviceAddress()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowBTDeviceAddress, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.bluetooth"));
+    QCOMPARE(methodString, QString("showBluetoothDeviceAddress()"));
+    QCOMPARE(sendCalled, true);
+}
+
+void TestParserRecognizer::testShowBTLoopback()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowBTLoopback, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.bluetooth"));
+    QCOMPARE(methodString, QString("showBluetoothLoopback()"));
+    QCOMPARE(sendCalled, true);
+}
+
+void TestParserRecognizer::testActivateBTDebugMode()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageBTDebugMode, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.bluetooth"));
+    QCOMPARE(methodString, QString("activateBluetoothDebugMode()"));
+    QCOMPARE(sendCalled, true);
+}
+
+void TestParserRecognizer::testShowIMEI()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowIMEI, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.telephony"));
+    QCOMPARE(methodString, QString("showIMEICode()"));
+    QCOMPARE(sendCalled, true);
+}
+
+void TestParserRecognizer::testShowVersion()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowVersion, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.telephony"));
+    QCOMPARE(methodString, QString("showVersionNumber()"));
+    QCOMPARE(sendCalled, true);
+}
+
+void TestParserRecognizer::testShowWLANMacAddress()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageShowWlanMacAddress, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.wlan"));
+    QCOMPARE(methodString, QString("showWLANMacAddress()"));
+    QCOMPARE(sendCalled, true);
+}
+
+void TestParserRecognizer::testSSRequestFailed()
+{
+    parserRecognizer->sendMessage(MEngineMonitor::EPEMessageSSRequestFailed, 0);
+    QCOMPARE(apiString, QString("com.nokia.services.telephony"));
+    QCOMPARE(methodString, QString("supplementaryServiceRequestFailed()"));
+    QCOMPARE(sendCalled, true);
+}
+
+QTEST_MAIN(TestParserRecognizer)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/unit_tests.moc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,105 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'unit_tests.cpp'
+**
+** Created: Tue 22. Sep 16:19:35 2009
+**      by: The Qt Meta Object Compiler version 61 (Qt 4.5.2-tower)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'unit_tests.cpp' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 61
+#error "This file was generated using the moc from 4.5.2-tower. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_TestParserRecognizer[] = {
+
+ // content:
+       2,       // revision
+       0,       // classname
+       0,    0, // classinfo
+      14,   12, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+
+ // slots: signature, parameters, type, tag, flags
+      22,   21,   21,   21, 0x0a,
+      37,   21,   21,   21, 0x0a,
+      55,   21,   21,   21, 0x0a,
+      62,   21,   21,   21, 0x0a,
+      72,   21,   21,   21, 0x08,
+      94,   21,   21,   21, 0x08,
+     118,   21,   21,   21, 0x08,
+     145,   21,   21,   21, 0x08,
+     171,   21,   21,   21, 0x08,
+     192,   21,   21,   21, 0x08,
+     218,   21,   21,   21, 0x08,
+     233,   21,   21,   21, 0x08,
+     251,   21,   21,   21, 0x08,
+     276,   21,   21,   21, 0x08,
+
+       0        // eod
+};
+
+static const char qt_meta_stringdata_TestParserRecognizer[] = {
+    "TestParserRecognizer\0\0initTestCase()\0"
+    "cleanupTestCase()\0init()\0cleanup()\0"
+    "testActivateRfsDeep()\0testActivateRfsNormal()\0"
+    "testActivateWarrantyMode()\0"
+    "testShowBTDeviceAddress()\0"
+    "testShowBTLoopback()\0testActivateBTDebugMode()\0"
+    "testShowIMEI()\0testShowVersion()\0"
+    "testShowWLANMacAddress()\0testSSRequestFailed()\0"
+};
+
+const QMetaObject TestParserRecognizer::staticMetaObject = {
+    { &QObject::staticMetaObject, qt_meta_stringdata_TestParserRecognizer,
+      qt_meta_data_TestParserRecognizer, 0 }
+};
+
+const QMetaObject *TestParserRecognizer::metaObject() const
+{
+    return &staticMetaObject;
+}
+
+void *TestParserRecognizer::qt_metacast(const char *_clname)
+{
+    if (!_clname) return 0;
+    if (!strcmp(_clname, qt_meta_stringdata_TestParserRecognizer))
+        return static_cast<void*>(const_cast< TestParserRecognizer*>(this));
+    return QObject::qt_metacast(_clname);
+}
+
+int TestParserRecognizer::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        switch (_id) {
+        case 0: initTestCase(); break;
+        case 1: cleanupTestCase(); break;
+        case 2: init(); break;
+        case 3: cleanup(); break;
+        case 4: testActivateRfsDeep(); break;
+        case 5: testActivateRfsNormal(); break;
+        case 6: testActivateWarrantyMode(); break;
+        case 7: testShowBTDeviceAddress(); break;
+        case 8: testShowBTLoopback(); break;
+        case 9: testActivateBTDebugMode(); break;
+        case 10: testShowIMEI(); break;
+        case 11: testShowVersion(); break;
+        case 12: testShowWLANMacAddress(); break;
+        case 13: testSSRequestFailed(); break;
+        default: ;
+        }
+        _id -= 14;
+    }
+    return _id;
+}
+QT_END_MOC_NAMESPACE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/ut_parserrecognizer.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+TARGET.UID3 = 0xE31F4ECF
+DEPENDPATH += .
+CONFIG += qtestlib
+symbian {
+	INCLUDEPATH +=./
+	INCLUDEPATH +=../../../../inc
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL -TCB
+    DEFINES += BUILD_PARSERRECOGNIZER
+}
+
+# Input
+HEADERS += xqservicerequest.h
+HEADERS += ../../inc/parserrecognizer.h
+SOURCES += unit_tests.cpp
+SOURCES += ../../src/parserrecognizer.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/ut_parserrecognizer_0xE31F4ECF.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,115 @@
+// ==============================================================================
+// Generated by qmake (2.01a) (Qt 4.6.1) on: 2010-01-13T16:02:37
+// This file is generated by qmake and should not be modified by the
+// user.
+//  Name        : ut_parserrecognizer.mmp
+// ==============================================================================
+
+TARGET		ut_parserrecognizer.exe
+TARGETTYPE		EXE
+
+UID		0x100039CE 0xE31F4ECF
+SECUREID		0xE31F4ECF
+
+EPOCSTACKSIZE		0x14000
+EPOCHEAPSIZE		0x020000 0x800000
+EPOCALLOWDLLDATA
+
+SOURCEPATH			. 
+LANG SC 
+START RESOURCE		ut_parserrecognizer.rss
+HEADER
+TARGETPATH			/resource/apps
+END
+
+SOURCEPATH			.
+START RESOURCE		ut_parserrecognizer_reg.rss
+TARGETPATH		/private/10003a3f/import/apps
+END
+
+
+// Qt Macros
+MACRO		UNICODE
+MACRO		QT_KEYPAD_NAVIGATION
+MACRO		QT_SOFTKEYS_ENABLED
+MACRO		QT_USE_MATH_H_FLOATS
+MACRO		BUILD_PARSERRECOGNIZER
+MACRO		QT_NO_DEBUG
+MACRO		QT_GUI_LIB
+MACRO		QT_CORE_LIB
+
+SYSTEMINCLUDE		/epoc32/include/mw/QtCore
+SYSTEMINCLUDE		/epoc32/include/mw/QtGui
+SYSTEMINCLUDE		/epoc32/include/mw
+SYSTEMINCLUDE		/epoc32/include/mw/QtTest
+SYSTEMINCLUDE		../../../../../../mw/qt/mkspecs/common/symbian
+SYSTEMINCLUDE		../../../../../../mw/qt/mkspecs/common/symbian/tmp
+SYSTEMINCLUDE		/epoc32/include
+SYSTEMINCLUDE		/epoc32/include/stdapis
+SYSTEMINCLUDE		/epoc32/include/stdapis/sys
+SYSTEMINCLUDE		.
+SYSTEMINCLUDE		tmp
+SYSTEMINCLUDE		../../../../inc
+SYSTEMINCLUDE		../../../../inc/tmp
+SYSTEMINCLUDE		/epoc32/include/platform/mw
+SYSTEMINCLUDE		/epoc32/include/platform
+SYSTEMINCLUDE		/epoc32/include/app
+SYSTEMINCLUDE		/epoc32/include/platform/app
+SYSTEMINCLUDE		/epoc32/include/platform/loc
+SYSTEMINCLUDE		/epoc32/include/platform/mw/loc
+SYSTEMINCLUDE		/epoc32/include/platform/app/loc
+SYSTEMINCLUDE		/epoc32/include/platform/loc/sc
+SYSTEMINCLUDE		/epoc32/include/platform/mw/loc/sc
+SYSTEMINCLUDE		/epoc32/include/platform/app/loc/sc
+SYSTEMINCLUDE		/epoc32/include/mw/qtgui
+SYSTEMINCLUDE		/epoc32/include/mw/qtcore
+SYSTEMINCLUDE		/epoc32/include/stdapis/stlportv5
+SYSTEMINCLUDE		../../inc
+SYSTEMINCLUDE		../../inc/tmp
+SYSTEMINCLUDE		../../src
+SYSTEMINCLUDE		../../src/tmp
+
+SOURCEPATH 	../../src
+SOURCE		parserrecognizer.cpp
+
+SOURCEPATH 	.
+SOURCE		unit_tests.cpp
+SOURCE		moc_xqservicerequest.cpp
+SOURCE		moc_parserrecognizer.cpp
+
+
+LIBRARY		QtTest.lib
+LIBRARY		QtGui.lib
+LIBRARY		QtCore.lib
+LIBRARY		libstdcppv5.lib
+LIBRARY		libc.lib
+LIBRARY		libm.lib
+LIBRARY		euser.lib
+LIBRARY		libdl.lib
+LIBRARY		cone.lib
+LIBRARY		eikcore.lib
+LIBRARY		mediaclientaudio.lib
+LIBRARY		eikcoctl.lib
+LIBRARY		eiksrv.lib
+LIBRARY		apparc.lib
+LIBRARY		avkon.lib
+LIBRARY		efsrv.lib
+LIBRARY		charconv.lib
+LIBRARY		ws32.lib
+LIBRARY		hal.lib
+LIBRARY		gdi.lib
+LIBRARY		apgrfx.lib
+STATICLIBRARY	qtmain.lib
+
+CAPABILITY		ALL -TCB 
+
+OPTION CW -wchar_t on
+OPTION ARMCC --visibility_inlines_hidden
+
+VERSION 10.0
+
+PAGED
+
+OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE
+
+STDCPP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/parserrecognizer/tsrc/ut_parserrecognizer/xqservicerequest.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+*
+*/
+
+#ifndef XQSERVICEREQUEST_H
+#define XQSERVICEREQUEST_H
+
+#include <QVariant>
+#include <QString>
+
+class XQServiceRequest : public QObject
+{
+Q_OBJECT
+public:
+    XQServiceRequest(QString const& api, QString const& method, bool const& sync = true);
+    ~XQServiceRequest();
+    bool send(QVariant& retValue);
+};
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/api_headers.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,22 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+CNTFINDER2_API_HEADERS = \
+                        ./inc/cphonecntfactory.h \
+                        ./inc/mphcntmatch.h \
+                        ./inc/cphcntmatcher.h \
+                        ./inc/cphcntcontactid.h 
+                        
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/bwins/phonecntfinderu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,3 @@
+EXPORTS
+	?CreateCntFactoryL@@YAPAVCPhCntFactory@@XZ @ 1 NONAME ; class CPhCntFactory * CreateCntFactoryL(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/eabi/phonecntfinderu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z17CreateCntFactoryLv @ 1 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/cphcntcontactid.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 CPHCNTCONTACTID_H
+#define CPHCNTCONTACTID_H
+
+#include <e32base.h>
+#include <cntdef.h>
+
+/**
+ *  Abstract base class for identifying a single contact
+ *  in contact stores.
+ *
+ *  @lib PhoneCntFinder
+ *  @since S60 v3.1
+ */
+class CPhCntContactId : public CBase
+    {
+public:
+
+    /**
+     * Clones contact id.
+     *
+     * @since S60 v3.1
+     * @return New cloned instance of contact id.
+     */
+     virtual CPhCntContactId* CloneL() const  = 0;
+     
+     /**
+      * Invalidates this contact id. After this call, 
+      * IsValid call will return false.
+      * @since S60 v3.1
+      */
+     virtual void Invalidate() = 0;
+     
+     /**
+      * Is contact id valid.
+      * 
+      * @since S60 v3.1
+      * @return ETrue if contact id is valid.
+      */
+     virtual TBool IsValid() const = 0;
+     
+     /**
+      * Gives contact item id. If this id is not valid, then
+      * contact item id given is not valid.
+      * 
+      * @since S60 v3.1
+      * @return Contact item id.
+      */
+     virtual TContactItemId ContactId() const = 0;
+     
+     /**
+      * Packs Virtual phonebook contact link to descriptor.
+      * If this link is not valid, then packed data is not valid.
+      *
+      * @since S60 v3.1
+      * @return Packed virtual phonebook contact link.
+      */
+      virtual HBufC8* PackLC() const = 0;
+    
+      virtual ~CPhCntContactId() {};
+    };
+
+#endif // CPHCNTCONTACTID_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/cphcntcontactidimpl2.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHCNTCONTACTIDIMPL2_H
+#define CPHCNTCONTACTIDIMPL2_H
+
+#include <e32base.h>
+#include "cphcntcontactid.h"
+#include <qmobilityglobal.h>
+
+QTM_BEGIN_NAMESPACE
+class QContact;
+QTM_END_NAMESPACE
+QTM_USE_NAMESPACE
+
+/**
+ *  Abstract base class for identifying a single contact
+ *  in contact stores.
+ *
+ *  @lib PhoneCntFinder
+ *  @since S60 v3.1
+ */
+NONSHARABLE_CLASS (CPhCntContactIdImpl2) : public CPhCntContactId
+    {
+public:
+
+    ~CPhCntContactIdImpl2();
+        /**
+        * Two-phased constructor.
+        * @return New instance
+        */
+   static CPhCntContactIdImpl2* NewL(const QContact aContact);
+   
+   //from base class
+   
+    /**
+     * Clones contact id.
+     *
+     * @since S60 v3.1
+     * @return New cloned instance of contact id.
+     */
+     CPhCntContactId* CloneL() const;
+     
+     /**
+      * Invalidates this contact id. After this call, 
+      * IsValid call will return false.
+      * @since S60 v3.1
+      */
+     void Invalidate();
+     
+     /**
+      * Is contact id valid.
+      * 
+      * @since S60 v3.1
+      * @return ETrue if contact id is valid.
+      */
+     TBool IsValid() const;
+     
+     /**
+      * Gives contact item id. If this id is not valid, then
+      * contact item id given is not valid.
+      * 
+      * @since S60 v3.1
+      * @return Contact item id.
+      */
+     TContactItemId ContactId() const;
+     
+     /**
+      * This function used to pack virtual phonebook contact link.
+      * Now it just packs the contact id (with phonebook3)
+      * @since S60 v3.1
+      * @return Contact Id
+      */
+      HBufC8* PackLC() const;
+    
+  
+      
+private:
+    CPhCntContactIdImpl2(const QContact aContact);
+private:
+    const QContact Contact() const; //contact for the cloning
+    
+private:
+    
+    const QContact iContact;
+    bool           iValid;
+    };
+
+#endif // CPHCNTCONTACTIDIMPL2_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/cphcntfactoryimpl2.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef CPHCNTFACTORYIMPL2_H
+#define CPHCNTFACTORYIMPL2_H
+
+//  INCLUDES
+#include    <e32base.h>
+#include    <cphonecntfactory.h>
+
+
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DECLARATION
+
+/**
+*  Factory class's implementation. Not for external use.
+*
+*  @lib PhoneCntFinder
+*  @since 1.0
+*/
+NONSHARABLE_CLASS( CPhCntFactoryImpl2 ) : public CPhCntFactory
+    {
+    public: // Constructors and destructors.
+
+        /**
+        * Two-phased constructor.
+        *
+        * @return new instance of the class.
+        */
+        static CPhCntFactoryImpl2* NewL();
+
+        /**
+        * Destructor.
+        */
+        ~CPhCntFactoryImpl2();
+
+    public: // From base classes.
+
+
+
+        /**
+        * From CPhCntFactory
+        */
+        CPhCntMatcher* CreateContactMatcherL();
+
+
+        /**
+        * From CPhCntFactory
+        */
+        CBase* CreateProfileEngineNotifyHandlerL( 
+            MProfileChangeObserver* aObserver );
+ 
+            
+        /**
+         * Creates contact id instance.
+         *
+         * @since S60 v3.1
+         * @return New instance.
+         */
+        //CPhCntContactId* CreateContactIdL();
+        
+        /**
+         * From CPhCntFactory
+         * Creates an contact id instance.
+         *
+         * @since S60 v3.1
+         * @return New instance of CPhCntContactId
+         */
+        CPhCntContactId* CreateContactIdL( TContactItemId aContactId );
+        
+        /**
+         * From CPhCntFactory
+         *
+         * @since S60 v3.2
+         * @see CPhCntFactory
+         */
+        CPhCntContactId* CreateContactIdL( const TDesC8& aContactLink );
+
+        
+    private:
+
+        /**
+        * C++ constructor.
+        */
+        CPhCntFactoryImpl2();
+
+        /**
+        * Symbian OS constructor.
+        */
+        void ConstructL();
+        
+  
+    };
+
+
+#endif      // CPHCNTFACTORYIMPL_H   
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/cphcntmatch2.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef CPHCNTMATCH2_H
+#define CPHCNTMATCH2_H
+
+//  INCLUDES
+#include "mphcntmatch.h"
+#include <qmobilityglobal.h>
+
+// FORWARD DECLARATIONS
+class CPhCntContactIdImpl2;
+
+QTM_BEGIN_NAMESPACE
+class QContact;
+QTM_END_NAMESPACE
+QTM_USE_NAMESPACE
+
+// CLASS DECLARATION
+
+/**
+*  Implementation for single match result.
+*  Passes all function calls to CPhCntMacthItem object.
+*
+*  @lib PhoneCntFinder
+*  @since 1.0
+*/
+NONSHARABLE_CLASS( CPhCntMatch2 ) : public CBase, public MPhCntMatch
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        * @param aContact associated contact
+        * @return New instance
+        */
+        static CPhCntMatch2* NewL(const QContact aContact);
+        
+        /**
+        * Destructor.
+        */
+        ~CPhCntMatch2();
+        
+        /**
+        * overrides the number returned from the contact
+        */
+        void SetNumberL(const TDesC& aNumber);
+
+    protected: // Functions from base classes
+
+        /**
+        * From MPhCntMatch
+        */ 
+        void Release();
+
+        /**
+        * From MPhCntMatch
+        */ 
+        CPhCntContactId* ContactId() const;
+
+        /**
+        * From MPhCntMatch
+        */ 
+        TNumberType NumberType() const;
+
+        /**
+        * From MPhCntMatch
+        */ 
+        TCliType Cli( HBufC*& aCliText ) const;
+
+        /**
+        * From MPhCntMatch
+        */ 
+        TPtrC FirstName() const;
+
+        /**
+        * From MPhCntMatch
+        */ 
+        TPtrC LastName() const;
+
+        /**
+        * From MPhCntMatch
+        */ 
+        TPtrC CompanyName() const;
+
+        /**
+        * From MPhCntMatch
+        */ 
+        TPtrC Number() const;
+
+        /**
+        * From MPhCntMatch
+        */ 
+        TPtrC PersonalRingingTone() const;
+
+        /**
+        * From MPhCntMatch
+        */ 
+        TBool BelongsToGroups( 
+            const CArrayFix<TContactItemId>& aGroupArray ) const;
+
+        /**
+        * @see MPhCntMatch::TextToSpeechTextL.
+        * @since Series 60 3.0
+        */
+        virtual HBufC* TextToSpeechTextL() const;
+        
+        /**
+        * From MPhCntMatch
+        * @since Series 60 3.1
+        */ 
+        TPtrC CallText() const;
+        
+        /**
+        * From MPhCntMatch
+        * @since Series 60 3.1
+        */ 
+        TPtrC CallImage() const;
+        
+        /**
+        * From MPhCntMatch
+        * @since Series 60 3.1
+        */ 
+        TBool HasThumbnailImage() const;
+        
+        /**
+        * From MPhCntMatch
+        */
+        CDesCArray& AllDtmfNumbers() const;
+
+
+ 
+    private:
+
+        /**
+        * C++ constructor.
+        */
+        CPhCntMatch2(const QContact aContact);
+    private:
+        void ConstructL();
+        /*
+         * checks for exactly 1 item in the list
+         */
+         TPtrC FieldValue(const QString& name, const QString& key) const;
+
+    private:    // Data
+        const QContact iContact;
+        HBufC* iNumber;
+        CPhCntContactIdImpl2* iContactId;
+        CDesCArrayFlat* iDummyArray;
+
+    };
+
+#endif      // CPHCNTMATCH2_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/cphcntmatcher.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHCNTMATCHER_H
+#define CPHCNTMATCHER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <cntdef.h>     // TContactItemId
+#include <badesca.h>
+
+#include "mphcntmatch.h"
+
+// CONSTANTS
+const TInt KPhCntInvalidFieldId = KErrNotFound;
+
+// DATA TYPES
+typedef TInt TFieldId;
+
+// FORWARD DECLARATIONS
+
+class MVPbkContactLink;
+
+// CLASS DECLARATION
+
+/**
+*  Abstract class for making matches.
+*
+*  @lib PhoneCntFinder
+*  @since 1.0
+*/
+class CPhCntMatcher 
+    : public CBase
+    {
+    public:  // Constructors and destructor  
+
+        /**
+        * Match number to phonebook.
+        * @param aMatch Found match, owership tranferred. NULL if not found any.
+        * @param aTelNumber Number to match against.
+        * @return Error code: KErrNone - one match found
+        *                     KErrNotFound - no matches found
+        *                     KErrAlreadyExists - several matches -> no match
+        *                     KErrUnderflow - Number too short for matching
+        *                     KErrAccessDenied - Can't get phonebook instance
+        *                     other - normal Symbian OS error
+        */
+        virtual TInt MatchNumber( 
+            MPhCntMatch*& aMatch, 
+            const TDesC& aTelNumber ) = 0;
+
+        /**
+        * Match number to phonebook.
+        * @param aMatch Found match, owership tranferred. NULL if not found any.
+        * @param aTelNumber Number to match against.
+        * @param aContactId Current contact.
+        * @return Error code: KErrNone - one match found
+        *                     KErrNotFound - no matches found
+        *                     KErrAlreadyExists - several matches -> no match
+        *                     KErrUnderflow - Number too short for matching
+        *                     KErrAccessDenied - Can't get phonebook instance
+        *                     other - normal Symbian OS error
+        */
+        virtual TInt MatchNumber(
+            MPhCntMatch*& aMatch,
+            const TDesC& aTelNumber,
+            const CPhCntContactId& aContactLink ) = 0;
+
+
+        /**
+        * Match number to phonebook.
+        * @param aMatch Found match, owership tranferred. NULL if not found any.
+        * @param aNumber Number to match against.
+        * @param aAllowUsernameMatch 
+        *                        is ETrue if username is sufficient for match.
+        * @param aCharsForMatching Length of string to be used in matching.
+        *                       Starts from the end of VoIP number. Domain part
+        *                       not included for matching.
+        * @return Error code: KErrNone - one match found
+        *                     KErrNotFound - no matches found
+        *                     other - normal Symbian OS error
+        */    
+        virtual TInt MatchVoipNumber(
+            MPhCntMatch*& aMatch,
+            const TDesC& aNumber,
+            const TBool aAllowUsernameMatch,
+            TInt aCharsForMatching = 0 ) = 0;
+        
+         /**
+        * Gets VoIP call contact info from phonebook
+        * by contact id.
+        * @since Series60 3.0
+        * @param aMatch for found match, owership tranferred. Empty if not found.
+        * @param aContactId for current contact.
+        * @return Error code: KErrNone - VoIP call contact found
+        *                     KErrNotFound - no VoIP call contact found
+        *                     other - normal Symbian OS error
+        */    
+        virtual TInt MatchVoipNumber(
+            MPhCntMatch*& aMatch,
+            const CPhCntContactId& aContactId ) = 0;
+            
+        /**
+         * Determines if contact has other type of numbers
+         * than VoIP numbers.
+         * 
+         * @since S60 v3.2.
+         * @param aContactId Id of the contact.
+         * @return ETrue - CS numbers found from contact.
+         *         EFalse - No CS numbers found from contact.
+         */
+        virtual TBool HasCSNumbers( 
+            const CPhCntContactId& aContactId ) = 0;
+            
+        
+        /**
+        * Match number to phonebook.
+        * @param aMatch Found match, owership tranferred. NULL if not found any.
+        * @param aTelNumber Number to match against.
+        * @param aContactId  a contact id (unigue UID)
+        * @return Error code: KErrNone - one match found
+        *                     KErrNotFound - no matches found
+        *                     KErrAlreadyExists - several matches -> no match
+        *                     KErrUnderflow - Number too short for matching
+        *                     KErrAccessDenied - Can't get phonebook instance
+        *                     other - normal Symbian OS error
+        */
+        virtual TInt MatchNumber( 
+            MPhCntMatch*& aMatch, 
+            const TDesC& aTelNumber,
+            TInt aContactId ) = 0;
+
+    };
+
+#endif      // CPHCNTMATCHER_H  
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/cphcntmatcherimpl2.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,160 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 CPHCNTMATCHERIMPL_H
+#define CPHCNTMATCHERIMPL_H
+
+//  INCLUDES
+#include "cphcntmatcher.h"
+#include <centralrepository.h>
+#include <cenrepnotifyhandler.h>
+#include <qmobilityglobal.h>
+
+// FORWARD DECLARATIONS
+class CPhCntContactId;
+class CPhCntMatch2;
+
+QTM_BEGIN_NAMESPACE
+class QContactManager;
+QTM_END_NAMESPACE
+QTM_USE_NAMESPACE
+
+// CLASS DECLARATION
+
+
+/**
+*  Implementation for making matches.
+*
+*  @lib PhoneCntFinder
+*  @since 1.0
+*/
+NONSHARABLE_CLASS( CPhCntMatcherImpl2 ) :
+    public CPhCntMatcher
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        * @pre aContactManager != NULL
+        * @param aContactManager provides matching services. Ownership is transferred.
+        * @return New instance
+        */
+        static CPhCntMatcherImpl2* NewL(QContactManager* aContactManager);
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CPhCntMatcherImpl2();
+
+
+    public: // Functions from base classes
+
+        /**
+        * From CPhCntMatcher
+        */
+        TInt MatchNumber( MPhCntMatch*& aMatch,const TDesC& aTelNumber );
+
+        /**
+        * From CPhCntMatcher
+        */
+        TInt MatchNumber( 
+            MPhCntMatch*& aMatch,
+            const TDesC& aTelNumber,
+            const CPhCntContactId& aContactId );
+
+        /**
+        * From CPhCntMatcher
+        */
+        TInt MatchNumber(
+            MPhCntMatch*& aMatch,
+            const TDesC& aTelNumber,
+            const CPhCntContactId& aContactId,
+            const TFieldId aFieldId );
+
+            
+        /**
+        * Match number to phonebook.
+        * @param aMatch Found match, owership tranferred. NULL if not found any.
+        * @param aNumber Number to match against.
+        * @return Error code: KErrNone - one match found
+        *                     KErrNotFound - no matches found
+        *                     other - normal Symbian OS error
+        */    
+        TInt MatchVoipNumber(
+            MPhCntMatch*& aMatch,
+            const TDesC& aNumber,
+            TBool aAllowUserNameMatch,
+            TInt aCharsForMatching = 0 );
+        
+         /**
+        * From CPhCntMatcher, gets VoIP call contact info from phonebook
+        * by contact id.
+        * @since Series60 3.0
+        * @param aMatch for found match, owership tranferred. Empty if not found.
+        * @param aContactId for current contact.
+        * @return Error code: KErrNone - VoIP call contact found
+        *                     KErrNotFound - no VoIP call contact found
+        *                     other - normal Symbian OS error
+        */    
+        TInt MatchVoipNumber(
+            MPhCntMatch*& aMatch,
+            const CPhCntContactId& aContactId );
+
+        /**
+          * Determines if contact has other type of numbers
+          * than VoIP numbers.
+          * 
+          * @since S60 v3.2.
+          * @param aContactId Id of the contact.
+          * @return ETrue - CS numbers found from contact.
+          *         EFalse - No CS numbers found from contact.
+          */
+         virtual TBool HasCSNumbers( 
+             const CPhCntContactId& aContactId );
+             
+        /**
+        * @see CPhCntMatcher::MatchNumber
+        */
+        TInt MatchNumber( 
+            MPhCntMatch*& aMatch, 
+            const TDesC& aTelNumber,
+            TInt aContactId );
+
+
+    private:
+
+        /**
+        * C++ constructor.
+        */
+        CPhCntMatcherImpl2(QContactManager* aContactManager);
+
+        /**
+        * By default Symbian OS constructor is private.
+        */
+        void ConstructL();
+        
+
+    private:
+        CPhCntMatch2* iMatch; //only one now, must delete anyway.
+        QContactManager* iContactManager;
+
+  
+    };
+
+#endif      // CPHCNTMATCHERIMPL_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/cphcntpbkcontactid.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef CPHCNTPBKCONTACTID_H
+#define CPHCNTPBKCONTACTID_H
+
+#include "cphcntcontactid.h"
+
+/**
+ *  Contact id used with contact engine.
+ *
+ *  @lib PhoneCntFinder
+ *  @since S60 v3.1
+ */
+NONSHARABLE_CLASS( CPhCntPbkContactId ): public CPhCntContactId
+    {
+public:
+
+    static CPhCntPbkContactId* NewL( TInt aContactId );
+
+    static CPhCntPbkContactId* NewLC( TInt aContactId );
+
+    virtual ~CPhCntPbkContactId();
+
+    /**
+     * Gives the contact id used with contact engine.
+     *
+     * @since S60 v3.1
+     * @return Contact id.
+     */
+    TContactItemId ContactId() const;
+
+// from base class CPhCntContactId
+
+    /**
+     * From CPhCntContactId
+     * Clones contact id.
+     *
+     * @since S60 v3.1
+     * @return New cloned instance of this contact id.
+     */
+    CPhCntContactId* CloneL() const;
+    
+    /**
+     * From CPhCntContactId
+     * Invalidates this contact id.
+     *
+     * @since S60 v3.1
+     */
+    void Invalidate();
+    
+    /**
+     * From CPhCntContactId
+     * Determines if this contact id is valid contact id.
+     *
+     * @since S60 v3.1
+     * @return ETrue if contact id is valid.
+     */
+    TBool IsValid() const;
+    
+    /**
+     * From CPhCntContactId
+     * Returns null.
+     *
+     * @since S60 v3.1
+     * @return null.
+     */
+    HBufC8* PackLC() const;
+    
+private:
+
+    CPhCntPbkContactId( TInt aContactId );
+
+private: // data
+
+    /**
+     * Contact identifier.
+     */
+    TInt iContactId;
+
+    };
+
+#endif // CPHCNTPBKCONTACTID_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/cphonecntfactory.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 CPHCNTFACTORY_H
+#define CPHCNTFACTORY_H
+
+//  INCLUDES
+#include    <e32base.h>
+#include    <cntdef.h>
+
+// FORWARD DECLARATIONS
+
+class CPhCntMatcher;
+class MProfileChangeObserver;
+class CPhCntContactId;
+
+// CLASS DECLARATION
+
+/**
+*  Factory class for creating phonebook related classes.
+*
+*  @lib PhoneCntFinder
+*  @since 1.0
+*/
+class CPhCntFactory : public CBase
+    {
+    public:
+
+
+        /** 
+        * Creates an instance of Contact Matcher
+        *
+        * @return Contact Matcher object. Ownership is transferred.
+        */
+        virtual CPhCntMatcher* CreateContactMatcherL() = 0;
+
+        /**
+        * Creates an instance of profile engine notify handler.
+        * @param aObserver observer to be notified of profile changes.
+        * @return new instance.
+        */
+        virtual CBase* CreateProfileEngineNotifyHandlerL( 
+            MProfileChangeObserver* aObserver ) = 0;
+        
+
+            
+        /**
+         * Creates contact id instance.
+         *
+         * @since S60 v3.1
+         * @return New instance.
+         */
+        //virtual CPhCntContactId* CreateContactIdL() = 0;
+            
+        /**
+         * Creates an contact id instance.
+         *
+         * @since S60 v3.1
+         * @return New instance of CPhCntContactId
+         */
+        virtual CPhCntContactId* CreateContactIdL( TContactItemId aContactId ) = 0;
+
+        /**
+         * Create and contact id instance from contact link.
+         *
+         * @since S60 v3.2
+         */
+        virtual CPhCntContactId* CreateContactIdL( const TDesC8& aContactId ) = 0;    
+
+ 
+    };
+
+/**
+* Creates CPhCntFactory. Position 1 in DLL's lookup table.
+* @return Reference to CPhCntFactory object. Ownership is transferred.
+*/
+IMPORT_C CPhCntFactory* CreateCntFactoryL();
+
+#endif      // CPHCNTFACTORY_H
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/mphcntmatch.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,175 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 MPHCNTMATCH_H
+#define MPHCNTMATCH_H
+
+//  INCLUDES
+#include <cntdef.h>     // TContactItemId
+#include <badesca.h>
+
+class MVPbkContactLink;
+class CPhCntContactId;
+
+// CLASS DECLARATION
+
+/**
+*  Abstact match result. 
+*
+*  @lib PhoneCntFinder
+*  @since 1.0
+*/
+class MPhCntMatch
+    {
+    public:
+        
+        /**
+        * Enumerates CLI types.
+        *
+        * ECliEmpty - not set/found.
+        * ECliNumber - phone number from contact.
+        * ECliName - name from contact.
+        * ECliCompany - company name from contact.
+        */
+        enum TCliType
+            {
+            ECliEmpty,  
+            ECliNumber,
+            ECliName,
+            ECliCompany
+            };
+            
+        enum TNumberType
+            {
+            ENone = 0,
+            EMobileNumber,
+            EStandardNumber,
+            EFaxNumber,
+            EPagerNumber,
+            EVoipNumber,
+            EVideoNumber,
+            EAssistantNumber,
+            ECarNumber,
+            EHomeNumber,
+            EWorkNumber            
+            }; 
+
+        /**
+        * To destroy the item. Must be called when item is not needed
+        * any more.
+        */
+        virtual void Release() = 0;
+
+        /**
+         * Contact id.
+         * @return Contact finder contact id.
+         */
+        virtual CPhCntContactId* ContactId() const = 0;
+        
+        /**
+        * Get the number type.
+        * @return Phonebook number type.
+        */
+        virtual TNumberType NumberType() const = 0;
+
+        /**
+        * Get CLI value.
+        * @param aCliText CLI is copied here. User must delete after usage.
+        * @return CLI type.
+        */
+        virtual TCliType Cli( HBufC*& aCliText ) const = 0;
+
+        /**
+        * First name field from contact.
+        * @return Field text. Empty if there isn't one specified.
+        */
+        virtual TPtrC FirstName() const = 0;
+
+        /**
+        * Last name field from contact.
+        * @return Field text. Empty if there isn't one specified.
+        */
+        virtual TPtrC LastName() const = 0;
+
+        /**
+        * Company name field from contact.
+        * @return Field text. Empty if there isn't one specified.
+        */
+        virtual TPtrC CompanyName() const = 0;
+
+        /**
+        * Number field from contact (from matched field).
+        * @return Field text. Empty if there isn't one specified.
+        */
+        virtual TPtrC Number() const = 0;
+
+        /**
+        * Ringing tone field from contact.
+        * @return Field text. Empty if there isn't one specified.
+        */
+        virtual TPtrC PersonalRingingTone() const = 0;
+
+        /**
+        * Find if contact belong to any contact groups given.
+        * @param aGroupArray Compared contact groups.
+        * @return ETrue is belogns at least one group from parameter.
+        */
+        virtual TBool BelongsToGroups( 
+            const CArrayFix<TContactItemId>& aGroupArray ) const = 0;
+
+        /**
+        * Returns text to speech text for this contact. Used in
+        * text to speech ringing tone.
+        * @since Series 60 3.0
+        * @return descriptor, ownership passed.
+        */
+        virtual HBufC* TextToSpeechTextL() const = 0;
+        
+        /**
+        * Call text field from contact.
+        * @since Series 60 3.1
+        * @return Field text. Empty if there isn't one specified.
+        */
+        virtual TPtrC CallText() const = 0;
+
+        /**
+        * Call image field from contact.
+        * @since Series 60 3.1
+        * @return Field text. Empty if there isn't one specified.
+        */
+        virtual TPtrC CallImage() const = 0;
+        
+        /**
+        * Can used to check if contact has a thumbnail image.
+        * @since Series 60 3.1
+        * @return ETrue if has thumbnail, otherwise EFalse.
+        */
+        virtual TBool HasThumbnailImage() const = 0;      
+        
+        /**
+        * Returns all dtmf numbers which are found from
+        * a single contact
+        * @Since Series S60 3.2
+        * @return array of DTMF numbers.
+        */
+        virtual CDesCArray& AllDtmfNumbers() const = 0;    
+
+    };
+
+#endif      // MPHCNTMATCH_H   
+            
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/phcntpanic.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PHCNTPANIC
+#define PHCNTPANIC
+
+#include <e32std.h>
+
+enum TPhCntPanic 
+    {
+    EPhCntOperationAlreadyOngoing,
+    EPhCntServiceRequestActiveAlready
+    };
+
+/**
+ * Panics the current thread with panic code.
+ * @since S60 v3.1
+ * @param aPanicCode Panic code used with panic.
+ */
+void PhCntPanic( TPhCntPanic aPanicCode );
+
+
+#endif // PHCNTPANIC
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/phcnttrace.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 PHCNTTRACE_H
+#define PHCNTTRACE_H
+
+#include <e32std.h>
+
+//#define PHCNT_TRACE
+
+#ifdef PHCNT_TRACE
+
+#pragma message("DEBUG PRINTS ON")
+
+#define PRINTF( format, data ) RDebug::Print( _L(format), data );
+#define PRINT( format ) RDebug::RawPrint( _L(format) );
+
+#else
+
+#define PRINTF( format, data )
+#define PRINT( format ) 
+
+#endif // PHCNT_TRACE
+
+#endif // PHCNTTRACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/inc/qcontactfields.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 QCONTACTFIELDS_H_
+#define QCONTACTFIELDS_H_
+
+
+//-------------- Fields supported by database ----------------------------------// 
+//Fields
+const QString fieldFirstName("FIRSTNAME"); //QVariant( QString )
+const QString fieldLastName("LASTNAME");
+const QString fieldNickName("NICKNAME");
+const QString fieldNumber("NUMBER"); 
+const QString fieldAddress("ADDRESS"); 
+const QString fieldEmail("EMAIL"); 
+const QString fieldSip("SIP"); 
+const QString fieldPortrait("PORTRAIT"); 
+//....
+
+//Field properties
+const QString typeMobile("MOBILE"); //NUMBER 
+const QString typeFax("FAX"); //NUMBER 
+const QString typeHome("HOME"); //NUMBER & EMAIL & ADDRESS
+const QString typeWork("WORK"); //NUMBER & EMAIL & ADDRESS
+//....
+
+//Field parameters
+const QString parameterStreet("STREET"); //ADDRESS
+const QString parameterPostCode("POSTCODE"); //ADDRESS
+
+
+//-------------- Field Collections supported by the database --------------------//
+//All fields used for call (e.g. number and sip)
+const QString callFields("CALL");
+
+//All fields used for sms
+const QString smsFields("SMS");
+
+//All fields used for email (home, business etc.)
+const QString emailFields("EMAIL");
+
+#endif // QCONTACTFIELDS_H_
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/phonecntfinder.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+;
+; Languages
+&EN
+
+; Header
+#{"PhoneCntFinder"}, (0x10005998), 10, 1, 0, TYPE=SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+;Files
+"\epoc32\RELEASE\armv5\UREL\phonecntfinder.dll"-"z:\sys\bin\phonecntfinder.dll"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/phonecntfinder2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,80 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = lib
+TARGET = phonecntfinder
+CONFIG += qtgui
+CONFIG += qtcore
+
+TARGET.EPOCALLOWDLLDATA =1
+TARGET.CAPABILITY = ALL -TCB
+TARGET.UID3 = 0x10005998
+TARGET.VID = VID_DEFAULT
+
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+INCLUDEPATH += ../../inc 
+                   
+defFiles = \
+    "$${LITERAL_HASH}ifdef WINSCW" \
+     "DEFFILE bwins/phonecntfinder.def" \
+     "$${LITERAL_HASH}else" \
+     "DEFFILE eabi/phonecntfinder.def" \
+     "$${LITERAL_HASH}endif"
+
+MMP_RULES += defFiles
+
+LIBS += -leuser \
+            -lrfs \
+            -fbscli.lib \
+            -lprofileeng \
+            -lcenrepnotifhandler \
+            -lcentralrepository \
+            -lecom \
+            -lbafl \
+            -lfeatmgr \
+            -lcharconv \
+            -lqtcontacts
+
+
+HEADERS += ./inc/cphcntfactoryimpl2.h
+HEADERS += ./inc/phcntpanic.h
+HEADERS += ./inc/cphcntmatch2.h
+HEADERS    += ./inc/cphcntcontactidimpl2.h            
+HEADERS += ./inc/cphcntmatcherimpl2.h
+
+
+SOURCES += ./src/cphcntfactoryimpl2.cpp
+SOURCES  += ./src/phcntpanic.cpp
+SOURCES  += ./src/cphcntmatch2.cpp
+SOURCES    += ./src/cphcntcontactidimpl2.cpp
+SOURCES  += ./src/cphcntmatcherimpl2.cpp
+
+include(api_headers.pri)
+
+headers.sources = $$CNTFINDER2_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)"       
+
+BLD_INF_RULES.prj_exports += \
+ "$${LITERAL_HASH}include <platform_paths.hrh>" \
+ "./rom/phonecntfinder.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(phonecntfinder.iby)"
+
+
+    
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/rom/phonecntfinder.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+/*
+* 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:  IBY file
+ *
+*/
+
+#ifndef __PHONECNTFINDER_IBY__
+#define __PHONECNTFINDER_IBY__
+
+file=ABI_DIR\BUILD_DIR\phonecntfinder.dll           SHARED_LIB_DIR\phonecntfinder.dll
+data=ZSYSTEM\install\phonecntfinder_stub.SIS        System\Install\phonecntfinder_stub.SIS
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/src/cphcntcontactidimpl2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,129 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Wraps the QContact for the legacy handling in the phone engine
+*/
+
+#include <QDebug>
+#include <e32base.h>
+#include <utf.h>
+#include <qcontact.h>
+#include "cphcntcontactidimpl2.h"
+// ---------------------------------------------------------------------------
+// c'tor
+// ---------------------------------------------------------------------------
+//
+
+CPhCntContactIdImpl2::~CPhCntContactIdImpl2() 
+    {
+    
+    }
+
+// ---------------------------------------------------------------------------
+// copy c'tor
+// ---------------------------------------------------------------------------
+//
+CPhCntContactIdImpl2::CPhCntContactIdImpl2(const QContact aContact)
+:iContact(aContact), iValid(true)
+    {
+    
+    }
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CPhCntContactIdImpl2* CPhCntContactIdImpl2::NewL(const QContact aContact)
+    {
+    CPhCntContactIdImpl2* self = new( ELeave ) CPhCntContactIdImpl2(aContact);
+    return self;
+    }
+ 
+// ---------------------------------------------------------------------------
+// CloneL
+// ---------------------------------------------------------------------------
+//
+CPhCntContactId* CPhCntContactIdImpl2::CloneL() const
+    {
+    return CPhCntContactIdImpl2::NewL(Contact());
+    }
+     
+// ---------------------------------------------------------------------------
+// Invalidate
+// ---------------------------------------------------------------------------
+//
+
+void CPhCntContactIdImpl2::Invalidate()
+    {
+    iValid = false;
+    }
+     
+// ---------------------------------------------------------------------------
+// IsValid
+// ---------------------------------------------------------------------------
+//
+TBool CPhCntContactIdImpl2::IsValid() const
+    {
+    return iValid;
+    }
+     
+// ---------------------------------------------------------------------------
+// ContactId
+// ---------------------------------------------------------------------------
+//
+TContactItemId CPhCntContactIdImpl2::ContactId() const
+    {
+    if (IsValid())
+        {
+        return iContact.localId();
+        }
+    else
+        {
+        return KErrNotFound;
+        }
+    }
+     
+// ---------------------------------------------------------------------------
+// PackLC
+// ---------------------------------------------------------------------------
+//
+HBufC8* CPhCntContactIdImpl2::PackLC() const
+
+
+    {
+    HBufC8* valueToReturn = NULL;
+    
+    if (IsValid())
+        {
+        QString str; 
+        str.setNum(iContact.localId());
+        TPtrC16 value(str.utf16());
+        valueToReturn =  CnvUtfConverter::ConvertFromUnicodeToUtf8L(value);
+        CleanupStack::PushL(valueToReturn);
+        }
+        
+    return valueToReturn;
+    }
+
+// ---------------------------------------------------------------------------
+// Contact
+// ---------------------------------------------------------------------------
+//
+const QContact CPhCntContactIdImpl2::Contact() const
+    {
+    return iContact;
+    }
+
+
+    
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/src/cphcntfactoryimpl2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 FILES
+#include    <QDebug>
+#include    <qglobal.h>
+#include    <e32cmn.h>  
+#include    <qcontactmanager.h>
+#include    <CProfileChangeNotifyHandler.h>
+#include    <MProfileChangeObserver.h>
+#include    <featmgr.h>     // Feature Manager
+#include    <QString>
+#include    "cphcntfactoryimpl2.h"
+#include    "cphcntmatcherimpl2.h"
+
+
+static const QString SYMBIAN_CONTACTS_BACKEND  = "symbian";
+
+
+// -----------------------------------------------------------------------------
+// CPhCntFactoryImpl::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CPhCntFactoryImpl2* CPhCntFactoryImpl2::NewL()
+    {
+    qDebug()<<"CPhCntFactoryImpl2::NewL - enter";
+    CPhCntFactoryImpl2* self = new (ELeave) CPhCntFactoryImpl2;
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    qDebug()<<"CPhCntFactoryImpl2::cntfinder2 is ready. lets rock.";
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CPhCntFactoryImpl2::~CPhCntFactoryImpl2
+// ---------------------------------------------------------------------------
+//
+CPhCntFactoryImpl2::~CPhCntFactoryImpl2()
+    {
+
+    FeatureManager::UnInitializeLib();
+    }
+
+
+
+// ---------------------------------------------------------------------------
+// CPhCntFactoryImpl2::CreateContactMatcherL
+// 
+//  Create contact matcher
+// ---------------------------------------------------------------------------
+//
+CPhCntMatcher* CPhCntFactoryImpl2::CreateContactMatcherL()
+    {
+    QContactManager* contactMgr = NULL;
+    QT_TRYCATCH_LEAVING(contactMgr = new QContactManager(SYMBIAN_CONTACTS_BACKEND));
+    CPhCntMatcher*matcher = CPhCntMatcherImpl2::NewL(contactMgr);
+    return matcher;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CPhCntFactoryImpl2::CreateProfileEngineNotifyHandlerL
+// ---------------------------------------------------------------------------
+//
+CBase* CPhCntFactoryImpl2::CreateProfileEngineNotifyHandlerL( 
+        MProfileChangeObserver* aObserver )
+    {
+    return CProfileChangeNotifyHandler::NewL( aObserver );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CPhCntFactoryImpl2::CreateContactIdL
+// ---------------------------------------------------------------------------
+//
+/*
+CPhCntContactId* CPhCntFactoryImpl2::CreateContactIdL()
+    {
+    return NULL;
+    }
+*/   
+
+// ---------------------------------------------------------------------------
+// CPhCntFactoryImpl2::CreateContactIdL
+// ---------------------------------------------------------------------------
+//    
+CPhCntContactId* CPhCntFactoryImpl2::CreateContactIdL( 
+    TContactItemId /* aContactId*/)
+    {
+    return NULL;
+    }
+
+// ---------------------------------------------------------------------------
+// CPhCntFactoryImpl2::CreateContactIdL
+// ---------------------------------------------------------------------------
+//    
+CPhCntContactId* CPhCntFactoryImpl2::CreateContactIdL( 
+    const TDesC8& /*aContactId*/ )
+    {
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CPhCntFactoryImpl2::CPhCntFactoryImpl2
+// C++ constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CPhCntFactoryImpl2::CPhCntFactoryImpl2()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CPhCntFactoryImpl2::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CPhCntFactoryImpl2::ConstructL()
+    {
+    FeatureManager::InitializeLibL();
+    }
+
+
+// ================= OTHER EXPORTED FUNCTIONS ==============
+
+// ---------------------------------------------------------------------------
+// CreateCntFactoryL
+// 
+//  Creates instance of contact factory.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CPhCntFactory* CreateCntFactoryL()
+    {
+    return CPhCntFactoryImpl2::NewL();
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/src/cphcntmatch2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,274 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <qcontact.h>
+#include <qcontactdetail.h>
+#include <qcontactname.h>
+#include <qcontactavatar.h>
+#include <qcontactphonenumber.h>
+#include <qtcontactsglobal.h>
+#include "cphcntmatch2.h"
+#include "cphcntcontactidimpl2.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CPhCntMatch2::CPhCntMatch2(const QContact aContact):
+iContact(aContact), iNumber(NULL)
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CPhCntMatch2::~CPhCntMatch2()
+    {
+    delete iNumber;
+    delete iDummyArray;
+    delete iContactId; 
+    }
+    
+// -----------------------------------------------------------------------------
+// CPhCntMatch2::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CPhCntMatch2* CPhCntMatch2::NewL(const QContact aContact)
+    {
+    CPhCntMatch2* self = new( ELeave ) CPhCntMatch2(aContact);
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// Release
+// -----------------------------------------------------------------------------
+//
+void CPhCntMatch2::Release()
+{
+    delete iNumber;
+    iNumber = NULL;
+}
+
+// -----------------------------------------------------------------------------
+// NewL
+// -----------------------------------------------------------------------------
+//
+CPhCntContactId* CPhCntMatch2::ContactId() const
+{
+    return iContactId;
+}
+
+// -----------------------------------------------------------------------------
+// NumberType
+// -----------------------------------------------------------------------------
+//
+MPhCntMatch::TNumberType CPhCntMatch2::NumberType() const
+{
+
+    MPhCntMatch::TNumberType valueToReturn = MPhCntMatch::EMobileNumber;
+    /* -> TODO not yet supported
+    switch (iContact->field(fieldNumber).property())
+        {
+        case propertyMobile: 
+            {
+            valueToReturn = MPhCntMatch::EMobileNumber;
+            break;
+            }
+        default:
+            {
+            valueToReturn = MPhCntMatch::ENone;
+            }
+        
+        }//switch
+    */
+    
+    return valueToReturn;
+}
+
+// -----------------------------------------------------------------------------
+// Cli
+// -----------------------------------------------------------------------------
+//
+
+MPhCntMatch::TCliType CPhCntMatch2::Cli( HBufC*& /*aCliText*/ ) const
+{
+    return ECliNumber;
+}
+
+// -----------------------------------------------------------------------------
+// FirstName
+// -----------------------------------------------------------------------------
+//
+TPtrC CPhCntMatch2::FirstName() const
+{
+    return FieldValue(QContactName::DefinitionName, QContactName::FieldFirst); 
+
+}
+// -----------------------------------------------------------------------------
+// LastName
+// -----------------------------------------------------------------------------
+//
+TPtrC CPhCntMatch2::LastName() const
+{
+    return FieldValue(QContactName::DefinitionName, QContactName::FieldLast);
+   
+}
+// -----------------------------------------------------------------------------
+// CompanyName
+// -----------------------------------------------------------------------------
+//
+TPtrC CPhCntMatch2::CompanyName() const
+{
+  return KNullDesC();
+}
+// -----------------------------------------------------------------------------
+// Number
+// -----------------------------------------------------------------------------
+//
+TPtrC CPhCntMatch2::Number() const
+{
+//how many numbers are returned here? should be only one that matched
+    return iNumber? iNumber->Des() : 
+           FieldValue(QContactPhoneNumber::DefinitionName, 
+                      QContactPhoneNumber::FieldNumber);
+}
+// -----------------------------------------------------------------------------
+// PersonalRingingTone
+// -----------------------------------------------------------------------------
+//
+TPtrC CPhCntMatch2::PersonalRingingTone() const
+{
+    /*
+    //TODO
+    QString returnValue;
+    QList<QContactAvatar> details = iContact.details<QContactAvatar>();
+    
+    for (int i=0;i<details.count();++i) {
+        if (details.at(i).subType() == QContactAvatar::SubTypeAudioRingtone) {
+            returnValue = details.at(i).avatar();
+            break;
+        }
+    }
+
+    return returnValue.utf16();*/
+    return KNullDesC();
+}
+// -----------------------------------------------------------------------------
+// BelongsToGroups
+// -----------------------------------------------------------------------------
+//
+TBool CPhCntMatch2::BelongsToGroups( 
+    const CArrayFix<TContactItemId>& /*aGroupArray*/ ) const
+{
+    return EFalse;
+}
+// -----------------------------------------------------------------------------
+// TextToSpeechTextL
+// -----------------------------------------------------------------------------
+//
+HBufC* CPhCntMatch2::TextToSpeechTextL() const
+{
+    return NULL;
+}
+// -----------------------------------------------------------------------------
+// CallText
+// -----------------------------------------------------------------------------
+//    
+TPtrC CPhCntMatch2::CallText() const
+{
+    return KNullDesC();
+}
+// -----------------------------------------------------------------------------
+// CallImage
+// -----------------------------------------------------------------------------
+//       
+TPtrC CPhCntMatch2::CallImage() const
+{
+    QString returnValue;
+    QList<QContactAvatar> details = iContact.details<QContactAvatar>();
+
+    for (int i=0;i<details.count();++i) {
+        if (details.at(i).subType() == QContactAvatar::SubTypeImage) {
+            returnValue = details.at(i).avatar();
+            break;
+        }
+    }
+    
+    return returnValue.utf16();
+}
+// -----------------------------------------------------------------------------
+// HasThumbnailImage
+// -----------------------------------------------------------------------------
+//       
+TBool CPhCntMatch2::HasThumbnailImage() const
+{
+    return EFalse;
+}
+// -----------------------------------------------------------------------------
+// AllDtmfNumbers
+// -----------------------------------------------------------------------------
+//
+CDesCArray& CPhCntMatch2::AllDtmfNumbers() const
+{
+    return *iDummyArray;
+}
+// -----------------------------------------------------------------------------
+// SetNumberL
+// -----------------------------------------------------------------------------
+//
+
+void CPhCntMatch2::SetNumberL(const TDesC& aNumber)
+{
+    delete iNumber;
+    iNumber = NULL;
+    iNumber = aNumber.AllocL();
+}
+
+// -----------------------------------------------------------------------------
+// ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPhCntMatch2::ConstructL()
+    {
+    iContactId = CPhCntContactIdImpl2::NewL(iContact);
+    iDummyArray = new CDesCArrayFlat(1);
+    }
+
+// -----------------------------------------------------------------------------
+// FieldValue
+// -----------------------------------------------------------------------------
+//
+TPtrC CPhCntMatch2::FieldValue(const QString& name, const QString& key) const
+{
+    QString returnValue;
+    QList<QContactDetail> details = iContact.details(name);
+    if (details.count() == 1)
+        {
+        returnValue = details.first().value(key);        
+        }
+    qDebug()<<"CPhCntMatch2::FieldValue:: key is : "<< key << "..value is : "  << returnValue;
+    return returnValue.utf16();    
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/src/cphcntmatcherimpl2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,206 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QList>
+#include <QString>
+#include <QChar>
+#include <qcontact.h>
+#include <qcontactdetailfilter.h>
+#include <qcontactphonenumber.h>
+#include <qtcontactsglobal.h>
+#include <qcontactmanager.h>
+
+#include "cphcntmatcherimpl2.h"
+#include "cphcntmatch2.h"
+
+
+
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CPhCntMatcherImpl2* CPhCntMatcherImpl2::NewL(QContactManager* aContactManager) 
+    {
+    __ASSERT_ALWAYS(aContactManager!=NULL, User::Leave(KErrArgument));
+    CPhCntMatcherImpl2* self = new( ELeave )CPhCntMatcherImpl2(aContactManager);
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//    
+CPhCntMatcherImpl2::~CPhCntMatcherImpl2() 
+    {
+    delete iMatch;
+    delete iContactManager;
+    }
+
+// ---------------------------------------------------------------------------
+// From CPhCntMatcher
+// Tries to find a contact which has aTelNumber.
+// ---------------------------------------------------------------------------
+//    
+TInt CPhCntMatcherImpl2::MatchNumber( 
+    MPhCntMatch*& aMatch,   
+    const TDesC& aTelNumber) 
+    {
+    TInt err = KErrNone;
+    QString telnumber((QChar*)aTelNumber.Ptr(),aTelNumber.Length());
+    QContactDetailFilter filter;
+    filter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName, QContactPhoneNumber::FieldNumber);
+    filter.setValue(telnumber);
+    QList<QContactLocalId> contacts;
+    contacts = iContactManager->contacts(filter);
+    qDebug()<<"CPhCntMatcherImpl2::MatchNumber(): matched contacts count is: " << contacts.count();
+    //only 1 exact match returns a contact to be used 
+    if (contacts.isEmpty() || contacts.count() > 1 )
+        {
+        return KErrNotFound;
+        }
+    else 
+        {
+        delete iMatch;
+        iMatch = NULL;
+        TRAP(err, iMatch = CPhCntMatch2::NewL(iContactManager->contact(contacts.at(0))));
+        if (!err)
+        {
+            aMatch = iMatch;
+            qDebug()<<"CPhCntMatcherImpl2::MatchNumber() -- matched contact is ready";
+        }
+        return err;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From CPhCntMatcher
+// Tries to find a contact which has aTelNumber.
+// ---------------------------------------------------------------------------
+//  
+TInt CPhCntMatcherImpl2::MatchNumber( 
+    MPhCntMatch*& /*aMatch*/,
+    const TDesC& /*aTelNumber*/,
+    const CPhCntContactId& /*aContactId*/ )
+    {
+    return KErrNone;
+    }
+// ---------------------------------------------------------------------------
+// From CPhCntMatcher
+// Tries to find a contact which has aTelNumber, contactId and fieldId
+// ---------------------------------------------------------------------------
+// 
+TInt CPhCntMatcherImpl2::MatchNumber(
+    MPhCntMatch*& /*aMatch*/,
+    const TDesC& /*aTelNumber*/,
+    const CPhCntContactId& /*aContactId*/,
+    const TFieldId /*aFieldId*/ )
+    {
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// From CPhCntMatcher
+// Empty implementation. 
+// ---------------------------------------------------------------------------
+//    
+TInt CPhCntMatcherImpl2::MatchVoipNumber(
+    MPhCntMatch*& /*aMatch*/,
+    const TDesC& /*aMatchString*/,
+    TBool /*aAllowUserNameMatch*/,
+    TInt /*aCharsForMatching*/ )
+    {
+    return KErrNotFound;
+    }
+
+// ---------------------------------------------------------------------------
+// From CPhCntMatcher
+// Empty implementation. 
+// ---------------------------------------------------------------------------
+//
+TInt CPhCntMatcherImpl2::MatchVoipNumber(
+    MPhCntMatch*& /*aMatch*/,
+    const CPhCntContactId& /*aContactId*/ )
+    {
+    return KErrNotFound;
+    }
+
+// ---------------------------------------------------------------------------
+// From CPhCntMatcher
+// Empty implementation. Implemented in CPhCntMatcherVoIPImpl.
+// ---------------------------------------------------------------------------
+//
+TBool CPhCntMatcherImpl2::HasCSNumbers( const CPhCntContactId& /*aContactId*/ )
+    {
+    return EFalse;
+    }
+
+// ---------------------------------------------------------------------------
+// From CPhCntMatcher
+// ---------------------------------------------------------------------------
+// 
+ TInt CPhCntMatcherImpl2::MatchNumber( 
+            MPhCntMatch*& aMatch, 
+            const TDesC& aTelNumber,
+            TInt aContactId )
+    {
+    TInt err = KErrNone;
+    //now there's no way to check if the contact is valid or not
+    QContact contact;
+    contact = iContactManager->contact(aContactId);
+    //should check if valid or not
+    delete iMatch;
+    iMatch = NULL;
+    TRAP(err, iMatch = CPhCntMatch2::NewL(contact));
+    if (!err)
+    {
+        TRAP(err, iMatch->SetNumberL(aTelNumber));
+    }
+    if (!err)
+    {   
+        aMatch = iMatch;
+        qDebug()<<"CPhCntMatcherImpl2::MatchNumber(ContactId) -- matched contact is ready";
+    }
+    return err;
+    }
+
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//   
+CPhCntMatcherImpl2::CPhCntMatcherImpl2(QContactManager* aContactManager)
+:iContactManager(aContactManager)
+    {
+    iMatch = NULL;
+    }
+
+
+    
+// ---------------------------------------------------------------------------
+// Second phase constructor
+// ---------------------------------------------------------------------------
+//    
+void CPhCntMatcherImpl2::ConstructL()
+    { 
+    
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/src/phcntpanic.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "phcntpanic.h"
+
+_LIT( KPanicTxt, "PhCntFinder" );
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Panics current thread
+// ---------------------------------------------------------------------------
+//
+void PhCntPanic( TPhCntPanic aPanicCode )
+    {
+    User::Panic( KPanicTxt, aPanicCode );
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/common.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+#
+######################################################################
+# Unit tests
+######################################################################
+
+CONFIG += hb
+CONFIG += qtestlib
+DEFINES += dll \
+            BUILD_QTCONTACTS \
+
+            
+            
+
+LIBS += -lphoneengine \
+        -lFeatMgr \
+        -lrfs \
+        -lsecui \
+        -lprofileeng \
+        -leuser \
+        -lbafl \
+        -lqtcore \
+        -lqtgui \
+        -lcharconv \
+        -lqtcontacts
+        
+        
+TARGET.EPOCALLOWDLLDATA =1
+        
+
+        
+        
+        
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontact.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 QCONTACT_H
+#define QCONTACT_H
+
+#include <QString>
+#include <QList>
+#include <QMetaType>
+
+#include <qcontactid.h>
+#include "qcontactdetail.h"
+#include "qtcontactsglobal.h"
+// This is not available yet
+// #include "quniqueid.h"
+
+
+class QContact
+{
+public:
+    QContact();
+
+    ~QContact();
+
+    QContact(const QContact& other);
+	QContact& operator=(const QContact& other);
+
+	//QContactId id() const;
+    
+    QContactLocalId localId() const;
+
+    QList<QContactDetail> details(const QString& definitionId = QString()) const;
+
+public: //for testing
+    void setDetails(const QList<QContactDetail>& details);
+
+private:
+    QList<QContactDetail> mDetails;
+ 
+};
+Q_DECLARE_METATYPE(QContact)
+#endif //__QCONTACT_H_
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontact_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "qcontact.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QContact::QContact
+// -----------------------------------------------------------------------------
+//
+QContact::QContact(  )
+    {    
+    }
+
+// -----------------------------------------------------------------------------
+// QContact::QContact
+// -----------------------------------------------------------------------------
+//
+QContact::QContact( 
+        const QContact & contact )
+    {
+    mDetails = contact.details("");
+    }
+
+// -----------------------------------------------------------------------------
+// QContact::QContact
+// -----------------------------------------------------------------------------
+//
+QContact& QContact::operator=(const QContact& other)
+{
+    mDetails = other.details();
+    return *this;
+}
+// -----------------------------------------------------------------------------
+// QContact::~QContact
+// -----------------------------------------------------------------------------
+//
+QContact::~QContact(  )
+    {   
+    }
+
+// -----------------------------------------------------------------------------
+// QContact::uid
+// -----------------------------------------------------------------------------
+//
+/*QContactId QContact::id(  ) const
+    {
+    QContactId temp;
+    return temp;
+    }*/
+
+// -----------------------------------------------------------------------------
+// QContact::localId
+// -----------------------------------------------------------------------------
+//
+QContactLocalId QContact::localId(  ) const
+    {
+    return 3;
+    }
+
+// -----------------------------------------------------------------------------
+// QContact::details
+// -----------------------------------------------------------------------------
+//
+QList<QContactDetail> QContact::details(const QString& definitionId) const
+{
+	Q_UNUSED(definitionId)
+	return mDetails;
+	
+}
+// -----------------------------------------------------------------------------
+// QContact::setDetails
+// -----------------------------------------------------------------------------
+//
+void QContact::setDetails(const QList<QContactDetail>& details)
+{   
+    mDetails.clear();
+    QContactDetail detail;
+    qDebug() << "QContact::setDetails, list count is: " << details.count();
+    foreach (detail, details)
+    {
+        mDetails.append(detail);
+        qDebug() << "QContact::setDetails, mDetails count is: " << mDetails.count();
+        qDebug() << "QContact::setDetails, mDetails[0].value is: " << mDetails[0].value("");
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactdetail.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QCONTACTDETAIL_H
+#define QCONTACTDETAIL_H
+
+#include "qtcontactsglobal.h"
+
+#include <QString>
+
+
+class QContactDetail
+{
+public:
+    QContactDetail();
+	QContactDetail(const QString& definitionName);
+    virtual ~QContactDetail();
+	QContactDetail(const QContactDetail& other);
+	QContactDetail& operator=(const QContactDetail& other);
+    QString value(const QString& key) const;
+	QString definitionName() const;
+public: //for testing 
+	void setValue(const QString& value);
+	
+
+
+private:
+    QString mValue;
+	QString mDefinition;
+
+};
+
+
+
+#define Q_DECLARE_CUSTOM_CONTACT_DETAIL(className, definitionNameString) \
+    className() : QContactDetail(DefinitionName) {}\
+    Q_DECLARE_LATIN1_LITERAL(DefinitionName, definitionNameString);
+
+#define Q_IMPLEMENT_CUSTOM_CONTACT_DETAIL(className, definitionNameString) \
+    Q_DEFINE_LATIN1_LITERAL(className::DefinitionName, definitionNameString)
+	
+#endif //qcontactdetail
+	
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactdetail_stub.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "qcontactdetail.h"
+#include "qcontactname.h"
+#include "qcontactphonenumber.h"
+
+Q_DEFINE_LATIN1_LITERAL(QContactName::DefinitionName, "Name");
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::DefinitionName, "PhoneNumber");
+Q_DEFINE_LATIN1_LITERAL(QContactPhoneNumber::FieldNumber, "PhoneNumber");
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldFirst, "First");
+Q_DEFINE_LATIN1_LITERAL(QContactName::FieldLast, "Last");
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QContactDetail::QContactDetail
+// -----------------------------------------------------------------------------
+//
+QContactDetail::QContactDetail()
+{
+}
+// -----------------------------------------------------------------------------
+// QContactDetail::QContactDetail
+// -----------------------------------------------------------------------------
+//
+QContactDetail::QContactDetail(const QString& definitionName)
+{
+	mDefinition = definitionName;
+}
+// -----------------------------------------------------------------------------
+// D'tor
+// -----------------------------------------------------------------------------
+//
+QContactDetail::~QContactDetail()
+{
+}
+
+QString QContactDetail::definitionName () const
+{
+	return mDefinition;
+}
+// -----------------------------------------------------------------------------
+// Copy c'tor
+// -----------------------------------------------------------------------------
+//
+QContactDetail::QContactDetail(const QContactDetail& other)
+{
+	mValue = other.value("");
+}
+// -----------------------------------------------------------------------------
+// Operator =
+// -----------------------------------------------------------------------------
+//
+QContactDetail& QContactDetail::operator=(const QContactDetail& other)
+{
+    mValue = other.value("");
+    return *this;
+}
+// -----------------------------------------------------------------------------
+// QContactDetail
+// -----------------------------------------------------------------------------
+//
+QString QContactDetail::value(const QString& key) const
+{
+	Q_UNUSED(key)
+	return mValue;
+}
+
+// -----------------------------------------------------------------------------
+// QContactDetail
+// -----------------------------------------------------------------------------
+//
+void QContactDetail::setValue(const QString& value)
+{
+	mValue = value;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactdetailfilter.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 QCONTACTDETAILFILTER_H
+#define QCONTACTDETAILFILTER_H
+
+#include <QString>
+#include <QVariant>
+
+#include "qcontactfilter.h"
+
+class QContactDetailFilter: public QContactFilter
+{
+public:
+    QContactDetailFilter()
+	{
+	};
+   // QContactDetailFilter(const QContactFilter& other);
+
+    /* Mutators */
+    void setDetailDefinitionName(const QString& definition, const QString& fieldName = QString())
+	{
+	Q_UNUSED(definition)
+	Q_UNUSED(fieldName)
+	};
+    //void setMatchFlags(Qt::MatchFlags flags);
+
+    /* Filter Criterion */
+    void setValue(const QVariant& value)
+	{
+	Q_UNUSED(value)
+	};
+
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactfilter.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 QCONTACTFILTER_H
+#define QCONTACTFILTER_H
+
+#include <QVariant>
+#include <QList>
+#include <QDateTime>
+
+#include "qtcontactsglobal.h"
+
+class QContactFilter
+{
+public:
+    QContactFilter() {};
+
+
+    enum FilterType {
+        InvalidFilter,
+        ContactDetailFilter,
+        ContactDetailRangeFilter,
+        ChangeLogFilter,
+        ActionFilter,
+        GroupMembershipFilter,
+        IntersectionFilter,
+        UnionFilter,
+        IdListFilter,
+        DefaultFilter
+    };
+
+ };
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactmanager.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef QCONTACTMANAGER_H
+#define QCONTACTMANAGER_H
+
+#include <QList>
+#include <QString>
+#include <qcontact.h>
+#include <qcontactfilter.h>
+#include <qcontactsortorder.h>
+#include <qtcontactsglobal.h>
+
+/*
+*  This is very simple copy of the one function from QContactManager interface that contactfinder2 is using
+*/
+
+
+class QContactManager 
+{
+
+public:
+    QContactManager() { };
+	QContactManager(const QString &name) {Q_UNUSED(name) };
+    virtual ~QContactManager() {};
+
+public:
+ 
+	virtual QContact contact(const QContactLocalId& contactId) const
+	{
+	Q_UNUSED(contactId);
+	QContact cnt;
+	return cnt;
+	
+	};// retrieve a contact
+	
+	virtual QList<QContactLocalId> contacts(const QContactFilter& filter, 
+									 const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>()) const
+	{
+	Q_UNUSED(filter)
+	Q_UNUSED(sortOrders)
+	QList<QContactLocalId> list;
+	return list;
+	};
+
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactmanager_moc.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "qcontactmanager_moc.h"
+
+
+QContactManager_Moc::QContactManager_Moc()
+{   
+
+    mExpectedResult = -1;
+    qDebug()<<"QContactManager_Moc constructed";
+}
+
+QContactManager_Moc::~QContactManager_Moc()
+{
+    mList.clear();
+}
+
+/* get the contact*/
+QContact QContactManager_Moc::contact(const QContactLocalId& contactId) const
+{
+	Q_UNUSED(contactId)
+	return mContact;
+}
+
+/* match */
+QList<QContactLocalId> QContactManager_Moc::contacts(const QContactFilter& filter, 
+									 const QList<QContactSortOrder>& sortOrders) const
+{
+Q_UNUSED(filter)
+Q_UNUSED(sortOrders)
+
+	mList.clear();
+	qDebug()<<"Moc - mExpectedResult is: " << mExpectedResult;
+	if (mExpectedResult == 1)
+		{
+		mList << cnt1;
+		qDebug()<<"Moc - match == 1 - list count is: " << mList.count();
+		}
+	else if (mExpectedResult == 2)
+		{
+		mList << cnt1;
+		mList << cnt2;
+		}
+	return mList;
+}
+
+//--- moc functions
+
+void QContactManager_Moc::setExpectedResult(int matchNumber)
+    {
+    mExpectedResult = matchNumber;
+    qDebug()<<"Moc - mExpectedResult is: " << mExpectedResult;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactmanager_moc.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 QCONTACTMANAGER_MOC_H
+#define QCONTACTMANAGER_MOC_H
+
+#include <e32base.h>
+#include "qcontactmanager.h"
+#include <qtcontactsglobal.h>
+#include <QList>
+
+
+
+class QContactManager_Moc : public QContactManager
+{
+
+
+public:
+    QContactManager_Moc();
+    virtual ~QContactManager_Moc();
+    
+public:
+    
+	QContact contact(const QContactLocalId& contactId) const;
+	QList<QContactLocalId> contacts(const QContactFilter& filter, 
+									 const QList<QContactSortOrder>& sortOrders = QList<QContactSortOrder>()) const;
+    void setExpectedResult(int matchNumber);
+ 
+private:
+    int mExpectedResult;
+    mutable QList<QContactLocalId> mList;
+    QContactLocalId cnt1;
+    QContactLocalId cnt2;
+	QContact  mContact;
+    
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactname.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 QCONTACTNAME_H
+#define QCONTACTNAME_H
+
+#include <QString>
+
+#include "qtcontactsglobal.h"
+#include "qcontactdetail.h"
+#include "qcontact.h"
+
+class QContactName : public QContactDetail
+{
+public:
+
+    Q_DECLARE_CUSTOM_CONTACT_DETAIL(QContactName, "Name")
+    Q_DECLARE_LATIN1_LITERAL(FieldPrefix, "Prefix");
+    Q_DECLARE_LATIN1_LITERAL(FieldFirst, "First");
+    Q_DECLARE_LATIN1_LITERAL(FieldMiddle, "Middle");
+    Q_DECLARE_LATIN1_LITERAL(FieldLast, "Last");
+    Q_DECLARE_LATIN1_LITERAL(FieldSuffix, "Suffix");
+
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactphonenumber.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 QCONTACTPHONENUMBER_H
+#define QCONTACTPHONENUMBER_H
+
+#include <QString>
+
+#include "qcontactdetail.h"
+#include "qcontact.h"
+#include <qtcontactsglobal.h>
+
+
+/* Leaf class */
+//! [0]
+class QContactPhoneNumber : public QContactDetail
+{
+public:
+
+    Q_DECLARE_CUSTOM_CONTACT_DETAIL(QContactPhoneNumber, "PhoneNumber");
+    Q_DECLARE_LATIN1_LITERAL(FieldNumber, "PhoneNumber");
+    Q_DECLARE_LATIN1_LITERAL(FieldSubTypes, "SubTypes");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeLandline, "Landline");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeMobile, "Mobile");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeFacsimile, "Facsimile");
+    Q_DECLARE_LATIN1_LITERAL(SubTypePager, "Pager");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeVoice, "Voice");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeModem, "Modem");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeVideo, "Video");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeCar, "Car");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeBulletinBoardSystem, "BulletinBoardSystem");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeMessagingCapable, "MessagingCapable");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeAssistant, "Assistant");
+    Q_DECLARE_LATIN1_LITERAL(SubTypeDtmfMenu, "DtmfMenu");
+	
+
+};
+//! [0]
+
+#endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/mocks/qcontactsortorder.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 QCONTACTSORTORDER_H
+#define QCONTACTSORTORDER_H
+
+#include "qtcontactsglobal.h"
+
+#include <QString>
+#include <QList>
+
+
+class QContactSortOrder
+{
+public:
+    QContactSortOrder() {};
+    ~QContactSortOrder() {};
+
+
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/runtests.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,35 @@
+@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
+
+del \epoc32\winscw\c\private\e84eae66\u_testmatch2.log
+\epoc32\release\winscw\udeb\testmatch2.exe -o u_testmatch2.log
+type \epoc32\winscw\c\private\e84eae66\u_testmatch2.log
+
+del \epoc32\winscw\c\private\e39991fe\u_cphcntcontactidimpl2.log
+\epoc32\release\winscw\udeb\testcphcntcontactidimpl2.exe -o u_cphcntcontactidimpl2.log
+type \epoc32\winscw\c\private\e39991fe\u_cphcntcontactidimpl2.log
+
+del \epoc32\winscw\c\private\e38991fe\u_testfactoryimpl2.log
+\epoc32\release\winscw\udeb\testfactoryimpl2.exe -o u_testfactoryimpl2.log
+type \epoc32\winscw\c\private\e38991fe\u_testfactoryimpl2.log
+
+del \epoc32\winscw\c\private\e84eae56\u_testmatcherimpl2.log
+\epoc32\release\winscw\udeb\testmatcherimpl2.exe -o u_testmatcherimpl2.log
+type \epoc32\winscw\c\private\e84eae56\u_testmatcherimpl2.log
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntcontactidimpl2/testcphcntcontactidimpl2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,52 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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 Phone components
+#
+#
+
+include(..\common.pri)
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += .
+INCLUDEPATH += .
+INCLUDEPATH += ..\..\inc
+INCLUDEPATH += ..\mocks
+INCLUDEPATH += \epoc32\include\platform\mw \
+                   \epoc32\include\platform \
+                   \epoc32\include \
+                   \epoc32\include\platform\app \
+                   \epoc32\include\app
+               
+# Input
+HEADERS += ..\..\inc\cphcntcontactidimpl2.h
+HEADERS += ..\..\inc\cphcntfactoryimpl2.h
+HEADERS += ..\mocks\qcontactdetail.h
+HEADERS += ..\mocks\qcontact.h
+
+
+SOURCES += ..\..\src\cphcntcontactidimpl2.cpp
+SOURCES += u_cphcntcontactidimpl2.cpp
+SOURCES += ..\mocks\qcontactdetail_stub.cpp
+SOURCES += ..\mocks\qcontact_stub.cpp
+
+
+
+
+TARGET.CAPABILITY = ALL -TCB
+TARGET.UID3 = 0xe39991fe
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntcontactidimpl2/u_cphcntcontactidimpl2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtTest/QtTest>
+#include <QtGui>
+#include <QDebug>
+#include <e32base.h>
+#include <qcontactid.h>
+#include "qcontact.h"
+#include "cphcntcontactidimpl2.h"
+
+
+
+//---- test class
+
+class U_CPhCntContactIdImpl2: public QObject
+{
+Q_OBJECT
+
+public:
+    U_CPhCntContactIdImpl2();
+	~U_CPhCntContactIdImpl2();
+
+private slots:
+	void initTestCase();
+    void cleanupTestCase();
+    void testValidContact();
+    void testClone();
+    void testPackLC();
+    void testInvalidate();
+
+	
+private:
+	
+    QContact mContact;
+    CPhCntContactId* mContactId; //SUT 
+};
+
+
+
+U_CPhCntContactIdImpl2::U_CPhCntContactIdImpl2()
+    {
+
+    }
+
+U_CPhCntContactIdImpl2::~U_CPhCntContactIdImpl2()
+    {
+
+    }
+
+void U_CPhCntContactIdImpl2::initTestCase()
+    {
+    
+    TRAP_IGNORE( mContactId = CPhCntContactIdImpl2::NewL(mContact) );
+    }
+
+void U_CPhCntContactIdImpl2::cleanupTestCase()
+    {
+	delete mContactId;
+	
+    }
+
+void U_CPhCntContactIdImpl2::testValidContact()
+    {
+    Q_ASSERT(mContactId->IsValid());
+    Q_ASSERT(mContactId->ContactId() == mContact.localId()); 
+    }
+
+void U_CPhCntContactIdImpl2::testClone()
+    {
+     CPhCntContactId* clone = NULL;
+     clone = mContactId->CloneL();
+     Q_ASSERT(clone->ContactId() == mContactId->ContactId());
+     delete clone; 
+    }
+
+void U_CPhCntContactIdImpl2::testPackLC()
+    {
+    HBufC8* buf = NULL;
+    qDebug() << "mContactId->PackLC() calling";
+    TRAP_IGNORE( 
+        buf = mContactId->PackLC(); 
+        if (buf != NULL)
+            {
+            qDebug() << "mContactId->PackLC() done";
+            CleanupStack::Pop(buf);
+            TBuf8<100> buf1;
+            buf1.AppendNum(mContactId->ContactId());
+            Q_ASSERT(buf->Des() == buf1 );
+            delete buf;
+            buf = NULL;
+            }
+        else 
+            {
+            qDebug() << "mContactId->PackLC()returned NULL";
+            }
+    );
+    }
+ 
+void U_CPhCntContactIdImpl2::testInvalidate()
+    {
+    mContactId->Invalidate();
+    Q_ASSERT(!mContactId->IsValid());
+    Q_ASSERT(mContactId->ContactId() == KErrNotFound); 
+    Q_ASSERT(mContactId->PackLC() == NULL);
+    }
+
+QTEST_MAIN(U_CPhCntContactIdImpl2)
+#include "u_cphcntcontactidimpl2.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntfactoryimpl2/testfactoryimpl2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,60 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+include(..\common.pri)
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += .
+INCLUDEPATH += .
+INCLUDEPATH += ..\mocks
+INCLUDEPATH += ..\..\inc
+INCLUDEPATH += \epoc32\include\platform\mw \
+                   \epoc32\include\platform \
+                   \epoc32\include \
+                   \epoc32\include\platform\app \
+                   \epoc32\include\app
+               
+# Input
+HEADERS += ..\mocks\qcontactmanager.h
+HEADERS += ..\mocks\qcontactmanager_moc.h
+HEADERS += ..\mocks\qcontact.h
+HEADERS += ..\mocks\qcontactdetail.h
+HEADERS += ..\mocks\qcontactphonenumber.h
+HEADERS += ..\..\inc\cphcntmatcherimpl2.h
+HEADERS += ..\..\inc\cphcntmatch2.h
+HEADERS += ..\..\inc\cphcntcontactidimpl2.h
+HEADERS += ..\..\inc\cphcntfactoryimpl2.h
+
+SOURCES += ..\mocks\qcontactdetail_stub.cpp
+SOURCES += ..\mocks\qcontact_stub.cpp
+SOURCES += ..\mocks\qcontactmanager_moc.cpp
+SOURCES += ..\..\src\cphcntmatcherimpl2.cpp
+SOURCES += ..\..\src\cphcntmatch2.cpp
+SOURCES += ..\..\src\cphcntcontactidimpl2.cpp
+SOURCES += u_cphcntfactoryimpl2.cpp
+SOURCES += ..\..\src\cphcntfactoryimpl2.cpp
+
+
+
+
+TARGET.CAPABILITY = ALL -TCB
+TARGET.UID3 = 0xe38991fe
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntfactoryimpl2/u_cphcntfactoryimpl2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+#include <QDebug>
+#include <cprofilechangenotifyhandler.h>
+#include <mprofilechangeobserver.h>
+#include "cphcntfactoryimpl2.h"
+#include "cphcntmatcherimpl2.h"
+
+//---- test stub
+class CProfileChangeObserverImp: public CBase, public MProfileChangeObserver
+    {
+public:
+    static CProfileChangeObserverImp* NewL();
+    ~CProfileChangeObserverImp();
+    void HandleActiveProfileEventL(
+                TProfileEvent aProfileEvent, TInt aProfileId );
+private:
+    CProfileChangeObserverImp();
+        
+    };
+
+CProfileChangeObserverImp::CProfileChangeObserverImp()
+    {
+    }
+CProfileChangeObserverImp* CProfileChangeObserverImp::NewL()
+    {
+    CProfileChangeObserverImp* self = NULL;
+    self = new (ELeave) CProfileChangeObserverImp();
+    return self;
+    }
+
+CProfileChangeObserverImp::~CProfileChangeObserverImp()
+    {
+    }
+
+void CProfileChangeObserverImp::HandleActiveProfileEventL(
+        TProfileEvent /*aProfileEvent*/, TInt /*aProfileId*/)
+    {
+    
+    }
+
+//---- test class
+
+class U_CPhCntFactoryImpl2: public QObject
+{
+Q_OBJECT
+
+public:
+    U_CPhCntFactoryImpl2();
+	~U_CPhCntFactoryImpl2();
+
+private slots:
+	void initTestCase();
+    void cleanupTestCase();
+	void test_CreateContactMatcherL();
+	void test_CreateProfileEngineNotifyHandlerL();
+    void test_CreateContactId1L();
+    void test_CreateContactId2L();
+
+	
+private:
+	
+    CPhCntFactoryImpl2* mFactory; // implementation under test
+
+};
+
+U_CPhCntFactoryImpl2::U_CPhCntFactoryImpl2()
+{
+}
+
+U_CPhCntFactoryImpl2::~U_CPhCntFactoryImpl2()
+{
+}
+
+void U_CPhCntFactoryImpl2::initTestCase()
+{
+
+    TRAP_IGNORE( mFactory = CPhCntFactoryImpl2::NewL() );
+	
+}
+
+void U_CPhCntFactoryImpl2::cleanupTestCase()
+{
+	delete mFactory;
+}
+
+
+void U_CPhCntFactoryImpl2::test_CreateContactMatcherL()
+    {
+    CPhCntMatcher* matcher = NULL;
+    TRAP_IGNORE( matcher = mFactory->CreateContactMatcherL() );
+    Q_ASSERT(matcher);
+    delete matcher;   
+    }
+
+
+void U_CPhCntFactoryImpl2::test_CreateProfileEngineNotifyHandlerL()
+    {
+    CProfileChangeObserverImp* obs = NULL;
+    obs = CProfileChangeObserverImp::NewL();
+    CBase* engine = NULL;
+    TRAP_IGNORE( engine = mFactory->CreateProfileEngineNotifyHandlerL(obs) );
+    Q_ASSERT(engine);
+    delete engine;
+    delete obs;
+    }
+
+    
+void U_CPhCntFactoryImpl2::test_CreateContactId1L()
+    {
+    Q_ASSERT(!mFactory->CreateContactIdL(999));
+    }
+void U_CPhCntFactoryImpl2::test_CreateContactId2L()
+    {
+    Q_ASSERT(!mFactory->CreateContactIdL(_L8("abcd")));
+    }
+
+
+
+QTEST_MAIN(U_CPhCntFactoryImpl2)
+#include "u_cphcntfactoryimpl2.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/testmatch2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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(..\common.pri)
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += .
+INCLUDEPATH += .
+INCLUDEPATH += ..\..\inc
+INCLUDEPATH += \epoc32\include\platform\mw \
+                   \epoc32\include\platform \
+                   \epoc32\include \
+                   \epoc32\include\platform\app \
+                   \epoc32\include\app 
+               
+# Input
+HEADERS += ..\mocks\qcontact.h
+HEADERS += ..\mocks\qcontactdetail.h
+HEADERS += ..\..\inc\cphcntmatch2.h
+HEADERS += ..\..\inc\cphcntcontactidimpl2.h
+
+SOURCES += ..\mocks\qcontact_stub.cpp
+SOURCES += ..\mocks\qcontactdetail_stub.cpp
+SOURCES += ..\..\src\cphcntmatch2.cpp
+SOURCES += ..\..\src\cphcntcontactidimpl2.cpp
+SOURCES += u_cphcntmatch2.cpp
+
+
+TARGET.CAPABILITY = ALL -TCB
+TARGET.UID3 = 0xe84eae66
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatch2/u_cphcntmatch2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+#include <QDebug>
+#include <e32cmn.h> //KNullDesC
+#include "qcontact.h"
+#include "qcontactdetail.h"
+#include "qcontactname.h"
+#include "qcontactphonenumber.h"
+#include "cphcntmatch2.h"
+#include "cphcntcontactidimpl2.h"
+
+
+//---- test class
+
+class U_CPhCntMatch2: public QObject
+{
+Q_OBJECT
+
+public:
+    U_CPhCntMatch2();
+    ~U_CPhCntMatch2();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void testFirstNameEmpty();
+    void testFirstNameNotEmpty();
+    void testLastNameEmpty();
+    void testLastNameNotEmpty();
+    void testNumberEmpty();
+    void testNumberNotEmpty();
+    //void testSeveralFirstNames();
+    //void testEmptyList();
+    void testPhoneNumberOverride();
+    void testRelease();
+    void testCli();
+    void testContactId();
+    void testNumberType();
+    void testCompanyName();
+    void testPersonalRingingTone();
+    void testBelongsToGroups();
+    void testTextToSpeechText();
+    void testCallText();
+    void testCallImage();
+    void testHasThumbnailImage();
+    void testAllDtmfNumbers();
+    
+private:
+    
+    CPhCntMatch2* mMatch; // SUT 
+    MPhCntMatch* mMatchIf;
+    QContact mContact;
+    QContactDetail mDetail;
+  
+};
+
+//--- testing
+
+U_CPhCntMatch2::U_CPhCntMatch2()
+    {
+    }
+
+U_CPhCntMatch2::~U_CPhCntMatch2()
+    {
+
+    }
+
+void U_CPhCntMatch2::initTestCase()
+    {
+    TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+    mMatchIf = mMatch;
+    
+    }
+
+void U_CPhCntMatch2::cleanupTestCase()
+    {
+    delete mMatch;
+    }
+
+void U_CPhCntMatch2::testFirstNameEmpty()
+    {
+    QVariant name(""); 
+    mDetail.setValue(QContactName::FieldFirst,name);
+    bool err = mContact.saveDetail(&mDetail);
+    Q_ASSERT(mMatchIf->FirstName().Length() == 0);
+    // reset mDetail
+    mDetail.removeValue(QContactName::FieldFirst);
+    }
+
+void U_CPhCntMatch2::testFirstNameNotEmpty()
+    {
+     _LIT(KFirstName, "firstname");
+     QString name((QChar*)KFirstName().Ptr(),KFirstName().Length());
+     mDetail.setValue(QContactName::FieldFirst,name);
+     bool err = mContact.saveDetail(&mDetail);
+     delete mMatch;
+     TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+     mMatchIf = mMatch;
+     qDebug()<<"U_CPhCntMatch2 : mContact.details().count() " << mContact.details().count();
+     qDebug()<<"U_CPhCntMatch2 : mContact.details().at(0).value() " << mContact.details().at(0).value("");
+     HBufC* buf = NULL;
+     buf = mMatchIf->FirstName().AllocL();
+     QString qBuf((QChar*)buf->Ptr(),buf->Length());
+     qDebug()<<"mMatchIf->FirstName() returned...: " << qBuf;
+     Q_ASSERT( *buf == KFirstName()); 
+     delete buf;
+     // reset mDetail
+     mDetail.removeValue(QContactName::FieldFirst);
+    }
+
+void U_CPhCntMatch2::testLastNameEmpty()
+    {
+     QVariant name(""); 
+     mDetail.setValue(QContactName::FieldLast,name);
+     bool err = mContact.saveDetail(&mDetail);
+     delete mMatch;
+     TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+     mMatchIf = mMatch;
+     Q_ASSERT(mMatchIf->LastName().Length() == 0);
+     // reset mDetail
+     mDetail.removeValue(QContactName::FieldLast);
+    }
+
+
+void U_CPhCntMatch2::testLastNameNotEmpty()
+    {
+    _LIT(KLastName, "lastname");
+    QString name((QChar*)KLastName().Ptr(),KLastName().Length());
+    mDetail.setValue(QContactName::FieldLast,name);
+    bool err = mContact.saveDetail(&mDetail);
+    delete mMatch;
+    TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+    mMatchIf = mMatch;
+    HBufC* buf = NULL;
+    buf = mMatchIf->LastName().AllocL();
+    QString qBuf((QChar*)buf->Ptr(),buf->Length());
+    Q_ASSERT(*buf == KLastName());
+    delete buf;
+    qDebug()<<"testLastNameNotEmpty() -- exit ";
+    // reset mDetail
+    mDetail.removeValue(QContactName::FieldLast);
+    }
+
+void U_CPhCntMatch2::testNumberEmpty()
+    {
+    QVariant number(""); 
+    mDetail.setValue(QContactPhoneNumber::FieldNumber,number);
+    bool err = mContact.saveDetail(&mDetail);
+    delete mMatch;
+    TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+    mMatchIf = mMatch;
+    Q_ASSERT(mMatchIf->Number().Length() == 0);
+    // reset mDetail
+    mDetail.removeValue(QContactPhoneNumber::FieldNumber);
+    }
+    
+void U_CPhCntMatch2::testNumberNotEmpty()
+    {
+    _LIT(KNumber, "05012345678");
+    QString number((QChar*)KNumber().Ptr(),KNumber().Length());
+    mDetail.setValue(QContactPhoneNumber::FieldNumber,number);
+    bool err = mContact.saveDetail(&mDetail);
+    delete mMatch;
+    TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+    mMatchIf = mMatch;
+    HBufC* buf = NULL;
+    buf = mMatchIf->Number().AllocL();
+    QString qBuf((QChar*)buf->Ptr(),buf->Length());
+    Q_ASSERT(*buf == KNumber());
+    delete buf;
+    // reset mDetail
+    mDetail.removeValue(QContactPhoneNumber::FieldNumber);
+    }
+/*
+void U_CPhCntMatch2::testSeveralFirstNames() //in case pb returns bad variants
+    {
+    mDetail.setValue("Abba");
+    mList.clear();
+    mList << mDetail;
+    mList << mDetail;
+    mList << mDetail;
+    mContact.setDetails(mList);
+    delete mMatch;
+    TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+    mMatchIf = mMatch;
+    Q_ASSERT(mMatchIf->FirstName().Length() == 0);
+    }
+    
+void U_CPhCntMatch2::testEmptyList()
+    {
+    QList<QContactDetail> list;
+    mContact.setDetails(list);
+    delete mMatch;
+    TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+    mMatchIf = mMatch;
+    Q_ASSERT(mMatchIf->FirstName().Length() == 0);
+    }
+*/
+void U_CPhCntMatch2::testPhoneNumberOverride()
+    {
+    _LIT(KNumber, "05012345678");
+    _LIT(KNumberOverride, "888888888");
+    QString number((QChar*)KNumber().Ptr(),KNumber().Length());
+    mDetail.setValue(QContactPhoneNumber::FieldNumber,number);
+    bool err = mContact.saveDetail(&mDetail);
+    delete mMatch;
+    TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+    mMatch->SetNumberL(KNumberOverride());
+    mMatchIf = mMatch;
+    HBufC* buf = NULL;
+    buf = mMatchIf->Number().AllocL();
+    QString qBuf((QChar*)buf->Ptr(),buf->Length());
+    Q_ASSERT(*buf == KNumberOverride());
+    delete buf;
+    // reset mDetail
+    mDetail.removeValue(QContactPhoneNumber::FieldNumber);
+    }
+
+void U_CPhCntMatch2::testRelease()
+    {
+    _LIT(KNumber, "1234");
+    QVariant number("1234"); 
+    mDetail.setValue(QContactPhoneNumber::FieldNumber,number);
+    bool err = mContact.saveDetail(&mDetail);
+    delete mMatch;
+    TRAP_IGNORE( mMatch = CPhCntMatch2::NewL(mContact) );
+    mMatchIf = mMatch;
+    mMatchIf->Release();
+    Q_ASSERT(mMatchIf->Number() == KNumber());
+    // reset mDetail
+    mDetail.removeValue(QContactPhoneNumber::FieldNumber);
+    }
+
+void U_CPhCntMatch2::testCli()
+    {
+    HBufC* buf = NULL;
+    Q_ASSERT(mMatchIf->Cli(buf) == MPhCntMatch::ECliNumber );
+    }
+
+void U_CPhCntMatch2::testContactId()
+    {
+    CPhCntContactId* id = NULL;
+    id = mMatchIf->ContactId();
+    Q_ASSERT(id->ContactId()== mContact.localId());
+    }
+
+void U_CPhCntMatch2::testNumberType()
+    {
+    Q_ASSERT(mMatchIf->NumberType() == MPhCntMatch::EMobileNumber);
+    }
+
+void U_CPhCntMatch2::testCompanyName()
+    {
+    Q_ASSERT(mMatchIf->CompanyName().Length() == 0);
+    }
+
+void U_CPhCntMatch2::testPersonalRingingTone()
+    {
+    Q_ASSERT(mMatchIf->PersonalRingingTone().Length() == 0);
+    }
+
+void U_CPhCntMatch2::testBelongsToGroups()
+    {
+    CArrayFix<TContactItemId>* groups = NULL;
+    Q_ASSERT(mMatchIf->BelongsToGroups(*groups) == false);
+    }
+
+void U_CPhCntMatch2::testTextToSpeechText()
+    {
+    Q_ASSERT(mMatchIf->TextToSpeechTextL() == NULL);
+    }
+
+void U_CPhCntMatch2::testCallText()
+    {
+    Q_ASSERT(mMatchIf->CallText().Length() == 0);
+    }
+
+void U_CPhCntMatch2::testCallImage()
+    {
+    Q_ASSERT(mMatchIf->CallImage().Length() == 0);
+    }
+
+void U_CPhCntMatch2::testHasThumbnailImage()
+    {
+    Q_ASSERT(mMatchIf->HasThumbnailImage()== false);
+    }
+
+void U_CPhCntMatch2::testAllDtmfNumbers()
+    {
+    //dummy array for now
+    Q_ASSERT(mMatchIf->AllDtmfNumbers().Count() == 0);
+    }
+
+
+QTEST_MAIN(U_CPhCntMatch2)
+#include "u_cphcntmatch2.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatcherimpl2/testmatcherimpl2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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(..\common.pri)
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += .
+DEPENDPATH += ..\mocks
+INCLUDEPATH += .
+INCLUDEPATH += ..\mocks
+INCLUDEPATH += ..\..\inc
+INCLUDEPATH += \epoc32\include\platform\mw \
+                   \epoc32\include\platform \
+                   \epoc32\include\platform\app \
+                   \epoc32\include\app
+
+               
+# Input
+HEADERS += ..\mocks\qcontactmanager.h
+HEADERS += ..\mocks\qcontactmanager_moc.h
+HEADERS += ..\mocks\qcontactdetail.h
+HEADERS += ..\mocks\qcontact.h
+HEADERS += ..\..\inc\cphcntmatch2.h
+HEADERS += ..\..\inc\cphcntcontactidimpl2.h
+HEADERS += ..\..\inc\cphcntmatcherimpl2.h
+
+SOURCES += ..\..\src\cphcntmatch2.cpp
+SOURCES += ..\..\src\cphcntcontactidimpl2.cpp
+SOURCES += ..\..\src\cphcntmatcherimpl2.cpp
+SOURCES += ..\mocks\qcontactmanager_moc.cpp
+SOURCES += ..\mocks\qcontactdetail_stub.cpp
+SOURCES += ..\mocks\qcontact_stub.cpp
+SOURCES += u_cphcntmatcherimpl2.cpp
+
+
+
+TARGET.CAPABILITY = ALL -TCB
+TARGET.UID3 = 0xe84eae56
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonecntfinder2/tsrc/u_cphcntmatcherimpl2/u_cphcntmatcherimpl2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QtGui>
+#include <QtTest/QtTest>
+#include <QDebug>
+#include <qcontactfields.h>
+#include <qcontact.h>
+#include "qcontactmanager_moc.h"
+#include "cphcntmatch2.h"
+#include "cphcntcontactidimpl2.h"
+#include "cphcntmatcherimpl2.h"
+
+
+
+
+//---- test class
+
+class U_CPhCntMatcherImpl2: public QObject
+{
+Q_OBJECT
+
+public:
+    U_CPhCntMatcherImpl2();
+	~U_CPhCntMatcherImpl2();
+
+private slots:
+	void initTestCase();
+    void cleanupTestCase();
+    void test_MatchNumberFalse(); //test basic match
+    void test_MatchNumberExact(); //1 exact match
+    void test_MatchNumberSeveralReturned(); //returns 2 matches
+    void test_MatchNumber1(); //test match when contacid is given
+    void test_MatchNumber2(); //test match 3 overload
+    void test_MatchVoipNumber();
+    void test_MatchVoipNumber1(); // test 2nd overload
+    void test_HasCSNumbers();
+	void test_MatchNumberWithContactId(); //now happy day scenario, cannot test if the contact is valid
+	
+private:
+	
+    CPhCntMatcherImpl2* mMatcher; // implementation under test
+    QContactManager_Moc* mManager;
+
+};
+
+//--- testing
+
+U_CPhCntMatcherImpl2::U_CPhCntMatcherImpl2()
+    {
+    }
+
+U_CPhCntMatcherImpl2::~U_CPhCntMatcherImpl2()
+    {
+    }
+
+void U_CPhCntMatcherImpl2::initTestCase()
+    {
+    mManager = new QContactManager_Moc();
+    TRAP_IGNORE( mMatcher = CPhCntMatcherImpl2::NewL(mManager) ); //the ownership is transferred
+	
+    }
+
+void U_CPhCntMatcherImpl2::cleanupTestCase()
+    {
+	delete mMatcher;
+    }
+
+void U_CPhCntMatcherImpl2::test_MatchNumberFalse()
+    {
+    MPhCntMatch* match = NULL;
+    TInt err = KErrNotSupported;
+    mManager->setExpectedResult(0); //no match
+    _LIT(KNumber, "123456");
+    TRAP_IGNORE( err = mMatcher->MatchNumber(match, KNumber()) );
+    
+    Q_ASSERT(err == KErrNotFound);
+    Q_ASSERT(!match);
+    }
+
+void U_CPhCntMatcherImpl2::test_MatchNumberExact()
+    {
+    MPhCntMatch* match = NULL;
+    TInt err = KErrNotSupported;
+    mManager->setExpectedResult(1); //1 exact match
+    _LIT(KNumber, "123456");
+    TRAP_IGNORE( err = mMatcher->MatchNumber(match, KNumber()));
+     Q_ASSERT(err==KErrNone);
+     Q_ASSERT(match);
+    }
+void U_CPhCntMatcherImpl2::test_MatchNumberSeveralReturned()
+    {
+    MPhCntMatch* match = NULL;
+    TInt err = KErrNotSupported;
+    mManager->setExpectedResult(2); //2 matches returned
+    _LIT(KNumber, "123456");
+    TRAP_IGNORE( err = mMatcher->MatchNumber(match, KNumber()) );
+     Q_ASSERT(err==KErrNotFound);
+     Q_ASSERT(!match);   
+    }
+
+void U_CPhCntMatcherImpl2::test_MatchNumber1()
+    {
+    
+    MPhCntMatch* match = NULL;
+    TInt err = KErrNotFound;
+    _LIT(KNumber, "1234567890");
+    CPhCntContactIdImpl2* cnt = NULL;
+    QContact contact;
+    TRAP_IGNORE( cnt = CPhCntContactIdImpl2::NewL(contact) );
+    TRAP_IGNORE( err = mMatcher->MatchNumber(match, KNumber(), *cnt ) );
+    Q_ASSERT(err == KErrNone);
+    Q_ASSERT(!match);
+    delete cnt;
+    }
+
+void U_CPhCntMatcherImpl2::test_MatchNumber2()
+    {
+    MPhCntMatch* match = NULL;
+    TInt err = KErrNotFound;
+    TFieldId field (989);
+    _LIT(KNumber, "1234567890");
+    CPhCntContactIdImpl2* cnt = NULL;
+    QContact contact;
+    TRAP_IGNORE( cnt = CPhCntContactIdImpl2::NewL(contact) );
+    TRAP_IGNORE( err = mMatcher->MatchNumber(match, KNumber(), *cnt, field ) );
+    Q_ASSERT(err == KErrNone);
+    Q_ASSERT(!match);
+    delete cnt;
+    }
+
+
+void U_CPhCntMatcherImpl2::test_MatchVoipNumber()
+    {
+    MPhCntMatch* match = NULL;
+    TInt err = KErrNotSupported;
+    _LIT(KNumber, "sip:user@domain.com");
+    TRAP_IGNORE( err = mMatcher->MatchVoipNumber(match, KNumber(), ETrue) );
+    Q_ASSERT(err == KErrNotFound);
+    Q_ASSERT(!match);
+    }
+
+void U_CPhCntMatcherImpl2::test_MatchVoipNumber1()
+    {
+    MPhCntMatch* match = NULL;
+    TInt err = KErrNotSupported;
+    CPhCntContactIdImpl2* cnt = NULL;
+    QContact contact;
+    TRAP_IGNORE( cnt = CPhCntContactIdImpl2::NewL(contact) );  
+    TRAP_IGNORE( err = mMatcher->MatchVoipNumber(match, *cnt) );
+    Q_ASSERT(err == KErrNotFound);
+    Q_ASSERT(!match);
+    delete cnt;
+    }
+
+void U_CPhCntMatcherImpl2::test_HasCSNumbers()
+    {
+    CPhCntContactIdImpl2* cnt = NULL;
+    QContact contact;
+    TRAP_IGNORE(cnt = CPhCntContactIdImpl2::NewL(contact) );
+    TBool has = ETrue;
+    TRAP_IGNORE( has = mMatcher->HasCSNumbers(*cnt) );
+    Q_ASSERT(has==EFalse);
+    delete cnt;
+    }
+	
+void U_CPhCntMatcherImpl2::test_MatchNumberWithContactId()
+	{
+	 MPhCntMatch* match = NULL;
+    _LIT(KNumber, "123456");
+	 TInt id = 765;
+	 TInt err = KErrNotFound;
+	 TRAP_IGNORE( err = mMatcher->MatchNumber(match, KNumber(), id) );
+     Q_ASSERT(match);
+	 Q_ASSERT(match->Number() == KNumber());
+	 Q_ASSERT(err == KErrNone);
+
+	}
+
+QTEST_MAIN(U_CPhCntMatcherImpl2)
+#include "u_cphcntmatcherimpl2.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonemodel/api_headers.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+#
+
+PHONEENGINE_API_HEADERS = ./inc/pevirtualengine.h \
+                          ./inc/mpecallcontrolif.h \
+                          ./inc/mpecallsettersif.h \
+                          ./inc/telinternalcrkeys.h \
+                          ./inc/telinternalpskeys.h \
+                          ./inc/telinternalpstypes.h \
+                          ./inc/telephonyvariant.hrh \
+                          ./inc/cpephonemodelif.h \
+                          ./inc/mphonedevicemodeobserver.h \
+                          ./inc/mpephonemodelinternal.h \
+                          ./inc/mpeexternaldatahandler.h \
+                          ./inc/talogger.h \
+                          ./inc/pepanic.pan
Binary file phoneengine/phonemodel/conf/s60telephony.confml has changed
--- a/phoneengine/phonemodel/group/backup_registration.xml	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<!--  Backup registration file for Phone Engine cenrep keys  --> 
-<backup_registration version="1.0">
-    <proxy_data_manager sid = "0x10202BE9" />
-    <restore requires_reboot = "no"/>
-</backup_registration>
--- a/phoneengine/phonemodel/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PhoneModelGsm bld file
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// Internal headers
-../inc/telephonyvariant.hrh           |../../../inc/telephonyvariant.hrh
-../inc/telinternalcrkeys.h            |../../../inc/telinternalcrkeys.h 
-../inc/telinternalpskeys.h            |../../../inc/telinternalpskeys.h 
-../inc/telinternalpstypes.h           |../../../inc/telinternalpstypes.h 
-../inc/pevirtualengine.h              |../../../inc/pevirtualengine.h
-../inc/mphonedevicemodeobserver.h     |../../../inc/mphonedevicemodeobserver.h
-../inc/cpephonemodelif.h              |../../../inc/cpephonemodelif.h
-
-// Phoneengine subsystem exports
-../inc/mpeactivestarter.h             |../../inc/mpeactivestarter.h
-../inc/mpeexternaldatahandler.h       |../../inc/mpeexternaldatahandler.h
-../inc/mpephonemodelinternal.h        |../../inc/mpephonemodelinternal.h
-../inc/pepanic.pan                    |../../inc/pepanic.pan
-../inc/talogger.h                     |../../inc/talogger.h
-
-// Backup registration files
-backup_registration.xml /epoc32/data/z/private/1000a86c/backup_registration.xml
-backup_registration.xml /epoc32/release/winscw/udeb/z/private/1000a86c/backup_registration.xml
-backup_registration.xml /epoc32/release/winscw/urel/z/private/1000a86c/backup_registration.xml
-
-// SIS stubs
-../data/phonemodel_stub.sis         /epoc32/data/z/system/install/phonemodel_stub.sis
-
-// IBY files
-../rom/phonengengine.iby                        CORE_APP_LAYER_IBY_EXPORT_PATH(phonengengine.iby)
-// Generic configuration interface for component cenrep settings  
-../conf/s60telephony.confml                 APP_LAYER_CONFML(s60telephony.confml)
-../conf/s60telephony_japan.confml           CONFML_EXPORT_PATH(s60telephony_japan.confml,japan)
-../conf/s60telephony_101F87E3.crml 	        APP_LAYER_CRML(s60telephony_101F87E3.crml)
-../conf/s60telephony_102828B1.crml 	        APP_LAYER_CRML(s60telephony_102828B1.crml)
-../conf/s60telephony_102828B2.crml 	        APP_LAYER_CRML(s60telephony_102828B2.crml)
-../conf/s60telephony_102828B8.crml 	        APP_LAYER_CRML(s60telephony_102828B8.crml)
-../conf/s60telephony_102828F8.crml 	        APP_LAYER_CRML(s60telephony_102828F8.crml)
-../conf/s60telephony_102830B6.crml 	        APP_LAYER_CRML(s60telephony_102830B6.crml)
-../conf/s60telephony_2001B2E6.crml 	        APP_LAYER_CRML(s60telephony_2001B2E6.crml)
- 
-PRJ_MMPFILES
-phonemodel.mmp
-
-//  End of File
--- a/phoneengine/phonemodel/group/phonemodel.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* 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:  Project specification file for Phone Engine dll
-*
-*/
-
-#include <platform_paths.hrh>
-
-TARGET          phoneengine.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x1000A86C
-VENDORID		VID_DEFAULT
-
-CAPABILITY	CAP_GENERAL_DLL
-
-SOURCEPATH  ../src
-
-SOURCE      cpeaccessorymodemonitor.cpp
-SOURCE      cpeactivestarter.cpp
-SOURCE      cpeaudiooutputpreferencemonitor.cpp
-SOURCE      cpecalldurationdisplaysettingmonitor.cpp
-SOURCE      cpecenrepmonitor.cpp
-SOURCE      cpeclientcallrequestmonitor.cpp
-SOURCE      cpeclientcommandhandlermonitor.cpp
-SOURCE      cpeclientemergencycallmonitor.cpp
-SOURCE      cpeclientservices.cpp
-SOURCE      cpedevicemodehandler.cpp
-SOURCE      cpeexternaldatahandler.cpp
-SOURCE      cpeincallearvolumesettingmonitor.cpp
-SOURCE      cpeincallloudspeakervolumesettingmonitor.cpp
-SOURCE      cpemessagehandler.cpp
-SOURCE      cpenetworkregistrationstatusmonitor.cpp
-SOURCE      cpeprofilesettingmonitor.cpp
-SOURCE      cpepubsubmonitor.cpp
-SOURCE      cpetimer.cpp
-SOURCE      pepanic.cpp
-SOURCE      cpemanualcallcontrolhandler.cpp
-SOURCE      cpeidlestatusmonitor.cpp
-SOURCE      cpeparsermanufacturerhandler.cpp
-SOURCE      cpeparsermischandler.cpp
-SOURCE      cpeparserphonenumberhandler.cpp
-SOURCE      cpeparsersimcontrolhandler.cpp
-SOURCE      cpeparsersscallhandler.cpp
-SOURCE      cpeparsersshandler.cpp
-SOURCE      cpephonemodel.cpp
-SOURCE      cpephonemodelif.cpp
-SOURCE      cpesimstatemonitor.cpp
-SOURCE      cpepcnparserprocedurehandler.cpp
-SOURCE      cpeparseremergencynumberhandler.cpp
-SOURCE      cpeparservoipnumberhandler.cpp
-SOURCE      phoneengineproxy.cpp
-SOURCE      cperemotepartyinfomediator.cpp
-SOURCE      cperemotepartyinfoproxy.cpp
-SOURCE      tperemotepartyinfomediatorupdater.cpp
-
-USERINCLUDE     ../inc
-
-APP_LAYER_SYSTEMINCLUDE       // Application layer domain APIs
-SYSTEMINCLUDE   ../../inc     // Phone Engine private headers
-SYSTEMINCLUDE   ../../../inc  // Telephony internal headers
-SYSTEMINCLUDE   /epoc32/include/mmf/server
-SYSTEMINCLUDE   /epoc32/include/mmf/common
-
-LIBRARY     cce.lib
-LIBRARY     accclient.lib           // Accessory client
-LIBRARY     apgrfx.lib  
-LIBRARY     apparc.lib  
-LIBRARY     audiohandling.lib   
-LIBRARY     callhandling.lib
-LIBRARY     centralrepository.lib
-LIBRARY     commonengine.lib    
-LIBRARY     contacthandling.lib 
-LIBRARY     efsrv.lib
-LIBRARY     engineinfo.lib
-LIBRARY     etel.lib    
-LIBRARY     etelmm.lib  
-LIBRARY     euser.lib   
-LIBRARY     featmgr.lib 
-LIBRARY     flogger.lib 
-LIBRARY     loghandling.lib 
-LIBRARY     phoneparser.lib 
-LIBRARY     phonesettings.lib   
-LIBRARY     psui.lib    
-LIBRARY     secui.lib
-LIBRARY     sysutil.lib
-LIBRARY     ws32.lib
-LIBRARY     platformenv.lib // PathInfo
-LIBRARY     phoneclient.lib
-LIBRARY     profileeng.lib
-LIBRARY     bafl.lib                // Descriptor arrays
-LIBRARY     callprovider.lib
-LIBRARY     peservicehandling.lib
-LIBRARY     mediatorclient.lib
-LIBRARY     estor.lib
-
-LANG        SC
-
-START WINS
-BASEADDRESS 0x10030000
-END
--- a/phoneengine/phonemodel/inc/cpeactivestarter.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeactivestarter.h	Fri Mar 19 09:28:42 2010 +0200
@@ -98,7 +98,7 @@
         */
         CPEActiveStarter( MPEActiveStarter* aPEActiveStarter );
         
-    private:	//Data
+    private:    //Data
 
         // protocol specific active starter pointer
         MPEActiveStarter* iActiveStarter;
--- a/phoneengine/phonemodel/inc/cpecalldurationdisplaysettingmonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpecalldurationdisplaysettingmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -38,7 +38,7 @@
     static CPECallDurationDisplaySettingMonitor* NewL();
     ~CPECallDurationDisplaySettingMonitor();
 protected: // From base class
-	virtual void UpdateL();
+    virtual void UpdateL();
 protected:
     CPECallDurationDisplaySettingMonitor();
     void ConstructL();
--- a/phoneengine/phonemodel/inc/cpecenrepmonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpecenrepmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -65,7 +65,7 @@
         * this method. Most common approach would be to save the data to internal
         * data store and send a message via phone model if neccessary.
         */
-    	virtual void UpdateL() = 0;
+        virtual void UpdateL() = 0;
 
     public:
 
--- a/phoneengine/phonemodel/inc/cpeclientcallrequestmonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeclientcallrequestmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,7 @@
 
 //INCLUDES
 #include <e32base.h>
-#include <RPhCltServer.h>
+#include <rphcltserver.h>
 #include "mpeclientcallrequestmonitor.h"
 #include <mphcltdialrequestobserver.h>
 
@@ -116,7 +116,7 @@
         */
         void ConstructL();
     
-    private:	//Data
+    private:    //Data
         // MPEPhoneModelInternal is used to send message to the phone application
         MPEPhoneModelInternal& iModel;
         //  Notifies call request from the client/server interface.
--- a/phoneengine/phonemodel/inc/cpeclientcommandhandlermonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeclientcommandhandlermonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -22,9 +22,9 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <CPhCltCommandHandler.h>
-#include <CPhCltCallNotify.h>
-#include <RPhCltServer.h>
+#include <cphcltcommandhandler.h>
+#include <cphcltcallnotify.h>
+#include <rphcltserver.h>
 #include <pevirtualengine.h>
 #include <mphcltcomhandrequestobserver.h>
 
--- a/phoneengine/phonemodel/inc/cpeclientemergencycallmonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeclientemergencycallmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 
 //INCLUDES
 #include <e32base.h>
-#include <CPhCltEmergencyCall.h>
+#include <cphcltemergencycall.h>
 #include <mphcltdialemergencyrequestobserver.h>
 #include "mpeclientcallrequestmonitor.h"
 
@@ -118,7 +118,7 @@
         */
         void ConstructL();
     
-    private:	//Data
+    private:    //Data
         // MPEPhoneModelInternal is used to send message to the phone application
         MPEPhoneModelInternal& iModel;
         //  Notifies call request from the client/server interface.
--- a/phoneengine/phonemodel/inc/cpeclientservices.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeclientservices.h	Fri Mar 19 09:28:42 2010 +0200
@@ -22,8 +22,8 @@
 
 //INCLUDES
 #include <e32base.h>
-#include <RPhCltServer.h>
-#include  <CPhCltEmergencyCall.h>
+#include <rphcltserver.h>
+#include  <cphcltemergencycall.h>
 
 
 // FORWARD DECLARATIONS
@@ -62,11 +62,11 @@
         /**
         * Two-phased constructor.
         */
-		 static CPEClientServices* NewL(
+         static CPEClientServices* NewL(
              MPEPhoneModelInternal& aModel,
              CPEMessageHandler& aMessageHandler, 
              MPECallHandling& aCallHandling,
-             CPEManualCallControlHandler& aManualCallControlHandler );	
+             CPEManualCallControlHandler& aManualCallControlHandler );  
         
     public:    //New functions
 
@@ -117,7 +117,7 @@
         void ConstructL();
 
 
-    private:	//Data
+    private:    //Data
         // MPEPhoneModelInternal is used to send message to the phone application
         MPEPhoneModelInternal& iModel;
         // CPEMessageHandler object which owns this requester.
--- a/phoneengine/phonemodel/inc/cpedevicemodehandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpedevicemodehandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,9 @@
 
 //  INCLUDES
 #include <e32base.h>
+// <-- QT PHONE START --> 
 #include <mphonedevicemodeobserver.h>
+// <-- QT PHONE END --> 
 
 // FORWARD DECLARATIONS
 class MPECallHandling;
@@ -70,7 +72,7 @@
         /**
         * Constructor.
         */
-		CPEDeviceModeHandler(           
+        CPEDeviceModeHandler(           
             MPECallHandling& aCallHandling,
             CPEMessageHandler& aMessageHandler );
 
--- a/phoneengine/phonemodel/inc/cpeincallearvolumesettingmonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeincallearvolumesettingmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -41,7 +41,7 @@
 public:
     TInt Set( TInt aValue );
 protected: // From base class
-	virtual void UpdateL();
+    virtual void UpdateL();
 protected:
     CPEIncallEarVolumeSettingMonitor( MPEPhoneModelInternal& aModel );
     void ConstructL();    
--- a/phoneengine/phonemodel/inc/cpeincallloudspeakervolumesettingmonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeincallloudspeakervolumesettingmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -42,7 +42,7 @@
 public:
     TInt Set( TInt aValue );
 protected: // From base class
-	virtual void UpdateL();
+    virtual void UpdateL();
 protected:
     CPEIncallLoudspeakerVolumeSettingMonitor( MPEPhoneModelInternal& aModel );
     void ConstructL();    
--- a/phoneengine/phonemodel/inc/cpemanualcallcontrolhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpemanualcallcontrolhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 #define CPEMANUALCALLCONTROLHANDLER_H
 
 //  INCLUDES
-#include <CPhCltCommandHandler.h>
+#include <cphcltcommandhandler.h>
 
 // CONSTANTS
 // None.
@@ -138,8 +138,8 @@
         /**
         * C++ default constructor.
         */
-		CPEManualCallControlHandler( MPECallHandling& aCallHandling, 
-		        CPEMessageHandler& aMessageHandler,
+        CPEManualCallControlHandler( MPECallHandling& aCallHandling, 
+                CPEMessageHandler& aMessageHandler,
                 MPEDataStore& aDataStore );
     
     protected:  // Data
--- a/phoneengine/phonemodel/inc/cpemessagehandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpemessagehandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -23,10 +23,13 @@
 //  INCLUDES
 #include <pevirtualengine.h>
 #include "DosSvrServices.h"
-#include <CPhCltCommandHandler.h>
+#include <cphcltcommandhandler.h>
 #include <cphcltdialdata.h>
 
 #include "mpecallhandling.h"
+// <-- QT PHONE START -->
+#include "mpecallcontrolif.h" 
+// <-- QT PHONE END --> 
 
 // CONSTANTS
 const TInt KModeNormal = 0;  // Normal System mode  
@@ -104,7 +107,9 @@
 *  @lib phoneenginebase.dll
 *  @since S60_5.0
 */
-NONSHARABLE_CLASS( CPEMessageHandler ) : public CBase
+// <-- QT PHONE START --> 
+NONSHARABLE_CLASS( CPEMessageHandler ) : public CBase, public MPECallControlIF
+// <-- QT PHONE END --> 
     {
     public:  // Destructor
 
@@ -504,11 +509,10 @@
         TInt HandleServiceEnabled();
         
         /**
-         * Handles remote party information changed   
-         * @param aCallId is the identification number of the call.               
+         * Handles remote party information changed         
          * @since Series60_5.2         
          */
-        void HandleRemotePartyInfoChanged( const TInt aCallId );
+        void HandleRemotePartyInfoChanged( );
 
         /**
         * Handles swap message from the phone application 
@@ -592,7 +596,15 @@
         * Handle disable service
         */     
         void HandleDisableService();
-   
+
+// <-- QT PHONE START -->   
+        /**
+        * Handle dial service call
+        */ 
+        TInt HandleDialServiceCall(
+            const TBool aClientCall );
+// <-- QT PHONE END -->
+        
     private: // New functions
         
         /**
@@ -826,8 +838,8 @@
         //Client Information, member variable because emergency call from phone client
         //is not allowed to allocate memory. 
         CPEClientInformation* iClientInformation;
-		// Dial Data
-		CPhCltDialData* iClientDialData;
+        // Dial Data
+        CPhCltDialData* iClientDialData;
         // Instances will contain the results of the parsing
         CPhoneGsmParserResult* iResult;
         // Handles emergency number from the parser.
--- a/phoneengine/phonemodel/inc/cpeparseremergencynumberhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeparseremergencynumberhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 #define CPEPARSEREMERGENCYNUMBERHANDLER_H
 
 //  INCLUDES
-#include <CPhoneGsmEmergencyNumberHandler.h>
+#include <cphonegsmemergencynumberhandler.h>
 #include <pevirtualengine.h>
 
 // CONSTANTS
--- a/phoneengine/phonemodel/inc/cpeparsermanufacturerhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeparsermanufacturerhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -21,7 +21,7 @@
 #define CPEPARSERMANUFACTURERHANDLER_H
 
 //INCLUDES
-#include <CPhoneGsmManufacturerHandler.h>
+#include <cphonegsmmanufacturerhandler.h>
 #include <pevirtualengine.h>
 
 // CONSTANTS
--- a/phoneengine/phonemodel/inc/cpeparsermischandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeparsermischandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  This file contains the header file of the CPhoneGsmMiscHandler 
-*		 		 class
+*                class
 *
 */
 
@@ -21,7 +21,7 @@
 #define CPEPARSERMISCHANDLER_H
 
 //INCLUDES
-#include "CPhoneGsmMiscHandler.h"
+#include "cphonegsmmischandler.h"
 #include <pevirtualengine.h>
 
 // CONSTANTS
--- a/phoneengine/phonemodel/inc/cpeparserphonenumberhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeparserphonenumberhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 #define CPEPARSERPHONENUMBERHANDLER_H
 
 //  INCLUDES
-#include <CPhoneGsmPhoneNumberHandler.h>
+#include <cphonegsmphonenumberhandler.h>
 #include <pevirtualengine.h>
 
 // CONSTANTS
--- a/phoneengine/phonemodel/inc/cpeparsersimcontrolhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeparsersimcontrolhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -21,7 +21,7 @@
 #define CPEPARSERSIMCONTROLHANDLER_H
 
 //INCLUDES
-#include <CPhoneGsmSimControlHandler.h>
+#include <cphonegsmsimcontrolhandler.h>
 #include <pevirtualengine.h>
 
 // CONSTANTS
--- a/phoneengine/phonemodel/inc/cpeparsersscallhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeparsersscallhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  This file contains the header file of the CPEParserSSCallHandler 
-*		 		 class
+*                class
 *
 */
 
@@ -21,7 +21,7 @@
 #define CPEPARSERSSCALLHANDLER_H
 
 //INCLUDES
-#include <CPhoneGsmSsCallHandler.h>
+#include <cphonegsmsscallhandler.h>
 #include <pevirtualengine.h>
 
 // CONSTANTS
--- a/phoneengine/phonemodel/inc/cpeparsersshandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeparsersshandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -22,10 +22,10 @@
 #define CPEPARSERSSHANDLER_H
 
 //  INCLUDES
-#include <CPhoneGsmSsHandler.h>
+#include <cphonegsmsshandler.h>
 #include <pevirtualengine.h>
 #include <nwdefs.h>
-#include <MPsetRequestObs.h>
+#include <mpsetrequestobs.h>
 
 // FORWARD DECLARATIONS
 class CPEMessageHandler;
--- a/phoneengine/phonemodel/inc/cpeparservoipnumberhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpeparservoipnumberhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 #define CPEPARSERVOIPNUMBERHANDLER_H
 
 //  INCLUDES
-#include <CPhoneVoipNumberHandler.h>
+#include <cphonevoipnumberhandler.h>
 #include <pevirtualengine.h>
 
 // CONSTANTS
@@ -92,7 +92,7 @@
         * @return modified postfix.
         */
        TPtrC FilterPostfix( TPtrC aPostfix );
-		
+        
         /**
         * C++ default constructor.
         */
--- a/phoneengine/phonemodel/inc/cpepcnparserprocedurehandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpepcnparserprocedurehandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,7 @@
 #define CPEPCNPARSERPROCEDUREHANDLER_H
 
 //  INCLUDES
-#include    <CPhoneGsmPcnProcedureHandler.h>
+#include    <cphonegsmpcnprocedurehandler.h>
 #include    "pevirtualengine.h"
 
 // CONSTANTS
@@ -48,7 +48,7 @@
 // It is handler for GsmPcn procedures.
 
 NONSHARABLE_CLASS( CPEPcnParserProcedureHandler )
-		:public CPhoneGsmPcnProcedureHandler
+        :public CPhoneGsmPcnProcedureHandler
     {
     public:  //Constructors and descructor    
 
@@ -107,18 +107,18 @@
         * C++ default constructor.
         */
         CPEPcnParserProcedureHandler
-			( 
-			CPEMessageHandler& aOwner,  
-			MPEPhoneModelInternal& aModel
-			);
+            ( 
+            CPEMessageHandler& aOwner,  
+            MPEPhoneModelInternal& aModel
+            );
 
 
     private:    
         // CPEGsmMessageHandler object which owns this requester.
         CPEMessageHandler& iOwner;
-		// Contains information of the Suplementary Services command.
-		TPESSCommandInfo iSupplementaryServicesCommandInfo;
-		//MPEPhoneModelInternal is used to send message to the phone application
+        // Contains information of the Suplementary Services command.
+        TPESSCommandInfo iSupplementaryServicesCommandInfo;
+        //MPEPhoneModelInternal is used to send message to the phone application
         MPEPhoneModelInternal& iModel;
         // Security model
         CManualSecuritySettings* iSecurityModel;
--- a/phoneengine/phonemodel/inc/cpephonemodel.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpephonemodel.h	Fri Mar 19 09:28:42 2010 +0200
@@ -46,6 +46,10 @@
 class CPEAudioFactory;
 class MPEServiceHandling;
 class CPERemotePartyInfoMediator;
+// <-- QT PHONE START --> 
+class PhoneServices;
+class ParserRecognizer;
+// <-- QT PHONE END --> 
 
 // CLASS DECLARATION
 
@@ -76,6 +80,10 @@
             EPELogHandlingPhaseTwo,
             EPEContactHandlingPhaseTwo,
             EPEMediatorCommandHandler
+// <-- QT PHONE START --> 
+           ,EPEPhoneServices
+           ,EPEParserRecognizer
+// <-- QT PHONE END --> 
             };
 
         /**
@@ -321,6 +329,12 @@
         
         // Mediator command handler
         CPERemotePartyInfoMediator* iMediatorCommunicationHandler;
+        
+// <-- QT PHONE START --> 
+        // Phone Services offered via Qt Highway
+        PhoneServices* iPhoneServices;
+        ParserRecognizer* iParserRecognizer;
+// <-- QT PHONE END --> 
 
     };
 
--- a/phoneengine/phonemodel/inc/cpepubsubmonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpepubsubmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -69,7 +69,7 @@
         * this method. Most common approach would be to save the data to internal
         * data store and send a message via phone model if neccessary.
         */
-    	virtual void UpdateL() = 0;
+        virtual void UpdateL() = 0;
 
     public:
 
--- a/phoneengine/phonemodel/inc/cpesettingscommand.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpesettingscommand.h	Fri Mar 19 09:28:42 2010 +0200
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  This file contains the header file of the CPESettingsCommand.h 
-*		 		 object.
+*                object.
 *
 */
 
@@ -23,10 +23,10 @@
 
 //  INCLUDES
 #include <e32base.h>
-#include <NwDefs.h>
-#include "PEPanic.pan"
-#include "PEVirtualEngine.h"
-#include <MSSSettingsObserver.h>
+#include <nwdefs.h>
+#include "pepanic.pan"
+#include "pevirtualengine.h"
+#include <msssettingsobserver.h>
 
 
 // FORWARD DECLARATIONS
--- a/phoneengine/phonemodel/inc/cpesimstatemonitor.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/cpesimstatemonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -45,10 +45,10 @@
 
     // Monitored Sim event given to constructor
     enum TEvent
-	    {
-	    EEventSimStatus,
-	    EEventSimChanged
-	    };
+        {
+        EEventSimStatus,
+        EEventSimChanged
+        };
 
     public: // Constructors and destructor
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonemodel/inc/mpecallcontrolif.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,59 @@
+/*
+* 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 the interface for dialling a phone call.
+*
+*/
+
+#ifndef MPECALLCONTROLIF_H
+#define MPECALLCONTROLIF_H
+
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+/**
+*  Dials a phone call. 
+* 
+*  @lib phoneengine.lib
+*  @since S60_10.1
+*/
+NONSHARABLE_CLASS( MPECallControlIF ) 
+{
+    public:    //New functions
+
+        /**
+        * Dials a phone call.
+        * @param aClientCall, Informs is the current call client originated or not.
+        *                     By default not client originated.
+        * @return Return possible error code.
+        */
+        virtual TInt HandleDialServiceCall( 
+                const TBool aClientCall = EFalse ) = 0;        
+
+        /**
+        * Starts tone playing. 
+        */
+        virtual void HandlePlayDTMFL() = 0;
+
+        /**
+        * Stops tone playing. 
+        * @return error code.
+        */
+        virtual TInt HandleEndDTMF() = 0;
+
+    };
+
+#endif // MPECALLCONTROLIF_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonemodel/inc/mpecallsettersif.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,73 @@
+/*
+* 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 the interface for setters needed needed for dialling a phone call.
+*
+*/
+
+#ifndef MPECALLSETTERSIF_H
+#define MPECALLSETTERSIF_H
+
+// INCLUDES
+#include <pevirtualengine.h>
+
+// CLASS DECLARATION
+
+/**
+*  Call for setting needed parameters before making a phone call.
+* 
+*  @lib phoneengine.lib
+*  @since S60_10.1
+*/
+NONSHARABLE_CLASS( MPECallSettersIF ) 
+{
+    public:    //New functions
+
+        /**
+        * Sets key code value to TPEBasicInfo-structure
+        * @param aKeyCode is the key code value.
+        * @return None.
+        */
+        virtual void SetKeyCode( const TChar& aKeyCode ) = 0; 
+
+        /**
+        * Sets phone number to TPECallCommandInfo-structure
+        * @param aPhoneNumber is the phone number
+        * @return None.
+        */
+        virtual void SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber ) = 0;
+
+        /**
+        * Sets call type information for following command message
+        * Used for specifying the call type of the next attempted call
+        * @param aCallType is the call type of the next attempted call
+        */
+        virtual void SetCallTypeCommand( const TPECallType& aCallType ) =  0;
+        
+        /**
+        * Sets call Phonebook contact identifier.
+        * @param aContactId is the contact identifier for a call
+        */
+        virtual void SetContactId2( const TInt aContactId ) = 0;
+        
+        /**
+        * Sets service identifier.
+        * @param aServiceId service id
+        */
+        virtual void SetServiceIdCommand( TUint32 aServiceId ) = 0;
+
+    };
+
+#endif // MPECALLSETTERSIF_H
+
+// End of File
--- a/phoneengine/phonemodel/inc/pevirtualengine.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/pevirtualengine.h	Fri Mar 19 09:28:42 2010 +0200
@@ -28,11 +28,11 @@
 #include <fbs.h>
 #include <mccecall.h>
 #include <mmtsy_names.h>
-#include <NetworkHandlingDomainPSKeys.h>
-#include <PhCltTypes.h>
+#include <networkhandlingdomainpskeys.h>
+#include <phclttypes.h>
 #include <Profile.hrh>
 #include <rmmcustomapi.h>
-#include <RSSSettings.h>
+#include <rsssettings.h>
 #include <sysutil.h>
 
 
@@ -99,8 +99,8 @@
 // Lifetimer data in hours and minutes
 NONSHARABLE_STRUCT( TPELifeTimeData )                      
     {
-	TUint32 iHours;                         //range 0-999999 
-	TUint8 iMinutes;                        //range 0-59
+    TUint32 iHours;                         //range 0-999999 
+    TUint8 iMinutes;                        //range 0-59
     };
 
 // Used when initializing number variables with non negative value range.
@@ -231,13 +231,13 @@
 
 NONSHARABLE_STRUCT( TPEErrorInfo )
     {
-	//Symbian OS error code
-	TInt iErrorCode;
-	//Call Id number, equals KPECallIdNotUsed if call id is not available or is
-	//invalid for this error condition
-	TInt iCallId;
-	// Error type( Cch or Ccp )
-	TPEErrorType iErrorType;
+    //Symbian OS error code
+    TInt iErrorCode;
+    //Call Id number, equals KPECallIdNotUsed if call id is not available or is
+    //invalid for this error condition
+    TInt iCallId;
+    // Error type( Cch or Ccp )
+    TPEErrorType iErrorType;
     };
     
 enum TPECallType
@@ -312,27 +312,27 @@
 NONSHARABLE_STRUCT( TPEVoiceMailBoxNumberInfo )
     {
     TPEPhoneNumber iVMBXL1; // Line 1 VoiceMailBoxNumber
-	TPEPhoneNumber iVMBXL2; // Line 2 VoiceMailBoxNumber
-	TPEPhoneNumber iDTMFVMBXL1; // Line 1 DTMFVoiceMailBoxNumber
-	TPEPhoneNumber iDTMFVMBXL2; // Line 2 DTMFVoiceMailBoxNumber
+    TPEPhoneNumber iVMBXL2; // Line 2 VoiceMailBoxNumber
+    TPEPhoneNumber iDTMFVMBXL1; // Line 1 DTMFVoiceMailBoxNumber
+    TPEPhoneNumber iDTMFVMBXL2; // Line 2 DTMFVoiceMailBoxNumber
     };
 
 
 // Contains information of PhoneIdentity paramteres
 NONSHARABLE_STRUCT( TPEPhoneIdentityParameters )
     {
-	TPEManufacturer iManufacturer;
-	TPEModel iModel;
-	TPERevision iRevision;
-	TPESerialNumber iSerialNumber;
+    TPEManufacturer iManufacturer;
+    TPEModel iModel;
+    TPERevision iRevision;
+    TPESerialNumber iSerialNumber;
     };
 
 // Contains information of call audio route parameters
 NONSHARABLE_STRUCT( TPEPhoneAudioRouteParameters )
     {
-	TPEAudioOutput iAudioOutput;
-	TPEAudioOutput iPreviousOutput;
-	TBool iShowNote;
+    TPEAudioOutput iAudioOutput;
+    TPEAudioOutput iPreviousOutput;
+    TBool iShowNote;
     };
 
 // Enumerate definitions for MMI Service Codes from MMETel API:
@@ -419,8 +419,7 @@
 
         EPEMessageRemoteForwarding,
         EPEMessageMovedPermanently,        
-        EPEMessageMultipleChoices,     
-        EPEMessageColpNumberAvailable,
+        EPEMessageMultipleChoices,        
 
         // Contact messages                   3000 - 3999
         EPEMessageThumbnailLoadingCompleted  = 3000,
@@ -846,7 +845,9 @@
 
         EPEMessageDoUnattendedTransfer,
         EPEMessageForwardCallToAddress,
-
+// <-- QT PHONE START --> 
+        EPEMessageDialServiceCall,
+// <-- QT PHONE END --> 
         // Contact messages                   3000 - 3999
 
         // Error messages                     4000 - 4999
--- a/phoneengine/phonemodel/inc/telephonyvariant.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/telephonyvariant.hrh	Fri Mar 19 09:28:42 2010 +0200
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:  The file contains values for shared data keys specifying
-*  		telephony specific software settings. 
+*       telephony specific software settings. 
 *
 *
 */
--- a/phoneengine/phonemodel/inc/telinternalpskeys.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/inc/telinternalpskeys.h	Fri Mar 19 09:28:42 2010 +0200
@@ -60,14 +60,14 @@
 * Telephony Audio Preference API UID 
 *****************************************************************************/
 const TUid KPSUidTelAudioPreference = {0x102029A4};
-	
+    
 /**
 * Indicates the in call audio routing
 * preference to the phone (public/private)
 * This key has two special values, see EPSTelAudioOutput.
 * 
 * @type RProperty::EInt
-*/			
+*/          
 const TUint32 KTelAudioOutput = 0x00000001;
 enum EPSTelAudioOutput
     {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phonemodel/phonemodel.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,183 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = lib
+TARGET = phoneengine
+
+
+symbian {
+    TARGET.UID3 = 0x1000A86C
+    TARGET.VID = VID_DEFAULT
+    TARGET.CAPABILITY = ALL -TCB
+    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE 
+    INCLUDEPATH += ../../inc \
+                   ../inc \
+                   ../phoneservices/inc \
+                   ../parserrecognizer/inc \
+                   
+    engineDefFiles = \
+        "$${LITERAL_HASH}ifdef WINSCW" \
+        "DEFFILE bwins/phoneengine.def" \
+        "$${LITERAL_HASH}else" \
+        "DEFFILE eabi/phoneengine.def" \
+        "$${LITERAL_HASH}endif"
+    
+    MMP_RULES += engineDefFiles
+
+    LIBS += -lcce \
+            -lAccClient \
+            -lapgrfx \
+            -lapparc \
+            -laudiohandling \
+            -lcallhandling \
+            -lcentralrepository \
+            -lcommonEngine \
+            -lcontacthandling \
+            -lefsrv \
+            -letel \
+            -letelmm \
+            -leuser \
+            -lFeatMgr \
+            -lflogger \
+            -lloghandling \
+            -lphoneparser \
+            -lphonesettings \
+            -lPsui \
+            -lsecui \
+            -lSysUtil \
+            -lws32 \
+            -lPlatformEnv \
+            -lPhoneClient \
+            -lprofileeng \
+            -lbafl \
+            -lcallprovider \
+            -lpeservicehandling \
+            -lphoneservices \
+            -lengineinfo \
+            -lparserrecognizer \
+            -lmediatorclient \
+            -lestor       
+    TARGET.EPOCALLOWDLLDATA =1
+    
+}
+
+HEADERS += ./inc/cpeaccessorymodemonitor.h
+HEADERS += ./inc/cpeactivestarter.h
+HEADERS += ./inc/cpeaudiooutputpreferencemonitor.h
+HEADERS += ./inc/cpecalldurationdisplaysettingmonitor.h
+HEADERS += ./inc/cpecenrepmonitor.h
+HEADERS += ./inc/cpeclientcallrequestmonitor.h
+HEADERS += ./inc/cpeclientcommandhandlermonitor.h
+HEADERS += ./inc/cpeclientemergencycallmonitor.h
+HEADERS += ./inc/cpeclientservices.h
+HEADERS += ./inc/cpedevicemodehandler.h
+HEADERS += ./inc/cpeexternaldatahandler.h
+HEADERS += ./inc/cpeidlestatusmonitor.h
+HEADERS += ./inc/cpeincallearvolumesettingmonitor.h
+HEADERS += ./inc/cpeincallloudspeakervolumesettingmonitor.h
+HEADERS += ./inc/cpemanualcallcontrolhandler.h
+HEADERS += ./inc/cpemessagehandler.h
+HEADERS += ./inc/cpemessagehandler.inl
+HEADERS += ./inc/cpenetworkregistrationstatusmonitor.h
+HEADERS += ./inc/cpeparseremergencynumberhandler.h
+HEADERS += ./inc/cpeparsermanufacturerhandler.h
+HEADERS += ./inc/cpeparsermischandler.h
+HEADERS += ./inc/cpeparserphonenumberhandler.h
+HEADERS += ./inc/cpeparsersimcontrolhandler.h
+HEADERS += ./inc/cpeparsersscallhandler.h
+HEADERS += ./inc/cpeparsersshandler.h
+HEADERS += ./inc/cpeparservoipnumberhandler.h
+HEADERS += ./inc/cpepcnparserprocedurehandler.h
+HEADERS += ./inc/cpephonemodel.h
+HEADERS += ./inc/cpephonemodelif.h
+HEADERS += ./inc/cpeprofilesettingmonitor.h
+HEADERS += ./inc/cpepubsubmonitor.h
+HEADERS += ./inc/cpesettingscommand.h
+HEADERS += ./inc/cpesimstatemonitor.h
+HEADERS += ./inc/cpetimer.h
+HEADERS += ./inc/mpeactivestarter.h
+HEADERS += ./inc/mpecallcontrolif.h
+HEADERS += ./inc/mpecallsettersif.h
+HEADERS += ./inc/mpeclientcallrequestmonitor.h
+HEADERS += ./inc/mpeexternaldatahandler.h
+HEADERS += ./inc/mpephonemodelinternal.h
+HEADERS += ./inc/mphonedevicemodeobserver.h
+HEADERS += ./inc/pepanic.pan
+HEADERS += ./inc/pevirtualengine.h
+HEADERS += ./inc/talogger.h
+HEADERS += ./inc/telephonyvariant.hrh
+HEADERS += ./inc/telinternalcrkeys.h
+HEADERS += ./inc/telinternalpskeys.h
+HEADERS += ./inc/telinternalpstypes.h
+
+SOURCES += ./src/cpeaccessorymodemonitor.cpp
+SOURCES += ./src/cpeactivestarter.cpp
+SOURCES += ./src/cpeaudiooutputpreferencemonitor.cpp
+SOURCES += ./src/cpecalldurationdisplaysettingmonitor.cpp
+SOURCES += ./src/cpecenrepmonitor.cpp
+SOURCES += ./src/cpeclientcallrequestmonitor.cpp
+SOURCES += ./src/cpeclientcommandhandlermonitor.cpp
+SOURCES += ./src/cpeclientemergencycallmonitor.cpp
+SOURCES += ./src/cpeclientservices.cpp
+SOURCES += ./src/cpedevicemodehandler.cpp
+SOURCES += ./src/cpeexternaldatahandler.cpp
+SOURCES += ./src/cpeincallearvolumesettingmonitor.cpp
+SOURCES += ./src/cpeincallloudspeakervolumesettingmonitor.cpp
+SOURCES += ./src/cpemessagehandler.cpp
+SOURCES += ./src/cpenetworkregistrationstatusmonitor.cpp
+SOURCES += ./src/cpeprofilesettingmonitor.cpp
+SOURCES += ./src/cpepubsubmonitor.cpp
+SOURCES += ./src/cpetimer.cpp
+SOURCES += ./src/pepanic.cpp
+SOURCES += ./src/cpemanualcallcontrolhandler.cpp
+SOURCES += ./src/cpeidlestatusmonitor.cpp
+SOURCES += ./src/cpeparsermanufacturerhandler.cpp
+SOURCES += ./src/cpeparsermischandler.cpp
+SOURCES += ./src/cpeparserphonenumberhandler.cpp
+SOURCES += ./src/cpeparsersimcontrolhandler.cpp
+SOURCES += ./src/cpeparsersscallhandler.cpp
+SOURCES += ./src/cpeparsersshandler.cpp
+SOURCES += ./src/cpephonemodel.cpp
+SOURCES += ./src/cpephonemodelif.cpp
+SOURCES += ./src/cpesimstatemonitor.cpp
+SOURCES += ./src/cpepcnparserprocedurehandler.cpp
+SOURCES += ./src/cpeparseremergencynumberhandler.cpp
+SOURCES += ./src/cpeparservoipnumberhandler.cpp
+SOURCES += ./src/phoneengineproxy.cpp
+SOURCES += ./src/cperemotepartyinfomediator.cpp 
+SOURCES += ./src/cperemotepartyinfoproxy.cpp
+SOURCES += ./src/tperemotepartyinfomediatorupdater.cpp
+
+include(api_headers.pri)
+    
+headers.sources = $$PHONEENGINE_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)"       
+
+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/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)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828B1.crml APP_LAYER_CRML(s60telephony_102828B1.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828B2.crml APP_LAYER_CRML(s60telephony_102828B2.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828B8.crml APP_LAYER_CRML(s60telephony_102828B8.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102828F8.crml APP_LAYER_CRML(s60telephony_102828F8.crml)"
+BLD_INF_RULES.prj_exports += "./conf/s60telephony_102830B6.crml APP_LAYER_CRML(s60telephony_102830B6.crml)"
--- a/phoneengine/phonemodel/rom/phonengengine.iby	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/rom/phonengengine.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -43,6 +43,12 @@
 // Service Handling
 file=ABI_DIR\BUILD_DIR\peservicehandling.dll      SHARED_LIB_DIR\peservicehandling.dll
 
+// <-- QT PHONE START --> 
+// Dial Service
+file=ABI_DIR\BUILD_DIR\phoneservices.dll      SHARED_LIB_DIR\phoneservices.dll
+// Parser recognizer
+file=ABI_DIR\BUILD_DIR\parserrecognizer.dll      SHARED_LIB_DIR\parserrecognizer.dll
+// <-- QT PHONE END--> 
 data=DATAZ_\private\1000A86C\backup_registration.xml  private\1000A86C\backup_registration.xml
 
 
--- a/phoneengine/phonemodel/src/cpeaccessorymodemonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeaccessorymodemonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -146,8 +146,8 @@
 void CPEAccessoryModeMonitor::RunL()
     {
     TEFLOGSTRING2(KTAINT, "CPEAccessoryModeMonitor::RunL %d", iStatus.Int() );
- 	
- 	switch ( iStatus.Int() )
+    
+    switch ( iStatus.Int() )
         {
         case KErrNone:
             {
@@ -161,7 +161,7 @@
         case KErrNotSupported:
             break;
         default:
-        	// Issue request again if needed.
+            // Issue request again if needed.
              Start();
             break;
         }
@@ -178,10 +178,10 @@
     {
     TEFLOGSTRING(KTAINT, "CPEAccessoryModeMonitor::Start" );
     if ( !IsActive() )
-    	{
+        {
         iMode.NotifyAccessoryModeChanged( iStatus, iPolAccessoryMode );
-  		SetActive();                          
-    	}    
+        SetActive();                          
+        }    
     }
  
 //  End of File  
--- a/phoneengine/phonemodel/src/cpeactivestarter.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeactivestarter.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -61,7 +61,7 @@
     : CActive( CActive::EPriorityStandard ), 
       iActiveStarter ( aActiveStarter )
     {
-    	
+        
     CActiveScheduler::Add( this );
     
     }
@@ -73,8 +73,8 @@
 //
 CPEActiveStarter* CPEActiveStarter::NewL( 
     MPEActiveStarter* aActiveStarter )
-	{
-		
+    {
+        
     return new( ELeave ) CPEActiveStarter( aActiveStarter );
     
     }
--- a/phoneengine/phonemodel/src/cpecalldurationdisplaysettingmonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpecalldurationdisplaysettingmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -30,12 +30,12 @@
         // None
         )
     {
-	TEFLOGSTRING(KTAOBJECT, "CPECallDurationDisplaySettingMonitor::NewL");
-	CPECallDurationDisplaySettingMonitor* me = new ( ELeave ) CPECallDurationDisplaySettingMonitor();
-	CleanupStack::PushL( me );
-	me->ConstructL();
-	CleanupStack::Pop( me );
-	return ( me );
+    TEFLOGSTRING(KTAOBJECT, "CPECallDurationDisplaySettingMonitor::NewL");
+    CPECallDurationDisplaySettingMonitor* me = new ( ELeave ) CPECallDurationDisplaySettingMonitor();
+    CleanupStack::PushL( me );
+    me->ConstructL();
+    CleanupStack::Pop( me );
+    return ( me );
     }
 
 // Destructor
--- a/phoneengine/phonemodel/src/cpeclientcallrequestmonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeclientcallrequestmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,7 @@
 #include "cpemessagehandler.h"
 #include "mpephonemodelinternal.h"
 #include "pevirtualengine.h"
-#include <CPhCltCallNotify.h>
+#include <cphcltcallnotify.h>
 #include <cphcltdialdata.h>
 #include <mpedatastore.h>
 #include <talogger.h>
--- a/phoneengine/phonemodel/src/cpeclientcommandhandlermonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeclientcommandhandlermonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -24,7 +24,7 @@
 #include "mpecallhandling.h"
 #include "mpephonemodelinternal.h"
 #include <mpedatastore.h>
-#include <RPhCltServer.h>
+#include <rphcltserver.h>
 #include <talogger.h>
 #include <telephonyvariant.hrh>
 
--- a/phoneengine/phonemodel/src/cpeclientemergencycallmonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeclientemergencycallmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,7 @@
 #include "cpemessagehandler.h"
 #include "mpephonemodelinternal.h"
 #include "pevirtualengine.h"
-#include <CPhCltCallNotify.h>
+#include <cphcltcallnotify.h>
 #include <mpedatastore.h>
 #include <talogger.h>
 
--- a/phoneengine/phonemodel/src/cpeclientservices.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeclientservices.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -26,9 +26,9 @@
 #include "mpecallhandling.h"
 #include "mpephonemodelinternal.h"
 #include <apgtask.h>
-#include <CPhCltCallNotify.h>
-#include <CPhCltEmergencyCall.h>
-#include <CPhCltUssd.h>
+#include <cphcltcallnotify.h>
+#include <cphcltemergencycall.h>
+#include <cphcltussd.h>
 #include <mpedatastore.h>
 #include <talogger.h>
 
@@ -64,9 +64,9 @@
 
     User::LeaveIfError( iPhoneServer.Connect( ) );
 
-	// Need to call CreateAll so that Phone Server creates all managers
-	// (f.ex. USSD manager). Otherwise USSD requests/notifications don't
-	// get through unless USSD request is sent from Mobile Terminal first.
+    // Need to call CreateAll so that Phone Server creates all managers
+    // (f.ex. USSD manager). Otherwise USSD requests/notifications don't
+    // get through unless USSD request is sent from Mobile Terminal first.
     TRequestStatus phoneServerStatus;
     iPhoneServer.CreateAll( phoneServerStatus );
     User::WaitForRequest( phoneServerStatus );
@@ -85,16 +85,16 @@
         iModel, 
         *iCallNotifier ); 
 
-	iClientCommandHandlerMonitor = CPEClientCommandHandlerMonitor::NewL( 
-	    iCallHandling, 
-	    iMessageHandler, 
-	    iModel, 
-	    iPhoneServer,
-	    iManualCallControlHandler );
-	    
-	iDeviceModeHandler = CPEDeviceModeHandler::NewL( 
-	    iCallHandling, 
-	    iMessageHandler );	    
+    iClientCommandHandlerMonitor = CPEClientCommandHandlerMonitor::NewL( 
+        iCallHandling, 
+        iMessageHandler, 
+        iModel, 
+        iPhoneServer,
+        iManualCallControlHandler );
+        
+    iDeviceModeHandler = CPEDeviceModeHandler::NewL( 
+        iCallHandling, 
+        iMessageHandler );      
     }
 
 // -----------------------------------------------------------------------------
@@ -110,11 +110,11 @@
     {
     TEFLOGSTRING( KTAOBJECT, "PE CPEClientServices::NewL()" );
     
-	CPEClientServices* self = new ( ELeave ) CPEClientServices( 
-	    aModel, 
-	    aMessageHandler, 
-	    aCallHandling,
-	    aManualCallControlHandler );
+    CPEClientServices* self = new ( ELeave ) CPEClientServices( 
+        aModel, 
+        aMessageHandler, 
+        aCallHandling,
+        aManualCallControlHandler );
 
     CleanupStack::PushL( self );
     self->ConstructL();
--- a/phoneengine/phonemodel/src/cpeexternaldatahandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeexternaldatahandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -26,14 +26,16 @@
 #include <ctsydomainpskeys.h>
 #include <mpedatastore.h>
 #include <pepanic.pan>
-#include <SettingsInternalCRKeys.h>
+#include <settingsinternalcrkeys.h>
 #include <talogger.h>
 #include <telephonyvariant.hrh>
 #include <telinternalcrkeys.h>
 
 
 // CONSTANTS
-const TInt KPrefixLength = 10;
+// <-- QT PHONE START -->
+//const TInt KPrefixLength = 10;
+// <-- QT PHONE END -->
 
 CPEExternalDataHandler* CPEExternalDataHandler::NewL( MPEPhoneModelInternal& aModel )
     {
@@ -86,18 +88,24 @@
 
     // Instantiate monitor objects
     iAudioOutputPreferenceMonitor = CPEAudioOutputPreferenceMonitor::NewL( aModel );
-    iCallDurationDisplay = CPECallDurationDisplaySettingMonitor::NewL();
+    // <-- QT PHONE START -->
     iEarVolumeSetting = CPEIncallEarVolumeSettingMonitor::NewL( aModel );
     iLoudspeakerVolumeSetting = CPEIncallLoudspeakerVolumeSettingMonitor::NewL( aModel );
+    iCallDurationDisplay = CPECallDurationDisplaySettingMonitor::NewL(); 
+    iProfileSettings = CPEProfileSettingMonitor::NewL( aModel );
+    
+    //TODO
+    /*
     iNetworkRegistrationStatus = CPENetworkRegistrationStatusMonitor::NewL( aModel );
-    iProfileSettings = CPEProfileSettingMonitor::NewL( aModel );
     iAccessoryModeMonitor = CPEAccessoryModeMonitor::NewL(); 
 
     // Instantiate repository objects for later use
-    iAccessorySettingsRepository = CRepository::NewL( KCRUidAccessorySettings );
-    iTelephonySettingsRepository = CRepository::NewL( KCRUidTelephonySettings );
+    iAccessorySettingsRepository = CRepository::NewL( KCRUidAccessorySettings );*/
+    //iTelephonySettingsRepository = CRepository::NewL( KCRUidTelephonySettings );
     iTelephonyVariationRepository = CRepository::NewL( KCRUidTelVariation );
-    iCoreApplicationRepository = CRepository::NewL( KCRUidCoreApplicationUIs ); 
+    //iCoreApplicationRepository = CRepository::NewL( KCRUidCoreApplicationUIs ); 
+    TEFLOGSTRING( KTAOBJECT, "PE CPEExternalDataHandler::BaseConstructL 2" );
+    // <-- QT PHONE END -->
     }
 
 // -----------------------------------------------------------------------------
@@ -112,8 +120,42 @@
     {
     TInt errorCode( KErrNotFound );
 
+    // <-- QT PHONE START -->
+    //TODO
+
+    if ( EPETelephonyVariationFlags == aSetting )
+        {
+        errorCode = iTelephonyVariationRepository->Get( KTelVariationFlags, aValue );
+        TEFLOGSTRING2( KTAINT, "CPEExternalDataHandler::Get EPETelephonyVariationFlags, error code: %d", errorCode );
+        }
+    else if ( EPEAudioOutputPreference == aSetting )
+        {
+        errorCode = iAudioOutputPreferenceMonitor->Get( aValue );
+        TEFLOGSTRING2( KTAINT, "CPEExternalDataHandler::Get EPEAudioOutputPreference, error code: %d", errorCode );
+        }
+    else if ( EPEIncallEarVolumeSetting == aSetting )
+        {
+        errorCode = iEarVolumeSetting->Get( aValue );
+        TEFLOGSTRING2( KTAINT, "CPEExternalDataHandler::Get EPEIncallEarVolumeSetting, error code: %d", errorCode );
+        }
+    else if ( EPEIncallLoudspeakerVolumeSetting == aSetting )
+        {
+        errorCode = iLoudspeakerVolumeSetting->Get( aValue );
+        TEFLOGSTRING2( KTAINT, "CPEExternalDataHandler::Get EPEIncallLoudspeakerVolumeSetting, error code: %d", errorCode );
+        }
+    else if ( EPECallDurationDisplaySetting == aSetting )
+        {
+        errorCode = iCallDurationDisplay->Get( aValue );
+        TEFLOGSTRING2( KTAINT, "CPEExternalDataHandler::Get EPECallDurationDisplaySetting, error code: %d", errorCode );
+        }
+    else
+        {
+        errorCode = KErrNone;
+        aValue = 0;        
+        }
+    
     // Process Common id
-    switch ( aSetting )
+    /*switch ( aSetting )
         {
         case EPEAutomaticAnswerHeadsetSetting:
             {
@@ -151,12 +193,6 @@
             TEFLOGSTRING2( KTAINT, "CPEExternalDataHandler::Get EPEAudioOutputPreference, error code: %d", errorCode );
             break;
             }
-        case EPECallDurationDisplaySetting:
-            {
-            errorCode = iCallDurationDisplay->Get( aValue );
-            TEFLOGSTRING2( KTAINT, "CPEExternalDataHandler::Get EPECallDurationDisplaySetting, error code: %d", errorCode );
-            break;
-            }
         case EPEDialPrefixChangeSetting:
             {
             errorCode = iTelephonySettingsRepository->Get( KSettingsDialPrefixChangeMode, aValue );
@@ -210,8 +246,8 @@
                 "PE CPEEXTERNALDATAHANDLER::GET UNKNOWN SETTING ID ! %d", aSetting );
             break;
             }
-        }
-
+        }*/
+    // <-- QT PHONE END -->
     return errorCode;
     }
 
@@ -222,13 +258,16 @@
 // -----------------------------------------------------------------------------
 //
 TInt CPEExternalDataHandler::GetText(
-        const TPEExternalDataId aSetting,
+        const TPEExternalDataId /*aSetting*/,
         TDesC& aValue ) const
     {
     TInt errorCode( KErrNotFound );
-
+    // <-- QT PHONE START -->
+    //TODO
+    aValue = KNullDesC;
+    errorCode = KErrNone;
     // Process Common id
-    switch ( aSetting )
+    /*switch ( aSetting )
         {
         case EPEDialPrefixTextSetting:
             {
@@ -249,8 +288,8 @@
                 "PE CPEEXTERNALDATAHANDLER::GETTEXT UNKNOWN SETTING ID ! %d", aSetting );
             break;
             }
-        }
-
+        }*/
+    // <-- QT PHONE END -->
     return errorCode;
     }
 
@@ -260,15 +299,17 @@
 // -----------------------------------------------------------------------------
 //
 TInt CPEExternalDataHandler::GetAutomaticAnswer(
-        TUint32 aSetting,
+        TUint32 /*aSetting*/,
         TInt& aValue ) const
     {
     TInt errorCode( KErrNotFound );
     
     TEFLOGSTRING( KTAINT, "CPEExternalDataHandler::GetAutomaticAnswer" );
-   
-    errorCode = iAccessorySettingsRepository->Get( aSetting, aValue );
-     
+    // <-- QT PHONE START -->
+    //errorCode = iAccessorySettingsRepository->Get( aSetting, aValue );
+    errorCode = KErrNone;
+    aValue = 0;
+    // <-- QT PHONE END -->
     return errorCode;
     }
 
@@ -285,6 +326,7 @@
 
     switch ( aSetting )
         {
+        // <-- QT PHONE START -->
         case EPEIncallEarVolumeSetting:
             {
             errorCode = iEarVolumeSetting->Set( aValue );
@@ -295,6 +337,7 @@
             errorCode = iLoudspeakerVolumeSetting->Set( aValue );
             break;
             }
+        // <-- QT PHONE END -->
         case EPEEmergencyCallInfo:
             {
             errorCode = RProperty::Set( KPSUidCtsyEmergencyCallInfo, 
--- a/phoneengine/phonemodel/src/cpemanualcallcontrolhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpemanualcallcontrolhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -146,7 +146,7 @@
             TEFLOGSTRING2( KTAERROR, 
                 "PE CPEManualCallControlHandler::HandleChldL, aChldCommand; %d"
                 ,aChldCommand );
-            __ASSERT_DEBUG(	EFalse, Panic( EPEPanicIllegalCommand ) );
+            __ASSERT_DEBUG( EFalse, Panic( EPEPanicIllegalCommand ) );
             break;
             }
         }
@@ -281,16 +281,16 @@
             {
             error = iMessageHandler.HandleAnswerCall( EFalse );
             TEFLOGSTRING2( KTAINT,
-            	"PE CPEManualCallControlHandler::HandleChldOneXL > HandleAnswerCall, Error code %d", 
-            	error );
+                "PE CPEManualCallControlHandler::HandleChldOneXL > HandleAnswerCall, Error code %d", 
+                error );
             }
         else if ( callState == EPEStateConnected )
             {
             iDataStore.SetCallId( CallIdByIndexL( aCallNo ) );
             error = iMessageHandler.HandleReleaseCall( ETPEHangUpNotResumeHeldCall );
             TEFLOGSTRING2( KTAINT,
-            	"PE CPEManualCallControlHandler::HandleChldOneXL > HandleReleaseCall, Error code %d", 
-            	error );
+                "PE CPEManualCallControlHandler::HandleChldOneXL > HandleReleaseCall, Error code %d", 
+                error );
             }
         }        
         
@@ -314,7 +314,7 @@
         {
         TEFLOGSTRING( 
             KTAERROR, 
-        	"PE CPEManualCallControlHandler::HandleChldTwo: Call found in EPEStateDialing or EPEStateConnecting,state > swap NOT ALLOWED" );
+            "PE CPEManualCallControlHandler::HandleChldTwo: Call found in EPEStateDialing or EPEStateConnecting,state > swap NOT ALLOWED" );
         }
     else
         {
--- a/phoneengine/phonemodel/src/cpemessagehandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpemessagehandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -50,10 +50,10 @@
 #include <coreapplicationuisdomainpskeys.h>
 #include <cpeclientinformation.h>
 #include <cpegsmaudiodata.h>
-#include <CPhoneGsmHandlerContainer.h>
-#include <CPhoneGsmOptionContainerBase.h>
-#include <CPhoneGsmParserBase.h>
-#include <CPhoneGsmParserResult.h>
+#include <cphonegsmhandlercontainer.h>
+#include <cphonegsmoptioncontainerbase.h>
+#include <cphonegsmparserbase.h>
+#include <cphonegsmparserresult.h>
 #include <featmgr.h>
 #include <mccecall.h>
 #include <mpeaudiodata.h>
@@ -63,8 +63,8 @@
 #include <mpeloghandling.h>
 #include <pathinfo.h>
 #include <pepanic.pan>
-#include <PhCltTypes.h>
-#include <PhoneGsmParser.h>
+#include <phclttypes.h>
+#include <phonegsmparser.h>
 #include <ProfileEngineDomainConstants.h>
 #include <talogger.h>
 #include <w32std.h>
@@ -1376,52 +1376,52 @@
         iDataStore.SetRemotePhoneNumberType( EPEEmergencyNumber, aCallId );
         }
     else if( iDataStore.CallDirection( aCallId ) != RMobileCall::EMobileOriginated )
-		{
-		switch( tempIdentity )
-			{
-			case RMobileCall::ERemoteIdentitySuppressed:
-				{
-				// It is neccessary to perform an additional check for available
-				// remote party phone number to comply with Italian operator
-				// requirement: "If CLIR is active but network still provides
-				// the device with a phone number, it should not be blocked
-				// but passed to a client when requested."
-				if( iDataStore.RemotePhoneNumber( aCallId ).Length() == 0 )
-					{
-					HideIdentification( EPEPrivateNumber, aCallId );
-					}
-				else
-				    {
-				    // Align remote identity with remote phone number availability.
-				    iDataStore.SetRemoteIdentity( RMobileCall::ERemoteIdentityAvailable, aCallId );
-				    }
-				break;
-				}
-			case RMobileCall::ERemoteIdentityAvailableNoCliRejectedByUser:
-				{
-				HideIdentification( EPEPrivateNumber, aCallId );
-				break;
-				}
-			case RMobileCall::ERemoteIdentityUnknown:
-			case RMobileCall::ERemoteIdentityAvailableNoCliInteractionWithOtherService:
-			case RMobileCall::ERemoteIdentityUnavailableNoCliInteractionWithOtherService:
-			case RMobileCall::ERemoteIdentityAvailableNoCliCoinOrPayphone:
-			case RMobileCall::ERemoteIdentityUnavailableNoCliCoinOrPayphone:
-			case RMobileCall::ERemoteIdentityAvailableNoCliUnavailable:
-				{
-				HideIdentification( EPEUnknownNumber, aCallId );
-				break;
-				}
-			case RMobileCall::ERemoteIdentityAvailable:
-			default:
-				{
-				TEFLOGSTRING( KTAINT,
-					"PE CPEMessageHandler::CheckAndHideIdentity, CLI available" );
-				break;
-				}
-			}
-		}
-	}
+        {
+        switch( tempIdentity )
+            {
+            case RMobileCall::ERemoteIdentitySuppressed:
+                {
+                // It is neccessary to perform an additional check for available
+                // remote party phone number to comply with Italian operator
+                // requirement: "If CLIR is active but network still provides
+                // the device with a phone number, it should not be blocked
+                // but passed to a client when requested."
+                if( iDataStore.RemotePhoneNumber( aCallId ).Length() == 0 )
+                    {
+                    HideIdentification( EPEPrivateNumber, aCallId );
+                    }
+                else
+                    {
+                    // Align remote identity with remote phone number availability.
+                    iDataStore.SetRemoteIdentity( RMobileCall::ERemoteIdentityAvailable, aCallId );
+                    }
+                break;
+                }
+            case RMobileCall::ERemoteIdentityAvailableNoCliRejectedByUser:
+                {
+                HideIdentification( EPEPrivateNumber, aCallId );
+                break;
+                }
+            case RMobileCall::ERemoteIdentityUnknown:
+            case RMobileCall::ERemoteIdentityAvailableNoCliInteractionWithOtherService:
+            case RMobileCall::ERemoteIdentityUnavailableNoCliInteractionWithOtherService:
+            case RMobileCall::ERemoteIdentityAvailableNoCliCoinOrPayphone:
+            case RMobileCall::ERemoteIdentityUnavailableNoCliCoinOrPayphone:
+            case RMobileCall::ERemoteIdentityAvailableNoCliUnavailable:
+                {
+                HideIdentification( EPEUnknownNumber, aCallId );
+                break;
+                }
+            case RMobileCall::ERemoteIdentityAvailable:
+            default:
+                {
+                TEFLOGSTRING( KTAINT,
+                    "PE CPEMessageHandler::CheckAndHideIdentity, CLI available" );
+                break;
+                }
+            }
+        }
+    }
     
 // -----------------------------------------------------------------------------
 // CPEMessageHandler::FindCallInfo
@@ -1515,7 +1515,16 @@
             RemovePreAndPostFix( number );
   
             iDataStore.SetRemotePhoneNumber( number, aCallId );
-            }            
+            }
+        
+        // The Colp number is stored to remoteparty in connected state.
+        TPEPhoneNumber colpNumber = iCallInfo->iRemoteParty.iRemoteNumber.iTelNumber;
+        RemovePreAndPostFix( colpNumber );
+        iDataStore.SetRemoteColpNumber( colpNumber, aCallId ); 
+        TEFLOGSTRING3( 
+            KTAMESINT, 
+            "PE CPEMessageHandler::SetPhoneNumberForCallLogging, colp number: '%S', call id: %d", 
+            &colpNumber, aCallId );
         }
     else if ( iDataStore.CallDirection( aCallId ) == RMobileCall::EMobileTerminated )
         {
@@ -1723,7 +1732,7 @@
                 {
 
                 dtmfString = iDataStore.DtmfPostFix( aCallId );
-				
+                
                 if ( dtmfString.Length() > 0 )
                     {
                     iDataStore.SetDtmfStringCommand( dtmfString );
@@ -1741,6 +1750,9 @@
     // logging works OK (see CPEMessageHandler::SetPhoneNumberForCallLogging).  
     iDataStore.SetPhoneNumber( KNullDesC() );
     
+    // COLP number is updated in connected state 
+    UpdateRemotePartyInfo();
+   
     return ECCPErrorNone;
     }
 
@@ -2890,14 +2902,9 @@
 // CPEMessageHandler::HandleRemotePartyInfoChanged
 // -----------------------------------------------------------------------------
 //
-void CPEMessageHandler::HandleRemotePartyInfoChanged( const TInt aCallId )
-    {        
-    UpdateRemotePartyInfo(); 
-    
-    if ( iDataStore.RemoteColpNumber( aCallId ).Length() )
-        {
-        iModel.SendMessage( MEngineMonitor::EPEMessageColpNumberAvailable );
-        }
+void CPEMessageHandler::HandleRemotePartyInfoChanged()
+    {
+    UpdateRemotePartyInfo();      
     }
 
 
@@ -2931,8 +2938,6 @@
     TInt errorCode = iCallHandling.DoUnattendedTransfer( 
             iDataStore.TransferTargetCommand() );
      
-    iDataStore.SetErrorCode( errorCode );
-    
     return errorCode;
     }
 
@@ -2990,5 +2995,23 @@
         mediatorUpdater->UpdateRemotePartyInfo();
         }
     }
-	
+
+    // <-- QT PHONE START -->
+// -----------------------------------------------------------------------------
+// CPEMessageHandler::HandleDialCall
+// Handles dial message from dial service
+// 
+// -----------------------------------------------------------------------------
+// 
+TInt CPEMessageHandler::HandleDialServiceCall(
+    const TBool /*aClientCall*/ )
+    {
+    TEFLOGSTRING( KTAINT, "PE CPEMessageHandler::HandleDialCall" );
+    TInt errorCode( ECCPErrorNone );
+    //TODO 
+    iModel.HandleInternalMessage( MPEPhoneModel::EPEMessageDialServiceCall );
+    return errorCode;
+    }
+// <-- QT PHONE END -->
+
 //  End of File  
--- a/phoneengine/phonemodel/src/cpenetworkregistrationstatusmonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpenetworkregistrationstatusmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,7 @@
 #include "mpephonemodelinternal.h"
 #include <e32property.h>
 #include <mpedatastore.h>
-#include <NetworkHandlingDomainPSKeys.h>
+#include <networkhandlingdomainpskeys.h>
 #include <talogger.h>
 
 
--- a/phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeparsermanufacturerhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -44,13 +44,13 @@
             iCallHandling( aCallHandling ),
             iFsSession( aFsSession )
     {
-	TEFLOGSTRING( KTAOBJECT, "PE CPEParserManufacturerHandler::CPEParserManufacturerHandler()" );
+    TEFLOGSTRING( KTAOBJECT, "PE CPEParserManufacturerHandler::CPEParserManufacturerHandler()" );
     }
 
 // Destructor
 CPEParserManufacturerHandler::~CPEParserManufacturerHandler()
     {    
-	TEFLOGSTRING( KTAOBJECT, "PE CPEParserManufacturerHandler::~CPEParserManufacturerHandler()" );
+    TEFLOGSTRING( KTAOBJECT, "PE CPEParserManufacturerHandler::~CPEParserManufacturerHandler()" );
     }
 
 // -----------------------------------------------------------------------------
@@ -60,28 +60,28 @@
 void CPEParserManufacturerHandler::ProcessCommandL( 
         TUint aCommand )       // aCommand command enumeration.
     {
-	TEFLOGSTRING( KTAINT, "PE CPEParserManufacturerHandler::ProcessCommandL" );
+    TEFLOGSTRING( KTAINT, "PE CPEParserManufacturerHandler::ProcessCommandL" );
 
     switch ( aCommand )
         {
         case EShowVersion: // *#0000#
             {
             TEFLOGSTRING( KTAINT, "PE CPEParserManufacturerHandler::ProcessCommandL, EShowVersion" );
-			
-			TPEPhoneIdentityParameters phoneIdentity;
+            
+            TPEPhoneIdentityParameters phoneIdentity;
             phoneIdentity = iModel.DataStore()->PhoneIdentityParameters();
             if ( GetSwVersionAndPhoneModelL( phoneIdentity.iRevision ) == KErrNone )
-				{
-				iModel.DataStore()->SetPhoneIdentityParameters( phoneIdentity );
-				iModel.SendMessage( MEngineMonitor::EPEMessageShowVersion );
-				}
-			else
-				{
-				iModel.SendMessage( MEngineMonitor::EPEMessageError );
-				TEFLOGSTRING( KTAERROR, 
-				    "PE CPEGSMPARSERMANUFACTURERHANDLER::PROCESSCOMMANDL: FAILED TO RETRIEVE SW VERSION" );
-				}
-			break;
+                {
+                iModel.DataStore()->SetPhoneIdentityParameters( phoneIdentity );
+                iModel.SendMessage( MEngineMonitor::EPEMessageShowVersion );
+                }
+            else
+                {
+                iModel.SendMessage( MEngineMonitor::EPEMessageError );
+                TEFLOGSTRING( KTAERROR, 
+                    "PE CPEGSMPARSERMANUFACTURERHANDLER::PROCESSCOMMANDL: FAILED TO RETRIEVE SW VERSION" );
+                }
+            break;
             }
         case EBadPinChange:    
             {
@@ -218,17 +218,17 @@
     TInt errorCode = SysUtil::GetSWVersion( aSwVersion ) ;
     
     TEFLOGSTRING2( KTAINT,
-    	"PE CPEParserManufacturerHandler::GetSwVersionAndPhoneModelL > SysUtil::GetSWVersion, error code: %d",
-    	errorCode );
+        "PE CPEParserManufacturerHandler::GetSwVersionAndPhoneModelL > SysUtil::GetSWVersion, error code: %d",
+        errorCode );
 
     if ( errorCode == KErrNone )
-	    {
-	    // Remove needless lines
-	    RemoveLinesAfterThreeLines( aSwVersion );
-		// Add phone model
-		AppendPhoneModelL( aSwVersion );
-	    }
-	    
+        {
+        // Remove needless lines
+        RemoveLinesAfterThreeLines( aSwVersion );
+        // Add phone model
+        AppendPhoneModelL( aSwVersion );
+        }
+        
     return errorCode;  
     }
 
@@ -238,10 +238,10 @@
 // -----------------------------------------------------------------------------
 //
 void CPEParserManufacturerHandler::RemoveLinesAfterThreeLines( 
-	TDes& aSwVersion ) 
-	{
-	TEFLOGSTRING( KTAINT, "PE CPEParserManufacturerHandler::RemoveLinesAfterThreeLines" );
-	
+    TDes& aSwVersion ) 
+    {
+    TEFLOGSTRING( KTAINT, "PE CPEParserManufacturerHandler::RemoveLinesAfterThreeLines" );
+    
     TInt lineFeedCount = 0;
     
     const TInt swVersionLength( aSwVersion.Length() );
@@ -256,39 +256,39 @@
                 
                 // Dont delete the last line feed characted, thats why
                 // i + 1.
-				aSwVersion.Delete( i + 1, charsToDelete );
+                aSwVersion.Delete( i + 1, charsToDelete );
                 return;
                 }
             }
         }
-	}
+    }
     
 // -----------------------------------------------------------------------------
 // CPEParserManufacturerHandler::AppendPhoneModelL
 // Reads phone model info from disk and appends it to aSwVersion.
 // -----------------------------------------------------------------------------
 //
-void CPEParserManufacturerHandler::AppendPhoneModelL( 	
-	TDes& aSwVersion ) 
-	{	
-	RFile file;
-	User::LeaveIfError( file.Open( iFsSession, 
-		                           KPESalesModelFileName, 
-		                           EFileShareReadersOnly | EFileRead ) );
-	CleanupClosePushL( file );
-	
-	HBufC* model = HBufC::NewLC( KPESalesModelNameMaxLength );
-	TPtr ptr = model->Des();
+void CPEParserManufacturerHandler::AppendPhoneModelL(   
+    TDes& aSwVersion ) 
+    {   
+    RFile file;
+    User::LeaveIfError( file.Open( iFsSession, 
+                                   KPESalesModelFileName, 
+                                   EFileShareReadersOnly | EFileRead ) );
+    CleanupClosePushL( file );
+    
+    HBufC* model = HBufC::NewLC( KPESalesModelNameMaxLength );
+    TPtr ptr = model->Des();
 
-	// Read the data from file.
-	TFileText reader;
-	reader.Set( file );
-	User::LeaveIfError( reader.Read( ptr ) );
+    // Read the data from file.
+    TFileText reader;
+    reader.Set( file );
+    User::LeaveIfError( reader.Read( ptr ) );
 
-	// Append the phone model to aSwVersion
+    // Append the phone model to aSwVersion
     aSwVersion.Append( *model );
-	
-	CleanupStack::PopAndDestroy( 2 ); // model, file
-	}
+    
+    CleanupStack::PopAndDestroy( 2 ); // model, file
+    }
 
 // End of File
--- a/phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeparserphonenumberhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -217,8 +217,11 @@
         {
         isPhoneOffline = ETrue;
         }
-    
-    return isPhoneOffline;
+    // <-- QT PHONE START -->
+    //TODO
+    isPhoneOffline = EFalse;
+    return isPhoneOffline; //isPhoneOffline;
+    // <-- QT PHONE END -->
     }
 
     
--- a/phoneengine/phonemodel/src/cpeparsersimcontrolhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeparsersimcontrolhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,8 +22,8 @@
 #include <mpecontacthandling.h>
 #include <mpedatastore.h>
 #include <pepanic.pan>
-#include <SecUi.h>
-#include <SecUiManualSecuritySettings.h>
+#include <secui.h>
+#include <secuimanualsecuritysettings.h>
 #include <talogger.h>
 
 
@@ -49,12 +49,12 @@
 CPEParserSimControlHandler::~CPEParserSimControlHandler()
     {
     if( iSecurityModel != NULL )
-	    {
-	    iSecurityModel->CancelChangePin();
-	    iSecurityModel->CancelUnblockPin();
-	    delete iSecurityModel;
-	    TSecUi::UnInitializeLib();	
-	    }
+        {
+        iSecurityModel->CancelChangePin();
+        iSecurityModel->CancelUnblockPin();
+        delete iSecurityModel;
+        TSecUi::UnInitializeLib();  
+        }
     TEFLOGSTRING( KTAOBJECT,
         "PE CPEParserSimControlHandler::~CPEParserSimControlHandler: complete");
     }
@@ -108,13 +108,13 @@
             break;
         }
         
-	if( iSecurityModel == NULL )
-		{
-		TSecUi::InitializeLibL();
- 		iSecurityModel = CManualSecuritySettings::NewL();
-    	TEFLOGSTRING( KTAOBJECT,
-        	"PE CPEParserSimControlHandler::ConstructL" );
-		}
+    if( iSecurityModel == NULL )
+        {
+        TSecUi::InitializeLibL();
+        iSecurityModel = CManualSecuritySettings::NewL();
+        TEFLOGSTRING( KTAOBJECT,
+            "PE CPEParserSimControlHandler::ConstructL" );
+        }
         
     if( iSecurityModel->ChangePinL( pin, aOldPin, aNewPin, aVerifyNew ) )
         {
@@ -157,14 +157,14 @@
             break;
         }
 
-	if( iSecurityModel == NULL )
-		{
-		TSecUi::InitializeLibL();
- 		iSecurityModel = CManualSecuritySettings::NewL();
-    	TEFLOGSTRING( KTAOBJECT,
-        	"PE CPEParserSimControlHandler::ConstructL" );
-		}
-		
+    if( iSecurityModel == NULL )
+        {
+        TSecUi::InitializeLibL();
+        iSecurityModel = CManualSecuritySettings::NewL();
+        TEFLOGSTRING( KTAOBJECT,
+            "PE CPEParserSimControlHandler::ConstructL" );
+        }
+        
     if( iSecurityModel->UnblockPinL( pin, aPuk, aNewPin, aVerifyNew ) )
         {
         iSupplementaryServicesCommandInfo.action = EPEPasswordOperation;
--- a/phoneengine/phonemodel/src/cpeparsersshandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeparsersshandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -28,19 +28,19 @@
 #include <featmgr.h>
 #include <mpedatastore.h>
 #include <nwdefs.h>
-#include <PsetCallBarring.h>
-#include <PsetCallDiverting.h>
-#include <PsetCallWaiting.h>
-#include <PsetCli.h>
-#include <PsetContainer.h>
-#include <PsetContainer.h>
-#include <PsuiBarringObs.h>
-#include <PsuiBarringObs.h>
-#include <PsuiCliObserver.h>
-#include <PsuiContainer.h>
-#include <PsuiDivertObs.h>
-#include <PsuiWaitingObs.h>
-#include <PsuiWaitingObs.h>
+#include <psetcallbarring.h>
+#include <psetcalldiverting.h>
+#include <psetcallwaiting.h>
+#include <psetcli.h>
+#include <psetcontainer.h>
+#include <psetcontainer.h>
+#include <psuibarringobs.h>
+#include <psuibarringobs.h>
+#include <psuicliobserver.h>
+#include <psuicontainer.h>
+#include <psuidivertobs.h>
+#include <psuiwaitingobs.h>
+#include <psuiwaitingobs.h>
 #include <talogger.h>
 
 
@@ -893,7 +893,7 @@
             iModel.SendMessage( MEngineMonitor::EPEMessageIssuedSSRequest );
             break;
         case EInterrogate:
-		    TEFLOGSTRING( KTAMESINT, "PE CPEParserSSHandler::ProcessWaitingL EInterrogate" );
+            TEFLOGSTRING( KTAMESINT, "PE CPEParserSSHandler::ProcessWaitingL EInterrogate" );
             iWaiting->GetCallWaitingStatusL();
             iSupplementaryServicesCommandInfo.action = EPESSInterrogation;
             iModel.DataStore()->SetSSCommandInfo( iSupplementaryServicesCommandInfo );
--- a/phoneengine/phonemodel/src/cpeparservoipnumberhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeparservoipnumberhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -111,7 +111,7 @@
     
     TPECallType processType = iDataStore.CallTypeCommand();
  
-    // Remove possible + or w chartes.		
+    // Remove possible + or w chartes.      
     TPEPhoneNumber postfix = FilterPostfix( aDtmfPostfix );
     if( postfix.Length() )
         {
@@ -126,8 +126,11 @@
   
     // Temporary hack for enabling client calls with service id 3
     // Proper solution to be done to CallUi and AIW dial data
+        
+
     TUint32 serviceId = iDataStore.ServiceIdCommand();
     iServiceHandling.EnableServiceL( serviceId );
+
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneengine/phonemodel/src/cpepcnparserprocedurehandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpepcnparserprocedurehandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -20,8 +20,8 @@
 #include "cpepcnparserprocedurehandler.h"
 #include "mpephonemodelinternal.h"
 #include <mpedatastore.h>
-#include <SecUi.h>
-#include <SecUiManualSecuritySettings.h>
+#include <secui.h>
+#include <secuimanualsecuritysettings.h>
 #include <talogger.h>
 
 
--- a/phoneengine/phonemodel/src/cpephonemodel.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpephonemodel.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -39,6 +39,10 @@
 #include <mccedtmfinterface.h>
 #include <mpecontacthandling.h>
 #include <mpeloghandling.h>
+// <-- QT PHONE START --> 
+#include "phoneservices.h"
+#include "parserrecognizer.h"
+// <-- QT PHONE END --> 
 
 // CONSTANTS
 const TInt KDriveProfile ( 6 );
@@ -159,6 +163,10 @@
         {
         delete iIdleStatusMonitor;
         } 
+// <-- QT PHONE START --> 
+    delete iPhoneServices;
+    delete iParserRecognizer;
+// <-- QT PHONE END --> 
     }// ~CPEPhoneModel
 
 // -----------------------------------------------------------------------------
@@ -229,6 +237,10 @@
             return MESSAGE("EPEMessageClientDial");
         case MPEPhoneModel::EPEMessageClientDialEmergency:
             return MESSAGE("EPEMessageClientDialEmergency");
+// <-- QT PHONE START -->
+        case MPEPhoneModel::EPEMessageDialServiceCall:
+            return MESSAGE("EPEMessageDialServiceCall");
+// <-- QT PHONE END -->
         case MPEPhoneModel::EPEMessageContinueEmergencyCallInitialization:
             return MESSAGE("EPEMessageContinueEmergencyCallInitialization");
         case MPEPhoneModel::EPEMessageContinueDTMFSending:
@@ -580,15 +592,15 @@
         case MEngineMonitor::EPEMessageCallBarred:
             return MESSAGE("EPEMessageCallBarred");
         case MEngineMonitor::EPEMessageIncCallIsForw:
-        	return MESSAGE("EPEMessageIncCallIsForw");
+            return MESSAGE("EPEMessageIncCallIsForw");
         case MEngineMonitor::EPEMessageIncCallForwToC:
-        	return MESSAGE("EPEMessageIncCallForwToC");
+            return MESSAGE("EPEMessageIncCallForwToC");
         case MEngineMonitor::EPEMessageOutCallForwToC:
-        	return MESSAGE("EPEMessageOutCallForwToC");
+            return MESSAGE("EPEMessageOutCallForwToC");
         case MEngineMonitor::EPEMessageForwardUnconditionalModeActive:
-        	return MESSAGE( "EPEMessageForwardUnconditionalModeActive" );
+            return MESSAGE( "EPEMessageForwardUnconditionalModeActive" );
         case MEngineMonitor::EPEMessageForwardConditionallyModeActive:
-        	return MESSAGE( "EPEMessageForwardConditionallyModeActive" );
+            return MESSAGE( "EPEMessageForwardConditionallyModeActive" );
         case MEngineMonitor::EPEMessageDroppedConferenceMember:
             return MESSAGE("EPEMessageDroppedConferenceMember");
         case MEngineMonitor::EPEMessageGoingOneToOne:
@@ -709,7 +721,7 @@
             errorCode = iMessageHandler->HandleTerminateAllConnections( );
             break;
         case MPEPhoneModel::EPEMessageDial:
-        	//Make a dial request
+            //Make a dial request
             errorCode = iMessageHandler->HandleDialCall( EFalse );
             break;
         case MPEPhoneModel::EPEMessageReleaseAll: //Make HangUp requests to all calls
@@ -833,20 +845,24 @@
         case MPEPhoneModel::EPEMessageDisableService:
             iMessageHandler->HandleDisableService();
             break;
-
+// <-- QT PHONE START -->
+        case MPEPhoneModel::EPEMessageDialServiceCall:  //Make Dial request
+            errorCode = iMessageHandler->HandleDialCall( EFalse );
+            break;
+// <-- QT PHONE END -->
         default:
             errorCode = ECCPErrorNotFound;
             break;
         } 
 
     if( errorCode )
-	    {
-	    TPEErrorInfo errorInfo;
-	    errorInfo.iErrorCode = errorCode;
-	    errorInfo.iCallId = KPECallIdNotUsed;
-	    errorInfo.iErrorType = EPECcp;
- 	    iEngineMonitor.HandleError( errorInfo );
-	    }
+        {
+        TPEErrorInfo errorInfo;
+        errorInfo.iErrorCode = errorCode;
+        errorInfo.iCallId = KPECallIdNotUsed;
+        errorInfo.iErrorType = EPECcp;
+        iEngineMonitor.HandleError( errorInfo );
+        }
     }// HandleMessage
 
 // -----------------------------------------------------------------------------
@@ -936,8 +952,8 @@
         }
 
     if ( message == MEngineMonitor::EPEMessageChangedCallDuration )    
-	    {   
-	    TInt callTimerSetting( EFalse );
+        {   
+        TInt callTimerSetting( EFalse );
         // safe to ignore error code here, duration display equals to zero == off if it fails
         iExternalDataHandler->Get( EPECallDurationDisplaySetting, callTimerSetting );
         // Message EPEMessageChangedCallDuration send supressed, if duration display is OFF
@@ -945,7 +961,7 @@
             {
             message = KPEDontSendMessage;
             }
-	    }
+        }
 
     //MessageHandler may return error code
     if ( errorCode != ECCPErrorNone && errorCode != KPEDontSendMessage )
@@ -960,22 +976,22 @@
         messageName2.Ptr( ), aCallId );
         #endif
         TPEErrorInfo errorInfo;
-    	errorInfo.iErrorCode = errorCode;
-    	errorInfo.iCallId = aCallId;
+        errorInfo.iErrorCode = errorCode;
+        errorInfo.iCallId = aCallId;
         errorInfo.iErrorType = EPECcp;
         iEngineMonitor.HandleError( errorInfo );
         }
     else if ( message == MEngineMonitor::EPEMessageCallHandlingError )
-	    {
+        {
         TEFLOGSTRING2( 
             KTAERROR, 
             "PE cpephonemodel::sendmessage > iEngineMonitor.HandleError: messageName=EPEMessageCallHandlingError, CallId=%d"
         , aCallId );
-	    TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo();
-    	errorInfo.iCallId = aCallId;
-    	errorInfo.iErrorType = EPECcp;
+        TPEErrorInfo errorInfo = iEngineInfo->ErrorInfo();
+        errorInfo.iCallId = aCallId;
+        errorInfo.iErrorType = EPECcp;
         iEngineMonitor.HandleError( errorInfo );
-	    }
+        }
     else if ( message == MEngineMonitor::EPEMessageServiceHandlingError )
         {
         TEFLOGSTRING( 
@@ -985,7 +1001,7 @@
         errorInfo.iCallId = aCallId;
         errorInfo.iErrorType = EPECch;
         iEngineMonitor.HandleError( errorInfo );
-	    }
+        }
     else if ( message != KPEDontSendMessage && errorCode != KPEDontSendMessage )
         {
         // Map message for PhoneApplication, since it doesn't use 
@@ -1015,6 +1031,15 @@
             static_cast<MEngineMonitor::TPEMessagesFromPhoneEngine>( message ), 
             aCallId );
         }
+
+// <-- QT PHONE START -->
+        if( iParserRecognizer )
+            {
+            iParserRecognizer->sendMessage( aMessage, aCallId );
+            }
+// <-- QT PHONE END -->
+
+
     }// SendMessage( 2 params )
 
 // -----------------------------------------------------------------------------
@@ -1199,7 +1224,7 @@
             break;
             
         case MEngineMonitor::EPEMessageRemotePartyInfoChanged:
-            iMessageHandler->HandleRemotePartyInfoChanged( aCallId );
+            iMessageHandler->HandleRemotePartyInfoChanged( );
             break;    
 
         default:
@@ -1385,23 +1410,47 @@
         case CPEPhoneModel::EPEContactHandlingPhaseTwo:
             {
             TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 15.1" );
+// <-- QT PHONE START -->
             // Start Idle State monitor to finalize ContactHandling contruction
-            iIdleStatusMonitor = CPEIdleStatusMonitor::NewL (*this );     
+            //iIdleStatusMonitor = CPEIdleStatusMonitor::NewL (*this ); 
+            static_cast< CPEContactHandlingProxy* >( iContactHandling )->
+                   CreateSecondPhaseL( *this, iFsSession );
             TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 15.2" );
 
-            
+            // This should be set after the last case
+ 
+//            continueStepping = EFalse;
+// <-- QT PHONE END --> 
             break; 
             }
         case CPEPhoneModel::EPEMediatorCommandHandler:
             {
             TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 16.1" );
             // Start Mediator command listener
+// <-- QT PHONE START -->
             iMediatorCommunicationHandler = CPERemotePartyInfoMediator::NewL( *this );
             
-            // This should be set after the last case
-            continueStepping = EFalse;
             break; 
             }
+        case CPEPhoneModel::EPEPhoneServices:
+            {
+            TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 16.1" );
+            __ASSERT_DEBUG( iMessageHandler, Panic( EPEPanicNullPointer ) );
+            __ASSERT_DEBUG( iEngineInfo, Panic( EPEPanicNullPointer ) );
+            iPhoneServices = new PhoneServices (*iMessageHandler, *iEngineInfo);
+            TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 16.2" );
+            break;
+            }
+
+        case CPEPhoneModel::EPEParserRecognizer:
+            {
+            TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 17.1" );
+            iParserRecognizer = new ParserRecognizer;
+            TEFLOGSTRING( KTAOBJECT, "CPEPhoneModel::StepL: 17.2" );
+            continueStepping = EFalse;
+            break;
+            }
+// <-- QT PHONE END --> 
         default:
             {
             Panic( EPEPanicIndexOutOfRange );
--- a/phoneengine/phonemodel/src/cpeprofilesettingmonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpeprofilesettingmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -127,17 +127,17 @@
     iModel.DataStore()->SetTextToSpeech( toneSettings.iTextToSpeech );
                   
     TProfileKeypadVolume keypadVolume = toneSettings.iKeypadVolume;
-    	
+        
     if ( keypadVolume < EProfileKeypadVolumeOff 
         || keypadVolume > EProfileKeypadVolumeLevel3 )
-	    {
+        {
         // Value is out of range - use default
-		keypadVolume = EProfileKeypadVolumeLevel2; // default value
-	    }
-	
-	const TInt KKeypadVolume[4] = {0, 2, 5, 10}; // Previous PE settings
-	TInt volume = KKeypadVolume[ keypadVolume ];
-	iModel.DataStore()->SetKeypadVolume( volume );
+        keypadVolume = EProfileKeypadVolumeLevel2; // default value
+        }
+    
+    const TInt KKeypadVolume[4] = {0, 2, 5, 10}; // Previous PE settings
+    TInt volume = KKeypadVolume[ keypadVolume ];
+    iModel.DataStore()->SetKeypadVolume( volume );
 
     //  Get alert for group Ids
     iModel.DataStore()->SetAlertForGroup( activeProfile->AlertForL() );
@@ -145,8 +145,8 @@
     // Pop( activeProfile ) does not recognize ActiveProfileLC created 
     // item because of casting. However, functionality and cleanup works OK.
     CleanupStack::Pop(); // activeProfile
-	activeProfile->Release();
-	__UHEAP_MARKEND;
+    activeProfile->Release();
+    __UHEAP_MARKEND;
     }
 
 // -----------------------------------------------------------------------------
--- a/phoneengine/phonemodel/src/cpesettingscommand.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpesettingscommand.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -17,10 +17,10 @@
 
 
 // INCLUDES
-#include "CPESettingsCommand.h"
-#include "MPEPhoneModelInternal.h"
+#include "cpesettingscommand.h"
+#include "mpephonemodelinternal.h"
 #include <mpedatastore.h>
-#include <TALogger.h>
+#include <talogger.h>
 
 
 // LOCAL CONSTANTS
--- a/phoneengine/phonemodel/src/cpesimstatemonitor.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/phonemodel/src/cpesimstatemonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -138,8 +138,8 @@
 //
 void CPESimStateMonitor::StartMonitoring()
     {
-	iProperty.Subscribe( iStatus );
-	SetActive();
+    iProperty.Subscribe( iStatus );
+    SetActive();
     }
 
 // -----------------------------------------------------------------------------
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/bwins/phoneservicesu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,14 @@
+EXPORTS
+	??_EPhoneServices@@UAE@I@Z @ 1 NONAME ; PhoneServices::~PhoneServices(unsigned int)
+	?tr@PhoneServices@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString PhoneServices::tr(char const *, char const *, int)
+	??0PhoneServices@@QAE@AAVMPECallControlIF@@AAVMPECallSettersIF@@PAVQObject@@@Z @ 3 NONAME ; PhoneServices::PhoneServices(class MPECallControlIF &, class MPECallSettersIF &, class QObject *)
+	??1PhoneServices@@UAE@XZ @ 4 NONAME ; PhoneServices::~PhoneServices(void)
+	?trUtf8@PhoneServices@@SA?AVQString@@PBD0H@Z @ 5 NONAME ; class QString PhoneServices::trUtf8(char const *, char const *, int)
+	?metaObject@PhoneServices@@UBEPBUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const * PhoneServices::metaObject(void) const
+	?trUtf8@PhoneServices@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString PhoneServices::trUtf8(char const *, char const *)
+	?qt_metacall@PhoneServices@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8 NONAME ; int PhoneServices::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacast@PhoneServices@@UAEPAXPBD@Z @ 9 NONAME ; void * PhoneServices::qt_metacast(char const *)
+	?tr@PhoneServices@@SA?AVQString@@PBD0@Z @ 10 NONAME ; class QString PhoneServices::tr(char const *, char const *)
+	?getStaticMetaObject@PhoneServices@@SAABUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const & PhoneServices::getStaticMetaObject(void)
+	?staticMetaObject@PhoneServices@@2UQMetaObject@@B @ 12 NONAME ; struct QMetaObject const PhoneServices::staticMetaObject
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/eabi/phoneservicesu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,14 @@
+EXPORTS
+	_ZN13PhoneServices11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN13PhoneServices11qt_metacastEPKc @ 2 NONAME
+	_ZN13PhoneServices16staticMetaObjectE @ 3 NONAME DATA 16
+	_ZN13PhoneServices19getStaticMetaObjectEv @ 4 NONAME
+	_ZN13PhoneServicesC1ER16MPECallControlIFR16MPECallSettersIFP7QObject @ 5 NONAME
+	_ZN13PhoneServicesC2ER16MPECallControlIFR16MPECallSettersIFP7QObject @ 6 NONAME
+	_ZN13PhoneServicesD0Ev @ 7 NONAME
+	_ZN13PhoneServicesD1Ev @ 8 NONAME
+	_ZN13PhoneServicesD2Ev @ 9 NONAME
+	_ZNK13PhoneServices10metaObjectEv @ 10 NONAME
+	_ZTI13PhoneServices @ 11 NONAME
+	_ZTV13PhoneServices @ 12 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/inc/dialservice.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,147 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Dial API to be used through Qt Highway.
+*
+*/
+
+#ifndef DIALSERVICE_H
+#define DIALSERVICE_H
+
+#include <QObject>
+#include <QString>
+#include <xqserviceprovider.h>
+#include "mpecallcontrolif.h"
+#include "mpecallsettersif.h"
+
+class DialService : public XQServiceProvider
+{
+    Q_OBJECT
+public:
+    DialService(MPECallControlIF &call, MPECallSettersIF &parameters, QObject *parent = 0);
+    ~DialService();
+    
+public slots:
+    /*!
+        \fn dial(const QString& number)
+        
+        This method makes a cellular switched dial command to
+        Phone Application. It is intended to be used via Qt Highway.
+        
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","dial(QString)");
+        snd << "0501234567";        
+    */
+    int dial(const QString& number);
+    
+    /*!
+        \fn dial(const QString& number)
+        
+        This method makes a cellular switched dial command to
+        Phone Application. It is intended to be used via Qt Highway.
+        Caller's name is shown according to the given Phonebook contact
+        identifier.
+        
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","dial(QString,int)");
+        snd << "0501234567" << 123456;        
+    */
+    int dial(const QString& number, int contactId);
+    
+    /*!
+        \fn dialVideo(const QString& number)
+        
+        This method makes a video call dial command to
+        Phone Application. It is intended to be used via Qt Highway.
+        
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","dial(QString)");
+        snd << "0501234567";        
+    */
+    void dialVideo(const QString& number);
+
+    /*!
+        \fn dial(const QString& number)
+        
+        This method makes a video call dial command to
+        Phone Application. It is intended to be used via Qt Highway.
+        Caller's name is shown according to the given Phonebook contact
+        identifier.
+        
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","dial(QString,int)");
+        snd << "0501234567" << 123456;        
+    */
+    void dialVideo(const QString& number, int contactId);
+    
+    /*!
+        \fn dialVoip(const QString& address)
+        
+        This method makes a voip call dial command to
+        Phone Application. It is intended to be used via Qt Highway.
+        
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","dialVoip(QString)");
+        snd << "address@domain";        
+    */
+    void dialVoip(const QString& address);
+    
+    /*!
+        \fn dialVoip(const QString& address, int contactId)
+        
+        This method makes a voip call dial command to
+        Phone Application. It is intended to be used via Qt Highway.
+        Caller's name is shown according to the given Phonebook contact
+        identifier.
+        
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","dialVoip(QString,int)");
+        snd << "address@domain" << 123456;        
+    */
+    void dialVoip(const QString& address, int contactId);
+    
+    /*!
+        \fn dialVoipService(const QString& address, int contactId)
+        
+        This method makes a voip call dial command to
+        Phone Application. It is intended to be used via Qt Highway.
+        Call is made by given service (id).
+        
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","dialVoipService(QString,int)");
+        snd << "address@domain" << 123;        
+    */
+    void dialVoipService(const QString& address, int serviceId);
+    
+    /*!
+        \fn dialVoipService(const QString& address, int serviceId, int contactId)
+        
+        This method makes a voip call dial command to
+        Phone Application. It is intended to be used via Qt Highway.
+        Call is made by given service (id).
+        Caller's name is shown according to the given Phonebook contact
+        identifier.
+        
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","dialVoipService(QString,int,int)");
+        snd << "address@domain" << 123 << 12345;        
+    */
+    void dialVoipService(const QString& address, int serviceId, int contactId);
+
+
+private:
+    MPECallControlIF &m_call;
+    MPECallSettersIF &m_parameters;    
+};
+
+#endif // DIALERSERVICE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/inc/dtmfservice.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  DTMF API to be used through Qt Highway.
+*
+*/
+
+#ifndef DTMFSERVICE_H
+#define DTMFSERVICE_H
+
+#include <QObject>
+#include <QString>
+#include <xqserviceprovider.h>
+#include "mpecallcontrolif.h"
+#include "mpecallsettersif.h"
+
+class DTMFService : public XQServiceProvider
+{
+    Q_OBJECT
+public:
+    DTMFService(MPECallControlIF &call, MPECallSettersIF &parameters, QObject *parent = 0);
+    ~DTMFService();
+    
+public slots:
+    /*!
+        \fn recognizeKeySequence(const QString& keySequence)
+        
+        Client can use this method to execute key sequence recognition.
+        Key sequence may contain for example product codes etc. that
+        may cause lower layers to do any specific things.
+
+        If sequence isn't recognized this method doesn't do anything.
+        If sequence is recognized then task related to the code is executed.
+
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","executeKeySequence(QString)");
+        snd << "*#0000#";
+    */
+    void executeKeySequence(const QString& keySequence);
+    
+    /*!
+        \fn playDTMFTone(const QChar& keyToPlay)
+        
+        This method plays DTMF tone matching given character.
+        If character doesn't match any supported DTMF tone
+        it is ignored.
+        
+        Usage example:
+        XQServiceRequest snd("com.nokia.services.telephony","playDTMFTone(QChar)");
+        snd << "5";
+    */
+    void playDTMFTone(const QChar& keyToPlay);
+
+    /*!
+        \fn stopDTMFPlay()
+        
+        This method stops playing DTMF tone if it is currently played.
+    */
+    void stopDTMFPlay();
+    
+    
+private:
+    MPECallControlIF &m_call;
+    MPECallSettersIF &m_parameters;    
+};
+
+#endif // DTMFSERVICE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/inc/phoneservices.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 Services manages all Phone Engine's Qt Highway services.
+*
+*/
+
+#ifndef PHONESERVICES_H
+#define PHONESERVICES_H
+
+#include <QObject>
+#include "mpecallcontrolif.h"
+#include "mpecallsettersif.h"
+
+class DialService;
+class DTMFService;
+
+#ifdef BUILD_PHONESERVICES
+#define PHONESERVICES_EXPORT Q_DECL_EXPORT
+#else
+#define PHONESERVICES_EXPORT Q_DECL_IMPORT
+#endif
+
+class PHONESERVICES_EXPORT PhoneServices : public QObject
+{
+    Q_OBJECT
+public:
+    PhoneServices(MPECallControlIF &call, MPECallSettersIF &parameters, QObject *parent = 0);
+    ~PhoneServices();    
+    
+private:
+    DialService *dialService;
+    DTMFService *dtmfService;
+
+};
+
+#endif // PHONESERVICES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/phoneservices.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+#
+
+SOURCES=\
+    ./src/phoneservices.cpp \
+    ./src/dialservice.cpp \
+    ./src/dtmfservice.cpp
+
+HEADERS=\
+    ./inc/phoneservices.h \
+    ./inc/dialservice.h \
+    ./inc/dtmfservice.h
+    
+PHONESERVICES_API_HEADERS=\
+		./inc/phoneservices.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/phoneservices.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = lib
+TARGET = phoneservices
+
+symbian {
+    TARGET.UID3 = 0x20029F88
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.EPOCALLOWDLLDATA =1
+    DEFINES += BUILD_PHONESERVICES
+    
+    INCLUDEPATH += ../../inc \
+                   ../phonemodel/inc \
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
+    servicesDefFiles = \
+        "$${LITERAL_HASH}ifdef WINSCW" \
+         "DEFFILE bwins/phoneservices.def" \
+         "$${LITERAL_HASH}else" \
+         "DEFFILE eabi/phoneservices.def" \
+         "$${LITERAL_HASH}endif"
+    
+    MMP_RULES += servicesDefFiles
+
+    LIBS += -lxqservice \
+            -lxqserviceutil
+}
+
+# Input
+#include(\ext\mw\qthighway\xqservicebase.pri)
+include(./phoneservices.pri)
+
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/src/dialservice.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,116 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  dial service
+*
+*/
+
+#include <QDebug>
+#include <xqserviceutil.h>
+#include <e32base.h>
+#include "dialservice.h"
+
+DialService::DialService(MPECallControlIF &call, MPECallSettersIF &parameters, QObject* parent) : 
+    XQServiceProvider(QLatin1String("com.nokia.services.telephony"), parent), m_call (call), m_parameters (parameters)
+{
+    publishAll();
+}
+
+DialService::~DialService()
+{
+}
+
+int DialService::dial(const QString& number)
+{
+    qDebug () << "DialService::dial number:" << number;
+    TPtrC16 numberPtr (reinterpret_cast<const TUint16*>(number.utf16 ()));
+    m_parameters.SetPhoneNumber (numberPtr);
+    m_parameters.SetCallTypeCommand (EPECallTypeCSVoice);
+    return m_call.HandleDialServiceCall ();
+}
+
+int DialService::dial(const QString& number, int contactId)
+{
+    qDebug () << "DialService::dial number:" << number;
+    qDebug () << "DialService::dial contactId:" << contactId;
+    TPtrC16 numberPtr (reinterpret_cast<const TUint16*>(number.utf16 ()));
+    m_parameters.SetPhoneNumber (numberPtr);
+    m_parameters.SetCallTypeCommand (EPECallTypeCSVoice);
+    m_parameters.SetContactId2 (contactId);
+    return m_call.HandleDialServiceCall (); 
+}
+
+void DialService::dialVideo(const QString& number)
+{
+    qDebug () << "DialService::dialVideo number:" << number;
+    TPtrC16 numberPtr (reinterpret_cast<const TUint16*>(number.utf16 ()));
+    m_parameters.SetPhoneNumber (numberPtr);
+    m_parameters.SetCallTypeCommand (EPECallTypeVideo);
+    m_call.HandleDialServiceCall ();
+}
+
+void DialService::dialVideo(const QString& number, int contactId)
+{
+    qDebug () << "DialService::dialVideo number:" << number;
+    qDebug () << "DialService::dialVideo contactId:" << contactId;
+    TPtrC16 numberPtr (reinterpret_cast<const TUint16*>(number.utf16 ()));
+    m_parameters.SetPhoneNumber (numberPtr);
+    m_parameters.SetCallTypeCommand (EPECallTypeVideo);
+    m_parameters.SetContactId2 (contactId);
+    m_call.HandleDialServiceCall ();    
+}
+
+void DialService::dialVoip(const QString& address)
+{
+    qDebug () << "DialService::dialVoip number:" << address;
+    TPtrC16 numberPtr(reinterpret_cast<const TUint16*>(address.utf16 ()));
+    m_parameters.SetPhoneNumber(numberPtr);
+    m_parameters.SetCallTypeCommand(EPECallTypeVoIP);
+    m_call.HandleDialServiceCall();    
+}
+
+void DialService::dialVoip(const QString& address, int contactId)
+{
+    qDebug () << "DialService::dialVoip number:" << address;
+    qDebug () << "DialService::dialVoip contactId:" << contactId;
+    TPtrC16 numberPtr (reinterpret_cast<const TUint16*>(address.utf16 ()));
+    m_parameters.SetPhoneNumber(numberPtr);
+    m_parameters.SetCallTypeCommand(EPECallTypeVoIP);
+    m_parameters.SetContactId2(contactId);
+    m_call.HandleDialServiceCall();    
+}
+
+void DialService::dialVoipService(const QString& address, int serviceId)
+{
+    qDebug () << "DialService::dialVoipService number:" << address;
+    qDebug () << "DialService::dialVoipService serviceId:" << serviceId;
+    TPtrC16 numberPtr (reinterpret_cast<const TUint16*>(address.utf16 ()));
+    m_parameters.SetPhoneNumber(numberPtr);
+    m_parameters.SetCallTypeCommand(EPECallTypeVoIP);
+    m_parameters.SetServiceIdCommand(serviceId);
+    m_call.HandleDialServiceCall();    
+}
+
+void DialService::dialVoipService(
+        const QString& address, int serviceId, int contactId)
+{
+    qDebug () << "DialService::dialVoipService number:" << address;
+    qDebug () << "DialService::dialVoipService serviceId:" << serviceId;
+    qDebug () << "DialService::dialVoipService contactId:" << contactId;
+    TPtrC16 numberPtr (reinterpret_cast<const TUint16*>(address.utf16 ()));
+    m_parameters.SetPhoneNumber(numberPtr);
+    m_parameters.SetCallTypeCommand(EPECallTypeVoIP);
+    m_parameters.SetServiceIdCommand(serviceId);
+    m_parameters.SetContactId2(contactId);
+    m_call.HandleDialServiceCall();    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/src/dtmfservice.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  DTMF API to be used through Qt Highway.
+*
+*/
+
+#include <QDebug>
+#include <xqserviceutil.h>
+#include <e32base.h>
+#include "dtmfservice.h"
+
+DTMFService::DTMFService(MPECallControlIF &call, MPECallSettersIF &parameters, QObject* parent) : 
+    XQServiceProvider(QLatin1String("com.nokia.services.telephony.dtmf"), parent), m_call (call), m_parameters (parameters)
+{
+    publishAll();
+}
+
+DTMFService::~DTMFService()
+{
+}
+
+void DTMFService::executeKeySequence(const QString& keySequence)
+{
+    qDebug () << "DTMFService::executeKeySequence keySequence:" << keySequence;
+    TPtrC16 keySequencePtr (reinterpret_cast<const TUint16*>(keySequence.utf16 ()));
+    m_parameters.SetPhoneNumber (keySequencePtr);   
+}
+
+void DTMFService::playDTMFTone(const QChar& keyToPlay)
+{
+    qDebug () << "DTMFService::playDTMFTone keyToPlay:" << keyToPlay;
+    m_parameters.SetKeyCode(keyToPlay.unicode());
+    TRAP_IGNORE( m_call.HandlePlayDTMFL() );
+}
+
+void DTMFService::stopDTMFPlay()
+{
+    qDebug () << "DTMFService::stopDTMFPlay";
+    m_call.HandleEndDTMF(); 
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/src/phoneservices.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Phone Services manages all Phone Engine's Qt Highway services.
+*
+*/
+
+#include <QDebug>
+#include "phoneservices.h"
+#include "dialservice.h"
+#include "dtmfservice.h"
+
+PhoneServices::PhoneServices(MPECallControlIF &call, MPECallSettersIF &parameters, QObject* parent) : 
+    QObject(parent)
+{
+    qDebug () << "PhoneServices::PhoneServices";
+    dialService = new DialService(call, parameters, this);
+    dtmfService = new DTMFService(call, parameters, this);
+}
+
+PhoneServices::~PhoneServices()
+{
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/runtests.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,29 @@
+@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
+
+del \epoc32\winscw\c\private\EEE39B3F\ut_phoneservices.log
+\epoc32\release\winscw\udeb\ut_phoneservices.exe -o ut_phoneservices.log
+type \epoc32\winscw\c\private\EEE39B3F\ut_phoneservices.log
+
+del \epoc32\winscw\c\private\E31F4ECE\ut_dialservice.log
+\epoc32\release\winscw\udeb\ut_dialservice.exe -o ut_dialservice.log
+type \epoc32\winscw\c\private\E31F4ECE\ut_dialservice.log
+
+del \epoc32\winscw\c\private\EEE39B2F\ut_dtmfservice.log
+\epoc32\release\winscw\udeb\ut_dtmfservice.exe -o ut_dtmfservice.log
+type \epoc32\winscw\c\private\EEE39B2F\ut_dtmfservice.log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/unit.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,21 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = subdirs
+SUBDIRS += ut_phoneservices
+SUBDIRS += ut_dialservice
+SUBDIRS += ut_dtmfservice
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_dialservice/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,289 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 DialService.
+*
+*/
+
+#include <QtTest/QtTest>
+
+//#include <hbglobal_p.h>
+#include "dialservice.h"
+
+class TestDialService : public QObject, public MPECallControlIF, public MPECallSettersIF
+{
+    Q_OBJECT
+public:
+    TestDialService();
+    virtual ~TestDialService();    
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup ();
+    
+public:
+    void SetKeyCode( const TChar& aKeyCode );
+    void SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber );
+    void SetCallTypeCommand( const TPECallType& aCallType );
+    TInt HandleDialServiceCall( const TBool aClientCall = EFalse );
+    void HandlePlayDTMFL();
+    TInt HandleEndDTMF();
+    void SetContactId2( const TInt aContactId );
+    void SetServiceIdCommand( TUint32 aServiceId );
+    
+private slots:
+    void testDial ();
+    void testDial2 ();
+    void testDialVideo ();
+    void testDialVideo2 ();
+    void testDialVoip();
+    void testDialVoip2();
+    void testDialVoipService();
+    void testDialVoipService2();
+//    void testExecuteKeySequence ();
+//    void testPlayDTMFTone ();
+//    void testStopDTMFPlay ();
+
+private:
+    DialService *m_DialService; // class under test
+    bool m_setPhoneNumberCalled;
+    bool m_setCallTypeCommandCalled;
+    bool m_handleDialCallCalled;
+    TPEPhoneNumber m_phoneNumber;
+    TPECallType m_callType;
+    bool m_clientCall;
+    int m_contactId;
+    bool m_setContactIdCalled;
+    bool m_handleEndDTMFCalled;
+    bool m_handlePlayDTMFLCalled;
+    bool m_setKeyCodeCalled;
+    bool m_setServiceIdCalled;
+    int m_serviceId;
+    ushort keyValue;
+};
+
+TestDialService::TestDialService ()
+{
+}
+
+TestDialService::~TestDialService ()
+{
+}
+
+void TestDialService::initTestCase ()
+{
+}
+
+void TestDialService::cleanupTestCase ()
+{
+}
+
+void TestDialService::init ()
+{
+    m_setPhoneNumberCalled = false;
+    m_setCallTypeCommandCalled = false;
+    m_handleDialCallCalled = false;
+    m_clientCall = false;
+    m_setContactIdCalled = false;
+    m_contactId = -1;
+    m_handleEndDTMFCalled = false;
+    m_handlePlayDTMFLCalled = false;
+    m_setKeyCodeCalled = false;
+    keyValue = -1;
+    m_DialService = new DialService (*this, *this, this);
+}
+
+void TestDialService::cleanup ()
+{
+    delete m_DialService;
+}
+
+void TestDialService::SetKeyCode( const TChar& aKeyCode )
+{
+    m_setKeyCodeCalled = true;
+    keyValue = aKeyCode;
+}
+
+void TestDialService::SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber )
+{
+    m_setPhoneNumberCalled = true;
+    m_phoneNumber = aPhoneNumber;	
+}
+
+void TestDialService::SetCallTypeCommand( const TPECallType& aCallType )
+{
+    m_setCallTypeCommandCalled = true;
+    m_callType = aCallType;	
+}
+
+void TestDialService::HandlePlayDTMFL()
+{
+    m_handlePlayDTMFLCalled = true;
+}
+
+TInt TestDialService::HandleEndDTMF()
+{
+    m_handleEndDTMFCalled = true;
+    return 0;
+}
+
+void TestDialService::SetContactId2( const TInt aContactId )
+{
+    m_setContactIdCalled = true;
+    m_contactId = aContactId;	
+}
+
+void TestDialService::SetServiceIdCommand( TUint32 aServiceId )
+{
+    m_setServiceIdCalled = true;
+    m_serviceId = aServiceId;   
+}
+
+TInt TestDialService::HandleDialServiceCall( const TBool aClientCall )
+{
+    m_handleDialCallCalled = true;
+    m_clientCall = aClientCall;
+    return KErrNone;
+}
+
+void TestDialService::testDial()
+{
+    m_DialService->dial(QString("0501234567"));
+    QString number((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QVERIFY (m_setPhoneNumberCalled == true);
+    QCOMPARE(number, QString("0501234567"));
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QCOMPARE((int)m_callType, (int)EPECallTypeCSVoice);
+    QVERIFY (m_handleDialCallCalled == true);
+    QVERIFY (m_clientCall == false);
+}
+
+void TestDialService::testDial2()
+{
+    m_DialService->dial(QString("0501234567"), 3127);
+    QString number((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QVERIFY (m_setPhoneNumberCalled == true);
+    QCOMPARE(number, QString("0501234567"));
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QCOMPARE((int)m_callType, (int)EPECallTypeCSVoice);
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QVERIFY (m_setContactIdCalled == true);
+    QCOMPARE (m_contactId, 3127);
+    QVERIFY (m_clientCall == false);
+}
+
+void TestDialService::testDialVideo()
+{
+    m_DialService->dialVideo(QString("0501234567"));
+    QString number((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QVERIFY (m_setPhoneNumberCalled == true);
+    QCOMPARE(number, QString("0501234567"));
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QCOMPARE((int)m_callType, (int)EPECallTypeVideo);
+    QVERIFY (m_handleDialCallCalled == true);
+    QVERIFY (m_clientCall == false);
+}
+
+void TestDialService::testDialVideo2()
+{
+    m_DialService->dialVideo(QString("+358501234567"), 12345);
+    QString number((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QVERIFY (m_setPhoneNumberCalled == true);
+    QCOMPARE(number, QString("+358501234567"));
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QCOMPARE((int)m_callType, (int)EPECallTypeVideo);
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QVERIFY (m_setContactIdCalled == true);
+    QCOMPARE (m_contactId, 12345);
+    QVERIFY (m_clientCall == false);
+}
+
+void TestDialService::testDialVoip()
+{
+    m_DialService->dialVoip(QString("address@domain"));
+    QString number((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QVERIFY (m_setPhoneNumberCalled == true);
+    QCOMPARE(number, QString("address@domain"));
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QCOMPARE((int)m_callType, (int)EPECallTypeVoIP);
+}
+
+void TestDialService::testDialVoip2()
+{
+    m_DialService->dialVoip(QString("address@domain"), 123);
+    QString number((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QVERIFY (m_setPhoneNumberCalled == true);
+    QCOMPARE(number, QString("address@domain"));
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QCOMPARE((int)m_callType, (int)EPECallTypeVoIP);
+    QVERIFY (m_setContactIdCalled == true);
+    QCOMPARE (m_contactId, 123);
+    QVERIFY (m_clientCall == false);
+}
+
+void TestDialService::testDialVoipService()
+{
+    m_DialService->dialVoipService(QString("address@domain"), 123);
+    QString number((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QVERIFY (m_setPhoneNumberCalled == true);
+    QCOMPARE(number, QString("address@domain"));
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QCOMPARE((int)m_callType, (int)EPECallTypeVoIP);
+    QVERIFY (m_setServiceIdCalled == true);
+    QCOMPARE (m_serviceId, 123);
+    QVERIFY (m_clientCall == false);
+}
+
+void TestDialService::testDialVoipService2()
+{
+    m_DialService->dialVoipService(QString("address@domain"), 123, 12345);
+    QString number((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QVERIFY (m_setPhoneNumberCalled == true);
+    QCOMPARE(number, QString("address@domain"));
+    QVERIFY (m_setCallTypeCommandCalled == true);
+    QCOMPARE((int)m_callType, (int)EPECallTypeVoIP);
+    QVERIFY (m_setServiceIdCalled == true);
+    QCOMPARE (m_serviceId, 123);
+    QVERIFY (m_setContactIdCalled == true);
+    QCOMPARE (m_contactId, 12345);
+    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::testPlayDTMFTone()
+{
+    QChar six('6');
+    m_DialService->playDTMFTone(six);
+    QVERIFY (m_setKeyCodeCalled == true);
+    QCOMPARE (keyValue, six.unicode());
+    QVERIFY (m_handlePlayDTMFLCalled == true);
+}
+
+void TestDialService::testStopDTMFPlay()
+{
+    m_DialService->stopDTMFPlay();
+    QVERIFY (m_handleEndDTMFCalled == true);
+}
+*/
+QTEST_MAIN(TestDialService)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_dialservice/ut_dialservice.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+TARGET.UID3 = 0xE31F4ECE
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+
+symbian {
+
+    INCLUDEPATH += \epoc32\include\platform \
+                   \epoc32\include\platform\mw \
+                   \epoc32\include\mw \
+                   ../../../phoneuiutils/inc \
+                   ../../../phoneuicontrol/inc \
+                   ../../../phoneuiqtviewadapter/src \
+                   ../../../../inc
+
+    LIBS += -lxqservice \
+            -lxqserviceutil \
+            -lphoneuicontrol
+
+    TARGET.CAPABILITY = ALL -TCB
+}
+
+# Input
+HEADERS += ../../inc/dialservice.h
+SOURCES += unit_tests.cpp
+SOURCES += ../../src/dialservice.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_dtmfservice/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,185 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 DTMFService.
+*
+*/
+
+#include <QtTest/QtTest>
+
+//#include <hbglobal_p.h>
+#include "dtmfservice.h"
+
+class TestDTMFService : public QObject, public MPECallControlIF, public MPECallSettersIF
+{
+    Q_OBJECT
+public:
+    TestDTMFService();
+    virtual ~TestDTMFService();    
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup ();
+    
+public:
+    void SetKeyCode( const TChar& aKeyCode );
+    void SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber );
+    void SetCallTypeCommand( const TPECallType& aCallType );
+    TInt HandleDialServiceCall( const TBool aClientCall = EFalse );
+    void HandlePlayDTMFL();
+    TInt HandleEndDTMF();
+    void SetContactId2( const TInt aContactId );
+    void SetServiceIdCommand( TUint32 aServiceId );
+    
+private slots:
+    void testExecuteKeySequence ();
+    void testPlayDTMFTone ();
+    void testStopDTMFPlay ();
+
+private:
+    DTMFService *m_dtmfService; // class under test
+    bool m_setPhoneNumberCalled;
+    bool m_setCallTypeCommandCalled;
+    bool m_handleDialCallCalled;
+    TPEPhoneNumber m_phoneNumber;
+    TPECallType m_callType;
+    bool m_clientCall;
+    int m_contactId;
+    bool m_setContactIdCalled;
+    bool m_handleEndDTMFCalled;
+    bool m_handlePlayDTMFLCalled;
+    bool m_setKeyCodeCalled;
+    bool m_handlePlayDtmfLeave;
+    ushort keyValue;
+};
+
+TestDTMFService::TestDTMFService ()
+{
+}
+
+TestDTMFService::~TestDTMFService ()
+{
+}
+
+void TestDTMFService::initTestCase ()
+{
+}
+
+void TestDTMFService::cleanupTestCase ()
+{
+}
+
+void TestDTMFService::init ()
+{
+    m_setPhoneNumberCalled = false;
+    m_setCallTypeCommandCalled = false;
+    m_handleDialCallCalled = false;
+    m_clientCall = false;
+    m_setContactIdCalled = false;
+    m_contactId = -1;
+    m_handleEndDTMFCalled = false;
+    m_handlePlayDTMFLCalled = false;
+    m_setKeyCodeCalled = false;
+    m_handlePlayDtmfLeave = false;
+    keyValue = -1;
+    m_dtmfService = new DTMFService (*this, *this, this);
+}
+
+void TestDTMFService::cleanup ()
+{
+    delete m_dtmfService;
+}
+
+void TestDTMFService::SetKeyCode( const TChar& aKeyCode )
+{
+    m_setKeyCodeCalled = true;
+    keyValue = aKeyCode;
+}
+
+void TestDTMFService::SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber )
+{
+    m_setPhoneNumberCalled = true;
+    m_phoneNumber = aPhoneNumber;	
+}
+
+void TestDTMFService::SetCallTypeCommand( const TPECallType& aCallType )
+{
+    m_setCallTypeCommandCalled = true;
+    m_callType = aCallType;	
+}
+
+void TestDTMFService::HandlePlayDTMFL()
+{
+    m_handlePlayDTMFLCalled = true;
+    
+    if (m_handlePlayDtmfLeave)
+        User::Leave(KErrNotFound);
+}
+
+TInt TestDTMFService::HandleEndDTMF()
+{
+    m_handleEndDTMFCalled = true;
+    return 0;
+}
+
+void TestDTMFService::SetContactId2( const TInt aContactId )
+{
+    m_setContactIdCalled = true;
+    m_contactId = aContactId;	
+}
+
+void TestDTMFService::SetServiceIdCommand( TUint32 aServiceId )
+{
+
+}
+
+TInt TestDTMFService::HandleDialServiceCall( const TBool aClientCall )
+{
+    m_handleDialCallCalled = true;
+    m_clientCall = aClientCall;
+    return KErrNone;
+}
+
+void TestDTMFService::testExecuteKeySequence()
+{
+    m_dtmfService->executeKeySequence(QString("*#0000#"));
+    QString keySequence((QChar*)m_phoneNumber.Ptr(), m_phoneNumber.Length());
+    QVERIFY (m_setPhoneNumberCalled == true);
+    QCOMPARE (keySequence, QString("*#0000#"));
+}
+
+void TestDTMFService::testPlayDTMFTone()
+{
+    QChar six('6');
+    m_dtmfService->playDTMFTone(six);
+    QVERIFY (m_setKeyCodeCalled == true);
+    QCOMPARE (keyValue, six.unicode());
+    QVERIFY (m_handlePlayDTMFLCalled == true);
+    
+    m_handlePlayDtmfLeave = true;
+    
+    TRAP_IGNORE(m_dtmfService->playDTMFTone(six));
+    
+    m_handlePlayDtmfLeave = false;
+}
+
+void TestDTMFService::testStopDTMFPlay()
+{
+    m_dtmfService->stopDTMFPlay();
+    QVERIFY (m_handleEndDTMFCalled == true);
+}
+
+QTEST_MAIN(TestDTMFService)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_dtmfservice/ut_dtmfservice.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+TARGET.UID3 = 0xEEE39B2F
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+
+symbian {
+
+    INCLUDEPATH += \epoc32\include\platform \
+                   \epoc32\include\platform\mw \
+                   \epoc32\include\mw \
+                   ../../../phoneuiutils/inc \
+                   ../../../phoneuicontrol/inc \
+                   ../../../phoneuiqtviewadapter/src \
+                   ../../../../inc
+
+    LIBS += -lxqservice \
+            -lxqserviceutil \
+            -lphoneuicontrol
+
+    TARGET.CAPABILITY = ALL -TCB
+}
+
+# Input
+HEADERS += ../../inc/dtmfservice.h
+SOURCES += unit_tests.cpp
+SOURCES += ../../src/dtmfservice.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_phoneservices/unit_tests.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,261 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 Phone Services.
+*
+*/
+
+#include <QtTest/QtTest>
+
+//#include <hbglobal_p.h>
+#include "phoneservices.h"
+#include "dialservice.h"
+#include "dtmfservice.h"
+
+bool m_dialServiceConstructed;
+bool m_dtmfServiceConstructed;
+MPECallControlIF* m_dialServiceCallPointer;
+MPECallSettersIF* m_dialServiceParameterPointer;
+MPECallControlIF* m_dtmfServiceCallPointer;
+MPECallSettersIF* m_dtmfServiceParameterPointer;
+
+class TestPhoneServices : public QObject, public MPECallControlIF, public MPECallSettersIF
+{
+    Q_OBJECT
+public:
+    TestPhoneServices();
+    virtual ~TestPhoneServices();    
+
+public slots:
+    void initTestCase ();
+    void cleanupTestCase ();
+    void init ();
+    void cleanup ();
+    
+public:
+    void SetKeyCode( const TChar& aKeyCode );
+    void SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber );
+    void SetCallTypeCommand( const TPECallType& aCallType );
+    TInt HandleDialServiceCall( const TBool aClientCall = EFalse );
+    void HandlePlayDTMFL();
+    TInt HandleEndDTMF();
+    void SetContactId2( const TInt aContactId );
+    void SetServiceIdCommand( TUint32 aServiceId );
+    
+private slots:
+    void testPhoneServiceStartup();
+
+private:
+    PhoneServices *m_phoneServices; // class under test
+    bool m_setPhoneNumberCalled;
+    bool m_setCallTypeCommandCalled;
+    bool m_handleDialCallCalled;
+    TPEPhoneNumber m_phoneNumber;
+    TPECallType m_callType;
+    bool m_clientCall;
+    int m_contactId;
+    bool m_setContactIdCalled;
+    bool m_handleEndDTMFCalled;
+    bool m_handlePlayDTMFLCalled;
+    bool m_setKeyCodeCalled;
+    ushort keyValue;
+};
+
+DialService::DialService(MPECallControlIF &call, MPECallSettersIF &parameters, QObject* parent) : 
+    XQServiceProvider(QLatin1String("com.nokia.services.telephony"), parent), m_call (call), m_parameters (parameters)
+{
+    m_dialServiceConstructed = true;
+    m_dialServiceCallPointer = &call;
+    m_dialServiceParameterPointer = &parameters;
+}
+
+DialService::~DialService()
+{
+}
+
+int DialService::dial(const QString& number)
+{
+    Q_UNUSED(number);
+    return 0;
+}
+
+int DialService::dial(const QString& number, int contactId)
+{
+    Q_UNUSED(number);
+    Q_UNUSED (contactId);
+    return 0;
+}
+
+void DialService::dialVideo(const QString& number)
+{
+    Q_UNUSED(number);
+}
+
+void DialService::dialVideo(const QString& number, int contactId)
+{
+    Q_UNUSED(number);
+    Q_UNUSED(contactId);
+}
+
+void DialService::dialVoip(const QString& address)
+{
+Q_UNUSED(address);
+}
+
+void DialService::dialVoip(const QString& address, int contactId)
+{
+Q_UNUSED(address);
+Q_UNUSED(contactId);
+}
+
+void DialService::dialVoipService(const QString& address, int serviceId)
+{
+Q_UNUSED(address);
+Q_UNUSED(serviceId);
+}
+
+void DialService::dialVoipService(
+        const QString& address, int serviceId, int contactId)
+{
+Q_UNUSED(address);
+Q_UNUSED(serviceId);
+Q_UNUSED(contactId);
+}
+
+DTMFService::DTMFService(MPECallControlIF &call, MPECallSettersIF &parameters, QObject* parent) : 
+    XQServiceProvider(QLatin1String("com.nokia.services.telephony.dtmf"), parent), m_call (call), m_parameters (parameters)
+{
+    m_dtmfServiceConstructed = true;
+    m_dtmfServiceCallPointer = &call;
+    m_dtmfServiceParameterPointer = &parameters;
+}
+
+DTMFService::~DTMFService()
+{
+}
+
+void DTMFService::executeKeySequence(const QString& keySequence)
+{
+    Q_UNUSED(keySequence);
+}
+
+void DTMFService::playDTMFTone(const QChar& keyToPlay)
+{
+    Q_UNUSED(keyToPlay);
+}
+
+void DTMFService::stopDTMFPlay()
+{
+}
+
+TestPhoneServices::TestPhoneServices ()
+{
+}
+
+TestPhoneServices::~TestPhoneServices ()
+{
+}
+
+void TestPhoneServices::initTestCase ()
+{
+}
+
+void TestPhoneServices::cleanupTestCase ()
+{
+}
+
+void TestPhoneServices::init ()
+{
+    m_setPhoneNumberCalled = false;
+    m_setCallTypeCommandCalled = false;
+    m_handleDialCallCalled = false;
+    m_clientCall = false;
+    m_setContactIdCalled = false;
+    m_contactId = -1;
+    m_handleEndDTMFCalled = false;
+    m_handlePlayDTMFLCalled = false;
+    m_setKeyCodeCalled = false;
+    keyValue = -1;
+    m_dialServiceConstructed = false;
+    m_dtmfServiceConstructed = false;
+    
+    m_phoneServices = new PhoneServices (*this, *this, this);
+
+    QVERIFY(m_dialServiceConstructed == true);
+    QVERIFY(m_dialServiceCallPointer == this);
+    QVERIFY(m_dialServiceParameterPointer == this);
+    
+    QVERIFY(m_dtmfServiceConstructed == true);
+    QVERIFY(m_dtmfServiceCallPointer == this);
+    QVERIFY(m_dtmfServiceParameterPointer == this);
+}
+
+void TestPhoneServices::cleanup ()
+{
+    delete m_phoneServices;
+}
+
+void TestPhoneServices::SetKeyCode( const TChar& aKeyCode )
+{
+    m_setKeyCodeCalled = true;
+    keyValue = aKeyCode;
+}
+
+void TestPhoneServices::SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber )
+{
+    m_setPhoneNumberCalled = true;
+    m_phoneNumber = aPhoneNumber;	
+}
+
+void TestPhoneServices::SetCallTypeCommand( const TPECallType& aCallType )
+{
+    m_setCallTypeCommandCalled = true;
+    m_callType = aCallType;	
+}
+
+void TestPhoneServices::HandlePlayDTMFL()
+{
+    m_handlePlayDTMFLCalled = true;
+}
+
+TInt TestPhoneServices::HandleEndDTMF()
+{
+    m_handleEndDTMFCalled = true;
+    return 0;
+}
+
+void TestPhoneServices::SetContactId2( const TInt aContactId )
+{
+    m_setContactIdCalled = true;
+    m_contactId = aContactId;	
+}
+
+void TestPhoneServices::SetServiceIdCommand( TUint32 aServiceId )
+{
+	
+}
+
+TInt TestPhoneServices::HandleDialServiceCall( const TBool aClientCall )
+{
+    m_handleDialCallCalled = true;
+    m_clientCall = aClientCall;
+    return KErrNone;
+}
+
+void TestPhoneServices::testPhoneServiceStartup()
+{
+
+}
+
+QTEST_MAIN(TestPhoneServices)
+#include "unit_tests.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/phoneservices/tsrc/ut_phoneservices/ut_phoneservices.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+TARGET.UID3 = 0xEEE39B3F
+DEPENDPATH += .
+INCLUDEPATH += .
+CONFIG += hb
+CONFIG += qtestlib
+
+symbian {
+
+    INCLUDEPATH += \epoc32\include\platform \
+                   \epoc32\include\platform\mw \
+                   \epoc32\include\mw \
+                   ../../../phoneuiutils/inc \
+                   ../../../phoneuicontrol/inc \
+                   ../../../phoneuiqtviewadapter/src \
+                   ../../../../inc
+
+    LIBS += -lxqservice \
+            -lxqserviceutil
+
+    TARGET.CAPABILITY = ALL -TCB
+    DEFINES += BUILD_PHONESERVICES
+}
+
+# Input
+HEADERS += ../../inc/phoneservices.h
+HEADERS += ../../inc/dialservice.h
+HEADERS += ../../inc/dtmfservice.h
+SOURCES += ../../src/phoneservices.cpp
+SOURCES += unit_tests.cpp
--- a/phoneengine/servicehandling/eabi/peservicehandlingu.def	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/servicehandling/eabi/peservicehandlingu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -4,6 +4,6 @@
 	_ZN18CPEServiceHandlingD0Ev @ 3 NONAME
 	_ZN18CPEServiceHandlingD1Ev @ 4 NONAME
 	_ZN18CPEServiceHandlingD2Ev @ 5 NONAME
-	_ZThn8_N18CPEServiceHandlingD0Ev @ 6 NONAME ; #<thunk>#
-	_ZThn8_N18CPEServiceHandlingD1Ev @ 7 NONAME ; #<thunk>#
+	_ZThn4_N18CPEServiceHandlingD0Ev @ 6 NONAME
+	_ZThn4_N18CPEServiceHandlingD1Ev @ 7 NONAME
 
--- a/phoneengine/servicehandling/group/peservicehandling.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/servicehandling/group/peservicehandling.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -37,6 +37,8 @@
 SYSTEMINCLUDE   ../../../inc    // Telephony internal headers
 
 LIBRARY                 euser.lib
-LIBRARY                 cch.lib	
+// <-- QT PHONE START -->
+//LIBRARY                 cch.lib   
+// <-- QT PHONE END -->
 LIBRARY                 flogger.lib     // for logging
 
--- a/phoneengine/servicehandling/inc/cpeservicehandling.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/servicehandling/inc/cpeservicehandling.h	Fri Mar 19 09:28:42 2010 +0200
@@ -20,7 +20,9 @@
 #define C_PESERVICEHANDLING_H
 
 #include <e32base.h>
-#include <cch.h>
+// <-- QT PHONE START -->
+// #include <cch.h>
+// <-- QT PHONE END -->
 #include "mpeservicehandling.h"
 
 class  MPEPhoneModelInternal;
@@ -33,29 +35,31 @@
  *  @since S60 v5.0
  */
 NONSHARABLE_CLASS( CPEServiceHandling ): public CBase,
-                                         public MCchServiceStatusObserver,
+// <-- QT PHONE START -->
+                                         //public MCchServiceStatusObserver,
+// <-- QT PHONE END -->
                                          public MPEServiceHandling
     {
 
-	public: // Constructors and destructor
+    public: // Constructors and destructor
 
-	    /**
-	     * Two-phased constructor.
-	     */
-	    IMPORT_C static CPEServiceHandling* NewL( MPEPhoneModelInternal& aModel );
+        /**
+         * Two-phased constructor.
+         */
+        IMPORT_C static CPEServiceHandling* NewL( MPEPhoneModelInternal& aModel );
 
-	    /**
-	     * Two-phased constructor.
-	     */
-	    IMPORT_C static CPEServiceHandling* NewLC( MPEPhoneModelInternal& aModel );
+        /**
+         * Two-phased constructor.
+         */
+        IMPORT_C static CPEServiceHandling* NewLC( MPEPhoneModelInternal& aModel );
 
-	    /**
-	     * Destructors.
-	     */
-	    IMPORT_C virtual ~CPEServiceHandling();
+        /**
+         * Destructors.
+         */
+        IMPORT_C virtual ~CPEServiceHandling();
 
-	public: // from MPEServiceHandling
-	
+    public: // from MPEServiceHandling
+    
         /**
          * From MPEServiceHandling.
          * Enables service defined by the given identifier.
@@ -65,15 +69,15 @@
          * 
          * @since   S60 5.0
          * @param   aServiceId      Identifier of the service.
-         */	                                    
-	    void EnableServiceL( TInt aServiceId );
-	   
+         */                                     
+        void EnableServiceL( TInt aServiceId );
+       
         /**
          * From MPEServiceHandling.
          * Cancel current service.
          */ 
-	    void CancelServiceEnabling() const;
-	    
+        void CancelServiceEnabling() const;
+        
         /**
          * From MPEServiceHandling.
          * Disable service.
@@ -90,10 +94,12 @@
          * @param   aType           Service type.
          * @param   aServiceStatus  Service status.
          */
-        void ServiceStatusChanged( TInt aServiceId, 
+        // <-- QT PHONE START -->
+        /*void ServiceStatusChanged( TInt aServiceId, 
                                    const TCCHSubserviceType aType,
-                                   const TCchServiceStatus& aServiceStatus );
-	private: // Constructors
+                                   const TCchServiceStatus& aServiceStatus );*/
+        // <-- QT PHONE END -->
+    private: // Constructors
 
         /**
          * C++ default constructor.
@@ -104,7 +110,7 @@
          * By default Symbian 2nd phase constructor is private.
          */
         void ConstructL();
-	    
+        
     private: // functions
     
         /**
@@ -114,34 +120,39 @@
          * @param  aService     Service.
          * @return Error code.
          */
-        TInt EnableServiceIfNeeded( const TCCHSubserviceState& aState, 
-                                    CCchService& aService );
+        // <-- QT PHONE START -->
+        /*TInt EnableServiceIfNeeded( const TCCHSubserviceState& aState, 
+                                    CCchService& aService );*/
+        
         /**
         * Sends ServiceHandlingError message to PhoneEngine and saves 
         * errorcode to member variable.
         * 
         * @param  aErrorCode, Cch errorcode.
-        */	    
-        void SendErrorMessage( TInt aErrorCode );
+        */      
+        //void SendErrorMessage( TInt aErrorCode );
+        // <-- QT PHONE END -->
        
-	private: // data
-	    
-	    /**
-	     * CCH client.
-	     * Own.
-	     */
-	    CCch* iCchClient;
+    private: // data
+        
+        /**
+         * CCH client.
+         * Own.
+         */
+        // <-- QT PHONE START -->
+        //CCch* iCchClient;
+        // <-- QT PHONE END -->
 
-	    /**
-	     * PhoneModel.
-	     * Not own.
-	     */
-	    MPEPhoneModelInternal& iModel;
-	    
-	    /**
-	     * Current service identifier.
-	     */
-	    TInt iCurrentServiceId;
+        /**
+         * PhoneModel.
+         * Not own.
+         */
+        MPEPhoneModelInternal& iModel;
+        
+        /**
+         * Current service identifier.
+         */
+        TInt iCurrentServiceId;
     };
 
 #endif // C_PESERVICEHANDLING_H
--- a/phoneengine/servicehandling/inc/mpeservicehandling.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/servicehandling/inc/mpeservicehandling.h	Fri Mar 19 09:28:42 2010 +0200
@@ -49,7 +49,7 @@
          * (EPEMessageServiceEnabled) to PhoneEngine. 
          * 
          * @param   aServiceId      Identifier of the service.
-         */	                                    
+         */                                     
         virtual void EnableServiceL( TInt aServiceId ) = 0;
         
         /**
--- a/phoneengine/servicehandling/src/cpeservicehandling.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneengine/servicehandling/src/cpeservicehandling.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -75,73 +75,82 @@
 EXPORT_C CPEServiceHandling::~CPEServiceHandling()
     {
     TEFLOGSTRING( KTAOBJECT, "PE CPEServiceHandling::~CPEServiceHandling" );
-    delete iCchClient;
+    // <-- QT PHONE START -->
+    // delete iCchClient;
+    // <-- QT PHONE END -->
     }
 
+// <-- QT PHONE START -->
 // ---------------------------------------------------------------------------
 // CPEServiceHandling::EnableService
 // ---------------------------------------------------------------------------
 //
-void CPEServiceHandling::EnableServiceL( TInt aServiceId )
-	{
+void CPEServiceHandling::EnableServiceL( TInt /*aServiceId*/ )
+    {
     TEFLOGSTRING( KTAREQIN, "PE CPEServiceHandling::EnableServiceL" );
-	
-    if ( !iCchClient )
+        
+    /*if ( !iCchClient )
         {
         iCchClient = CCch::NewL();
         }
 
-	CCchService* service = iCchClient->GetService( aServiceId );
-	
-	TInt error( KErrNotFound );
-	if( service )
-		{
-		iCurrentServiceId = aServiceId;
-		
-		TCchServiceStatus serviceStatus;
- 		error = service->GetStatus( ECCHVoIPSub, serviceStatus );
-		TCCHSubserviceState state = serviceStatus.State();
-	
-		if( error == KErrNone )
-		    {
-		    if ( serviceStatus.Error() == KErrNone )
-		        {
-		        error = EnableServiceIfNeeded( state, *service );
-		        }
-		    else
-		        {
-		        TEFLOGSTRING2( KTAERROR,
-		                "PE CPEServiceHandling::EnableServiceL, error: %d"
-		                , serviceStatus.Error() );
-		        SendErrorMessage( serviceStatus.Error());
-		        }
-    		}
-		}
-	
-	if ( error != KErrNone )
-	    {
-	    if ( error == KErrNotFound )
-	         {
-	         iModel.SendMessage( MEngineMonitor::EPEMessageNoService );
-	         }
-	     else
-	         {
-	         TEFLOGSTRING2( KTAERROR,
-	                  "PE CPEServiceHandling::EnableServiceL, Error: %d"
-	                  , error );
-	         SendErrorMessage( error );
-	         }
-	    }
-	
-	TEFLOGSTRING2( KTAINT, 
-            "PE CPEServiceHandling::EnableServiceL, error: %d", error );		
-	}
+    CCchService* service = iCchClient->GetService( aServiceId );
+    
+    TInt error( KErrNotFound );
+    if( service )
+        {
+        iCurrentServiceId = aServiceId;
+        
+        TCchServiceStatus serviceStatus;
+        error = service->GetStatus( ECCHVoIPSub, serviceStatus );
+        TCCHSubserviceState state = serviceStatus.State();
+    
+        if( error == KErrNone )
+            {
+            if ( serviceStatus.Error() == KErrNone )
+                {
+                error = EnableServiceIfNeeded( state, *service );
+                }
+            else
+                {
+                TEFLOGSTRING2( KTAERROR,
+                        "PE CPEServiceHandling::EnableServiceL, error: %d"
+                        , serviceStatus.Error() );
+                SendErrorMessage( serviceStatus.Error());
+                }
+            }
+        }
+    
+    if ( error != KErrNone )
+        {
+        if ( error == KErrNotFound )
+             {
+             iModel.SendMessage( MEngineMonitor::EPEMessageNoService );
+             }
+         else
+             {
+             TEFLOGSTRING2( KTAERROR,
+                      "PE CPEServiceHandling::EnableServiceL, Error: %d"
+                      , error );
+             SendErrorMessage( error );
+             }
+        }
+    
+    TEFLOGSTRING2( KTAINT, 
+            "PE CPEServiceHandling::EnableServiceL, error: %d", error );*/
 
+    User::LeaveIfError( 0 );
+    iModel.SendMessage( MEngineMonitor::EPEMessageServiceEnabled );
+    
+    // <-- QT PHONE END -->
+    }
+
+// <-- QT PHONE START -->
 // ---------------------------------------------------------------------------
 // CPEServiceHandling::EnableServiceIfNeeded
 // ---------------------------------------------------------------------------
 //
-TInt CPEServiceHandling::EnableServiceIfNeeded( 
+/*TInt CPEServiceHandling::EnableServiceIfNeeded( 
         const TCCHSubserviceState& aState, 
         CCchService& aService )
     {
@@ -188,63 +197,65 @@
 //
 void CPEServiceHandling::ServiceStatusChanged(
     TInt aServiceId,
-	const TCCHSubserviceType aType,
-	const TCchServiceStatus& aServiceStatus )
-	{
-	TEFLOGSTRING( KTAINT, "PE CPEServiceHandling::ServiceStatusChanged <" );
-	
-	if( aServiceId == iCurrentServiceId && aType == ECCHVoIPSub )
-	    {
-    	TEFLOGSTRING3( KTAINT,
-    	        "PE CPEServiceHandling::ServiceStatusChanged, state: %d, error: %d"
-    	        , aServiceStatus.State()
-    	        , aServiceStatus.Error() );
+    const TCCHSubserviceType aType,
+    const TCchServiceStatus& aServiceStatus )
+    {
+    TEFLOGSTRING( KTAINT, "PE CPEServiceHandling::ServiceStatusChanged <" );
+    
+    if( aServiceId == iCurrentServiceId && aType == ECCHVoIPSub )
+        {
+        TEFLOGSTRING3( KTAINT,
+                "PE CPEServiceHandling::ServiceStatusChanged, state: %d, error: %d"
+                , aServiceStatus.State()
+                , aServiceStatus.Error() );
 
-       	CCchService* service = iCchClient->GetService( aServiceId );
-       	if( service )
-       	    {
-    	    if( aServiceStatus.Error() != KErrNone )
-    	        {
-    	        TEFLOGSTRING( KTAERROR, 
-    	                "PE CPEServiceHandling::ServiceStatusChanged, error" );
-    	        SendErrorMessage( aServiceStatus.Error());
-    	        CancelServiceEnabling();
-    	        }
-    	    else 
-    	        {
-    	        if( aServiceStatus.State() == ECCHEnabled )
-    	            {
+        CCchService* service = iCchClient->GetService( aServiceId );
+        if( service )
+            {
+            if( aServiceStatus.Error() != KErrNone )
+                {
+                TEFLOGSTRING( KTAERROR, 
+                        "PE CPEServiceHandling::ServiceStatusChanged, error" );
+                SendErrorMessage( aServiceStatus.Error());
+                CancelServiceEnabling();
+                }
+            else 
+                {
+                if( aServiceStatus.State() == ECCHEnabled )
+                    {
                     TEFLOGSTRING( KTAINT, 
                              "PE CPEServiceHandling::ServiceStatusChanged, enabled" );
                     iModel.SendMessage( MEngineMonitor::EPEMessageServiceEnabled );
-    	            }
+                    }
 
 
-    	        // Notify UI, that service is disabled.
-    	        else if( aServiceStatus.State() == ECCHDisabled ) 
+                // Notify UI, that service is disabled.
+                else if( aServiceStatus.State() == ECCHDisabled ) 
                      {
                      TEFLOGSTRING( KTAERROR, 
                               "PE CPEServiceHandling::ServiceStatusChanged, disabled" );
                      iModel.SendMessage( MEngineMonitor::EPEMessageServiceDisabled );
                      }
-    	        }
-    	    
-    	    // don't remove observer, if state are connecting or disconnecting
-    	    if ( aServiceStatus.State() != ECCHConnecting && 
-    	         aServiceStatus.State() != ECCHDisconnecting )
-    	        {
-    	        service->RemoveObserver( *this );
-    	        }
-       	    }//if( service )
-       	else
-       	    {
+                }
+            
+            // don't remove observer, if state are connecting or disconnecting
+            if ( aServiceStatus.State() != ECCHConnecting && 
+                 aServiceStatus.State() != ECCHDisconnecting )
+                {
+                service->RemoveObserver( *this );
+                }
+            }//if( service )
+        else
+            {
             TEFLOGSTRING( KTAERROR, 
                     "PE CPEServiceHandling::ServiceStatusChanged, no service" );
-       	    }
-	    }
-	TEFLOGSTRING( KTAINT, "PE CPEServiceHandling::ServiceStatusChanged >" );
-	}
-	
+            }
+        }
+    TEFLOGSTRING( KTAINT, "PE CPEServiceHandling::ServiceStatusChanged >" );
+    }*/
+
+
+    
 // ---------------------------------------------------------------------------
 // CPEServiceHandling::CancelServiceEnabling
 // ---------------------------------------------------------------------------
@@ -253,7 +264,7 @@
     {
     TEFLOGSTRING( KTAREQIN, "PE CPEServiceHandling::CancelServiceEnabling" );
     
-    if ( iCchClient )
+    /*if ( iCchClient )
         {
         CCchService* service = iCchClient->GetService( iCurrentServiceId );
         
@@ -271,14 +282,14 @@
                 service->Disable( ECCHUnknown );
                 }
             }
-        }
+        }*/
     }
-		
+        
 // -----------------------------------------------------------------------------
 // CPEServiceHandling::SendErrorMessage
 // -----------------------------------------------------------------------------
 //
-void CPEServiceHandling::SendErrorMessage(
+/*void CPEServiceHandling::SendErrorMessage(
         TInt aErrorCode )
     {
     TEFLOGSTRING2( KTAINT, 
@@ -287,7 +298,7 @@
 
     iModel.DataStore()->SetErrorCode( aErrorCode );
     iModel.SendMessage( MEngineMonitor::EPEMessageServiceHandlingError );
-    }
+    }*/
 
 // -----------------------------------------------------------------------------
 // CPEServiceHandling::DisableService
@@ -297,14 +308,16 @@
     {
     TEFLOGSTRING( KTAREQIN, "PE CPEServiceHandling::DisableService" );
 
-    CCchService* service = iCchClient->GetService( iCurrentServiceId );
+    /*CCchService* service = iCchClient->GetService( iCurrentServiceId );
     
     if ( service )
         {
         TEFLOGSTRING( KTAREQOUT,
           "PE CPEServiceHandling::DisableService, CCchService->Disable" );
         service->Disable( ECCHUnknown );
-        }
-    }
+        }*/
+    } 
+
+// <-- QT PHONE END -->
 
 //  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/Makefile	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,134 @@
+# ==============================================================================
+# Generated by qmake (2.01a) (Qt 4.5.2-tower) on: ti 29. syys 12:32:49 2009
+# This file is generated by qmake and should not be modified by the
+# user.
+#  Name        : Makefile
+#  Description : Wrapper Makefile for calling Symbian build tools
+#
+# ==============================================================================
+
+
+QMAKE             = r:\sf\mw\qt\qmake\qmake.exe
+DEL_FILE          = del
+DEL_DIR           = rmdir
+XCOPY             = xcopy /d /f /h /r /y /i
+ABLD              = ABLD.BAT
+DEBUG_PLATFORMS   = winscw gcce armv5 armv6
+RELEASE_PLATFORMS = gcce armv5 armv6
+MAKE              = make
+
+ifeq (WINS,$(findstring WINS, $(PLATFORM)))
+ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
+else
+ZDIR=$(EPOCROOT)epoc32\data\z
+endif
+
+DEFINES	 = -DSYMBIAN -DUNICODE -DQT_KEYPAD_NAVIGATION
+INCPATH	 =  -I"R:/sf/mw/qt/mkspecs/common/symbian/stl-off" -I"R:/sf/mw/qt/mkspecs/common/symbian/stl-off/tmp" -I"R:/sf/mw/qt/mkspecs/common/symbian" -I"R:/sf/mw/qt/mkspecs/common/symbian/tmp" -I"R:/epoc32/include" -I"R:/epoc32/include/stdapis" -I"R:/epoc32/include/stdapis/sys" -I"R:/sf/mw/qt/include" -I"R:/sf/mw/qt/include/tmp"
+first: default
+default: debug-winscw
+all: debug release
+
+qmake:
+	$(QMAKE) -spec symbian-abld -o "bld.inf" "R:/sf/app/phone/csplugin/csplugin.pro"
+
+bld.inf:
+	$(QMAKE)
+
+$(ABLD): bld.inf
+	bldmake bldfiles
+
+debug: $(ABLD)
+	$(ABLD) build winscw udeb
+	$(ABLD) build gcce udeb
+	$(ABLD) build armv5 udeb
+	$(ABLD) build armv6 udeb
+
+release: $(ABLD)
+	$(ABLD) build gcce urel
+	$(ABLD) build armv5 urel
+	$(ABLD) build armv6 urel
+
+debug-winscw: $(ABLD)
+	$(ABLD) build winscw udeb
+debug-gcce: $(ABLD)
+	$(ABLD) build gcce udeb
+debug-armv5: $(ABLD)
+	$(ABLD) build armv5 udeb
+debug-armv6: $(ABLD)
+	$(ABLD) build armv6 udeb
+release-gcce: $(ABLD)
+	$(ABLD) build gcce urel
+release-armv5: $(ABLD)
+	$(ABLD) build armv5 urel
+release-armv6: $(ABLD)
+	$(ABLD) build armv6 urel
+
+export: $(ABLD)
+	$(ABLD) export
+
+cleanexport: $(ABLD)
+	$(ABLD) cleanexport
+
+compiler_clean: 
+
+create_temps:
+	-@ if NOT EXIST "R:\sf\mw\qt\mkspecs\common\symbian\stl-off\tmp" mkdir "R:\sf\mw\qt\mkspecs\common\symbian\stl-off\tmp"
+	-@ if NOT EXIST "R:\sf\mw\qt\mkspecs\common\symbian\stl-off\tmp\tmp" mkdir "R:\sf\mw\qt\mkspecs\common\symbian\stl-off\tmp\tmp"
+	-@ if NOT EXIST "R:\sf\mw\qt\mkspecs\common\symbian\tmp" mkdir "R:\sf\mw\qt\mkspecs\common\symbian\tmp"
+	-@ if NOT EXIST "R:\sf\mw\qt\mkspecs\common\symbian\tmp\tmp" mkdir "R:\sf\mw\qt\mkspecs\common\symbian\tmp\tmp"
+	-@ if NOT EXIST "R:\epoc32\include\tmp" mkdir "R:\epoc32\include\tmp"
+	-@ if NOT EXIST "R:\epoc32\include\stdapis\tmp" mkdir "R:\epoc32\include\stdapis\tmp"
+	-@ if NOT EXIST "R:\epoc32\include\stdapis\sys\tmp" mkdir "R:\epoc32\include\stdapis\sys\tmp"
+	-@ if NOT EXIST "R:\sf\mw\qt\include\tmp" mkdir "R:\sf\mw\qt\include\tmp"
+	-@ if NOT EXIST "R:\sf\mw\qt\include\tmp\tmp" mkdir "R:\sf\mw\qt\include\tmp\tmp"
+
+extension_clean: compiler_clean
+	-@ if EXIST "R:\sf\mw\qt\mkspecs\common\symbian\stl-off\tmp" rmdir  /S /Q  "R:\sf\mw\qt\mkspecs\common\symbian\stl-off\tmp"
+	-@ if EXIST "R:\sf\mw\qt\mkspecs\common\symbian\stl-off\tmp\tmp" rmdir  /S /Q  "R:\sf\mw\qt\mkspecs\common\symbian\stl-off\tmp\tmp"
+	-@ if EXIST "R:\sf\mw\qt\mkspecs\common\symbian\tmp" rmdir  /S /Q  "R:\sf\mw\qt\mkspecs\common\symbian\tmp"
+	-@ if EXIST "R:\sf\mw\qt\mkspecs\common\symbian\tmp\tmp" rmdir  /S /Q  "R:\sf\mw\qt\mkspecs\common\symbian\tmp\tmp"
+	-@ if EXIST "R:\epoc32\include\tmp" rmdir  /S /Q  "R:\epoc32\include\tmp"
+	-@ if EXIST "R:\epoc32\include\stdapis\tmp" rmdir  /S /Q  "R:\epoc32\include\stdapis\tmp"
+	-@ if EXIST "R:\epoc32\include\stdapis\sys\tmp" rmdir  /S /Q  "R:\epoc32\include\stdapis\sys\tmp"
+	-@ if EXIST "R:\sf\mw\qt\include\tmp" rmdir  /S /Q  "R:\sf\mw\qt\include\tmp"
+	-@ if EXIST "R:\sf\mw\qt\include\tmp\tmp" rmdir  /S /Q  "R:\sf\mw\qt\include\tmp\tmp"
+
+pre_targetdeps: \
+	generated_sources \
+	all_source_deps
+
+generated_sources:
+
+all_source_deps:
+
+finalize:
+
+winscw_deployment:
+
+winscw_deployment_clean:
+
+dodistclean:
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin_gcce_udeb.pkg" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin_gcce_udeb.pkg"
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin_gcce_urel.pkg" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin_gcce_urel.pkg"
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin_armv5_udeb.pkg" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin_armv5_udeb.pkg"
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin_armv5_urel.pkg" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin_armv5_urel.pkg"
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin_armv6_udeb.pkg" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin_armv6_udeb.pkg"
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin_armv6_urel.pkg" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin_armv6_urel.pkg"
+	-@ if EXIST "r:\sf\app\phone\csplugin\Makefile" $(DEL_FILE)  "r:\sf\app\phone\csplugin\Makefile"
+	-@ if EXIST "r:\sf\app\phone\csplugin\Makefile_0xE35130c6.mk" $(DEL_FILE)  "r:\sf\app\phone\csplugin\Makefile_0xE35130c6.mk"
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin_0xE35130c6.mmp" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin_0xE35130c6.mmp"
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin_reg.rss" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin_reg.rss"
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin.rss" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin.rss"
+	-@ if EXIST "r:\sf\app\phone\csplugin\csplugin.loc" $(DEL_FILE)  "r:\sf\app\phone\csplugin\csplugin.loc"
+	-@ if EXIST "r:\sf\app\phone\csplugin\bld.inf" $(DEL_FILE)  "r:\sf\app\phone\csplugin\bld.inf"
+
+distclean: clean dodistclean
+
+clean: $(ABLD)
+	-$(ABLD) reallyclean
+	-bldmake clean
+
+run:
+	-call /epoc32\release\winscw\udeb\csplugin.exe
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/Makefile_0xE35130c6.mk	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,66 @@
+# ==============================================================================
+# Generated by qmake (2.01a) (Qt 4.5.2-tower) on: ti 29. syys 12:32:49 2009
+# This file is generated by qmake and should not be modified by the
+# user.
+#  Name        : Makefile_0xE35130c6.mk
+#  Part of     : csplugin
+#  Description : This file is used to call necessary targets on wrapper makefile
+#                during normal Symbian build process.
+#  Version     : 
+#
+# ==============================================================================
+
+
+
+MAKE = make
+
+do_nothing :
+	@rem do_nothing
+
+MAKMAKE: create_temps pre_targetdeps
+
+LIB: create_temps pre_targetdeps
+
+BLD: create_temps pre_targetdeps
+
+ifeq "$(PLATFORM)" "WINSCW"
+CLEAN: extension_clean winscw_deployment_clean
+else
+CLEAN: extension_clean
+endif
+
+CLEANLIB: do_nothing
+
+RESOURCE: do_nothing
+
+FREEZE: do_nothing
+
+SAVESPACE: do_nothing
+
+RELEASABLES: do_nothing
+
+ifeq "$(PLATFORM)" "WINSCW"
+FINAL: finalize winscw_deployment
+else
+FINAL: finalize
+endif
+
+pre_targetdeps : r:\sf\app\phone\csplugin\Makefile
+	-$(MAKE) -f "r:\sf\app\phone\csplugin\Makefile" pre_targetdeps
+
+create_temps : r:\sf\app\phone\csplugin\Makefile
+	-$(MAKE) -f "r:\sf\app\phone\csplugin\Makefile" create_temps
+
+extension_clean : r:\sf\app\phone\csplugin\Makefile
+	-$(MAKE) -f "r:\sf\app\phone\csplugin\Makefile" extension_clean
+
+finalize : r:\sf\app\phone\csplugin\Makefile
+	-$(MAKE) -f "r:\sf\app\phone\csplugin\Makefile" finalize
+
+winscw_deployment_clean : r:\sf\app\phone\csplugin\Makefile
+	-$(MAKE) -f "r:\sf\app\phone\csplugin\Makefile" winscw_deployment_clean
+
+winscw_deployment : r:\sf\app\phone\csplugin\Makefile
+	-$(MAKE) -f "r:\sf\app\phone\csplugin\Makefile" winscw_deployment
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+// ============================================================================
+// * Makefile for building: csplugin
+// * Generated by qmake (2.01a) (Qt 4.5.2-tower) on: 2009-09-29T12:32:49
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// * Project:  csplugin.pro
+// * Template: app
+// ============================================================================
+
+#define BLD_INF_CSPLUGIN_06B171AA
+
+
+prj_platforms
+
+WINSCW GCCE ARMV5 ARMV6
+
+
+prj_mmpfiles
+
+gnumakefile makefile_0xe35130c6.mk
+csplugin_0xe35130c6.mmp
+
+prj_extensions
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin.loc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,13 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.5.2-tower) on: 2009-09-29T12:32:49
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#ifdef LANGUAGE_SC
+#define STRING_r_short_caption "csplugin"
+#define STRING_r_caption "csplugin"
+#else
+#define STRING_r_short_caption "csplugin"
+#define STRING_r_caption "csplugin"
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin.rss	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,21 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.5.2-tower) on: 2009-09-29T12:32:49
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <appinfo.rh>
+#include "csplugin.loc"
+
+RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
+    {
+    short_caption = STRING_r_short_caption;
+    caption_and_icon =
+    CAPTION_AND_ICON_INFO
+        {
+        caption = STRING_r_caption;
+        number_of_icons = 0;
+        icon_file = "";
+        };
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin_0xE35130c6.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,56 @@
+// ==============================================================================
+// Generated by qmake (2.01a) (Qt 4.5.2-tower) on: 2009-09-29T12:32:49
+// This file is generated by qmake and should not be modified by the
+// user.
+//  Name        : csplugin.mmp
+// ==============================================================================
+
+TARGET      csplugin.exe
+TARGETTYPE      EXE
+
+UID     0x100039CE 0xE35130c6
+SECUREID        0xE35130c6
+
+
+SOURCEPATH          . 
+LANG SC 
+START RESOURCE      csplugin.rss
+HEADER
+TARGETPATH          /resource/apps
+END
+
+SOURCEPATH          . 
+START RESOURCE      csplugin_reg.rss
+TARGETPATH      /private/10003a3f/import/apps
+END
+
+
+// Qt Macros
+MACRO       UNICODE
+MACRO       QT_KEYPAD_NAVIGATION
+
+SYSTEMINCLUDE       ../../../mw/qt/mkspecs/common/symbian/stl-off
+SYSTEMINCLUDE       ../../../mw/qt/mkspecs/common/symbian/stl-off/tmp
+SYSTEMINCLUDE       ../../../mw/qt/mkspecs/common/symbian
+SYSTEMINCLUDE       ../../../mw/qt/mkspecs/common/symbian/tmp
+SYSTEMINCLUDE       /epoc32/include
+SYSTEMINCLUDE       /epoc32/include/stdapis
+SYSTEMINCLUDE       /epoc32/include/stdapis/sys
+SYSTEMINCLUDE       ../../../mw/qt/include
+SYSTEMINCLUDE       ../../../mw/qt/include/tmp
+
+
+LIBRARY     libc.lib
+LIBRARY     libm.lib
+LIBRARY     euser.lib
+LIBRARY     libdl.lib
+
+CAPABILITY      None
+
+OPTION   ARMCC --no_hide_all --fpu softvfp
+
+VERSION 10.0
+
+EXPORTUNFROZEN
+
+PAGED
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin_armv5_udeb.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,26 @@
+; csplugin_armv5_udeb.pkg generated by qmake at 2009-09-29T12:32:49
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"csplugin"},(0xE35130c6),1,0,0
+
+; Localised Vendor name
+%{"Nokia, Qt Software"}
+
+; Unique Vendor name
+:"Nokia, Qt Software"
+
+; Dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Executable and default resource files
+"/epoc32/release/armv5/udeb/csplugin.exe"    - "!:\sys\bin\csplugin.exe"
+"/epoc32/data/z/resource/apps/csplugin.rsc"    - "!:\resource\apps\csplugin.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/csplugin_reg.rsc"    - "!:\private\10003a3f\import\apps\csplugin_reg.rsc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin_armv5_urel.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,26 @@
+; csplugin_armv5_urel.pkg generated by qmake at 2009-09-29T12:32:49
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"csplugin"},(0xE35130c6),1,0,0
+
+; Localised Vendor name
+%{"Nokia, Qt Software"}
+
+; Unique Vendor name
+:"Nokia, Qt Software"
+
+; Dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Executable and default resource files
+"/epoc32/release/armv5/urel/csplugin.exe"    - "!:\sys\bin\csplugin.exe"
+"/epoc32/data/z/resource/apps/csplugin.rsc"    - "!:\resource\apps\csplugin.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/csplugin_reg.rsc"    - "!:\private\10003a3f\import\apps\csplugin_reg.rsc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin_armv6_udeb.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,26 @@
+; csplugin_armv6_udeb.pkg generated by qmake at 2009-09-29T12:32:49
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"csplugin"},(0xE35130c6),1,0,0
+
+; Localised Vendor name
+%{"Nokia, Qt Software"}
+
+; Unique Vendor name
+:"Nokia, Qt Software"
+
+; Dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Executable and default resource files
+"/epoc32/release/armv6/udeb/csplugin.exe"    - "!:\sys\bin\csplugin.exe"
+"/epoc32/data/z/resource/apps/csplugin.rsc"    - "!:\resource\apps\csplugin.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/csplugin_reg.rsc"    - "!:\private\10003a3f\import\apps\csplugin_reg.rsc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin_armv6_urel.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,26 @@
+; csplugin_armv6_urel.pkg generated by qmake at 2009-09-29T12:32:49
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"csplugin"},(0xE35130c6),1,0,0
+
+; Localised Vendor name
+%{"Nokia, Qt Software"}
+
+; Unique Vendor name
+:"Nokia, Qt Software"
+
+; Dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Executable and default resource files
+"/epoc32/release/armv6/urel/csplugin.exe"    - "!:\sys\bin\csplugin.exe"
+"/epoc32/data/z/resource/apps/csplugin.rsc"    - "!:\resource\apps\csplugin.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/csplugin_reg.rsc"    - "!:\private\10003a3f\import\apps\csplugin_reg.rsc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin_gcce_udeb.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,26 @@
+; csplugin_gcce_udeb.pkg generated by qmake at 2009-09-29T12:32:49
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"csplugin"},(0xE35130c6),1,0,0
+
+; Localised Vendor name
+%{"Nokia, Qt Software"}
+
+; Unique Vendor name
+:"Nokia, Qt Software"
+
+; Dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Executable and default resource files
+"/epoc32/release/gcce/udeb/csplugin.exe"    - "!:\sys\bin\csplugin.exe"
+"/epoc32/data/z/resource/apps/csplugin.rsc"    - "!:\resource\apps\csplugin.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/csplugin_reg.rsc"    - "!:\private\10003a3f\import\apps\csplugin_reg.rsc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin_gcce_urel.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,26 @@
+; csplugin_gcce_urel.pkg generated by qmake at 2009-09-29T12:32:49
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"csplugin"},(0xE35130c6),1,0,0
+
+; Localised Vendor name
+%{"Nokia, Qt Software"}
+
+; Unique Vendor name
+:"Nokia, Qt Software"
+
+; Dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Executable and default resource files
+"/epoc32/release/gcce/urel/csplugin.exe"    - "!:\sys\bin\csplugin.exe"
+"/epoc32/data/z/resource/apps/csplugin.rsc"    - "!:\resource\apps\csplugin.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/csplugin_reg.rsc"    - "!:\private\10003a3f\import\apps\csplugin_reg.rsc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/csplugin_reg.rss	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,18 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.5.2-tower) on: 2009-09-29T12:32:49
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <csplugin.rsg>
+#include <appinfo.rh>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0xE35130c6
+
+RESOURCE APP_REGISTRATION_INFO
+    {
+    app_file="csplugin";
+    localisable_resource_file="\\resource\\apps\\csplugin";
+
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/data/102828e3.rss	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 1028 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Resource definitions for CS Plugin
+*
+*/
+
+
+#include "ecom/registryinfo.rh"
+
+// -----------------------------------------------------------------------------
+//   
+// CS Plugin ecom resource file.
+//
+// -----------------------------------------------------------------------------
+//
+RESOURCE REGISTRY_INFO theInfo
+    {
+    // csplugin.dll UID
+    dll_uid = 0x102828E3;
+    interfaces = 
+        {
+        INTERFACE_INFO
+            {
+            // CCP interface UID
+            interface_uid = 0x10282588;
+            implementations = 
+                {
+                IMPLEMENTATION_INFO
+                    {
+                    // CS Plug-in implementation UID
+                    implementation_uid = 0x102828E5;
+                    version_no = 1;
+                    display_name = "CS Plug-in";
+                    default_data = "";
+                    // Note : opaque_data MUST have @ least a single byte of data
+                    // in this instance it is an empty string.
+                    opaque_data = " ";
+                    }
+                // Place additional interface implementations here
+                };
+            }
+        // Place additional interfaces here
+        };
+    }
+// End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/data/csplugin_stub.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -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/data/csplugin_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Build information file for project CS Call Plugin
+*
+*/
+
+#include <platform_paths.hrh>
+
+// specifies the platforms this component needs to be built 
+PRJ_PLATFORMS
+DEFAULT
+
+
+// Specify the source file followed by its destination here
+PRJ_EXPORTS
+../data/csplugin_stub.sis       /epoc32/data/z/system/install/csplugin_stub.sis
+
+// IBY files
+#if defined(CORE_MW_LAYER_IBY_EXPORT_PATH)
+../rom/csplugin.iby             CORE_MW_LAYER_IBY_EXPORT_PATH(csplugin.iby)
+#endif
+
+// Specify the .mmp files required for building the important component
+// releasables.
+PRJ_MMPFILES
+csplugin.mmp
+
+
+//PRJ_TESTMMPFILES
+//../internal/test/group/mt_cconvergedcallprovider.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/group/csplugin.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,116 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Project definition file for project CS Plugin
+*
+*/
+
+
+#include <data_caging_paths.hrh>    
+#include <platform_paths.hrh>
+
+TARGET                  csplugin.dll
+TARGETTYPE              PLUGIN
+
+// 271067363    0x102828E3     CS Call Plugin     ECom DLL UID
+// 271067364    0x102828E4     CS Call Plugin     ECom Interface UID 
+// 271067365    0x102828E5     CS Call Plugin     ECom Implementation UID 
+
+// ECOM Dll recognition UID followed by the unique UID for this dll
+UID                     0x10009D8D 0x102828E3
+
+CAPABILITY              CAP_ECOM_PLUGIN NetworkControl NetworkServices ReadDeviceData
+VENDORID                VID_DEFAULT
+
+SOURCEPATH              ../src
+SOURCE                  csprovider.cpp
+SOURCE                  cspproxy.cpp
+SOURCE                  cspcall.cpp
+SOURCE                  cspvoicecall.cpp
+SOURCE                  rcsplinecontainer.cpp
+SOURCE                  cspetelcalleventmonitor.cpp
+SOURCE                  cspetelcallstatusmonitor.cpp
+SOURCE                  cspcallinfomonitor.cpp
+SOURCE                  cspetelincomingcallmonitor.cpp
+SOURCE                  cspetelcallrequester.cpp
+SOURCE                  cspetelcallcapsmonitor.cpp
+SOURCE                  cspetelconferencecallrequester.cpp
+SOURCE                  cspdtmfprovider.cpp
+SOURCE                  cspeteldtmfmonitor.cpp
+SOURCE                  cspeteldtmfstopmonitor.cpp
+SOURCE                  cspconferencecall.cpp
+SOURCE                  cspetelconferencestatusmonitor.cpp
+SOURCE                  cspetelconferenceeventmonitor.cpp
+SOURCE                  cspetelconferencecapsmonitor.cpp
+SOURCE                  csptransferprovider.cpp
+SOURCE                  cspservicesettingshandler.cpp
+SOURCE                  cspvideocall.cpp
+SOURCE                  cspetelvideocallcapsmonitor.cpp
+SOURCE                  cspforwardprovider.cpp
+SOURCE                  cspvideocallconnectionhandler.cpp
+SOURCE                  cspcalladdedhandler.cpp
+SOURCE                  cspcallarray.cpp
+SOURCE                  csppanic.cpp
+SOURCE                  cspaudiohandler.cpp
+SOURCE                  csppubsublistener.cpp
+SOURCE                  cspcenreplistener.cpp
+SOURCE                  cspetelcallwaitingrequester.cpp
+SOURCE                  cspsupplementaryservicesmonitor.cpp
+SOURCE                  cspcipheringstatusmonitor.cpp
+SOURCE                  cspsssettingshandler.cpp
+SOURCE                  cspuuimessagesender.cpp
+SOURCE                  cspuuimonitor.cpp
+SOURCE                  tcspskypeidparser.cpp
+SOURCE                  cspdevsound.cpp
+SOURCE                  cspmicrophone.cpp
+SOURCE                  cspspeaker.cpp
+SOURCE                  cspaudiostreams.cpp
+SOURCE                  csptimer.cpp
+SOURCE                  cspcallcommandhandler.cpp
+SOURCE                  cspremotealertingtonelistener.cpp
+SOURCE                  cspetellinestatusmonitor.cpp
+SOURCE                  cspclientvideocall.cpp
+SOURCE                  cspclientvoicecall.cpp
+
+// user include paths
+USERINCLUDE             ../inc
+
+// APP_LAYER_SYSTEMINCLUDE is needed for 
+// telmicmutestatuspskeys.h telincallvolcntrlcrkeys.h
+// MW_LAYER_SYSTEMINCLUDE would be preferred
+APP_LAYER_SYSTEMINCLUDE 
+
+SYSTEMINCLUDE   /epoc32/include/ecom
+SYSTEMINCLUDE   /epoc32/include/mmf/server
+SYSTEMINCLUDE   /epoc32/include/mmf/common
+SYSTEMINCLUDE   /epoc32/include/mda/client
+
+SOURCEPATH              ../data
+START RESOURCE          102828e3.rss
+TARGET                  csplugin.rsc
+END
+
+LIBRARY                 bafl.lib 
+LIBRARY                 euser.lib
+LIBRARY                 ecom.lib
+LIBRARY                 etelmm.lib
+LIBRARY                 etel.lib
+LIBRARY                 customapi.lib
+LIBRARY                 esock.lib
+LIBRARY                 serviceprovidersettings.lib // Reading service id and related
+LIBRARY                 featmgr.lib
+LIBRARY                 mmfdevsound.lib
+LIBRARY                 centralrepository.lib 
+LIBRARY                 sssettings.lib
+LIBRARY                 telephonyaudiorouting.lib callprovider.lib cce.lib
+DEBUGLIBRARY            flogger.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/group/csplugin_UID_.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: UID for csplugin
+*
+*/
+// Makmake-generated uid source file
+#include <e32cmn.h>
+#pragma data_seg(".SYMBIAN")
+__EMULATOR_IMAGE_HEADER2(0x10000079,0x10009d8d,0x102828e3,EPriorityForeground,0x000ffffeu,0x00000000u,0x102828e3,0x101fb657,0x00010000,0)
+#pragma data_seg()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspaudiohandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,199 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Declarations for class CSPAudioHandler
+*
+*/
+
+
+#ifndef CSPAUDIOHANDLER_H
+#define CSPAUDIOHANDLER_H
+
+#include <e32base.h>
+#include <sounddevice.h>
+
+#include "mcsppubsubobserver.h"
+#include "mcspcenrepobserver.h"
+
+
+class CSPPubSubListener;
+class CSPCenRepListener;
+class CSPAudioStreams;
+
+/**
+* Handles call adding from calls not done by the plugin.
+*
+*/
+class CSPAudioHandler: public CBase,
+                       public MCSPPubSubObserver,
+                       public MCSPCenRepObserver,
+                       public MDevSoundObserver
+    {
+    
+    public: //Constructors and descructor    
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aObserver the observer for getting notification
+        * @param aLine the line to monitor
+        * @param aLineId line identifier
+        */
+        static CSPAudioHandler* NewL(  );
+
+        /**
+        * C++ default destructor.
+        */
+        virtual ~CSPAudioHandler( );
+
+        /**
+        * Start audio streams.  
+        */
+        void Start();
+
+        /**
+        * Stop audio streams. 
+        */
+        void Stop();
+
+        /**
+        * From base class MCSPPubSubObserver.
+        * Handler for changed event.
+        * @param aUid uid of setting 
+        * @param aKey id of setting
+        * @param aStatus status of completed AO operation
+        */
+        virtual void HandleNotifyPSL( const TUid aUid, const TInt& aKey, 
+            const TRequestStatus& aStatus );
+ 
+        /**
+        * From base class MCSPCenRepObserver. 
+        * Handler for changed event.
+        * @param aUid uid of setting 
+        * @param aVal value
+        */
+        virtual void CSPAudioHandler::HandleNotifyCenRepL( 
+                const TUid aUid, 
+                const TUint32 aKey,
+                TInt aVal );
+
+    protected: //From DevSound
+        
+        /**
+        * Handles DevDound initialization completion event.
+        * @param  aError.  KErrNone if successful. Other values are possible
+        * indicating a problem initializing CMMFDevSound object.
+        */
+        void InitializeComplete( TInt aError );  
+        
+        /**
+        * Handles CMMFDevSound object's data request event.
+        * @param aBuffer. Buffer to be filled
+        */
+        void BufferToBeFilled( CMMFBuffer* aBuffer ); 
+        
+        /**
+        * Handles play completion or cancel event.
+        * @param  aError. The status of playback
+        */
+        void PlayError( TInt aError ); 
+        
+        /**
+        * Not Supported
+        */
+        void ToneFinished( TInt aError );         
+        
+        /**
+        * Not supported.
+        */
+        void BufferToBeEmptied( CMMFBuffer* aBuffer ); 
+        
+        /**
+        * Not supported.
+        */ 
+        void RecordError( TInt aError );
+         
+        /**
+        * Not supported.
+        */ 
+        void ConvertError( TInt aError ); 
+        
+        /**
+        * Not supported.
+        */ 
+        void DeviceMessage( TUid aMessageType, const TDesC8& aMsg );  
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Catches errors if RunL leaves
+        * @param aError error code
+        * @return error code
+        */
+        TInt RunError( TInt aError );
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        */
+        void DoCancel();
+
+    private:
+        /**
+        * C++ default constructor
+        * @param aObserver the observer for status change (incoming call)
+        * @param aLine the line associated with the call
+        * @param aLineId line identifier
+        */
+        CSPAudioHandler(  );
+                                          
+        /**
+        * Constructs the monitor in the second phase.
+        */
+        void ConstructL();
+        
+    private: // data
+
+        /**
+        * Mute listening from Publish&Subscribe.
+        */        
+        CSPPubSubListener* iMuteListener;
+
+        /**
+        * Incall loudspeaker listening from Central Repository.
+        */        
+        CSPCenRepListener* iIncallLoudspeakerVolumeListener;
+
+        /**
+        * Incall ear volume listening from Central Repository.
+        */        
+        CSPCenRepListener* iIncallEarVolumeListener;
+        
+        /**
+        * Audio streams handler.
+        */
+        CSPAudioStreams* iAudioStreams;
+        
+        /** 
+        * Call count
+        */
+        TInt iCallCount;
+    };
+    
+#endif // CSPAUDIOHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspaudiostreams.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,244 @@
+/*
+* 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:  Starts and stops audio streams.
+*
+*/
+
+
+#ifndef CSPAUDIOSTREAMS_H
+#define CSPAUDIOSTREAMS_H
+
+
+#include <e32base.h>
+#include <TelephonyAudioRouting.h>
+#include "MTelephonyAudioRoutingObserver.h"
+#include "mcspdevsoundobserver.h"
+#include "mcsptimerobserver.h"
+
+class MCSPDevSoundFactory;
+class CSPTimer;
+class CSPMicrophone;
+class CSPSpeaker;
+class MCSPAudioStreamObserver;
+class CSPTimer;
+
+
+/**
+ *  Starts and stops audio streams.
+ *  If the activation fails then there is a retry timer which
+ *  will try the activation later.
+ */
+NONSHARABLE_CLASS( CSPAudioStreams ) : 
+    public CBase, 
+    public MCSPDevSoundObserver,
+    public MCSPTimerObserver,
+    public MTelephonyAudioRoutingObserver
+    {
+
+public:
+
+    /**
+    * Two-phased constructing.
+    */
+    static CSPAudioStreams* NewL( );
+
+    /**
+    * Two-phased constructing.
+    */    
+    static CSPAudioStreams* NewLC( );
+
+    /**
+    * C++ default destructor.
+    */
+    virtual ~CSPAudioStreams();
+
+    /**
+    * Starts audio streams ie inits mic and speaker.
+    */
+    void StartStreams();
+    
+    /**     
+    * Stops audio streams ie shuts down mic and speaker.
+    */
+    void StopStreams();
+    
+    /**
+    * Sets volume for ear. 
+    */
+    void VolumeChangedEar( TInt aVolume );
+    
+    /**
+    * Sets volume for loudspeaker. 
+    */
+    void VolumeChangedLoudspeaker( TInt aVolume );
+    
+    /**
+    * Stores volume levels.
+    */
+    void StoreVolumes(TInt aVolumeEar, TInt aVolumeLoudspeaker);
+
+    /**
+    * Set unmuted.
+    */    
+    void SetUnmuted();
+
+    /**
+    * Set muted.
+    */
+    void SetMuted();
+
+    /**
+    * Gives access to CSPMicrophone instance. Ownership not given.
+    * @return MCSPMic instance.
+    */
+    CSPMicrophone& Mic() const;
+    
+    /**
+    * Gives access to CSPSpeaker instance. Ownership not given.
+    * @return MCSPSpeaker instance.
+    */
+    CSPSpeaker& Speaker() const;
+    
+    /**
+    * Set observer for audio stream events.
+    * @param aObserver
+    */
+    void SetAudioStreamObserver( MCSPAudioStreamObserver& aObserver );
+    
+// from base class MCSPDevSoundObserver
+
+    /**
+    * From MCSPDevSoundObserver
+    * Notification that Mic has been activated successfully
+    */
+    void MicActivatedSuccessfully();
+    
+    /**
+    * From MCSPDevSoundObserver
+    * Notification that speaker has been activated successfully
+    */   
+    void SpeakerActivatedSuccessfully();
+    
+    /**
+    * From MCSPDevSoundObserver
+    * Notification that Mic initialisation failed.
+    */
+    void MicActivationFailed();
+    
+    /**
+    * From MCSPDevSoundObserver
+    * Notification that Speaker activation failed.
+    */
+    void SpeakerActivationFailed();
+    
+// from base class MCSPTimerObserver
+
+    /**
+    * From MCSPTimerObserver.
+    * Notify from CSPTimer that timeout passed.
+    */
+    void TimerEvent();
+    
+protected:  // Functions from base classes  
+
+// from base class MTelephonyAudioRoutingObserver
+        
+    /**
+    * @see MTelephonyAudioRoutingObserver.
+    */
+    void AvailableOutputsChanged( CTelephonyAudioRouting& aTelephonyAudioRouting );
+            
+    /**
+    * @see MTelephonyAudioRoutingObserver.
+    */
+    void OutputChanged( CTelephonyAudioRouting& aTelephonyAudioRouting);
+    
+    /**
+    * @see MTelephonyAudioRoutingObserver.
+    */
+    void SetOutputComplete( CTelephonyAudioRouting& aTelephonyAudioRouting, TInt aError);
+  
+private:
+    
+    /** 
+    * C++ default constructor. 
+    */  
+    CSPAudioStreams( );
+
+    void ConstructL( );
+    
+    static TInt TimerCallBack( TAny* aThisPtr );
+    
+    void AudioStreamsStarted();
+    
+    void StartTimer();
+    
+    void StartMicAndSpeaker();
+    
+    TBool IsMicAndSpeakerStarted();
+    
+    void ApplyVolume(TInt aVolumeEar, TInt aVolumeLoudspeaker);
+
+private: // data
+
+    /**
+    * Mic.
+    * own.
+    */     
+    CSPMicrophone* iMic;
+    
+    /**
+    * Speaker.
+    * Own.
+    */
+    CSPSpeaker* iSpeaker;
+     
+    /**
+    * Timer for retrying the activation of streams (mic & speaker) if
+    * there was a failure in activation.
+    * Own.
+    */
+    CSPTimer* iTimer;
+    
+    /**
+    * Timeout value used with timer. Timeout value doubles every retry to
+    * activate the streams.
+    */
+    TInt iTimeout;
+    
+    /**
+    * Audio output for checking if loadspeaker or ear volume should be used.
+    * Own.
+    */
+    CTelephonyAudioRouting* iAudioRouting;
+    
+    /**
+    *  Observer for stream events.
+    * Not own.
+    */
+    MCSPAudioStreamObserver* iStreamObserver;
+    
+    /**
+    *  Ear volume. 
+    */    
+    TInt iVolumeEar;
+    
+    /**
+    *  Loudspeaker volume. 
+    */
+    TInt iVolumeLoudspeaker;
+         
+    };
+
+#endif // CSPAUDIOSTREAMS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspcall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,779 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  CSPCall for CS Call Plug-in
+*
+*/
+
+
+
+#ifndef CSPCALL_H
+#define CSPCALL_H
+
+#include <mccpcscall.h>
+#include <mccpcallobserver.h>
+#include <mccptransferobserver.h>
+#include <mccpforwardobserver.h>
+#include <etel.h>
+#include <etelmm.h>
+#include <cccecallparameters.h>
+
+#include "cspconsts.h"
+#include "cspetelcallrequester.h" // For the requester and TRequestType
+#include "mcspcallobserver.h"
+#include "mcspcallerrorobserver.h"
+#include "mcspuusmessageobserver.h"
+#include "mcspcallcommandhandling.h"
+
+
+class MCCPForwardProvider;
+class CSPForwardProvider;
+class CSPTransferProvider;
+class RMobileCall;
+class CSPEtelCallStatusMonitor;
+class CSPEtelCallEventMonitor;
+class CSPCallInfoMonitor;
+class CSPEtelCallCapsMonitor;
+class CSPTransferProvider;
+class CSPEtelCallCapsMonitor;
+class CSPAudioHandler;
+class MCSPCommonInfo;
+class CSPUUIMonitor;
+class CSPUUIMessageSender;
+
+
+/**
+* Call class for CS Call Plug-in. Implements the API defined by CCP in classes
+* MCCPCall and MCCPCSCall
+*
+*  @lib csplugin.dll
+*/
+class CSPCall : public CBase,
+                public MCCPCSCall,
+                public MCSPCallObserver,
+                public MCSPCallErrorObserver,
+                public MCSPUUSMessageObserver,
+                public MCCPCallCommandHandling
+    {
+    public:
+        /*
+        * C++ default destructor
+        */
+        virtual ~CSPCall( );
+       
+        /** 
+        * ETel call name accessor.
+        * @return system wide error code
+        */
+        void CallName( TName& aCallName );
+        
+        /**
+        * Sets the audio handler for the call.
+        * @param aHandler audio handler
+        */
+        void SetAudioHandler( CSPAudioHandler* aHandler );
+        
+        /**
+         * Security setting change notification.
+         * @param aValue new value
+         */
+        void SecuritySettingChanged( TInt aValue );
+        
+        /**
+         * Remote alerting tone status changed notification.
+         * @param aNewStatus New remote alerting tone status.
+         */
+        void RemoteAlertingToneStatusChanged(
+            RMmCustomAPI::TRemoteAlertingToneStatus aNewStatus );
+
+        /**
+         * Set iDontReportTerm flag value to ETrue.
+         */
+        void DontReportTerminationError();
+        
+// from base class MCSPCallObserver
+
+        /**
+        * Updates the call event for observers.
+        * @param aEvent the event to be notified
+        */
+        virtual void NotifyForwardEventOccurred( 
+                        MCCPForwardObserver::TCCPForwardEvent aEvent );
+
+        /**
+        * Updates the state change and forwards the state for observer.
+        * @param aState new state (ETel) of the call 
+        */
+        virtual void NotifyCallStateChangedETel( 
+            RMobileCall::TMobileCallStatus aState );
+
+        /**
+        * Updates the call event for observers.
+        * @param aEvent the event to be notified
+        */
+        virtual void NotifyCallEventOccurred( 
+            MCCPCallObserver::TCCPCallEvent aEvent );
+
+        /**
+        * Updates the transfer event for observers.
+        * @param aEvent the event to be notified
+        */
+        virtual void NotifyTransferCallEventOccurred( 
+                        MCCPTransferObserver::TCCPTransferEvent aEvent );
+        
+        /**
+        * Notifies changed call capabilities.
+        * @param aCapsFlags new capability flags
+        */
+
+        virtual void CallCapsChanged( const TUint32 aCapsFlags );
+        
+// from base class MCSPCallErrorObserver        
+    
+        /**
+        * From MCSPCallErrorObserver
+        * Dial request failed notification.
+        * @param aErrorCode request failing error code
+        */
+        void DialRequestFailed( TInt aErrorCode );
+
+        /**
+        * From MCSPCallErrorObserver
+        * Emergency dial request failed notification.
+        * @param aErrorCode request failing error code
+        */
+        void EmergencyDialRequestFailed( TInt aErrorCode );
+        
+        /**
+        * From MCSPCallErrorObserver
+        * Notifies about error situation for CCE.
+        */
+        virtual void NotifyErrorOccurred( TCCPError aError );
+
+// from base class MCSPUUSMessageObserver
+        
+        /**
+        * From MCSPUUSMessageObserver
+        * UUS message received notification. 
+        */
+        void UUSMessageReceived( TDesC& aMessage );        
+        
+// from base class MCCPCSCall
+
+        /**
+        * From MCCPCSCall
+        * Returns call information
+        * @param aCallInfo TMobileCallInfoV3
+        * @return KErrNone if succesfull
+        *         otherwise another system wide error code
+        */
+        virtual TInt GetMobileCallInfo( TDes8& aCallInfo ) const;
+
+        /**
+        * From MCCPCSCall
+        * Gets the calls data call capabilities
+        * @param aCaps TMobileCallDataCapsV1
+        * @return KErrNone if the function member was successful, 
+        *        KErrNotSupported if call doesn't support circuit switched data
+        *        KErrNotFound if this call is not a data call
+        */
+        virtual TInt GetMobileDataCallCaps( TDes8& aCaps ) const;
+
+// from base class MCCPCall
+        
+        /**
+        * From MCCPCall
+        * Answers to an incoming call.
+        * @return system wide error code
+        */
+        virtual TInt Answer();
+
+        /**
+        * From MCCPCall
+        * Rejects an incoming call.
+        * @return system wide error code
+        */
+        virtual TInt Reject();
+
+        /**
+        * From MCCPCall
+        * Reguests plug-in to queue the call.     
+        * @return system wide error code    
+        */
+        virtual TInt Queue();
+
+        /**
+        * From MCCPCall
+        * Starts dialing to remote party
+        * @return system wide error code
+        */
+        virtual TInt Dial();
+        
+        /**
+        * From MCCPCSCall
+        * Starts dialing to recipient
+        * @param aCallParams Call parameters used 
+        *   by the TSY (TCallParamsPckg)
+        * @return system wide error code
+        */
+        TInt Dial( const TDesC8& aCallParams );
+
+        /**
+        * From MCCPCall
+        * Call is ringning
+        * @return system wide error code
+        */
+        virtual TInt Ringing();
+
+        /**
+        * From MCCPCall
+        * Ends an ongoing call.
+        * @return system wide error code
+        */
+        virtual TInt HangUp();
+
+        /**
+        * From MCCPCall
+        * Cancels the ongoing request
+        * @return system wide error code
+        */
+        virtual TInt Cancel();
+
+        /**
+        * From MCCPCall
+        * Puts the specified call on hold.
+        * @return system wide error code
+        */
+        virtual TInt Hold();
+
+        /**
+        * From MCCPCall
+        * Resumes the call.
+        * @return system wide error code
+        */
+        virtual TInt Resume();
+
+        /**
+        * From MCCPCall
+        * Swaps a connected call to its opposite state either active or on hold
+        * @return system wide error code
+        */
+        virtual TInt Swap();
+
+        /**
+        * From MCCPCall
+        * Returns the remote party of the call.
+        * @return remote party address,
+        */
+        const TDesC& RemoteParty() const;
+
+        /**
+        * From MCCPCall
+        * Returns the remote party name of the call.
+        * @return remote party name
+        */
+        const TDesC& RemotePartyName();
+
+        /**
+        * From MCCPCall
+        * Dialled party.
+        * @return dialled party name
+        */
+        const TDesC& DialledParty() const;
+
+        /**
+        * From MCCPCall
+        * Return boolean value if the incoming call is forwarded or not.
+        * @return ETrue if call is forwarded, else EFalse
+        */
+        virtual TBool IsCallForwarded() const;
+
+        /**
+        * From MCCPCall
+        * Returns boolean value if the call is mobile originated or not.
+        * @return ETrue if call is mobile originated, otherwise EFalse
+        */
+        virtual TBool IsMobileOriginated() const;
+
+        /**
+        * From MCCPCall
+        * Returns the state of the call.
+        * @return TCCPCallState The current state of the call
+        */
+        virtual MCCPCallObserver::TCCPCallState State() const;
+
+        /**
+        * From MCCPCall
+        * Returns TUid of the plug-in used for this call
+        * @return TUid Implementation UID of the Plug-In
+        */
+        virtual TUid Uid() const;
+
+        /**
+        * From MCCPCall
+        * Returns call control caps for this call
+        * @return call capability information
+        */
+        virtual MCCPCallObserver::TCCPCallControlCaps Caps( ) const;
+
+        /**
+        * From MCCPCall
+        * Get call's secure status.
+        * @return TBool ETrue if security is enabled, else EFalse.
+        */
+        virtual TBool IsSecured() const;
+
+        /**
+        * From MCCPCall 
+        * Get call's secure specified status.
+        * @return TBool ETrue if secure specified 
+        */
+        virtual TBool SecureSpecified() const;
+
+        /**
+        * From MCCPCall  
+        * Set call parameters.
+        * @param aNewParams New call paramater information.
+        */
+        virtual void SetParameters( const CCCPCallParameters& aNewParams );
+        
+        /**
+        * From MCCPCall 
+        * Cet call parameters.
+        * @return Current call paramater information.
+        */
+        virtual const CCCPCallParameters& Parameters() const;
+
+        /**
+        * From MCCPCall 
+        * Get Forward provider
+        * @param aObserver - observer class for forward events
+        * @return Pointer to MCCPForwardProvider if succesfull, NULL if not available
+        * @leave on error case system error code
+        */
+        virtual MCCPForwardProvider* ForwardProviderL( const MCCPForwardObserver& aObserver );
+
+        /**
+        * From MCCPCall 
+        * Get Call transfer provider
+        * @param aObserver - observer class for transfer events
+        * @return Pointer to MCCPTransferProvider if succesfull, NULL if not available
+        * @leave on error case system error code
+        */
+        virtual MCCPTransferProvider* TransferProviderL( const MCCPTransferObserver& aObserver );
+          
+        /**
+        * From MCCPCall  
+        * Adds a new observer for MCCECall object. Called in MT call case. In MO 
+        * case observer will be given at call construction.
+        * Plug-in dependent feature if duplicates or more than one observers 
+        * are allowed or not. Currently CCE will set only one observer.
+        * @param aObserver Observer
+        * @leave system error if observer adding fails
+        */
+        virtual void AddObserverL( const MCCPCallObserver& aObserver );
+
+        /**
+        * From MCCPCall  
+        * Remove an observer.
+        * @param aObserver Observer
+        * @return KErrNone if removed succesfully. KErrNotFound if observer was not found.
+        * Any other system error depending on the error.
+        */
+        virtual TInt RemoveObserver( const MCCPCallObserver& aObserver );
+        
+        /**
+        * From MCCPCall 
+        * Returns the inband tone associated to an error condition or a state transition of a call.
+        * See defenition for TCCPTone.
+        * @since S60 3.2
+        * @param None.
+        * @return TCCPTone Used tone.
+        */
+        TCCPTone Tone() const;
+
+// from base class MCCPCSCall
+        
+        /**
+        * From MCCPCSCall
+        * Indicates that FDN check is not used for dial.
+        */
+        virtual void NoFDNCheck( );
+        
+        /**
+        * From MCCPCSCall 
+        * Log dialed  number. SAT related, check if dialed number is to be logged or not.
+        * @since S60 5.0
+        * @param None
+        * @return Log dialed number or not.
+        */
+        virtual TBool LogDialedNumber() const;
+    
+// from base class MCCPCallCommandHandling
+        
+        /**
+        * Perform answer command.
+        * @return system wide error code
+        */
+        TInt PerformAnswerRequest();
+        
+        /**
+        * Perform dial command.
+        * @return system wide error code
+        */
+        TInt PerformDialRequest();
+        
+    protected:
+            
+        /**
+        * Starts dialing to recipient.
+        * Bypasses FDN check according to aFdnCheck.
+        * @param aFdnCheck True if FDN checking is used
+        * @return system wide error code
+        */
+        virtual TInt DialFdnCond( TBool aFdnCheck ) = 0;
+                
+    protected:
+    
+        /**
+        * C++ default constructor.  
+        * 
+        * @param aLine line of the call 
+        * @param aMobileOriginated is call mobile originated 
+        * @param aName contains call name (mobile terminated) or phone number (mobile originated)
+        * @param aCommonInfo reference to common info interface 
+        * @param aIsEmergencyCall is emergency call 
+        */
+        CSPCall(  RMobileLine& aLine, 
+                  TBool aMobileOriginated,
+                  const TDesC& aName,
+                  MCSPCommonInfo& aCommonInfo,
+                  TBool aIsEmergencyCall );
+                  
+        /*
+        * Constructing 2nd phase.
+        * @param aParams call parameters  
+        */
+        virtual void ConstructL( const CCCECallParameters& aParams );
+        
+        /*
+        * Notifies the ringing state to observers.
+        */
+        virtual void NotifyRingingState();
+        
+        /**
+        * Mapping ETel state to CCP state.
+        * @param aEtelState an ETel state
+        * @return corresponding CCP state
+        */
+        MCCPCallObserver::TCCPCallState 
+            CSPCall::CCPStateFromETelState(
+                RMobileCall::TMobileCallStatus aEtelState );
+                
+        /**
+        * From MCSPCallObserver 
+        * Updates the state change including inband tones 
+        * played by network and forwards the state for observer.
+        * @param aState new state of the call
+        */
+        virtual void NotifyCallStateChangedWithInband( 
+            MCCPCallObserver::TCCPCallState aState );
+
+        /**
+        * Updates the state change 
+        * and forwards the state for observer.
+        * @param aState new state of the call
+        */
+        virtual void NotifyCallStateChanged( 
+            MCCPCallObserver::TCCPCallState aState );
+            
+        /**
+        * From MCSPCallObserver
+        * Notify that remote party info has changed.
+        * @param aRemoteParty new remote party information
+        */
+        virtual void NotifyRemotePartyInfoChanged( 
+            const TDesC& aRemoteParty);
+
+        /**
+        * Open call handle.  
+        * Opens a new call handle for MO call  
+        * and an existing handle for MT call.    
+        */
+        virtual void OpenCallHandleL();
+
+        /**
+        * Update call info data including call name,  
+        * remote name and number data.  
+        */
+        virtual void UpdateCallInfo();
+        
+        /**
+         * Implementation for UpdateCallInfo().       
+         */
+        virtual void UpdateCallInfoImpl( RMobileCall::TMobileCallInfoV7 aCallInfo );
+        
+        /**
+         * Set call origin to CCCECallParameters.       
+         */
+        virtual void UpdateCallOrigin( RMobileCall::TMobileCallInfoV7 aCallInfo );
+        
+        /**
+        * Reads information from cenrep.
+        * @param aUid CR Uid
+        * @param aKey CR key
+        * @param aVal value of key, output
+        */
+        void ReadRepositoryL( TUid aUid, TUint aKey, TInt& aVal);
+
+        /**
+        * Check and notify call termination error.
+        */
+        void CheckAndNotifyTerminationError();
+        
+        /**
+        * Error from iExitCode.
+        */
+        TInt ExitCodeError() const;
+        
+        /**
+        * Update call name number info.   
+        * @param aCallInfo RMobileCall::TMobileCallInfoV3
+        * @param aCallCreatedByMonitor, set:  
+        *       EFalse for calls added by plugin owner
+        *       ETrue for calls added by ETel status monitor  
+        */
+        void UpdateCallNameNumberInfo(
+                RMobileCall::TMobileCallInfoV3& aCallInfo, 
+                TBool aCallAddedByMonitor ); 
+
+        /**
+        * Open new call.
+        * New call is opened when the plugin owner adds the new 
+        * call (compare to OpenExistingCall where call is added by 
+        * ETel monitor).  
+        */
+        void OpenNewCall(); 
+
+        /**
+        * Open existing call.
+        * Existing call is opened if one of the ETel
+        * monitors (incoming call monitor or line status monitor) 
+        * has added the call and no new call needs to be 
+        * opened.    
+        * @param aName name of the existing call   
+        */
+        void OpenExistingCallL( const TDesC& aName ); 
+        
+    private:
+
+        /**
+        * Create call handlers for call requests and for 
+        * monitoring call events.   
+        */
+        void CreateCallHandlersL();
+        
+        /**
+        * Update call state from ETel
+        * @return system wide error code 
+        */
+        int UpdateCallState();
+
+    private: 
+
+        enum TCSPCallAudioStatus {
+            ECSPCallAudioStatusInactive,
+            ECSPCallAudioStatusActive
+            };
+
+    protected:
+
+          /**
+          * CCP Call Observer array.
+          */
+          RPointerArray<MCCPCallObserver> iObservers;
+          
+          /**
+          * Actual ETel call handle.
+          */
+          RMobileCall iCall;
+
+          /**
+          * ETel line
+          */
+          RMobileLine& iLine;
+
+          /**
+          * Determines if the call direction is either MO (ETrue) or MT (EFalse)
+          */
+          TBool iMobileOriginated;  
+
+          /**
+          * Name information of the call.
+          * 
+          * Name information is stored during CSPCall construction
+          * and assigned to iCallName (MT or client call) or 
+          * iRemotePartyNumber (MO call) afterwards.    
+          */
+          TBuf<KCSPPhoneNumberMaxLength> iName;
+          
+          /**
+          * Remote party name of the call.
+          */
+          TBuf<KCSPPhoneNumberMaxLength> iRemotePartyNumber;
+          
+          /**
+          * Remote party name of the call.
+          */
+          TBuf<KCSPCallingNameMaxLength> iRemotePartyName;
+
+          /**
+          * Dialled party of the call.
+          */
+          TBuf<KCSPPhoneNumberMaxLength> iDialledParty;
+          
+          /**
+          * Call name for MT call.
+          */
+          TName iCallName;
+
+          /**
+          * Call parameters.
+          */      
+          CCCECallParameters* iParams; 
+         
+          /**
+          * Call state in CCP format
+          */
+          MCCPCallObserver::TCCPCallState iCallState;
+          
+          /**
+          * Capability flags.
+          */
+          TUint32 iCapsFlags;
+
+          /**
+          * Call status monitor
+          */
+          CSPEtelCallStatusMonitor* iCallStatusMonitor;
+            
+          /**
+          * Call event monitor
+          */
+          CSPEtelCallEventMonitor* iCallEventMonitor;
+          
+          /**
+          * Call info monitor
+          */
+          CSPCallInfoMonitor* iCallInfoMonitor;
+          
+          /**
+          * Makes the asynchronic requests for various purposes.
+          */
+          CSPEtelCallRequester* iRequester;
+
+          /**
+          * Dial completion code.
+          */
+          TInt iDialCompletionCode;
+
+          /**
+           * Common information for calls.
+           */
+           MCSPCommonInfo& iCommonInfo;
+
+          /**
+          * Call termination error notification has been sent.
+          */
+          TBool iTerminationErrorNotified;
+          
+          /**
+          * Emergency call.
+          */
+          TBool iIsEmergencyCall;
+    
+    private:
+        
+          /**
+          * Transfer provider.
+          * Own.
+          */
+          CSPTransferProvider* iTransferProvider;
+          
+          /**
+          * Forward provider. No actual implementation.
+          * Own.
+          */          
+          CSPForwardProvider* iForwardProvider;
+          
+          /**
+          * Audio dev sound handler.
+          * Not own.
+          */
+          CSPAudioHandler* iAudioHandler;
+          
+          /**
+          * FDN check usage status. Default is on. (ETrue)
+          */
+          TBool iFdnCheck;          
+          
+          /**
+          * Monitors call capabilities from ETel.
+          * Own.
+          */
+          CSPEtelCallCapsMonitor* iCallCapsMonitor;
+                    
+          /*  
+          * UUS monitor
+          */          
+          CSPUUIMonitor* iUUIMonitor;
+          
+          /*  
+          * UUS sender
+          */
+          CSPUUIMessageSender* iUUIMessageSender;
+          
+          /**
+          * Data for parsed skype id.
+          * Own.
+          */
+          HBufC* iSkypeId;
+          
+          /**
+          * Audio stop requested status. The flag prevents double audio stop.
+          * Stop is executed in Disconnecting state and Idle state 
+          * if previous state has been DisconnectingWithInband.
+          * Audio start status.
+          */
+          TCSPCallAudioStatus iAudioStatus;
+          
+          /**
+          * Defines whether to report KErrGsmCCNormalUnspecified
+          * and KErrGsmCCCallRejected.
+          */
+          TBool iDontReportTerm;
+          
+          /**
+           * User to user information. Sended to network before dial.
+           * Own.
+           */
+          HBufC* iUserToUserInformation;
+          
+          friend class UT_CSPCall;
+          friend class MT_CConvergedCallProvider;
+          
+          
+    };
+
+
+#endif // CSPCALL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspcalladdedhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,166 @@
+/*
+* 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:  Declarations for class CSPCallAddedHandler
+*
+*/
+
+
+#ifndef CSPCALLADDEDHANDLER_H
+#define CSPCALLADDEDHANDLER_H
+
+#include <e32base.h>
+#include <etelmm.h>
+#include "rcsplinecontainer.h"
+#include "mcsplinestatusobserver.h" // For MCSPLineStatusObserver
+
+class CSPCall;
+class CSPCallArray;
+class CSProvider;
+class MCCPCSObserver;
+class RCSPLineContainer;
+class CSPEtelLineStatusMonitor; 
+class CSPEtelCallWaitingRequester;
+class MCSPCommonInfo;
+class CSPAudioHandler;
+
+/**
+* Handles call adding from calls not done by the plugin.
+*
+*  @lib csplugin.dll
+*/
+NONSHARABLE_CLASS(CSPCallAddedHandler): public CBase,                            
+                           public MCSPLineStatusObserver
+    {
+    
+    public: //Constructors and descructor    
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aObserver the observer for getting notification
+        * @param aLine the line to monitor
+        * @param aLineId line identifier
+        */
+        static CSPCallAddedHandler* NewL( 
+                const MCCPCSObserver& aObserver,
+                RCSPLineContainer& aLineContainer,
+                CSPCallArray& aCallArray,
+                MCSPCommonInfo& aCommonInfo,
+                CSPAudioHandler& aAudioHandler );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPCallAddedHandler( );
+
+
+// from base class MCSPLineStatusMonitor        
+        
+        /**
+        * Handles line status change notifications 
+        * @param aLine the line to monitor
+        * @param aLineId line identifier
+        * @param aLineStatus
+        */        
+        void LineStatusChanged( RMobileLine& aLine,
+                RCSPLineContainer::TCSPLineId aLineId, 
+                RMobileCall::TMobileCallStatus& aLineStatus );
+
+    protected: // From CActive
+        
+        /**
+        * From CActive
+        * RunL
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Catches errors if RunL leaves
+        * @param aError error code
+        * @return error code
+        */
+        TInt RunError( TInt aError );
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        */
+        void DoCancel();
+
+    private:
+        
+        /**
+        * C++ default constructor
+        * @param aObserver the observer for status change (incoming call)
+        * @param aLine the line associated with the call
+        * @param aLineId line identifier
+        */
+        CSPCallAddedHandler( const MCCPCSObserver& aObserver, 
+                             RCSPLineContainer& aLineContainer,
+                             CSPCallArray& aCallArray,
+                             MCSPCommonInfo& aCommonInfo,
+                             CSPAudioHandler& aAudioHandler );
+                                          
+        /**
+        * Constructs the monitor in the second phase.
+        */
+        void ConstructL();
+        
+        /**         
+        * Handles call creation 
+        * @param aLine the line to monitor
+        * @param aCallName the call name 
+        * @param aLineId line identifier
+        */
+        void CallAdded( RMobileLine& aLine, 
+                        TName aCallName,
+                        RCSPLineContainer::TCSPLineId aLineId );
+
+    private: // data
+        
+        /**
+        * Line container. 
+        */        
+        RCSPLineContainer& iLineContainer;
+        
+        /**
+        * Notifications observer.
+        */
+        const MCCPCSObserver& iObserver;
+        
+        /**
+        * Line status monitors.
+        */
+        CSPEtelLineStatusMonitor* iVoiceLineMonitor;        
+        CSPEtelLineStatusMonitor* iDataLineMonitor;
+        CSPEtelLineStatusMonitor* iAuxLineMonitor;
+        
+        /**
+        * Array of calls.
+        */
+        CSPCallArray& iCallArray;
+        
+        /**
+        * Common info handle.
+        */
+        MCSPCommonInfo& iCommonInfo;
+        
+        /**
+        * Audio Handler reference.
+        */
+        CSPAudioHandler& iAudioHandler;
+    };
+
+#endif // CSPCALLADDEDHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspcallarray.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,102 @@
+/*
+* 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:  Declarations for class CSPCallArray
+*
+*/
+
+
+#ifndef CSPCALLARRAY_H
+#define CSPCALLARRAY_H
+
+#include <e32base.h>
+
+#include "mcspcallinformation.h"
+
+class CSPCall;
+
+/**
+* Handles call adding from calls not done by the plugin.
+*
+*  @lib csplugin.dll
+*/
+class CSPCallArray: public CBase,
+                    public MCSPCallInformation
+    {
+    
+    public: //Constructors and descructor    
+    
+        /**
+        * Two-phased constructing for the array.
+        *
+        */
+        static CSPCallArray* NewL( );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPCallArray( );
+
+        /**
+         * Remove call from array
+         * @param aCall call to be removed
+         * @return result of removal
+         */        
+        TInt Add( CSPCall* aCall );
+        
+        /**
+         * Remove call from array
+         * @param aCall call to be removed
+         * @return result of removal
+         */
+        TInt Remove( CSPCall* aCall );
+        
+        /**
+         * Get call count.
+         */
+        TInt GetCallCount( );
+        
+        /**
+         * Get call by index.
+         */
+        CSPCall* Get( TInt aIndex );
+        
+// from base class MCSPCallInformation
+
+        /**
+        * From MCSPCallInformation
+        * Finds call pointer specified by call name.
+        * @param aCallName
+        * @return corresponding call pointer or NULL if not found.
+        */
+        CSPCall* FindCall( const TName& aCallName );
+    
+    private:
+        /**
+        * C++ default constructor
+        * @param aObserver the observer for status change (incoming call)
+        * @param aLine the line associated with the call
+        * @param aLineId line identifier
+        */
+        CSPCallArray( );
+                                          
+    private: // data
+        
+        /**
+        * Pointer array of call objects.     
+        */
+        RPointerArray<CSPCall> iCallArray;
+        
+    };
+
+#endif // CSPCALLARRAY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspcallcommandhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,110 @@
+/*
+* 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:  Declarations for class CSPCallCommandHandler
+*
+*/
+
+
+#ifndef CSPCALLCOMMANDHANDLER_H
+#define CSPCALLCOMMANDHANDLER_H
+
+#include <e32base.h>
+
+#include "mcspcallinformation.h"
+
+class CSPCall;
+class MCCPCallCommandHandling;
+
+/**
+* Handles call adding from calls not done by the plugin.
+*
+*  @lib csplugin.dll
+*/
+enum TCSPPendingCallCommand {
+            ECSPNone,
+            ECSPAnswerCall,
+            ECSPDialCall
+        };
+        
+class CSPCallCommandHandler: public CBase
+    {
+    
+    public: //Constructors and descructor    
+    
+        /**
+        * Two-phased constructing for the array.
+        */
+        static CSPCallCommandHandler* NewL();
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPCallCommandHandler( );
+
+        /**
+        * Indicates active hangup command.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        TInt IndicateActiveHangup( MCCPCallCommandHandling& aCall );
+        
+        /**
+        * Indicates hangup command complete.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        TInt IndicateHangupComplete( MCCPCallCommandHandling& aCall );
+        
+        /**
+        * Indicates active hangup command.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        TInt IndicateDialRequest( MCCPCallCommandHandling& aCall );
+        
+        /**
+        * Indicates active hangup command.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        TInt IndicateAnswerRequest( MCCPCallCommandHandling& aCall );
+
+    
+    private:
+        /**
+        * C++ default constructor
+        */
+        CSPCallCommandHandler();
+                                          
+    private: // data
+        
+        /**
+        * Active hangup array.
+        */
+        RPointerArray<MCCPCallCommandHandling> iActiveHangupArray;
+        
+        /**
+        * Pending command.
+        */
+        TCSPPendingCallCommand iPendingCommand;
+        
+        /**
+        * Pending call command object.
+        * Not own
+        */
+        MCCPCallCommandHandling* iPendingCall;
+        
+    };
+
+#endif // CSPCALLCOMMANDHANDLER_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspcallinfomonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,108 @@
+/*
+* 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:  Monitors changes in remote party info 
+*                (RMobileCall::TMobileCallRemotePartyInfoV1)
+*  Interface   : 
+*
+*/
+
+
+#ifndef     CSPCALLINFOMONITOR_H
+#define     CSPCALLINFOMONITOR_H
+
+//  INCLUDES
+#include    <etelmm.h>
+#include    "mcspcallobserver.h"
+
+//  FORWARD DECLARATIONS
+
+class   CSPCallData;
+class   CSPPhoneData;
+class   RMobileCall;
+
+//  CLASS DEFINITIONS 
+
+/** Monitors changes in remote party info.
+*   This class monitors remote party info changes in ETel's call objects.
+*   @since 3.1
+*/
+NONSHARABLE_CLASS( CSPCallInfoMonitor ): public CActive
+    {
+    public:
+        /** 
+        * Two-phased constructor 
+        * @param aObserver Call info change observer
+        * @param aCall This is the call to be monitored
+        */
+        static CSPCallInfoMonitor* NewL(
+            MCSPCallObserver& aObserver, RMobileCall &aCall );
+
+        /** D'tor. */
+        ~CSPCallInfoMonitor();
+
+    public:
+        /** 
+        * Starts monitoring.
+        */
+        void StartMonitoring( );
+
+    private:
+        /** Prohibited. */
+        CSPCallInfoMonitor& operator=( const CSPCallInfoMonitor& );
+
+        /**
+        * C++ Constructor
+        * @param aObserver aObserver Call info change observer        
+        * @param aCall This is the call to be monitored.         
+        */
+        CSPCallInfoMonitor( MCSPCallObserver& aObserver, 
+                            RMobileCall &aCall ); 
+
+
+    private:    // from CActive
+        /** @see CActive::RunL() */
+        void RunL();
+
+        /**  @see CActive::DoCancel() */
+        void DoCancel();
+      
+        
+
+    private:
+    
+        /**
+        * Observer for info change.
+        */
+        MCSPCallObserver& iObserver;
+        
+        /**
+        * Pointer to Call object.
+        * Not own.
+        */
+        RMobileCall& iCall;
+        
+        /**
+        * Remote party info.
+        */ 
+        RMobileCall::TMobileCallRemotePartyInfoV1 iRemotePartyInfo;
+        
+        /**
+        * packaged remote party info.
+        */         
+        RMobileCall::TMobileCallRemotePartyInfoV1Pckg iRemotePartyInfoPckg;
+    };
+
+#endif // CSPCALLINFOMONITOR_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspcenreplistener.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,116 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 header of CenRep Listener class.
+*
+*/
+
+
+#ifndef CSPCENREPLISTENER_H
+#define CSPCENREPLISTENER_H
+
+// INCLUDE FILES
+#include <e32base.h>
+
+// Forward declarations
+class CRepository;
+class MCSPCenRepObserver;
+
+// BASE CLASS
+
+// CLASS DECLARATION
+
+/**
+*   CSPCenRepListener manages getting notification on CenRep key changes.
+*/
+class CSPCenRepListener : public CActive
+    {
+    public:
+        
+        /**
+        * Two-phased construction.
+        *
+        * @param aUid cenrep Uid
+        * @param aKey key to be listened
+        * @param aObserver observer for key change.
+        * @return instance of the class
+        */
+        static CSPCenRepListener* NewL( TUid aUid, TUint32 aKey, 
+                   MCSPCenRepObserver* aObserver );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CSPCenRepListener();
+
+    public:
+
+        /**
+        * Gets the current value of the monitored setting
+        * @param aValue the current value of the monitored setting
+        * @return TInt Symbian OS error code from central repository
+        */
+        TInt Get( TInt& aValue );
+
+
+    protected: // From CActive
+
+        void DoCancel();
+        TInt RunError( TInt aError );
+        void RunL();
+        
+    private:
+
+        /**
+        * Constructor
+        * @param aUid cenrep Uid
+        * @param aKey key to be listened
+        * @param aObserver observer for key change.
+        */    
+        CSPCenRepListener( TUid aUid, TUint32 aKey, 
+                           MCSPCenRepObserver* aObserver );
+    
+
+        /**
+        * Private constructing.
+        */
+        void ConstructL();
+
+        /**
+        * Submits a notification request
+        */
+        void SubmitNotifyRequestL();
+        
+
+    private: // Owned by this object
+
+        /**
+        * UID of CR key.
+        */
+        TUid iUid;
+        
+        /**
+        * Repository access.
+        * Own.
+        */
+        CRepository* iRepository;
+        
+        /**
+        * Identification number of the monitored setting.
+        */
+        TUint32 iMonitorSetting;
+        
+        MCSPCenRepObserver* iObserver;
+};
+
+#endif // CSPCENREPLISTENER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspcipheringstatusmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,121 @@
+/*
+* 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:  Declarations for class CSPCipheringStatusMonitor
+*
+*/
+
+
+#ifndef CSPCIPHERINGSTATUSMONITOR_H
+#define CSPCIPHERINGSTATUSMONITOR_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <etelmm.h>
+
+#include "cspconsts.h"
+
+
+// FORWARD DECLARATIONS
+class RMmCustomAPI;
+class MCSPSecuritySettingObserver;
+
+// CLASS DECLARATION
+
+
+class CSPCipheringStatusMonitor : public CActive
+    {
+    public: //Constructors and descructor
+
+        /**
+        * C++ default constructor
+        */
+        CSPCipheringStatusMonitor( RMmCustomAPI& aMmCustom,
+            MCSPSecuritySettingObserver& aObs );
+
+        /**
+        * Destructor.
+        */
+        ~CSPCipheringStatusMonitor();
+
+    public:
+
+        static CSPCipheringStatusMonitor* NewL( RMmCustomAPI& aMmCustom, 
+            MCSPSecuritySettingObserver& aObs );
+        
+        /**
+        * Starts monitoring the CW notifications
+        */
+        void StartMonitoring();
+        
+        /**
+        * Network security status.
+        * @return secured status
+        */
+        TBool NetworkSecurityStatus() const;
+
+        /**
+        * Secure specified.
+        * @return secure specified status
+        */        
+        TBool SecureSpecified() const;        
+        
+    protected: // From CActive
+    
+        /**
+        * Cancels asyncronous request(s).
+        */
+        void DoCancel();
+
+        /**
+        * Informs object that asyncronous request is ready.
+        */
+        void RunL();
+        
+    private: // data
+
+        /**
+        * Ciphering info 
+        */
+        RMmCustomAPI::TCipheringInfo iCipheringInfo; 
+        
+        /**
+        * CustomAPI handle
+        */        
+        RMmCustomAPI& iMmCustom; 
+        
+        /**
+        * Security setting observer.
+        */
+        MCSPSecuritySettingObserver &iObserver;
+
+        /**
+        * indicates if ciphering status was retreived for the first time
+        */
+        TBool iIsInitialised;
+        
+        /**
+        * Call secure status.
+        */
+        TBool iCallsSecured;
+        
+        /**
+        * Call secure specified status.
+        */
+        TBool iSecureSpecified;
+
+    };
+
+#endif // CSPCIPHERINGSTATUSMONITOR_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspclientvideocall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implements CSPClientVideoCall for CS Call Plug-in
+*
+*/
+
+
+#ifndef CSPCLIENTVIDEOCALL_H
+#define CSPCLIENTVIDEOCALL_H
+
+#include <mccpcscall.h>
+#include <mccpcallobserver.h>
+#include <etel.h>
+#include <etelmm.h>
+#include <cccecallparameters.h>
+
+#include "cspvideocall.h"
+#include "cspconsts.h"
+#include "mcspcallobserver.h"
+#include "mcspcallerrorobserver.h"
+
+
+/**
+* Call class for CS Call Plug-in. Implements the API defined by CCP in classes
+* MCCPCall and MCCPCSCall
+*
+*  @lib csplugin.dll
+*  @since S60 v5.0
+*/
+class CSPClientVideoCall : public CSPVideoCall
+    {
+    
+    public:
+        
+        /*
+        * Creates a new CSPClientVideoCall object.
+        * @since S60 5.0
+        * @param aName dialled number (MT) or call name (MO)
+        * @param aLine line for opening the call
+        * @param aParams call parameters 
+        * @param aCommonInfo common information for call,
+        * @return pointer to created call object
+        */
+        static CSPClientVideoCall* NewL( const TDesC& aName,
+                              RMobileLine& aLine,
+                              const CCCECallParameters& aParams,
+                              MCSPCommonInfo& aCommonInfo );       
+        
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPClientVideoCall( );
+
+// from base class CSPVideoCall
+
+        /**
+        * From CSPCall
+        * Updates the state change and forwards the state for observer.
+        * @param aState new state of the call
+        */
+        void NotifyCallStateChanged( MCCPCallObserver::TCCPCallState aState );
+
+        /**
+        * From CSPCall
+        * Updates the state change and forwards the state for observer.
+        * @param aState new state of the call
+        */
+        void NotifyCallStateChangedWithInband( MCCPCallObserver::TCCPCallState aState );
+      
+    private:    
+        
+        /*
+        * C++ default constructor
+        * @param aLine open line ready for use
+        * @param aServiceId service ID
+        * @param aCallType type of call
+        * @param aLineType type of line (primary/aux)
+        * @param aMobileOriginated true if MO, false if MT
+        * @param aName call name (MT) or recipient (MO)
+        * @param aExtMoCall is externally created MO call
+        */
+        CSPClientVideoCall( RMobileLine& aLine,
+                 const TDesC& aName,
+                 MCSPCommonInfo& aCommonInfo );
+                 
+        /*
+        * Constructing 2nd phase.
+        * @since S60 3.2
+        */
+        void ConstructL( const CCCECallParameters& aParams );
+        
+        /*
+        * Indicate client call. 
+        * Indication is done in Dialling state and can be done only once 
+        */
+        void IndicateClientCall(); 
+        
+        /**
+        * Open call handle.  
+        * Opens an existing handle for client call.    
+        */
+        void OpenCallHandleL();
+
+        /**
+        * Update call info.  
+        */
+        void UpdateCallInfoImpl( RMobileCall::TMobileCallInfoV7 aCallInfo ); 
+        
+    private: // Data
+        
+        /**
+        * Defines whether client call has been already indicated for this call 
+        * when Dialling state is entered. 
+        */
+        TBool iClientCallIndicated;
+        
+    };
+
+
+#endif // CSPCLIENTVIDEOCALL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspclientvoicecall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Implements CSPClientVoiceCall for CS Call Plug-in
+*
+*/
+
+
+#ifndef CSPCLIENTVOICECALL_H
+#define CSPCLIENTVOICECALL_H
+
+#include "cspvoicecall.h" 
+
+/**
+* Client voice call class for CS Call Plug-in. 
+*
+*  @lib csplugin.dll
+*/
+class CSPClientVoiceCall : public CSPVoiceCall
+    {
+    
+    public:
+        
+        /*
+        * Creates a new CSPClientVoiceCall object.
+        * @since S60 5.0
+        * @param aName dialled number (MT) or call name (MO)
+        * @param aLine line for opening the call
+        * @param aParams call parameters 
+        * @param aCommonInfo common information for call,
+        * @return pointer to created call object
+        */
+        static CSPClientVoiceCall* NewL( const TDesC& aName,
+                              RMobileLine& aLine,
+                              const CCCECallParameters& aParams,
+                              MCSPCommonInfo& aCommonInfo );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPClientVoiceCall( );
+      
+    // from base class CSPVoiceCall
+
+        /**
+        * From CSPVoiceCall
+        * Updates the state change and forwards the state for observer.
+        * @param aState new state of the call
+        */
+        void NotifyCallStateChanged( MCCPCallObserver::TCCPCallState aState );
+
+        /**
+        * From CSPVoiceCall
+        * Updates the state change and forwards the state for observer.
+        * @param aState new state of the call
+        */
+        void NotifyCallStateChangedWithInband( MCCPCallObserver::TCCPCallState aState );
+        
+    private:    
+        
+        /*
+        * Voice call constructor.
+        * @param aLine open line ready for use
+        * @param aName remote party or call name depending on direction
+        * @param aCommonInfo reference to common info interface
+        */
+        CSPClientVoiceCall( RMobileLine& aLine,  
+                 const TDesC& aName,
+                 MCSPCommonInfo& aCommonInfo );
+                 
+        /*
+        * Constructing 2nd phase.
+        */
+        void ConstructL( const CCCECallParameters& aParams );
+        
+        /*
+        * Indicate client call. 
+        * Indication is done in Dialling state and can be done only once 
+        */
+        void IndicateClientCall(); 
+        
+        /**
+        * Open call handle.  
+        * Opens an existing handle for client call.    
+        */
+        void OpenCallHandleL();
+        
+        /**
+        * Update call info.  
+        */
+        void UpdateCallInfoImpl( RMobileCall::TMobileCallInfoV7 aCallInfo );
+        
+    private: // Data
+        
+        /**
+        * Defines whether client call has been already indicated for this call 
+        * when Dialling state is entered. 
+        */
+        TBool iClientCallIndicated;
+        
+    };
+
+
+#endif // CSPCLIENTVOICECALL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspconferencecall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,316 @@
+/*
+* 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:  Implements CSPConferenceCall for CS Call Plug-in
+*
+*/
+
+
+
+#ifndef CSPCONFERENCECALL_H
+#define CSPCONFERENCECALL_H
+
+#include <mccpconferencecall.h>
+#include <mccpconferencecallobserver.h>
+#include <mccpcallobserver.h>
+#include <mccpcscall.h>
+#include <etel.h>
+#include <etelmm.h>
+
+#include "mcspconferencestatusobserver.h"
+#include "cspconsts.h"
+#include "cspetelconferencecallrequester.h" // For the requester and TConferenceRequestType
+
+
+class MCCPForwardProvider;
+class MCCPTransferProvider;
+class MCCPObserver;
+class MCSPCallInformation;
+class CSPConferenceCallObserver;
+class RMobileConferenceCall;
+class CSPEtelConferenceStatusMonitor; 
+class CSPEtelConferenceEventMonitor;
+class CSPEtelConferenceCapsMonitor;
+
+
+/**
+* Call class for CS Call Plug-in. Implements the API defined by CCP in classes
+* MCCPCall and MCCPCSCall
+*
+*  @lib csplugin.dll
+*/
+class CSPConferenceCall : public CBase,
+                          public MCCPConferenceCall,
+                          public MCSPConferenceStatusObserver
+    {
+    
+    public:
+        /*
+        * Creates a new CSPConferenceCall object.
+        * @param aPhone reference to phone object
+        * @return pointer to created call object
+        * @param aServiceId the service id
+        */
+        static CSPConferenceCall* NewL( 
+                              RMobilePhone& aPhone,
+                              MCSPCallInformation& aCallInfo,
+                              TUint32 aServiceId );
+        
+        /*
+        * C++ default destructor
+        */
+        virtual ~CSPConferenceCall( );
+
+        /** 
+        * Getter for observer
+        * @return observer for CS calls.
+        */
+        MCCPCallObserver* Observer() const;
+
+        /**
+        * Notifies call specific event to observers.
+        * @param aEvent conference event that was occurred
+        * @param aCallName the name of the related call object
+        */        
+        void NotifyEvent( 
+            MCCPConferenceCallObserver::TCCPConferenceCallEvent aEvent,
+            TName& aCallName );
+            
+        /**
+        * Notifies non-'call specific' event to observers.
+        * @param aEvent conference event that was occurred,
+        */        
+        void NotifyEvent( 
+            MCCPConferenceCallObserver::TCCPConferenceCallEvent aEvent );
+
+        /**
+        * Notifies about conference call request related errors.
+        */
+        void NotifyConferenceError( TCCPConferenceCallError aErr );
+
+        /**
+        * Handles caps change.
+        * @param aNewCaps new caps
+        */
+        void ConferenceCapsChanged( TUint32 aNewCaps );
+
+// from base class MCSPConferenceStatusObserver
+        
+        /**
+        * From MCSPConferenceStatusObserver.
+        * Notifies event to observers.
+        * @param aStatus new status of the conference call
+        */        
+        void NotifyStateChange( 
+            MCSPConferenceStatusObserver::TCSPConferenceState aStatus );
+        
+// from base class MCCPConferenceCall
+
+        /**
+        * From MCCPConferenceCall.
+        * Adds new call to conference call.
+        * @param aCall Call to be added to conference
+        * @return Leaves in case of an error. 
+        * KErrArgument, KErrNoMemory
+        */
+        void AddCallL( MCCPCall* aCall );
+    
+        /**
+        * From MCCPConferenceCall.
+        * Removes call from conference call.
+        * @param aCall Call to be removed from conference
+        * @return In error case leaves. 
+        * KErrArgument, KErrNotFound
+        */
+        void RemoveCallL( MCCPCall* aCall );
+    
+        /**
+        * From MCCPConferenceCall.
+        * Returns number of calls in conference call.
+        * @param aCallCount Number of calls in conference.
+        * @return KErrNone if succesfull, otherwise system wide error code.
+        */
+        TInt CallCount( ) const;
+    
+        /**
+        * From MCCPConferenceCall.
+        * Switch to a private call with one call from conference call.
+        * @param aCall Call to be removed from conference
+        * @return In error case leaves. 
+        * KErrArgument, KErrNotFound
+        */
+        void GoOneToOneL( MCCPCall& aCall );
+        
+        /**
+        * Adds current calls (1 hold + connected )
+        * to part of conference
+        * @leave In case of an error system wide error code
+        */
+        void CurrentCallsToConferenceL();        
+        
+        /**
+        * From MCCPConferenceCall
+        * Returns serviceId
+        * @since S60 3.2
+        * @return TUint32 ServiceId
+        */
+        TUint32 ServiceId() const;
+        
+        /**
+        * From MCCPConferencCall
+        * Ends an ongoing call.
+        * @since S60 3.2
+        */
+        TInt HangUp();
+
+        /**
+        * From MCCPConferenceCall
+        * Puts the specified call on hold.
+        * @since S60 3.2
+        */
+        TInt Hold();
+
+        /**
+        * From MCCPConferenceCall
+        * Resumes the call.
+        * @since S60 3.2
+        */
+        TInt Resume();
+
+        /**
+        * From MCCPConferenceCall
+        * Swaps a connected call to its opposite state either active or on hold
+        * @since S60 3.2
+        */
+        TInt Swap();
+
+        /**
+        * Adds a new observer for the conference call object.
+        * @since S60 3.2
+        * @param aObserver the conference observer to be added
+        */
+        void AddObserverL( const MCCPConferenceCallObserver& aObserver );
+        
+        /**
+        * Removes an observer.
+        * @since S60 3.2
+        * @param aObserver the observer to be removed
+        * @return system wide error code
+        */
+        TInt RemoveObserver( const MCCPConferenceCallObserver& aObserver );
+                
+        /**
+        * Get conference participants.  
+        * @since S60 5.0 
+        * @param aCallArray array where participating calls are stored 
+        * @return system wide error code
+        */
+        TInt GetCallArray( RPointerArray<MCCPCall>& aCallArray );  
+        
+    private:    
+        
+        /*
+        * C++ default constructor
+        * @param aPhone handle to the ETel Phone
+        * @param aCallInfo call information 
+        * @param aServiceId service id
+        */
+        CSPConferenceCall( RMobilePhone& aPhone, 
+                           MCSPCallInformation& aCallInfo,
+                           TUint32 aServiceId  );
+                 
+        /*
+        * Constructing 2nd phase.
+        * @since S60 3.2
+        * @param aObserver the CCP call observer,
+        */
+        void ConstructL( );
+                
+        /**
+        * Get conference state from ETel.  
+        * @since S60 5.0 
+        * @param aState param for storing conference call state  
+        * @return system wide error code
+        */
+        TInt GetConferenceCallState( 
+                MCCPConferenceCallObserver::TCCPConferenceCallState& aState ); 
+        
+    private:
+
+      /**
+      * Call status monitor.
+      * Own.
+      */
+      CSPEtelConferenceStatusMonitor* iCallStatusMonitor;
+        
+      /**
+      * Call event monitor.
+      * Own.
+      */
+      CSPEtelConferenceEventMonitor* iCallEventMonitor;
+
+      /**
+      * Call caps monitor.
+      * Own.
+      */
+      CSPEtelConferenceCapsMonitor* iCallCapsMonitor;
+        
+      /**
+      * ETel call object
+      */
+      RMobileConferenceCall iCall;
+      
+      /**
+      * ETel phone
+      */
+      RMobilePhone& iPhone;
+      
+      /**
+      * Conference call state.
+      */ 
+      MCCPConferenceCallObserver::TCCPConferenceCallState iCallState;
+                
+      /**
+      * Makes the asynchronic requests for various purposes.
+      */
+      CSPEtelConferenceCallRequester* iRequester;
+      
+      /**
+      * Observer array for conference states, events and errors.
+      */      
+      RPointerArray<MCCPConferenceCallObserver> iObservers;
+      
+      /**
+      * Call count for adding call.
+      */
+      TInt iCallCountForAddCall;
+      
+      /**
+      * Call Information for resolving call pointers from
+      * the call names.
+      */
+      MCSPCallInformation& iCallInfo;
+      
+      /**
+      * Service ID
+      */
+      TUint32 iServiceId;
+      
+      /**
+      * Call name of a last call added to this conference..
+      */
+      TName iAddedCallName;
+
+    };
+
+#endif // CSPCONFERENCECALL_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspconsts.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/*
+* 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:  Constants for CSP
+*
+*/
+
+
+
+#ifndef CCSPCONSTS_H
+#define CCSPCONSTS_H
+
+_LIT( KCSPName,"CSP" );
+
+
+//The length of a pause created during dialling by the comma character (',') measured in seconds.  
+const TUint KCSPDefaultInterval = 2;
+
+// The boolean indicating the autoreadial is on or off
+const TBool KCSPDefaultAutoRedial = EFalse;
+
+/**
+* Required for notifying Incoming Call Monitor.
+*/ 
+const TInt KCSPImplementationUidInt = 0x102828E5;
+
+/**
+* Implementation uid of CS Plugin.
+*/
+const TUid KCSPImplementationUid = { KCSPImplementationUidInt };
+
+/**
+* Number of message slots in RTelServer
+*/
+const TInt KNbrOfMessageSlots = 128;
+
+const TInt KCSPPhoneNumberMaxLength = 100;
+
+const TInt KCSPCallingNameMaxLength = 80;
+
+#endif // CCSPCONSTS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspdevsound.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,165 @@
+/*
+* Copyright (c) 2006-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:  Wrapper for CMMFDevSound
+*
+*/
+
+#ifndef CSPDEVSOUND_H
+#define CSPDEVSOUND_H
+
+#include <sounddevice.h>
+
+class MCSPDevSoundObserver;
+
+/**
+ *  Wrapper for CMMFDevSound
+ *
+ */
+NONSHARABLE_CLASS( CSPDevSound ): 
+    public CBase, 
+    public MDevSoundObserver
+    {
+public:
+
+    /**
+    * Destructor.
+    */
+    virtual ~CSPDevSound();
+    
+    /**
+     * Activates the dev sound stream. MCSPDevSoundObserver methods are called 
+     * when activation goes ok or fails. If the stream is already active or 
+     * activating then nothing is done.
+     */
+    virtual void Activate();
+    
+    /**
+     * Deactivates the devsound stream. If stream is not active or
+     * activation is not ongoing then nothing is done. 
+     */     
+    virtual void Deactivate();
+    
+    /**
+     * Indicates that activation is ongoing,
+     * but the result of the activation is still unknown.
+     * @return ETrue - activation ongoing, EFalse - activation not ongoing.
+     */
+    TBool IsActivationOngoing() const;
+    
+    /**
+     * Determines wether the devsound stream is active or not.
+     * @return ETrue - Stream is active, EFalse - Stream not active.
+     */
+    TBool IsActive() const;
+    
+    CMMFDevSound& DevSound();
+
+// from base class MDevSoundObserver
+
+    /**
+     * From MDevSoundObserver
+     * Empty implementation
+     */
+    void InitializeComplete( TInt aError );  
+
+    /**
+     * From MDevSoundObserver
+     * Empty implementation
+     */
+    void BufferToBeFilled( CMMFBuffer* aBuffer ); 
+
+    /**
+     * From MDevSoundObserver
+     * Empty implementation
+     */
+    void PlayError( TInt aError ); 
+        
+    /**
+     * From MDevSoundObserver
+     * Empty implementation
+     */
+    void ToneFinished( TInt aError );         
+        
+    /**
+     * From MDevSoundObserver
+     * Empty implementation
+     */
+    void BufferToBeEmptied( CMMFBuffer* aBuffer ); 
+        
+    /**
+     * From MDevSoundObserver
+     * Empty implementation
+     */
+    void RecordError( TInt aError );
+        
+    /**
+     * From MDevSoundObserver
+     * Empty implementation
+     */
+    void ConvertError( TInt aError ); 
+        
+    /**
+     * From MDevSoundObserver
+     * Empty implementation
+     */
+    void DeviceMessage( TUid aMessageType, const TDesC8& aMsg );  
+    
+protected:
+
+    CSPDevSound( MCSPDevSoundObserver& aObserver );
+
+    void ConstructL( 
+        TMMFState aMode, TUint aAudioPreference, TUint aAudioPriority );
+        
+private:
+
+    /**
+     * Derived class has to activate the stream here.
+     */
+    virtual void DoActivateL() = 0;
+    
+protected: // Data
+
+    /**
+     * Indication if device is activated. Derived class has to update this.
+     */
+    TBool iActive;
+    
+    /**
+     * Indication if activation is ongoing.
+     * Derived class has to update this.
+     */
+    TBool iActivationOngoing;
+    
+    /**
+     * Devsound instance
+     * Own.  
+     */
+    CMMFDevSound* iDevSound;
+      
+    /**
+     * Observer for successfull activation.
+     * Not own.
+     */
+    MCSPDevSoundObserver& iObserver;
+    
+    /**
+     * Audio priority settings for Devsound. 
+     */
+    TMMFPrioritySettings iPrioritySettings;
+    
+
+    };
+
+#endif // CSPDEVSOUND_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspdtmfprovider.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,191 @@
+/*
+* 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:  Header of CSPDTMFProvider which provides DTMF functionality.
+*
+*/
+
+
+#ifndef CSPDTMFPROVIDER_H
+#define CSPDTMFPROVIDER_H
+
+
+#include <e32base.h>
+#include <mccpdtmfprovider.h>
+#include <mccpdtmfobserver.h>
+
+
+class RMobilePhone;
+class CSPEtelDtmfMonitor;
+class CSPEtelDtmfStopMonitor;
+class RMmCustomAPI;
+
+/**
+* Makes asynchronic request to ETel interface according to given request type.
+* Provides canceling via CActive::Cancel().
+* 
+*/
+class CSPDTMFProvider: public CActive,
+                       public MCCPDTMFProvider        
+    {
+        
+    public:
+    
+        /**
+        * Two phased constructing of the DTMF provider instance.
+        * @param aPhone mobile phone handle
+        * @param aMmCustom custom API handle for special DTMF event 
+        *        monitoring.
+        * @return the DTMF provider instance
+        */
+        static CSPDTMFProvider* NewL( RMobilePhone& aPhone, 
+                                      RMmCustomAPI& aMmCustom );
+        
+        
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPDTMFProvider( );
+        
+        /**
+        * HandleDTMFEvents.
+        * @since S60 3.2
+        * @param aEvent Event type
+        * @param aError Error code
+        * @param aTone Character
+        */
+        void NotifyDTMFEvent( const MCCPDTMFObserver::TCCPDtmfEvent aEvent,
+                              const TInt aError,
+                              const TChar aTone );
+
+        
+// from base class MCCPDTMFProvider
+        /**
+        * Cancels asynchronous DTMF string sending.
+        * @return KErrNone if succesfull, otherwise another system wide error code
+        */
+        TInt CancelDtmfStringSending();
+
+        /**
+        * Starts the transmission of a single DTMF tone across a
+        * connected and active call.
+        * @param aTone Tone to be played.
+        * @return KErrNone if succesfull, otherwise another system wide error code
+        */
+        TInt StartDtmfTone( const TChar aTone );
+
+        /**
+        * Stops playing current DTMF tone.
+        * @return KErrNone if succesfull, otherwise another system wide error code
+        */
+        TInt StopDtmfTone();
+
+        /**
+        * Plays DTMF string.
+        * @param aString String to be played.
+        * @return KErrNone if succesfull, otherwise another system wide error code
+        * KErrArgument if the specified string contains illegal DTMF characters
+        */
+        TInt SendDtmfToneString( const TDesC& aString );
+
+        /**
+        * Continue or cancel sending DTMF string which was stopped with 'w'-character
+        * in string.
+        * @param aContinue ETrue if sending of the DTMF string should continue,
+        * EFalse if the rest of the DTMF string is to be discarded.
+        * @return KErrNone if succesfull, otherwise another system wide error code
+        */
+        TInt ContinueDtmfStringSending( const TBool aContinue );
+
+        /**
+        * Add an observer for DTMF related events.
+        * Plug-in dependent feature if duplicates or more than one observers 
+        * are allowed or not. Currently CCE will set only one observer.
+        * @since S60 v3.2
+        * @param aObserver Observer
+        * @leave system error if observer adding fails
+        */
+        void AddObserverL( const MCCPDTMFObserver& aObserver );
+
+        /**
+        * Remove an observer.
+        * @since S60 v3.2
+        * @param aObserver Observer
+        * @return KErrNone if removed succesfully. KErrNotFound if observer was not found.
+        * Any other system error depending on the error.
+        */
+        TInt RemoveObserver( const MCCPDTMFObserver& aObserver );
+            
+// from base class CActive
+    protected:
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();  
+
+        
+    private:
+        /**
+        * Constructs the requester.
+        *
+        * @param aPhone handle to ETel phone
+        * @param aMmCustom custom API handle
+        */
+        CSPDTMFProvider( RMobilePhone& aPhone, RMmCustomAPI& aMmCustom );
+        
+        /**
+        * Constructing the provider in the second phase.
+        */
+        void ConstructL();
+    
+    private: // data
+    
+        /**
+        * DTMF event observer.
+        */
+        RPointerArray<MCCPDTMFObserver> iObservers;
+        
+        /**
+        * ETel phone handle for DTMF functionality.
+        */
+        RMobilePhone& iPhone;
+        
+        /**
+        * Monitor for DTMF events and changes.
+        * Own.
+        */
+        CSPEtelDtmfMonitor* iMonitor;
+
+        /**
+        * Monitor for DTMF stopping.
+        * Own.
+        */
+        CSPEtelDtmfStopMonitor* iStopMonitor;
+        
+        /**
+        * Custom API reference.
+        */
+        RMmCustomAPI& iMmCustom;
+        
+    };
+    
+#endif // CSPDTMFPROVIDER
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelcallcapsmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,122 @@
+/*
+* 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:  Declarations for class CSPEtelCallCapsMonitor
+*
+*/
+
+
+#ifndef CSPETELCALLCAPSMONITOR_H
+#define CSPETELCALLCAPSMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+
+class MCSPCallObserver;
+
+
+/**
+* Monitors single ETel RMobileCall for call capss.
+*
+*  This monitor is applied only for listening incoming calls, i.e.
+*  line capabilites are not monitored.
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+class CSPEtelCallCapsMonitor: public CActive
+    {
+    
+    public: //Constructors and descructor
+    
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aObserver the observer for getting notification
+        * @param aCall the line to monitor
+        */
+        static CSPEtelCallCapsMonitor* NewL( 
+                MCSPCallObserver& aObserver,
+                RMobileCall& aCall );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelCallCapsMonitor( );
+
+        /**
+        * Start monitoring call capss
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+        
+        /**
+         * Fetches call control caps.
+         * @return call control caps flags.
+         */
+        TUint32 FetchCallControlCapsL();
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+    private:
+        /**
+        * C++ default constructor
+        * @param aObserver the observer for status change (incoming call)
+        * @param aCall the line associated with the call
+        */
+        CSPEtelCallCapsMonitor( MCSPCallObserver& aObserver,
+                            RMobileCall& aCall );
+                                          
+        /**
+        * Constructs the monitor in the second phase.
+        */
+        void ConstructL();
+
+        
+    private: // data
+        /**
+        * Forwards caps change.
+        */
+        MCSPCallObserver& iObserver;
+       
+        /**
+        * Call that is being observed.
+        */
+        RMobileCall& iCall;
+        
+        /**
+        * Call capabilities.
+        */
+        RMobileCall::TMobileCallCapsV1 iCaps;
+        RMobileCall::TMobileCallCapsV1Pckg iCapsPckg;
+      
+
+        
+    };
+
+#endif // CSPETELCALLCAPSMONITOR_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelcalleventmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,107 @@
+/*
+* 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:  Monitors call events from ETel
+*
+*/
+
+
+#ifndef CSPETELCALLEVENTMONITOR_H
+#define CSPETELCALLEVENTMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+class CSPCall;
+class MCCPCallObserver;
+class MCSPCallObserver;
+
+class CSPEtelCallEventMonitor
+        : public CActive
+    {
+    public: //Constructors and descructor
+
+        /**
+        * Two-phased constructing for the monitor.
+        * @param aObserver the observer for events
+        * @param aCall actual object of the monitoring
+        */
+        static CSPEtelCallEventMonitor* NewL( MCSPCallObserver& aObserver,
+                                              RMobileCall& aCall );
+        
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelCallEventMonitor( );
+        
+        /**
+        * Start monitoring call events
+        */
+        void StartMonitoring();
+    
+    protected: // From CActive
+
+        /**
+        * From CActive
+        * RunL
+        */
+        void RunL();
+
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+        
+    private:
+    
+        /**
+        * C++ constructor for the monitor.
+        * @param aObserver observers events
+        * @param aCall actual object of the monitoring
+        */
+        CSPEtelCallEventMonitor( MCSPCallObserver& aObserver, 
+                                 RMobileCall& aCall );
+        
+        
+    private: // data
+    
+        /**
+        * Observer for call events.
+        */
+        MCSPCallObserver& iObserver;
+        
+        /**
+        * ETel call which this monitors
+        */
+        RMobileCall& iCall;
+        
+        /**
+        * Pointer for recovering from a situation where CCE releases call 
+        * during observer-call sequence.
+        */
+        TBool* iDestrPtr;
+
+
+    protected:
+        /**
+        * Call event
+        */
+        RMobileCall::TMobileCallEvent iCallEvent;
+
+    };
+
+#endif // CSPETELCALLEVENTMONITOR_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelcallrequester.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,202 @@
+/*
+* 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:  Delivers asynchronous requests to ETel
+*
+*/
+
+
+#ifndef CSPETELCALLREQUESTER_H
+#define CSPETELCALLREQUESTER_H
+
+
+#include <e32base.h>
+#include <etelmm.h>
+#include <rmmcustomapi.h>
+#include <ccpdefs.h>
+
+class MCSPCallErrorObserver;
+
+/**
+* Makes asynchronic request to ETel interface according to given request type.
+* Provides canceling via CActive::Cancel().
+* 
+*/
+class CSPEtelCallRequester
+        : public CActive
+    {
+        
+    public:
+        /**
+        * Supported request types.
+        */
+        enum TRequestType {
+            ERequestTypeNone,
+            ERequestTypeDial,
+            ERequestTypeAnswer,
+            ERequestTypeHangup,
+            ERequestTypeHold,
+            ERequestTypeResume,
+            ERequestTypeGoOneToOne,
+            ERequestTypeSwap,
+            ERequestTypeDialEmergency
+            };
+        
+        /**
+        * Constructs the requester via two phase.
+        *
+        * @param aObserver the observer for request errors
+        * @param aCall ETel RMobileCall reference that is the object
+        * of the request.
+        */
+        static CSPEtelCallRequester* NewL( MCSPCallErrorObserver& aObserver, 
+                                           RMobileCall& aCall );
+        
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelCallRequester( );
+        
+        /**
+        * Makes the request. Note that ERequestTypeDial is made with a 
+        * separate MakeDialRequest function.
+        *
+        * @since S60 3.2
+        * @param aRequest type of request
+        * @return KErrNone if request was sent successfully.
+        *         KErrNotSupported if the given request is not supported
+        *         KErrArgument if the specified request is not known.
+        *         KErrUnknown if unspecified error (should not happen)
+        */
+        TInt MakeRequest( TRequestType aRequest );
+        
+        /**
+        * Cancels the request. 
+        *
+        * @since S60 3.2
+        * @param aRequest type of request
+        * @return KErrNone if request was sent successfully.
+        *         KErrNotSupported if the given request is not supported
+        *         KErrArgument if the specified request is not known.
+        *         KErrUnknown if unspecified error (should not happen)
+        */
+        TInt CancelRequest( TRequestType aRequest );
+     
+
+        /**
+        * Makes a dial request.
+        * @since S60 3.2
+        * @param aCallParamsPckg call parametrs
+        * @param aRemoteParty phone number
+        * @return KErrNone if successful, else error code
+        */         
+        TInt MakeDialRequest( 
+            const TDesC8& aCallParams, 
+            TDesC& aRemoteParty );
+
+        /**
+        * Makes a dial request without FDN check.
+        * @since S60 3.2
+        * @param aCallParamsPckg call parametrs
+        * @param aRemoteParty phone number
+        * @return KErrNone if successful, else error code
+        */         
+        TInt MakeDialNoFdnCheckRequest( 
+            const TDesC8& aCallParams, 
+            TDesC& aRemoteParty );
+            
+        
+        /**
+        * Makes a answer request.
+        * @since S60 3.2
+        * @param aCallParams call parametrs
+        * @return KErrNone if successful, else error code
+        */         
+        TInt MakeAnswerRequest( 
+            const TDesC8& aCallParams );
+
+        /**
+        * Makes emergency request.
+        * @param aRecipient emengency number
+        * @return error code
+        */
+        TInt MakeDialEmergencyRequest( 
+            const RMobileENStore::TEmergencyNumber& aRecipient );
+            
+        /**
+        * Mapping between ETel and CCP errors.
+        * @param aErrorCode ETel error code
+        * @return CCP error code
+        */ 
+        TCCPError MapError( TInt aErrorCode );
+        
+        /**
+        * Getter for the active request.
+        * @return request.
+        */
+        TRequestType Request();
+    
+        /**
+        * Cancel dial (applies both emergency and normal calls)
+        * @return result of cancel (system wide error code)
+        */
+        TInt CSPEtelCallRequester::DialCancel();
+        
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+        
+    private:
+    
+        /**
+        * Constructs the requester.
+        *
+        * @param aObserver the observer for request errors
+        * @param aCall ETel RMobileCall reference that is the object
+        * of the request.
+        */
+        CSPEtelCallRequester( MCSPCallErrorObserver& aObserver, 
+                              RMobileCall& aCall );
+        
+        
+    private: // data
+        /**
+        * Observer for request errors.
+        */
+        MCSPCallErrorObserver& iObserver;
+        
+        /**
+        * ETel call which this monitors
+        */
+        RMobileCall& iCall;
+        
+        /**
+        * Type of request.
+        */
+        TRequestType iRequestType;
+
+    };
+
+#endif // CSPETELCALLREQUESTER_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelcallstatusmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,108 @@
+/*
+* 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:  Monitors call status changes from ETel
+*
+*/
+
+
+#ifndef CSPETELCALLSTATUSMONITOR_H
+#define CSPETELCALLSTATUSMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+class MCSPCallObserver;
+
+
+NONSHARABLE_CLASS(CSPEtelCallStatusMonitor) : public CActive
+    {
+    public: //Constructors and descructor
+    
+        /**
+        * Two-phased constructing for the monitor.
+        * @param aObserver observer for call status changes
+        * @param aCall actual object of the monitoring
+        */
+        static CSPEtelCallStatusMonitor* NewL( MCSPCallObserver& aObserver, 
+                                               RMobileCall& aCall );
+        
+        /**
+        * Destructor of the monitor which cancels ongoing monitoring.
+        */
+        virtual ~CSPEtelCallStatusMonitor( );
+        
+        /**
+        * Start monitoring call events
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+        
+        /**
+        * State of call.
+        * @return ETel state
+        */
+        RMobileCall::TMobileCallStatus State();
+        
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+        
+    private:
+    
+        /**
+        * C++ constructor for the monitor.
+        * @param aObserver observer for status changes
+        * @param aCall actual object of the monitoring
+        */
+        CSPEtelCallStatusMonitor( MCSPCallObserver& aObserver, RMobileCall& aCall );
+        
+    private: // data
+        /**
+        * Observer for state changes.
+        */
+        MCSPCallObserver& iObserver;
+        
+        /**
+        * ETel call which this monitors
+        */
+        RMobileCall& iCall;
+        
+        /**
+        * Pointer for recovering from a situation where CCE releases call 
+        * during observer-call sequence.
+        */
+        TBool* iDestrPtr;
+
+    protected:
+        /**
+        * ETel call status
+        */
+        RMobileCall::TMobileCallStatus iCallStatus;
+
+    };
+
+#endif // CSPETELCALLSTATUSMONITOR_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelcallwaitingrequester.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,165 @@
+/*
+* 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:  Fetches call waiting status from ETel
+*
+*/
+
+
+#ifndef CSPETELCALLWAITINGREQUESTER_H
+#define CSPETELCALLWAITINGREQUESTER_H
+
+
+#include <e32base.h>
+#include <mccpcscall.h>
+#include <mccecall.h>
+#include <etelmm.h>
+
+class RMobilePhone;
+class CRetrieveMobilePhoneCWList;
+
+/**
+* Makes asynchronic request to ETel interface according to given request type.
+* Provides canceling via CActive::Cancel().
+* 
+*/
+class CSPEtelCallWaitingRequester
+        : public CActive
+    {
+        
+    public:
+        
+        /**
+        * Constructs the requester via two phase.
+        *
+        * @param aPhone mobile phone reference needed for reading cw setting
+        * @return requester object
+        */
+        static CSPEtelCallWaitingRequester* NewL( RMobilePhone& aPhone );
+        
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelCallWaitingRequester( );
+        
+        /**
+        * Makes the request. Note that ERequestTypeDial is made with a 
+        * separate MakeDialRequest function.
+        *
+        * @since S60 3.2
+        * @param aRequest type of request
+        * @return ETrue if active, EFalse if not
+        */
+        void GetCallWaitingL( const CCCECallParameters& iParams,
+                              TBool& aCallWaitingStatus );
+        
+
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+
+    private:
+    
+        /**
+        * Requester can be inactive (from boot to first Cw request),
+        * requesting value from network 
+        *       (with first MT call that gets Queue-request from CCE),
+        * or monitoring (after first request).
+        */        
+        enum ECSPCwRequesterMode {
+            ECwRequesterInactive,
+            ECwRequesterGetStarted,
+            ECwRequesterMonitoring
+        };
+        
+    private:
+    
+        /**
+        * Constructor.
+        * @param aPhone mobile phone reference needed for reading cw setting
+        *
+        */
+        CSPEtelCallWaitingRequester::CSPEtelCallWaitingRequester(RMobilePhone& aPhone);
+                              
+        /**
+        * Constructs the requester.
+        *
+        * @param aPhone phone reference
+        */
+        void CSPEtelCallWaitingRequester::ConstructL();
+        
+        /**
+        * Starts monitoring call waiting setting.
+        */
+        void StartMonitoring();
+        
+        /**
+        * Returns the call waiting status from call waiting status list by linetype.
+        */
+        void GetCallWaitingStatusByLineType( const CCCECallParameters& iParams,
+                                             TBool& aCallWaitingStatus );
+        
+        
+    private: // data
+        
+        /**
+        * List of call waiting settings.
+        * Own.
+        */        
+        CRetrieveMobilePhoneCWList* iList;
+        
+        /**
+        * Making the asynchronous request synchronous.
+        */ 
+        CActiveSchedulerWait iWait;
+        
+        /**
+        * Phone handle for listening cw status changes.
+        */
+        RMobilePhone& iPhone;
+        
+        /**
+        * Cw status descriptor for reading changed cw status.
+        */
+        TPckgBuf<RMobilePhone::TMobilePhoneCWInfoEntryV1> iDesCwStatus;
+        
+        /**
+        * Current mode according to the enumeration.
+        */
+        ECSPCwRequesterMode iMode;
+        
+        /**
+        * Actual call waiting status for primary line: On/Off = True/False.
+        */
+        TBool iPrimaryLineCwStatus;
+        
+        /**
+        * Actual call waiting status for aux line: On/Off = True/False.
+        */
+        TBool iAuxLineCwStatus;
+    };
+
+#endif // CSPETELCALLWAITINGREQUESTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelconferencecallrequester.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,143 @@
+/*
+* 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:  Delivers asynchronous requests to ETel
+*
+*/
+
+
+#ifndef CSPETELCONFERENCECALLREQUESTER_H
+#define CSPETELCONFERENCECALLREQUESTER_H
+
+
+#include <e32base.h>
+#include <etelmm.h>
+#include <rmmcustomapi.h>
+
+class CSPCall;
+class MCCPCallObserver;
+class CSPConferenceCall;
+
+/**
+* Makes asynchronic request to ETel interface according to given request type.
+* Provides canceling via CActive::Cancel().
+* 
+*/
+class CSPEtelConferenceCallRequester
+        : public CActive
+    {
+        
+    public:
+        /**
+        * Supported request types.
+        */
+        enum TConferenceRequestType {
+            EConferenceRequestTypeAddCall,
+            EConferenceRequestTypeHangup,
+            EConferenceRequestTypeHold,
+            EConferenceRequestTypeResume,
+            EConferenceRequestTypeCreateConference,
+            EConferenceRequestTypeSwap
+            };
+        
+        /**
+        * Constructs the requester via two phase.
+        *
+        * @param aOwner the owner for the requester
+        * @param aCall ETel RMobileCall reference that is the object
+        * of the request.
+        */
+        static CSPEtelConferenceCallRequester* NewL( 
+                                           CSPConferenceCall& aOwner, 
+                                           RMobileConferenceCall& aCall );
+        
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelConferenceCallRequester( );
+        
+        /**
+        * Makes the request. Note that ERequestTypeDial is made with a 
+        * separate MakeDialRequest function.
+        *
+        * @since S60 3.2
+        * @param aRequest type of request
+        * @return KErrNone if request was sent successfully.
+        *         KErrNotSupported if the given request is not supported
+        *         KErrArgument if the specified request is not known.
+        *         KErrUnknown if unspecified error (should not happen)
+        */
+        TInt MakeRequest( TConferenceRequestType aRequest );
+     
+
+        /**
+        * Makes a dial request.
+        * @since S60 3.2
+        * @param aCallName call name to be added
+        * @return KErrNone if successful, else error code
+        */         
+        TInt MakeAddCallRequest( const TName& aCallName );
+
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+        
+    private:
+    
+        /**
+        * Constructs the requester.
+        *
+        * @param aOwner the owner for the requester
+        * @param aCall ETel RMobileCall reference that is the object
+        * of the request.
+        */
+        CSPEtelConferenceCallRequester( CSPConferenceCall& aOwner, 
+                                        RMobileConferenceCall& aCall );
+        
+        /**
+        * Constructing in the second phase.
+        */
+        void ConstructL();
+        
+    private: // data
+        /**
+        * Call object which owns this monitor
+        */
+        CSPConferenceCall& iOwner;
+        
+        /**
+        * ETel call which this monitors
+        */
+        RMobileConferenceCall& iCall;
+        
+        /**
+        * Type of request.
+        */
+        TConferenceRequestType iRequestType;
+
+    };
+
+#endif // CSPETELCONFERENCECALLREQUESTER_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelconferencecapsmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,121 @@
+/*
+* 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:  Declarations for class CSPEtelConferenceCapsMonitor
+*
+*/
+
+
+#ifndef CSPETELCONFERENCECAPSMONITOR_H
+#define CSPETELCONFERENCECAPSMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+
+class CSPConferenceCall;
+
+
+/**
+* Monitors single ETel RMobileConferenceCall for conference call capss.
+*
+*  This monitor is applied only for listening incoming calls, i.e.
+*  line capabilites are not monitored.
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+class CSPEtelConferenceCapsMonitor: public CActive
+    {
+    
+    public: //Constructors and descructor
+    
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aOwner the observer for getting notification
+        * @param aCall the line to monitor
+        */
+        static CSPEtelConferenceCapsMonitor* NewL( 
+                CSPConferenceCall& aOwner,
+                RMobileConferenceCall& aCall );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelConferenceCapsMonitor( );
+
+        /**
+        * Start monitoring call capss
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+    private:
+        /**
+        * C++ default constructor
+        * @param aOwner the observer for status change (incoming call)
+        * @param aCall the line associated with the call
+        */
+        CSPEtelConferenceCapsMonitor( CSPConferenceCall& aOwner,
+                            RMobileConferenceCall& aCall );
+                                          
+        /**
+        * Constructs the monitor in the second phase.
+        */
+        void ConstructL();
+
+        
+    private: // data
+        /**
+        * Forwards capss.
+        */
+        CSPConferenceCall& iOwner;
+       
+        /**
+        * Conference call that is being observed.
+        */
+        RMobileConferenceCall& iCall;
+        
+        /**
+        * Caps received.
+        */ 
+        TUint32 iCaps;
+        
+        /**
+        * Pointer for recovering from a situation where CCE releases call 
+        * during observer-call sequence.
+        */
+        TBool* iDestrPtr;
+
+        
+    };
+
+#endif // CSPETELCONFERENCECAPSMONITOR_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelconferenceeventmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,125 @@
+/*
+* 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:  Declarations for class CSPEtelConferenceEventMonitor
+*
+*/
+
+
+#ifndef CSPETELCONFERENCEEVENTMONITOR_H
+#define CSPETELCONFERENCEEVENTMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+
+class CSPCall;
+class CSPConferenceCall;
+
+
+/**
+* Monitors single ETel RMobileConferenceCall for conference call events.
+*
+*  This monitor is applied only for listening incoming calls, i.e.
+*  line capabilites are not monitored.
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+class CSPEtelConferenceEventMonitor: public CActive
+    {
+    
+    public: //Constructors and descructor
+    
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aOwner the observer for getting notification
+        * @param aPhone the line to monitor
+        */
+        static CSPEtelConferenceEventMonitor* NewL( 
+                CSPConferenceCall& aOwner,
+                RMobileConferenceCall& aPhone );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelConferenceEventMonitor( );
+
+        /**
+        * Start monitoring call events
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+    private:
+        /**
+        * C++ default constructor
+        * @param aOwner the observer for status change (incoming call)
+        * @param aPhone the line associated with the call
+        */
+        CSPEtelConferenceEventMonitor( CSPConferenceCall& aOwner,
+                            RMobileConferenceCall& aPhone );
+                                          
+        /**
+        * Constructs the monitor in the second phase.
+        */
+        void ConstructL();
+
+        
+    private: // data
+        /**
+        * Forwards events.
+        */
+        CSPConferenceCall& iOwner;
+       
+        /**
+        * Phone that is being observed for incoming call.
+        */
+        RMobileConferenceCall& iCall;
+        
+        /**
+        * Event received.
+        */ 
+        RMobileConferenceCall::TMobileConferenceEvent iEvent;
+        
+        /**
+        * The call name related to the event.
+        */
+        TName iCallName;
+        
+        /**
+        * Pointer for recovering from a situation where CCE releases call 
+        * during observer-call sequence.
+        */
+        TBool* iDestrPtr;
+        
+    };
+
+#endif // CSPETELCONFERENCEEVENTMONITOR_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelconferencestatusmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,118 @@
+/*
+* 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:  Declarations for class CSPEtelConferenceStatusMonitor
+*
+*/
+
+
+#ifndef CSPETELCONFERENCECALLSTATUSMONITOR_H
+#define CSPETELCONFERENCECALLSTATUSMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+
+class MCSPConferenceStatusObserver; 
+
+/**
+* Monitors single ETel RMobileConferenceCall for conference call statuss.
+*
+*  This monitor is applied only for listening incoming calls, i.e.
+*  line capabilites are not monitored.
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+NONSHARABLE_CLASS(CSPEtelConferenceStatusMonitor): public CActive
+    {
+    
+    public: //Constructors and descructor
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aObserver the observer for getting notification
+        * @param aPhone the line to monitor
+        */
+        static CSPEtelConferenceStatusMonitor* NewL( 
+                MCSPConferenceStatusObserver& aObserver,
+                RMobileConferenceCall& aPhone );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelConferenceStatusMonitor( );
+
+        /**
+        * Start monitoring call statuss
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+    private:
+        
+        /**
+        * C++ default constructor
+        * @param aObserver the observer for status change (incoming call)
+        * @param aPhone the line associated with the call
+        */
+        CSPEtelConferenceStatusMonitor( MCSPConferenceStatusObserver& aObserver,
+                            RMobileConferenceCall& aPhone );
+                                          
+        /**
+        * Constructs the monitor in the second phase.
+        */
+        void ConstructL();
+
+        
+    private: // data
+        /**
+        * Owner.
+        */
+        MCSPConferenceStatusObserver& iOwner;
+       
+        /**
+        * Phone that is being observed for incoming call.
+        */
+        RMobileConferenceCall& iCall;
+        
+        /**
+        * Status received.
+        */ 
+        RMobileConferenceCall::TMobileConferenceStatus iConferenceStatus;
+                
+        /**
+        * Pointer for recovering from a situation where CCE releases call 
+        * during observer-call sequence.
+        */
+        TBool* iDestrPtr;
+        
+    };
+
+#endif // CSPETELCONFERENCECALLSTATUSMONITOR_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspeteldtmfmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,110 @@
+/*
+* 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:  Declarations for class CSPEtelDtmfMonitor
+*
+*/
+
+
+#ifndef CSPETELDTMFMONITOR_H
+#define CSPETELDTMFMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+#include <rmmcustomapi.h>
+
+
+class CSPCall;
+class CSPDTMFProvider;
+
+
+
+/**
+* Monitors ETel for DTMF events.
+*
+*  This monitor is applied only for listening incoming calls, i.e.
+*  line capabilites are not monitored.
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+class CSPEtelDtmfMonitor: public CActive
+    {
+    
+    public: //Constructors and descructor
+    
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aObserver the observer for getting notification
+        * @param aMmCustom Custom API handle
+        */
+        static CSPEtelDtmfMonitor* NewL( 
+                CSPDTMFProvider& aObserver,
+                RMmCustomAPI& aMmCustom );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelDtmfMonitor( );
+
+        /**
+        * Start monitoring call events
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+    private:
+        /**
+        * C++ default constructor
+        * @param aObserver the observer for status change (incoming call)
+        * @param aMmCustom Custom API handle
+        */
+        CSPEtelDtmfMonitor( CSPDTMFProvider& aObserver,
+                            RMmCustomAPI& aMmCustom );
+                                          
+    private: // data
+        /**
+        * Forwards events.
+        */
+        CSPDTMFProvider& iObserver;
+       
+        /**
+        * Event data. Updated when event occurs.
+        */
+        RMmCustomAPI::TDtmfInfo      iEventData;
+        
+        /**
+        * Custom API reference.
+        */
+        RMmCustomAPI& iMmCustom;
+        
+    };
+    
+#endif // CSPETELDTMFMONITOR_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspeteldtmfstopmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,109 @@
+/*
+* 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:  Declarations for class CSPEtelDtmfStopMonitor
+*
+*/
+
+
+#ifndef CSPETELDTMFSTOPMONITOR_H
+#define CSPETELDTMFSTOPMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+
+class CSPCall;
+class CSPDTMFProvider;
+
+
+/**
+* Monitors single ETel RMobilePhone for DTMF events.
+*
+*  This monitor is applied only for listening incoming calls, i.e.
+*  line capabilites are not monitored.
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+class CSPEtelDtmfStopMonitor: public CActive
+    {
+    
+    public: //Constructors and descructor
+    
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aObserver the observer for getting notification
+        * @param aPhone the line to monitor
+        */
+        static CSPEtelDtmfStopMonitor* NewL( 
+                CSPDTMFProvider& aObserver,
+                RMobilePhone& aPhone );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelDtmfStopMonitor( );
+
+        /**
+        * Start monitoring call events
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+    private:
+        /**
+        * C++ default constructor
+        * @param aObserver the observer for status change (incoming call)
+        * @param aPhone the line associated with the call
+        */
+        CSPEtelDtmfStopMonitor( CSPDTMFProvider& aObserver,
+                            RMobilePhone& aPhone );
+                                          
+        
+    private: // data
+        /**
+        * Forwards events.
+        */
+        CSPDTMFProvider& iObserver;
+       
+        /**
+        * Phone that is being observed for incoming call.
+        */
+        RMobilePhone& iPhone;
+        
+        /**
+        * Event received.
+        */ 
+        RMobilePhone::TMobilePhoneDTMFEvent iEventData;
+        
+    };
+    
+#endif // CSPETELDTMFSTOPMONITOR_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelincomingcallmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,118 @@
+/*
+* 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:  Declarations for class CSPEtelIncomingCallMonitor
+*
+*/
+
+
+#ifndef CSPETELINCOMINGCALLMONITOR_H
+#define CSPETELINCOMINGCALLMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+#include "mcspincomingcallobserver.h"
+#include "rcsplinecontainer.h"
+
+class CSPCall;
+class MCCPCallObserver;
+
+
+
+/**
+* Monitors single ETel RMobileLine for incoming calls.
+*
+*  This monitor is applied only for listening incoming calls, i.e.
+*  line capabilites are not monitored.
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+class CSPEtelIncomingCallMonitor: public CActive
+    {
+    
+    public: //Constructors and descructor
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aObserver the observer for getting notification
+        * @param aLine the line to monitor
+        * @param aLineId line identifier
+        */
+        static CSPEtelIncomingCallMonitor* NewL( 
+                MCSPIncomingCallObserver& aObserver, 
+                RMobileLine& aLine,
+                RCSPLineContainer::TCSPLineId aLineId );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelIncomingCallMonitor( );
+
+        /**
+        * Start monitoring call events
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+    private:
+        /**
+        * C++ default constructor
+        * @param aObserver the observer for status change (incoming call)
+        * @param aLine the line associated with the call
+        * @param aLineId line identifier
+        */
+        CSPEtelIncomingCallMonitor( MCSPIncomingCallObserver& aObserver,
+                                  RMobileLine& aLine,
+                                  RCSPLineContainer::TCSPLineId aLineId );
+        
+    private: // data
+        /**
+        * Forwards the incoming call information.
+        */
+        MCSPIncomingCallObserver& iIncomingCallObserver;
+
+        /**
+        * Incoming call name received from ETel.
+        */ 
+        TName iCallName;
+        
+        /**
+        * Line that is being observed for incoming call.
+        */
+        RMobileLine& iLine;
+        
+        /**
+        * Line identifier / type.
+        */
+        RCSPLineContainer::TCSPLineId iLineId;
+    };
+    
+#endif // CSPETELINCOMINGCALLMONITOR_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetellinestatusmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,115 @@
+/*
+* 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:  Declarations for class CSPEtelLineStatusMonitor
+*
+*/
+
+
+#ifndef CSPETELLINESTATUSMONITOR_H_
+#define CSPETELLINESTATUSMONITOR_H_
+
+#include <e32base.h>
+#include <etelmm.h>
+#include "rcsplinecontainer.h"
+
+class MCSPLineStatusObserver;
+
+/**
+* Monitors single ETel RMobileLine for calls.
+*
+*  This monitor is applied only for listening line status changes 
+*
+*  @lib csplugin.dll
+*  @since S60 5.0
+*/
+NONSHARABLE_CLASS(CSPEtelLineStatusMonitor): public CActive
+    {
+    
+    public: //Constructors and descructor    
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aObserver the observer for getting notification
+        * @param aLine the line to monitor
+        * @param aLineId line identifier
+        */
+        static CSPEtelLineStatusMonitor* NewL( 
+                MCSPLineStatusObserver& aObserver,
+                RMobileLine& aLine,
+                RCSPLineContainer::TCSPLineId aLineId );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelLineStatusMonitor( );
+
+        /**
+        * Start monitoring call events
+        * @since S60 5.0
+        */
+        void StartMonitoring();
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 5.0 
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 5.0 
+        */
+        void DoCancel();
+
+    private:
+        
+        /**
+        * C++ default constructor
+        * @param aObserver the observer for status change
+        * @param aLine the line associated with the call
+        * @param aLineId line identifier
+        */
+        CSPEtelLineStatusMonitor( MCSPLineStatusObserver& aObserver, 
+                                 RMobileLine& aLine,
+                                 RCSPLineContainer::TCSPLineId aLineId );
+                                                  
+    private: // data
+
+        /**
+        * Line status from ETel.
+        */         
+        RMobileCall::TMobileCallStatus iLineStatus; 
+        
+        /**
+        * Line that is being observed for status changes.
+        */
+        RMobileLine& iLine;
+        
+        /**
+        * Line identifier / type.
+        */
+        RCSPLineContainer::TCSPLineId iLineId;
+        
+        /**
+        * Line status notifications observer.
+        */
+        MCSPLineStatusObserver& iObserver;
+        
+    };
+
+#endif /*CSPETELLINESTATUSMONITOR_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspetelvideocallcapsmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,131 @@
+/*
+* 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:  Declarations for class CSPEtelCallCapsMonitor
+*
+*/
+
+
+#ifndef CSPETELDATACALLCAPSMONITOR_H
+#define CSPETELDATACALLCAPSMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+
+class CSPVideoCall;
+
+
+/**
+* Monitors single ETel RMobileCall for call capss.
+*
+*  This monitor is applied only for listening incoming calls, i.e.
+*  line capabilites are not monitored.
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+class CSPEtelVideoCallCapsMonitor: public CActive
+    {
+    
+    public: //Constructors and descructor
+    
+    
+        /**
+        * Two-phased constructing for the monitor.
+        *
+        * @param aOwner the observer for getting notification
+        * @param aCall the line to monitor
+        */
+        static CSPEtelVideoCallCapsMonitor* NewL( 
+                CSPVideoCall& aOwner,
+                RMobileCall& aCall );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPEtelVideoCallCapsMonitor( );
+
+        /**
+        * Start monitoring call capss
+        * @since S60 3.2
+        */
+        void StartMonitoring();
+        
+        /**
+        * Getter for fetching mobile data call caps.
+        */
+        TInt GetMobileDataCallCaps( TDes8& aCaps ) const;
+        
+        /**
+        * Gets protocol caps.
+        * @return protocol caps 
+        */ 
+        TUint GetProtocolCaps();
+    
+        /**
+        * Updates protocol caps for call
+        * @since S60 5.0
+        */ 
+        void UpdateProtocolCaps(); 
+    
+    protected: // From CActive
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+               
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+
+    private:
+        /**
+        * C++ default constructor
+        * @param aOwner the observer for status change (incoming call)
+        * @param aCall the line associated with the call
+        */
+        CSPEtelVideoCallCapsMonitor( CSPVideoCall& aOwner,
+                            RMobileCall& aCall );
+                                          
+        /**
+        * Constructs the monitor in the second phase.
+        */
+        void ConstructL();
+
+        
+    private: // data
+        /**
+        * Forwards capss.
+        */
+        CSPVideoCall& iOwner;
+       
+        /**
+        * Call that is being observed.
+        */
+        RMobileCall& iCall;
+        
+        /**
+        * Call capabilities.
+        */
+        RMobileCall::TMobileCallDataCapsV1 iDataCallCaps;
+        RMobileCall::TMobileCallDataCapsV1Pckg iDataCallCapsPckg;
+              
+    };
+    
+#endif // CSPETELDATACALLCAPSMONITOR_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspforwardprovider.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,127 @@
+/*
+* 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:  Header of CSPForwardProvider which provides methods and
+*                functionality to handle call forwarding
+*
+*/
+
+
+#ifndef CSPFORWARDPROVIDER_H
+#define CSPFORWARDPROVIDER_H
+
+#include <e32base.h>
+#include <mccpforwardprovider.h>
+#include <mccpforwardobserver.h>
+
+/**
+* Call forward methods.
+* MCCPCallObserver is used for errors, statuses, notifications etc
+*
+*  @since S60 3.2
+*/
+class CSPForwardProvider : public CBase,
+                           public MCCPForwardProvider
+    {
+    
+    public:
+        /**
+        * Two phased constructing of the forward provider instance.
+        * @return the Forward provider instance
+        */
+        static CSPForwardProvider* NewL();
+
+        /** 
+        * Destructs the forward provider.
+        * @since S60 3.2
+        */
+        virtual ~CSPForwardProvider();
+        
+        /**
+        * Updates the call event for observers.
+        * @param aEvent the event to be notified
+        */
+        void NotifyForwardEventOccurred( 
+                        MCCPForwardObserver::TCCPForwardEvent aEvent );
+        
+// from base class MCCPForwardProvider
+        
+        /**
+        * Returns pointer to array containing addresses to forward the call to.
+        * Index zero contains the first address. If there are no addresses available
+        * returns an empty array.
+        * @return Reference to array containing addresses
+        * @leave KErrNotReady call is not in forwarding state
+        * @leave KErrNotSupported if call is not mobile originated
+        * @leave system error code 
+        * @pre Call state is MCCPCallObserver::ECCPStateForwarding and call type is MO
+        * @pre Call MCCPForwardObserver::ECCPMultipleChoices event is received
+        */
+        virtual const CDesC8Array& GetForwardAddressChoicesL();
+    
+        /**
+        * Forward call to address at given index.
+        * @param aIndex Index of address where the call is to be forwarded. Address is 
+        * found in the array received from GetForwardAddressChoicesL. Index starts from zero.
+        * @leave KErrArgument Index is not in array
+        * @leave KErrNotReady Call is not in forwarding state
+        * @leave KErrNotSupported If call is not mobile originated
+        * @pre Call state is MCCPCallObserver::ECCPStateForwarding and call type is MO
+        * @pre Call MCCPForwardObserver::ECCPMultipleChoices event is received
+        */
+        virtual void ForwardToAddressL( const TInt aIndex );
+        
+        /**
+        * Add an observer for forward related events.
+        * Currently CCE will set only one observer.
+        * @since S60 v3.2
+        * @param aObserver Observer
+        * @leave system error if observer adding fails
+        */
+        virtual void AddObserverL( const MCCPForwardObserver& aObserver );
+    
+        /**
+        * Remove an observer.
+        * @since S60 v3.2
+        * @param aObserver Observer
+        * @return KErrNone if removed succesfully. 
+        * @return KErrNotFound if observer was not found.
+        */
+        virtual TInt RemoveObserver( const MCCPForwardObserver& aObserver );
+
+    private:
+        
+        /**
+        * Constructs the provider
+        *
+        */
+        CSPForwardProvider( );
+
+        /**
+        * Constructing 2nd phase.
+        */
+        void ConstructL();
+        
+    private: // data
+
+        /**
+        * DTMF event observer.
+        */
+        RPointerArray<MCCPForwardObserver> iObservers;
+        
+        CDesC8Array* iEmptyArray;
+            
+
+};
+
+#endif CSPFORWARDPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/csplogger.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,220 @@
+/*
+* 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:  Provides macros for logging
+*
+*/
+
+
+
+#ifndef __CSPLOGGER_H__
+#define __CSPLOGGER_H__
+
+//  INCLUDES
+#include <e32def.h>
+
+/* 
+-----------------------------------------------------------------------------
+
+    USER LOG SELECTION
+
+-----------------------------------------------------------------------------
+*/
+
+inline TUint CSPLOGMASK()
+    {
+    return 0x8fffffff;          // This is default mask value.    
+    }                           // User can change mask value to get different king of logging.
+
+#ifndef _DEBUG
+
+/***************************
+* Logging method variants:
+* 0 = No logging
+* 1 = Flogger
+* 2 = RDebug
+***************************/ 
+
+#define CSP_LOGGING_METHOD      0   // UREL BUILD
+
+#else
+
+#ifdef __WINS__
+#define CSP_LOGGING_METHOD      2   // UDEB BUILD, WINS
+#else
+#define CSP_LOGGING_METHOD      2   // UDEB BUILD, HW
+#endif // __WINS__
+
+#endif // _DEBUG
+
+
+// Next is for backward compatibility
+#if CSP_LOGGING_METHOD > 0
+#define CSP_LOGGING_ENABLED     
+#define TF_LOGGING_ENABLED
+#endif
+
+
+/* 
+-----------------------------------------------------------------------------
+
+    LOGGING OPTIONS
+
+-----------------------------------------------------------------------------
+*/
+
+#define CSPOBJECT  0x00000001   // Construction and destruction
+
+#define CSPERROR   0x00000002   // Error that can be handled. Describe reason for error situation.
+#define CSPPANIC   0x00000004   // Critical error: Panic.
+
+
+#define CSPREQIN   0x00000040   // Public interface methods
+#define CSPREQOUT  0x00000080   // Set outgoing request
+#define CSPREQEND  0x00000100   // Complete request
+
+#define CSPINT     0x00000200   // Internal activity
+
+#define CSPMSTATE  0x00000400   // Component state changes
+
+#define CSPGENERAL 0x00000800   // For deprecated TFLOGxxx-macros and for temporary usage
+
+
+/* 
+-----------------------------------------------------------------------------
+
+    LOG SETTINGS
+
+-----------------------------------------------------------------------------
+*/
+
+#if CSP_LOGGING_METHOD == 1      // Flogger
+
+#include <flogger.h>
+_LIT(KTfLogFolder,"CSP");
+_LIT(KTfLogFile,"CSPLOG.TXT");
+
+#elif CSP_LOGGING_METHOD == 2    // RDebug
+
+#include <e32svr.h>
+
+#endif
+
+
+/*
+-----------------------------------------------------------------------------
+
+    LOGGING MACROs
+
+    USE THESE MACROS IN YOUR CODE !
+
+-----------------------------------------------------------------------------
+*/
+#define MESSAGE(A)                        _L(A)
+
+#if CSP_LOGGING_METHOD == 1      // Flogger
+
+#define CSPLOGTEXT(Type,AAA)            { \
+                                        if((CSPLOGMASK()&(Type))==(Type)) \
+                                            { \
+                                            RFileLogger::Write(KTfLogFolder(),KTfLogFile(), \
+                                            EFileLoggingModeAppend, AAA); \
+                                            } \
+                                        }
+#define CSPLOGSTRING(Type,AAA)          { \
+                                        if((CSPLOGMASK()&(Type))==(Type)) \
+                                            { \
+                                            _LIT(tempLogDes,AAA); \
+                                            RFileLogger::Write(KTfLogFolder(),KTfLogFile(), \
+                                            EFileLoggingModeAppend,tempLogDes()); \
+                                            } \
+                                        }
+#define CSPLOGSTRING2(Type,AAA,BBB)     { \
+                                        if((CSPLOGMASK()&(Type))==(Type)) \
+                                            { \
+                                            _LIT(tempLogDes,AAA); \
+                                            RFileLogger::WriteFormat(KTfLogFolder(),KTfLogFile(), \
+                                            EFileLoggingModeAppend, \
+                                            TRefByValue<const TDesC>(tempLogDes()),BBB); \
+                                            } \
+                                        }
+#define CSPLOGSTRING3(Type,AAA,BBB,CCC) { \
+                                        if((CSPLOGMASK()&(Type))==(Type)) \
+                                            { \
+                                            _LIT(tempLogDes,AAA); \
+                                            RFileLogger::WriteFormat(KTfLogFolder(),KTfLogFile(), \
+                                            EFileLoggingModeAppend, \
+                                            TRefByValue<const TDesC>(tempLogDes()),BBB,CCC); \
+                                            } \
+                                        }
+#define CSPLOGSTRING4(Type,AAA,BBB,CCC,DDD) { \
+                                            if((CSPLOGMASK()&(Type))==(Type)) \
+                                                { \
+                                                _LIT(tempLogDes,AAA); \
+                                                RFileLogger::WriteFormat(KTfLogFolder(), \
+                                                KTfLogFile(),EFileLoggingModeAppend, \
+                                                TRefByValue<const TDesC>(tempLogDes()), \
+                                                BBB,CCC,DDD); \
+                                                } \
+                                            }
+
+#elif CSP_LOGGING_METHOD == 2    // RDebug
+
+#define CSPLOGTEXT(Type,AAA)                { \
+                                            if((CSPLOGMASK()&(Type))==(Type)) RDebug::Print(AAA); \
+                                            }
+#define CSPLOGSTRING(Type,AAA)              { \
+                                            if((CSPLOGMASK()&(Type))== \
+                                            (Type)) RDebug::Print(_L(AAA)); \
+                                            }
+#define CSPLOGSTRING2(Type,AAA,BBB)         { \
+                                            if((CSPLOGMASK()&(Type))== \
+                                            (Type)) RDebug::Print(_L(AAA),BBB); \
+                                            }
+#define CSPLOGSTRING3(Type,AAA,BBB,CCC)     { \
+                                            if((CSPLOGMASK()&(Type))== \
+                                            (Type)) RDebug::Print(_L(AAA),BBB,CCC); \
+                                            }
+#define CSPLOGSTRING4(Type,AAA,BBB,CCC,DDD) { \
+                                            if((CSPLOGMASK()&(Type))== \
+                                            (Type)) RDebug::Print(_L(AAA),BBB,CCC,DDD); \
+                                            }
+
+#else   // CSP_LOGGING_METHOD == 0 or invalid
+
+#define CSPLOGTEXT(Type,AAA)              // Example: TFLOGTEXT(CSPMESOUT, own_desc)
+#define CSPLOGSTRING(Type,AAA)            // Example: TFLOGSTRING(CSPMESIN, "Test")
+#define CSPLOGSTRING2(Type,AAA,BBB)       // Example: TFLOGSTRING(CSPMESINT, "Test %i", aValue)
+#define CSPLOGSTRING3(Type,AAA,BBB,CCC)   // Example: TFLOGSTRING(CSPMESOUT, "Test %i %i", aValue1, aValue2)
+#define CSPLOGSTRING4(Type,AAA,BBB,CCC,DDD)   // Example: TFLOGSTRING(CSPMESOUT, "Test %i %i %i", aValue1, aValue2, aValue3)
+
+#endif  // CSP_LOGGING_METHOD
+
+
+/*
+-----------------------------------------------------------------------------
+
+    DEPRECATED LOGGING MACROs
+
+    DON'T USE THESE MACROS IN YOUR CODE ANYMORE!
+
+-----------------------------------------------------------------------------
+*/
+
+#define TFLOGTEXT(AAA)              CSPLOGTEXT(CSPGENERAL,AAA);
+#define TFLOGSTRING(AAA)            CSPLOGSTRING(CSPGENERAL,AAA);
+#define TFLOGSTRING2(AAA,BBB)       CSPLOGSTRING2(CSPGENERAL,AAA,BBB);
+#define TFLOGSTRING3(AAA,BBB,CCC)   CSPLOGSTRING3(CSPGENERAL,AAA,BBB,CCC);
+#define TFLOGSTRING4(AAA,BBB,CCC,DDD)   CSPLOGSTRING4(CSPGENERAL,AAA,BBB,CCC,DDD);
+
+#endif  // CSPLOGGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspmicrophone.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,99 @@
+/*
+* 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:  Mic stream to DevSound.
+*
+*/
+
+
+#ifndef CSPMICROPHONE_H
+#define CSPMICROPHONE_H
+
+#include "cspdevsound.h" 
+
+/**
+ *  Provides mic functionality.
+ *
+ */
+NONSHARABLE_CLASS( CSPMicrophone ): public CSPDevSound
+    {
+
+public:
+
+    static CSPMicrophone* NewL( MCSPDevSoundObserver& aObserver );
+
+    virtual ~CSPMicrophone();
+
+    /**
+     * Determines mic mute state.
+     *
+    *
+     * @return ETrue - mic is muted, EFalse - mic is not muted.
+     */
+    TBool IsMuted();
+    
+    /**
+     * Set mic muted.
+     *
+    *
+     */
+    void SetMuted();
+    
+    /**
+     * Set mic unmuted.
+     *
+    *
+     */
+    void SetUnmuted();
+   
+// from base class MDevSoundObserver
+
+    /**
+     * From MDevSoundObserver
+     * Notification from Devsound that stream (mic) is
+     * activated successfully.
+     *
+    *
+     */
+    void BufferToBeEmptied( CMMFBuffer* aBuffer ); 
+    
+    /**
+     * From MDevSoundObserver
+     * Notification from devsound that downstream(mic) activation
+     * feiled.
+     *
+    *
+     */
+    void RecordError( TInt aError );
+    
+private:
+    
+// from base class MCSPDevSound
+    
+    /**
+     * From MCSPDevSound.
+     * Tries to activate the mic stream.
+     * 
+    *
+     */
+    void DoActivateL();
+
+protected:
+
+    CSPMicrophone( MCSPDevSoundObserver& aObserver );
+
+    void ConstructL();
+
+   };
+
+#endif // CSPMICROPHONE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/csppanic.pan	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,95 @@
+/*
+* 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 file contains panic enumerations
+*
+*/
+
+
+#ifndef     CSPPANIC_PAN
+#define     CSPPANIC_PAN
+
+//  INCLUDES
+#include <e32def.h>
+#include <e32cmn.h>
+
+// CONSTANTS
+
+// CSPlugin panic text
+_LIT( KCSPPanic, "CSPlugin Panic!" );
+
+    enum TCSPPanic
+        {
+        ECSPPanicAccessingDataOnIncompleteRequest = 1,
+        ECSPPanicAllSettingsDataObjectsAlreadyInUse = 2,
+        ECSPPanicBadHandle = 3,
+        ECSPPanicCallDataNull = 4,
+        ECSPPanicCallIndexOutOfRange = 5,
+        ECSPPanicConferenceIndexOutOfRange = 6,
+        ECSPPanicDebugDangerousMove = 7,
+        ECSPPanicIllegalCommand = 8,
+        ECSPPanicIndexOutOfRange = 9,
+        ECSPPanicInvalidCommand = 10,
+        ECSPPanicInvalidHandle = 11,
+        ECSPPanicInvalidMode = 12,
+        ECSPPanicInvalidRequest = 13,
+        ECSPPanicInvalidRequestId = 14,
+        ECSPPanicInvalidState = 15,
+        ECSPPanicLineNotFound = 16,
+        ECSPPanicNoCallInState = 17,
+        ECSPPanicNoCallOrLine = 18,
+        ECSPPanicNoConferenceCall = 19,
+        ECSPPanicNoErrorCodeInSuccessfulRequest = 20,
+        ECSPPanicNoEtel = 21,
+        ECSPPanicNoFreeCalls = 22,
+        ECSPPanicNoObserver = 23,
+        ECSPPanicNoPhoneServer = 24,
+        ECSPPanicNoRepository = 25,
+        ECSPPanicNotCompleted = 26,
+        ECSPPanicNullPointer = 27,
+        ECSPPanicObserverAlreadySet = 28,
+        ECSPPanicRepositoryAlreadyActive = 29,
+        ECSPPanicPropertyAlreadyActive = 30,
+        ECSPPanicSplitWithoutConference = 31,
+        ECSPPanicUIHasBeenLeaved = 32,
+        ECSPPanicVideoLibraryNotFound = 33,
+        ECSPPanicInvalidIncomingCallMonitor = 34,
+        ECSPPanicInvalidCallAddedMonitor = 35,
+        ECSPPanicInvalidCallEventMonitor = 36,
+        ECSPPanicExternalDataIdOutOfRange = 37,
+        ECSPPanicCallIsAlreadyAddedToConference = 38,
+        ECSPPanicInvalidParameter = 39,
+        ECSPPanicDataConnectionInitError = 40,
+        ECSPPanicTimerAlreadyActive = 41,
+        
+        ECSPPanicMaximum = 100
+        };
+
+// MACROS
+// None.
+
+// DATA TYPES
+// None.
+
+// FUNCTION PROTOTYPES
+// None.
+
+// FORWARD DECLARATIONS
+// None.
+
+// CLASS DECLARATION
+// None.
+
+GLREF_C void Panic( TCSPPanic aPanic );
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/csppubsublistener.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,130 @@
+/*
+* 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:  Declarations for class CCSPPubSubListener
+*
+*/
+
+
+#ifndef CSPPUBSUBLISTENER_H
+#define CSPPUBSUBLISTENER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <e32std.h>
+#include <e32property.h>
+
+// FORWARD DECLARATIONS
+class MCSPPubSubObserver;
+
+// CLASS DECLARATION
+
+/**
+*  RProperty poller.
+*
+*  @lib videoteleng.lib
+*  @since Series 60 2.8
+*/
+NONSHARABLE_CLASS( CSPPubSubListener ) : public CActive
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        * @param aUid the Uid to use
+        * @param aKey item's key
+        * @param aObserver callback interface for notification
+        * @return instance of CSPPubSubListener
+        */
+        static CSPPubSubListener* NewL( const TUid aUid, const TInt aKey, 
+            MCSPPubSubObserver* aObserver );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CSPPubSubListener();
+        
+    public: // New functions.
+
+        /**
+        * Gets integer value from P & S.
+        * @param aVal a value in return
+        * @return error code
+        */       
+        TInt Get( TInt& aVal );
+
+        /**
+        * Gets 8 bit string value from P&S.
+        * @param aVal a value in return
+        * @return error code
+        */
+        TInt Get( TDes8& aVal );
+        
+        /**
+        * Gets 16 bit descriptor value from P&S.
+        * @param aVal a value in return
+        * @return error code
+        */
+        TInt Get( TDes16& aVal );
+
+    private: // New functions.
+
+        /**
+        * Starts the listening (RunL).
+        */
+        void StartListening();
+
+    private: // From CActive.
+
+        /** @see CActive::RunL */
+        virtual void RunL();
+
+        /** @see CActive::Cancel */
+        virtual void DoCancel();
+
+        /** @see CActive::RunError */
+        virtual TInt RunError( TInt aError );
+
+    private:
+
+        /**
+        * Constructor of the listener.
+        * @param aUid the Uid to use
+        * @param aKey item's key
+        * @param aObserver callback interface for notification
+        */
+        CSPPubSubListener( const TUid aUid,  TInt aKey, 
+            MCSPPubSubObserver* aObserver );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+    
+    private:    // Data
+    
+        /** UID of the monitored item. */
+        TUid        iUid;
+        
+        /** ID of the monitored item. */
+        TInt        iId;
+        
+        /** Property to subscribe to. */
+        RProperty   iProperty;
+        
+        /** Observer for PS notifications. */
+        MCSPPubSubObserver* iObserver;
+    };
+
+#endif // CVTENGPUBSUBSGSETTINGS_H
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspremotealertingtonelistener.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2008-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:  Listens remote alerting tone status changes
+*
+*/
+
+
+#ifndef CSPREMOTEALERTINGTONELISTENER_H
+#define CSPREMOTEALERTINGTONELISTENER_H
+
+#include <e32base.h>
+#include <rmmcustomapi.h>
+
+class MCSPRemoteAlertingToneObserver;
+
+/**
+ *  Listens remote alerting tone changes.
+ *
+ *  @lib CSPlugin.lib
+ *  @since S60 v5.0
+ */
+NONSHARABLE_CLASS( CSPRemoteAlertingToneListener ) : public CActive
+    {
+public:
+    
+    /**
+     * Two-phased constructor.
+     * @param aCustomAPI Connected custom API instance.
+     * @param aObserver Observer of the remote alerting tone chnages.
+     */
+    static CSPRemoteAlertingToneListener* NewL( 
+        RMmCustomAPI& aCustomAPI,
+        MCSPRemoteAlertingToneObserver& aObserver );
+    
+
+    /**
+    * Destructor.
+    */
+    virtual ~CSPRemoteAlertingToneListener();
+
+    /**
+     * Starts listening remote alerting tone changes. Observer is notified
+     * when change occurs. Listening stops when Cancel is called or listening
+     * instance is deleted.
+     *
+     * @since S60 v5.0
+     */
+    void StartListening();
+
+protected:
+
+// from base class CActive
+
+    void DoCancel();
+    
+    void RunL();
+    
+private:
+    
+    CSPRemoteAlertingToneListener( 
+        RMmCustomAPI& aCustomAPI,
+        MCSPRemoteAlertingToneObserver& aObserver );
+
+private: // data
+
+    /** 
+     * For listening changes in remote alerting tone status.
+     * Not own.
+     */
+    RMmCustomAPI& iCustomAPI;
+    
+    /**  
+     * Status of the remote alerting tone.
+     */
+    RMmCustomAPI::TRemoteAlertingToneStatus iRATStatus;
+    
+    /**
+     * Change observer.
+     */
+    MCSPRemoteAlertingToneObserver& iObserver;
+
+    };
+
+#endif // CSPREMOTEALERTINGTONELISTENER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/csprovider.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,601 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Main class for CS Call Plug-in
+*
+*/
+
+
+
+#ifndef CSPROVIDER_H
+#define CSPROVIDER_H
+
+#include <e32base.h>
+#include <cconvergedcallprovider.h>
+#include <mccpcsobserver.h>
+#include <mccpdtmfprovider.h>
+#include <mccpcscall.h>
+#include <mccecall.h>
+
+#include "mcspincomingcallobserver.h"
+#include "mcspsecuritysettingobserver.h"
+#include "mcspcommoninfo.h"
+#include "mcsppubsubobserver.h"
+#include "mcspremotealertingtoneobserver.h"
+#include "mcspconferencestatusobserver.h"
+
+
+// FORWARD DECLARATIONS
+class CSPEtelIncomingCallMonitor;
+class CSPDTMFProvider;
+class CSPServiceSettingsHandler;
+class CSPEtelCallAddedMonitor;
+class CSPConferenceCall;
+class CSPCallArray;
+class CSPAudioHandler;
+class CSPEtelCallWaitingRequester;
+class CSPSupplementaryServicesMonitor;
+class MCCPSsObserver;
+class CSPCipheringStatusMonitor;
+class CSPSsSettingsHandler;
+class CSPCallAddedHandler;
+class CSPPubSubListener;
+class CSPCallCommandHandler;
+class CSPRemoteAlertingToneListener;
+class CSPEtelConferenceStatusMonitor; 
+
+/**
+* Main class for using CS Call Plug-in. Implements the CCP API.
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+class CSProvider : public CConvergedCallProvider,
+                   public MCSPIncomingCallObserver,
+                   public MCSPCommonInfo,
+                   public MCSPSecuritySettingObserver,
+                   public MCSPPubSubObserver,
+                   public MCSPRemoteAlertingToneObserver, 
+                   public MCSPConferenceStatusObserver
+{
+    public:
+    
+        /**
+        * Two-phased constructor.
+        * @return new instance of the class
+        */    
+        static CSProvider* NewL();
+        
+        /**
+        * C++ default destructor
+        */        
+        virtual ~CSProvider();
+        
+        /**
+        * Notification of SS event.
+        * @param aSsTypeAndMode SS type and SS mode
+        * @param aSsInfo SS info
+        */ 
+        void NotifySsEvent( RMmCustomAPI::TSsTypeAndMode& aSsTypeAndMode,
+                            RMmCustomAPI::TSsInfo& aSsInfo );
+
+
+// from base class CConvergedCallProvider    
+
+        /**
+        * Initializes plug-in. All required parameters must be passed
+        * with this function in order to use services.
+        * Simplifies pluging construct removing need to pass parameters 
+        * to ECom interface
+        * @since S60 3.2
+        * @param aAppUID Application UID of Telephony application
+        * @param aObserver general observer
+        * @param aSsObserver observer for events related to supplementary 
+        *        services.
+        */
+        void InitializeL( const MCCPObserver& aObserver,
+                          const MCCPSsObserver& aSsObserver );
+
+        /**
+        * Creates a new call and checks secure status from profile.
+        * @since S60 3.2
+        * @param aServiceId service id
+        * @param aRemoteParty Recipients address/number
+        * @param aObserver Observer
+        * @return MCCPMoCall
+        */
+        MCCPCall* NewCallL( const CCCPCallParameters& aCallParameters,
+                            const TDesC& aRemoteParty, 
+                            const MCCPCallObserver& aObserver );
+
+
+        /**
+        * From CConvergedCallProvider
+        * Releases all bindings to call and deletes it. 
+        * This will be called by CCE to free all the resources reserved for the call.
+        * After this call CCE will not access the call object anymore and observer 
+        * for the class must not be used in plug-in.
+        * This operation must always succeed. If plug-in decides to pre-allocate the 
+        * call object it can choose to do so, but plug-in has to make sure call is 
+        * returned to the state it was before calling CConvergedCallProvider::NewCallL.
+        * @param aCalltoRemove Call to remove.
+        * @return KErrNone or KErrNotFound if removed call is not found.
+        * @pre None, can always be called.
+        * @post Plug-in must quarantee all resources for the call will be cleaned up. 
+        * and plug-in must not call observer after this call!
+        * @since S60 3.2
+        */
+        virtual TInt ReleaseCall( MCCPCall& aCalltoRemove );
+        
+        /**
+        * From CConvergedCallProvider
+        * Creates a new Emergency call and add user-agent header.
+        * @since S60 3.2
+        * @param aServiceId service id
+        * @param aAddress address of emergency call
+        * @param aObserver Observer
+        * @return MCCPEmergencyCall
+        */
+        MCCPEmergencyCall* NewEmergencyCallL( 
+                                          const TUint32 aServiceId,
+                                          const TDesC& aAddress,
+                                          const MCCPCallObserver& aObserver );
+
+        /**
+        * From CConvergedCallProvider.
+        * Releases all bindings to call and deletes it. 
+        * This must be called to free all the resources reserved for the call.
+        * After this call CCE must not be access the call object anymore and observer 
+        * for the class must not be used in plug-in.
+        * This operation mustways succeed. If plug-in decides to pre-allocate the 
+        * call object it can choose to do so, but client has to be sure call is 
+        * cleared from the plug-in and all resuorces are returned to the state before calling 
+        * CConvergedCallProvider::NewEmergencyCallL.
+        * @param aCalltoRemove Call to remove.
+        * @return KErrNone or KErrNotFound if removed call is not found.
+        * @pre None, can always be called.
+        * @post Plug-in must quarantee all resources for the call will be cleaned up. Call must not 
+        * be referenced anymore from CCE and plug-in must not call observer after this call!
+        * @since S60 3.2
+        */
+        TInt ReleaseEmergencyCall( MCCPEmergencyCall& aCalltoRemove );
+        
+        /**
+        * From CConvergedCallProvider
+        * Creates a new conference call.
+        * @since S60 3.2
+        * @param aServiceId service id
+        * @param aObserver Observer
+        * @return MCCPConferenceCall
+        */
+        MCCPConferenceCall* NewConferenceL( const TUint32 aServiceId, 
+                                  const MCCPConferenceCallObserver& aObserver );
+
+        /**
+        * From CConvergedCallProvider
+        * Releases all bindings to conference call. CCE will call this after receiving 
+        * MCCPConferenceCallObserver::ECCPConferenceIdle from plug-in or when it itself 
+        * wants to release the call. In normal sequence called from CCE after HangUp is completed.
+        * @param aCalltoRemove Call to remove.
+        * @return KErrNone or KErrNotFound if removed call is not found.
+        * @pre None, can always be called.
+        * @post Plug-in must quarantee all resources for the call will be cleaned up. Call must not 
+        * be referenced anymore from CCE and plug-in must not call observer after this call!
+        * @since S60 3.2
+        */
+        TInt ReleaseConferenceCall( MCCPConferenceCall& aCalltoRemove );
+
+        /**
+        * Returns Uid of plug-in which is on use.
+        * @since S60 3.2
+        * @return Uid of plug-in
+        */   
+        const TUid& Uid() const;
+
+        /**
+        * Get Plug-In capabilities
+        * @since S60 3.2
+        * @return caps
+        */
+        TUint32 Caps( ) const;
+
+        /**
+        * Get DTMF provider
+        * @since S60 3.2
+        * @return Pointer to MCCPDTMFProvider if succesfull,
+        *         NULL if not available
+        */
+        MCCPDTMFProvider* DTMFProviderL( const MCCPDTMFObserver& aObserver );
+
+        /**
+        * Get extension provider
+        * @since S60 3.2
+        * @return Pointer to MCCPExtensionProvider if succesfull,
+        *         NULL if not available
+        */
+        MCCPExtensionProvider* ExtensionProviderL( 
+                            const MCCPExtensionObserver& aObserver );
+                            
+        /**
+        * This method gets the lifetime of the MS. The lifetime information 
+        * includes the manufacturing date of the MS and the total amount of airtime use, 
+        * from the manufacturing date until the call to this method. Calling this method 
+        * does not reset any data. This is used only CS, other plug-ins may ignore this method.
+        * @since S60 3.2
+        * @param aLifeTimeInfo Life time information
+        * @return none 
+        */
+        TBool GetLifeTime( TDes8& aLifeTimeInfo );
+       
+        /**
+        * This method gets serial number from MS. The CSInfo includes
+        * the serial number.
+        * @since S60 5.0
+        * @param aCSInfo CS specific information from MS.
+        * @return Get succeeded or not.
+        */
+        TBool GetCSInfo( CSInfo& aCSInfo );
+
+// from base class MCSPIncomingCallObserver
+
+        /**
+        * From MCSPIncomingCallObserver.
+        * Informs incoming call.
+        * 
+        * @since S60 3.2
+        * @param aLine the line that corresponds to the call
+        * @param aCallName the name of call
+        * @param aLineId line identifier for the call
+        */    
+        void IncomingCallArrived( RMobileLine& aLine, TName aCallName,
+                                  RCSPLineContainer::TCSPLineId aLineId );
+        
+// from base class MCSPCommonInfo
+
+        /**
+        * From MCSPCommonInfo
+        * Makes the request. Note that ERequestTypeDial is made with a 
+        * separate MakeDialRequest function.
+        *
+        * @since S60 3.2
+        * @param aRequest type of request
+        * @return ETrue if active, EFalse if not
+        */
+        void GetCallWaitingL( const CCCECallParameters& iParams,
+                              TBool& aCallWaitingStatus );
+                              
+        /**
+        * From MCSPCommonInfo
+        * Diagnostic error fetching.
+        * @param aCallName name of call related to error
+        * @return diagnostic error code
+        */
+        TInt GetDiagnosticError( TName& aCallName );
+
+        /**
+        * From MCSPCommonInfo
+        *
+        * Network security status
+        * 
+        * @since Series60_4.0
+        * @return true if security enabled
+        */
+        TBool NetworkSecurityStatus() const;
+
+        /**
+        * From MCSPCommonInfo         
+        * Secure specified status. 
+        * @since Series60_5.0
+        * @return true if secure specified
+        */
+        TBool SecureSpecified() const;
+        
+        /**
+        * From MCSPCommonInfo
+        * Remote alerting tone status.
+        * @return tone status for remote alerting tone playing
+        */
+        RMmCustomAPI::TRemoteAlertingToneStatus GetRemoteAlertingToneStatus();
+        
+        /**
+         * From MCSPCommonInfo
+         * Initializes with current settings.
+         * @param aParams call params 
+         */
+        void InitializeCallParameters( RMobileCall::TMobileCallParamsV7& aParams );
+
+        /**
+         * From MCSPCommonInfo
+         * Initializes with current data call settings.
+         * @param aParams call params 
+         */
+        void InitializeDataCallParameters( RMobileCall::TMobileHscsdCallParamsV1& aParams );
+        
+        /**
+        * From MCPSCommonInfo
+        * @param aCall client call to be indicated
+        */
+        void IndicateClientCall( MCCPCSCall* aCall );
+        
+        /**
+        * Indicates incoming call for CCE.
+        * @param aCall incoming call
+        */
+        TInt IndicateIncomingCall( MCCPCSCall* aCall );
+        
+        /**
+        * Notify data port name about a loaned data port.
+        * @param aDataPortName port name
+        */
+        void NotifyDataPortName( TName& aDataPortName );
+
+        /**
+        * Indicates active hangup command.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        TInt IndicateActiveHangup( MCCPCallCommandHandling& aCall );
+        
+        /**
+        * Indicates hangup command complete.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        TInt IndicateHangupComplete( MCCPCallCommandHandling& aCall );
+        
+        /**
+        * Indicates active hangup command.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        TInt IndicateDialRequest( MCCPCallCommandHandling& aCall );
+        
+        /**
+        * Indicates active hangup command.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        TInt IndicateAnswerRequest( MCCPCallCommandHandling& aCall );
+        
+        /**
+        * Don't report termination error
+        * @since Series60_5.0
+        * @return system wide error code
+        */
+        TInt DontReportTerminationError();
+        
+// From base class MCSPSecuritySettingObserver
+
+        /**
+        * From MCSPSecuritySettingObserver
+        * Notifies about changed security status.
+        * @param aValue 
+        */
+        void SecuritySettingChanged( TInt aValue );
+        
+// From base class MCSPPubSubObserver
+
+        /**
+        * Handler for changed event.
+        * @param aUid uid of setting 
+        * @param aKey id of setting
+        * @param aStatus status of completed AO operation
+        */
+        void HandleNotifyPSL( const TUid aUid, const TInt& aKey, 
+            const TRequestStatus& aStatus );
+        
+// From base class MCSPRemoteAlertingToneObserver
+        
+        /**
+         * From MCSPRemoteAlertingToneObserver
+         * @see MCSPRemoteAlertingToneObserver
+         */
+        void RemoteAlertingToneStatusChanged(
+            RMmCustomAPI::TRemoteAlertingToneStatus aNewStatus );
+
+// From base class MCSPConferenceStatusObserver
+        
+        /**
+        * From MCSPConferenceStatusObserver.
+        * Notifies event to observers.
+        * @param aStatus new status of the conference call
+        */        
+        void NotifyStateChange( 
+            MCSPConferenceStatusObserver::TCSPConferenceState aStatus );
+                        
+    private:
+    
+        /**
+        * C++ default constructor
+        */
+        CSProvider();
+        
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        /**
+        * Creates connections to ETel.
+        */
+        void CreateEtelConnectionsL();
+        
+        /**
+        * Handles diverting and barring notifications.
+        * @param aAddr address
+        * @param aSsTypeAndMode ss type and mode struct
+        */
+        void HandleDivertOrBarring(TDesC& addr, 
+                         RMmCustomAPI::TSsTypeAndMode& aSsTypeAndMode);
+        
+        /**
+        * Handles SIM status
+        */
+        void HandleSIMStatusL();
+        
+    // data
+    private:
+        
+        /**
+        * Implementation UID
+        */
+        TUid iImplementationUid;
+        
+        /**
+        * ETel connection
+        */
+        RTelServer iServer;
+        
+        /**
+        * Mobile phone handle.
+        */
+        RMobilePhone iMobilePhone;
+
+        /**
+        * Mobile conference call handle.
+        */
+        RMobileConferenceCall iMobileConferenceCall;
+        
+        /**
+        * Observer for provider level functionality.
+        * Not own.
+        */        
+        MCCPCSObserver* iCCPObserver;
+
+        /**
+        * Observer for SS events.
+        * Not own.
+        */
+        MCCPSsObserver* iSsObserver;
+        
+        /**
+        * DTMF provider.
+        * Own.
+        */
+        CSPDTMFProvider* iDTMFProvider;
+        
+        /**
+        * Monitors line for incoming calls.
+        * Own.
+        */        
+        CSPEtelIncomingCallMonitor* iIncomingVoiceCallMonitor;
+        
+        /**
+        * Monitors line for incoming data/video calls.
+        * Own.
+        */        
+        CSPEtelIncomingCallMonitor* iIncomingDataCallMonitor;
+        
+        /**
+        * Monitors line for incoming calls from aux line
+        * Own.
+        */        
+        CSPEtelIncomingCallMonitor* iIncomingAuxCallMonitor;
+        
+        /**
+        * Call array.
+        * Own.
+        */
+        CSPCallArray* iCallArray;
+                
+        /**
+        * Custom API handle for custom functionality.
+        */        
+        RMmCustomAPI iMmCustom;
+        
+        /**
+        * Line container.
+        */
+        RCSPLineContainer iLineContainer;
+        
+        /**
+        * Service settings handler for reading 
+        * service id and name information.
+        * Own.
+        */
+        CSPServiceSettingsHandler* iServiceHandler;
+        
+        /**
+        * Initialisation status.
+        */
+        TBool iInitialized;
+                
+        /**
+        * Call added monitor.
+        * Own.
+        */
+        CSPCallAddedHandler* iCallAddedHandler;
+        
+        /**
+        * Service ID.
+        */
+        TUint32 iServiceId;
+        
+        /**
+        * Dev sound handler.
+        * Own.
+        */
+        CSPAudioHandler* iAudioHandler;
+        
+        /**
+        * Call waiting requester.
+        * Own.
+        */
+        CSPEtelCallWaitingRequester* iCwRequester;
+        
+        /**
+        * Supplementary service related event monitor.
+        * Own.
+        */ 
+        CSPSupplementaryServicesMonitor* iSsMonitor;
+        
+        /**
+         * Ciphering (network security level On/Off) setting monitor.
+         */
+        CSPCipheringStatusMonitor* iCipheringStatusMonitor;
+        
+        /**
+         * SS Settings handler for reading ALS line and ALS supported status.
+         */
+        CSPSsSettingsHandler* iSsSettingsHandler;
+        
+        /**
+        * Sim status listener.
+        * Own.
+        */ 
+        CSPPubSubListener* iSimStatusListener;
+        
+        /**
+        * CallCommandHandler.
+        * Own.
+        */ 
+        CSPCallCommandHandler* iCallCommandHandler;
+        
+        /** 
+         * Remote Alerting Tone listener.
+         */
+        CSPRemoteAlertingToneListener* iRemoteAlertingToneListener;
+        
+        /** 
+         * Monitor for conference status changes.
+         * Own.
+         */
+        CSPEtelConferenceStatusMonitor* iConferenceStatusMonitor;
+
+        /** 
+         * Keep track of conference existence.
+         */
+        CSPConferenceCall* iConferenceCall; 
+};
+
+#endif // CSPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspservicesettingshandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,82 @@
+/*
+* 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:  Header of CSPServiceSettingsHandler
+*
+*/
+
+
+#ifndef CSPSERVICESETTINGSHANDLER_H
+#define CSPSERVICESETTINGSHANDLER_H
+
+#include <e32base.h>
+
+#include "rcsplinecontainer.h"
+
+/**
+* Makes asynchronic request to ETel interface according to given request type.
+* Provides canceling via CActive::Cancel().
+* 
+*/
+class CSPServiceSettingsHandler: public CBase   
+    {
+    public:
+    
+        /**
+        * Two phased constructing of the DTMF provider instance.
+        * @return the instance to service settings handler
+        */
+        static CSPServiceSettingsHandler* NewL( );
+        
+        
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPServiceSettingsHandler( );
+        
+        /**
+        * Find service ID by name.
+        * @since S60 3.2
+        * @param aName the name of service
+        * @param aServiceId service ID
+        */
+        void FindByNameL( const TDesC& aName, TUint32& aServiceId );        
+                             
+        /**
+        * Find CS service ID.
+        * @param aServiceId the service id as output
+        * @return error code if read was not succesfull
+        */
+        TInt ReadCSServiceId( TUint32& aServiceId );
+
+        
+        
+    private:
+        /**
+        * Constructs the requester.
+        *
+        */
+        CSPServiceSettingsHandler(  );
+        
+        /**
+        * Constructing the provider in the second phase.
+        */
+        void ConstructL();
+    
+    private: // data
+    
+        
+        
+    };
+    
+#endif // CSPSERVICESETTINGSHANDLER
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspspeaker.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2006-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:  Provides speaker functionality
+*
+*/
+
+
+#ifndef CSPSPEAKER_H
+#define CSPSPEAKER_H
+
+#include "cspdevsound.h"
+
+class MCSPDevSoundObserver;
+
+/**
+ *  Provides speaker functionality.
+ *
+ */
+NONSHARABLE_CLASS( CSPSpeaker ): public CSPDevSound
+    {
+
+public:
+
+    static CSPSpeaker* NewL( MCSPDevSoundObserver& aObserver );
+
+    virtual ~CSPSpeaker();
+
+    /** 
+     * Sets volume.
+     * @param aVolume Volume.     
+     */
+    void SetVolume( TInt aVolume );
+    
+    /**
+     * Gets volume.
+     * @return Current volume.
+     */
+    TInt Volume();
+
+// from base class MDevSoundObserver
+
+    /**
+     * From MDevSoundObserver.
+     * Indication from devsound that stream (speaker) has been activated
+     * successfully.
+     */
+    void BufferToBeFilled( CMMFBuffer* /*aBuffer*/ );
+
+    /**
+     * From MDevSoundObserver.
+     * Indication from devsound that activation of stream( speaker)
+     * failed.
+     */
+    void PlayError( TInt aErrorCode );
+
+private:
+        
+    /**
+     * From CSPDevSound.
+     * Tries to activate the mic stream.
+     */
+    void DoActivateL();
+
+protected:
+
+    CSPSpeaker( MCSPDevSoundObserver& aObserver );
+
+    void ConstructL();
+
+    };
+
+#endif // CSPSPEAKER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspsssettingshandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,144 @@
+/*
+* 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 the header file of the class 
+*                CSPSsSettingsHandler.
+*
+*/
+
+
+
+#ifndef CSPSSSETTINGSHANDLER_H
+#define CSPSSSETTINGSHANDLER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <msssettingsobserver.h>
+
+
+// FORWARD DECLARATIONS
+class MCCPSsObserver;
+
+// CLASS DECLARATION
+
+/**
+*  CSPSsSettingsHandler observer SSSettings changes
+*
+*  @lib phoneenginegsm
+*  @since Series_60 4.0
+*/
+class CSPSsSettingsHandler : public CBase,
+                           public MSSSettingsObserver
+    {
+    public:  // Constructors and destructor
+        
+        /**
+        * Two-phased constructor.
+        */
+        static CSPSsSettingsHandler* NewL( const MCCPSsObserver& aObserver );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CSPSsSettingsHandler( );
+
+    public: // New functions
+        
+        /**
+        * GetALSLineL
+        * @param aALSLine, Als line information to be updated
+        */
+        void GetALSLineL( RMobilePhone::TMobilePhoneALSLine& aALSLine );
+
+        /**
+        * SetALSLineL
+        * @param aALSLine, Als line information to set
+        */
+        void SetALSLineL( RMobilePhone::TMobilePhoneALSLine& aALSLine );
+        
+        /**
+        * GetClirL
+        * @param aClir, Clir information to be updated
+        */
+        void GetClirL( RMobileCall::TMobileCallIdRestriction& aClir );
+        
+        /**
+        * GetCugL
+        * @param aCugIndex, CUG index
+        */
+        void GetCugL( TInt& aCugIndex );
+        
+        /**
+         * GetDefaultCugL
+         * Get CUG default value.
+         */
+        void GetDefaultCugL(TInt& aDefCug );
+        
+        /**
+         * IsValueValidCugIndex
+         * Is CUG index in allowed range. 
+         */
+        TBool IsValueValidCugIndex( const TInt& aValue ) const;
+
+    public: // Functions from MSSSettingsObserver
+
+        /*
+        * Observer functoin 
+        * @param aSetting Current setting
+        * @param aNewValue New value for the setting
+        */
+        virtual void PhoneSettingChanged( 
+            TSSSettingsSetting aSetting, 
+            TInt aNewValue );
+
+    private:
+
+        /**
+        * Constructor.
+        */
+        CSPSsSettingsHandler( const MCCPSsObserver& aObserver );
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+        
+        /**
+        * Call register Als notify after idle callback
+        */                 
+        void RegisterAfterIdle();               
+
+        /**
+        * CIdle CallBack method
+        */  
+        static TInt CIdleCallBack( TAny* aAny );
+
+        /**
+        * Register to notify ALS line changed
+        */  
+        void Register();
+
+    private: // Data
+
+        /**
+         * MCCPSsObserver is used to send message to the CCE/phone.
+         */
+        MCCPSsObserver& iObserver;
+        //Pointer to instance of Settings
+        RSSSettings iSSSettings;
+        // Idle object to register ALS notify.
+        CIdle* iRegisterAlsNofify;
+
+    };
+
+#endif      // CSPSSSETTINGSHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspsupplementaryservicesmonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This file contains the header file of the
+*                CSPSupplementaryServicesMonitor object.
+*
+*/
+
+
+#ifndef CSPSUPPLEMENTARYSERVICESMONITOR_H
+#define CSPSUPPLEMENTARYSERVICESMONITOR_H
+
+
+//INCLUDES
+#include <e32base.h>
+#include <rmmcustomapi.h>
+
+
+// FORWARD DECLARATIONS
+class CSProvider;
+
+// CLASS DECLARATION
+
+/**
+* Monitors Supplementary Services
+*
+* @lib CallHandling.lib
+* @since Series60_4.0
+*/
+class CSPSupplementaryServicesMonitor: public CActive
+    {
+    public:    //Constructors and descructor
+
+        /**
+        * C++ default constructor.
+        */
+        CSPSupplementaryServicesMonitor( 
+            CSProvider& aOwner, 
+            RMmCustomAPI& aCustomAPI );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CSPSupplementaryServicesMonitor();
+
+    public: //New functions
+        
+        /**
+        * Starts monitoring new calls
+        * @since Series60_4.0
+        * @param None. 
+        * @return None. 
+        */
+        void StartMonitoring();
+
+    protected: // From CActive
+        
+        /**
+        * Cancels asyncronous request(s).
+        * @since Series60_4.0
+        * @param None.    
+        * @return None.
+        */
+        void DoCancel();
+
+        /**
+        * Informs object that asyncronous request is ready.
+        * @since Series60_4.0
+        * @param None. 
+        * @return None.
+        */
+        void RunL();
+      
+    private:
+        
+        /** Owner of this object */
+        CSProvider& iOwner;
+        /** Subsession to custom api */
+        RMmCustomAPI& iCustomAPI;
+        /** Suplementary Services Type And Mode */
+        RMmCustomAPI::TSsTypeAndMode iSsTypeAndMode;
+        /** Suplementary Services info */
+        RMmCustomAPI::TSsInfo iSsInfo;
+    };
+
+#endif // CSPSUPPLEMENTARYSERVICESMONITOR_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/csptimer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,98 @@
+/*
+* 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:  Timer service
+*
+*/
+
+
+#ifndef CSPTIMER_H
+#define CSPTIMER_H
+
+#include <e32base.h>
+
+class MCSPTimerObserver;
+
+/**
+ *  Timer service.
+ *
+ *  @lib PhoneEngine.lib
+ *  @since S60 v3.1
+ */
+NONSHARABLE_CLASS( CSPTimer ) : protected CTimer
+    {
+public:
+
+    static CSPTimer* NewL();
+
+    static CSPTimer* NewLC();
+
+    virtual ~CSPTimer();
+
+    /**
+     * Request for notify after aTimeout.
+     * After timeout has passed observer is called. Panics
+     * if there is notify already ongoing ie IsNotifyOngoing
+     * returns ETrue.
+     *
+    *
+     * @param aTimeout Time out in microseconds. 
+     * @param aTimerObserver Observer for notify.
+     */
+    virtual void NotifyAfter( TInt aTimeout, 
+        MCSPTimerObserver& aTimerObserver );
+    
+    /**
+     * Cancels the outstanding notify request. After
+     * this call notify is no longer ongoing ie IsNotifyOngoing
+     * return EFalse.
+     *
+    *
+     */
+    virtual void CancelNotify();
+    
+    /**
+     * Determines if there is notify ongoing.
+     *
+    *
+     * @return ETrue - notify is ongoing, EFalse - notify is not ongoing.
+     */
+    virtual TBool IsNotifyOngoing();
+    
+protected:    
+    
+// from base class CActive
+
+    /**
+     * From CActive
+     * Called when timer timeout is up.
+     *
+    *
+     */
+    void RunL();
+    
+    CSPTimer();
+
+    void ConstructL();
+
+protected: // data
+
+    /**
+     * Observer for notify service.
+     * Not own.
+     */
+    MCSPTimerObserver* iObserver;
+
+    };
+
+#endif // CSPTIMER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/csptransferprovider.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,200 @@
+/*
+* 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:  Header of CSPTransferProvider which provides methods and
+*                functionality to handle call transfering
+*
+*/
+
+
+#ifndef CSPTRANSFERPROVIDER_H
+#define CSPTRANSFERPROVIDER_H
+
+#include <e32base.h>
+#include <mccptransferprovider.h>
+#include <mccptransferobserver.h>
+
+class RMobileCall;
+class MCSPCallErrorObserver;
+class MCSPCommonInfo;
+
+/**
+* Call transfer methods.
+* MCCPCallObserver is used for errors, statuses, notifications etc
+*
+*  @since S60 3.2
+*/
+class CSPTransferProvider : public CActive,
+                            public MCCPTransferProvider
+    {
+    
+    public:
+        /**
+        * Two phased constructing of the transfer provider instance.
+        * @param aCall mobile call handle
+        * @return the Transfer provider instance
+        */
+        static CSPTransferProvider* NewL( RMobileCall& aCall, 
+                MCSPCallErrorObserver& aErrorObserver,
+                MCSPCommonInfo& aCommonInfo );        
+
+        /** 
+        * Destructs the transfer provider.
+        * @since S60 3.2
+        */
+        virtual ~CSPTransferProvider();
+        
+    public:
+
+    // from base class MCCPTransferProvider
+        /**
+        * Attended transfer to given call recipient.
+        * There exist a call between A-B and A-C. A wants to transfer the call
+        * to B-C. A itself will not be inline in case the transfer is made 
+        * succesfully.In above case C will be the aTransferTargetCall. B is 
+        * the recipient of the current call between A-B - called on A's call
+        * object transfer provider. The A-B call is on hold (optional).
+        *
+        * @param aTransferTargetCall Target receiver of the transferred call. 
+        *                            In this case there exist a call.
+        * @return In case of an immediate error returns system error code, 
+        *         if request has been started returns KErrNone.
+        * Actual request result indication comes via observer class
+        */
+        TInt AttendedTransfer( MCCPCall& aTransferTargetCall );
+
+        /**
+        * Attended transfer to given address. There does not need to be 
+        * a current call between the given transfer target.
+        * @param aTransferTarget Transfer target address
+        * @return In case of an immediate error returns system error code,
+        *         if request has been started returns KErrNone.
+        * Actual request result indication comes via observer class
+        */
+        TInt AttendedTransfer( const TDesC& aTransferTarget );
+
+        /**
+        * Unattended transfer. Call is requested to be transferred to given
+        * address. After ECCPRemoteTransferring event current call will be
+        * disconnected and no transfer status is checked from the operation. 
+        * @param aTransferTarget Address of the target
+        * @return In case of an immediate error returns system error code, 
+        *         if request has been started returns KErrNone.
+        * Actual request result indication comes via observer class
+        */
+        TInt UnattendedTransfer( const TDesC& aTransferTarget );
+
+        /**
+        * Accept incoming call transfer request from the call remote party.
+        * @param aAccept ETrue - accept transfer, 
+        *                EFalse do not accept transfer request.
+        * @return In case of an immediate error returns system error code, 
+        *         if request has been started returns KErrNone.
+        * Actual request result indication comes via observer class
+        */
+        TInt AcceptTransfer( const TBool aAccept );
+          
+        /**
+        * When the other end of the call has requested call transfer to
+        * third party it is notified to 
+        * CCPCallCall::EventOccurred(ECCPRemoteTransferring).
+        * The new recipient of the call can be fetched via this method.
+        * @return New recipient for the call after transfer
+        */
+        const TDesC& TransferTarget() const;
+        
+        /**
+        * Add an observer for transfer related events.
+        * Plug-in dependent feature if duplicates or more than one observers 
+        * are allowed or not. Currently CCE will set only one observer.
+        * @since S60 v3.2
+        * @param aObserver Observer
+        * @leave system error if observer adding fails
+        */
+        void AddObserverL( const MCCPTransferObserver& aObserver );
+
+        /**
+        * Remove an observer.
+        * @since S60 v3.2
+        * @param aObserver Observer
+        * @return KErrNone if removed succesfully
+        *         KErrNotFound if observer was not found.
+        *         Any other system error depending on the error.
+        */
+        TInt RemoveObserver( const MCCPTransferObserver& aObserver );
+        
+        /**
+        * A transfer event has occurred concerning a specific call.
+        * @since S60 3.2
+        * @param aEvent Occurred event.
+        */
+        void TransferEventOccurred( 
+            const MCCPTransferObserver::TCCPTransferEvent aEvent );
+
+    // from base class CActive
+    protected:
+            /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+            
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();  
+
+    private:
+        /**
+        * Constructs the provider
+        *
+        * @param aCall handle mobile call
+        */
+        CSPTransferProvider( RMobileCall& aCall, 
+                             MCSPCallErrorObserver& aErrorObserver,
+                             MCSPCommonInfo& aCommonInfo );
+
+        /**
+        * Constructing 2nd phase.
+        */
+        void ConstructL();
+        
+    private: // data
+
+        /**
+        * DTMF event observer.
+        */
+        RPointerArray<MCCPTransferObserver> iObservers;
+            
+        /**
+        * Etel call object
+        */
+        RMobileCall& iCall;
+        
+        /**
+        * Error observer;
+        */
+        MCSPCallErrorObserver& iErrorObserver;
+        
+        /**
+        * Common information for calls.
+        */
+        MCSPCommonInfo& iCommonInfo;
+
+
+};
+
+#endif CSPTRANSFERPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspuuimessagesender.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Sends UUI message.
+*
+*/
+
+
+#ifndef CSPUUIMESSAGESENDER_H
+#define CSPUUIMESSAGESENDER_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+/**
+ *  Sends user to user information messages.
+ *
+ *  @lib PhoneEngine.lib
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS( CSPUUIMessageSender ) : public CActive
+    {
+
+public:
+
+    static CSPUUIMessageSender* NewL(
+        RMobileCall& aCall );
+
+    virtual ~CSPUUIMessageSender();
+
+    /**
+     * Sends user to user information.
+     *
+     * @since S60 v3.2
+     * @param aMessage UUI message to be sent.
+     */
+    void SendUUIMessage( const TDesC& aMessage );
+     
+// from base class CActive
+
+protected:
+
+    /**
+     * From CActive.
+     *
+     * Cancels active request.
+     * @since S60 v3.2
+     */
+    void DoCancel();
+    
+    /**
+     * From CActive.
+     *
+     * Callback to indicate completion
+     * of request.
+     * @since S60 v3.2
+     */
+    void RunL();
+
+private:
+
+    CSPUUIMessageSender(
+        RMobileCall& aCall );
+
+    void ConstructL();
+
+private: // data
+    
+    /**
+     * Call, which the UUI is sent to.
+     * Not own.
+     */
+    RMobileCall& iCall;
+    
+    /**
+     * Request.
+     */
+    RMobileCall::TMobileCallUUSRequestV1 iUUSRequest;
+    
+    /**
+     * Request package.
+     */
+    RMobileCall::TMobileCallUUSRequestV1Pckg iUUSRequestPckg;
+    };
+
+#endif // CSPUUIMESSAGESENDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspuuimonitor.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,97 @@
+/*
+* 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:  Monitor UUI messages.
+*
+*/
+
+
+#ifndef CSPUUIMONITOR_H
+#define CSPUUIMONITOR_H
+
+#include <e32base.h>
+#include <etelmm.h>
+
+class MCSPUUSMessageObserver;
+
+/**
+ *  Monitors UUI messages.
+ *
+ *  @lib PhoneEngine.lib
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS( CSPUUIMonitor ) : public CActive
+    {
+public:
+
+    static CSPUUIMonitor* NewL(RMobileCall& aCall,  
+        MCSPUUSMessageObserver& aUUIHandler );
+
+    virtual ~CSPUUIMonitor();
+
+    /**
+     * Starts monitoring the UUI messages
+     *
+     * @since S60 v3.2
+     */
+    void StartMonitor();
+    
+protected:
+
+// from base class CActive
+
+    /**
+     * From CActive
+     * Cancels the outstanding request
+     *
+     * @since S60 v3.2
+     */
+    void DoCancel();
+    
+    /**
+     * From CActive
+     * Handles request completion
+     *
+     * @since S60 v3.2
+     */
+    void RunL();
+
+private:
+
+    CSPUUIMonitor(RMobileCall& aCall,  
+        MCSPUUSMessageObserver& aUUIHandler );
+
+    void ConstructL();
+
+private: // data
+    
+    /**
+     * Etel call.
+     * Not own.
+     */
+    RMobileCall& iCall;
+    
+    /**
+     * UUI data.
+     */
+    RMobileCall::TMobileCallUUI iUUI;
+    
+   
+    /**
+     * UUI message observer;
+     */
+    MCSPUUSMessageObserver& iObserver;
+
+    };
+
+#endif // CSPUUIMONITOR_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspvideocall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,231 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implements CSPVideoCall for CS Call Plug-in
+*
+*/
+
+
+
+#ifndef CSPVIDEOCALL_H
+#define CSPVIDEOCALL_H
+
+#include <mccpcscall.h>
+#include <mccpcallobserver.h>
+#include <etel.h>
+#include <etelmm.h>
+#include <cccecallparameters.h>
+
+#include "cspcall.h"
+#include "cspconsts.h"
+#include "mcspcallobserver.h"
+#include "mcspcallerrorobserver.h"
+#include "cspvideocallconnectionhandler.h"
+
+
+class MCCPObserver;
+class RMobileCall;
+class CSPEtelCallStatusMonitor;
+class CSPEtelCallEventMonitor;
+class CSPEtelVideoCallCapsMonitor;
+class CSPEtelCallWaitingRequester;
+
+/**
+* Call class for CS Call Plug-in. Implements the API defined by CCP in classes
+* MCCPCall and MCCPCSCall
+*
+*  @lib csplugin.dll
+*  @since S60 v3.2
+*/
+class CSPVideoCall : public CSPCall
+    {
+    
+    public:
+        /*
+        * Creates a new CSPVideoCall object.
+        * @since S60 3.2
+        * @param aName dialled number (MT) or call name (MO)
+        * @param aLine line for opening the call
+        * @param aMobileOriginated direction of call        
+        * @param aParams call parameters 
+        * @param aCommonInfo common information for call,
+        * @return pointer to created call object
+        */
+        static CSPVideoCall* NewL( const TDesC& aName,
+                              RMobileLine& aLine,
+                              TBool aMobileOriginated,
+                              const CCCECallParameters& aParams,
+                              MCSPCommonInfo& aCommonInfo );       
+        
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPVideoCall( );
+
+        /**
+        * Informs about ready data connection.
+        * @aPortName name of data port
+        */
+        void ConnectionReady( TName aDataPortName );
+        
+        /**
+        * Error occurred when establishing connection.
+        * @param aErr error value
+        */
+        void ConnectionEstablishingFailed(TInt aErr);
+        
+        /**
+        * Notification about data call caps change.
+        * @param aCaps new caps
+        */
+        void DataCallCapsChanged( RMobileCall::TMobileCallDataCapsV1& aCaps );
+        
+        /**
+        * Selects call type video or voice depending of available procotol 
+        * capabilities
+        * @return Call type video or voice  
+        */
+        CCPCall::TCallType SelectCallTypeFromProtocolCaps();          
+        
+// from base class CSPCall
+
+        /**
+        * From CSPCall
+        * Updates the state change and forwards the state for observer.
+        * @param aState new state of the call
+        */
+        virtual void NotifyCallStateChanged( MCCPCallObserver::TCCPCallState aState );
+
+        /**
+        * From CSPCall
+        * Updates the state change and forwards the state for observer.
+        * @param aState new state of the call
+        */
+        virtual void NotifyCallStateChangedWithInband( MCCPCallObserver::TCCPCallState aState );
+        
+        /**
+        * From MCCPCSCall
+        * Starts dialing to recipient without FDN check.
+        * @param aCallParams Call parameters used by the TSY (TCallParamsPckg)
+        * @return system wide error code
+        */
+        TInt DialNoFdnCheck( const TDesC8& aCallParams );
+
+        /**
+        * From CSPCall
+        * Switch in the alternating call mode of an alternating call
+        * @since S60 3.2
+        */
+        TInt SwitchAlternatingCall();
+        
+        /**
+        * From MCCPCSCall
+        * Gets the calls data call capabilities
+        * @since S60 3.2
+        * @param aCaps TMobileCallDataCapsV1
+        * @return KErrNone if the function member was successful, 
+        *        KErrNotSupported if call doesn't support circuit switched data
+        *        KErrNotFound if this call is not a data call
+        */
+        virtual TInt GetMobileDataCallCaps( TDes8& aCaps ) const;
+
+        /**
+        * From MCCPCall
+        * Get call's secure status.
+        * @since S60 3.2
+        * @return TBool ETrue if security is enabled, else EFalse.
+        */
+        TBool IsSecured() const;
+          
+    protected: 
+        
+        /*
+        * C++ default constructor
+        * @param aLine open line ready for use
+        * @param aMobileOriginated true if MO, false if MT
+        * @param aName call name (MT) or recipient (MO)
+        * @param aCommonInfo reference to common info interface
+        */
+        CSPVideoCall( RMobileLine& aLine,  
+                 TBool aMobileOriginated,
+                 const TDesC& aName,
+                 MCSPCommonInfo& aCommonInfo );
+
+        /*
+        * Constructing 2nd phase.
+        * @since S60 3.2
+        */
+        void ConstructL( const CCCECallParameters& aParams );
+
+    private:    
+
+        /** 
+        * Sets default call params.
+        */
+        void SetDefaultCallParameters();
+        
+        /** 
+        * Sets default video call params
+        */
+        void SetVideoCallParameters();
+        
+        /**
+        * Branches dial requests according 
+        * to FDN check flag.
+        * @aFdnCheck ETrue if FDN is checked
+        */
+        TInt DialFdnCond( TBool aFdnCheck );
+  
+    private:
+
+        /**
+        * Data call caps monitor
+        * Own.
+        */
+        CSPEtelVideoCallCapsMonitor* iVideoCallCapsMonitor;
+
+        /**
+        * Call parameters. 
+        */
+        RMobileCall::TMobileHscsdCallParamsV1 iDataCallParams;
+
+        /**
+        * Call parameters package.  
+        */
+        RMobileCall::TMobileHscsdCallParamsV1Pckg iDataCallParamsPckg;
+      
+        /**
+        * Air Interface User Rate
+        */
+        RMobileCall::TMobileCallAiur iAirInterfaceUserRate;
+        
+        /**
+        * Current received time slots
+        */
+        TInt iCurrentTimeSlots;
+                
+        /**
+        * Connection functionality
+        * Own.
+        */
+        CSPVideoCallConnectionHandler* iConnectionHandler;
+
+        /**
+        * Next call state 
+        */
+        MCCPCallObserver::TCCPCallState iNextCallState;       
+        
+    };
+
+
+#endif // CSPVIDEOCALL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspvideocallconnectionhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,160 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Delivers asynchronous requests to ETel
+*
+*/
+
+
+#ifndef CSPVIDEOCALLCONNECTIONHANDLER_H
+#define CSPVIDEOCALLCONNECTIONHANDLER_H
+
+
+#include <e32base.h>
+#include <etelmm.h>
+#include <rmmcustomapi.h>
+#include <es_sock.h>
+#include <es_enum.h>
+
+class CSPVideoCall;
+
+/**
+* Handles data call connection specific requests.
+* Provides canceling via CActive::Cancel().
+* 
+*/
+class CSPVideoCallConnectionHandler : public CActive
+    {
+        
+    public:
+        
+        /**
+        * Constructs the requester via two phase.
+        *
+        * @param aObserver the observer for request errors
+        * @param aCall ETel RMobileCall reference that is the object
+        * of the request.
+        */
+        static CSPVideoCallConnectionHandler* NewL( CSPVideoCall& aObserver, 
+                                           RMobileCall& aCall );
+        
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPVideoCallConnectionHandler( );
+
+        /**
+        * Initializes connection including data port loaning.
+        * @since S60 3.2
+        * @return KErrNone if successful, else error code
+        */
+        TInt InitializeConnection(  );
+        
+        /**
+        * Releases connection including data port loaning.
+        * @since S60 3.2
+        * @return KErrNone if successful, else error code
+        */        
+        TInt ReleaseConnection( );
+
+        /**
+        * Connection initialized.
+        * @since S60 3.2
+        * @return connection initialized status
+        */
+        TBool ConnectionInitialized(  );
+     
+    protected: // From CActive
+        
+        /**
+        * From CActive
+        * RunL
+        * @since S60 3.2
+        */
+        void RunL();
+        
+        /**
+        * From CActive
+        * Cancels the monitor
+        * @since S60 3.2
+        */
+        void DoCancel();
+        
+    private:
+    
+        /**
+        * Constructs the connection handler.
+        *
+        * @param aObserver the observer for request errors
+        * @param aCall ETel RMobileCall reference that is the object
+        * of the request.
+        */
+        CSPVideoCallConnectionHandler( CSPVideoCall& aObserver, 
+                              RMobileCall& aCall );
+        
+        /**
+        * Constructing in the second phase.
+        */
+        void ConstructL();
+
+        /**
+        * Create socket connection.  
+        */
+        TInt CreateSocketConnection();
+
+        /**
+        * Loan data port. 
+        * Initiates asynchronous request to loan dataport. 
+        */
+        TInt LoanDataPort();
+        
+        /**
+        * Close socket connection.  
+        */
+        void CloseConnection();
+               
+        
+    private: // data
+        /**
+        * Observer for request errors.
+        */
+        CSPVideoCall& iObserver;        
+       
+        /**
+        * ETel call which this monitors
+        */
+        RMobileCall& iCall;        
+        
+        /**
+        * Comm port info.
+        */
+        RCall::TCommPort iCommPort;
+        
+        /**
+        * Connection reference
+        */
+        RConnection iConnection;
+        
+        /**
+        * Tells if socket connection has been initialized
+        */
+        TBool iConnectionInitialized;
+        
+        /**
+        * Socket Server handle.
+        */
+        RSocketServ iSocketServer;
+        
+    };
+    
+#endif // CSPVIDEOCALLCONNECTIONHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/cspvoicecall.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,184 @@
+/*
+* 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:  Implements CSPVoiceCall for CS Call Plug-in
+*
+*/
+
+
+#ifndef CSPVOICECALL_H
+#define CSPVOICECALL_H
+
+
+#include <mccpemergencycall.h> // For MCCPEmergencyCall
+
+#include "cspcall.h" // For CSPCall
+
+
+class MCCPForwardProvider;
+class MCCPObserver;
+class RMobileCall;
+class CSPEtelCallStatusMonitor;
+class CSPEtelCallEventMonitor;
+class CSPEtelCallWaitingRequester;
+
+/**
+* Call class for CS Call Plug-in. Implements the API defined by CCP in classes
+* MCCPCall and MCCPCSCall
+*
+*  @lib csplugin.dll
+*/
+class CSPVoiceCall : public CSPCall,
+                     public MCCPEmergencyCall
+    {
+    
+    public:
+        /*
+        * Creates a new CSPVoiceCall object for MO or MT call.
+        * @param aName dialled number (MO) or call name (MT)
+        * @param aLine line for opening the call
+        * @param aMobileOriginated direction of call
+        * @param aParams call parameters
+        * @param aCommonInfo common info interface  
+        * @param aIsEmergency is emergency call
+        * @return pointer to created call object
+        */
+        static CSPVoiceCall* NewL( const TDesC& aName,
+                              RMobileLine& aLine,
+                              TBool aMobileOriginated,
+                              const CCCECallParameters& aParams,
+                              MCSPCommonInfo& aCommonInfo,
+                              TBool aIsEmergency );
+
+        /**
+        * C++ default destructor
+        */
+        virtual ~CSPVoiceCall();
+        
+        /**
+        * Goes one-to-one from conference.
+        * @return system wide error code        
+        */
+        TInt GoOneToOne();
+
+// from base class CSPCall        
+        
+        /**
+        * From MCCPCSCall
+        * Switch in the alternating call mode of an alternating call
+        * @return system wide error code
+        */
+        TInt SwitchAlternatingCall();
+        
+        /**
+        * From MCCPCall
+        * Answer call.
+        * @return system wide error code
+        */
+        TInt Answer();
+        
+        /**
+        * Ends an ongoing call.
+        * @return KErrNone If request was started succesfully.
+        * @return KErrAlreadyExists If call is already in idle state.
+        */
+        TInt HangUp();
+    
+        /**
+        * From MCCPCall
+        * Cancels the ongoing dial request
+        * @return system wide error code
+        */
+        TInt Cancel();
+        
+// from base class MCCPEmergencyCall
+        
+         /**
+        * Dials an emergency call.
+        * @param aRecipient Emergency call address suggested to be used.
+        * Can be given also in CConvergedCallProvider::NewEmergencyCallL.
+        * Plug-in will use given address and/or its own known one. 
+        * Preferred address usage order:
+        * 1) Plug-in own emergency address
+        * 2) Address given in Dial
+        * 3) Address given in CConvergedCallProvider::NewEmergencyCallL.
+        * @return KErrNone if request was started succesfully. 
+        * @return KErrNotReady If call is not in idle state.
+        * @return KErrNotSupported Emergency call is not supported.
+        */
+        TInt Dial( const TDesC& aEmergencyNumber);
+
+    protected:
+        
+        /*
+        * Voice call constructor.
+        * @param aLine open line ready for use
+        * @param aServiceId service ID
+        * @param aCallType type of call (voice/video/data/fax)
+        * @param aLineType primary/aux line type
+        * @param aMobileOriginated direction of call
+        * @param aName remote party or call name depending on direction
+        * @param aExtMoCall true in case of externally created MO call
+        * @param aIsEmergency is emergency call flag
+        * @param aBearer bearer capabilities for SAT
+        * @param aSubAddress sub adrress for SAT
+        * @param aOrigin call origin (i.e. SAT or Phone)
+        */
+        CSPVoiceCall( RMobileLine& aLine,  
+                 TBool aMobileOriginated,
+                 const TDesC& aName,
+                 MCSPCommonInfo& aCommonInfo,
+                 TBool aIsEmergency );
+                 
+        /*
+        * Constructing 2nd phase.
+        */
+        void ConstructL( const CCCECallParameters& aParams );
+
+        /** 
+        * Set default call parameters to be used in dial.
+        */
+        void SetDefaultCallParameters();
+
+        /**
+        * From CSPCall. 
+        * Starts dialing to recipient.
+        * Bypasses FDN check according to aFdnCheck.
+        * @param aFdnCheck True if FDN checking is used
+        * @return system wide error code
+        */
+        TInt DialFdnCond( TBool aFdnCheck );
+ 
+    protected: // Data
+        
+        /**
+        * Call parametrs.
+        */
+        RMobileCall::TMobileCallParamsV7 iCallParams;
+      
+        /**
+        * Package of call paremeters.
+        */
+        RMobileCall::TMobileCallParamsV7Pckg iCallParamsPckg;
+      
+        /**
+        * Stores the emergency number.
+        */
+        RMobileENStore::TEmergencyNumber iEmergencyNumber;
+        
+        friend class UT_CSPVoiceCall;
+        
+    };
+
+
+#endif // CSPVOICECALL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspaudiostreamobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+/*
+* 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:  Observer interface for getting information on audio streams.
+*
+*/
+
+
+#ifndef MCSPAUDIOSTREAMOBSERVER_H
+#define MCSPAUDIOSTREAMOBSERVER_H
+
+/**
+ *  Observer interface for getting information of audio streams.
+ *
+ */
+NONSHARABLE_CLASS( MCSPAudioStreamObserver )
+    {
+
+public:
+
+    /**
+     * Indication that audio streams has been started. 
+     *
+     */
+    virtual void AudioStreamsStarted() = 0;
+    
+    /**
+     * Indication that audio streams will be closed.
+     *
+     * Client can do operations affected to streams from this method,
+     * but after this method the streams will be closed.
+     *
+     */
+    virtual void AudioStreamsGoingToStop() = 0;
+
+    };
+
+
+#endif // MCSPAUDIOSTREAMOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspcalladdedobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,54 @@
+/*
+* 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:  Header file for MCSPCallAddedObserver class
+*
+*/
+
+
+
+#ifndef MCSPCALLADDEDOBSERVER_H
+#define MCSPCALLADDEDOBSERVER_H
+
+//INCLUDES
+#include <etelmm.h>
+
+#include "rcsplinecontainer.h"
+
+// CLASS DECLARATION
+
+/**
+*  Virtual interface for monitoring incoming call.
+*
+*  @since S60 3.2
+*/
+class MCSPCallAddedObserver
+    {
+    public:
+
+        /**
+        * Informs about added call.
+        * @since S60 3.2
+        * @param aLine the line that corresponds to the call
+        * @param aCallName the name of the call
+        */    
+        virtual void CallAdded( RMobileLine& aLine, 
+                                TName aCallName,
+                                RCSPLineContainer::TCSPLineId aLineId ) = 0;
+
+
+    };
+
+#endif // MINCOMINGCALLOBSERVER_H
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspcallcommandhandling.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,55 @@
+/*
+* 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:  Declarations for class mcspcallcommandhandling
+*
+*/
+
+
+
+#ifndef MCSPCALLCOMMANDHANDLING_H
+#define MCSPCALLCOMMANDHANDLING_H
+
+//  INCLUDES
+#include <e32std.h>
+
+class CSPCall;
+
+// CLASS DECLARATION
+
+
+/**
+*  Observer interface for call command handling
+*
+*/
+class MCCPCallCommandHandling
+    {
+    public:  // New functions
+
+        /**
+        * Perform answer command.
+        * @return system wide error code
+        */
+        virtual TInt PerformAnswerRequest() = 0;
+        
+        /**
+        * Perform dial command.
+        * @return system wide error code
+        */
+        virtual TInt PerformDialRequest() = 0;
+
+    };
+
+#endif // MCSPCALLCOMMANDHANDLING_H 
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspcallerrorobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,65 @@
+/*
+* 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:  Header file for MCSPCallErrorObserver class for 
+*                observing errors related to call requests, e.g. dialling.
+*
+*/
+
+
+
+#ifndef MCSPCALLERROROBSERVER_H
+#define MCSPCALLERROROBSERVER_H
+
+//INCLUDES
+#include <ccpdefs.h>
+
+
+
+// CLASS DECLARATION
+
+/**
+*  Interface for monitoring incoming call.
+*
+*  @since S60 3.2
+*/
+class MCSPCallErrorObserver
+    {
+    public:
+        
+        /**
+        * Informs about failed dial.
+        * @param aErrorCode
+        */
+        virtual void DialRequestFailed( TInt aErrorCode ) = 0;
+
+        /**
+        * Informs about failed emergency dial.
+        * @param aErrorCode
+        */
+        virtual void EmergencyDialRequestFailed( TInt aErrorCode ) = 0;
+        
+        /**
+        * Informs about erroneous request.
+        * @since S60 3.2
+        * @param aError request related to the error.
+        */    
+        virtual void NotifyErrorOccurred( TCCPError aErr ) = 0;
+
+
+
+    };
+
+#endif // MINCOMINGCALLOBSERVER_H
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspcallinformation.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+/*
+* 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:  Header file for MCSPCallInformation class
+*
+*/
+
+
+
+#ifndef MCSPCALLINFORMATION_H
+#define MCSPCALLINFORMATION_H
+
+//INCLUDES
+#include <etelmm.h>
+
+// FORWARD DECLARATIONS
+class CSPCall;
+
+// CLASS DECLARATION
+
+/**
+*  Interface for browsing calls.
+*
+*/
+class MCSPCallInformation
+    {
+    public:
+
+        /**
+        * Finds call based on the name.
+        * @param aCallName call name (etel)
+        * @return call object or NULL if not found.
+        */
+        virtual CSPCall* FindCall( const TName& aCallName ) = 0;
+
+    };
+
+#endif // MINCOMINGCALLOBSERVER_H
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspcallobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,104 @@
+/*
+* 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:  Header file for MCSPCallObserver class for 
+*                observing errors related to call requests, e.g. dialling.
+*
+*/
+
+
+
+#ifndef MCSPCALLOBSERVER_H
+#define MCSPCALLOBSERVER_H
+
+//INCLUDES
+#include <etelmm.h>
+
+#include <mccpcallobserver.h>
+#include <mccptransferobserver.h>
+#include <mccpforwardobserver.h>
+#include <mccpconferencecallobserver.h>
+
+
+
+// CLASS DECLARATION
+
+/**
+*  Interface for monitoring incoming call.
+*
+*  @since S60 3.2
+*/
+class MCSPCallObserver
+    {
+    public:
+
+        /**
+        * Informs about occurred event.
+        * @since S60 3.2
+        * @param aEvent occurred event
+        */    
+        virtual void NotifyCallEventOccurred( 
+                        MCCPCallObserver::TCCPCallEvent aEvent ) = 0;
+
+        /**
+        * Updates the state change and forwards the state for observer.
+        * @param aState new state (ETel) of the call 
+        */
+        virtual void NotifyCallStateChangedETel( 
+            RMobileCall::TMobileCallStatus aState ) = 0;
+
+        /**
+        * Informs about changed state that includes inband tones.
+        * @since S60 3.2
+        * @param aState the new state 
+        */    
+        virtual void NotifyCallStateChangedWithInband( 
+                        MCCPCallObserver::TCCPCallState aState ) = 0;
+
+        /**
+        * Informs about occurred transfer related event.
+        * @since S60 3.2
+        * @param aEvent occurred transfer event
+        */    
+        virtual void NotifyTransferCallEventOccurred( 
+                        const MCCPTransferObserver::TCCPTransferEvent aEvent ) = 0;
+
+                        
+        /**
+        * Updates the call event for observers.
+        * @param aEvent the event to be notified
+        */
+        virtual void NotifyForwardEventOccurred( 
+                        MCCPForwardObserver::TCCPForwardEvent aEvent ) = 0;
+                        
+                        
+        /**
+        * Updates changed call capability information.
+        * @param aCapsFlags new caps flags
+        */
+        virtual void CallCapsChanged( const TUint32 aCapsFlags ) = 0;
+        
+        /**
+        * Notify that remote party info has changed.
+        * @param aRemoteParty new remote party information
+        * 
+        */
+        virtual void NotifyRemotePartyInfoChanged( 
+            const TDesC& aRemoteParty) = 0;
+
+        
+    };
+
+#endif // MINCOMINGCALLOBSERVER_H
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspcenrepobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+/*
+* 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:  Declarations for class MCSPCenRepObserver
+*
+*/
+
+
+
+#ifndef MCSPCENREPOBSERVER_H
+#define MCSPCENREPOBSERVER_H
+
+//  INCLUDES
+#include <e32std.h>
+
+// CLASS DECLARATION
+
+/**
+*  Observer interface for indicating P&S changes
+*
+*/
+class MCSPCenRepObserver
+    {
+    public:  // New functions
+
+        /**
+        * Handler for changed event.
+        * @param aUid uid of setting 
+        * @param aKey the changed key
+        * @param aVal value
+        */
+        virtual void HandleNotifyCenRepL( const TUid aUid, 
+                                          const TUint32 aKey, 
+                                          TInt aVal) = 0;
+    };
+
+#endif      // MCSPCENREPOBSERVER_H   
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspcommoninfo.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,156 @@
+/*
+* 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:  Declarations for class MCSPCommonInfo
+*
+*/
+
+
+
+#ifndef MCSPCOMMONINFO_H
+#define MCSPCOMMONINFO_H
+
+//  INCLUDES
+#include <e32std.h>
+#include <etelmm.h> // for ciphering status
+#include <rmmcustomapi.h>
+#include <mccpcall.h> // For CCCPCallParameters
+#include <mccecall.h>
+
+
+class CSPCall;
+class MCCPCallCommandHandling;
+class MCCPCSCall;
+
+// CLASS DECLARATION
+
+
+/**
+*  Observer interface for indicating P&S changes
+*
+*/
+class MCSPCommonInfo
+    {
+    public:  // New functions
+
+        /**
+        * Makes the request. Note that ERequestTypeDial is made with a 
+        * separate MakeDialRequest function.
+        *
+        * @param aRequest type of request
+        * @return ETrue if active, EFalse if not
+        */
+        virtual void GetCallWaitingL( const CCCECallParameters& iParams,
+                              TBool& aCallWaitingStatus ) = 0;
+                              
+        /**
+        * Diagnostic error fetching.
+        * @param aCallName name of call
+        * @return diagnostic error code
+        */
+        virtual TInt GetDiagnosticError( TName& aCallName ) = 0;
+       
+
+        /**
+        * Network security status.
+        * @since Series60_4.0
+        * @return true if calls use secured connection
+        */
+        virtual TBool NetworkSecurityStatus() const = 0;
+        
+        
+        /**
+        * Remote alerting tone playing status. 
+        * @return tone status (tone type/not played)
+        */
+        virtual RMmCustomAPI::TRemoteAlertingToneStatus GetRemoteAlertingToneStatus() = 0;
+        
+        /**
+         * Initializes with current settings.
+         * @param aParams call params 
+         */
+        virtual void InitializeCallParameters( RMobileCall::TMobileCallParamsV7& aParams ) = 0;
+
+        /**
+         * Initializes with current settings.
+         * @param aParams call params 
+         */
+        virtual void InitializeDataCallParameters( 
+                RMobileCall::TMobileHscsdCallParamsV1& aParams ) = 0;
+        
+        /**
+        * Indicates that client call has been created.
+        * @param aCall client call pointer
+        */
+        virtual void IndicateClientCall( MCCPCSCall* aCall ) = 0;
+        
+        /**
+        * Indicates incoming call.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        virtual TInt IndicateIncomingCall( MCCPCSCall* aCall ) = 0;
+        
+        /**
+        * Notify data port name of a loaned data port.
+        * @param aDataPort
+        */
+        virtual void NotifyDataPortName( TName& aDataPortName ) = 0;
+        
+        /**
+        * Indicates active hangup command.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        virtual TInt IndicateActiveHangup( MCCPCallCommandHandling& aCall ) = 0;
+        
+        /**
+        * Indicates hangup command complete.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        virtual TInt IndicateHangupComplete( MCCPCallCommandHandling& aCall ) = 0;
+        
+        /**
+        * Indicates dial command.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        virtual TInt IndicateDialRequest( MCCPCallCommandHandling& aCall ) = 0;
+        
+        /**
+        * Indicates answer command.
+        * @param aCall MT call
+        * @return system wide error code
+        */
+        virtual TInt IndicateAnswerRequest( MCCPCallCommandHandling& aCall ) = 0;
+
+        /**
+        * Secure specified status.
+        * @since Series60_5.0
+        * @return ETrue if specified 
+        */
+        virtual TBool SecureSpecified() const = 0;
+        
+        /**
+        * Don't report termination error
+        * @since Series60_5.0
+        * @return system wide error code
+        */
+        virtual TInt DontReportTerminationError() = 0;
+        
+    };
+
+#endif      // MCSPCOMMONINFO_H   
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspconferencestatusobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,55 @@
+/*
+* 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:  Header file for MCSPConferenceStatusObserver class
+*
+*/
+
+
+
+#ifndef MCSPCONFERENCESTATUSOBSERVER_H
+#define MCSPCONFERENCESTATUSOBSERVER_H
+
+
+// CLASS DECLARATION
+
+/**
+*  Virtual interface for monitoring conference status.
+*
+*  @since S60 5.0 
+*/
+NONSHARABLE_CLASS(MCSPConferenceStatusObserver)
+    {
+    public:
+
+        /* Security setting event value */  
+        enum TCSPConferenceState
+            {
+            /** The conference call is in the idle state. */
+            ECSPConferenceIdle,
+            /** The conference call is in the active, connected state. */
+            ECSPConferenceActive,
+            /** The conference call is in the held, connected state. */
+            ECSPConferenceHold,
+            };
+        
+        /**
+        * Informs conference call state change.
+        * @since S60 5.0 
+        */    
+        virtual void NotifyStateChange(
+                MCSPConferenceStatusObserver::TCSPConferenceState aStatus ) = 0;
+
+    };
+
+#endif // MCSPCONFERENCESTATUSOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspdevsoundobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,59 @@
+/*
+* 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:  Observer for audio stream start up.
+*
+*/
+
+
+#ifndef MCSPDEVSOUNDOBSERVER_H
+#define MCSPDEVSOUNDOBSERVER_H
+
+/**
+ *  Observer interface for knowing when audio streams have been
+ *  successfully ramped up.
+ *
+ */
+class MCSPDevSoundObserver
+    {
+
+public:
+
+    /**
+     * Notification that Mic has been activated successfully
+     *     
+     */
+    virtual void MicActivatedSuccessfully() = 0;
+    
+    /**
+     * Notification that speaker has been activated successfully
+     *
+     */   
+    virtual void SpeakerActivatedSuccessfully() = 0;
+    
+    /**
+     * Notification that Mic initialisation failed.
+     *
+     */
+    virtual void MicActivationFailed() = 0;
+    
+    /**
+     * Notification that Speaker activation failed.
+     *
+     */
+    virtual void SpeakerActivationFailed() = 0;
+
+    };
+
+
+#endif // MCSPDEVSOUNDOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspincomingcallobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,54 @@
+/*
+* 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:  Header file for MCSPIncomingCallObserver class
+*
+*/
+
+
+
+#ifndef MCSPINCOMINGCALLOBSERVER_H
+#define MCSPINCOMINGCALLOBSERVER_H
+
+//INCLUDES
+#include <etelmm.h>
+
+#include "rcsplinecontainer.h"
+
+// CLASS DECLARATION
+
+/**
+*  Virtual interface for monitoring incoming call.
+*
+*  @since S60 3.2
+*/
+class MCSPIncomingCallObserver
+    {
+    public:
+
+        /**
+        * Informs incoming call.
+        * @since S60 3.2
+        * @param aLine the line that corresponds to the call
+        * @param aCallName the name of the call
+        */    
+        virtual void IncomingCallArrived( RMobileLine& aLine, 
+                                  TName aCallName,
+                                  RCSPLineContainer::TCSPLineId aLineId ) = 0;
+
+
+    };
+
+#endif // MINCOMINGCALLOBSERVER_H
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcsplinestatusobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,53 @@
+/*
+* 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:  Header file for MCSPLineStatusObserver class
+*
+*/
+
+
+
+#ifndef MCSPLINESTATUSOBSERVER_H
+#define MCSPLINESTATUSOBSERVER_H
+
+//INCLUDES
+#include <etelmm.h>
+#include "rcsplinecontainer.h"
+
+// CLASS DECLARATION
+
+/**
+*  Virtual interface for monitoring line status changes.
+*
+*  @since S60 5.0
+*/
+NONSHARABLE_CLASS(MCSPLineStatusObserver)
+    {
+    public:
+
+        /**
+        * Informs about line status changes.
+        * @since S60 5.0
+        * @param aLine the line that is monitored for events
+        * @param aLineId the line id 
+        * @param aCallStatus the line status
+        */    
+        virtual void LineStatusChanged( RMobileLine& aLine,
+                RCSPLineContainer::TCSPLineId aLineId, 
+                RMobileCall::TMobileCallStatus& aCallStatus ) = 0;
+
+    };
+
+#endif // MCSPLINESTATUSOBSERVER_H
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcsppubsubobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+/*
+* 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:  Declarations for class MCSPPubSubObserver
+*
+*/
+
+
+
+#ifndef MCSPPUBSUBOBSERVER_H
+#define MCSPPUBSUBOBSERVER_H
+
+//  INCLUDES
+#include <e32std.h>
+
+// CLASS DECLARATION
+
+/**
+*  Observer interface for indicating P&S changes
+*
+*/
+class MCSPPubSubObserver
+    {
+    public:  // New functions
+
+        /**
+        * Handler for changed event.
+        * @param aUid uid of setting 
+        * @param aKey id of setting
+        * @param aStatus status of completed AO operation
+        */
+        virtual void HandleNotifyPSL( const TUid aUid, const TInt& aKey, 
+            const TRequestStatus& aStatus ) = 0;
+    };
+
+#endif      // MCSPPUBSUBOBSERVER_H   
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspremotealertingtoneobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+/*
+* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Observer for remote alerting tone change.
+*
+*/
+
+
+#ifndef MCSPREMOTEALERTINGTONEOBSERVER_H
+#define MCSPREMOTEALERTINGTONEOBSERVER_H
+
+#include <e32std.h>
+#include <rmmcustomapi.h>
+
+/**
+ *  Observer for remote alerting tone status changes.
+ *
+ *  @lib CSPlugin
+ *  @since S60 v5.0
+ */
+NONSHARABLE_CLASS( MCSPRemoteAlertingToneObserver )
+    {
+
+public:
+
+    /**
+     * Notification of remote alerting tone status change.
+     *
+     * @since S60 v5.0
+     * @param aNewStatus New remote alerting tone status. 
+     */
+    virtual void RemoteAlertingToneStatusChanged( 
+        RMmCustomAPI::TRemoteAlertingToneStatus aNewStatus ) = 0;
+
+    };
+
+
+#endif // MCSPREMOTEALERTINGTONEOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspsecuritysettingobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Interface for observing security setting.
+*
+*/
+
+
+
+#ifndef MCSPSECURITYSETTINGOBSERVER_H_
+#define MCSPSECURITYSETTINGOBSERVER_H_
+
+/**
+*  Virtual interface for monitoring call ownership.
+*
+*  @since S60 3.2
+*/
+class MCSPSecuritySettingObserver
+    {
+    public:  
+
+        /* Security setting event value */  
+        enum TCSPSecuritySettingEvent
+            {
+            ESecureCall,
+            ENotSecureCall,    
+            ESecureNotSpecified
+            };
+
+    public:  
+
+        /**
+        * SecuritySettingChanged.
+        * @param aValue
+        * @since S60 3.2
+        */
+        virtual void SecuritySettingChanged( TInt aValue ) = 0;
+
+    };
+
+#endif /*MCSPSECURITYSETTINGOBSERVER_H_*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcsptimerobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* 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:  Observer interface for getting notifes from CSPTimer
+*
+*/
+
+
+#ifndef MCSPTIMEROBSERVER_H
+#define MCSPTIMEROBSERVER_H
+
+/**
+ *  Observer for CSPTimer events.
+ *
+ */
+class MCSPTimerObserver
+    {
+
+public:
+
+    /**
+     * Timer request has completed.
+     *
+     * @since S60 v3.1
+     */
+    virtual void TimerEvent() = 0;
+
+    };
+
+
+#endif // MCSPTIMEROBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/mcspuusmessageobserver.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,46 @@
+/*
+* 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:  Header file for MCSPUUSMessageObserver class
+*
+*/
+
+
+
+#ifndef MCSPUUSMESSAGEOBSERVER_H
+#define MCSPUUSMESSAGEOBSERVER_H
+
+//INCLUDES
+  
+// CLASS DECLARATION
+
+/**
+*  Observer interface for indicating User to User Signalling
+*
+*  @since S60 3.2
+*/
+class MCSPUUSMessageObserver
+    {
+    public:
+
+        /**
+        * Informs UUS message
+        * @since S60 3.2
+        * @param aMessage
+        */    
+        virtual void UUSMessageReceived( TDesC& aMessage ) = 0;
+    };
+
+#endif // MCSPUUSMESSAGEOBSERVER_H
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/rcsplinecontainer.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2002-2003 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Encapsulates all of the lines required by the CS Plugin.
+*
+*/
+
+
+#ifndef RCSPLINECONTAINER_H
+#define RCSPLINECONTAINER_H
+
+// INCLUDES
+
+#include    <etelmm.h>         // ETel
+#include    <mccpcscall.h>
+#include    <mccecall.h>
+
+//  CLASS DEFINITIONS 
+
+/**
+*  Encapsulates all of the lines required by the phone
+*  engine.
+*
+*  @lib phoneengine.lib
+*  @since 1.2
+*/
+NONSHARABLE_CLASS(RCSPLineContainer)
+    {
+    public:
+    
+    enum TCSPLineId {
+        ECSPLineSpeech = 0,
+        ECSPLineAuxSpeech,
+        ECSPLineData,
+        ECSPLineFax
+    };
+    
+    public: // Constructors
+
+        // Default c++ constructor
+        RCSPLineContainer();
+
+    public: // new functions
+        /**
+        * Open voice, aux, data and fax lines. 
+        * @since 3.2
+        * @param aPhone open lines on this phone
+        * @return Returns an error only if the primary 
+        *         line cannot be opened, otherwise KErrNone.
+        */
+        TInt Open( RMobilePhone& aPhone,
+                   TUint32 aServiceId );
+
+
+        /**
+        * @since 3.2
+        * Close the lines. Frees all resources owned by
+        * this container.
+        */
+        void Close();
+
+        /**
+        * Access a specific line
+        * @since 1.2
+        * @param aLine The type of line to return
+        * @returns The line specified
+        */
+        RMobileLine& LineByType( TCSPLineId aLine );
+
+        /**
+        * Returns whether the specified line is open
+        * @since 3.2
+        * @param aLine line to check
+        * @return ETrue if specified line is open.
+        */
+        TBool LineIsOpen( TCSPLineId aLine );
+        
+        /**
+        * Resolve call information.
+        * @param aLineId line id (input)
+        * @param aServiceId service id (output)
+        * @param aCallType call type (output)
+        * @param aLineType line type (output)
+        */
+        TInt ResolveCallInfo( RCSPLineContainer::TCSPLineId aLineId, 
+                              TUint32& aServiceId,
+                              CCPCall::TCallType& aCallType,
+                              CCCECallParameters::TCCELineType& aLineType ) const;
+
+        /**
+        * Resolves line id based on call parameters.
+        * @param aCallParameters
+        * @return line id
+        */
+        RCSPLineContainer::TCSPLineId ResolveLineIdL( 
+                    const CCCECallParameters& aCallParameters ) const;
+
+
+    private:
+
+        // Prohibit copy constructor if not deriving from CBase.
+        RCSPLineContainer( RCSPLineContainer& );
+        // Prohibit assigment operator if not deriving from CBase.
+        RCSPLineContainer& operator=( const RCSPLineContainer& );
+
+    private:
+        RMobileLine iPrimaryLine;
+        RMobileLine iAls2Line;
+        RMobileLine iDataLine;
+        RMobileLine iFaxLine;
+        
+        TUint32 iServiceId;
+    };
+
+#endif // RCSPLINECONTAINER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/inc/tcspskypeidparser.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,61 @@
+/*
+* 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:  Parses Skype id from UUI message.
+*
+*/
+
+
+#ifndef TCSPSKYPEIDPARSER_H
+#define TCSPSKYPEIDPARSER_H
+
+#include <e32std.h>
+
+/**
+ *  Skype id parser.
+ *
+ *  @lib phoneengine.lib
+ *  @since S60 v3.2
+ */
+class TCSPSkypeIdParser 
+    {
+public:
+
+    TCSPSkypeIdParser();
+    
+    /**
+     * Creates right size buffer to be used with parse method.
+     * 
+     * @since S60 v3.2
+     * @return Buffer. Ownership given to caller.
+     */
+    static HBufC* CreateSkypeIdBufferL();
+    
+
+    /**
+     * Parses Skype if from UUI message.
+     *
+     * @since S60 v3.2
+     * @param aUUIMessage Message.
+     * @param aSkypeId Parser skype id is appended here.
+     * @return Error code. KErrNotSupported if data is not understood by
+     * parser.
+     */
+    TInt Parse( const TDesC& aUUIMessage, TDes& aSkypeId );
+    
+
+private: // data
+
+    };
+
+#endif // CSPSKYPEIDPARSER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/rom/csplugin.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Image description file for project ?myapp
+*
+*/
+
+
+#ifndef CSPLUGIN_IBY
+#define CSPLUGIN_IBY
+
+ECOM_PLUGIN( csplugin.dll, 102828E3.rsc )
+data=ZSYSTEM\install\csplugin_stub.sis    System\Install\csplugin_stub.sis
+
+#endif // CSPLUGIN_IBY
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspaudiohandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,283 @@
+/*
+* 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:  Implements the class CSPAudioHandler
+*
+*/
+
+
+#include "cspaudiohandler.h"
+
+#include <telmicmutestatuspskeys.h>
+#include <telincallvolcntrlcrkeys.h>
+#include <PSVariables.h>
+#include <AudioPreference.h>
+
+#include "cspaudiostreams.h"
+#include "csppubsublistener.h"
+#include "cspcenreplistener.h"
+#include "csplogger.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPAudioHandler::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPAudioHandler* CSPAudioHandler::NewL(  )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPAudioHandler::NewL()" );
+    CSPAudioHandler* self = new ( ELeave ) CSPAudioHandler(  );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPAudioHandler::~CSPAudioHandler( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPAudioHandler::~CSPAudioHandler()" );
+    delete iMuteListener;
+    delete iIncallLoudspeakerVolumeListener;
+    delete iIncallEarVolumeListener;
+    delete iAudioStreams;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPAudioHandler::Start
+// ---------------------------------------------------------------------------
+//
+void CSPAudioHandler::Start()
+    {
+    iCallCount++;
+    CSPLOGSTRING2( CSPINT, "CSPAudioHandler::Start callcount: %d", iCallCount );
+
+    if ( iCallCount == 1 )
+        {
+        iAudioStreams->StartStreams();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSPAudioHandler::Stop
+// ---------------------------------------------------------------------------
+//
+void CSPAudioHandler::Stop()
+    {
+    CSPLOGSTRING2( CSPINT, "CSPAudioHandler::Stop callcount: %d", iCallCount );
+    if ( iCallCount == 1 )
+        {
+        iAudioStreams->StopStreams();
+        iCallCount--;
+        }
+    else if ( iCallCount > 1 )
+        {
+        iCallCount--;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From MCSPPubSubObserver
+// CSPAudioHandler::HandleNotifyPSL
+// ---------------------------------------------------------------------------
+//
+void CSPAudioHandler::HandleNotifyPSL( const TUid /*aUid*/, const TInt& /*aKey*/, 
+            const TRequestStatus& /*aStatus*/ )
+    {
+    TInt muteVal;
+    TInt err = iMuteListener->Get( muteVal );
+    if (  err == KErrNone && muteVal == EPSTelMicMuteOn )
+        {
+        CSPLOGSTRING2( CSPINT, 
+            "CSPAudioHandler::HandleNotifyPSL_MUTE %d", muteVal);   
+        #if !defined(__WINSCW__) 
+        iAudioStreams->SetMuted();
+        #endif //__WINSCW__
+        }
+    else if ( err == KErrNone )
+        {
+        CSPLOGSTRING2( CSPINT, 
+            "CSPAudioHandler::HandleNotifyPSL_UNMUTE %d", muteVal);
+        #if !defined(__WINSCW__) 
+        // Change when gain is really changed
+        iAudioStreams->SetUnmuted();
+        #endif //__WINSCW__
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// From MCSPCenRepObserver
+// CSPAudioHandler::HandleNotifyCenRepL
+// ---------------------------------------------------------------------------
+//
+void CSPAudioHandler::HandleNotifyCenRepL( const TUid /*aUid*/, 
+                        const TUint32 aKey, 
+                        TInt aVal )
+    {
+    if ( aKey == KTelIncallLoudspeakerVolume )
+        {
+        CSPLOGSTRING( CSPINT, "CSPAudioHandler::HandleNotifyCenRepL IncallLoudspeaker" );
+        iAudioStreams->VolumeChangedLoudspeaker( aVal );
+        }
+    else if ( aKey == KTelIncallEarVolume )
+        {
+        CSPLOGSTRING( CSPINT, "CSPAudioHandler::HandleNotifyCenRepL IncallEar" );
+        iAudioStreams->VolumeChangedEar( aVal );
+        }
+    else
+        {
+        CSPLOGSTRING( CSPINT, "CSPAudioHandler::HandleNotifyCenRepL  UNKNOWN" );
+        }   
+    }
+
+// ---------------------------------------------------------
+// CSPAudioHandler::InitializeComplete
+//
+// Handles DevSound initialisation callback
+// ---------------------------------------------------------
+//
+void CSPAudioHandler::InitializeComplete( TInt aError )
+    {
+    if ( KErrNone != aError )
+        {
+        // If initialisation failed, volume can not be adjusted
+        CSPLOGSTRING2( CSPERROR, 
+           "CSPAudioHandler::InitializeComplete Error:%d", aError );
+        }
+    else
+        {
+        CSPLOGSTRING( CSPINT, 
+           "CSPAudioHandler::InitializeComplete");        
+        }
+    }
+    
+// ---------------------------------------------------------
+// CSPAudioHandler::BufferToBeFilled
+// ---------------------------------------------------------
+//
+void CSPAudioHandler::BufferToBeFilled( CMMFBuffer* /*aBuffer*/ )
+    {
+    }
+    
+// ---------------------------------------------------------
+// CSPAudioHandler::BufferToBeEmptied()
+// Not supported
+// ---------------------------------------------------------
+//
+void CSPAudioHandler::BufferToBeEmptied( CMMFBuffer* /*aBuffer*/ )
+    {
+    }
+
+// ---------------------------------------------------------
+// CSPAudioHandler::PlayError
+// Not supported
+// ---------------------------------------------------------
+//    
+void CSPAudioHandler::PlayError( TInt /*aError*/ )
+    {       
+    }
+    
+// ---------------------------------------------------------
+// CSPAudioHandler::RecordError
+// Not supported
+// ---------------------------------------------------------
+//
+void CSPAudioHandler::RecordError( TInt /*aError*/ )
+    {
+    }
+    
+// ---------------------------------------------------------
+// CSPAudioHandler::ConvertError
+// Not supported
+// ---------------------------------------------------------
+// 
+void CSPAudioHandler::ConvertError( TInt /*aError*/ )
+    {
+    }
+
+// ---------------------------------------------------------
+// CSPAudioHandler::DeviceMessage
+// Not supported
+// ---------------------------------------------------------
+//
+void CSPAudioHandler::DeviceMessage( TUid /*aMessageType*/, const TDesC8& /*aMsg*/ )
+    { 
+    }
+    
+// ---------------------------------------------------------
+// CSPAudioHandler::ToneFinished
+// Not supported
+// ---------------------------------------------------------
+//   
+void CSPAudioHandler::ToneFinished( TInt /*aError*/ ) 
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPAudioHandler::CSPAudioHandler( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPAudioHandler::CSPAudioHandler()" );
+    iCallCount = 0; // Active calls count
+    }
+    
+// ---------------------------------------------------------------------------
+// Second phase construction.
+// ---------------------------------------------------------------------------
+//
+void CSPAudioHandler::ConstructL()
+    {
+    RProperty::TType type( RProperty::EInt );
+    TSecurityPolicy readPolicy( ECapability_None );
+    TSecurityPolicy writePolicy( ECapabilityWriteDeviceData );
+    
+    RProperty::Define( KPSUidTelMicrophoneMuteStatus, 
+        KTelMicrophoneMuteState,
+        type,
+        readPolicy,
+        writePolicy );
+    
+    iMuteListener = CSPPubSubListener::NewL( 
+        KPSUidTelMicrophoneMuteStatus, 
+        KTelMicrophoneMuteState, 
+        this );
+        
+    iIncallLoudspeakerVolumeListener = CSPCenRepListener::NewL( KCRUidInCallVolume,
+                         KTelIncallLoudspeakerVolume, this );
+    
+    iIncallEarVolumeListener = CSPCenRepListener::NewL( KCRUidInCallVolume,
+                        KTelIncallEarVolume, this );
+    
+    iAudioStreams = CSPAudioStreams::NewL();
+
+    // Initialize audio volumes
+    TInt volEar;
+    TInt volLoud;
+    
+    TInt volGetRes = iIncallEarVolumeListener->Get( volEar );
+    CSPLOGSTRING3(CSPINT, "CSPAudioHandler::ConstructL() ear     %d %d", volGetRes, volEar );
+    volGetRes = iIncallLoudspeakerVolumeListener->Get( volLoud );
+    CSPLOGSTRING3(CSPINT, "CSPAudioHandler::ConstructL() loudspkr %d %d", volGetRes, volLoud );    
+    
+    iAudioStreams->StoreVolumes( volEar, volLoud );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspaudiostreams.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,419 @@
+/*
+* 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:  Starts and stops audio streams.
+*
+*/
+
+
+#include "cspaudiostreams.h"
+#include "cspmicrophone.h"
+#include "cspspeaker.h"
+#include "csplogger.h"
+#include "mcspaudiostreamobserver.h"
+#include "csptimer.h"
+
+#include <TelephonyAudioRouting.h>
+
+/**
+* Timeout initial value.
+*/
+const TInt KTimeoutInitial = 200000; // 0.2s
+
+/**
+* Double the timeout for every retry.
+*/
+const TInt KTimeoutMultiplier = 2;
+
+// ======== MEMBER FUNCTIONS ========
+   
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CSPAudioStreams* CSPAudioStreams::NewL( )
+    {
+    CSPAudioStreams* self = 
+        CSPAudioStreams::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CSPAudioStreams* CSPAudioStreams::NewLC(  )
+    {
+    CSPAudioStreams* self = new( ELeave ) CSPAudioStreams( );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSPAudioStreams::~CSPAudioStreams()
+    {
+    if (iTimer)
+        {
+        iTimer->CancelNotify();    
+        delete iTimer;
+        }
+    
+    delete iSpeaker;
+    delete iMic;
+    delete iAudioRouting;
+    }
+
+// ---------------------------------------------------------------------------
+// Sets observer for audio stream.
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::SetAudioStreamObserver( 
+    MCSPAudioStreamObserver& aObserver )
+    {
+    iStreamObserver = &aObserver;
+    }
+    
+// ---------------------------------------------------------------------------
+// Gives access to mic
+// ---------------------------------------------------------------------------
+//
+CSPMicrophone& CSPAudioStreams::Mic() const
+    {
+    return *iMic;
+    }
+
+// ---------------------------------------------------------------------------
+// Gives access to speaker
+// ---------------------------------------------------------------------------
+//
+CSPSpeaker& CSPAudioStreams::Speaker() const
+    {
+    return *iSpeaker;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCSPAudioStream
+// Activates mic and speaker.
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::StartStreams() 
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::StartStreams");
+    
+    if( !IsMicAndSpeakerStarted() )    
+        {
+        StartMicAndSpeaker(); 
+        
+        if( iStreamObserver )
+            {
+            iStreamObserver->AudioStreamsStarted();
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCSPAudioStream
+// Deactivates mic and speaker if the streams are active or they are 
+// activating. 
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::StopStreams() 
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::StopStreams");
+    
+    if( IsMicAndSpeakerStarted() )
+        {
+            CSPLOGSTRING(CSPINT, "CSPAudioStreams::StopStreams Stopping");
+        iTimer->CancelNotify(); 
+        iTimeout = KTimeoutInitial;
+        if( iStreamObserver ) 
+            {
+            iStreamObserver->AudioStreamsGoingToStop();
+            }
+        iMic->Deactivate();
+        iSpeaker->Deactivate();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSPAudioStreams::VolumeChangedEar
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::VolumeChangedEar(TInt aVolume)
+    {
+    CSPLOGSTRING2(CSPINT, "CSPAudioStreams::SetVolume %d", aVolume);
+    iVolumeEar = aVolume;
+    iSpeaker->SetVolume( aVolume );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPAudioStreams::VolumeChangedLoudspeaker
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::VolumeChangedLoudspeaker(TInt aVolume)
+    {
+    CSPLOGSTRING2(CSPINT, "CSPAudioStreams::SetVolume %d", aVolume);
+    iVolumeLoudspeaker = aVolume;
+    iSpeaker->SetVolume( aVolume );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPAudioStreams::StoreVolumes
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::StoreVolumes(TInt aVolumeEar, TInt aVolumeLoudspeaker )
+    {
+    iVolumeEar = aVolumeEar;
+    iVolumeLoudspeaker = aVolumeLoudspeaker;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPAudioStreams::ApplyVolume
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::ApplyVolume(TInt aVolumeEar, TInt aVolumeLoudspeaker )
+    {
+    CTelephonyAudioRouting::TAudioOutput current = iAudioRouting->Output();
+    if ( current == CTelephonyAudioRouting::ELoudspeaker )
+        {
+        CSPLOGSTRING( CSPINT, "CSPAudioStreams::ApplyVolume Loudspeaker Active: SetVolume" );
+        iSpeaker->SetVolume( aVolumeLoudspeaker );
+        }
+        // else: ear volume should be used
+     else if ( current == CTelephonyAudioRouting::EHandset )
+        {
+        CSPLOGSTRING( CSPINT, "CSPAudioStreams::ApplyVolume Ear Active: SetVolume" );
+        iSpeaker->SetVolume( aVolumeEar );
+        }
+    else
+        {
+        CSPLOGSTRING2( CSPINT, "CSPAudioStreams::ApplyVolume UNKNOWN AUDIO OUTPUT MODE %d", current );
+        // No volume setting
+        iSpeaker->SetVolume( aVolumeEar );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSPAudioStreams::SetMuted
+// ---------------------------------------------------------------------------
+//  
+void CSPAudioStreams::SetMuted() 
+    {
+    iMic->SetMuted();
+    }
+
+// ---------------------------------------------------------------------------
+// CSPAudioStreams::SetUnmuted
+// ---------------------------------------------------------------------------
+//  
+void CSPAudioStreams::SetUnmuted() 
+    {
+    iMic->SetUnmuted();
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCSPAudioStreamObserver
+// If speaker is already active then the streams are active.
+// If speker is not active and it is not activating then speaker then
+// activation has failed and start retry timer.
+// ---------------------------------------------------------------------------
+//   
+void CSPAudioStreams::MicActivatedSuccessfully()
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::MicActivatedSuccessfully" );
+    if( iSpeaker->IsActive() )
+        {
+        // Mic and speaker are active.
+        AudioStreamsStarted();
+        }
+    else if( !iSpeaker->IsActivationOngoing() ) 
+        {
+        // Start retry timer for activating speaker again
+        StartTimer();
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCSPAudioStreamObserver
+// If mic is already active then streams are active.
+// If mic is not active and it is not activating then mic activation has
+// failed and start retry timer.
+// ---------------------------------------------------------------------------
+//   
+void CSPAudioStreams::SpeakerActivatedSuccessfully()
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::SpeakerActivatedSuccessfully" );
+    if( iMic->IsActive() ) 
+        {
+        // Mic and speaker are active.
+        AudioStreamsStarted();
+        }
+    else if( !iMic->IsActivationOngoing() ) 
+        {
+        // Start retry timer for activating mic again.
+        StartTimer();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCSPAudioStreamObserver
+// Starts timer for trying activation again.
+// ---------------------------------------------------------------------------
+//    
+void CSPAudioStreams::MicActivationFailed()
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::MicActivationFailed" );
+   
+    // Dont start timer until speaker has stopped activation.
+    if( !iSpeaker->IsActivationOngoing() ) 
+        {
+        StartTimer();
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCSPAudioStreamObserver
+// Starts timer for trying activation again.
+// ---------------------------------------------------------------------------
+// 
+void CSPAudioStreams::SpeakerActivationFailed()
+    {
+    CSPLOGSTRING(CSPINT, "PE.AudioStreams::SpeakerActivationFailed" );
+    
+    // Dont start timer until mic has stopped activation.
+    if( !iMic->IsActivationOngoing() )
+        {
+        StartTimer();
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCSPTimerObserver
+// Notify from CSPTimer that timeout passed. Try to start mic and
+// speaker again.
+// ---------------------------------------------------------------------------
+// 
+void CSPAudioStreams::TimerEvent()
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams.TimerEvent" );
+    iTimeout *= KTimeoutMultiplier;
+    StartMicAndSpeaker();
+    }
+
+// -----------------------------------------------------------------------------
+// CTSEAudioRouteObserver::AvailableOutputsChanged
+// -----------------------------------------------------------------------------
+//
+void CSPAudioStreams::AvailableOutputsChanged( 
+        CTelephonyAudioRouting& /*aTelephonyAudioRouting*/ )
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::AvailableOutputsChanged" );
+    }
+    
+// -----------------------------------------------------------------------------
+// CTSEAudioRouteObserver::OutputChanged
+// -----------------------------------------------------------------------------
+//
+void CSPAudioStreams::OutputChanged( 
+        CTelephonyAudioRouting& /*aTelephonyAudioRouting*/ )
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::OutputChanged" );
+    ApplyVolume(iVolumeEar, iVolumeLoudspeaker);
+    }
+
+// -----------------------------------------------------------------------------
+// CSPAudioStreams::SetOutputComplete
+// -----------------------------------------------------------------------------
+//
+void CSPAudioStreams::SetOutputComplete( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/,
+                                         TInt /*aError*/ )
+   {
+   }  
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSPAudioStreams::CSPAudioStreams( ): iTimeout(KTimeoutInitial)
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Second phase constructor
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::ConstructL( )
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::ConstructL");
+
+    iTimer = CSPTimer::NewL();
+    iMic = CSPMicrophone::NewL( *this );
+    iSpeaker = CSPSpeaker::NewL( *this );
+    
+    #if !defined(__WINSCW__)
+    iAudioRouting = CTelephonyAudioRouting::NewL( *this );
+    #endif //__WINSCW__        
+    }
+    
+// ---------------------------------------------------------------------------
+// Resets timer
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::AudioStreamsStarted()
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::AudioStreamsStarted" );
+    iTimeout = KTimeoutInitial; 
+    iTimer->CancelNotify();
+    }
+
+// ---------------------------------------------------------------------------
+// Starts timer
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::StartTimer() 
+    {
+    CSPLOGSTRING(CSPINT, "CSPAudioStreams::StartTimer" );
+    iTimer->NotifyAfter( iTimeout, *this );
+    }
+    
+// ---------------------------------------------------------------------------
+// Starts mic and speaker
+// ---------------------------------------------------------------------------
+//
+void CSPAudioStreams::StartMicAndSpeaker()
+    {
+    // if speaker and mic is active then activation does not
+    // cause any actions.
+    iSpeaker->Activate();
+    iMic->Activate();   
+    }
+
+// ---------------------------------------------------------------------------
+// Indicated if mic and speaker are started or starting up.
+// ---------------------------------------------------------------------------
+//    
+TBool CSPAudioStreams::IsMicAndSpeakerStarted()
+    {
+    TBool areStreamsActive( iSpeaker->IsActive() && iMic->IsActive() );
+    TBool areStreamsActivating( iMic->IsActivationOngoing() ||  
+        iSpeaker->IsActivationOngoing() || iTimer->IsNotifyOngoing() );
+        
+    return areStreamsActive || areStreamsActivating;
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspcall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,1910 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implements class CSPCall which provides call functionality
+*
+*/
+
+
+#include <etelmm.h>
+#include <etel.h>
+#include <centralrepository.h>
+#include <settingsinternalcrkeys.h>
+#include <ccpdefs.h>
+#include <gsmerror.h>
+#include <etelsat.h>
+#include <cccpcallparameters.h>
+
+#include "cspcall.h"
+#include "cspetelcallrequester.h"
+#include "cspetelcalleventmonitor.h"
+#include "cspcallinfomonitor.h"
+#include "cspetelcallstatusmonitor.h"
+#include "cspetelcallcapsmonitor.h"
+#include "csptransferprovider.h"
+#include "cspforwardprovider.h"
+#include "csplogger.h"
+#include "csppanic.pan"
+#include "cspconsts.h"
+#include "cspaudiohandler.h"
+#include "mcspcommoninfo.h"
+#include "mcspsecuritysettingobserver.h"
+#include "tcspskypeidparser.h"
+#include "cspuuimonitor.h"
+#include "cspuuimessagesender.h"
+
+const TInt KTimesToSplitValue = 16;
+
+
+// ---------------------------------------------------------------------------
+// CSPCall::~CSPCall
+// ---------------------------------------------------------------------------
+//
+CSPCall::~CSPCall()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPCall::~CSPCall <");
+
+    delete iParams;
+    iCommonInfo.IndicateHangupComplete( *this );
+    
+    if ( iAudioHandler 
+         && iAudioStatus == ECSPCallAudioStatusActive )
+        {
+        iAudioStatus = ECSPCallAudioStatusInactive;
+        iAudioHandler->Stop();
+        }
+    
+    delete iUserToUserInformation;    
+    delete iRequester;    
+    delete iCallEventMonitor;
+    delete iCallStatusMonitor;
+    delete iCallCapsMonitor; 
+    delete iCallInfoMonitor;
+    delete iForwardProvider;
+    delete iTransferProvider;
+    delete iUUIMonitor;
+    delete iUUIMessageSender;
+    delete iSkypeId;
+
+    iObservers.Close();        
+    if ( iCall.SubSessionHandle() )
+        {
+        iCall.Close();
+        }
+    
+    CSPLOGSTRING(CSPOBJECT, "CSPCall::~CSPCall >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::SetAudioHandler
+// ---------------------------------------------------------------------------
+//
+void CSPCall::SetAudioHandler( CSPAudioHandler* aHandler )
+    {
+    CSPLOGSTRING2(CSPINT, "CSPCall::SetAudioHandler handler: %x", aHandler);
+    iAudioHandler = aHandler;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::SecuritySettingChanged
+// ---------------------------------------------------------------------------
+//
+void CSPCall::SecuritySettingChanged( TInt aValue )
+    {
+    switch ( aValue )
+        {
+        case MCSPSecuritySettingObserver::ESecureCall:         
+            {
+            CSPLOGSTRING(CSPINT, 
+                    "CSPCall::SecuritySettingChanged Sending 'secure call' event");
+            NotifyCallEventOccurred( MCCPCallObserver::ECCPSecureCall );
+            break; 
+            }            
+        case MCSPSecuritySettingObserver::ENotSecureCall:                     
+            {
+            CSPLOGSTRING(CSPINT, 
+                    "CSPCall::SecuritySettingChanged Sending 'not secure call' event");
+            NotifyCallEventOccurred( MCCPCallObserver::ECCPNotSecureCall );
+            break;  
+            }
+        case MCSPSecuritySettingObserver::ESecureNotSpecified:                     
+            {
+            CSPLOGSTRING(CSPINT, 
+                    "CSPCall::SecuritySettingChanged Sending SecureNotSpecified");
+            NotifyCallEventOccurred( MCCPCallObserver::ECCPSecureNotSpecified );
+            break;  
+            }
+
+        default: 
+            {
+            CSPLOGSTRING(CSPERROR, "CSPCall::SecuritySettingChanged, \
+                unknown event");            
+            break;  
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::RemoteAlertingToneStatusChanged
+// Sends EarlyMediaStarted event to observer if network has started to 
+// play remote alerting tone. There is only one known use case: Network
+// starts playing alerting tone during connecting state. 
+//
+// This RemoteAlertingToneStatusChanged is called for every call, 
+// so it is calls responsibility to determine if the 
+// observer should be notified.
+// ---------------------------------------------------------------------------
+//
+void CSPCall::RemoteAlertingToneStatusChanged(
+    RMmCustomAPI::TRemoteAlertingToneStatus aNewStatus )
+    {
+    CSPLOGSTRING2(CSPINT, 
+        "CSPCall::RemoteAlertingToneStatusChanged new status: %d", aNewStatus );
+    
+    if ( aNewStatus == RMmCustomAPI::EUiStopTone ||
+         aNewStatus == RMmCustomAPI::EUiNoTone ) // NW tells us to stop playing 
+        {
+        // Connecting is only state where network starts playing the tone.
+        if ( iCallState == MCCPCallObserver::ECCPStateConnecting )
+            {
+            NotifyCallEventOccurred( 
+                MCCPCallObserver::ECCCSPEarlyMediaStarted );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyCallStateChangedETel
+// Notifies observers about state changes
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NotifyCallStateChangedETel( RMobileCall::TMobileCallStatus aState ) 
+    {
+    CSPLOGSTRING3(CSPINT, 
+                  "CSPCall::NotifyCallStateChangedETel < state: %d this: %x", 
+                  aState, this );
+    switch ( aState )
+        {
+        /*
+        Cannot receive any mapping call statuses from ETel to following
+        optional states:
+        
+        ECCPStateForwarding   MO call is being forwarded at receiver end
+        ECCPStateQueued       Call is queued locally.
+        
+        The commented observer calls are for CS specific call states.
+        */
+        
+        // Indicates that the call is idle or unknown.
+        case RMobileCall::EStatusIdle:
+        case RMobileCall::EStatusUnknown:
+            {
+            CSPLOGSTRING(CSPINT, "CSPCall::NotifyCallStateChangedETel Idle");
+
+            // If audio still active
+            if ( iAudioStatus == ECSPCallAudioStatusActive 
+                 && iAudioHandler
+                 && iParams->CallType() == CCPCall::ECallTypeCSVoice )
+                {
+                iAudioStatus = ECSPCallAudioStatusInactive;
+                iAudioHandler->Stop();
+                }
+                
+            // Notify error in case not going through disconnecting
+            if ( iCallState != MCCPCallObserver::ECCPStateDisconnecting 
+                     && !iTerminationErrorNotified )
+                {
+                CheckAndNotifyTerminationError();
+                }
+            
+            NotifyCallStateChanged( MCCPCallObserver::ECCPStateIdle );
+            iCommonInfo.IndicateHangupComplete( *this );
+            break;
+            }
+        // The call is dialling.
+        case RMobileCall::EStatusDialling:
+            CSPLOGSTRING(CSPINT, "CSPCall callstate Dialling");
+            {
+            if ( iAudioHandler && iParams->CallType() == CCPCall:: ECallTypeCSVoice )
+                {
+                iAudioStatus = ECSPCallAudioStatusActive;
+                iAudioHandler->Start();
+                }
+                
+            iDontReportTerm = EFalse;
+            NotifyCallStateChanged( MCCPCallObserver::ECCPStateDialling );
+            break;
+            }            
+        //Indicates that the MT call is ringing but not answered yet by 
+        // the local user
+        case RMobileCall::EStatusRinging:
+            {
+            CSPLOGSTRING(CSPINT, "CSPCall::NotifyCallStateChangedETel Ringing");
+            NotifyCallStateChanged( MCCPCallObserver::ECCPStateRinging );
+            break;
+            }
+        // Indicates that the local user has answered the MT call but
+        // the network has not acknowledged the call connection yet. 
+        case RMobileCall::EStatusAnswering:
+            {
+            CSPLOGSTRING(CSPINT, "CSPCall::NotifyCallStateChangedETel Answering");
+
+            if ( !iMobileOriginated
+                && iAudioHandler 
+                && iAudioStatus == ECSPCallAudioStatusInactive
+                && iParams->CallType() == CCPCall::ECallTypeCSVoice )
+                {
+                iAudioStatus = ECSPCallAudioStatusActive;
+                iAudioHandler->Start();
+                }
+
+            NotifyCallStateChanged( MCCPCallObserver::ECCPStateAnswering );
+            break;
+            }
+        // MO Call: the network notifies to the MS that the remote party
+        // is now ringing. 
+        case RMobileCall::EStatusConnecting:
+            {
+            CSPLOGSTRING(CSPINT, "CSPCall::NotifyCallStateChangedETelConnecting");
+            RMmCustomAPI::TRemoteAlertingToneStatus tone = 
+                iCommonInfo.GetRemoteAlertingToneStatus();
+            if ( tone == RMmCustomAPI::EUiNoTone ||
+                 tone == RMmCustomAPI::EUiStopTone )
+                {
+                NotifyCallStateChangedWithInband( MCCPCallObserver::ECCPStateConnecting );
+                }
+            else
+                {
+                NotifyCallStateChanged( MCCPCallObserver::ECCPStateConnecting );
+                }
+            break;
+            }
+        // Indicates that call is connected and active.
+        case RMobileCall::EStatusConnected:
+            {
+            CSPLOGSTRING(CSPINT, "CSPCall::NotifyCallStateChangedETel Connected");
+
+            iDontReportTerm = ETrue;
+            NotifyCallStateChanged( MCCPCallObserver::ECCPStateConnected );
+            break;
+            }
+        // Indicates that call is disconnecting. (Same as RCall::HangingUp)
+        case RMobileCall::EStatusDisconnecting:
+            {
+            CSPLOGSTRING(CSPINT, "CSPCall::NotifyCallStateChangedETel Disconnecting");
+
+            if ( !iTerminationErrorNotified )
+                {
+                CheckAndNotifyTerminationError();
+                }
+            
+            NotifyCallStateChanged( MCCPCallObserver::ECCPStateDisconnecting );                
+            break;
+            }
+        // Indicates that the call is disconnecting with inband data
+        // (to enable the network to send an audio tone), signifying
+        // that the call is not to be released until user terminates call
+        case RMobileCall::EStatusDisconnectingWithInband:
+            {
+            CSPLOGSTRING(CSPINT, 
+                "CSPCall::NotifyCallStateChangedETel DisconnectingWithInband");
+
+            if ( !iTerminationErrorNotified )
+                {
+                CheckAndNotifyTerminationError();
+                }
+            
+            NotifyCallStateChangedWithInband( 
+                                MCCPCallObserver::ECCPStateDisconnecting );
+            break;
+            }
+        // Indicates that the call is connected but on hold.  
+        case RMobileCall::EStatusHold:
+            {
+            CSPLOGSTRING(CSPINT, "CSPCall::NotifyCallStateChangedETel Hold");
+            NotifyCallStateChanged( MCCPCallObserver::ECCPStateHold );
+            break;
+            }
+        case RMobileCall::EStatusTransferring:
+            {
+            CSPLOGSTRING(CSPINT, "CSPCall::NotifyCallStateChangedETel Transferring");
+            NotifyCallStateChanged( MCCPCallObserver::ECCPStateTransferring );
+            break;
+            }
+            
+        // Indicates that call is undergoing temporary channel loss
+        // and it may or may not be reconnected.  
+        case RMobileCall::EStatusReconnectPending: // fall through 
+        //Indicates that the call is the non-active half of an alternating
+        // call. This call is waiting for its active half or the remote
+        // end to switch alternating call mode.
+        case RMobileCall::EStatusWaitingAlternatingCallSwitch: // fall through
+        case RMobileCall::EStatusTransferAlerting:
+            {
+            CSPLOGSTRING2(CSPINT, 
+                    "CSPCall::NotifyCallStateChangedETel no special handling for state %d",
+                    aState);            
+            break;
+            }
+
+        default:
+            {
+            CSPLOGSTRING(CSPERROR, 
+                    "CSPCall::NotifyCallStateChangedETel callstate UNKNOWN");
+            break;
+            }
+        }
+    CSPLOGSTRING(CSPREQIN, "CSPCall::NotifyCallStateChangedETel >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyCallEventOccurred
+// Notifies observers about call events
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NotifyCallEventOccurred( 
+    MCCPCallObserver::TCCPCallEvent aEvent )
+    {
+    CSPLOGSTRING2(CSPINT, 
+            "CSPCall::NotifyCallEventOccurred < event: %d", aEvent);
+    
+    TInt obsCount = iObservers.Count();
+    for ( TInt i = 0; i < obsCount; i++ )
+        {
+        CSPLOGSTRING2(CSPINT, "CSPCall::NotifyCallEventOccurred obs=%d",i);
+        MCCPCallObserver *obs = iObservers[i];
+        if ( obs )
+            {
+            obs->CallEventOccurred( aEvent, this );
+            }
+            
+        CSPLOGSTRING2(CSPINT, "CSPCall::NotifyCallEventOccurred ok obs=%d",i);
+        }
+        
+    CSPLOGSTRING2(CSPINT, "CSPCall::NotifyCallEventOccurred > event: %d", aEvent);
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyTransferCallEventOccurred
+// Forward notification of transfer event to it's provider
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NotifyTransferCallEventOccurred( 
+    MCCPTransferObserver::TCCPTransferEvent aEvent ) 
+    {
+    CSPLOGSTRING2(CSPINT, "CSPCall::NotifyTransferCallEventOccurred %d", aEvent);
+    // forward the method call to CSPTransferProvider object
+    iTransferProvider->TransferEventOccurred( aEvent );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyForwardEventOccurred
+// Notifies observers about call events
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NotifyForwardEventOccurred( 
+    MCCPForwardObserver::TCCPForwardEvent aEvent )
+    {
+    CSPLOGSTRING2(CSPINT, "CSPCall::NotifyForwardEventOccurred %d", aEvent);
+    iForwardProvider->NotifyForwardEventOccurred( aEvent );    
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::CallName
+// Get call name
+// ---------------------------------------------------------------------------
+//
+void CSPCall::CallName( TName& aCallName )
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::CallName");
+    aCallName.Zero();
+    aCallName.Append( iCallName );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::DialRequestFailed
+// Handles situations when dial fails
+// ---------------------------------------------------------------------------
+//
+void CSPCall::DialRequestFailed( TInt aErrorCode )
+    {
+    CSPLOGSTRING(CSPERROR, "CSPCall::DialRequestFailed");
+    iDialCompletionCode = aErrorCode;
+    
+    // If state has not changed 
+    // ( e.g. in case of dial could not be initiated by network problem)
+    if ( iCallStatusMonitor->State() == 
+                   RMobileCall::RMobileCall::EStatusUnknown )
+        {
+        NotifyErrorOccurred( iRequester->MapError( aErrorCode ) );              
+        
+        // Force release since otherwise call remains unreleased
+        CSPLOGSTRING(CSPERROR, "CSPCall::DialRequestFailed() Force Idle");
+        NotifyCallStateChanged( MCCPCallObserver::ECCPStateIdle );
+        }
+    
+    // If dial request has completed after notifying disconnecting state
+    else if ( iCallState == MCCPCallObserver::ECCPStateDisconnecting
+             && !iTerminationErrorNotified )
+        {
+        CheckAndNotifyTerminationError();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::EmergencyDialRequestFailed
+// Handles situations when emergency dial fails
+// ---------------------------------------------------------------------------
+//
+void CSPCall::EmergencyDialRequestFailed( TInt /*aErrorCode*/ )
+    {
+    CSPLOGSTRING(CSPERROR, "CSPCall::EmergencyDialRequestFailed");
+    
+    // Always same error code for CCE
+    NotifyErrorOccurred( ECCPEmergencyFailed );
+    
+    // Mark that exit code will not be used
+    iTerminationErrorNotified = ETrue;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyErrorOccurred
+// Notifies observers about errors
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NotifyErrorOccurred( TCCPError aError )
+    {
+    CSPLOGSTRING2(CSPERROR, "CSPCall::NotifyErrorOccurred err %d", aError );
+
+    TInt obsCount = iObservers.Count();
+    for ( TInt i = 0; i < obsCount; i++ )
+        {
+        MCCPCallObserver *obs = iObservers[i];
+        if ( obs )
+            {
+            obs->ErrorOccurred( aError, this );
+            }
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPCall::CallCapsChanged
+// Notifies observers about new capabilities.
+// ---------------------------------------------------------------------------
+//
+void CSPCall::CallCapsChanged( const TUint32 aCapsFlags )
+    {
+    CSPLOGSTRING2(CSPERROR, "CSPCall::CallCapsChanged %b", aCapsFlags );
+    iCapsFlags = aCapsFlags;
+    TInt obsCount = iObservers.Count();
+    for ( TInt i = 0; i < obsCount; i++ )
+        {
+        MCCPCallObserver *obs = iObservers[i];
+        if ( obs )
+            {
+            obs->CallCapsChanged( aCapsFlags, this );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCSCall
+// CSPCall::GetMobileCallInfo
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::GetMobileCallInfo( TDes8& aCallInfo ) const
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::GetMobileCallInfo");
+    return iCall.GetMobileCallInfo( aCallInfo );
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCSCall
+// CSPCall::GetMobileDataCallCaps
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::GetMobileDataCallCaps( TDes8& /*aCaps*/ ) const
+    {
+    CSPLOGSTRING(CSPERROR, 
+            "CSPCall::GetMobileDataCallCaps ERROR, Not supported");
+    return KErrNotSupported;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Dial
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Dial()
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPCall::Dial" );
+    // Parameters not given, must create empty descriptor.
+    TBuf8<1> params;
+    return Dial(params);
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::RemoteParty
+// ---------------------------------------------------------------------------
+//
+const TDesC& CSPCall::RemoteParty() const
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::RemoteParty");
+    return iRemotePartyNumber;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::RemotePartyName
+// ---------------------------------------------------------------------------
+//
+const TDesC& CSPCall::RemotePartyName()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::RemotePartyName");
+    return iRemotePartyName;
+    }
+  
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::DialledParty
+// ---------------------------------------------------------------------------
+//  
+const TDesC& CSPCall::DialledParty() const 
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::DialledParty %S", &iRemotePartyNumber);
+    return iRemotePartyNumber;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Answer
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Answer()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::Answer <");
+    TInt ret( KErrNone );
+    
+    if ( iCallState == MCCPCallObserver::ECCPStateRinging 
+         || iCallState == MCCPCallObserver::ECCPStateQueued )
+        {    
+        if( iMobileOriginated )
+            {
+            ret = KErrGeneral;
+            }
+        else if( iCallState != MCCPCallObserver::ECCPStateRinging && 
+            iCallState != MCCPCallObserver::ECCPStateQueued )
+            {
+            ret = KErrAccessDenied;
+            }
+        else
+            {
+            ret = iCommonInfo.IndicateAnswerRequest( *this );
+            }
+        }
+    else
+        {
+        // Not correct state for answer
+        ret = KErrNotReady;
+        }
+    
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::Answer > ret %d", ret);
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCallCommandHandling
+// CSPCall::PerformAnswerRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::PerformAnswerRequest()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::PerformAnswerRequest");
+    
+    TInt ret = iRequester->MakeRequest( CSPEtelCallRequester::ERequestTypeAnswer );
+    CSPLOGSTRING3(CSPINT, 
+            "CSPCall::Answer request performed, call state %d ret: %d", iCallState, ret);
+
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Reject
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Reject()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::Reject <");
+    TInt ret;
+    if ( iCallState == MCCPCallObserver::ECCPStateRinging
+         || iCallState == MCCPCallObserver::ECCPStateQueued
+         || iCallState == MCCPCallObserver::ECCPStateAnswering )
+        {        
+        CSPLOGSTRING( CSPREQIN, "CSPCall::Reject 2" );
+        ret = HangUp();
+        }
+    else
+        {
+        ret = KErrNotReady;
+        }
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::Reject > ret: %d", ret );
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Queue
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Queue()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::Queue");
+    TBool callWaitingState;
+    iDontReportTerm = ETrue;
+    
+    TRAPD( res, iCommonInfo.GetCallWaitingL( *iParams, callWaitingState ) );
+    if( res == KErrNone )
+        {
+        if ( callWaitingState )
+            {
+            CSPLOGSTRING(CSPREQIN, "CSPCall::Queue Call Waiting On");
+            iCallState = MCCPCallObserver::ECCPStateQueued;
+            
+            // Notify Queued state
+            TInt obsCount = iObservers.Count ( );
+            for (TInt i = 0; i < obsCount; i++ )
+                {
+                MCCPCallObserver *obs = iObservers[i];
+                if ( obs )
+                    {
+                    obs->CallStateChanged ( iCallState, this );
+                    }
+                }
+            CSPLOGSTRING(CSPOBJECT, "CSPCall::Queue ok");
+
+            return KErrNone;
+            }
+        else
+            {
+            CSPLOGSTRING(CSPREQIN, "CSPCall::Queue Call Waiting Off");
+            }
+        }
+    else
+        {
+        CSPLOGSTRING2(CSPERROR, 
+                      "CSPCall::Queue Error %d with CR. Call Waiting Off", 
+                      res);
+        }
+    
+    return KErrNotSupported;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Ringing
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Ringing()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::Ringing");
+    iDontReportTerm = ETrue;
+    
+    // Ringing state is accepted because MT-call goes to ringing
+    // state in the beginning based on ETel state maching.
+    if ( iCallState == MCCPCallObserver::ECCPStateIdle ||
+         iCallState == MCCPCallObserver::ECCPStateRinging ) 
+        {
+        NotifyRingingState();
+        return KErrNone;
+        }
+    else if ( iCallState == MCCPCallObserver::ECCPStateAnswering )
+        {
+        // Do nothing if already in Answering state (autoanswer).   
+        return KErrNone; 
+        }
+        
+    return KErrNotReady;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::HangUp
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::HangUp()
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::HangUp this: %x", this);
+    TInt ret( KErrNone );
+    
+    CSPEtelCallRequester::TRequestType req = iRequester->Request();
+    if ( req == CSPEtelCallRequester::ERequestTypeDial || 
+         ( req == CSPEtelCallRequester::ERequestTypeDialEmergency ) )
+        {
+        CSPLOGSTRING(CSPREQIN, "CSPCall::HangUp 1: Cancel ongoing dial");
+        ret = iRequester->DialCancel();
+        CSPLOGSTRING(CSPREQIN, "CSPCall::HangUp Canceled");
+        }
+    else if ( req == CSPEtelCallRequester::ERequestTypeHangup )
+        {
+        CSPLOGSTRING(CSPREQIN, "CSPCall::HangUp 2");
+        ret = KErrAlreadyExists;
+        }
+    else if ( req == CSPEtelCallRequester::ERequestTypeNone 
+              && iCallState != MCCPCallObserver::ECCPStateIdle )
+        {
+        CSPLOGSTRING(CSPREQIN, "CSPCall::HangUp 3");
+        ret = iRequester->MakeRequest( CSPEtelCallRequester::ERequestTypeHangup );
+        iCommonInfo.IndicateActiveHangup( *this );
+        }
+    else if ( req == CSPEtelCallRequester::ERequestTypeNone )
+        {
+        CSPLOGSTRING(CSPREQIN, "CSPCall::HangUp 4");
+        ret = KErrAlreadyExists;
+        }
+    else
+        {
+        CSPLOGSTRING(CSPREQIN, "CSPCall::HangUp 5");
+        // Request pending, must be canceled
+        iRequester->Cancel();
+        ret = iRequester->MakeRequest( CSPEtelCallRequester::ERequestTypeHangup );
+        iCommonInfo.IndicateActiveHangup( *this );
+        }
+        
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Cancel
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Cancel()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::Cancel");
+    return HangUp();
+    }
+        
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Hold
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Hold()
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::Hold this: %x", this);
+    TInt ret;
+        
+    if ( iCallState == MCCPCallObserver::ECCPStateConnected )
+        {
+        CSPLOGSTRING(CSPREQOUT, "CSPCall::Hold make request");
+
+        // Set call on hold
+        ret = iRequester->MakeRequest( 
+                    CSPEtelCallRequester::ERequestTypeHold );
+        if ( ret != KErrNone )
+            {
+            CSPLOGSTRING2(CSPERROR, 
+                "CSPCall::Hold ERROR: %d", ret);
+            }
+        }
+    else if ( iCallState == MCCPCallObserver::ECCPStateHold )
+        {
+        CSPLOGSTRING(CSPERROR, "CSPCall::Hold : already held");
+        ret = KErrAlreadyExists;
+        }
+    else
+        {
+        CSPLOGSTRING(CSPERROR, "CSPCall::Hold not allowed");
+        ret = KErrNotReady;
+        }
+
+    return ret;
+    } 
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Resume
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Resume()
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::Resume this: %x", this);
+    TInt ret;
+        
+    if ( iCallState == MCCPCallObserver::ECCPStateHold )
+        {
+        CSPLOGSTRING(CSPREQOUT, "CSPCall::Resume request");
+        
+        ret = iRequester->MakeRequest( 
+            CSPEtelCallRequester::ERequestTypeResume );
+        if ( KErrNone != ret )
+            {
+            CSPLOGSTRING2(CSPERROR, "CSPCall::Resume ERROR %d", ret);
+            }
+        }
+    else if ( iCallState == MCCPCallObserver::ECCPStateConnected )
+        {
+        CSPLOGSTRING(CSPERROR, "CSPCall::Resume already connected" );
+        ret = KErrAlreadyExists;
+        }
+    else
+        {
+        CSPLOGSTRING(CSPERROR, "CSPCall::Resume not held state" );
+        ret = KErrNotReady;
+        }
+    
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Swap
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Swap()
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::Swap this: %x", this);
+    TInt ret;
+    if ( iCallState == MCCPCallObserver::ECCPStateConnected
+         || iCallState == MCCPCallObserver::ECCPStateHold )
+        {    
+        ret = iRequester->MakeRequest( CSPEtelCallRequester::ERequestTypeSwap );
+        if ( ret )
+            {
+            CSPLOGSTRING2( CSPERROR, "CSPCall::Swap Error %d", ret );
+            }
+        }
+    else
+        {
+        ret = KErrNotReady;
+        }
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::IsMobileOriginated
+// ---------------------------------------------------------------------------
+//
+TBool CSPCall::IsMobileOriginated() const
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::IsMobileOriginated");
+    return iMobileOriginated;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::State
+// ---------------------------------------------------------------------------
+//
+MCCPCallObserver::TCCPCallState CSPCall::State() const
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::State %d", iCallState);
+    return iCallState;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Uid
+// ---------------------------------------------------------------------------
+//
+TUid CSPCall::Uid() const
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::Uid %d", KCSPImplementationUid);
+    return KCSPImplementationUid;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Caps
+// ---------------------------------------------------------------------------
+//
+MCCPCallObserver::TCCPCallControlCaps CSPCall::Caps( ) const
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::Caps %b", iCapsFlags );
+    return (MCCPCallObserver::TCCPCallControlCaps) iCapsFlags;
+    }
+ 
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::SetParameters
+// ---------------------------------------------------------------------------
+//
+void CSPCall::SetParameters( const CCCPCallParameters& /*aNewParams*/ )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPCall::SetParameters ERROR Can't set params");
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Parameters
+// ---------------------------------------------------------------------------
+//
+const CCCPCallParameters& CSPCall::Parameters() const
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::Parameters");
+    return *iParams;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::TransferProvider
+// ---------------------------------------------------------------------------
+//
+MCCPTransferProvider* CSPCall::TransferProviderL(const MCCPTransferObserver& 
+                                                            aObserver )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::TransferProvider");
+    iTransferProvider->AddObserverL( aObserver );
+    return iTransferProvider;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::ForwardProvider
+// ---------------------------------------------------------------------------
+//
+MCCPForwardProvider* CSPCall::ForwardProviderL( 
+        const MCCPForwardObserver& aObserver )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::ForwardProvider");
+    iForwardProvider->AddObserverL( aObserver );
+    return iForwardProvider;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::AddObserverL
+// ---------------------------------------------------------------------------
+//
+void CSPCall::AddObserverL( const MCCPCallObserver& aObserver )
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::AddObserverL %x", &aObserver);
+    if ( iObservers.Find( &aObserver ) == KErrNotFound )
+        {
+        iObservers.AppendL( &aObserver );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// Removes observer.
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::RemoveObserver( const MCCPCallObserver& aObserver )
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::RemoveObserver %x", &aObserver);
+    
+    TInt found = iObservers.Find( &aObserver );
+    if ( found != KErrNotFound )
+        {
+        iObservers.Remove( found );
+        return KErrNone;
+        }
+        
+    return found;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::IsCallForwarded
+// ---------------------------------------------------------------------------
+//
+TBool CSPCall::IsCallForwarded( ) const
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::IsCallForwarded <");
+    TBool ret( EFalse );
+    TInt err( KErrNone );
+    RMobileCall::TMobileCallInfoV3 callInfo;
+    RMobileCall::TMobileCallInfoV3Pckg pck( callInfo );
+    err = iCall.GetMobileCallInfo( pck );
+    if (err == KErrNone )
+        {
+        ret = callInfo.iForwarded;
+        }
+    
+    CSPLOGSTRING2(CSPREQIN, 
+            "CSPCall::IsCallForwarded > forwarder: %d", ret );
+    
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::IsSecured
+// ---------------------------------------------------------------------------
+//
+TBool CSPCall::IsSecured( ) const
+    {    
+    CSPLOGSTRING(CSPREQIN, "CSPCall::IsSecured");
+    return iCommonInfo.NetworkSecurityStatus();
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::SecureSpecified
+// ---------------------------------------------------------------------------
+//
+TBool CSPCall::SecureSpecified( ) const
+    {    
+    CSPLOGSTRING(CSPREQIN, "CSPCall::SecureSpecified");
+    return iCommonInfo.SecureSpecified();
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::Tone
+// ---------------------------------------------------------------------------
+//
+TCCPTone CSPCall::Tone() const
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::Tone <");
+    TCCPTone tone( ECCPNoSoundSequence );
+
+    if ( iCallState == MCCPCallObserver::ECCPStateConnecting )
+        {
+        RMmCustomAPI::TRemoteAlertingToneStatus ts = iCommonInfo.GetRemoteAlertingToneStatus();
+        
+        if (ts == RMmCustomAPI::EUiRbtTone )
+            {
+            tone = ECCPRemoteAlerting;
+            }
+        else if ( ts == RMmCustomAPI::EUiStopTone )
+            {
+            tone = ECCPNoSoundSequence;
+            }
+        else            
+            {
+            // No tone
+            tone = ECCPNoSoundSequence;
+            }
+        }
+    else
+        {
+        // Handle disconnecting tones      
+        TInt callDisconnectingError = ExitCodeError();
+        CSPLOGSTRING2(CSPINT, "CSPCall::Tone exit code err: %d", callDisconnectingError);
+
+        switch( callDisconnectingError )
+            {
+            case KErrNone:
+                // GSM: DIAL TONE (optional) - not used in Nokia phones 
+                CSPLOGSTRING(CSPERROR, "CSPCall::Tone: No sound");
+                break;
+            case KErrGsmCCUserBusy:
+                // GSM: SUBSCRIBER BUSY
+                tone = ECCPToneUserBusy;
+                CSPLOGSTRING(CSPINT, "CSPCall::Tone: Subscriber Busy");
+                break;
+                // Fall through
+            case KErrGsmCCNumberChanged:
+            case KErrGsmCCResponseToStatusEnquiry:
+            case KErrGsmCCNormalUnspecified:
+                // GSM: NONE, Nokia phones: radio path not available
+                tone = ECCPToneRadioPathNotAvailable;
+                CSPLOGSTRING(CSPINT, "CSPCall::Tone: RadioPathNotAvailable");
+                break;      
+            case KErrGsmCCNoChannelAvailable:
+            case KErrGsmCCTemporaryFailure:
+            case KErrGsmCCSwitchingEquipmentCongestion:
+            case KErrGsmCCRequestedChannelNotAvailable:
+            case KErrGsmCCQualityOfServiceNotAvailable:
+            case KErrGsmCCBearerCapabilityNotCurrentlyAvailable:
+                // GSM: CONGESTION
+                tone = ECCPToneCongestion;
+                CSPLOGSTRING(CSPINT, "CSPCall::Tone: Congestion");
+                break;
+            case KErrGsmCCUnassignedNumber:
+            case KErrGsmCCNoRouteToDestination:
+            case KErrGsmCCChannelUnacceptable:
+            case KErrGsmCCOperatorDeterminedBarring:
+            case KErrGsmCCUserNotResponding:
+            case KErrGsmCCUserAlertingNoAnswer:
+            case KErrGsmCCCallRejected:
+            case KErrGsmCCNonSelectedUserClearing:
+            case KErrGsmCCDestinationOutOfOrder:
+            case KErrGsmCCInvalidNumberFormat:
+            case KErrGsmCCFacilityRejected:
+            case KErrGsmCCNetworkOutOfOrder:
+            case KErrGsmCCAccessInformationDiscarded:
+            case KErrGsmCCResourceNotAvailable:
+            case KErrGsmCCRequestedFacilityNotSubscribed:
+            case KErrGsmCCIncomingCallsBarredInCug:
+            case KErrGsmCCBearerCapabilityNotAuthorised:
+            case KErrGsmCCServiceNotAvailable:
+            case KErrGsmCCBearerServiceNotImplemented:
+            case KErrGsmCCChannelTypeNotImplemented:
+            case KErrGsmCCAcmGreaterThanAcmMax:
+            case KErrGsmCCRequestedFacilityNotImplemented:
+            case KErrGsmCCOnlyRestrictedDigitalInformationBCAvailable:
+            case KErrGsmCCServiceNotImplemented:
+            case KErrGsmCCInvalidCallReferenceValue:
+            case KErrGsmCCChannelDoesNotExist:
+            case KErrGsmCCSuspendedCallExistsButCallIdentityDoesNotWork:
+            case KErrGsmCCCallIdentityInUse:
+            case KErrGsmCCNoCallSuspended:
+            case KErrGsmCCRequestedCallIdentityAlreadyCleared:
+            case KErrGsmCCUserNotInCug:
+            case KErrGsmCCIncompatibleDestination:
+            case KErrGsmCCInvalidTransitNetworkSelection:
+            case KErrGsmCCIncompatibleSegmentedMessage:
+            case KErrGsmCCSemanticallyIncorrectMessage:
+            case KErrGsmCCInvalidMandatoryInformation:
+            case KErrGsmCCNonExistentMessageType:
+            case KErrGsmCCIncompatibleMessageInProtocolState:
+            case KErrGsmCCNonExistentInformationElement:
+            case KErrGsmCCConditionalIEError:
+            case KErrGsmCCIncompatibleMessageInCallState:
+            case KErrGsmCCRecoveryOnTimerExpiry:
+            case KErrGsmCCUnspecifiedProtocolError:
+            case KErrGsmCCUnspecifiedInterworkingError:
+                // GSM: SPECIAL INFORMATION
+                tone = ECCPToneSpecialInformation;
+                CSPLOGSTRING(CSPINT, "CSPCall::Tone: Special Information");
+                break;
+            default:
+                CSPLOGSTRING(CSPERROR, "CSPCall::Tone: ERROR not found");
+                break;
+            }
+         }
+    
+    CSPLOGSTRING2(CSPREQIN, "CSPCall::Tone > tone: %d", tone);
+    return tone;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCSCall
+// CSPCall::NoFdnCheck
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NoFDNCheck( )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::NoFDNCheck");
+    iFdnCheck = EFalse;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPCall::LogDialedNumber
+// ---------------------------------------------------------------------------
+//
+TBool CSPCall::LogDialedNumber() const
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::LogDialedNumber true");
+    return ETrue;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCSCall
+// CSPCall::Dial
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::Dial( const TDesC8& /*aCallParams*/ )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::Dial");
+    return iCommonInfo.IndicateDialRequest( *this );
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCallCommandHandling
+// CSPCall::PerformDialRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::PerformDialRequest()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::PerformDialRequest");
+    iDialCompletionCode = KErrNone;
+    iTerminationErrorNotified = EFalse;
+    
+    // Send the User to User Information.
+    if( iUserToUserInformation->Length() )
+        {
+        iUUIMessageSender->SendUUIMessage( *iUserToUserInformation );
+        }
+    
+    return DialFdnCond( iFdnCheck );
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPCall::CSPCall
+// ---------------------------------------------------------------------------
+//
+CSPCall::CSPCall( RMobileLine& aLine, 
+                  TBool aMobileOriginated,
+                  const TDesC& aName,
+                  MCSPCommonInfo& aCommonInfo,
+                  TBool aIsEmergencyCall ) : 
+                    iLine( aLine ),
+                    iMobileOriginated( aMobileOriginated ),
+                    iName( aName ), 
+                    iCommonInfo( aCommonInfo ),
+                    iTerminationErrorNotified( EFalse ),
+                    iIsEmergencyCall( aIsEmergencyCall),
+                    iFdnCheck(ETrue),
+                    iAudioStatus( ECSPCallAudioStatusInactive ) 
+                    
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPCall::CSPCall");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::ConstructL
+// Constructing CSPCall in 2nd phase
+// ---------------------------------------------------------------------------
+//    
+void CSPCall::ConstructL( const CCCECallParameters& aParams )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPCall::ConstructL <");
+
+    // Create cloned copy of call parameters 
+    iParams = static_cast<CCCECallParameters*>( aParams.CloneL() );
+    
+    // Open call handle  
+    OpenCallHandleL(); 
+
+    // Update call info 
+    UpdateCallInfo(); 
+    
+    // Update call state from ETel 
+    UpdateCallState(); 
+    
+    // Create call handlers for call related requests 
+    // and for monitoring call related events 
+    CreateCallHandlersL(); 
+        
+    CSPLOGSTRING(CSPOBJECT, "CSPCall::ConstructL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::OpenCallHandleL
+// Open call handle, calls either OpenNewCallL or OpenExistingCallL depending 
+// of the call direction and if the call is a client call       
+// ---------------------------------------------------------------------------
+//    
+void CSPCall::OpenCallHandleL()
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::OpenCallHandleL <");
+    
+    if ( iMobileOriginated )
+        {
+        // There is no existing call on line, open new call 
+        OpenNewCall();
+        }
+    else
+        {
+        // Mobile terminated call on line, open existing call 
+        OpenExistingCallL( iName ); 
+        }
+
+    CSPLOGSTRING(CSPINT, "CSPCall::OpenCallHandleL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::UpdateCallInfoL
+// Update call info including remote party name and number data  
+// ---------------------------------------------------------------------------
+//    
+void CSPCall::UpdateCallInfo()
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::UpdateCallInfo <");
+    RMobileCall::TMobileCallInfoV7 callInfo;
+    RMobileCall::TMobileCallInfoV7Pckg pck( callInfo );
+    TInt err = iCall.GetMobileCallInfo( pck );
+    
+    UpdateCallInfoImpl( callInfo );
+
+    CSPLOGSTRING(CSPINT, "CSPCall::UpdateCallInfo >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::UpdateCallInfoImpl
+// Implementation for UpdateCallInfo().
+// ---------------------------------------------------------------------------
+//    
+void CSPCall::UpdateCallInfoImpl( RMobileCall::TMobileCallInfoV7 aCallInfo )
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::UpdateCallInfoImpl <");
+
+    if ( iMobileOriginated )
+        {
+        // Call wasn't added by ETel monitor, update info accordingly
+        UpdateCallNameNumberInfo( aCallInfo, EFalse ); 
+        }
+    else
+        {
+        // Call was added by ETel monitor, update info accordingly
+        UpdateCallNameNumberInfo( aCallInfo, ETrue );
+        }
+    
+
+    CSPLOGSTRING(CSPINT, "CSPCall::UpdateCallInfoImpl >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::UpdateCallOrigin
+// Set call origin to CCCECallParameters.
+// ---------------------------------------------------------------------------
+//    
+void CSPCall::UpdateCallOrigin( RMobileCall::TMobileCallInfoV7 aCallInfo )
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::UpdateCallOrigin <");
+   
+    if ( iMobileOriginated )
+        {
+        if ( RMobileCall::EOriginatorSIM == aCallInfo.iCallParamOrigin )
+            {
+            iParams->SetOrigin(CCCECallParameters::ECCECallOriginSAT);
+            }
+        }
+    CSPLOGSTRING(CSPINT, "CSPCall::UpdateCallOrigin >");
+    }
+
+
+
+// ---------------------------------------------------------------------------
+// CSPCall::UpdateCallStateL
+//   
+// ---------------------------------------------------------------------------
+//    
+int CSPCall::UpdateCallState()
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::UpdateCallState <");
+    TInt err( KErrNone ); 
+    
+    // Update call state from ETel
+    RMobileCall::TMobileCallStatus etelState;
+    err = iCall.GetMobileCallStatus( etelState );
+    if ( KErrNone == err )
+        {
+        iCallState = CCPStateFromETelState( etelState );
+        }
+    CSPLOGSTRING2(CSPINT, "CSPCall::UpdateCallState > res %d", err);
+    
+    return err; 
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::CreateCallHandlersL
+// Create call handlers for call related requests and call monitoring  
+// ---------------------------------------------------------------------------
+//    
+void CSPCall::CreateCallHandlersL()
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::CreateCallHandlersL <");
+
+    iRequester = CSPEtelCallRequester::NewL( *this, iCall );
+
+    iCallEventMonitor = CSPEtelCallEventMonitor::NewL( *this, iCall );
+    iCallEventMonitor->StartMonitoring();
+    iCallStatusMonitor = CSPEtelCallStatusMonitor::NewL( *this, iCall );
+    iCallStatusMonitor->StartMonitoring();
+    
+    iCallCapsMonitor = CSPEtelCallCapsMonitor::NewL( *this, iCall );
+    iCallCapsMonitor->StartMonitoring();
+    iCapsFlags = iCallCapsMonitor->FetchCallControlCapsL();
+    
+    iCallInfoMonitor = CSPCallInfoMonitor::NewL( *this, iCall );
+    iCallInfoMonitor->StartMonitoring();
+    
+    // Start UUI monitor and create message sender 
+    iSkypeId = TCSPSkypeIdParser::CreateSkypeIdBufferL();
+    iUUIMonitor = CSPUUIMonitor::NewL( iCall,*this );
+    iUUIMonitor->StartMonitor();
+    iUUIMessageSender = CSPUUIMessageSender::NewL( iCall );
+    iUserToUserInformation = iParams->UUSId().AllocL();
+    
+    // Transfer provider
+    iTransferProvider = CSPTransferProvider::NewL( iCall, *this, iCommonInfo );
+
+    // Forward provider
+    iForwardProvider = CSPForwardProvider::NewL();
+    
+    CSPLOGSTRING(CSPINT, "CSPCall::CreateCallHandlersL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyRingingState
+// Gets to ringing state
+// ---------------------------------------------------------------------------
+//     
+void CSPCall::NotifyRingingState( )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::NotifyRingingState");
+    iCallState = MCCPCallObserver::ECCPStateRinging;
+
+    TInt obsCount = iObservers.Count ( );
+    for (TInt i = 0; i < obsCount; i++ )
+        {
+        MCCPCallObserver *obs = iObservers[i];
+        if ( obs )
+            {
+            obs->CallStateChanged ( iCallState, this );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::CCPStateFromETelState
+// Simple mapping between state enumerations.
+// ---------------------------------------------------------------------------
+//     
+MCCPCallObserver::TCCPCallState CSPCall::CCPStateFromETelState( 
+    RMobileCall::TMobileCallStatus aEtelState ) 
+    {
+    MCCPCallObserver::TCCPCallState ret = MCCPCallObserver::ECCPStateIdle;
+    switch ( aEtelState )
+        {
+        case RMobileCall::EStatusUnknown:
+            {
+            CSPLOGSTRING( CSPREQIN, 
+                "CSPCall::State > RMobileCall::Unknown" );
+            ret = MCCPCallObserver::ECCPStateIdle;
+            break;
+            }
+        case RMobileCall::EStatusIdle:
+            {
+            CSPLOGSTRING( CSPREQIN, 
+                "CSPCall::State > RMobileCall::EStatusIdle" );
+            ret = MCCPCallObserver::ECCPStateIdle;
+            break;
+            }
+        case RMobileCall::EStatusRinging:
+            {
+            CSPLOGSTRING( CSPREQIN, 
+                "CSPCall::State > RMobileCall::EStatusRinging" );
+            ret = MCCPCallObserver::ECCPStateRinging;
+            break;
+            }
+        // Map the following to connecting status
+        case RMobileCall::EStatusDialling:                
+            {
+            CSPLOGSTRING( CSPREQIN, "CSPCall::State > \
+                RMobileCall::EStatusDialling" );
+            ret = MCCPCallObserver::ECCPStateDialling;
+            break;
+            }
+        case RMobileCall::EStatusConnecting:
+            {
+            CSPLOGSTRING( CSPREQIN, "CSPCall::State > \
+                RMobileCall::Connecting" );
+            ret = MCCPCallObserver::ECCPStateConnecting;
+            break;
+            }
+        case RMobileCall::EStatusAnswering:
+            {
+            CSPLOGSTRING( CSPREQIN, "CSPCall::State > \
+                RMobileCall::Answering" );
+            ret = MCCPCallObserver::ECCPStateAnswering;
+            break;                
+            }
+        // Call is connected and active.
+        case RMobileCall::EStatusConnected:
+            {
+            CSPLOGSTRING( CSPREQIN, 
+            "CSPCall::State > RMobileCall::EStatusConnected" );
+            ret = MCCPCallObserver::ECCPStateConnected;
+            break;
+            }
+        case RMobileCall::EStatusDisconnectingWithInband:
+        case RMobileCall::EStatusDisconnecting:
+            {
+            CSPLOGSTRING( CSPREQIN, 
+                 "CSPCall::State > RMobileCall::EStatusDisconnecting/Inband?");
+            ret = MCCPCallObserver::ECCPStateDisconnecting;
+            break;
+            }
+        case RMobileCall::EStatusReconnectPending:
+            {
+            CSPLOGSTRING( CSPREQIN, 
+            "CSPCall::State > RMobileCall::EStatusHangingUp" );
+            ret = MCCPCallObserver::ECCPStateDisconnecting;
+            break;
+            }
+        case RMobileCall::EStatusHold:
+            {
+            CSPLOGSTRING( CSPREQIN, 
+            "CSPCall::State > RMobileCall::EStatusHold" );
+            ret = MCCPCallObserver::ECCPStateHold;
+            break;
+            }
+        case RMobileCall::EStatusWaitingAlternatingCallSwitch: 
+            {
+            // This state is not used in real life.
+            CSPLOGSTRING( CSPREQIN, 
+            "CSPCall::State > RMobileCall::EStatusWaitingAlternatingCallSwitch" );
+            ret = MCCPCallObserver::ECCPStateConnected;
+            break;
+            }
+        case RMobileCall::EStatusTransferring: 
+            {
+            CSPLOGSTRING( CSPREQIN, 
+            "CSPCall::State > RMobileCall::EStatusHold" );
+            ret = MCCPCallObserver::ECCPStateTransferring;
+            break;
+            }
+        case RMobileCall::EStatusTransferAlerting: 
+            {
+            CSPLOGSTRING( CSPREQIN, 
+            "CSPCall::State > RMobileCall::EStatusHold" );
+            ret = MCCPCallObserver::ECCPStateTransferring;
+            break;
+            }            
+        default:
+            {
+            CSPLOGSTRING( CSPREQIN, 
+                "CSPCall::CCPStateFromETelState unhandled state ");
+            }
+        }
+
+    CSPLOGSTRING3(CSPINT, 
+        "CSPCall::CCPStateFromETelState ETel: %d CCP: %d", aEtelState, ret);
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyCallStateChanged
+// Notifies observers about state changes
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NotifyCallStateChanged( MCCPCallObserver::TCCPCallState aState ) 
+    {
+    CSPLOGSTRING3(CSPINT, 
+            "CSPCall::NotifyCallStateChanged < state: %d this: %x", 
+            aState, this );
+                           
+    iCallState = aState;    
+    TBool notifyObservers( ETrue ); 
+
+    if ( !iMobileOriginated && MCCPCallObserver::ECCPStateRinging == aState )
+        {
+        CSPLOGSTRING2(CSPINT, "CSPCall::No notify on ringing MT", aState);        
+        notifyObservers = EFalse; 
+        }
+    
+    if ( notifyObservers )
+        {
+        TInt obsCount = iObservers.Count();
+        for ( TInt i = 0; i < obsCount; i++ )
+            {
+            MCCPCallObserver *obs = iObservers[i];
+            if ( obs )
+                {            
+                obs->CallStateChanged( aState, this );
+                }
+            }
+        }
+        
+    CSPLOGSTRING3(CSPINT, 
+            "CSPCall::NotifyCallStateChanged > state: %d this: %x", 
+            aState, this );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyCallStateChangedWithInband
+// Notifies observers about state changes
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NotifyCallStateChangedWithInband( 
+        MCCPCallObserver::TCCPCallState aState ) 
+    {
+    CSPLOGSTRING3(CSPINT, 
+        "CSPCall::NotifyCallStateChangedWithInBand < state: %d this: %x", 
+        aState, this );
+    
+    iCallState = aState;
+   
+    if ( !iMobileOriginated && MCCPCallObserver::ECCPStateRinging == aState )
+        {
+        CSPLOGSTRING2(CSPINT, "CSPCall::No notify on ringing MT", aState);
+        }
+    else
+        {        
+        TInt obsCount = iObservers.Count();
+        for ( TInt i = 0; i < obsCount; i++ )
+            {            
+            MCCPCallObserver *obs = iObservers[i];
+            if ( obs )
+                {
+                obs->CallStateChangedWithInband( aState, this );
+                }
+            }
+        }
+    CSPLOGSTRING3(CSPINT, 
+            "CSPCall::NotifyCallStateChangedWithInband > state: %d this: %x", 
+            aState, this);
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::ReadRepositoryL
+// Reads the given information from Central Repository.
+// ---------------------------------------------------------------------------
+//
+void CSPCall::ReadRepositoryL( TUid aUid, TUint aKey, TInt& aVal)
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::ReadRepositoryL");
+    
+    CRepository* cr = CRepository::NewL( aUid );
+    TInt err = cr->Get( aKey, aVal );
+    delete cr;
+    User::LeaveIfError( err );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::CheckAndNotifyTerminationError
+// Reads error code from ETel.
+// ---------------------------------------------------------------------------
+//
+void CSPCall::CheckAndNotifyTerminationError()
+    {
+    CSPLOGSTRING2(CSPINT, 
+        "CSPCall::CheckAndNotifyTerminationError dial completion code: %d", 
+        iDialCompletionCode);
+    
+    // Emergency error handling is separated into CSPEtelCallRequester
+    if ( !iIsEmergencyCall )
+        {
+        TInt termErr = ExitCodeError();
+        CSPLOGSTRING2(CSPINT, 
+                "CSPCall::CheckAndNotifyTerminationError exit code error: %d", 
+                termErr);
+        
+        if ( termErr == KErrNone )
+            {
+            // Handle KErrGsmCCUnassignedNumber correctly
+            // because the value is not stored in exit code.
+            termErr = iDialCompletionCode;
+            CSPLOGSTRING(CSPINT, 
+                    "CSPCall::CheckAndNotifyTerminationError use dial completion code");
+            }
+            
+        if ( termErr == KErrGsmRRPreEmptiveRelease )
+            {
+            // Error KErrGsmRRPreEmptiveRelease occurs when there is active call 
+            // and user make emergency call, can be ignored.
+            CSPLOGSTRING3( 
+                CSPERROR, 
+                "CSPCall::CheckAndNotifyTerminationError preemptive release, ignore: %d",
+                termErr,
+                this );
+            }
+        else if ( iDontReportTerm 
+                && (  termErr == KErrGsmCCNormalUnspecified 
+                   || termErr == KErrGsmCCCallRejected ) )
+            {
+            // Not an error, since this happens on normal 
+            // call termination situation after connected call.
+            CSPLOGSTRING3(CSPERROR, 
+                    "CSPCall::CheckAndNotifyTerminationError DISCARD this: %x err: %d", 
+                    this, 
+                    termErr);    
+            }        
+        else if ( termErr )
+            {
+            TCCPError ccpErr(ECCPErrorNone);
+
+            // Only a couple of error codes can have diagnostic information. 
+            // aDiagnostic ought to be undefined in other situatios,
+            // but at least in this way we can really guarantee it.
+            if ( termErr == KErrGsmCCFacilityRejected ||
+                 termErr == KErrGsmCCRequestedFacilityNotSubscribed ||
+                 termErr == KErrGsmCCIncomingCallsBarredInCug ||
+                 termErr == KErrGsmCCRequestedFacilityNotImplemented ||
+                 termErr == KErrGsmCCUserNotInCug )
+                {
+                TName name;
+                CallName( name );        
+                TInt diagErr = iCommonInfo.GetDiagnosticError( name );
+                ccpErr = iRequester->MapError( diagErr );
+    
+                // Finally use exit code if diagnostic did not contain
+                // any useful information.
+                if ( ccpErr == ECCPRequestFailure )
+                    {
+                    ccpErr = iRequester->MapError( termErr );
+                    }
+                }
+            else
+                {
+                ccpErr = iRequester->MapError( termErr );
+                }
+            
+            NotifyErrorOccurred( ccpErr );
+            iTerminationErrorNotified = ETrue;
+            }
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::ExitCodeError
+// Reads error code from ETel call info's iExitCode.
+// ---------------------------------------------------------------------------
+//
+TInt CSPCall::ExitCodeError() const
+    {
+    CSPLOGSTRING2(CSPINT, "CSPCall::ExitCodeError < this: %x", 
+                    this );
+    TInt callError;
+    RMobileCall::TMobileCallInfoV3 callInfo;
+    RMobileCall::TMobileCallInfoV3Pckg pck( callInfo );
+    TInt getErr = iCall.GetMobileCallInfo( pck );
+    // Is there value in higher 16 bits
+    if ( KErrNone == getErr && (callInfo.iExitCode & 0xFFFF0000) ) 
+        {
+        CSPLOGSTRING2(CSPINT, "CSPCall::ExitCodeError callInfo.iExitCode %d", 
+            callInfo.iExitCode );
+        callError = ( callInfo.iExitCode >> KTimesToSplitValue ); 
+        
+        if ( callError > KErrEtelGsmBase ) 
+            // Not in valid exteded range
+            {
+            // Ignore invalid extented code
+            if ( ( callInfo.iExitCode & 0x0000FFFF ) == KErrNone ) 
+                // core error is zero
+                {
+                callError = KErrNone;
+                }
+            else
+                {
+                callError = ( ( callInfo.iExitCode & 0x0000FFFF ) 
+                    | 0xFFFF0000 ); 
+                }
+            }
+        }
+    // Higher and lower 16 bits are zero
+    else if ( !( callInfo.iExitCode & 0xFFFFFFFF ) ) 
+        {
+        callError = KErrNone;
+        }
+    else 
+        {
+        // No extended error, expand value to full range
+        callError = ( callInfo.iExitCode | 0xFFFF0000 );
+        }
+        
+    CSPLOGSTRING2(CSPINT, "CSPCall::ExitCodeError > err: %d", callError);
+        
+    return callError;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::UUSMessageReceived
+// ---------------------------------------------------------------------------
+//
+ void CSPCall::UUSMessageReceived( TDesC& aMessage )
+    {      
+    CSPLOGSTRING(CSPREQIN, "CSPCall::UUSMessageReceived");
+    TCSPSkypeIdParser parser;
+           
+    TPtr ptr = iSkypeId->Des();
+    ptr.Zero();
+    const TInt error( parser.Parse( aMessage, ptr ) );
+    
+    if ( !error ) 
+        {
+        iRemotePartyName = ptr;
+        NotifyCallEventOccurred( MCCPCallObserver::ECCPNotifyRemotePartyInfoChange );            
+        }
+    CSPLOGSTRING2(CSPINT, "CSPCall::UUSMessageReceived  err: %d",  error );        
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyRemotePartyInfoChanged
+// ---------------------------------------------------------------------------
+//
+void CSPCall::NotifyRemotePartyInfoChanged(const TDesC& aRemoteParty) 
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::NotifyRemotePartyInfoChanged");
+    iRemotePartyName = aRemoteParty;
+    NotifyCallEventOccurred( MCCPCallObserver::ECCPNotifyRemotePartyInfoChange );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::DontReportTerminationError
+// ---------------------------------------------------------------------------
+//
+void CSPCall::DontReportTerminationError() 
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPCall::DontReportTerminationError");
+    iDontReportTerm = ETrue;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::UpdateCallNameNumberInfo
+// Update call info including remote party name and number data  
+// ---------------------------------------------------------------------------
+//    
+void CSPCall::UpdateCallNameNumberInfo(
+        RMobileCall::TMobileCallInfoV3& aCallInfo, 
+        TBool aCallAddedByMonitor )
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::UpdateCallNameNumberInfo <");
+
+    iCallName.Zero();
+    iRemotePartyNumber.Zero();
+    iRemotePartyName.Zero();
+    
+    if ( aCallAddedByMonitor )        
+        {
+        CSPLOGSTRING(CSPINT, 
+                "CSPCall::UpdateCallNameNumberInfo call added by monitor");
+
+        // If call was created by ETel line status or incoming call monitor
+        // the call name is already known, only remote party info is fetched from 
+        // call info 
+        iCallName.Append( iName );
+        iRemotePartyName.Append( aCallInfo.iRemoteParty.iCallingName );
+        iRemotePartyNumber.Append( aCallInfo.iRemoteParty.iRemoteNumber.iTelNumber );
+        }
+    else 
+        {
+        CSPLOGSTRING(CSPINT, 
+                "CSPCall::UpdateCallNameNumberInfo call added by plugin owner");
+        
+        // The call was not created by monitor and the remote number is already known, 
+        // fetch only call name from call info  
+        iCallName.Append( aCallInfo.iCallName );
+        iRemotePartyNumber.Append( iName ); 
+        }
+    
+    CSPLOGSTRING2(CSPINT, 
+            "CSPCall::UpdateCallNameNumberInfo iCallName: %S", &iCallName );
+    CSPLOGSTRING2(CSPINT, 
+            "CSPCall::UpdateCallNameNumberInfo iRemotePartyNumber: %S", &iRemotePartyNumber );
+    CSPLOGSTRING2(CSPINT, 
+            "CSPCall::UpdateCallNameNumberInfo iRemotePartyName: %S", &iRemotePartyName );
+
+    CSPLOGSTRING(CSPINT, "CSPCall::UpdateCallNameNumberInfo >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::OpenNewCall
+// Open new call 
+// ---------------------------------------------------------------------------
+//    
+void CSPCall::OpenNewCall()
+    {
+    CSPLOGSTRING(CSPINT, "CSPCall::OpenNewCall <");
+
+    // Open new call 
+    __ASSERT_ALWAYS( iCall.OpenNewCall( iLine ) == KErrNone, 
+            Panic( ECSPPanicNoEtel ) );
+
+    CSPLOGSTRING(CSPINT, "CSPCall::OpenNewCall >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::OpenExistingCallL
+// Open existing call  
+// ---------------------------------------------------------------------------
+//    
+void CSPCall::OpenExistingCallL( const TDesC& aName )
+    {
+    CSPLOGSTRING2(CSPINT, 
+            "CSPCall::OpenExistingCallL < aName: %S", &aName);
+    
+    // Open existing call with given name from current line 
+    TInt err = iCall.OpenExistingCall( iLine, aName ); 
+    
+    if ( KErrNone != err  )
+        {
+        CSPLOGSTRING2(CSPERROR,
+            "CSPCall::OpenCallHandleL OpenExistingCall error: %d, leaving", err);    
+        User::Leave( err );
+        }
+
+    CSPLOGSTRING(CSPINT, "CSPCall::OpenExistingCallL >");
+    }
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspcalladdedhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,262 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implements the class CSPCallAddedHandler
+*
+*/
+
+
+#include "cspcalladdedhandler.h"
+
+#include <etelmm.h>
+#include <mccpcsobserver.h>
+
+#include "cspcallarray.h"
+#include "cspetellinestatusmonitor.h"
+#include "mcsplinestatusobserver.h"
+#include "rcsplinecontainer.h"
+#include "csplogger.h"
+#include "cspclientvoicecall.h"
+#include "cspclientvideocall.h"
+#include "rcsplinecontainer.h"
+#include "mcspcommoninfo.h"
+#include "cspconsts.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPCallAddedHandler::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPCallAddedHandler* CSPCallAddedHandler::NewL( 
+                                   const MCCPCSObserver& aObserver,
+                                   RCSPLineContainer& aLineContainer,
+                                   CSPCallArray& aCallArray,
+                                   MCSPCommonInfo& aCommonInfo,
+                                   CSPAudioHandler& aAudioHandler )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPCallAddedHandler::NewL()" );
+    CSPCallAddedHandler* self = new ( ELeave ) CSPCallAddedHandler( 
+                                        aObserver, aLineContainer,
+                                        aCallArray, aCommonInfo, 
+                                        aAudioHandler );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPCallAddedHandler::~CSPCallAddedHandler( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPCallAddedHandler::~CSPCallAddedHandler" );
+    delete iAuxLineMonitor;
+    delete iVoiceLineMonitor;
+    delete iDataLineMonitor;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCallAddedHandler::CallAdded
+// ---------------------------------------------------------------------------
+//
+void CSPCallAddedHandler::CallAdded( RMobileLine& aLine, 
+                        TName aCallName,
+                        RCSPLineContainer::TCSPLineId aLineId )
+    {
+    CSPLOGSTRING2(CSPINT, 
+            "CSPCallAddedHandler::CallAdded line: %d", aLineId);
+    CSPLOGSTRING2(CSPINT, 
+            "CSPCallAddedHandler::CallAdded call name: %S", &aCallName);
+    
+    // Find call by name
+    if ( !iCallArray.FindCall( aCallName ) )
+        {        
+        TInt err( KErrNone );
+        
+        // Resolve call type
+        TUint32 serviceId( 0 );
+        CCPCall::TCallType callType;
+        CCCECallParameters::TCCELineType lineType;
+
+        iLineContainer.ResolveCallInfo( aLineId, serviceId, callType, lineType );
+        
+        CSPCall* call = NULL;
+        CCCECallParameters* callParameters = NULL;
+        
+        TRAP_IGNORE( callParameters = CCCECallParameters::NewL() );
+        if ( callParameters )
+            {
+            callParameters->SetServiceId(serviceId);
+            callParameters->SetCallType(callType);
+            callParameters->SetLineType(lineType);
+
+            CSPLOGSTRING2(CSPINT, 
+                    "CSPCallAddedHandler::CallAdded call type: %d", callType );
+            
+            if ( callType == CCPCall::ECallTypeCSVoice )
+                {
+                TRAP( err, call = CSPClientVoiceCall::NewL( aCallName, 
+                                                    aLine, *callParameters, 
+                                                    iCommonInfo ));
+                }                
+            else if ( callType == CCPCall::ECallTypeVideo )
+                {
+                CSPLOGSTRING(CSPINT, 
+                        "CSPCallAddedHandler::CallAdded creating video call");
+                TRAP( err, call = CSPClientVideoCall::NewL( aCallName, 
+                                                    aLine, *callParameters, 
+                                                    iCommonInfo ));
+                }
+
+            delete callParameters;
+            callParameters = NULL; 
+            }
+        
+        CSPLOGSTRING2(CSPINT, 
+           "CSPCallAddedHandler::CallAdded Client call creation res %d", err );
+        
+        if ( call )
+            {
+            // Set audio handler for DevSound
+            call->SetAudioHandler( &iAudioHandler );
+            
+            MCCPCallObserver::TCCPCallState callState = call->State(); 
+            CSPLOGSTRING2(CSPINT, 
+                    "CSPCallAddedHandler::CallAdded call state: %d", callState );
+            
+            if ( callState == MCCPCallObserver::ECCPStateDialling )
+               {                   
+               CSPLOGSTRING(CSPINT, 
+                       "CSPCallAddedHandler::CallAdded add Dialling call" );
+               
+               iCallArray.Add( call );
+               
+               CSPLOGSTRING(CSPINT, 
+                       "CSPCallAddedHandler::CallAdded notifying dialling state" );
+               
+               call->NotifyCallStateChangedETel( RMobileCall::EStatusDialling ); 
+               }
+            else if ( callState == MCCPCallObserver::ECCPStateConnecting || 
+                      callState == MCCPCallObserver::ECCPStateConnected )
+               {
+               CSPLOGSTRING(CSPINT, 
+                       "CSPCallAddedHandler::CallAdded add Connecting/Connected call" );
+               iCallArray.Add( call );                              
+               iCommonInfo.IndicateClientCall( call );
+               }
+            else 
+                {
+                CSPLOGSTRING(CSPERROR, 
+                        "CSPCallAddedHandler::CallAdded ignore call" );
+                delete call;
+                }
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCallAddedHandler::LineStatusChanged
+// ---------------------------------------------------------------------------
+//
+void CSPCallAddedHandler::LineStatusChanged( RMobileLine& aLine, 
+                                             RCSPLineContainer::TCSPLineId aLineId,
+                                             RMobileCall::TMobileCallStatus& aLineStatus )
+    {    
+    CSPLOGSTRING2(CSPINT, 
+            "CSPCallAddedHandler::LineStatusChanged line: %d", aLineId );
+    CSPLOGSTRING2(CSPINT, 
+            "CSPCallAddedHandler::LineStatusChanged line status: %d", 
+            aLineStatus );
+    
+    if ( aLineStatus == RMobileCall::EStatusDialling )
+        {
+        TInt err(KErrNone);
+        RLine::TLineInfo lineInfo;
+        err = aLine.GetInfo( lineInfo );
+        TName callName; 
+        
+        if ( err == KErrNone )
+            {
+            callName = lineInfo.iNameOfLastCallAdded;
+            CallAdded( aLine, callName, aLineId); 
+            }
+        else 
+            {
+            CSPLOGSTRING2(CSPERROR, 
+                    "CSPCallAddedHandler::LineStatusChanged get info err:%d", 
+                    err);
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPCallAddedHandler::CSPCallAddedHandler(
+            const MCCPCSObserver& aObserver,
+            RCSPLineContainer& aLineContainer,
+            CSPCallArray& aCallArray,
+            MCSPCommonInfo& aCommonInfo,
+            CSPAudioHandler& aAudioHandler ) :
+            iLineContainer( aLineContainer ),
+            iObserver( aObserver ),            
+            iCallArray( aCallArray ),
+            iCommonInfo( aCommonInfo ),
+            iAudioHandler( aAudioHandler )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPCallAddedHandler::CSPCallAddedHandler");
+    }
+    
+// ---------------------------------------------------------------------------
+// Second phase construction.
+// ---------------------------------------------------------------------------
+//
+void CSPCallAddedHandler::ConstructL()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPCallAddedHandler::ConstructL <");
+    
+    if ( iLineContainer.LineIsOpen( RCSPLineContainer::ECSPLineSpeech ) )
+        {
+        RMobileLine& line = iLineContainer.LineByType( 
+                                RCSPLineContainer::ECSPLineSpeech );
+        iVoiceLineMonitor = CSPEtelLineStatusMonitor::NewL( *this, line, 
+                                            RCSPLineContainer::ECSPLineSpeech );
+        iVoiceLineMonitor->StartMonitoring();
+        }
+    // This is for videocalls
+    if ( iLineContainer.LineIsOpen( RCSPLineContainer::ECSPLineData ) )
+        {
+        RMobileLine& line = iLineContainer.LineByType( 
+                                RCSPLineContainer::ECSPLineData );
+
+        iDataLineMonitor = CSPEtelLineStatusMonitor::NewL( *this, line, 
+                                                    RCSPLineContainer::ECSPLineData );
+        iDataLineMonitor->StartMonitoring();
+        }
+
+    if ( iLineContainer.LineIsOpen( RCSPLineContainer::ECSPLineAuxSpeech ) )
+        {
+        RMobileLine& line = iLineContainer.LineByType( 
+                                RCSPLineContainer::ECSPLineAuxSpeech );
+        iAuxLineMonitor = CSPEtelLineStatusMonitor::NewL( *this, line, 
+                                            RCSPLineContainer::ECSPLineAuxSpeech );
+        iAuxLineMonitor->StartMonitoring();
+        }
+    
+    CSPLOGSTRING(CSPOBJECT, "CSPCallAddedHandler::ConstructL >");
+    }
+    
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspcallarray.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,145 @@
+/*
+* 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:  Implements the class CSPCallArray
+*
+*/
+
+
+#include <etelmm.h>
+
+#include "cspcallarray.h"
+#include "csplogger.h"
+#include "cspcall.h"
+#include "cspconsts.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPCallArray::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPCallArray* CSPCallArray::NewL( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPCallArray::NewL()" );
+    CSPCallArray* self = new ( ELeave ) CSPCallArray(  );
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the array including remaining calls.
+// ---------------------------------------------------------------------------
+//
+CSPCallArray::~CSPCallArray( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPCallArray::~CSPCallArray()" );
+    TInt callCount = iCallArray.Count();
+    CSPLOGSTRING2(CSPOBJECT, "CSPCallArray::~CSPCallArray() calls %d", callCount);
+    
+    for (TInt callIndex = 0; callIndex < callCount; callIndex++)
+        {
+        CSPCall* call = iCallArray[ callIndex ];
+        delete call;
+        }
+        
+    iCallArray.Reset();
+    iCallArray.Close();
+    }
+
+// ---------------------------------------------------------------------------
+// From MCSPCallInformation
+// Iterates through call objects finding the call matching the given name.
+// ---------------------------------------------------------------------------
+//    
+CSPCall* CSPCallArray::FindCall( const TName& aCallName )
+    {
+    CSPLOGSTRING(CSPINT, "CSPCallArray::FindCall()");
+    
+    TInt callCount = iCallArray.Count();
+    for (TInt callIndex = 0; callIndex < callCount; callIndex++)
+        {
+
+        CSPCall* call = iCallArray[ callIndex ];        
+        if ( call )
+            {
+            TName currentCallName;
+            call->CallName( currentCallName );
+            if ( currentCallName.Compare( aCallName ) == 0 )
+                {
+                CSPLOGSTRING(CSPINT, "CSPCallArray::FindCall() OK");
+                return call;
+                }
+            }
+        }
+
+    CSPLOGSTRING(CSPINT, "CSPCallArray::FindCall() NOT FOUND");    
+    return NULL;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCallArray::Add
+// ---------------------------------------------------------------------------
+//    
+TInt CSPCallArray::Add(CSPCall* aCall ) 
+    { 
+    CSPLOGSTRING(CSPINT, "CSPCallArray::Add()");
+    return iCallArray.Append( aCall ); 
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCallArray::Remove
+// ---------------------------------------------------------------------------
+//    
+TInt CSPCallArray::Remove(CSPCall* aCall ) 
+    {
+    CSPLOGSTRING(CSPINT, "CSPCallArray::Remove()");
+    TInt index = iCallArray.Find( aCall );
+    if ( index != KErrNotFound )
+        {
+        iCallArray.Remove( index );
+        return KErrNone;
+        }
+    CSPLOGSTRING(CSPINT, "CSPCallArray::Remove() NOT FOUND");
+    return KErrNotFound;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCallArray::GetCallCount
+// ---------------------------------------------------------------------------
+//    
+TInt CSPCallArray::GetCallCount( )
+    {
+    return iCallArray.Count();
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCallArray::Get
+// ---------------------------------------------------------------------------
+//    
+CSPCall* CSPCallArray::Get( TInt aIndex )
+    {
+    return iCallArray[aIndex];
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPCallArray::CSPCallArray()
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPCallArray::CSPCallArray()" );
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspcallcommandhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,193 @@
+/*
+* 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:  Implements the class CSPCallCommandHandler
+*
+*/
+
+
+#include "cspcallcommandhandler.h"
+#include "mcspcallcommandhandling.h"
+#include "csplogger.h"
+
+// ---------------------------------------------------------------------------
+// CSPCallCommandHandler::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPCallCommandHandler* CSPCallCommandHandler::NewL()
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPCallCommandHandler::NewL()" );
+    CSPCallCommandHandler* self = new ( ELeave ) CSPCallCommandHandler();
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the array including remaining calls.
+// ---------------------------------------------------------------------------
+//
+CSPCallCommandHandler::~CSPCallCommandHandler()
+    {
+    iActiveHangupArray.Reset();
+    iActiveHangupArray.Close();
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPCallCommandHandler::~CSPCallCommandHandler");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCallCommandHandler::IndicateActiveHangup
+// ---------------------------------------------------------------------------
+//
+TInt CSPCallCommandHandler::IndicateActiveHangup( MCCPCallCommandHandling& aCall )
+    {
+    TInt err = iActiveHangupArray.Find( &aCall );
+    if ( err == KErrNotFound )
+        {
+        err = iActiveHangupArray.Append( &aCall );
+        CSPLOGSTRING2( 
+            CSPINT, 
+            "CSPCallCommandHandler::IndicateActiveHangup append error: %d", 
+            err );
+        }
+    else
+        {
+        CSPLOGSTRING( 
+            CSPINT, 
+            "CSPCallCommandHandler::IndicateActiveHangup call already added");
+        }
+    CSPLOGSTRING2( 
+        CSPINT, 
+        "CSPCallCommandHandler::IndicateActiveHangup active hangup count: %d", 
+        iActiveHangupArray.Count());
+        
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCallCommandHandler::CSPCallCommandHandler::IndicateHangupComplete
+// ---------------------------------------------------------------------------
+//  
+TInt CSPCallCommandHandler::IndicateHangupComplete( MCCPCallCommandHandling& aCall )
+    {
+    TInt index = iActiveHangupArray.Find( &aCall );
+    if ( index != KErrNotFound )
+        {
+        iActiveHangupArray.Remove( index );
+        CSPLOGSTRING(CSPINT, 
+            "CSPCallCommandHandler::IndicateHangupComplete remove");
+        }
+
+    if( !iActiveHangupArray.Count() && iPendingCall )
+        {
+        if( iPendingCommand == ECSPAnswerCall )
+            {
+            CSPLOGSTRING(CSPINT, 
+                "CSPCallCommandHandler::IndicateHangupComplete perform answer request");
+            iPendingCall->PerformAnswerRequest();
+            iPendingCommand = ECSPNone;
+            iPendingCall = NULL;
+            }
+        else if( iPendingCommand == ECSPDialCall )
+            {
+            CSPLOGSTRING(CSPINT, 
+                "CSPCallCommandHandler::IndicateHangupComplete perform dial request");
+            iPendingCall->PerformDialRequest();
+            iPendingCommand = ECSPNone;
+            iPendingCall = NULL;
+            }
+        }
+        
+    CSPLOGSTRING2(CSPINT, 
+        "CSPCallCommandHandler::IndicateHangupComplete active hangup count: %d", 
+        iActiveHangupArray.Count());
+        
+    return KErrNone;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPCallCommandHandler::IndicateDialRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPCallCommandHandler::IndicateDialRequest( MCCPCallCommandHandling& aCall )
+            
+    {
+    CSPLOGSTRING(CSPINT, 
+        "CSPCallCommandHandler::IndicateDialRequest");
+    TInt ret( KErrNone );
+    
+    if( !iActiveHangupArray.Count() )
+        {
+        CSPLOGSTRING(CSPINT, 
+            "CSPCallCommandHandler::IndicateDialRequest dial");
+        aCall.PerformDialRequest();
+        }
+    else if( !iPendingCall && iPendingCommand == ECSPNone )
+        {
+        CSPLOGSTRING(CSPINT, 
+            "CSPCallCommandHandler::IndicateDialRequest delay dialing");
+        iPendingCall = &aCall;
+        iPendingCommand = ECSPDialCall;
+        }
+    else
+        {
+        CSPLOGSTRING(CSPINT, 
+            "CSPCallCommandHandler::IndicateDialRequest ERROR already exists");
+        ret = KErrAlreadyExists;
+        }
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCallCommandHandler::IndicateAnswerRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPCallCommandHandler::IndicateAnswerRequest( MCCPCallCommandHandling& aCall )
+            
+    {
+    CSPLOGSTRING(CSPINT, "CSPCallCommandHandler::IndicateAnswerRequest" );
+        
+    TInt ret( KErrNone );
+    
+    if( !iActiveHangupArray.Count() )
+        {
+        CSPLOGSTRING(CSPINT, 
+            "CSPCallCommandHandler::IndicateAnswerRequest answer");
+        aCall.PerformAnswerRequest();
+        }
+    else if( !iPendingCall && iPendingCommand == ECSPNone )
+        {
+        CSPLOGSTRING(CSPINT, 
+            "CSPCallCommandHandler::IndicateAnswerRequest delay answering");
+        iPendingCall = &aCall;
+        iPendingCommand = ECSPAnswerCall;
+        }
+    else
+        {
+        CSPLOGSTRING(CSPINT, 
+            "CSPCallCommandHandler::IndicateAnswerRequest ERROR already exists");
+        ret = KErrAlreadyExists;
+        }
+        
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPCallCommandHandler::CSPCallCommandHandler()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPCallCommandHandler::CSPCallCommandHandler");
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspcallinfomonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,155 @@
+/*
+* 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:  Monitors changes in remote party info.
+*  Interface   : 
+*
+*/
+
+
+
+//  INCLUDE FILES
+
+#include    "cspcallinfomonitor.h"       
+#include    "mcspcallobserver.h"
+#include    "csppanic.pan"
+#include    "csplogger.h" //Debug
+
+
+// ============================ MEMBER FUNCTIONS =============================
+
+//----------------------------------------------------------------------------
+//  CSPCallInfoMonitor::NewL()
+//
+//  1st phase constructor
+//----------------------------------------------------------------------------
+//
+CSPCallInfoMonitor* CSPCallInfoMonitor::NewL
+    ( MCSPCallObserver& aObserver,
+      RMobileCall& aCall  )   
+    {
+    CSPCallInfoMonitor* self = new (ELeave) CSPCallInfoMonitor( aObserver,
+                                                                aCall ); 
+    return self;
+    }
+
+//----------------------------------------------------------------------------
+//  CSPCallInfoMonitor::~CSPCallInfoMonitor()
+//
+//  d'tor.
+//----------------------------------------------------------------------------
+//
+CSPCallInfoMonitor::~CSPCallInfoMonitor()
+    {    
+    Cancel();
+    CSPLOGSTRING( CSPINT, "CSP: CSPCallInfoMonitor::~CSPCallInfoMonitor" );
+    }
+
+//----------------------------------------------------------------------------
+//  CSPCallInfoMonitor::StartMonitor()
+//
+//  Starts monitoring.
+//----------------------------------------------------------------------------
+//
+void CSPCallInfoMonitor::StartMonitoring()
+    {    
+    // error ignored (starting notification doesn't leave)
+    if (!IsActive()) 
+        {
+        iCall.NotifyRemotePartyInfoChange( 
+            iStatus,  
+            iRemotePartyInfoPckg ); 
+        SetActive();             
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPCallInfoMonitor::StartMonitoring: Already active" );
+        
+        }
+    }
+
+//----------------------------------------------------------------------------
+//  CSPCallInfoMonitor::RunL()
+//
+//  Handling of the status changes.
+//----------------------------------------------------------------------------
+//
+void CSPCallInfoMonitor::RunL()
+    {
+    CSPLOGSTRING2( CSPINT, 
+        "CSP: CSPCallInfoMonitor::RunL iStatus: %d", iStatus.Int() );
+
+    RMobileCall::TMobileCallRemoteIdentityStatus idStatus = 
+        iRemotePartyInfo.iRemoteIdStatus;
+    CSPLOGSTRING2( CSPINT, 
+        "CSP: CSPCallInfoMonitor::RunL id status: %d", idStatus );
+
+    switch ( iStatus.Int() )
+        {
+        case KErrNone:
+            {                
+            if ( idStatus == RMobileCall::ERemoteIdentityAvailable) 
+                {
+                iObserver.NotifyRemotePartyInfoChanged(
+                    iRemotePartyInfo.iCallingName);
+                }
+            else
+                {
+                CSPLOGSTRING2( CSPERROR, 
+                "CSP: CSPCallInfoMonitor::RunL DISCARD: %d", idStatus );
+                }            
+            break;
+            }
+        default:
+            CSPLOGSTRING( CSPERROR, 
+                "CSP: CSPCallInfoMonitor::RunL error" );
+            break;
+        }
+        
+    if ( KErrNotSupported != iStatus.Int() )
+        {        
+        StartMonitoring();
+        }
+    }
+
+//----------------------------------------------------------------------------
+//  CSPCallInfoMonitor::DoCancel()
+//
+//  Implementation of cancel.
+//----------------------------------------------------------------------------
+//
+void CSPCallInfoMonitor::DoCancel()
+    {
+    CSPLOGSTRING( CSPINT, "CSP: CSPCallInfoMonitor::DoCancel" );
+    
+    iCall.CancelAsyncRequest( EMobileCallNotifyRemotePartyInfoChange );
+    }
+
+//----------------------------------------------------------------------------
+//  CSPCallInfoMonitor::CSPCallInfoMonitor()
+//
+//  constructor.
+//----------------------------------------------------------------------------
+//
+CSPCallInfoMonitor::CSPCallInfoMonitor( MCSPCallObserver &aObserver, 
+                                        RMobileCall& aCall ) : 
+        CActive( EPriorityStandard ),
+        iObserver( aObserver ),
+        iCall( aCall ),
+        iRemotePartyInfoPckg( iRemotePartyInfo )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspcenreplistener.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,169 @@
+/*
+* 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:  Central Repository listening
+*
+*/
+
+
+// INCLUDE FILES
+#include "cspcenreplistener.h"
+#include <centralrepository.h>
+#include "csppanic.pan"
+#include "mcspcenrepobserver.h"
+#include "csplogger.h"
+
+
+// -----------------------------------------------------------------------------
+// CSPCenRepListener::CSPCenRepListener
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSPCenRepListener* CSPCenRepListener::NewL(
+        TUid aUid,
+        TUint32 aMonitorSetting,
+        MCSPCenRepObserver* aObserver
+        )
+    {
+    CSPLOGSTRING( CSPINT, "CSPCenRepListener::NewL" )
+    CSPCenRepListener* self = new( ELeave ) 
+        CSPCenRepListener( aUid, aMonitorSetting, aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+    
+
+// Destructor
+CSPCenRepListener::~CSPCenRepListener()
+    {
+    Cancel();
+    delete iRepository;
+    }
+    
+
+// -----------------------------------------------------------------------------
+// CSPCenRepListener::Get
+// -----------------------------------------------------------------------------
+//
+TInt CSPCenRepListener::Get( TInt& aValue )
+    {
+    return ( iRepository->Get( iMonitorSetting, aValue ) );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CSPCenRepListener::DoCancel
+// -----------------------------------------------------------------------------
+//
+void CSPCenRepListener::DoCancel()
+    {
+    __ASSERT_DEBUG( iRepository, Panic( ECSPPanicNoRepository ) );
+    iRepository->NotifyCancel( iMonitorSetting );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CSPCenRepListener::RunError
+// -----------------------------------------------------------------------------
+//
+TInt CSPCenRepListener::RunError(
+        #ifdef _DEBUG
+        TInt aError // Log the leavecode from RunL
+        #else
+        TInt /*aError*/
+        #endif
+        )
+    {
+    #ifdef _DEBUG
+    CSPLOGSTRING2( CSPERROR, "CSPCenRepListener::RunError %d", aError );
+    #endif
+    return ( KErrNone );
+    }
+
+
+// -----------------------------------------------------------------------------
+// CSPCenRepListener::RunL
+// -----------------------------------------------------------------------------
+//
+void CSPCenRepListener::RunL()
+    {
+    CSPLOGSTRING( CSPINT, "CSPCenRepListener::RunL");
+
+    // Don't resubmit the request on error
+    // Central repositry completes notifications with id of setting
+    // so check only that value of iStatus is negative
+    User::LeaveIfError( iStatus.Int() < KErrNone ); 
+    SubmitNotifyRequestL();
+
+    TInt volume;
+    // The loudspeaker volume has changed in repository.
+    // Retrieve the current volume from repository.
+    User::LeaveIfError( Get( volume ) );
+
+    CSPLOGSTRING2( CSPINT, "CSPCenRepListener::RunL vol %d", volume);
+    iObserver->HandleNotifyCenRepL( iUid, iMonitorSetting, volume ); 
+    }
+
+
+// -----------------------------------------------------------------------------
+// CSPCenRepListener::CSPCenRepListener
+// -----------------------------------------------------------------------------
+//
+CSPCenRepListener::CSPCenRepListener(
+        TUid aUid,
+        TUint32 aMonitorSetting,
+        MCSPCenRepObserver* aObserver
+        ) : CActive( EPriorityStandard ),
+            iUid( aUid ),
+            iMonitorSetting( aMonitorSetting ),
+            iObserver( aObserver )
+    {
+    CSPLOGSTRING( CSPINT, "CSPCenRepListener::CSPCenRepListener, start");
+    CActiveScheduler::Add( this );
+    
+    CSPLOGSTRING( CSPINT, "CSPCenRepListener::CSPCenRepListener, complete");
+    }
+
+        
+// -----------------------------------------------------------------------------
+// CSPCenRepListener::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CSPCenRepListener::ConstructL()
+    {
+    // Create repository instance
+    iRepository = CRepository::NewL( iUid );
+    // Start monitoring
+    SubmitNotifyRequestL();
+    }
+
+
+// -----------------------------------------------------------------------------
+// CSPCenRepListener::SubmitNotifyRequestL
+// -----------------------------------------------------------------------------
+//
+void CSPCenRepListener::SubmitNotifyRequestL()
+    {
+    CSPLOGSTRING( CSPINT, "CSPCenRepListener::SubmitNotifyRequestL");
+    __ASSERT_DEBUG( iRepository, Panic( ECSPPanicNoRepository ) );
+    __ASSERT_DEBUG( !IsActive(), Panic( ECSPPanicRepositoryAlreadyActive ) );
+    iRepository->NotifyRequest( iMonitorSetting, iStatus );
+    SetActive();
+    CSPLOGSTRING( CSPINT, "CSPCenRepListener::SubmitNotifyRequestL, complete");
+    }
+
+    
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspcipheringstatusmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,201 @@
+/*
+* 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:  Contains the implementation of class 
+*                CSPCipheringStatusMonitor.
+*
+*/
+
+
+//  INCLUDE FILES
+#include <rmmcustomapi.h>
+#include "cspcipheringstatusmonitor.h"
+#include "csplogger.h"
+#include "mcspsecuritysettingobserver.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+CSPCipheringStatusMonitor::CSPCipheringStatusMonitor( 
+        RMmCustomAPI& aMmCustom, MCSPSecuritySettingObserver& aObs )
+          : CActive( EPriorityStandard ),            
+            iMmCustom( aMmCustom ),
+            iObserver( aObs ),
+            iIsInitialised( EFalse ),
+            iCallsSecured( EFalse ), 
+            iSecureSpecified( ETrue )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+// Destructor
+CSPCipheringStatusMonitor::~CSPCipheringStatusMonitor()
+    {
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCipheringStatusMonitor::NewL
+// ---------------------------------------------------------------------------
+//
+CSPCipheringStatusMonitor* CSPCipheringStatusMonitor::NewL(
+     RMmCustomAPI& aMmCustom, MCSPSecuritySettingObserver& aObs ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPCipheringStatusMonitor::NewL()" );
+    CSPCipheringStatusMonitor* self = new ( ELeave ) CSPCipheringStatusMonitor( 
+                                        aMmCustom, aObs );
+    return self;    
+    }
+
+// -----------------------------------------------------------------------------
+// CSPCipheringStatusMonitor::StartMonitoring
+// Starts ciphering status monitoring
+// -----------------------------------------------------------------------------
+//
+void CSPCipheringStatusMonitor::StartMonitoring()
+    {    
+    if ( !IsActive() )
+        {
+        if ( !iIsInitialised )
+            {
+            // Monitor not initialized, get the initial ciphering status
+            iMmCustom.GetCipheringInfo( iStatus, iCipheringInfo );
+            }
+        else
+            {
+            // Monitor already initialized, monitor changes
+            iMmCustom.NotifyCipheringInfoChange( iStatus, iCipheringInfo ); 
+            }
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSP: CSPCipheringStatusMonitor::StartMonitoring: \
+             not done, already active");
+        }
+    }
+    
+// -----------------------------------------------------------------------------
+// CSPCipheringStatusMonitor::DoCancel
+// Cancels active object requests
+// Method calls CancelAsyncRequest from the CustomaEtel object
+// -----------------------------------------------------------------------------
+//
+void CSPCipheringStatusMonitor::DoCancel()
+    {
+    CSPLOGSTRING( CSPINT, "CSP: CSPCipheringStatusMonitor::DoCancel" );
+    
+    if ( IsActive() )
+        {
+        if( iIsInitialised )
+            {
+            iMmCustom.CancelAsyncRequest( ECustomNotifyCipheringInfoChangeIPC );
+            }
+        else
+            {
+            iMmCustom.CancelAsyncRequest( ECustomGetCipheringInfoIPC );
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CPESupplementaryServicesMonitor::RunL
+// Method gets notification from etel that asyncronous request is completed.
+// Method sends possible messages to the owner object and
+// Method makes a new issue request to the CustomEtel.
+// -----------------------------------------------------------------------------
+//
+void CSPCipheringStatusMonitor::RunL()
+    {
+    CSPLOGSTRING2(CSPINT,
+        "CSP: CSPCipheringStatusMonitor::RunL: iStatus: %d", iStatus.Int() );
+
+    if ( iStatus == KErrNone )
+        {
+        TBool secureSpecifiedChanged = iSecureSpecified != iCipheringInfo.iIndStatus; 
+        
+        // Notify only on secure specified status changes 
+        if ( secureSpecifiedChanged )        
+            {
+            // Is set when secure indicator showing is allowed.
+            iSecureSpecified = iCipheringInfo.iIndStatus; 
+            
+            if ( !iSecureSpecified )
+                {                
+                iObserver.SecuritySettingChanged( 
+                        MCSPSecuritySettingObserver::ESecureNotSpecified ); 
+                }
+            }
+        
+        TBool callsSecuredChanged = ( iCallsSecured != iCipheringInfo.iCiphStatus ); 
+        
+        // Notify secure status changes only when secure has been specified
+        if ( iSecureSpecified && callsSecuredChanged )
+            {
+            iCallsSecured = iCipheringInfo.iCiphStatus;
+            
+            if ( iCallsSecured )
+                {
+                iObserver.SecuritySettingChanged( MCSPSecuritySettingObserver::ESecureCall ); 
+                }
+            else 
+                {                
+                iObserver.SecuritySettingChanged( MCSPSecuritySettingObserver::ENotSecureCall ); 
+                }
+            }
+        
+        iIsInitialised = ETrue; 
+        StartMonitoring();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSPCipheringStatusMonitor::RunL: Ciphering Off  MONITOR OFF" );                
+        }
+          
+    if ( iStatus == KErrNotFound && !iIsInitialised )
+        {
+        // Network was not ready while fetching ciphering info
+        iIsInitialised = ETrue;
+        StartMonitoring();
+        CSPLOGSTRING( CSPINT, 
+            "CALL: CSPCipheringStatusMonitor::RunL: StartMonitoring()" );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CSPCipheringStatusMonitor::NetworkSecurityStatus
+// Network security status.
+// -----------------------------------------------------------------------------
+//
+TBool CSPCipheringStatusMonitor::NetworkSecurityStatus() const
+    {
+    return iCallsSecured;
+    }
+
+// -----------------------------------------------------------------------------
+// CSPCipheringStatusMonitor::SecureSpecified
+// Secure specified status.
+// -----------------------------------------------------------------------------
+//
+TBool CSPCipheringStatusMonitor::SecureSpecified() const
+    {
+    return iSecureSpecified;
+    }
+
+// End of File 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspclientvideocall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Implements class CSPClientVideoCall which provides client video call 
+*               functionality
+*
+*/
+
+
+#include <etelmm.h>
+#include <etel.h>
+#include <mccpcallobserver.h>
+#include <rmmcustomapi.h>
+
+#include "cspclientvideocall.h"
+#include "csplogger.h"
+#include "csppanic.pan"
+#include "cspconsts.h"
+#include "mcspcommoninfo.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPClientVideoCall::NewL Two phased construction.
+// ---------------------------------------------------------------------------
+//
+CSPClientVideoCall* CSPClientVideoCall::NewL( const TDesC& aName, 
+                          RMobileLine& aLine,  
+                          const CCCECallParameters& aParams,
+                          MCSPCommonInfo& aCommonInfo )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVideoCall::NewL <<");
+    
+    CSPClientVideoCall* self = new (ELeave) CSPClientVideoCall( aLine, 
+                                            aName, aCommonInfo );
+    CleanupStack::PushL( self );    
+    self->ConstructL( aParams );
+    CleanupStack::Pop( self );
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVideoCall::NewL >>");
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPClientVideoCall::~CSPClientVideoCall
+// ---------------------------------------------------------------------------
+//
+CSPClientVideoCall::~CSPClientVideoCall()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVideoCall::~CSPClientVideoCall");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVideoCall::NotifyCallStateChanged
+// Notifies observers about state changes
+// ---------------------------------------------------------------------------
+//
+void CSPClientVideoCall::NotifyCallStateChanged(
+            MCCPCallObserver::TCCPCallState aState ) 
+    {
+    CSPLOGSTRING2(CSPINT, 
+            "CSPClientVideoCall::NotifyCallStateChanged state: %d", 
+            aState);
+    
+    // Client call type is not valid before Dialling state
+    if ( aState == MCCPCallObserver::ECCPStateDialling )
+        {
+        CSPLOGSTRING(CSPOBJECT, "CSPClientVideoCall::NotifyCallStateChanged\
+             updating call type");
+        
+        CCPCall::TCallType callType = SelectCallTypeFromProtocolCaps(); 
+        iParams->SetCallType( callType );
+        
+        // Indicate client call to observer in Dialling state
+        IndicateClientCall();     
+        }
+
+    CSPVideoCall::NotifyCallStateChanged( aState );  
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPClientVideoCall::NotifyCallStateChangedWithInband
+// Notifies observers about state changes
+// ---------------------------------------------------------------------------
+//
+void CSPClientVideoCall::NotifyCallStateChangedWithInband(
+            MCCPCallObserver::TCCPCallState aState ) 
+    {
+    CSPLOGSTRING2(CSPINT, 
+        "CSPClientVideoCall::NotifyCallStateChangedWithInband %d", aState);
+    
+    // Client call type info is not available before Dialling phase
+    if ( aState == MCCPCallObserver::ECCPStateDialling )
+        {
+        CSPLOGSTRING(CSPOBJECT, "CSPClientVideoCall::NotifyCallStateChanged\
+             updating call type");
+        
+        CCPCall::TCallType callType = SelectCallTypeFromProtocolCaps(); 
+        iParams->SetCallType( callType );
+
+        // Indicate client call to observer in Dialling state
+        IndicateClientCall(); 
+        }
+    
+    CSPVideoCall::NotifyCallStateChangedWithInband( aState );  
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVideoCall::CSPClientVideoCall
+// ---------------------------------------------------------------------------
+//
+CSPClientVideoCall::CSPClientVideoCall( RMobileLine& aLine,
+                  const TDesC& aName,
+                  MCSPCommonInfo& aCommonInfo ) : 
+                     CSPVideoCall( aLine, ETrue, aName, 
+                                   aCommonInfo )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVideoCall::CSPClientVideoCall");
+    // Set client call flag(s)
+    iClientCallIndicated = EFalse; 
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVideoCall::ConstructL
+// Constructing CSPClientVideoCall for MT call.
+// ---------------------------------------------------------------------------
+//    
+void CSPClientVideoCall::ConstructL( const CCCECallParameters& aParams )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVideoCall::ConstructL <");
+    CSPVideoCall::ConstructL( aParams );
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVideoCall::ConstructL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVideoCall::IndicateClientCall
+// Indicate dialling if needed 
+// ---------------------------------------------------------------------------
+//  
+void CSPClientVideoCall::IndicateClientCall()
+    {
+    // Can be done only once for each call and possible duplicate 
+    // notifies are blocked 
+    if ( !iClientCallIndicated )
+        {
+        iClientCallIndicated = ETrue;
+
+        CSPLOGSTRING(CSPINT, 
+            "CSPClientVideoCall::IndicateClientCall IndicateClientCall")
+        
+        iCommonInfo.IndicateClientCall( this );
+        
+        CSPLOGSTRING(CSPINT, 
+            "CSPClientVideoCall::IndicateClientCall IndicateClientCall completed")                
+        }    
+    else 
+        {
+        CSPLOGSTRING(CSPERROR, 
+            "CSPClientVideoCall::IndicateClientCall already indicated")
+        }        
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVideoCall::OpenCallHandleL
+// ---------------------------------------------------------------------------
+//    
+void CSPClientVideoCall::OpenCallHandleL()
+    {
+    CSPLOGSTRING(CSPINT, "CSPClientVideoCall::OpenCallHandleL <");
+
+    // Client call, open existing call handle 
+    OpenExistingCallL( iName ); 
+    
+    CSPLOGSTRING(CSPINT, "CSPClientVideoCall::OpenCallHandleL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVideoCall::UpdateCallInfoImpl
+// Update call info including remote party name and number data  
+// ---------------------------------------------------------------------------
+//    
+void CSPClientVideoCall::UpdateCallInfoImpl( RMobileCall::TMobileCallInfoV7 aCallInfo )
+    {
+    CSPLOGSTRING(CSPINT, "CSPClientVideoCall::UpdateCallInfoImpl <");
+    
+    // Call was added by ETel monitor, update info accordingly 
+    UpdateCallNameNumberInfo( aCallInfo, ETrue );     
+    UpdateCallOrigin( aCallInfo );
+    
+    CSPLOGSTRING(CSPINT, "CSPClientVideoCall::UpdateCallInfoImpl >");
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspclientvoicecall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,190 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implements class CSPClientVoiceCall which provides call functionality
+*
+*/
+
+
+#include <etelmm.h>
+#include <etel.h>
+#include <mccpcallobserver.h>
+#include <cccecallparameters.h>
+
+#include "cspclientvoicecall.h"
+#include "csplogger.h"
+#include "csppanic.pan"
+#include "cspconsts.h"
+#include "mcspcommoninfo.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPClientVoiceCall::NewL Two phased construction.
+// ---------------------------------------------------------------------------
+//
+CSPClientVoiceCall* CSPClientVoiceCall::NewL( const TDesC& aName, 
+                          RMobileLine& aLine,  
+                          const CCCECallParameters& aParams,
+                          MCSPCommonInfo& aCommonInfo )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVoiceCall::NewL <");
+    
+    CSPClientVoiceCall* self = new ( ELeave ) CSPClientVoiceCall( aLine,
+                                            aName,
+                                            aCommonInfo );
+    CleanupStack::PushL( self );
+    self->ConstructL( aParams );
+    CleanupStack::Pop( self );
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVoiceCall::NewL >");
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPClientVoiceCall::~CSPClientVoiceCall
+// ---------------------------------------------------------------------------
+//
+CSPClientVoiceCall::~CSPClientVoiceCall()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVoiceCall::~CSPClientVoiceCall");
+    }
+  
+// ---------------------------------------------------------------------------
+// CSPClientVoiceCall::CSPClientVoiceCall
+// ---------------------------------------------------------------------------
+//
+CSPClientVoiceCall::CSPClientVoiceCall( RMobileLine& aLine,
+                  const TDesC& aName,
+                  MCSPCommonInfo& aCommonInfo ):
+                  CSPVoiceCall( aLine,
+                     ETrue, aName, 
+                     aCommonInfo, EFalse )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVoiceCall::CSPClientVoiceCall");
+    
+    // Set client call flag(s)
+    iClientCallIndicated = EFalse; 
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVoiceCall::ConstructL
+// Constructing CSPClientVoiceCall for MT call.
+// ---------------------------------------------------------------------------
+//    
+void CSPClientVoiceCall::ConstructL( const CCCECallParameters& aParams )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVoiceCall::ConstructL <");
+    CSPVoiceCall::ConstructL( aParams ); 
+    CSPLOGSTRING(CSPOBJECT, "CSPClientVoiceCall::ConstructL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVoiceCall::NotifyCallStateChanged
+// Notifies observers about state changes
+// ---------------------------------------------------------------------------
+//
+void CSPClientVoiceCall::NotifyCallStateChanged(
+            MCCPCallObserver::TCCPCallState aState ) 
+    {
+    CSPLOGSTRING2(CSPINT, 
+            "CSPClientVoiceCall::NotifyCallStateChanged state: %d", 
+            aState);
+    
+    // Client call is indicated during dialling state 
+    if ( aState == MCCPCallObserver::ECCPStateDialling )
+        {
+        IndicateClientCall(); 
+        }
+    
+    CSPVoiceCall::NotifyCallStateChanged( aState );  
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPClientVoiceCall::NotifyCallStateChangedWithInband
+// Notifies observers about state changes
+// ---------------------------------------------------------------------------
+//
+void CSPClientVoiceCall::NotifyCallStateChangedWithInband(
+            MCCPCallObserver::TCCPCallState aState ) 
+    {
+    CSPLOGSTRING2(CSPINT, 
+            "CSPClientVoiceCall::NotifyCallStateChangedWithInband state: %d", 
+            aState);
+
+    // Client call is indicated during dialling state
+    if ( aState == MCCPCallObserver::ECCPStateDialling )
+        {
+        IndicateClientCall(); 
+        }
+
+    CSPVoiceCall::NotifyCallStateChangedWithInband( aState );  
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVoiceCall::IndicateClientCall
+// Indicate dialling if needed 
+// ---------------------------------------------------------------------------
+//  
+void CSPClientVoiceCall::IndicateClientCall()
+    {
+    // Can be done only once for each call and possible duplicate 
+    // notifies are blocked 
+    if ( !iClientCallIndicated )
+        {
+        iClientCallIndicated = ETrue;
+
+        CSPLOGSTRING(CSPINT, 
+            "CSPClientVoiceCall::IndicateClientCall indicate client call")
+        
+        iCommonInfo.IndicateClientCall( this );
+        
+        CSPLOGSTRING(CSPINT, 
+            "CSPClientVoiceCall::IndicateClientCall IndicateClientCall completed")                
+        }
+    else 
+        {
+        CSPLOGSTRING(CSPERROR, 
+            "CSPClientVoiceCall::IndicateClientCall already indicated")
+        }        
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVoiceCall::OpenCallHandleL
+// ---------------------------------------------------------------------------
+//    
+void CSPClientVoiceCall::OpenCallHandleL()
+    {
+    CSPLOGSTRING(CSPINT, "CSPClientVoiceCall::OpenCallHandleL <");
+
+    // Client call, open existing call handle 
+    OpenExistingCallL( iName ); 
+    
+    CSPLOGSTRING(CSPINT, "CSPClientVoiceCall::OpenCallHandleL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPClientVoiceCall::UpdateCallInfoImpl
+// Update call info including remote party name and number data  
+// ---------------------------------------------------------------------------
+//    
+void CSPClientVoiceCall::UpdateCallInfoImpl( RMobileCall::TMobileCallInfoV7 aCallInfo )
+    {
+    CSPLOGSTRING(CSPINT, "CSPClientVoiceCall::UpdateCallInfoImpl <");    
+
+    // Call was added by ETel monitor, update info accordingly 
+    UpdateCallNameNumberInfo( aCallInfo, ETrue );     
+    UpdateCallOrigin( aCallInfo );
+    
+    CSPLOGSTRING(CSPINT, "CSPClientVoiceCall::UpdateCallInfoImpl >");
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspconferencecall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,623 @@
+/*
+* 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:  Implements class CSPConferenceCall which provides call functionality
+*
+*/
+
+
+
+#include <etelmm.h>
+#include <etel.h>
+#include <mccpcall.h>
+
+#include "cspconferencecall.h"
+#include "cspvoicecall.h"
+#include "cspetelconferencecallrequester.h"
+#include "cspetelconferenceeventmonitor.h"
+#include "cspetelconferencestatusmonitor.h"
+#include "cspetelconferencecapsmonitor.h"
+#include "mcspcallinformation.h"
+#include "csplogger.h"
+#include "csppanic.pan"
+#include "cspconsts.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPConferenceCall::NewL
+// ---------------------------------------------------------------------------
+//
+CSPConferenceCall* CSPConferenceCall::NewL( 
+                          RMobilePhone& aPhone, 
+                          MCSPCallInformation& aCallInfo,
+                          TUint32 aServiceId  )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPConferenceCall::NewL()");
+    
+    CSPConferenceCall* self = new ( ELeave ) CSPConferenceCall( aPhone,  
+                                            aCallInfo, aServiceId );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    CSPLOGSTRING(CSPOBJECT, "CSPConferenceCall::NewL() end");
+    return self;
+    }
+
+// --------------------------------------------------------ß-------------------
+// CSPConferenceCall::~CSPConferenceCall
+// ---------------------------------------------------------------------------
+//
+CSPConferenceCall::~CSPConferenceCall()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPConferenceCall::~CSPConferenceCall() start");
+    iObservers.Close();
+
+    delete iCallStatusMonitor;
+    delete iCallEventMonitor;
+    delete iCallCapsMonitor;
+    delete iRequester;
+    iCall.Close();
+
+    CSPLOGSTRING(CSPOBJECT, "CSPConferenceCall::~CSPConferenceCall() end");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPConferenceCall::NotifyEvent
+// Conference event forwarding.
+// This way Added, Removed and Split events are notified.
+// ---------------------------------------------------------------------------
+//
+void CSPConferenceCall::NotifyEvent(
+             MCCPConferenceCallObserver::TCCPConferenceCallEvent aEvent,
+             TName& aCallName )
+    {
+    CSPLOGSTRING2( CSPINT, "CSPConferenceCall::NotifyEvent < %d", aEvent );
+    
+    CSPCall* call = iCallInfo.FindCall( aCallName );
+    TInt count = iObservers.Count();
+    for ( TInt i = 0; i < count; i++ )
+        {        
+        MCCPConferenceCallObserver *obs = iObservers[i];
+        if ( obs )
+            {        
+            obs->ConferenceCallEventOccurred( aEvent, call );
+            }
+        }
+    CSPLOGSTRING2( CSPINT, "CSPConferenceCall::NotifyEvent > %d", aEvent );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPConferenceCall::NotifyEvent
+// Conference event forwarding in case of Terminated, Built or Swapped events.
+// These events are not call specific.
+// ---------------------------------------------------------------------------
+//
+void CSPConferenceCall::NotifyEvent(
+             MCCPConferenceCallObserver::TCCPConferenceCallEvent aEvent )
+    {
+    CSPLOGSTRING2( CSPINT, "CSPConferenceCall::NotifyEvent < %d", aEvent );
+    
+    TInt count = iObservers.Count();
+    for ( TInt i = 0; i < count; i++ )
+        {
+        MCCPConferenceCallObserver *obs = iObservers[i];
+        if ( obs )
+            {        
+            obs->ConferenceCallEventOccurred( aEvent, NULL );
+            }
+        }
+    
+    CSPLOGSTRING2( CSPINT, "CSPConferenceCall::NotifyEvent > %d", aEvent );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPConferenceCall::NotifyStateChanged
+// Conference state change forwarding
+// ---------------------------------------------------------------------------
+//
+void CSPConferenceCall::NotifyStateChange( 
+        MCSPConferenceStatusObserver::TCSPConferenceState aStatus )
+    {
+    CSPLOGSTRING3( CSPINT, "CSPConferenceCall::NotifyStateChange %d this: %x", aStatus,
+                            this );
+    iCallState = static_cast<MCCPConferenceCallObserver::TCCPConferenceCallState>(aStatus);
+    if ( aStatus == MCSPConferenceStatusObserver::ECSPConferenceIdle )
+        {
+        iCallCountForAddCall = 0;
+        }
+    else
+        {
+        if ( iCallCountForAddCall == 1 )
+            {
+            iCallCountForAddCall++;
+            }
+        }
+    
+    TInt count = iObservers.Count();
+    for ( TInt i = 0; i < count; i++ )
+        {
+        MCCPConferenceCallObserver *obs = iObservers[i];
+        if ( obs )
+            {
+            obs->ConferenceCallStateChanged( 
+                    static_cast<MCCPConferenceCallObserver::TCCPConferenceCallState>(aStatus) );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSPConferenceCall::ConferenceCapsChanged
+// ---------------------------------------------------------------------------
+//
+void CSPConferenceCall::ConferenceCapsChanged( TUint32 aCaps )
+    {
+    CSPLOGSTRING2( CSPINT, "CSPConferenceCall::ConferenceCapsChanged %b", aCaps );
+    
+    TInt count = iObservers.Count();
+    for ( TInt i = 0; i < count; i++ )
+        {
+        MCCPConferenceCallObserver *obs = iObservers[i];
+        if ( obs )
+            {          
+            obs->ConferenceCallCapsChanged( 
+                 (MCCPConferenceCallObserver::TCCPConferenceCallCaps) aCaps );
+            }
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// CSPConferenceCall::NotifyConferenceError
+// ---------------------------------------------------------------------------
+//
+void CSPConferenceCall::NotifyConferenceError( TCCPConferenceCallError aErr )
+    {
+    CSPLOGSTRING2( CSPERROR, "CSPConferenceCall::NotifyConferenceError < %d", aErr );
+    
+    TInt count = iObservers.Count();
+    for ( TInt i = 0; i < count; i++ )
+        {
+        MCCPConferenceCallObserver *obs = iObservers[i];
+        if ( obs )
+            {
+            obs->ErrorOccurred( aErr );
+            }
+        }
+        
+    CSPLOGSTRING2( CSPERROR, "CSPConferenceCall::NotifyConferenceError > %d", aErr );
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPConferenceCall
+// CSPConferenceCall::AddCall
+// ---------------------------------------------------------------------------
+//    
+void CSPConferenceCall::AddCallL( MCCPCall* aCall )
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::AddCallL " );
+    
+    TInt err(KErrNone);
+    
+    if ( aCall )
+        {       
+        iCallCountForAddCall++;
+        CSPLOGSTRING2( CSPINT, "CSPConferenceCall::AddCallL calls added %d", 
+                                iCallCountForAddCall );
+        
+        if ( iCallCountForAddCall < 2 )
+            {
+            CSPLOGSTRING2( CSPINT, 
+                "CSPConferenceCall::AddCallL DO NOTHING SINCE CALL COUNT IS %d", iCallCountForAddCall );
+            }
+        else if ( iCallCountForAddCall == 2 )
+            {
+            err = iRequester->MakeRequest( 
+                CSPEtelConferenceCallRequester::
+                    EConferenceRequestTypeCreateConference );
+            }
+        else if ( iCallCountForAddCall > 2 )
+            {
+            CSPLOGSTRING( CSPINT, "CSPConferenceCall::AddCall cast call");
+            CSPCall* cspCall = static_cast< CSPCall* > ( aCall );
+            
+            iAddedCallName.Zero();
+            cspCall->CallName( iAddedCallName );
+            CSPLOGSTRING2( CSPINT, "CSPConferenceCall::AddCall n=%S", &iAddedCallName );
+            err = iRequester->MakeAddCallRequest( iAddedCallName );
+            CSPLOGSTRING2( CSPINT, 
+                "CSPConferenceCall::AddCallL result %d", err);
+            }
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSPConferenceCall::AddCallL Invalid argument, call NULL" );
+
+        err = KErrArgument;
+        }
+    
+    CSPLOGSTRING2( CSPINT, "CSPConferenceCall::AddCallL returning %d", err);
+
+    User::LeaveIfError( err );        
+    
+    CSPLOGSTRING( CSPINT, "CSPConferenceCall::AddCallL OK" );
+    }    
+    
+// ---------------------------------------------------------------------------
+// From class MCCPConferenceCall
+// CSPConferenceCall::RemoveCallL
+// ---------------------------------------------------------------------------
+//
+void CSPConferenceCall::RemoveCallL( MCCPCall* aCall )
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::RemoveCallL " );
+    if ( aCall )
+        {
+        User::LeaveIfError( aCall->HangUp() );
+        CSPLOGSTRING( CSPINT, "CSPConferenceCall::RemoveCallL Hangup request sent" );
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, "CSPConferenceCall::RemoveCallL Invalid argument" );
+        User::Leave( KErrArgument );
+        }
+        
+    CSPLOGSTRING( CSPREQOUT, "CSPConferenceCall::RemoveCallL end" );
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPConferenceCall
+// CSPConferenceCall::CallCount
+// ---------------------------------------------------------------------------
+//
+TInt CSPConferenceCall::CallCount( ) const
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::CallCount" );
+    TInt callCount(0);
+    TInt err = iCall.EnumerateCalls( callCount );
+    CSPLOGSTRING( CSPREQOUT, "CSPConferenceCall::CallCount end" );
+    return callCount;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPConferenceCall
+// CSPConferenceCall::GoOneToOneL
+// ---------------------------------------------------------------------------
+//
+void CSPConferenceCall::GoOneToOneL( MCCPCall& aCall )
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::GoOneToOneL " );
+    
+    if ( aCall.Parameters().CallType() == CCPCall::ECallTypeCSVoice )
+        {
+        CSPVoiceCall& voiceCall = static_cast< CSPVoiceCall& > ( aCall );
+        TInt err = voiceCall.GoOneToOne();
+        CSPLOGSTRING2( CSPREQIN, "CSPConferenceCall::GoOneToOneL Request %d", 
+                       err );
+        User::LeaveIfError( err );
+        }
+    else
+        {
+        CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::GoOneToOneL ERROR NOT VOICE CALL" );
+        User::Leave( KErrNotSupported );
+        }
+    CSPLOGSTRING( CSPREQOUT, "CSPConferenceCall::GoOneToOneL end" );
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPConferenceCall
+// CSPConferenceCall::ServiceId
+// ---------------------------------------------------------------------------
+//
+TUint32 CSPConferenceCall::ServiceId() const
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::ServiceId " );
+    return iServiceId;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPConferenceCall::HangUp
+// ---------------------------------------------------------------------------
+//
+TInt CSPConferenceCall::HangUp()
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::HangUp " );
+    TInt err(KErrNone);
+    
+    err = iRequester->MakeRequest( 
+        CSPEtelConferenceCallRequester::EConferenceRequestTypeHangup );
+    if ( err )
+        {
+        CSPLOGSTRING2( CSPERROR, "CSPConferenceCall::HangUp error %d", err );
+        }
+    
+    return err;
+    }
+   
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPConferenceCall::Hold
+// ---------------------------------------------------------------------------
+//
+TInt CSPConferenceCall::Hold()
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::Hold call" );
+    
+    TInt err( KErrNone );
+    
+    if ( iCallState == MCCPConferenceCallObserver::ECCPConferenceActive )
+        {
+        CSPLOGSTRING( CSPREQOUT, "CSPConferenceCall::Hold > RMobileConferenceCall::Hold" );
+        
+        err = iRequester->MakeRequest( 
+                    CSPEtelConferenceCallRequester::EConferenceRequestTypeHold );
+        if ( err != KErrNone )
+            {
+            CSPLOGSTRING2( CSPERROR, "CSPConferenceCall::Hold error: %d", 
+                           err );
+            }
+        }
+    else
+        {
+        CSPLOGSTRING2( CSPERROR, 
+                      "CSPConferenceCall::Hold : invalid state %d",
+                      iCallState );
+        err = KErrNotReady;
+        }
+
+
+    return err;
+    } 
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPConferenceCall::Resume
+// ---------------------------------------------------------------------------
+//
+TInt CSPConferenceCall::Resume()
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::Resume " );
+
+    TInt err( KErrNone );
+    
+    if ( iCallState == MCCPConferenceCallObserver::ECCPConferenceHold )
+        {
+        CSPLOGSTRING( CSPREQOUT, "CSPConferenceCall::Resume " );
+        err = iRequester->MakeRequest( 
+            CSPEtelConferenceCallRequester::EConferenceRequestTypeResume );
+        if ( KErrNone != err )
+            {
+            CSPLOGSTRING2( CSPERROR, "CSPConferenceCall::Resume Error %d",
+                          err );
+            }
+            
+        }
+    else
+        {
+        CSPLOGSTRING2( CSPERROR, 
+                       "CSPConferenceCall::Resume : invalid state %d",
+                       iCallState );
+        err = KErrNotReady;
+        }
+
+    return err;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPConferenceCall::Swap
+// ---------------------------------------------------------------------------
+//
+TInt CSPConferenceCall::Swap()
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::Swap " );
+    TInt err(KErrNone);
+    
+    if ( iCallState == MCCPConferenceCallObserver::ECCPConferenceActive 
+         || iCallState == MCCPConferenceCallObserver::ECCPConferenceHold )
+        {
+        err = iRequester->MakeRequest( 
+                    CSPEtelConferenceCallRequester::EConferenceRequestTypeSwap );
+        if ( err != KErrNone )
+            {
+            CSPLOGSTRING2( CSPERROR, "CSPConferenceCall::Swap Request error: %d", err );
+            }
+        }
+    else
+        {            
+        err = KErrNotReady;
+        CSPLOGSTRING2( CSPERROR, 
+                   "CSPConferenceCall::Swap Invalid state %d",
+                   iCallState );
+        }
+
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPConferenceCall
+// CSPConferenceCall::CurrentCallsToConferenceL
+// ---------------------------------------------------------------------------
+//
+void CSPConferenceCall::CurrentCallsToConferenceL()
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::CurrentCallsToConferenceL " );
+    iRequester->MakeRequest(
+     CSPEtelConferenceCallRequester::EConferenceRequestTypeCreateConference );
+    CSPLOGSTRING( CSPREQOUT, "CSPConferenceCall::CurrentCallsToConferenceL end" );
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPConferenceCall
+// CSPConferenceCall::GetCallArray
+// ---------------------------------------------------------------------------
+//
+TInt CSPConferenceCall::GetCallArray( RPointerArray<MCCPCall>& aCallArray ) 
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::GetCallArray" );
+    // Reset array in case
+    aCallArray.Reset();
+    TInt err( KErrNone );  
+    
+    RMobileCall::TMobileCallInfoV3 callInfo; 
+    RMobileCall::TMobileCallInfoV3Pckg callInfoPck( callInfo );
+    
+    TInt callCount = CallCount(); 
+    CSPCall* call; 
+    
+    // Resolve call objects that are part of the conference
+    for ( int i = 0; i < callCount; i++ )
+        {
+        err = iCall.GetMobileCallInfo( i, callInfoPck );
+        
+        if ( KErrNone == err )
+            {
+            // Find call by call name 
+            call = iCallInfo.FindCall( callInfo.iCallName); 
+            if ( call ) 
+                {
+                err = aCallArray.Append( call );
+                }
+            else
+                {
+                err = KErrNotFound; 
+                }            
+            }
+        CSPLOGSTRING2( CSPERROR, "CSPConferenceCall::GetCallArray err: %d", err );
+        }
+        
+    CSPLOGSTRING( CSPREQOUT, "CSPConferenceCall::GetCallArray end"); 
+    return err; 
+    }
+
+// ---------------------------------------------------------------------------
+// Adds observer.
+// ---------------------------------------------------------------------------
+//
+void CSPConferenceCall::AddObserverL( const MCCPConferenceCallObserver& aObserver )
+    {
+    if ( iObservers.Find( &aObserver ) == KErrNotFound )
+        {
+        iObservers.Append( &aObserver );
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// Removes given observer.
+// ---------------------------------------------------------------------------
+//
+TInt CSPConferenceCall::RemoveObserver( const MCCPConferenceCallObserver& aObserver )
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPConferenceCall::RemoveObserver " );
+    TInt found = iObservers.Find( &aObserver );
+    if ( found != KErrNotFound )
+        {
+        iObservers.Remove( found );
+        return KErrNone;
+        }
+        
+    return found;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPConferenceCall::GetConferenceCallState
+// ---------------------------------------------------------------------------
+//
+TInt CSPConferenceCall::GetConferenceCallState( 
+        MCCPConferenceCallObserver::TCCPConferenceCallState& aState ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPConferenceCall::GetConferenceCallState()");
+    RMobileConferenceCall::TMobileConferenceStatus status;
+    TInt err = iCall.GetConferenceStatus( status );
+        
+    switch( status )
+        {
+        case RMobileConferenceCall::EConferenceIdle:
+            {
+            aState = MCCPConferenceCallObserver::ECCPConferenceIdle;
+            break;
+            }
+        case RMobileConferenceCall::EConferenceActive:
+            {
+            aState = MCCPConferenceCallObserver::ECCPConferenceActive;
+            break;
+            }
+        case RMobileConferenceCall::EConferenceHold:
+            {
+            aState = MCCPConferenceCallObserver::ECCPConferenceHold;
+            break;
+            }
+        default:
+            break;
+        }
+        
+    return err; 
+    }
+
+// ---------------------------------------------------------------------------
+// CSPConferenceCall::CSPConferenceCall
+// ---------------------------------------------------------------------------
+//
+CSPConferenceCall::CSPConferenceCall( RMobilePhone& aPhone, 
+                         MCSPCallInformation& aCallInfo,
+                         TUint32 aServiceId  ) : 
+                     iPhone( aPhone ),
+                     iRequester( NULL ),
+                     iCallInfo( aCallInfo ),
+                     iServiceId( aServiceId )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPConferenceCall::CSPConferenceCall()");
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPConferenceCall::ConstructL
+// Constructing CSPConferenceCall for MT call.
+// ---------------------------------------------------------------------------
+//    
+void CSPConferenceCall::ConstructL( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPConferenceCall::ConstructL() start");
+    User::LeaveIfError( iCall.Open(iPhone) ); 
+
+    iCall.EnumerateCalls( iCallCountForAddCall );
+    CSPLOGSTRING2(CSPERROR, "CSPConferenceCall::Initialize() Call count : %d",
+                    iCallCountForAddCall );
+    
+    MCCPConferenceCallObserver::TCCPConferenceCallState conferenceState; 
+    TInt err = GetConferenceCallState( conferenceState );
+    
+    if ( KErrNone == err )
+        {
+        iCallState = conferenceState; 
+        CSPLOGSTRING2(CSPINT, "CSPConferenceCall::Initialize() State : %d", iCallState );
+        }
+    else 
+        {
+        iCallState = MCCPConferenceCallObserver::ECCPConferenceIdle;
+        CSPLOGSTRING2(CSPERROR, 
+                "CSPConferenceCall::Initialize() state fetching error %d", err );
+        }
+
+    // Start Etel monitors
+    iCallEventMonitor = CSPEtelConferenceEventMonitor::NewL( *this, iCall );
+    iCallEventMonitor->StartMonitoring();
+    iCallStatusMonitor = CSPEtelConferenceStatusMonitor::NewL( *this, iCall );
+    iCallStatusMonitor->StartMonitoring();
+    iCallCapsMonitor = CSPEtelConferenceCapsMonitor::NewL( *this, iCall );
+    iCallCapsMonitor->StartMonitoring();
+        
+    iRequester = CSPEtelConferenceCallRequester::NewL( *this, iCall );
+    CSPLOGSTRING(CSPOBJECT, "CSPConferenceCall::ConstructL() end");
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspdevsound.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,209 @@
+/*
+* 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:  Wrapper for CMMFDevSound
+*
+*/
+
+
+#include "cspdevsound.h"
+#include "csplogger.h"
+#include "mcspdevsoundobserver.h"
+
+#include <AudioPreference.h>
+#include <S60FourCC.h>
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CSPDevSound
+// ---------------------------------------------------------------------------
+//
+CSPDevSound::CSPDevSound( MCSPDevSoundObserver& aObserver ) : 
+    iObserver( aObserver )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::ConstructL( 
+    TMMFState aMode, 
+    TUint aAudioPreference,
+    TUint aAudioPriority )
+    {
+    CSPLOGSTRING( CSPINT, "CSPDevSound::ConstructL; Entry" );
+
+    TFourCC modemFourCC;
+    modemFourCC.Set(KS60FourCCCodeModem);
+
+    iDevSound = CMMFDevSound::NewL();
+#ifndef __WINSCW__
+    iDevSound->InitializeL( *this, modemFourCC, aMode  );   
+#endif
+    iPrioritySettings.iPriority = aAudioPriority;
+    iPrioritySettings.iPref = 
+        static_cast<TMdaPriorityPreference>( aAudioPreference );
+    iPrioritySettings.iState = aMode;    
+    CSPLOGSTRING( CSPINT, "CSPDevSound::ConstructL; Exit" );
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Not implemented
+// ---------------------------------------------------------------------------
+//
+CSPDevSound::~CSPDevSound()
+    {
+    delete iDevSound;
+    }
+    
+// ---------------------------------------------------------------------------
+// Tries to activate the audio stream if not active or activating
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::Activate() 
+    {
+    CSPLOGSTRING( CSPINT, "CSPDevSound::Activate" );
+    if( !IsActive() && !IsActivationOngoing() )
+        {
+        iActivationOngoing = ETrue;
+        TInt err = KErrNone; 
+        TRAP( err, DoActivateL() );
+        CSPLOGSTRING2( CSPINT, "CSPDevSound::Activate %d", err );
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// Deactivates the audio device.
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::Deactivate()
+    {
+    CSPLOGSTRING( CSPINT, "CSPDevSound::Deactivate" );
+    if( IsActive() || IsActivationOngoing() )
+        {
+        CSPLOGSTRING( CSPINT, "CSPDevSound::Deactivate Stopping" );
+        iDevSound->Stop();
+        iActive = EFalse;
+        iActivationOngoing = EFalse;
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// ActivationOngoing
+// ---------------------------------------------------------------------------
+//
+TBool CSPDevSound::IsActivationOngoing() const 
+    {
+    return iActivationOngoing;
+    }
+    
+// ---------------------------------------------------------------------------
+// IsActive
+// ---------------------------------------------------------------------------
+//
+TBool CSPDevSound::IsActive() const
+    {
+    return iActive;
+    }
+    
+CMMFDevSound& CSPDevSound::DevSound()
+    {
+    return *iDevSound;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Not implemented
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::InitializeComplete( TInt aError ) 
+    {
+    CSPLOGSTRING( CSPINT, "CSPDevSound::InitializeComplete" );
+    if( aError == KErrNone )
+        {
+        iDevSound->SetPrioritySettings( iPrioritySettings );   
+            
+        }
+        
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Not implemented
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::BufferToBeFilled( CMMFBuffer* /*aBuffer*/ )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Not implemented
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::PlayError( TInt /*aError*/ )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Not implemented
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::ToneFinished( TInt /*aError*/ )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Not implemented
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::BufferToBeEmptied( CMMFBuffer* /*aBuffer*/ )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Not implemented
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::RecordError( TInt /*aError*/ )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Not implemented
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::ConvertError( TInt /*aError*/ )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Not implemented
+// ---------------------------------------------------------------------------
+//
+void CSPDevSound::DeviceMessage( 
+    TUid /*aMessageType*/, 
+    const TDesC8& /*aMsg*/ )
+    {
+    }
+ 
+//  End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspdtmfprovider.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,261 @@
+/*
+* 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:  Contains the implementation of class CSPDTMFProvider
+*
+*/
+
+
+#include <etelmm.h>
+#include <mccpdtmfprovider.h>
+#include <mccpdtmfobserver.h>
+#include <rmmcustomapi.h>
+
+#include "cspdtmfprovider.h"
+#include "csplogger.h"
+#include "cspeteldtmfmonitor.h"
+#include "cspeteldtmfstopmonitor.h"
+
+CSPDTMFProvider* CSPDTMFProvider::NewL( RMobilePhone& aPhone,
+                                        RMmCustomAPI& aMmCustom )
+    {
+    CSPDTMFProvider* self = new ( ELeave ) CSPDTMFProvider( aPhone,
+                                                            aMmCustom );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor of the object.
+// ---------------------------------------------------------------------------
+//
+CSPDTMFProvider::~CSPDTMFProvider( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPDTMFProvider::~CSPDTMFProvider()" );
+    Cancel();
+    iObservers.Close();
+    delete iMonitor;
+    delete iStopMonitor;
+    }
+
+// ---------------------------------------------------------------------------
+// Notifies observers about a DTMF event
+// ---------------------------------------------------------------------------
+//
+void CSPDTMFProvider::NotifyDTMFEvent( const MCCPDTMFObserver::TCCPDtmfEvent aEvent,
+                      const TInt aError,
+                      const TChar aTone )
+    {
+    CSPLOGSTRING2(CSPINT, "CSPDTMFProvider::NotifyDTMFEvent %d", aEvent );
+    for ( TInt i = 0; i < iObservers.Count(); i++ )
+        {
+        MCCPDTMFObserver *obs = iObservers[i];
+        if ( obs )
+            {        
+            iObservers[i]->HandleDTMFEvent( aEvent, aError, aTone );
+            }
+        }    
+    }
+
+    
+// ---------------------------------------------------------------------------
+// Cancel DTMF string sending
+// ---------------------------------------------------------------------------
+//
+TInt CSPDTMFProvider::CancelDtmfStringSending()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPDTMFProvider::CancelDtmfStringSending" );
+    if ( IsActive() )
+        {
+        Cancel();
+        }
+    else
+        {
+        return KErrAlreadyExists; // Is not active
+        }
+    
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// Starts DTMF string sending
+// ---------------------------------------------------------------------------
+//
+TInt CSPDTMFProvider::StartDtmfTone( const TChar aTone )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPDTMFProvider::StartDtmfTone" );
+    TInt ret(KErrAlreadyExists);
+    if (!IsActive())
+        {
+        ret = iPhone.StartDTMFTone( aTone );
+        }    
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// Stop DTMF tone
+// ---------------------------------------------------------------------------
+//
+TInt CSPDTMFProvider::StopDtmfTone()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPDTMFProvider::StopDtmfTone" );
+    TInt ret(KErrAlreadyExists);
+    if (!IsActive())
+        {
+        ret = iPhone.StopDTMFTone();
+        }
+    return ret;    
+    }
+
+// ---------------------------------------------------------------------------
+// Send DTMF string
+// ---------------------------------------------------------------------------
+//
+TInt CSPDTMFProvider::SendDtmfToneString( const TDesC& aString )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPDTMFProvider::SendDtmfToneString" );
+    TInt ret = KErrInUse;
+    
+    if ( !IsActive() )
+        {            
+        iPhone.SendDTMFTones( iStatus, aString );
+        SetActive();
+        ret = KErrNone;
+        }
+
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// Continue DTMF string sending
+// ---------------------------------------------------------------------------
+//
+TInt CSPDTMFProvider::ContinueDtmfStringSending( const TBool aContinue )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPDTMFProvider::ContinueDtmfStringSending" );
+    return iPhone.ContinueDTMFStringSending( aContinue );
+    }
+    
+// ---------------------------------------------------------------------------
+// Adds observer.
+// ---------------------------------------------------------------------------
+//
+void CSPDTMFProvider::AddObserverL( const MCCPDTMFObserver& aObserver )
+    {
+    if ( iObservers.Find( &aObserver ) == KErrNotFound )
+        {
+        iObservers.Append( &aObserver );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Removes given observer.
+// ---------------------------------------------------------------------------
+//
+TInt CSPDTMFProvider::RemoveObserver( const MCCPDTMFObserver& aObserver )
+    {
+    TInt ret = KErrNotFound;
+    
+    TInt found = iObservers.Find( &aObserver );
+    if ( found != KErrNotFound )
+        {
+        iObservers.Remove( found );
+        ret = KErrNone;
+        }
+
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive.
+// Handles request completion.
+// ---------------------------------------------------------------------------
+//
+void CSPDTMFProvider::RunL()
+    {
+    CSPLOGSTRING2( CSPREQIN, 
+        "CSPDTMFProvider::RunL: status: %d", iStatus.Int() );
+    
+    if ( iStatus == KErrNone )
+        {
+        MCCPDTMFObserver::TCCPDtmfEvent event = 
+            MCCPDTMFObserver::ECCPDtmfStringSendingCompleted;
+        NotifyDTMFEvent( event, KErrNone, NULL );
+        }
+    else
+        {
+        TInt error = iStatus.Int();
+        if ( error != KErrCancel )
+            {
+            MCCPDTMFObserver::TCCPDtmfEvent event = 
+                MCCPDTMFObserver::ECCPDtmfStringSendingCompleted;
+            NotifyDTMFEvent( event, error, NULL );
+            }
+        else
+            {
+            // Cancel is not notified
+            CSPLOGSTRING( CSPREQEND, "CSPDTMFProvider::RunL Cancel." );
+            }
+        }
+                
+    CSPLOGSTRING( CSPREQEND, "CSPDTMFProvider::RunL End of RunL." );
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPDTMFProvider::DoCancel()
+    {
+    if ( iStatus == KRequestPending )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSPDTMFProvider::DoCancel Canceling pending request.." );
+        iPhone.CancelAsyncRequest( EMobilePhoneSendDTMFTones );
+        }
+    }
+            
+// ---------------------------------------------------------------------------
+// Constructs the requester.
+// ---------------------------------------------------------------------------
+//
+CSPDTMFProvider::CSPDTMFProvider( RMobilePhone& aPhone, 
+                                  RMmCustomAPI& aMmCustom ):
+                    CActive( EPriorityStandard ),
+                    iPhone( aPhone ),
+                    iMmCustom( aMmCustom )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPDTMFProvider::CSPDTMFProvider()" );
+    CActiveScheduler::Add( this );
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the requester in the second phase.
+// ---------------------------------------------------------------------------
+//
+void CSPDTMFProvider::ConstructL( ) 
+    {
+    if ( !iPhone.SubSessionHandle() || !iMmCustom.SubSessionHandle() )
+        {
+        User::Leave( KErrArgument );
+        }
+    iMonitor = CSPEtelDtmfMonitor::NewL( *this, iMmCustom );
+    iMonitor->StartMonitoring();
+    iStopMonitor = CSPEtelDtmfStopMonitor::NewL( *this, iPhone );
+    iStopMonitor->StartMonitoring();
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelcallcapsmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of class CSPEtelCallCapsMonitor which
+*                monitors call status changes from ETel and notifies observer
+*                according to call status change.
+*
+*/
+
+
+#include "cspetelcallcapsmonitor.h"
+
+#include <mccpcallobserver.h>
+
+#include "mcspcallobserver.h"
+#include "csplogger.h"
+
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor in two phase.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallCapsMonitor* CSPEtelCallCapsMonitor::NewL( 
+                                                    MCSPCallObserver& aObserver,
+                                                    RMobileCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallCapsMonitor::NewL()" );
+    CSPEtelCallCapsMonitor* self = 
+                        new ( ELeave ) CSPEtelCallCapsMonitor( 
+                                                            aObserver, aCall );
+    return self;    
+    }
+
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallCapsMonitor::~CSPEtelCallCapsMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallCapsMonitor::~CSPEtelCallCapsMonitor()" );
+    Cancel();
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallCapsMonitor::~CSPEtelCallCapsMonitor() ok" );
+
+    }
+
+
+// ---------------------------------------------------------------------------
+// Starts the monitoring.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallCapsMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+          "CSPEtelCallCapsMonitor::StartMonitoring()" );
+
+    
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPREQOUT, 
+            "CSPEtelCallCapsMonitor::StartMonitoring: Request \
+                    RMobilePhone::NotifyCapsChange" );
+        iCall.NotifyMobileCallCapsChange( iStatus, iCapsPckg );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSPEtelCallCapsMonitor::StartMonitoring: Already active" );
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// From CActive
+// Handles call status notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallCapsMonitor::RunL()
+    {
+    CSPLOGSTRING2( CSPREQEND, 
+        "CSPEtelCallCapsMonitor::RunL: status: %d", iStatus.Int() );
+    
+    if ( iStatus == KErrNone )
+        {
+        TUint32 capsFlags = iCaps.iCallControlCaps;
+        
+        iObserver.CallCapsChanged( capsFlags );
+        StartMonitoring();
+        }
+    
+    }
+
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallCapsMonitor::DoCancel()
+    {
+    iCall.CancelAsyncRequest( EMobileCallNotifyMobileCallCapsChange );
+    }
+
+
+
+    
+// ---------------------------------------------------------------------------
+// Constructs the monitor..
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallCapsMonitor::CSPEtelCallCapsMonitor( MCSPCallObserver& aObserver,
+                                                    RMobileCall& aCall ) : 
+                                   CActive( EPriorityStandard ),
+                                   iObserver( aObserver ),
+                                   iCall ( aCall ),
+                                   iCapsPckg( iCaps )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallCapsMonitor::CSPEtelCallCapsMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+    
+
+TUint32 CSPEtelCallCapsMonitor::FetchCallControlCapsL()
+    {
+    TInt err = iCall.GetMobileCallCaps( iCapsPckg );
+    User::LeaveIfError( err );
+    return iCaps.iCallControlCaps;
+    }
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelcalleventmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,291 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of class CSPEtelCallEventMonitor which
+*                monitors call events from ETel and notifies observer
+*                accordingly.
+*
+*/
+
+
+#include <mccptransferobserver.h>
+#include <mccpforwardobserver.h>
+#include <mccpconferencecallobserver.h>
+
+#include "cspetelcalleventmonitor.h"
+#include "csplogger.h"
+#include "cspcall.h"
+
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallEventMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallEventMonitor* CSPEtelCallEventMonitor::NewL( MCSPCallObserver& aObserver,
+                                                        RMobileCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallEventMonitor::NewL()" );
+    CSPEtelCallEventMonitor* self = new ( ELeave ) CSPEtelCallEventMonitor( 
+                                        aObserver, aCall );
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallEventMonitor::~CSPEtelCallEventMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallEventMonitor::~CSPEtelCallEventMonitor()" );
+    Cancel();
+    
+    if ( iDestrPtr )
+        {
+        *iDestrPtr = ETrue;
+        iDestrPtr = NULL;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Starts the monitoring.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallEventMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING( CSPINT, "CSPEtelCallEventMonitor::StartMonitoring" );
+    
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPREQOUT, 
+            "CSP: CSPEtelCallEventMonitor::StartMonitoring: \
+                    Request RMobilePhone::NotifyCallEvent" );
+        iCall.NotifyCallEvent( iStatus, iCallEvent );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelCallEventMonitor::StartMonitoring: Already active" );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Handles event notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallEventMonitor::RunL()
+    {
+    CSPLOGSTRING( CSPINT, "CSPEtelCallEventMonitor::RunL")
+    
+    // Survive from monitor destruction during observing sequence
+    TBool destroyed = EFalse;
+    iDestrPtr = &destroyed;
+    
+    if ( iStatus == KErrNone )
+        {
+        switch ( iCallEvent )
+            {
+            // The call has been terminated by the remote party. 
+            case RMobileCall::ERemoteTerminated:
+                {
+                CSPLOGSTRING( CSPINT, 
+                   "CSP CSPEtelCallEventMonitor::RunL: Remotely terminated" );
+                iObserver.NotifyCallEventOccurred( 
+                        MCCPCallObserver::ECCPRemoteTerminated );
+                break;
+                }
+             // The call has been placed on hold as a result of a local action
+            case RMobileCall::ELocalHold:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Locally held" );
+                iObserver.NotifyCallEventOccurred( 
+                        MCCPCallObserver::ECCPLocalHold );
+                break;
+                }
+                
+            // The call has been resumed as a result of a local action. 
+            case RMobileCall::ELocalResume:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Locally resumed" );
+                iObserver.NotifyCallEventOccurred( 
+                        MCCPCallObserver::ECCPLocalResume );
+                break;
+                }
+            // The call has been deflected to another remote party as a result
+            // of a local action.
+            case RMobileCall::ELocalDeflectCall:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Locally deflected" );
+                iObserver.NotifyTransferCallEventOccurred(  
+                        MCCPTransferObserver::ECCPLocalTransfer );
+                break;
+                }
+            // The call has been transferred to another remote party as a 
+            // result of a local action. 
+            case RMobileCall::ELocalTransfer:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Locally transfered" );
+                iObserver.NotifyTransferCallEventOccurred( 
+                        MCCPTransferObserver::ECCPLocalTransfer );
+                break;
+                }
+            // The call has been placed on hold by the remote connected party
+            case RMobileCall::ERemoteHold:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Remotely held" );
+                iObserver.NotifyCallEventOccurred( 
+                        MCCPCallObserver::ECCPRemoteHold );
+                break;
+                }
+            // The call has been resumed by the remote connected party. 
+            case RMobileCall::ERemoteResume:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Remotely resumed" );
+                iObserver.NotifyCallEventOccurred( 
+                        MCCPCallObserver::ECCPRemoteResume );
+                break;
+                }
+            // The call has been joined by the remote connected party to other
+            // call(s) to create/add to a conference call. 
+            case RMobileCall::ERemoteConferenceCreate:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Remotely created \
+                             conference" );
+                
+                iObserver.NotifyCallEventOccurred( 
+                        MCCPCallObserver::ECCPRemoteConferenceCreate );
+                        
+                break;
+                }
+            case RMobileCall::ERemoteTransferring:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Remotely created \
+                     conference" );
+                iObserver.NotifyTransferCallEventOccurred( 
+                        MCCPTransferObserver::ECCPRemoteTransferring );
+                break;
+                }
+            case RMobileCall::ERemoteTransferAlerting:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Remotely created \
+                     conference" );
+                iObserver.NotifyTransferCallEventOccurred( 
+                            MCCPTransferObserver::ECCPRemoteTransferAlerting );
+                break;
+                }
+            // The outgoing call has been barred by the remote party
+            case RMobileCall::ERemoteBarred:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Remotely barred" );
+                iObserver.NotifyCallEventOccurred( 
+                        MCCPCallObserver::ECCPRemoteBarred );
+                break;
+                }
+
+            // The call is being forwarded by the remote party. 
+            case RMobileCall::ERemoteForwarding:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Remotely forwarded" );
+                iObserver.NotifyForwardEventOccurred( 
+                        MCCPForwardObserver::ECCPRemoteForwarding );
+                break;
+                }
+
+            // The call is waiting at the remote end. 
+            case RMobileCall::ERemoteWaiting:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Remotely waiting" );
+                iObserver.NotifyCallEventOccurred( 
+                        MCCPCallObserver::ECCPRemoteWaiting );
+                break;
+                }
+
+            // The outgoing call has been barred by the local party. 
+            case RMobileCall::ELocalBarred:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Locally barred" );
+                iObserver.NotifyCallEventOccurred( 
+                        MCCPCallObserver::ECCPLocalBarred );
+                break;
+                }
+
+            default:
+                {
+                CSPLOGSTRING2( CSPINT, 
+                    "CSP CSPEtelCallEventMonitor::RunL: Unspecified/protocol \
+                     specific call event: %d", iCallEvent );
+                break;
+                }
+            }
+        }
+        
+    if ( !destroyed )
+        {
+        // In case instance has not been deleted, pointer must be cleared.
+        iDestrPtr = NULL;
+        if ( iStatus == KErrNone )
+            {
+            StartMonitoring();
+            }
+        }
+    else
+        {
+        // already destroyed, do not touch members.
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Request canceling.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallEventMonitor::DoCancel()
+    {
+    CSPLOGSTRING( CSPINT, "CSPEtelCallEventMonitor::DoCancel" );
+    iCall.CancelAsyncRequest( EMobileCallNotifyCallEvent );
+    }
+    
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallEventMonitor::CSPEtelCallEventMonitor( MCSPCallObserver& aObserver,
+                                                  RMobileCall& aCall ) : 
+                                   CActive( EPriorityStandard ), 
+                                   iObserver( aObserver ),
+                                   iCall ( aCall )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallEventMonitor::CSPEtelCallEventMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelcallrequester.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,929 @@
+/*
+* 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:  Contains the implementation of class CSPEtelCallRequester
+*
+*/
+
+#include "cspetelcallrequester.h"
+
+#include <exterror.h>
+#include <gsmerror.h>
+#include <etelmmerr.h>
+#include <etelsat.h>
+
+#include "mcspcallerrorobserver.h"
+#include "csplogger.h"
+
+
+// ---------------------------------------------------------------------------
+// Constructs the requester via two phased constructing.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallRequester* CSPEtelCallRequester::NewL(
+            MCSPCallErrorObserver& aObserver,
+            RMobileCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallRequester::NewL()" );
+    CSPEtelCallRequester* self = new ( ELeave ) CSPEtelCallRequester( 
+                                        aObserver, aCall );
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// Destructor of the object.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallRequester::~CSPEtelCallRequester( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallRequester::~CSPEtelCallRequester()" );
+    CSPLOGSTRING2(CSPINT, "CSPEtelCallRequester:: type: %d", iRequestType );
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallRequester::MakeDialRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelCallRequester::MakeDialRequest( 
+            const TDesC8& aCallParams, 
+            TDesC& aRecipient )
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelCallRequester::MakeDialRequest" );
+    iRequestType = ERequestTypeDial;
+
+    if ( !IsActive() )
+        {
+        iCall.Dial( iStatus, aCallParams, aRecipient );
+        SetActive();
+        }
+    else
+        {
+        return KErrInUse;
+        }
+    
+    return KErrNone;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPEtelCallRequester::MakeDialNoFdnCheckRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelCallRequester::MakeDialNoFdnCheckRequest( 
+            const TDesC8& aCallParams, 
+            TDesC& aRecipient )
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelCallRequester::MakeDialNoFdnCheckRequest" );
+    iRequestType = ERequestTypeDial;
+
+    if ( !IsActive() )
+        {
+        iCall.DialNoFdnCheck( iStatus, aCallParams, aRecipient );
+        SetActive();
+        }
+    else
+        {
+        return KErrInUse;
+        }
+    
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallRequester::MakeAnswerRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelCallRequester::MakeAnswerRequest(
+            const TDesC8& aCallParams )
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelCallRequester::MakeAnswerRequest" );
+    if ( !IsActive() )
+        {
+        iRequestType = ERequestTypeAnswer;
+        iCall.AnswerIncomingCall( iStatus, aCallParams );
+        SetActive();
+        }
+    else
+        {
+        return KErrInUse;
+        }
+    
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallRequester::MakeDialEmergencyRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelCallRequester::MakeDialEmergencyRequest( 
+                            const RMobileENStore::TEmergencyNumber& aRecipient )
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelCallRequester::MakeDialEmergencyRequest" );
+    Cancel();
+
+    iRequestType = ERequestTypeDialEmergency;
+    iCall.DialEmergencyCall( iStatus, aRecipient );
+    SetActive();
+    
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallRequester::MakeRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelCallRequester::MakeRequest( TRequestType aRequest )
+    {
+    TInt result = KErrUnknown;
+
+    if ( !IsActive() )
+        {
+        if ( aRequest != ERequestTypeDial 
+             && aRequest != ERequestTypeDialEmergency )
+            {
+            iRequestType = aRequest;
+            }
+        CSPLOGSTRING2( CSPREQOUT, 
+            "CSP: CSPEtelCallRequester::MakeRequest %d", iRequestType );
+        switch ( aRequest )
+            {
+            case ERequestTypeDial:
+                {
+                // Requested through MakeDialRequest as a special case because
+                // of the parameters.
+                result = KErrNotSupported;
+                break;
+                }
+            case ERequestTypeDialEmergency:
+                {
+                // Requested through MakeDialEmergencyRequest as a special case because
+                // of the parameters.
+                result = KErrNotSupported;
+                break;
+                }
+            case ERequestTypeAnswer:
+                {
+                iCall.AnswerIncomingCall( iStatus );
+                result = KErrNone;
+                SetActive();
+                break;
+                }                
+            case ERequestTypeHangup:
+                {
+                iCall.HangUp( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+            case ERequestTypeHold:
+                {
+                iCall.Hold( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+            case ERequestTypeResume:
+                {
+                iCall.Resume( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+            case ERequestTypeGoOneToOne:
+                {
+                iCall.GoOneToOne( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+            case ERequestTypeSwap:
+                {
+                iCall.Swap( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+                
+            default:
+                {
+                CSPLOGSTRING2( CSPERROR, 
+                    "CSP: CSPEtelCallRequester::MakeRequest: Unspecified \
+                                        request type: %d", iRequestType );
+                result = KErrArgument;
+                }
+            }        
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelCallRequester::MakeRequest: Already active" );
+        result = KErrInUse;
+        }
+        
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallRequester::CancelRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelCallRequester::CancelRequest( TRequestType aRequest )
+    {
+    TInt result(KErrNone);
+    if ( iRequestType == aRequest )
+        {
+        Cancel();
+        }
+    else
+        {
+        CSPLOGSTRING3( CSPERROR, "CSPEtelCallRequester::CancelRequest: No such active, current is %d, param=%d", iRequestType, aRequest );
+        result = KErrNotReady;
+        }
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// CSPEtelCallRequester::RunL
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallRequester::RunL()
+    {
+    CSPLOGSTRING2( CSPREQEND, "CSPEtelCallRequester::RunL: status: %d", iStatus.Int() );
+    
+    TRequestType endedRequest = iRequestType;
+    iRequestType = ERequestTypeNone;
+    if ( iStatus == KErrNone )
+        {
+        
+        switch ( endedRequest )
+            {            
+            case ERequestTypeDial:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Dial request OK" );
+                break;
+                }
+            case ERequestTypeAnswer:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Answer request OK" );
+                break;
+                }
+            case ERequestTypeHangup:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Hangup request OK" );
+                break;
+                }
+            case ERequestTypeHold:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Hold request OK" );
+                break;
+                }
+            case ERequestTypeResume:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Resume request OK" );
+                break;
+                }
+            case ERequestTypeGoOneToOne:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: GoOneToOne request OK" );
+                break;
+                }
+            case ERequestTypeSwap:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Swap request OK" );
+                break;
+                }
+            case ERequestTypeDialEmergency:
+                {
+                CSPLOGSTRING( CSPINT,
+                "CSP CSPEtelCallRequester::RunL: DialEmergency request OK" );
+                break;
+                }
+            default:
+                {
+                CSPLOGSTRING2( CSPERROR, 
+                    "CSP CSPEtelCallRequester::RunL: Unspecified request \
+                                                type: %d", iRequestType );
+                break;
+                }
+            }
+        }
+    else
+        {
+        // Error situations
+        TInt err = iStatus.Int();
+        CSPLOGSTRING2( CSPERROR, "CSP CSPEtelCallRequester::RunL: request \
+                                completed with error: %d", err );
+
+        switch ( endedRequest )
+            {
+            case ERequestTypeDial:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Dial request" );
+                if ( err != KErrCancel )
+                    {
+                    iObserver.DialRequestFailed( err );
+                    return; // In case of Idle state has caused
+                    // immediate destruction of this object.
+                    }
+                break;
+                }
+            case ERequestTypeAnswer:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Answer request" );
+                iObserver.NotifyErrorOccurred( ECCPRequestFailure );
+                break;
+                }
+            case ERequestTypeHangup:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Hangup request" );
+                iObserver.NotifyErrorOccurred( ECCPRequestFailure );
+                break;
+                }
+            case ERequestTypeHold:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Hold request" );
+                iObserver.NotifyErrorOccurred( ECCPLocalHoldFail );
+
+                break;
+                }
+            case ERequestTypeResume:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Resume request" );
+                iObserver.NotifyErrorOccurred( ECCPLocalResumeFail );
+                break;
+                }
+            case ERequestTypeGoOneToOne:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: GoOneToOne request" );
+                iObserver.NotifyErrorOccurred( ECCPRequestFailure );
+                break;
+                }
+            case ERequestTypeSwap:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelCallRequester::RunL: Swap request" );
+                iObserver.NotifyErrorOccurred( ECCPRequestFailure );
+                break;
+                }
+            case ERequestTypeDialEmergency:
+                {
+                CSPLOGSTRING2( CSPINT,
+                    "CSP CSPEtelCallRequester: RunL: DialEmergency error: %d",
+                     err );
+                
+                if ( err != KErrCancel )
+                    {
+                    iObserver.EmergencyDialRequestFailed(err);
+                    }
+                
+                break;
+                }
+                
+            default:
+                {
+                CSPLOGSTRING2( CSPERROR, 
+                    "CSP CSPEtelCallRequester::RunL: Unspecified request \
+                                                type: %d", iRequestType );
+                break;
+                }
+            }
+        
+        }    
+    }
+
+
+// ---------------------------------------------------------------------------
+// From CActive
+// CSPEtelCallRequester::DoCancel
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallRequester::DoCancel()
+    {
+    CSPLOGSTRING( CSPREQOUT, "CSP: CSPEtelCallRequester::DoCancel" );
+    TRequestType cancelRequest = iRequestType;
+    iRequestType = ERequestTypeNone;
+    
+    if ( IsActive() )
+        {
+        CSPLOGSTRING( CSPREQOUT, "CSP: CSPEtelCallRequester::DoCancel IsActive" );
+        switch ( cancelRequest )
+            {
+            case ERequestTypeDial:
+                {
+                CSPLOGSTRING( CSPREQOUT, "CSPEtelCallRequester::DoCancel DialCancel" );
+                iCall.DialCancel();
+                CSPLOGSTRING( CSPREQOUT, "CSPEtelCallRequester::DoCancel DialCancel OK" );
+                break;
+                }
+            case ERequestTypeAnswer:
+                {
+                iCall.AnswerIncomingCallCancel();
+                break;
+                }
+            case ERequestTypeHangup:
+                {
+                iCall.HangUpCancel();
+                break;
+                }
+            case ERequestTypeHold:
+                {
+                iCall.CancelAsyncRequest( EMobileCallHold );
+                break;
+                }
+            case ERequestTypeResume:
+                {
+                iCall.CancelAsyncRequest( EMobileCallResume );
+                break;
+                }
+            case ERequestTypeGoOneToOne:
+                {
+                iCall.CancelAsyncRequest( EMobileCallGoOneToOne );
+                break;
+                }
+            case ERequestTypeSwap:
+                {
+                iCall.CancelAsyncRequest( EMobileCallSwap );
+                break;
+                }
+            case ERequestTypeDialEmergency:
+                {
+                iCall.CancelAsyncRequest( EMobileCallDialEmergencyCall );
+                break;
+                }
+            default:
+                {
+                CSPLOGSTRING2( CSPERROR, "CSP CSPEtelCallRequester::DoCancel: \
+                                Unspecified request type: %d", iRequestType );
+                }
+            }
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelCallRequester::DoCancel: Not active" );
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the requester.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallRequester::CSPEtelCallRequester(
+            MCSPCallErrorObserver& aObserver,
+            RMobileCall& aCall ) : 
+                CActive( EPriorityStandard ), 
+                iObserver( aObserver ), 
+                iCall ( aCall ),
+                iRequestType( ERequestTypeNone )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallRequester::CSPEtelCallRequester()" );
+    CActiveScheduler::Add( this );
+    }
+
+// ---------------------------------------------------------------------------
+// Error value mapping.
+// ---------------------------------------------------------------------------
+//
+TCCPError CSPEtelCallRequester::MapError( TInt aErrorCode )
+    {
+    TCCPError ret = ECCPRequestFailure;
+    CSPLOGSTRING2( CSPINT, "CSPEtelCallRequester::MapError %d", aErrorCode);
+       
+    switch ( aErrorCode )
+        {
+        case KErrGsmCCUnassignedNumber:
+            {
+            ret = ECCPErrorNotReached;
+            break;
+            }        
+        case KErrGsmCCUserBusy:
+            {
+            ret = ECCPErrorBusy;
+            break;
+            }
+        case KErrMMEtelCallForbidden:
+        case KErrGsmCallInProgress:
+        case KErrGsmNumberBarred:
+        case KErrGsmNotAllowed:
+        case KErrEtelCallNotActive:
+        case KErrEtelCallAlreadyActive:
+            {
+            ret = ECCPErrorNotAllowed;
+            break;
+            }        
+        case KErrGsmCCNumberChanged:
+            {
+            ret = ECCPErrorMovedPermanently;
+            break;
+            }        
+        case KErrGsmCCInvalidNumberFormat:
+            {
+            ret = ECCPErrorInvalidURI;
+            break;
+            }        
+        case KErrGsmCCNormalUnspecified:
+            {
+            ret = ECCPErrorNoAnswerForVideo;
+            break;
+            }
+        case KErrGsmCCTemporaryFailure:
+        case KErrGsmCCSwitchingEquipmentCongestion:
+        case KErrGsmCCRequestedChannelNotAvailable:
+            {
+            ret = ECCPErrorNetworkBusy;
+            break;
+            }     
+        case KErrGsmCCNetworkOutOfOrder:
+            {
+            ret = ECCPErrorNetworkOutOfOrder;
+            break;
+            }     
+        case KErrGsmCCRequestedFacilityNotSubscribed:
+            {
+            ret = ECCPErrorCCRequestedFacilityNotSubscribed;
+            break;
+            } 
+        case KErrGsmCCInvalidCallReferenceValue:
+            {
+            ret = ECCPErrorInvalidCallReferenceValue;
+            break;
+            } 
+        case KErrGsmCCUserNotInCug:
+            {
+            ret = ECCPErrorUserNotInCug;
+            break;
+            }
+        case KErrGsmCCIncompatibleDestination:
+            {
+            // Affects to phone redial handling
+            ret = ECCPErrorBadRequest;
+            break;
+            }
+        case KErrGsmCCInvalidTransitNetworkSelection:
+            {
+            ret = ECCPErrorCCInvalidTransitNetworkSelection;
+            break;
+            }
+        case KErrGsmCCSemanticallyIncorrectMessage:
+        case KErrGsmCCConditionalIEError:
+        case KErrGsmCCUnspecifiedProtocolError:
+        case KErrEtelNoCarrier:
+            {
+            ret = ECCPErrorConnectionError;
+            break;
+            }
+        case KErrGsmCallServerFail:
+        case KErrGsm0707NotFound:
+        case KErrGsmCallRejected:
+            {
+            ret = ECCPErrorRejected;
+            break;
+            }
+        case KErrGeneral:
+            {
+            ret = ECCPErrorGeneral;
+            break;
+            }
+        case KErrNotSupported:
+            {
+            ret = ECCPErrorNotSupported;
+            break;
+            }
+        case KErrNoMemory:
+            {
+            ret = ECCPErrorNoMemory;
+            break;
+            }
+        case KErrInUse:
+            {
+            ret = ECCPErrorAlreadyInUse;
+            break;
+            }
+        case KErrNotReady:
+            {
+            ret = ECCPErrorNotReady;
+            break;
+            }
+        case KErrGsmNoService:
+            {
+            ret = ECCPErrorNoService;
+            break;
+            }
+        case KErrGsmOfflineOpNotAllowed:
+            {
+            ret = ECCPErrorNotAllowedInOfflineMode;
+            break;
+            }
+        case KErrDiagnosticInfoBarredWithCUG:
+            {
+            ret = ECCPErrorCUGOutgoingCallsBarred;
+            break;
+            }
+        case KErrDiagnosticInfoBarredNoCUG:
+            {
+            ret = ECCPErrorCUGNotSelected;
+            break;
+            }
+        case KErrDiagnosticInfoBarredUnknownCUG:
+            {
+            ret = ECCPErrorCUGIndexUnknown;
+            break;
+            }
+        case KErrDiagnosticInfoBarredIncompatibleCUG:
+            {
+            ret = ECCPErrorCUGIndexIncompatible;
+            break;
+            }
+        case KErrDiagnosticInfoBarredFailureCUG:
+            {
+            ret = ECCPErrorCUGCallsFailure;
+            break;
+            }
+        case KErrDiagnosticInfoBarredClirNotSubscribed:
+            {
+            ret = ECCPErrorCLIRNotSubscribed;
+            break;
+            }
+        case KErrDiagnosticInfoBarredCCBSPossible:
+            {
+            ret = ECCPErrorCCBSPossible;
+            break;
+            }            
+        case KErrDiagnosticInfoBarredCCBSNotPossible:
+            {
+            ret = ECCPErrorCCBSNotPossible;
+            break;
+            }            
+        case KErrGsmCCRequestedFacilityNotImplemented:
+            {
+            ret = ECCPErrorServiceSettingError;
+            break;
+            }
+        case KErrGsm0707SimNotInserted:
+        case KErrGsm0707SIMPuk1Required:
+        case KErrGsm0707SimPin1Required:
+        case KErrGsm0707SimPin2Required:
+        case KErrGsm0707SimFailure:
+        case KErrGsm0707PhoneToSimLockRequired:
+        case KErrGsm0707SimWrong:
+            {
+            ret = ECCPErrorAuthenticationFailed;
+            break;
+            }            
+        case KErrGsmInvalidFdn:
+            {
+            ret = ECCPErrorInvalidFDN;
+            break;
+            }
+        case KErrArgument:
+            {
+            ret = ECCPErrorInvalidPhoneNumber;
+            break;
+            }
+        case KErrGsmCCOperatorDeterminedBarring:
+            {
+            ret = ECCPErrorNumberBarred;
+            break;
+            }
+        case KErrGsmCCChannelUnacceptable:
+            {
+            ret = ECCPErrorUnacceptableChannel;
+            break;
+            }
+        case KErrGsmCCAccessInformationDiscarded:
+            {
+            ret = ECCPErrorAccessInformationDiscarded;
+            break;
+            }
+        case KErrGsmCCQualityOfServiceNotAvailable:
+            {
+            ret = ECCPErrorQualityOfServiceNotAvailable;
+            break;
+            }
+        case KErrAccessDenied:
+            {
+            ret = ECCPErrorAccessDenied;
+            break;
+            }
+        case KErrGsmCCNoRouteToDestination:
+            {
+            ret = ECCPErrorCCNoRouteToDestination;
+            break;
+            }
+        case KErrGsmCCDestinationOutOfOrder:
+            {
+            ret = ECCPErrorCCDestinationOutOfOrder;
+            break;
+            }
+        case KErrGsmCCResourceNotAvailable:
+            {
+            ret = ECCPErrorCCResourceNotAvailable;
+            break;
+            }
+        case KErrGsmCCIncompatibleMessageInCallState:
+            {
+            ret = ECCPErrorCCIncompatibleMessageInCallState;
+            break;
+            }
+        case KErrGsmCCNormalCallClearing:
+            {
+            ret = ECCPErrorCCNormalCallClearing;
+            break;
+            }
+        case KErrGsmCCUserNotResponding:
+            {
+            ret = ECCPErrorCCUserNotResponding;
+            break;
+            }
+        case KErrGsmCCUserAlertingNoAnswer:
+            {
+            ret = ECCPErrorCCUserAlertingNoAnswer;
+            break;
+            }
+        case KErrGsmCCCallRejected:
+            {
+            ret = ECCPErrorCCCallRejected;
+            break;
+            }
+        case KErrGsmCCPreemption:
+            {
+            ret = ECCPErrorCCPreemption;
+            break;
+            }
+        case KErrGsmCCFacilityRejected:
+            {
+            ret = ECCPErrorCCFacilityRejected;
+            break;
+            }
+        case KErrGsmCCResponseToStatusEnquiry:
+            {
+            ret = ECCPErrorCCResponseToStatusEnquiry;
+            break;
+            }
+        case KErrGsmCCInvalidMandatoryInformation:
+            {
+            ret = ECCPErrorCCInvalidMandatoryInformation;
+            break;
+            }
+        case KErrGsmCCNonExistentMessageType:
+            {
+            ret = ECCPErrorCCNonExistentMessageType;
+            break;
+            }
+        case KErrGsmCCIncompatibleMessageInProtocolState:
+            {
+            ret = ECCPErrorCCIncompatibleMessageInProtocolState;
+            break;
+            }
+        case KErrGsmCCNonExistentInformationElement:
+            {
+            ret = ECCPErrorCCNonExistentInformationElement;
+            break;
+            }
+        case KErrGsmCCRecoveryOnTimerExpiry:
+            {
+            ret = ECCPErrorCCRecoveryOnTimerExpiry;
+            break;
+            }
+        case KErrGsmCCNoChannelAvailable:
+            {
+            ret = ECCPErrorCCNoChannelAvailable;
+            break;
+            }
+        case KErrGsmCCIncomingCallsBarredInCug:
+            {
+            ret = ECCPErrorCCIncomingCallsBarredInCug;
+            break;
+            }
+        case KErrGsmCCBearerCapabilityNotAuthorised:
+            {
+            ret = ECCPErrorCCBearerCapabilityNotAuthorised;
+            break;
+            }
+        case KErrGsmCCBearerCapabilityNotCurrentlyAvailable:
+            {
+            ret = ECCPErrorCCBearerCapabilityNotCurrentlyAvailable;
+            break;
+            }
+        case KErrGsmCCServiceNotAvailable:
+            {
+            ret = ECCPErrorCCServiceNotAvailable;
+            break;
+            }
+        case KErrGsmCCBearerServiceNotImplemented:
+            {
+            ret = ECCPErrorCCBearerServiceNotImplemented;
+            break;
+            }
+        case KErrGsmCCOnlyRestrictedDigitalInformationBCAvailable:
+            {
+            ret = ECCPErrorCCOnlyRestrictedDigitalInformationBCAvailable;
+            break;
+            }
+        case KErrGsmCCServiceNotImplemented:
+            {
+            ret = ECCPErrorCCOnlyRestrictedDigitalInformationBCAvailable;
+            break;
+            }
+        case KErrGsmCCUnspecifiedInterworkingError:
+            {
+            ret = ECCPErrorCCUnspecifiedInterworkingError;
+            break;
+            }
+        case KErrGsmNoNumber:
+            {
+            ret = ECCPErrorInvalidPhoneNumberCancelRedial;
+            break;
+            }
+        case KErrNotFound:
+            {
+            ret = ECCPErrorNotFound;
+            break;
+            }
+        case KErrTimedOut:
+            {
+            ret = ECCPErrorTimedOut;
+            break;
+            }
+        case KErrGsmReleaseByUser:
+            {
+            ret = ECCPErrorReleaseByUserForCancelRedial;
+            break;
+            }
+        case KErrSatControl:
+            {
+            ret = ECCPErrorSatControl;
+            break;
+            }
+        default:
+            {
+            // Use the predefined.
+            break;
+            }
+        }
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
+// Returns the active request.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallRequester::TRequestType CSPEtelCallRequester::Request()
+    {
+    if ( IsActive() )
+        {
+        return iRequestType;
+        }
+    
+    return ERequestTypeNone;
+    }
+    
+// ---------------------------------------------------------------------------
+// Canceling emergency or normal call dial request.
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelCallRequester::DialCancel() 
+    {
+    TInt ret = KErrNotReady;
+    if ( iRequestType == ERequestTypeDialEmergency 
+          || ( iRequestType == ERequestTypeDial ) )
+        {
+        ret = CancelRequest( iRequestType );
+        }
+    else
+        {
+        CSPLOGSTRING2(CSPINT, 
+          "CSPEtelCallRequester::DialCancel invalid irequest for dialcancel %d",
+          iRequestType);
+        }
+    
+    return ret;
+    }
+
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelcallstatusmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,161 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of class CSPEtelCallStatusMonitor which
+*                monitors call status changes from ETel and notifies observer
+*                according to call status change.
+*
+*/
+
+
+#include <mccpcallobserver.h>
+
+#include "cspetelcallstatusmonitor.h"
+#include "mcspcallobserver.h"
+#include "csplogger.h"
+
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallEventMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallStatusMonitor* CSPEtelCallStatusMonitor::NewL( MCSPCallObserver& aObserver,
+                                                        RMobileCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallEventMonitor::NewL()" );
+    CSPEtelCallStatusMonitor* self = new ( ELeave ) CSPEtelCallStatusMonitor( 
+                                        aObserver, aCall );
+    return self;    
+    }
+
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallStatusMonitor::~CSPEtelCallStatusMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallStatusMonitor::~CSPEtelCallStatusMonitor()" );
+    Cancel();
+       
+    if ( iDestrPtr )
+        {
+        *iDestrPtr = ETrue;
+        iDestrPtr = NULL;
+        }
+        
+    }
+
+
+// ---------------------------------------------------------------------------
+// Starts the monitoring.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallStatusMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelCallStatusMonitor::StartMonitoring()" );
+    if ( !IsActive() && iCall.SubSessionHandle() )
+        {
+        CSPLOGSTRING( CSPREQOUT, 
+            "CSP: CSPEtelCallStatusMonitor::StartMonitoring: Request \
+                    RMobilePhone::NotifyMobileCallStatusChange" );
+        iCall.NotifyMobileCallStatusChange( iStatus, iCallStatus );
+        CSPLOGSTRING( CSPREQOUT, "CSPEtelCallStatusMonitor:: Notify OK" );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelCallStatusMonitor::StartMonitoring: Already active" );
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// Starts the monitoring.
+// ---------------------------------------------------------------------------
+//    
+RMobileCall::TMobileCallStatus CSPEtelCallStatusMonitor::State()
+    {
+    return iCallStatus;
+    }
+    
+// ---------------------------------------------------------------------------
+// From CActive
+// Handles call status notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallStatusMonitor::RunL()
+    {
+    CSPLOGSTRING( CSPINT, "CSPEtelCallStatusMonitor::RunL")   
+    
+    // Survive from monitor destruction during observing sequence
+    TBool destroyed = EFalse;
+    iDestrPtr = &destroyed;
+     
+    if ( iStatus == KErrNone )
+        {
+        iObserver.NotifyCallStateChangedETel( iCallStatus );
+        }
+    
+    if ( !destroyed )
+        {        
+        // In case instance has not been deleted, pointer must be cleared.
+        iDestrPtr = NULL;
+        if ( iStatus == KErrNone )
+            {
+            StartMonitoring();
+            }
+        }
+    else
+        {
+        // already destroyed, do not touch members.
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallStatusMonitor::DoCancel()
+    {
+    CSPLOGSTRING( CSPINT, "CSPEtelCallStatusMonitor::DoCancel" );
+    iCall.CancelAsyncRequest( EMobileCallNotifyMobileCallStatusChange );
+    }
+
+
+
+    
+// ---------------------------------------------------------------------------
+// Constructs the monitor..
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallStatusMonitor::CSPEtelCallStatusMonitor( MCSPCallObserver& aObserver,
+                                                    RMobileCall& aCall ) : 
+                                   CActive( EPriorityStandard ),
+                                   iObserver( aObserver ),
+                                   iCall ( aCall )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallStatusMonitor::CSPEtelCallStatusMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+    
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelcallwaitingrequester.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,263 @@
+/*
+* 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:  Contains the implementation of class CSPEtelCallWaitingRequester
+*
+*/
+
+
+
+#include "cspetelcallwaitingrequester.h"
+
+#include <mmretrieve.h>
+#include <etelmm.h>
+
+#include "csplogger.h"
+#include "cspconsts.h"
+
+
+// ---------------------------------------------------------------------------
+// Constructs the requester via two phased constructing.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallWaitingRequester* CSPEtelCallWaitingRequester::NewL(
+            RMobilePhone& aPhone ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester::NewL()" );
+    CSPEtelCallWaitingRequester* self = 
+        new ( ELeave ) CSPEtelCallWaitingRequester( aPhone );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );    
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor of the object.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallWaitingRequester::~CSPEtelCallWaitingRequester( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester::~CSPEtelCallWaitingRequester()" );
+    Cancel();
+    delete iList;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallWaitingRequester::GetCallWaitingL
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallWaitingRequester::GetCallWaitingL( const CCCECallParameters& 
+                                                      aParams,
+                                                   TBool& aCallWaitingStatus )
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::GetCallWaitingL()" );
+    
+    if ( iMode == ECwRequesterInactive )
+        {
+        iMode = ECwRequesterGetStarted;
+        iList->Start( iStatus );
+        SetActive();
+        iWait.Start();
+        
+        if ( iStatus == -5252 )
+            {
+            aCallWaitingStatus = ETrue; 
+            }
+        else
+            {
+            // Get the list of call waiting entries
+            CMobilePhoneCWList* cwList = iList->RetrieveListL();
+            CleanupStack::PushL(cwList);
+            
+            TInt count = cwList->Enumerate();
+            RMobilePhone::TMobilePhoneCWInfoEntryV1 cwInfo;        
+            
+            aCallWaitingStatus = EFalse; // Default false
+            CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::GetCallWaitingL() iterate" );
+            for( TInt i=0; i < count ; i++ )
+               {
+               cwInfo = cwList->GetEntryL( i );
+     
+                if ( cwInfo.iStatus == RMobilePhone::ECallWaitingStatusActive )
+                    {
+                    if ( cwInfo.iServiceGroup == RMobilePhone::EAuxVoiceService )
+                        {
+                        iAuxLineCwStatus = ETrue;
+                        }
+                    else
+                        {
+                        iPrimaryLineCwStatus = ETrue;
+                        }
+                    }
+               }       
+            
+            GetCallWaitingStatusByLineType( aParams, aCallWaitingStatus );
+            
+            CSPLOGSTRING2(CSPINT, 
+                "CSPEtelCallWaitingRequester::GetCallWaitingL() res:%d", 
+                        aCallWaitingStatus );
+            CleanupStack::PopAndDestroy( cwList );
+            
+            // Initial value has been read from network, 
+            // now we must keep the setting value up to date.
+            StartMonitoring();
+            }           
+        }
+
+    else if ( iMode == ECwRequesterMonitoring )
+        {
+        CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::GetCallWaitingL() use cached value" );
+        GetCallWaitingStatusByLineType( aParams, aCallWaitingStatus );
+        }       
+    else if ( iMode == ECwRequesterGetStarted )
+        {
+        CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::GetCallWaitingL() KErrInUse" );
+        User::Leave( KErrInUse );
+        }       
+    }
+    
+// ---------------------------------------------------------------------------
+// From CActive
+// CSPEtelCallWaitingRequester::RunL
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallWaitingRequester::RunL()
+    {
+    CSPLOGSTRING2( CSPREQEND, "CSPEtelCallWaitingRequester::RunL: status: %d", 
+                              iStatus.Int() );
+    if ( iWait.IsStarted() )
+        {
+        iWait.AsyncStop();
+        }
+    else if ( KErrNone == iStatus.Int() )
+        {
+        RMobilePhone::TMobilePhoneCWInfoEntryV1 cwInfo = iDesCwStatus();
+        switch (cwInfo.iStatus)
+            {
+            case RMobilePhone::ECallWaitingStatusActive:
+                if ( cwInfo.iServiceGroup == RMobilePhone::EAuxVoiceService )
+                    {
+                    iAuxLineCwStatus = ETrue;
+                    }
+                else
+                    {
+                    iPrimaryLineCwStatus = ETrue;
+                    }
+                break;
+            case RMobilePhone::ECallWaitingStatusNotActive:
+                if ( cwInfo.iServiceGroup == RMobilePhone::EAuxVoiceService )
+                    {
+                    iAuxLineCwStatus = EFalse;
+                    }
+                else
+                    {
+                    iPrimaryLineCwStatus = EFalse;
+                    }   
+                break;
+            default:
+                break;
+            }            
+        
+        CSPLOGSTRING3(CSPINT, 
+                        "CSPEtelCallWaitingRequester::RunL: service:%d new cw status:%d", 
+                        cwInfo.iServiceGroup, cwInfo.iStatus );
+        
+        StartMonitoring();
+        }
+    else
+        {
+        iMode = ECwRequesterInactive;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// CSPEtelCallWaitingRequester::DoCancel
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallWaitingRequester::DoCancel()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester::DoCancel()" );
+    if ( iMode == ECwRequesterGetStarted )
+        {
+        iList->Cancel();
+        iMode = ECwRequesterInactive;
+        }
+    else if ( iMode == ECwRequesterMonitoring )
+        {
+        iPhone.CancelAsyncRequest( EMobilePhoneNotifyCallWaitingStatusChange );
+        iMode = ECwRequesterInactive;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the requester.
+// ---------------------------------------------------------------------------
+//
+CSPEtelCallWaitingRequester::CSPEtelCallWaitingRequester(RMobilePhone& aPhone): 
+    CActive( EPriorityStandard ),
+    iPhone( aPhone )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester::CSPEtelCallWaitingRequester()" );
+    CActiveScheduler::Add( this );
+    iPrimaryLineCwStatus = EFalse;
+    iAuxLineCwStatus = EFalse;
+    iMode = ECwRequesterInactive;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallWaitingRequester::ConstructL
+// ---------------------------------------------------------------------------
+//    
+void CSPEtelCallWaitingRequester::ConstructL()
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::ConstructL()" );
+    iList = CRetrieveMobilePhoneCWList::NewL(iPhone);
+    }
+
+// ---------------------------------------------------------------------------
+// Start listening call waiting status change notifications. 
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallWaitingRequester::StartMonitoring()
+    {
+    iPhone.NotifyCallWaitingStatusChange( iStatus, iDesCwStatus );
+    SetActive();
+    iMode = ECwRequesterMonitoring;
+    }
+
+// ---------------------------------------------------------------------------
+// Returns the call waiting status from call waiting status list by linetype.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelCallWaitingRequester::GetCallWaitingStatusByLineType( const CCCECallParameters& 
+                                                                    aParams,
+                                                                  TBool& aCallWaitingStatus )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester:GetCallWaitingStatusByLineType" );
+    
+    if ( aParams.LineType() == CCCECallParameters::ECCELineTypePrimary )
+        {
+        aCallWaitingStatus = iPrimaryLineCwStatus;
+        }
+    else
+        {
+        aCallWaitingStatus = iAuxLineCwStatus;
+        }
+    CSPLOGSTRING3(CSPINT, 
+                "CSPEtelCallWaitingRequester::GetCallWaitingStatusByLineType: line:%d res:%d", 
+                        aParams.LineType(), aCallWaitingStatus );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelconferencecallrequester.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,375 @@
+/*
+* 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:  Contains the implementation of class 
+*                CSPEtelConferenceCallRequester.
+*
+*/
+
+
+#include <etelmm.h>
+#include <mccpconferencecallobserver.h>
+
+#include "cspetelconferencecallrequester.h"
+#include "csplogger.h"
+#include "cspconferencecall.h"
+
+
+// ---------------------------------------------------------------------------
+// Constructs the requester via two phased constructing.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceCallRequester* CSPEtelConferenceCallRequester::NewL(
+            CSPConferenceCall& aOwner,
+            RMobileConferenceCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelConferenceCallRequester::NewL()" );
+    CSPEtelConferenceCallRequester* self = new ( ELeave ) CSPEtelConferenceCallRequester( 
+                                        aOwner, aCall );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// Destructor of the object.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceCallRequester::~CSPEtelConferenceCallRequester( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelConferenceCallRequester::~CSPEtelConferenceCallRequester()" );
+    CSPLOGSTRING2(CSPINT, "CSPEtelConferenceCallRequester:: type: %d", iRequestType );
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelConferenceCallRequester::MakeAddCallRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelConferenceCallRequester::MakeAddCallRequest( const TName& aCallName )
+    {
+    if ( !IsActive() )
+        {
+        iRequestType = EConferenceRequestTypeAddCall;
+        iCall.AddCall( iStatus, aCallName );
+        SetActive();
+        }
+    else
+        {
+        return KErrInUse;
+        }
+    
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelConferenceCallRequester::MakeRequest
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelConferenceCallRequester::MakeRequest( 
+                                        TConferenceRequestType aRequest )
+    {
+    TInt result = KErrUnknown;
+
+    if ( !IsActive() )
+        {
+        if ( aRequest != EConferenceRequestTypeAddCall )
+            {
+            iRequestType = aRequest;
+            }
+            
+        CSPLOGSTRING2( CSPREQOUT, 
+            "CSP: CSPEtelConferenceCallRequester::MakeRequest %d", iRequestType );
+        switch ( aRequest )
+            {
+            case EConferenceRequestTypeAddCall:
+                {
+                // Requested through EConferenceRequestTypeAddCall as a special case because
+                // of the parameters.
+                result = KErrNotSupported;
+                break;
+                }
+            case EConferenceRequestTypeHangup:
+                {
+                iCall.HangUp( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+            case EConferenceRequestTypeHold:
+                {
+                iCall.Swap( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+            case EConferenceRequestTypeResume:
+                {
+                iCall.Swap( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+            case EConferenceRequestTypeCreateConference:
+                {
+                iCall.CreateConference( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+            case EConferenceRequestTypeSwap:
+                {
+                iCall.Swap( iStatus );
+                SetActive();
+                result = KErrNone;
+                break;
+                }
+            default:
+                {
+                CSPLOGSTRING2( CSPERROR, 
+                    "CSP: CSPEtelConferenceCallRequester::MakeRequest: Unspecified \
+                                        request type: %d", iRequestType );
+                result = KErrArgument;
+                }
+            }
+        
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelConferenceCallRequester::MakeRequest: Already active" );
+        
+        if ( aRequest == EConferenceRequestTypeHangup )
+            {
+            // First cancel ongoing request.
+            Cancel();
+
+            iCall.HangUp( iStatus );
+            SetActive();
+            result = KErrNone;            
+            }
+        else
+            {
+            result = KErrInUse;
+            }
+        }
+        
+    return result;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelConferenceCallRequester::RunL
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceCallRequester::RunL()
+    {
+    // from CActive
+    CSPLOGSTRING2( CSPREQEND, 
+        "CSP: CSPEtelConferenceCallRequester::RunL: status: %d", iStatus.Int() );
+    
+    if ( iStatus == KErrNone )
+        {
+        switch ( iRequestType )
+            {
+            case EConferenceRequestTypeAddCall:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Add call request OK" );
+                break;
+                }
+            case EConferenceRequestTypeHangup:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Hangup request OK" );
+                break;
+                }
+            case EConferenceRequestTypeHold:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Hold request OK" );
+                break;
+                }
+            case EConferenceRequestTypeResume:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Resume request OK" );
+                break;
+                }
+            case EConferenceRequestTypeCreateConference:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Conference create request OK" );
+                break;
+                }
+            case EConferenceRequestTypeSwap:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Conference swap request OK" );
+                break;
+                }
+            default:
+                {
+                CSPLOGSTRING2( CSPERROR, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Unspecified request \
+                                                type: %d", iRequestType );
+                break;
+                }
+            }
+        }
+    else
+        {
+        // Error situations 
+        
+        CSPLOGSTRING2( CSPERROR, "CSP CSPEtelConferenceCallRequester::RunL: request \
+                                completed with error: %d", iStatus.Int() );
+        switch ( iRequestType )
+            {
+            case EConferenceRequestTypeAddCall:
+                {
+                CSPLOGSTRING( CSPERROR, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Add call request" );
+                iOwner.NotifyConferenceError( 
+                           ECCPConferenceErrorAddCall );
+                break;
+                }
+            case EConferenceRequestTypeHangup:
+                {
+                CSPLOGSTRING( CSPERROR, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Hangup request" );
+                iOwner.NotifyConferenceError( 
+                           ECCPConferenceErrorHangUp );
+                break;
+                }
+            case EConferenceRequestTypeHold:
+                {
+                CSPLOGSTRING( CSPERROR, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Hold request" );
+                iOwner.NotifyConferenceError( 
+                           ECCPConferenceErrorHold );
+                break;
+                }
+            case EConferenceRequestTypeResume:
+                {
+                CSPLOGSTRING( CSPERROR, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Resume request err" );
+                iOwner.NotifyConferenceError( 
+                           ECCPConferenceErrorResume );
+                break;
+                }
+            case EConferenceRequestTypeCreateConference:
+                {
+                CSPLOGSTRING( CSPERROR, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Conference create request" );
+                iOwner.NotifyConferenceError( 
+                           ECCPConferenceErrorAddCall );
+                break;
+                }
+            case EConferenceRequestTypeSwap:
+                {
+                CSPLOGSTRING( CSPERROR, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Conference swap request" );
+                iOwner.NotifyConferenceError( 
+                           ECCPConferenceErrorSwap );
+
+                break;
+                }
+            default:
+                {
+                CSPLOGSTRING2( CSPERROR, 
+                    "CSP CSPEtelConferenceCallRequester::RunL: Unspecified request \
+                                                type: %d", iRequestType );
+                break;
+                }
+            }
+        
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelConferenceCallRequester::DoCancel
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceCallRequester::DoCancel()
+    {
+    if ( IsActive() )
+        {
+        CSPLOGSTRING( CSPREQOUT, "CSP: CSPEtelConferenceCallRequester::DoCancel" );
+        switch ( iRequestType )
+            {
+            case EConferenceRequestTypeAddCall:
+                {
+                iCall.CancelAsyncRequest( EMobileConferenceCallAddCall );
+                break;
+                }
+            case EConferenceRequestTypeHangup:
+                {
+                iCall.CancelAsyncRequest( EMobileConferenceCallHangUp );
+                break;
+                }
+            case EConferenceRequestTypeHold:
+            case EConferenceRequestTypeResume:
+                {
+                iCall.CancelAsyncRequest( EMobileConferenceCallSwap );
+                break;
+                }
+            case EConferenceRequestTypeCreateConference:
+                {
+                iCall.CancelAsyncRequest( EMobileConferenceCallCreateConference );
+                break;
+                }
+            case EConferenceRequestTypeSwap:
+                {
+                iCall.CancelAsyncRequest( EMobileConferenceCallSwap );
+                break;
+                }
+            default:
+                {
+                CSPLOGSTRING2( CSPERROR, "CSP CSPEtelConferenceCallRequester::DoCancel: \
+                                Unspecified request type: %d", iRequestType );
+                }
+            }
+        
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelConferenceCallRequester::DoCancel: Already active" );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the requester.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceCallRequester::CSPEtelConferenceCallRequester(
+            CSPConferenceCall& aOwner,
+            RMobileConferenceCall& aCall ) : 
+                CActive( EPriorityStandard ), 
+                iOwner( aOwner ), 
+                iCall ( aCall )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelConferenceCallRequester::CSPEtelConferenceCallRequester()" );
+    CActiveScheduler::Add( this );
+    }
+    
+// ---------------------------------------------------------------------------
+// Constructing in the second phase.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceCallRequester::ConstructL()
+    {
+    }
+    
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelconferencecapsmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of class CSPEtelConferenceCapsMonitor which
+*                monitors call status changes from ETel and notifies observer
+*                according to call status change.
+*
+*/
+
+
+#include "cspetelconferencecapsmonitor.h"
+
+#include "cspconferencecall.h"
+#include "csplogger.h"
+
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelConferenceCapsMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceCapsMonitor* CSPEtelConferenceCapsMonitor::NewL( 
+                                                    CSPConferenceCall& aOwner,
+                                                    RMobileConferenceCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelConferenceCapsMonitor::NewL()" );
+    CSPEtelConferenceCapsMonitor* self = 
+                        new ( ELeave ) CSPEtelConferenceCapsMonitor( 
+                                                            aOwner, aCall );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    return self;    
+    }
+
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceCapsMonitor::~CSPEtelConferenceCapsMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelConferenceCapsMonitor::~CSPEtelConferenceCapsMonitor()" );
+        
+    if ( iDestrPtr )
+        {
+        *iDestrPtr = ETrue;
+        iDestrPtr = NULL;
+        }
+        
+    Cancel();
+    }
+
+
+// ---------------------------------------------------------------------------
+// Starts the monitoring.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceCapsMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+          "CSPEtelConferenceCapsMonitor::StartMonitoring()" );
+
+    
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPREQOUT, 
+            "CSP: CSPEtelConferenceCapsMonitor::StartMonitoring: Request \
+                    RMobilePhone::NotifyCapsChange" );
+        iCall.NotifyCapsChange( iStatus, iCaps );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelConferenceCapsMonitor::StartMonitoring: Already active" );
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// From CActive
+// Handles call status notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceCapsMonitor::RunL()
+    {
+    CSPLOGSTRING2( CSPREQEND, 
+        "CSPEtelConferenceCapsMonitor::RunL: status: %d", iStatus.Int() );
+    
+    // Survive from monitor destruction during observing sequence
+    TBool destroyed = EFalse;
+    iDestrPtr = &destroyed;
+
+    
+    if ( iStatus == KErrNone )
+        {
+        // Test caps and notify about the iOwner 
+        iOwner.ConferenceCapsChanged( iCaps );
+
+        }
+    
+    if ( !destroyed )
+        {
+        // In case instance has not been deleted, it is important to clear
+        // iPtr pointer.
+        iDestrPtr = NULL;
+        
+        // ok to modify member variables.
+        if ( iStatus == KErrNone )
+            {
+            StartMonitoring();
+            }
+        }
+    else
+        {
+        // already destroyed, do not touch members.
+        }
+
+    }
+
+
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceCapsMonitor::DoCancel()
+    {
+    iCall.CancelAsyncRequest( EMobileConferenceCallNotifyCapsChange );
+    }
+
+
+
+    
+// ---------------------------------------------------------------------------
+// Constructs the monitor..
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceCapsMonitor::CSPEtelConferenceCapsMonitor( CSPConferenceCall& aOwner,
+                                                    RMobileConferenceCall& aCall ) : 
+                                   CActive( EPriorityStandard ),
+                                   iOwner( aOwner ),
+                                   iCall ( aCall )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelConferenceCapsMonitor::CSPEtelConferenceCapsMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+    
+// ---------------------------------------------------------------------------
+// Second phase construction.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceCapsMonitor::ConstructL()
+    {
+    // Implementation not required.
+    }
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelconferenceeventmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,250 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of class CSPEtelConferenceEventMonitor which
+*                monitors call events from ETel and notifies observer
+*                accordingly.
+*
+*/
+
+
+#include "cspetelconferenceeventmonitor.h"
+
+#include <mccpconferencecallobserver.h>
+
+#include "csplogger.h"
+#include "cspconferencecall.h"
+
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelConferenceEventMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceEventMonitor* CSPEtelConferenceEventMonitor::NewL( 
+                                                    CSPConferenceCall& aOwner,
+                                                    RMobileConferenceCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelConferenceEventMonitor::NewL()" );
+    CSPEtelConferenceEventMonitor* self = 
+                    new ( ELeave ) CSPEtelConferenceEventMonitor( 
+                                        aOwner, aCall );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    return self;    
+    }
+
+
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceEventMonitor::~CSPEtelConferenceEventMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelConferenceEventMonitor::~CSPEtelConferenceEventMonitor()" );
+    Cancel();
+    
+    if ( iDestrPtr )
+        {
+        *iDestrPtr = ETrue;
+        iDestrPtr = NULL;
+        }
+
+    }
+
+// ---------------------------------------------------------------------------
+// Starts the monitoring.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceEventMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+          "CSPEtelConferenceEventMonitor::StartMonitoring()" );
+
+    
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPREQOUT, 
+            "CSP: CSPEtelConferenceEventMonitor::StartMonitoring: \
+                    Request RMobilePhone::NotifyEvent" );
+        
+        iCall.NotifyConferenceEvent( iStatus, iEvent, iCallName );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelConferenceEventMonitor::StartMonitoring: Already active" );
+        }
+    }
+    
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Handles event notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceEventMonitor::RunL()
+    {
+    CSPLOGSTRING2( CSPREQEND, 
+        "CSPEtelConferenceEventMonitor::RunL: status: %d", iStatus.Int() );
+    
+    // Survive from monitor destruction during observing sequence
+    TBool destroyed = EFalse;
+    iDestrPtr = &destroyed;
+
+    
+    if ( iStatus == KErrNone )
+        {
+        CSPLOGSTRING2( CSPINT, 
+           "CSP CSPEtelConferenceEventMonitor::RunL  Event related callname = %S", 
+            &iCallName );
+
+        switch ( iEvent )
+            {
+            case RMobileConferenceCall::EConferenceCallAdded:
+                {
+                CSPLOGSTRING( CSPINT, 
+                   "CSP CSPEtelConferenceEventMonitor::RunL: ECCPConferenceCallAdded" );
+                iOwner.NotifyEvent( 
+                    MCCPConferenceCallObserver::ECCPConferenceCallAdded, 
+                    iCallName );
+                    
+                break;
+                }
+             // The call has been placed on hold as a result of a local action
+            case RMobileConferenceCall::EConferenceCallRemoved:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceEventMonitor::RunL: ECCPConferenceCallRemoved" );
+                iOwner.NotifyEvent( 
+                    MCCPConferenceCallObserver::ECCPConferenceCallRemoved,
+                    iCallName );
+                break;
+                }
+                
+            // The call has been resumed as a result of a local action. 
+            case RMobileConferenceCall::EConferenceBuilt:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceEventMonitor::RunL: ECCPConferenceBuilt" );
+                iOwner.NotifyEvent( 
+                        MCCPConferenceCallObserver::ECCPConferenceBuilt );
+                break;
+                }
+            
+            case RMobileConferenceCall::EConferenceTerminated:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceEventMonitor::RunL: ECCPConferenceTerminated" );
+                iOwner.NotifyEvent( 
+                        MCCPConferenceCallObserver::ECCPConferenceTerminated );
+                break;
+                }
+            
+            case RMobileConferenceCall::EConferenceSwapped:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceEventMonitor::RunL: ECCPConferenceSwapped" );
+                iOwner.NotifyEvent( 
+                        MCCPConferenceCallObserver::ECCPConferenceSwapped );
+                break;
+                }
+            
+            case RMobileConferenceCall::EConferenceSplit:
+                {
+                CSPLOGSTRING( CSPINT, 
+                    "CSP CSPEtelConferenceEventMonitor::RunL: ECCPConferenceSplit" );
+                iOwner.NotifyEvent( 
+                        MCCPConferenceCallObserver::ECCPConferenceSplit,
+                        iCallName );
+                break;
+                }
+
+            default:
+                {
+                CSPLOGSTRING2( CSPERROR, 
+                    "CSP CSPEtelConferenceEventMonitor::RunL: ERROR Unspecified \
+                     call event: %d", iEvent );
+                break;
+                }
+                
+            }
+        }
+    else
+        {
+        CSPLOGSTRING2( CSPERROR, 
+            "CSP CSPEtelConferenceEventMonitor::RunL err %d", iStatus.Int() );
+        }
+        
+    if ( !destroyed )
+        {
+        // In case instance has not been deleted, it is important to clear
+        // iPtr pointer.
+        iDestrPtr = NULL;
+        
+        // ok to modify member variables.
+        if ( iStatus == KErrNone )
+            {
+            StartMonitoring();
+            }
+        }
+    else
+        {
+        // already destroyed, do not touch members.
+        }
+
+    }
+
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Request canceling.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceEventMonitor::DoCancel()
+    {
+    iCall.CancelAsyncRequest( EMobileConferenceCallNotifyConferenceEvent );
+    }
+
+    
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceEventMonitor::CSPEtelConferenceEventMonitor( CSPConferenceCall& aOwner,
+                                                  RMobileConferenceCall& aCall ) : 
+                                   CActive( EPriorityStandard ), 
+                                   iOwner( aOwner ),
+                                   iCall ( aCall )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelConferenceEventMonitor::CSPEtelConferenceEventMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+
+// ---------------------------------------------------------------------------
+// Second phase construction.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceEventMonitor::ConstructL()
+    {
+    // Implementation not required.
+    }
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelconferencestatusmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,202 @@
+/*
+* 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:  Implementation of class CSPEtelConferenceStatusMonitor which
+*                monitors call status changes from ETel and notifies observer
+*                according to call status change.
+*
+*/
+
+
+#include "cspetelconferencestatusmonitor.h"
+
+#include <mccpconferencecallobserver.h>
+
+#include "csplogger.h"
+#include "cspconferencecall.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelConferenceStatusMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceStatusMonitor* CSPEtelConferenceStatusMonitor::NewL( 
+                                                    MCSPConferenceStatusObserver& aOwner,
+                                                    RMobileConferenceCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelConferenceStatusMonitor::NewL()" );
+    CSPEtelConferenceStatusMonitor* self = 
+                        new ( ELeave ) CSPEtelConferenceStatusMonitor( 
+                                                            aOwner, aCall );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceStatusMonitor::~CSPEtelConferenceStatusMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelConferenceStatusMonitor::~CSPEtelConferenceStatusMonitor()" );
+    Cancel();
+        
+    if ( iDestrPtr )
+        {
+        *iDestrPtr = ETrue;
+        iDestrPtr = NULL;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Starts the monitoring.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceStatusMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+          "CSPEtelConferenceStatusMonitor::StartMonitoring()" );
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPREQOUT, 
+            "CSP: CSPEtelConferenceStatusMonitor::StartMonitoring: Request \
+                    RMobilePhone::NotifyMobileStatusChange" );
+        iCall.NotifyConferenceStatusChange( iStatus, iConferenceStatus );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelConferenceStatusMonitor::StartMonitoring: Already active" );
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// From CActive
+// Handles call status notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceStatusMonitor::RunL()
+    {
+    CSPLOGSTRING2( CSPREQEND, 
+        "CSPEtelConferenceStatusMonitor::RunL: status: %d", iStatus.Int() );
+    
+    // Survive from monitor destruction during observing sequence
+    TBool destroyed = EFalse;
+    iDestrPtr = &destroyed;
+    
+    if ( iStatus == KErrNone )
+        {
+        switch ( iConferenceStatus )
+            {
+
+            case RMobileConferenceCall::EConferenceIdle:
+                {
+                CSPLOGSTRING( CSPINT, "CSPETelConferenceStatusMonitor IDLE");
+                iOwner.NotifyStateChange( 
+                    MCSPConferenceStatusObserver::ECSPConferenceIdle );
+                break;
+                }
+
+            case RMobileConferenceCall::EConferenceActive:
+                {
+                CSPLOGSTRING( CSPINT, "CSPETelConferenceStatusMonitor ACTIVE");
+                iOwner.NotifyStateChange( 
+                    MCSPConferenceStatusObserver::ECSPConferenceActive );
+                break;
+                }
+            case RMobileConferenceCall::EConferenceHold:
+                {
+                CSPLOGSTRING( CSPINT, "CSPETelConferenceStatusMonitor HOLD");
+
+                iOwner.NotifyStateChange( 
+                    MCSPConferenceStatusObserver::ECSPConferenceHold );
+
+                break;
+                }
+
+            default:
+                {
+                CSPLOGSTRING2( CSPINT, 
+                   "CSP CSPEtelConferenceStatusMonitor::RunL: Unspecified/protocol \
+                             specific call status: %d", iConferenceStatus );
+                break;
+                }
+            }
+            
+        }
+    else
+        {
+        CSPLOGSTRING2( CSPERROR, 
+            "CSP CSPEtelConferenceStatusMonitor::RunL err %d", iStatus.Int() );
+        }
+        
+    if ( !destroyed )
+        {
+        // In case instance has not been deleted, it is important to clear
+        // iPtr pointer.
+        iDestrPtr = NULL;
+        
+        // ok to modify member variables.
+        if ( iStatus == KErrNone )
+            {
+            StartMonitoring();
+            }
+        }
+    else
+        {
+        // Already destroyed, do not touch members.
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceStatusMonitor::DoCancel()
+    {
+    iCall.CancelAsyncRequest( 
+                          EMobileConferenceCallNotifyConferenceStatusChange );
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor..
+// ---------------------------------------------------------------------------
+//
+CSPEtelConferenceStatusMonitor::CSPEtelConferenceStatusMonitor( 
+                                   MCSPConferenceStatusObserver& aOwner,
+                                   RMobileConferenceCall& aCall ) : 
+                                   CActive( EPriorityStandard ),
+                                   iOwner( aOwner ),
+                                   iCall ( aCall )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelConferenceStatusMonitor::CSPEtelConferenceStatusMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+    
+// ---------------------------------------------------------------------------
+// Second phase construction.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelConferenceStatusMonitor::ConstructL()
+    {
+    // Implementation not required.
+    }
+
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspeteldtmfmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,188 @@
+/*
+* 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:  Implements the class CSPEtelDtmfMonitor
+*
+*/
+
+
+
+#include <mccpdtmfobserver.h>
+#include <rmmcustomapi.h>
+#include <gsmerror.h>
+
+#include "cspeteldtmfmonitor.h"
+#include "csplogger.h"
+#include "cspdtmfprovider.h"
+#include "cspconsts.h"
+#include "cspdtmfprovider.h"
+
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelDtmfMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelDtmfMonitor* CSPEtelDtmfMonitor::NewL( 
+                                        CSPDTMFProvider& aObserver, 
+                                        RMmCustomAPI& aMmCustom ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelDtmfMonitor::NewL()" );
+    CSPEtelDtmfMonitor* self = new ( ELeave ) CSPEtelDtmfMonitor( 
+                                        aObserver, aMmCustom );
+    return self;    
+    }
+
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelDtmfMonitor::~CSPEtelDtmfMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelDtmfMonitor::~CSPEtelDtmfMonitor()" );
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// Starts the monitor.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelDtmfMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPINT, 
+        "CSPEtelDtmfMonitor::StartMonitoring()" );
+
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSP: CSPEtelDtmfMonitor::StartMonitoring: Request \
+                    iMmCustom.NotifyDTMFEvent( iStatus, iEventData )" );
+        iMmCustom.NotifyDtmfEvent( iStatus, iEventData );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelDtmfMonitor::StartMonitoring: Already active" );
+        }
+    }
+// ---------------------------------------------------------------------------
+// From CActive.
+// Handles line status change notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelDtmfMonitor::RunL()
+    {
+    TInt err = iStatus.Int();
+    CSPLOGSTRING2( CSPREQEND, 
+        "CSPEtelDtmfMonitor::RunL: status: %d", err );
+    
+    if ( err == KErrNone )
+        {
+        MCCPDTMFObserver::TCCPDtmfEvent event;
+        if ( iEventData.iEvent == RMmCustomAPI::EDtmfStart 
+             && iEventData.iType == RMmCustomAPI::EDtmfManual )
+            {
+            event = MCCPDTMFObserver::ECCPDtmfManualStart;
+            }
+        else if ( iEventData.iEvent == RMmCustomAPI::EDtmfStart 
+             && iEventData.iType == RMmCustomAPI::EDtmfSequence )
+            {
+            event = MCCPDTMFObserver::ECCPDtmfSequenceStart;
+            }
+        else if ( iEventData.iEvent == RMmCustomAPI::EDtmfStop 
+             && iEventData.iType == RMmCustomAPI::EDtmfManual )
+            {
+            event = MCCPDTMFObserver::ECCPDtmfManualStop;
+            }
+        else if ( iEventData.iEvent == RMmCustomAPI::EDtmfStop 
+             && iEventData.iType == RMmCustomAPI::EDtmfSequence )
+            {
+            event = MCCPDTMFObserver::ECCPDtmfSequenceStop;
+            }
+        else if ( iEventData.iEvent == RMmCustomAPI::EDtmfAbort 
+             && iEventData.iType == RMmCustomAPI::EDtmfManual )
+            {
+            event = MCCPDTMFObserver::ECCPDtmfManualAbort;
+            }
+        else if ( iEventData.iEvent == RMmCustomAPI::EDtmfAbort 
+             && iEventData.iType == RMmCustomAPI::EDtmfSequence )
+            {
+            event = MCCPDTMFObserver::ECCPDtmfSequenceAbort;
+            }
+        else
+            {
+            // Unknown event
+            CSPLOGSTRING3( CSPERROR, 
+                "CSPEtelDtmfMonitor::RunL: Unknown event = %¨d, type = %d", 
+                    iEventData.iEvent, iEventData.iType );
+            
+            // Refresh and return (no observer notfiying).
+            StartMonitoring();
+            return;
+            }
+        
+        iObserver.NotifyDTMFEvent( event, err, iEventData.iTone );
+        }
+    else
+        {
+        CSPLOGSTRING2( CSPERROR, "CSPEtelDtmfMonitor::RunL: Error \
+                    from DTMF: %d", err );
+        }
+    
+    // Continue if not in offline mode
+    if ( err != KErrGsmOfflineOpNotAllowed && err != KErrCancel 
+         && err != KErrNotSupported )
+        {
+        StartMonitoring();
+        }
+    CSPLOGSTRING( CSPREQEND, "CSPEtelDtmfMonitor::RunL End of RunL." );
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelDtmfMonitor::DoCancel()
+    {
+    if ( iStatus == KRequestPending )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSPEtelDtmfMonitor::DoCancel Canceling pending request.." );
+        iMmCustom.CancelAsyncRequest( ECustomNotifyDtmfEventIPC ); 
+        }
+    }
+
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPEtelDtmfMonitor::CSPEtelDtmfMonitor(
+            CSPDTMFProvider& aObserver, 
+            RMmCustomAPI& aMmCustom ) : 
+                CActive( EPriorityStandard ),             
+                iObserver( aObserver ),
+                iMmCustom( aMmCustom )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelDtmfMonitor::CSPEtelDtmfMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+    
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspeteldtmfstopmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,145 @@
+/*
+* 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:  Implements the class CSPEtelDtmfStopMonitor
+*
+*/
+
+
+
+#include <mccpdtmfobserver.h>
+#include <gsmerror.h>
+
+#include "cspeteldtmfstopmonitor.h"
+#include "csplogger.h"
+#include "cspdtmfprovider.h"
+#include "cspconsts.h"
+#include "cspdtmfprovider.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelDtmfStopMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelDtmfStopMonitor* CSPEtelDtmfStopMonitor::NewL( 
+                                        CSPDTMFProvider& aObserver, 
+                                        RMobilePhone& aPhone ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelDtmfStopMonitor::NewL()" );
+    CSPEtelDtmfStopMonitor* self = new ( ELeave ) CSPEtelDtmfStopMonitor( 
+                                        aObserver, aPhone );
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelDtmfStopMonitor::~CSPEtelDtmfStopMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelDtmfStopMonitor::~CSPEtelDtmfStopMonitor()" );
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// Starts the monitor.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelDtmfStopMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelDtmfStopMonitor::StartMonitoring()" );
+
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSP: CSPEtelDtmfStopMonitor::StartMonitoring: Request \
+                    iPhone.NotifyStopInDTMFString( iStatus, iEventData )" );
+        iPhone.NotifyStopInDTMFString( iStatus );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelDtmfStopMonitor::StartMonitoring: Already active" );
+        }
+    }
+// ---------------------------------------------------------------------------
+// From CActive.
+// Handles line status change notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelDtmfStopMonitor::RunL()
+    {
+    TInt err = iStatus.Int();
+    CSPLOGSTRING2( CSPINT, 
+        "CSPEtelDtmfStopMonitor::RunL: status: %d", err );
+    
+    if ( err != KErrCancel &&  err != KErrServerTerminated )
+        {
+        
+        TChar tone = NULL;
+        MCCPDTMFObserver::TCCPDtmfEvent event = 
+                MCCPDTMFObserver::ECCPDtmfStopInDtmfString;
+        iObserver.NotifyDTMFEvent( event, err, tone );
+        }
+    else
+        {
+        CSPLOGSTRING2( CSPERROR, "CSPEtelDtmfStopMonitor::RunL: Error \
+                    from RMobilePhone: %d", iStatus.Int() );
+        }
+    
+    
+    // Continue if not in offline mode
+    if ( err != KErrGsmOfflineOpNotAllowed && err != KErrCancel
+        && err != KErrNotSupported )
+        {
+        StartMonitoring();
+        }
+    CSPLOGSTRING( CSPREQEND, "CSPEtelDtmfStopMonitor::RunL End of RunL." );
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelDtmfStopMonitor::DoCancel()
+    {
+    if ( iStatus == KRequestPending )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSPEtelDtmfStopMonitor::DoCancel Canceling pending request.." );
+        iPhone.CancelAsyncRequest( EMobilePhoneNotifyStopInDTMFString );
+
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPEtelDtmfStopMonitor::CSPEtelDtmfStopMonitor(
+            CSPDTMFProvider& aObserver, 
+            RMobilePhone& aPhone ) : 
+            CActive( EPriorityStandard ),             
+            iObserver( aObserver ),
+            iPhone( aPhone )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelDtmfStopMonitor::CSPEtelDtmfStopMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelincomingcallmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,134 @@
+/*
+* 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:  Implements the class CSPEtelIncomingCallMonitor
+*
+*/
+
+
+#include "cspetelincomingcallmonitor.h"
+#include "csplogger.h"
+#include "cspcall.h"
+#include "cspconsts.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelIncomingCallMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelIncomingCallMonitor* CSPEtelIncomingCallMonitor::NewL( 
+                                        MCSPIncomingCallObserver& aObserver, 
+                                        RMobileLine& aLine,
+                                       RCSPLineContainer::TCSPLineId aLineId )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelIncomingCallMonitor::NewL <");
+    CSPEtelIncomingCallMonitor* self = new ( ELeave ) CSPEtelIncomingCallMonitor( 
+                                        aObserver, aLine, aLineId );
+    CSPLOGSTRING(CSPOBJECT, "CSPEtelIncomingCallMonitor::NewL >");
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelIncomingCallMonitor::~CSPEtelIncomingCallMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelIncomingCallMonitor::~CSPEtelIncomingCallMonitor" );
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// Starts the monitor.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelIncomingCallMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelIncomingCallMonitor::StartMonitoring");
+
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSPEtelIncomingCallMonitor::StartMonitoring NotifyIncomingCall");
+        iCallName.Zero();
+        iLine.NotifyIncomingCall( iStatus, iCallName );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSPEtelIncomingCallMonitor::StartMonitoring Error already active");
+        }
+    }
+// ---------------------------------------------------------------------------
+// From CActive.
+// Handles line status change notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelIncomingCallMonitor::RunL()
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelIncomingCallMonitor::RunL <")
+    
+    if ( iStatus == KErrNone )
+        {
+        iIncomingCallObserver.IncomingCallArrived( iLine, iCallName,
+                                                       iLineId );
+        // Continue monitoring
+        StartMonitoring();        
+        }
+    else
+        {
+        CSPLOGSTRING2( CSPERROR, "CSPEtelIncomingCallMonitor::RunL: Error \
+                    from RMobileLine: %d", iStatus.Int() );
+        }
+    
+    CSPLOGSTRING(CSPREQEND, "CSPEtelIncomingCallMonitor::RunL >");
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelIncomingCallMonitor::DoCancel()
+    {
+    CSPLOGSTRING( CSPINT, "CSPEtelIncomingCallMonitor::DoCancel" );
+
+    if ( iStatus == KRequestPending )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSPEtelIncomingCallMonitor::DoCancel Canceling pending request.." );
+        iLine.NotifyIncomingCallCancel();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPEtelIncomingCallMonitor::CSPEtelIncomingCallMonitor(
+            MCSPIncomingCallObserver& aObserver, 
+            RMobileLine& aLine,
+            RCSPLineContainer::TCSPLineId aLineId ) : 
+            CActive( EPriorityStandard + 2 ),
+            iIncomingCallObserver( aObserver ), 
+            iLine( aLine ),
+            iLineId( aLineId )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelIncomingCallMonitor::CSPEtelIncomingCallMonitor" );
+    CActiveScheduler::Add( this );
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetellinestatusmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,133 @@
+/*
+* 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:  Implements the class CSPEtelLineStatusMonitor
+*
+*/
+
+
+
+#include <etelmm.h>
+
+#include "cspetellinestatusmonitor.h"
+#include "mcsplinestatusobserver.h"
+#include "csplogger.h"
+#include "cspconsts.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallAddedMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelLineStatusMonitor* CSPEtelLineStatusMonitor::NewL( 
+                                        MCSPLineStatusObserver& aObserver,
+                                        RMobileLine& aLine,
+                                       RCSPLineContainer::TCSPLineId aLineId )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelLineStatusMonitor::NewL()" );
+    CSPEtelLineStatusMonitor* self = new ( ELeave ) CSPEtelLineStatusMonitor( 
+                                        aObserver, aLine, aLineId );
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelLineStatusMonitor::~CSPEtelLineStatusMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelLineStatusMonitor::~CSPEtelLineStatusMonitor()" );
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// Starts the monitor.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelLineStatusMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPINT, "CSPEtelLineStatusMonitor::StartMonitoring()" );
+
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSP: CSPEtelLineStatusMonitor::StartMonitoring: Request \
+                    iLine.NotifyStatusChange( iStatus, iLineStatus )" );
+
+        iLine.NotifyMobileLineStatusChange( iStatus, iLineStatus );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSP: CSPEtelLineStatusMonitor::StartMonitoring: Already active" );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive.
+// Handles line status change notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelLineStatusMonitor::RunL()
+    {
+    CSPLOGSTRING2( CSPINT, "CSPEtelLineStatusMonitor::RunL: %d", iStatus.Int() );
+    
+    if ( iStatus == KErrNone )
+        {
+        CSPLOGSTRING( CSPINT, "CSPEtelLineStatusMonitor::RunL status changed")
+        iObserver.LineStatusChanged( iLine, iLineId, iLineStatus );
+        
+        StartMonitoring();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelLineStatusMonitor::DoCancel()
+    {
+    CSPLOGSTRING( CSPINT, "CSPEtelLineStatusMonitor::DoCancel" );
+
+    if ( iStatus == KRequestPending )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSPEtelLineStatusMonitor::DoCancel Canceling pending request" );
+        iLine.CancelAsyncRequest( EMobileLineNotifyMobileLineStatusChange );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the monitor.
+// ---------------------------------------------------------------------------
+//
+CSPEtelLineStatusMonitor::CSPEtelLineStatusMonitor(
+        MCSPLineStatusObserver& aObserver,
+            RMobileLine& aLine,
+            RCSPLineContainer::TCSPLineId aLineId ) :
+            CActive( EPriorityStandard ), 
+            iLine( aLine ),
+            iLineId( aLineId ),
+            iObserver( aObserver )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelLineStatusMonitor::CSPEtelLineStatusMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+    
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspetelvideocallcapsmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,177 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of class CSPEtelVideoCallCapsMonitor which
+*                monitors call status changes from ETel and notifies observer
+*                according to call status change.
+*
+*/
+
+
+#include <mccpcallobserver.h>
+
+#include "cspetelvideocallcapsmonitor.h"
+#include "cspvideocall.h"
+#include "csplogger.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPEtelCallEventMonitor::NewL.
+// ---------------------------------------------------------------------------
+//
+CSPEtelVideoCallCapsMonitor* CSPEtelVideoCallCapsMonitor::NewL( 
+                                                    CSPVideoCall& aOwner,
+                                                    RMobileCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelCallEventMonitor::NewL()" );
+    CSPEtelVideoCallCapsMonitor* self = 
+                        new ( ELeave ) CSPEtelVideoCallCapsMonitor( 
+                                                            aOwner, aCall );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructs the object by canceling first ongoing monitoring.
+// ---------------------------------------------------------------------------
+//
+CSPEtelVideoCallCapsMonitor::~CSPEtelVideoCallCapsMonitor( )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelVideoCallCapsMonitor::CSPEtelVideoCallCapsMonitor()" );
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// Starts the monitoring.
+// NOTE: This function reads the initial value of data call caps in the 
+// beginning so that client can use GetMobileDataCallCaps to get up to date
+// caps information.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelVideoCallCapsMonitor::StartMonitoring()
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+          "CSPEtelVideoCallCapsMonitor::StartMonitoring()" );
+
+    iCall.GetMobileDataCallCaps( iDataCallCapsPckg );
+    
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPREQOUT, 
+            "CSP: CSPEtelVideoCallCapsMonitor::StartMonitoring: Request \
+                    RMobilePhone::NotifyCapsChange" );
+        iCall.NotifyMobileDataCallCapsChange( iStatus, iDataCallCapsPckg );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+         "CSP: CSPEtelVideoCallCapsMonitor::StartMonitoring: Already active" );
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPEtelVideoCallCapsMonitor::GetMobileDataCallCaps
+// ---------------------------------------------------------------------------
+//
+TInt CSPEtelVideoCallCapsMonitor::GetMobileDataCallCaps( TDes8& aCaps ) const
+    {
+    CSPLOGSTRING( CSPREQIN, "CSPEtelVideoCallCapsMonitor::GetMobileDataCallCaps" );
+    // get data call caps from Etel
+    aCaps = iDataCallCapsPckg;
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelVideoCallCapsMonitor::GetProtocolCaps
+// ---------------------------------------------------------------------------
+//
+TUint CSPEtelVideoCallCapsMonitor::GetProtocolCaps()
+    {
+    iDataCallCaps = iDataCallCapsPckg();
+    return iDataCallCaps.iProtocolCaps;
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Handles call status notifying.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelVideoCallCapsMonitor::RunL()
+    {
+    CSPLOGSTRING2( CSPREQEND, 
+        "CSPEtelVideoCallCapsMonitor::RunL: status: %d", iStatus.Int() );
+    
+    if ( iStatus == KErrNone )
+        {
+        iDataCallCaps = iDataCallCapsPckg();
+        
+        iOwner.DataCallCapsChanged( iDataCallCaps );
+        
+        iCall.NotifyMobileDataCallCapsChange( iStatus, iDataCallCapsPckg );
+        SetActive();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive
+// Canceling functionality.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelVideoCallCapsMonitor::DoCancel()
+    {
+    iCall.CancelAsyncRequest( EMobileCallNotifyMobileDataCallCapsChange );
+    }
+    
+// ---------------------------------------------------------------------------
+// Constructs the monitor..
+// ---------------------------------------------------------------------------
+//
+CSPEtelVideoCallCapsMonitor::CSPEtelVideoCallCapsMonitor( CSPVideoCall& aOwner,
+                                                    RMobileCall& aCall ) : 
+                                   CActive( EPriorityStandard ),
+                                   iOwner( aOwner ),
+                                   iCall ( aCall ),
+                                   iDataCallCapsPckg( iDataCallCaps )
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelVideoCallCapsMonitor::CSPEtelCallCapsMonitor()" );
+    CActiveScheduler::Add( this );
+    }
+    
+// ---------------------------------------------------------------------------
+// Second phase construction.
+// ---------------------------------------------------------------------------
+//
+void CSPEtelVideoCallCapsMonitor::ConstructL()
+    {
+    // Implementation not required.    
+    }
+
+// ---------------------------------------------------------------------------
+// CSPEtelVideoCallCapsMonitor::UpdateProtocolCaps
+// ---------------------------------------------------------------------------
+//
+void CSPEtelVideoCallCapsMonitor::UpdateProtocolCaps()
+    {
+    CSPLOGSTRING(CSPOBJECT, 
+        "CSPEtelVideoCallCapsMonitor::UpdateProtocolCaps()" );
+
+    iCall.GetMobileDataCallCaps( iDataCallCapsPckg );            
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspforwardprovider.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,137 @@
+/*
+* 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:  Contains the implementation of class CSPForwardProvider
+*
+*/
+
+
+#include <mccpforwardprovider.h>
+#include <mccpforwardobserver.h>
+#include <etelmm.h>
+#include <badesca.h>    // CDesC8ArrayFlat
+
+#include "cspforwardprovider.h"
+#include "csplogger.h"
+
+
+// ---------------------------------------------------------------------------
+// Two phased construction
+// ---------------------------------------------------------------------------
+//
+CSPForwardProvider* CSPForwardProvider::NewL ( )
+    {
+    CSPForwardProvider* self = new ( ELeave ) CSPForwardProvider( );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    return self;    
+    }
+    
+// ---------------------------------------------------------------------------
+// Destructor of the object.
+// ---------------------------------------------------------------------------
+//
+CSPForwardProvider::~CSPForwardProvider()
+    {
+    delete iEmptyArray;
+    iObservers.Close();
+    }
+
+// ---------------------------------------------------------------------------
+// CSPCall::NotifyForwardEventOccurred
+// Notifies observers about call events
+// ---------------------------------------------------------------------------
+//
+void CSPForwardProvider::NotifyForwardEventOccurred( 
+    MCCPForwardObserver::TCCPForwardEvent aEvent )
+    {
+    CSPLOGSTRING2( CSPREQOUT, 
+        "CSPForwardProvider::ForwardEventOccurred: event: %d", aEvent );
+
+    for ( TInt i = 0; i < iObservers.Count(); i++ )
+        {
+        MCCPForwardObserver *obs = iObservers[i];
+        if ( obs )
+            {                
+            obs->ForwardEventOccurred( aEvent );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Forward address choice array.
+// ---------------------------------------------------------------------------
+//  
+const CDesC8Array& CSPForwardProvider::GetForwardAddressChoicesL()
+    {
+    return *iEmptyArray;
+    }
+
+// ---------------------------------------------------------------------------
+// Forward to address. 
+// Not supported. 
+// ---------------------------------------------------------------------------
+//  
+void CSPForwardProvider::ForwardToAddressL( const TInt /*aIndex*/ )
+    {
+    User::Leave( KErrNotSupported );
+    return;
+    }
+        
+// ---------------------------------------------------------------------------
+// Adds observer to array
+// ---------------------------------------------------------------------------
+//
+void CSPForwardProvider::AddObserverL( const MCCPForwardObserver& aObserver )
+    {
+    if ( iObservers.Find( &aObserver ) == KErrNotFound )
+        {
+        iObservers.Append( &aObserver );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Removes observer from array
+// ---------------------------------------------------------------------------
+//
+TInt CSPForwardProvider::RemoveObserver( const MCCPForwardObserver& aObserver )
+    {
+    TInt found = iObservers.Find( &aObserver );
+    if ( found != KErrNotFound )
+        {
+        iObservers.Remove( found );
+        return KErrNone;
+        }
+    return found;
+    }
+
+// ---------------------------------------------------------------------------
+// Default C++ constructor
+// ---------------------------------------------------------------------------
+//
+CSPForwardProvider::CSPForwardProvider( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPForwardProvider::CSPForwardProvider()" );
+    }
+
+// ---------------------------------------------------------------------------
+// Constructing 2nd phase
+// ---------------------------------------------------------------------------
+//
+void CSPForwardProvider::ConstructL()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPForwardProvider::ConstructL()" );
+    iEmptyArray = new (ELeave) CDesC8ArrayFlat( 1 );
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspmicrophone.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,160 @@
+/*
+* 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:  Mic stream to DevSound.
+*
+*/
+
+
+#include "cspmicrophone.h"
+#include "csplogger.h"
+#include "mcspdevsoundobserver.h"
+
+#include <AudioPreference.h>
+
+// Mute value
+const TInt KSetMuteToDevSound = 0;
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Static constructor.
+// ---------------------------------------------------------------------------
+//
+CSPMicrophone* CSPMicrophone::NewL( 
+    MCSPDevSoundObserver& aObserver )
+    {
+    CSPMicrophone* self = new( ELeave ) CSPMicrophone( aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSPMicrophone::~CSPMicrophone()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Gives mic mute state
+// ---------------------------------------------------------------------------
+//
+TBool CSPMicrophone::IsMuted()
+    {
+    const TInt gain( iDevSound->Gain() );
+    TBool isMuted = EFalse;
+    if ( !gain )
+        {
+        // Mute is on
+        isMuted = ETrue;
+        }
+    CSPLOGSTRING( CSPINT, "CSPMicrophone::IsMuted" );
+    return isMuted;
+    }
+    
+// ---------------------------------------------------------------------------
+// Set mic muted.
+// ---------------------------------------------------------------------------
+//
+void CSPMicrophone::SetMuted()
+    {
+    CSPLOGSTRING( CSPINT, "CSPMicrophone::SetMicMuted" );
+    iDevSound->SetGain( KSetMuteToDevSound );
+    }
+    
+// ---------------------------------------------------------------------------
+// Set mic unmuted
+// ---------------------------------------------------------------------------
+//
+void CSPMicrophone::SetUnmuted()
+    {
+    CSPLOGSTRING( CSPINT, "CSPMicrophone::SetUnmuted" );
+    iDevSound->SetGain( iDevSound->MaxGain() );
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Activation was successfull. 
+// ---------------------------------------------------------------------------
+//
+void CSPMicrophone::BufferToBeEmptied( CMMFBuffer* /*aBuffer*/ )
+    {
+    CSPLOGSTRING( CSPINT, "CSPMicrophone::BufferToBeEmptied" );
+    
+    // We dont react to devsound messages unless we are activating.
+    if( IsActivationOngoing() ) 
+        {
+        iActive = ETrue;
+        iActivationOngoing = EFalse;
+        iObserver.MicActivatedSuccessfully();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Activation feiled
+// ---------------------------------------------------------------------------
+//    
+void CSPMicrophone::RecordError( TInt aError )
+    {
+    CSPLOGSTRING( CSPINT, "CSPMicrophone::RecordError" );
+    
+    // We dont react to devsound messages unless we are activating.
+    if( IsActivationOngoing() )
+        {
+        if( aError == KErrAccessDenied ) 
+            {
+            iActivationOngoing = EFalse;
+            iObserver.MicActivationFailed();    
+            }
+        }   
+    }
+    
+// ---------------------------------------------------------------------------
+// From class CSPDevSound
+// Tries to activate mic stream. Stream becomes active when BufferToBeFilled
+// gets called.
+// ---------------------------------------------------------------------------
+//
+void CSPMicrophone::DoActivateL() 
+    {
+    iDevSound->RecordInitL();
+    }
+    
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSPMicrophone::CSPMicrophone(
+    MCSPDevSoundObserver& aObserver ) : 
+    CSPDevSound( aObserver )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Second phase constructor
+// ---------------------------------------------------------------------------
+//
+void CSPMicrophone::ConstructL()
+    {
+    CSPDevSound::ConstructL( 
+        EMMFStateRecording, 
+        KAudioPrefCSCallUplink, 
+        KAudioPriorityCSCallUplink );
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/csppanic.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,64 @@
+/*
+* 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 module contains the implementation of panic function for
+*                for CS-plugin.
+*
+*/
+
+
+// INCLUDE FILES
+#include "csppanic.pan"
+#include "e32std.h"
+
+// EXTERNAL DATA STRUCTURES
+// None.
+
+// EXTERNAL FUNCTION PROTOTYPES  
+// None.
+
+// CONSTANTS
+// None.
+
+// MACROS
+// None.
+
+// LOCAL CONSTANTS AND MACROS
+// None.
+
+// MODULE DATA STRUCTURES
+// None.
+
+// LOCAL FUNCTION PROTOTYPES
+// None.
+
+// ==================== LOCAL FUNCTIONS ====================
+
+// -----------------------------------------------------------------------------
+// Panic
+// Creates PhoneEngine panic.
+// Returns: None.
+// -----------------------------------------------------------------------------
+//
+GLDEF_C void Panic( TCSPPanic aPanic )
+    {
+    User::Panic( KCSPPanic, aPanic );
+    }
+
+// ===================== MEMBER FUNCTIONS ==================
+// None.
+
+// ================= OTHER EXPORTED FUNCTIONS ==============
+// None.
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspproxy.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/*
+* 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:  CSP Ecom proxyfile        
+*
+*/
+
+
+
+#include <e32base.h>
+#include <implementationproxy.h>
+
+#include "csprovider.h"
+#include "csplogger.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// TImplementationProxy::ImplementationTable
+// ---------------------------------------------------------------------------
+//
+const TImplementationProxy ImplementationTable[] = 
+    {
+    IMPLEMENTATION_PROXY_ENTRY( 0x102828E5, CSProvider::NewL )
+    };
+
+// ---------------------------------------------------------------------------
+// TImplementationProxy::ImplementationGroupProxy
+// ---------------------------------------------------------------------------
+//
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
+                                                        TInt& aTableCount )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPPROXY - A");
+    aTableCount = 
+        sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
+    CSPLOGSTRING(CSPOBJECT, "CSPPROXY - B");
+    return ImplementationTable;
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/csppubsublistener.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,162 @@
+/*
+* 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:  Implements the class CSPPubSubListener
+*
+*/
+
+
+#include "csppubsublistener.h"
+#include "mcsppubsubobserver.h"
+#include "csplogger.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::CSPPubSubListener
+// C++ constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSPPubSubListener::CSPPubSubListener(
+    const TUid aUid, const TInt aKey, MCSPPubSubObserver* aObserver ) :
+        CActive( CActive::EPriorityStandard ),
+        iUid( aUid ), iId( aKey ), iObserver( aObserver )
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::~CSPPubSubListener
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CSPPubSubListener::~CSPPubSubListener()
+    {
+    CSPLOGSTRING( CSPINT, "CSPPubSubListener::~CSPPubSubListener" )
+    Cancel();
+    iProperty.Close();
+    }
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::RunL
+// From CActive.
+// -----------------------------------------------------------------------------
+//
+void CSPPubSubListener::RunL()
+    {
+    CSPLOGSTRING( CSPINT, "CSPPubSubListener::RunL" )
+    const TRequestStatus status( iStatus );
+    StartListening();
+    iObserver->HandleNotifyPSL( iUid, iId, status );
+    CSPLOGSTRING( CSPINT, "CSPPubSubListener::RunL end" )
+    }
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::DoCancel
+// From CActive.
+// -----------------------------------------------------------------------------
+//
+void CSPPubSubListener::DoCancel()
+    {
+    CSPLOGSTRING( CSPINT, "CSPPubSubListener::DoCancel")
+    iProperty.Cancel();
+    }
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::RunError
+// From CActive.
+// -----------------------------------------------------------------------------
+//
+TInt CSPPubSubListener::RunError( TInt /*aError*/ )
+    {
+    CSPLOGSTRING( CSPINT, "CSPPubSubListener::RunError" )
+    return KErrNone;
+    }
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::NewL
+// -----------------------------------------------------------------------------
+//
+CSPPubSubListener* CSPPubSubListener::NewL( const TUid aUid, 
+    const TInt aKey, MCSPPubSubObserver* aObserver )
+    {
+    CSPLOGSTRING( CSPINT, "CSPPubSubListener::NewL" )
+    CSPPubSubListener* self = new( ELeave ) 
+        CSPPubSubListener( aUid, aKey, aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::StartListening
+// -----------------------------------------------------------------------------
+//
+void CSPPubSubListener::StartListening() 
+    {
+    iProperty.Subscribe( iStatus );
+    SetActive();
+    }
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CSPPubSubListener::ConstructL()
+    {
+    if ( iObserver )
+        {
+        CActiveScheduler::Add( this );
+        }
+        
+    User::LeaveIfError ( iProperty.Attach( iUid, iId, EOwnerThread ) );
+
+    if ( iObserver )
+        {
+        StartListening();
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::Get
+// Read integer value.
+// -----------------------------------------------------------------------------
+//
+TInt CSPPubSubListener::Get( TInt& aVal )
+    {
+    return iProperty.Get( iUid, iId, aVal );
+    }
+
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::Get
+// Read binary value.
+// -----------------------------------------------------------------------------
+//
+TInt CSPPubSubListener::Get( TDes8& aVal )
+    {
+    return iProperty.Get( iUid, iId, aVal );
+    }
+  
+// -----------------------------------------------------------------------------
+// CSPPubSubListener::Get
+// Read string value.
+// -----------------------------------------------------------------------------
+//      
+TInt CSPPubSubListener::Get( TDes16& aVal )
+    {
+    return iProperty.Get( iUid, iId, aVal );
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspremotealertingtonelistener.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2008-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:  Listens remote alerting tone status changes
+*
+*/
+
+
+#include "cspremotealertingtonelistener.h"
+#include "mcspremotealertingtoneobserver.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CSPRemoteAlertingToneListener::CSPRemoteAlertingToneListener(
+    RMmCustomAPI& aCustomAPI,
+    MCSPRemoteAlertingToneObserver& aObserver ) : 
+    CActive( CActive::EPriorityStandard ),
+    iCustomAPI( aCustomAPI ),
+    iObserver( aObserver )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CSPRemoteAlertingToneListener* CSPRemoteAlertingToneListener::NewL( 
+    RMmCustomAPI& aCustomAPI,
+    MCSPRemoteAlertingToneObserver& aObserver )
+    {
+    CSPRemoteAlertingToneListener* self = 
+        new( ELeave ) CSPRemoteAlertingToneListener( 
+            aCustomAPI, aObserver );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSPRemoteAlertingToneListener::~CSPRemoteAlertingToneListener()
+    {
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// Starts listening the remote alerting tone changes, if not already started
+// ---------------------------------------------------------------------------
+//
+void CSPRemoteAlertingToneListener::StartListening()
+    {
+    if ( !IsActive() )
+        {
+        iCustomAPI.NotifyRemoteAlertingToneStatusChange( iStatus, iRATStatus );
+        SetActive();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From class CActive.
+// Cancels the oustanding request.
+// ---------------------------------------------------------------------------
+//
+void CSPRemoteAlertingToneListener::DoCancel()
+    {
+    iCustomAPI.CancelAsyncRequest(
+        ECustomNotifyRemoteAlertingToneStatusChangeIPC );
+    }
+
+// ---------------------------------------------------------------------------
+// From class CActive.
+// Starts listening next change and notifies the observer if no errors 
+// in request completion.
+// ---------------------------------------------------------------------------
+//
+void CSPRemoteAlertingToneListener::RunL()
+    {
+    const TInt error( iStatus.Int() );
+    if ( error != KErrNotSupported )
+        {
+        StartListening();
+        }
+    if ( error == KErrNone )
+        {
+        iObserver.RemoteAlertingToneStatusChanged( iRATStatus );
+        }
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/csprovider.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,1273 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Main class of CS Call Plug-in
+*
+*/
+
+
+// EXTERNAL INCLUDES
+#include <e32base.h>
+#include <mccpconferencecallobserver.h>
+#include <mmtsy_names.h>
+#include <mccpssobserver.h>
+#include <rmmcustomapi.h>
+#include <startupdomainpskeys.h>
+#include <mccecall.h>
+
+// USER INCLUDES
+#include "csprovider.h"
+#include "cspvoicecall.h"
+#include "cspvideocall.h"
+#include "cspetelincomingcallmonitor.h"
+#include "cspetelconferencestatusmonitor.h"
+#include "cspdtmfprovider.h"
+#include "cspconferencecall.h"
+#include "cspcallarray.h"
+#include "cspservicesettingshandler.h"
+#include "cspaudiohandler.h"
+#include "cspetelcallwaitingrequester.h"
+#include "cspsupplementaryservicesmonitor.h"
+#include "cspcipheringstatusmonitor.h"
+#include "cspsssettingshandler.h"
+#include "cspcalladdedhandler.h"
+#include "csppubsublistener.h"
+#include "cspcallcommandhandler.h"
+#include "cspremotealertingtonelistener.h"
+#include "csppanic.pan"
+#include "csplogger.h"
+#include "cspconsts.h"
+
+const TInt KCSServiceId = 1; 
+
+// ---------------------------------------------------------------------------
+// CSProvider::CSProvider
+// ---------------------------------------------------------------------------
+//
+CSProvider::CSProvider(): iImplementationUid( KCSPImplementationUid )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::CSProvider");
+    iInitialized = EFalse;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::~CSProvider
+// ---------------------------------------------------------------------------
+//
+CSProvider::~CSProvider()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::~CSProvider <");
+    delete iCallArray;
+    
+    if ( iInitialized )
+        {
+        delete iConferenceStatusMonitor; 
+        delete iCallCommandHandler;
+        delete iRemoteAlertingToneListener;
+        delete iSimStatusListener;
+        delete iSsSettingsHandler;
+        delete iAudioHandler;        
+        delete iSsMonitor;
+        delete iCwRequester;
+        delete iServiceHandler;
+        delete iIncomingVoiceCallMonitor;
+        delete iIncomingDataCallMonitor;
+        delete iIncomingAuxCallMonitor;
+        delete iCallAddedHandler;
+        delete iCipheringStatusMonitor;
+        delete iDTMFProvider;
+
+        CSPLOGSTRING(CSPOBJECT, "CSProvider::~CSProvider close lines");
+        iLineContainer.Close();
+        CSPLOGSTRING(CSPOBJECT, "CSProvider::~CSProvider close customapi");
+        iMmCustom.Close();
+        CSPLOGSTRING(CSPOBJECT, "CSProvider::~CSProvider close conference call");
+        iMobileConferenceCall.Close();
+        CSPLOGSTRING(CSPOBJECT, "CSProvider::~CSProvider close phone");
+        iMobilePhone.Close();
+        CSPLOGSTRING(CSPOBJECT, "CSProvider::~CSProvider unload phone");
+        iServer.UnloadPhoneModule( KMmTsyModuleName );
+        CSPLOGSTRING(CSPOBJECT, "CSProvider::~CSProvider close server session");
+        iServer.Close();
+        }
+
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::~CSProvider >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::ConstructL
+// ---------------------------------------------------------------------------
+//
+void CSProvider::ConstructL()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::ConstructL <");
+    iCallArray = CSPCallArray::NewL();
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::ConstructL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::NewL
+// ---------------------------------------------------------------------------
+//
+CSProvider* CSProvider::NewL()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::NewL() <");
+    CSProvider* self = new ( ELeave ) CSProvider();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::NewL() >");
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::NotifySsEvent
+// ---------------------------------------------------------------------------
+//
+void CSProvider::NotifySsEvent( 
+                    RMmCustomAPI::TSsTypeAndMode& aSsTypeAndMode,
+                    RMmCustomAPI::TSsInfo& aSsInfo )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::NotifySsEvent <");
+    TBuf<10> addr;
+    
+    switch( aSsTypeAndMode.iSsType )
+        {
+        case RMmCustomAPI::ESsAllSs:
+            {
+            CSPLOGSTRING(CSPINT, "CSProvider::NotifySsEvent ESsAllSs");
+            if( iSsSettingsHandler )
+                {
+                TInt cugIndex( aSsInfo.iCugIndex );
+                                
+                if ( iSsSettingsHandler->IsValueValidCugIndex( cugIndex ) ) 
+                    {
+                    CSPLOGSTRING(CSPINT, "CSProvider::NotifySsEvent CallCugEventOccurred");
+                    iSsObserver->CallCugEventOccurred(  
+                            MCCPSsObserver::ECCPSsShowIncCallGroupIndex );
+                    }  
+                else 
+                    {
+                    CSPLOGSTRING2(CSPERROR, 
+                            "CSProvider::NotifySsEvent err invalid cug index %d", cugIndex );
+                    }
+                }
+            break; 
+            }
+        
+        case RMmCustomAPI::ESsRegPassword:
+        case RMmCustomAPI::ESsClip:
+        case RMmCustomAPI::ESsClir:
+        case RMmCustomAPI::ESsCnap:
+        case RMmCustomAPI::ESsColp:
+        case RMmCustomAPI::ESsColr:
+            {
+            CSPLOGSTRING(CSPINT, "CSProvider::NotifySsEvent Discarding");
+            break; 
+            }
+
+        case RMmCustomAPI::ESsCallWaiting:
+            {
+            CSPLOGSTRING(CSPINT, "CSProvider::NotifySsEvent ESsCallWaiting");
+            iSsObserver->CallForwardEventOccurred( 
+                                MCCPSsObserver::ESsCallWaiting,
+                                addr );
+            break; 
+            }        
+            
+        case RMmCustomAPI::ESsAllForwardings:
+        case RMmCustomAPI::ESsForwUncond:
+        case RMmCustomAPI::ESsForwBusy:
+        case RMmCustomAPI::ESsForwNoReply:
+        case RMmCustomAPI::ESsForwNoReach:
+        case RMmCustomAPI::ESsAllCondForwardings:
+            {
+            switch( aSsInfo.iForwMode )
+                {
+                case RMmCustomAPI::ESsIncCallIsForw:
+                    iSsObserver->CallForwardEventOccurred( 
+                                        MCCPSsObserver::ECCPSsIncCallIsForw,
+                                        addr );
+                    break;
+                case RMmCustomAPI::ESsIncCallForwToC:
+                    iSsObserver->CallForwardEventOccurred( 
+                                        MCCPSsObserver::ECCPSsIncCallForwToC,
+                                        addr );
+                    break;
+                case RMmCustomAPI::ESsOutCallForwToC:
+                    iSsObserver->CallForwardEventOccurred( 
+                                        MCCPSsObserver::ECCPSsOutCallForwToC,
+                                        addr );
+                    break;
+                default:
+                    {
+                    HandleDivertOrBarring( addr, aSsTypeAndMode );
+                    break; 
+                    }
+                }
+            break;
+            }
+
+        case RMmCustomAPI::ESsAllBarrings:  
+        case RMmCustomAPI::ESsBarrAllOut:
+        case RMmCustomAPI::ESsBarrOutInter:
+        case RMmCustomAPI::ESsBarrOutInterExcHome:
+        case RMmCustomAPI::ESsOutgoingBarrServ:
+            {            
+            iSsObserver->BarringEventOccurred( 
+                                    MCCPSsObserver::ECCPSsOutgoingCallBarred );
+            break;
+            }
+
+        case RMmCustomAPI::ESsBarrAllIn:
+        case RMmCustomAPI::ESsBarrAllInRoam:
+        case RMmCustomAPI::ESsIncomingBarrServ:
+            {            
+            iSsObserver->BarringEventOccurred( 
+                                    MCCPSsObserver::ECCPSsIncomingCallBarred );
+            break;
+            }
+
+        default:
+            {
+            CSPLOGSTRING(CSPINT, "CSProvider::NotifySsEvent Unknown SS");
+            break; 
+            }
+        }
+        
+    CSPLOGSTRING(CSPINT, "CSProvider::NotifySsEvent >");    
+    }
+
+// From CConvergedCallProvider
+// ---------------------------------------------------------------------------
+// CSProvider::InitializeL
+// ---------------------------------------------------------------------------
+//
+void CSProvider::InitializeL( const MCCPObserver& aObserver,
+                              const MCCPSsObserver& aSsObserver )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::InitializeL <");
+    if ( iInitialized )
+        {
+        CSPLOGSTRING(CSPOBJECT, 
+                "CSProvider::InitializeL() Error already initialized");
+        User::Leave( KErrAlreadyExists );
+        }
+    iInitialized = ETrue;
+    
+    CreateEtelConnectionsL();
+    
+    iServiceHandler = CSPServiceSettingsHandler::NewL();
+
+    TInt readErr = iServiceHandler->ReadCSServiceId( iServiceId );
+    if ( readErr )
+        {
+        CSPLOGSTRING(CSPERROR, "CSProvider::InitializeL()\
+                ERROR COULD NOT READ SERVICE ID FOR CS-PLUGIN ");
+        CSPLOGSTRING(CSPERROR, "CSProvider::InitializeL() \
+                Please ensure that SPSettings is initialized corretly! ");
+        iServiceId = KCSServiceId; 
+        }
+    
+    // Save CCP observer as pointer-type member 
+    const MCCPCSObserver& obs = static_cast<const MCCPCSObserver&>(aObserver);
+    iCCPObserver = const_cast<MCCPCSObserver*>(&obs);
+    
+    // Save CCP SS observer as pointer-type member 
+    const MCCPSsObserver& ssObs = static_cast<const MCCPSsObserver&>(aSsObserver);
+    iSsObserver = const_cast<MCCPSsObserver*>(&ssObs);
+    
+    RPhone::TLineInfo lineInfo;
+    __ASSERT_ALWAYS( iMobilePhone.GetLineInfo( 0, lineInfo )
+        == KErrNone, Panic( ECSPPanicNoEtel ) );
+    
+    // Open Lines. At least voice line must be opened.
+    __ASSERT_ALWAYS( iLineContainer.Open( iMobilePhone, iServiceId ) == KErrNone,
+        Panic( ECSPPanicNoEtel ) );
+
+    RMobileLine& voiceLine = iLineContainer.LineByType( 
+                                RCSPLineContainer::ECSPLineSpeech );
+    
+    // Create and start incoming voice call monitor for primary line
+    iIncomingVoiceCallMonitor = CSPEtelIncomingCallMonitor::NewL( *this, 
+                                      voiceLine,
+                                      RCSPLineContainer::ECSPLineSpeech );
+    iIncomingVoiceCallMonitor->StartMonitoring();
+
+    // Create and start incoming data call monitor for data line    
+    RMobileLine& dataLine = iLineContainer.LineByType( RCSPLineContainer::ECSPLineData );
+    iIncomingDataCallMonitor = CSPEtelIncomingCallMonitor::NewL( *this, dataLine,
+                                      RCSPLineContainer::ECSPLineData );
+    iIncomingDataCallMonitor->StartMonitoring();
+    
+    // Create and start incoming call monitor for auxilary line    
+    RMobileLine& auxLine = iLineContainer.LineByType( RCSPLineContainer::ECSPLineAuxSpeech );
+    iIncomingAuxCallMonitor = CSPEtelIncomingCallMonitor::NewL( *this, auxLine,
+                                      RCSPLineContainer::ECSPLineAuxSpeech );
+    iIncomingAuxCallMonitor->StartMonitoring();
+
+    iCwRequester = CSPEtelCallWaitingRequester::NewL( iMobilePhone );
+    
+    // Start conference call monitor for monitoring external conference creation  
+    iConferenceStatusMonitor = CSPEtelConferenceStatusMonitor::NewL( *this, 
+                                    iMobileConferenceCall );
+    iConferenceStatusMonitor->StartMonitoring();
+
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::InitializeL create DTMF provider");
+    iDTMFProvider = CSPDTMFProvider::NewL( iMobilePhone, iMmCustom );
+    
+    // Create and start ciphering status monitor    
+    iCipheringStatusMonitor = CSPCipheringStatusMonitor::NewL( iMmCustom, *this );
+    iCipheringStatusMonitor->StartMonitoring();
+
+    // Create audio handler
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::InitializeL create audio handler");
+    iAudioHandler = CSPAudioHandler::NewL();
+    
+    // Create call added handler for listening ext call creation
+    iCallAddedHandler = CSPCallAddedHandler::NewL( 
+        obs, 
+        iLineContainer, 
+        *iCallArray,
+        *this,
+        *iAudioHandler );
+    
+    iSimStatusListener = CSPPubSubListener::NewL( 
+        KPSUidStartup, 
+        KPSSimStatus, 
+        this );
+    
+    HandleSIMStatusL();
+    
+    iRemoteAlertingToneListener = 
+        CSPRemoteAlertingToneListener::NewL( iMmCustom, *this );
+    iRemoteAlertingToneListener->StartListening();
+
+    iCallCommandHandler = CSPCallCommandHandler::NewL();
+    
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::InitializeL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::NewCallL creates MO call.
+// ---------------------------------------------------------------------------
+//
+MCCPCall* CSProvider::NewCallL( const CCCPCallParameters& aCallParameters,
+                                const TDesC& aRemoteParty, 
+                                const MCCPCallObserver& aObserver )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSProvider::NewCallL <");
+    
+    const CCCECallParameters& parameters = 
+        reinterpret_cast<const CCCECallParameters&> (aCallParameters);
+    
+    TUint32 serviceId = aCallParameters.ServiceId();
+
+    if ( serviceId != iServiceId )
+        {
+        CSPLOGSTRING(CSPERROR, "CSProvider::NewCallL ERROR, service id not acceptable!");
+        User::Leave( ECCPErrorInvalidPhoneNumber );
+        }
+    
+    RCSPLineContainer::TCSPLineId lineId = 
+        iLineContainer.ResolveLineIdL( parameters );
+
+    RMobileLine& line = iLineContainer.LineByType( lineId );
+    
+    CSPCall* call = NULL;
+    
+    if ( RCSPLineContainer::ECSPLineSpeech == lineId ||
+         RCSPLineContainer::ECSPLineAuxSpeech == lineId )
+        {
+        call = CSPVoiceCall::NewL( const_cast<TDesC16&>(aRemoteParty), 
+                            line, 
+                            ETrue,
+                            parameters,
+                            *this,
+                            EFalse );
+        CleanupStack::PushL( call );
+        }
+        
+    // Create CSPDataCall object for data/video call
+    else if ( RCSPLineContainer::ECSPLineData == lineId )
+        {
+        call = CSPVideoCall::NewL( 
+                            const_cast<TDesC16&>(aRemoteParty),
+                            line, ETrue, parameters,
+                            *this );
+        CleanupStack::PushL( call );
+        }
+    else if ( RCSPLineContainer::ECSPLineFax == lineId )
+        {
+        CSPLOGSTRING(CSPERROR, 
+            "CSProvider::NewCallL ERROR FAX is unsupported call type");
+        User::Leave( KErrNotSupported );
+        }
+    
+    if ( aRemoteParty.Length() == 0 )
+        {
+        CSPLOGSTRING(CSPERROR, "CSProvider::NewCallL ERROR: aRemoteParty.Length ==0");
+         
+        User::Leave( ECCPErrorInvalidPhoneNumber );
+        }
+    
+    call->AddObserverL( aObserver );        
+    TInt err = iCallArray->Add( call );
+    User::LeaveIfError( err );
+
+    call->SetAudioHandler( iAudioHandler );
+    
+    CleanupStack::Pop( call );
+    
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::NewCallL >");
+    return call;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::ReleaseCall
+// ---------------------------------------------------------------------------
+//
+TInt CSProvider::ReleaseCall( MCCPCall& aCall )
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSProvider::ReleaseCall %d", &aCall);
+    CSPCall* call = static_cast<CSPCall*>(&aCall);
+    TInt err = iCallArray->Remove( call );
+    if ( err == KErrNone )
+        {
+        delete call;
+        }
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::NewEmergencyCallL
+// ---------------------------------------------------------------------------
+//
+MCCPEmergencyCall* CSProvider::NewEmergencyCallL( const TUint32 aServiceId,
+                                                  const TDesC& aAddress,
+                                           const MCCPCallObserver& aObserver )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::NewEmergencyCallL <");
+
+    RMobileLine& voiceLine = iLineContainer.LineByType( 
+                                    RCSPLineContainer::ECSPLineSpeech );
+    TBuf8<KCCEBearerMaxSize> emptyBearer;
+    TBuf<KCCESubAddressMaxSize> emptySubAddress;
+    
+    CCCECallParameters* tmpParams = CCCECallParameters::NewL();
+    CleanupStack::PushL( tmpParams );
+    tmpParams->SetServiceId(aServiceId);
+    CSPVoiceCall* call = CSPVoiceCall::NewL( aAddress,
+                                             voiceLine,
+                                             ETrue,
+                                             *tmpParams,
+                                             *this,
+                                             ETrue);
+        
+    CleanupStack::PopAndDestroy( tmpParams );
+    CleanupStack::PushL( call );
+    
+    call->AddObserverL( aObserver );
+    TInt err = iCallArray->Add( call );
+    User::LeaveIfError( err );
+
+    call->SetAudioHandler( iAudioHandler );
+    
+    CleanupStack::Pop( call );    
+    
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::NewEmergencyCallL >");
+    return call;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::ReleaseEmergencyCall
+// ---------------------------------------------------------------------------
+//
+TInt CSProvider::ReleaseEmergencyCall( MCCPEmergencyCall& aCall )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::ReleaseEmergencyCall");    
+    CSPVoiceCall* call = static_cast<CSPVoiceCall*>(&aCall);
+    iCallArray->Remove( call );
+    delete call;
+    return KErrNone;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSProvider::NewConferenceL
+// ---------------------------------------------------------------------------
+//
+MCCPConferenceCall* CSProvider::NewConferenceL( 
+                        const TUint32 /*aServiceId*/,
+                        const MCCPConferenceCallObserver& aObserver )
+    {   
+    CSPLOGSTRING(CSPREQIN, "CSProvider::NewConferenceL <");
+    if ( !iConferenceCall )
+        {
+        iConferenceCall = CSPConferenceCall::NewL( 
+                                    iMobilePhone, *iCallArray, iServiceId );    
+        iConferenceCall->AddObserverL( aObserver );
+        }
+    else 
+        {
+        CSPLOGSTRING(CSPERROR, "CSProvider::NewConferenceL()\
+                Error conference already exists");
+        User::Leave( KErrAlreadyExists ); 
+        }
+    CSPLOGSTRING(CSPREQOUT, "CSProvider::NewConferenceL >");
+    return iConferenceCall;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::ReleaseConferenceCall
+// ---------------------------------------------------------------------------
+//
+TInt CSProvider::ReleaseConferenceCall( MCCPConferenceCall& aCall )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSProvider::ReleaseConferenceCall");
+    TInt ret( KErrNone ); 
+    if ( &aCall == iConferenceCall )
+        {
+        delete iConferenceCall;
+        iConferenceCall = NULL;
+        }
+    else
+        {
+        CSPLOGSTRING(CSPERROR, 
+                "CSProvider::ReleaseConferenceCall Error call not found");
+        ret = KErrNotFound; 
+        }
+    return ret;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSProvider::Uid
+// ---------------------------------------------------------------------------
+//
+const TUid& CSProvider::Uid() const
+    {
+    CSPLOGSTRING2(CSPREQIN, "CSProvider::Uid uid: %d", iImplementationUid);
+    return iImplementationUid;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::Caps
+// ---------------------------------------------------------------------------
+//
+TUint32 CSProvider::Caps( ) const
+    {
+    CSPLOGSTRING(CSPREQIN, "CSProvider::Caps");
+    return NULL;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::DTMFProvider
+// ---------------------------------------------------------------------------
+//
+MCCPDTMFProvider* CSProvider::DTMFProviderL( 
+            const MCCPDTMFObserver& aObserver )
+    {
+    CSPLOGSTRING2(CSPREQIN, 
+            "CSProvider::DTMFProvider observer: %x", &aObserver);
+    iDTMFProvider->AddObserverL( aObserver );
+    CSPLOGSTRING(CSPREQIN, "CSProvider::DTMFProvider observer added");
+    return iDTMFProvider;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::ExtensionProvider
+// ---------------------------------------------------------------------------
+//
+MCCPExtensionProvider* CSProvider::ExtensionProviderL( 
+                            const MCCPExtensionObserver& /*aObserver*/)
+    {
+    CSPLOGSTRING(CSPREQIN, "CSProvider::ExtensionProvider");
+    return NULL;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSProvider::GetLifeTime
+// ---------------------------------------------------------------------------
+//
+TBool CSProvider::GetLifeTime( TDes8& aLifeTimeInfo )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSProvider::GetLifeTime");
+    TInt err = iMmCustom.GetLifeTime( aLifeTimeInfo );    
+    if ( err ) 
+        {
+        return EFalse;
+        }
+    return ETrue;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::GetCSInfo
+// ---------------------------------------------------------------------------
+//
+TBool CSProvider::GetCSInfo( CSInfo& aCSInfo )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSProvider::GetCSInfo");
+    if ( iInitialized )
+        {
+        RMobilePhone::TMobilePhoneIdentityV1 imei;
+        TRequestStatus reqStatus( KErrNone );
+        
+        CSPLOGSTRING(CSPREQOUT, 
+                "CSProvider::GetCSInfo request get phone id");
+        iMobilePhone.GetPhoneId( reqStatus, imei );
+        User::WaitForRequest( reqStatus );
+        CSPLOGSTRING(CSPREQOUT, 
+                "CSProvider::GetCSInfo completed get phone id");
+        
+        if ( reqStatus.Int() != KErrNone )
+             {
+             imei.iSerialNumber.Zero();
+             } 
+             
+        aCSInfo.iSerialNumber =  imei.iSerialNumber; 
+        return reqStatus.Int() == KErrNone;
+        }
+        
+    return iInitialized;
+    }
+        
+// ---------------------------------------------------------------------------
+// From MCSPIncomingCallObserver
+// CSProvider::IncomingCallArrived
+// ---------------------------------------------------------------------------
+//
+void CSProvider::IncomingCallArrived( RMobileLine& aLine, TName aCallName,
+                                      RCSPLineContainer::TCSPLineId aLineId )
+    {
+    RMobileLine::TLineInfo lineInfo;
+    aLine.GetInfo( lineInfo );
+    CSPLOGSTRING2(CSPINT, "CSProvider::IncomingCallArrived < line id   %d", aLineId );
+    CSPLOGSTRING2(CSPINT, "CSProvider::IncomingCallArrived call name %S", &aCallName );
+
+    CSPLOGSTRING2(CSPINT, "CSProvider::IncomingCallArrived answ %S", &lineInfo.iNameOfCallForAnswering );
+    CSPLOGSTRING2(CSPINT, "CSProvider::IncomingCallArrived last %S", &lineInfo.iNameOfLastCallAdded );
+    CSPLOGSTRING2(CSPINT, "CSProvider::IncomingCallArrived status %d", lineInfo.iStatus );
+    CSPLOGSTRING2(CSPINT, "CSProvider::IncomingCallArrived hook %d", lineInfo.iHookStatus );
+    
+    // Find call by name.
+    // In case CallAddedHandler has opened it and added to array, 
+    // it should not be re-opened.    
+    if ( !iCallArray->FindCall( aCallName ) )
+        {
+        TInt err(KErrUnknown);
+        TUint32 serviceId( 0 );
+        CCPCall::TCallType callType;
+        CCCECallParameters::TCCELineType lineType;
+        err = iLineContainer.ResolveCallInfo( aLineId, serviceId, callType, lineType );
+        
+        if ( !err )
+            {
+            CSPCall* call = NULL;
+            TBuf8<KCCEBearerMaxSize> emptyBearer;
+            TBuf<KCCESubAddressMaxSize> emptySubAddress;
+            CCCECallParameters* callParameters = NULL; 
+            TRAP_IGNORE( callParameters = CCCECallParameters::NewL() );
+            if ( callParameters )
+                {
+                callParameters->SetServiceId(serviceId);
+                callParameters->SetCallType(callType);
+                callParameters->SetLineType(lineType);
+                callParameters->SetOrigin(CCCECallParameters::ECCECallOriginPhone);
+            
+                if ( callType == CCPCall::ECallTypeCSVoice )
+                    {
+                    TRAP( err, call = CSPVoiceCall::NewL( aCallName, 
+                                                    aLine, 
+                                                    EFalse, 
+                                                    *callParameters,
+                                                    *this, 
+                                                    EFalse ) );
+                    }
+                else if ( callType == CCPCall::ECallTypeVideo )
+                    {
+                    TRAP( err, call = CSPVideoCall::NewL( aCallName,
+                                                    aLine, 
+                                                    EFalse, 
+                                                    *callParameters,
+                                                    *this ) );
+                    }
+                else
+                     {
+                    CSPLOGSTRING2(CSPERROR, 
+                       "CSProvider::IncomingCallArrived() unknown call type %d", err );
+                    err = KErrUnknown;
+                    }
+                
+                delete callParameters;
+                }
+            
+            if ( call && err == KErrNone )
+                {                
+                TInt appendError = iCallArray->Add( call );
+                CSPLOGSTRING2(CSPERROR, 
+                      "CSProvider::IncomingCallArrived Appending call res %d", 
+                        appendError);
+                
+                // Set audio handler for DevSound.
+                call->SetAudioHandler( iAudioHandler );
+
+                // Indicate incoming call for observer. 
+                TInt err = IndicateIncomingCall( call );
+                
+                if ( KErrNone == err && 
+                     call->State() == MCCPCallObserver::ECCPStateAnswering )
+                    {
+                    // If call has proceeded already to Answering state (autoanswer) 
+                    // a change notification needs to be sent. 
+                    call->NotifyCallStateChangedETel( RMobileCall::EStatusAnswering );
+                    }
+                
+                if ( err ) 
+                    {
+                    iCallArray->Remove( call );
+                    delete call;
+                    }
+
+                CSPLOGSTRING( CSPINT, "CSProvider::IncomingCallArrived Inform CCE OK" );
+                }
+            else if ( call && err != KErrNone )
+                {
+                // Delete call, call array removal not needed.   
+                delete call; 
+                }
+            else
+                {
+                CSPLOGSTRING2(CSPERROR, 
+                  "CSProvider::IncomingCallArrived Call could not be created %d", err);                
+                }            
+            }
+        else
+            {
+            CSPLOGSTRING2(CSPERROR, "CSProvider::IncomingCallArrived ERROR Resolve call info err=%d", 
+                                   err);
+            }
+        }
+    CSPLOGSTRING(CSPINT, "CSProvider::IncomingCallArrived >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::GetCallWaitingL
+// ---------------------------------------------------------------------------
+//
+void CSProvider::GetCallWaitingL( const CCCECallParameters& aParams,
+                                  TBool& aCallWaitingStatus )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::GetCallWaitingL <");
+    
+    // If there are already connected or held call: call waiting must be 
+    // already ON.    
+    TInt callCount = iCallArray->GetCallCount();
+    TInt activeCallCount = 0;
+    for (TInt i = 0; i < callCount; i++)
+        {
+        switch (iCallArray->Get(i)->State())
+            {
+            case MCCPCallObserver::ECCPStateConnected:
+                {
+                activeCallCount++;
+                break;
+                }
+            case MCCPCallObserver::ECCPStateHold:
+                {
+                activeCallCount++;
+                break;
+                }
+            case MCCPCallObserver::ECCPStateAnswering:
+                {
+                activeCallCount++;
+                break;
+                }
+            }
+        }
+    if ( activeCallCount > 0 )
+        {
+        // CW status must be ON, so it is not reasonable to ask it from network 
+        aCallWaitingStatus = ETrue;
+        }
+    else 
+        {
+        iCwRequester->GetCallWaitingL( aParams, aCallWaitingStatus );
+        }
+    
+    CSPLOGSTRING(CSPINT, "CSProvider::GetCallWaitingL >");
+    }
+    
+// ---------------------------------------------------------------------------
+// CSProvider::GetDiagnosticError
+// ---------------------------------------------------------------------------
+//
+TInt CSProvider::GetDiagnosticError( TName& aCallName )
+    {
+    CSPLOGSTRING2(CSPINT, 
+            "CSProvider::GetDiagnosticError call name %S", &aCallName );
+    return iMmCustom.GetDiagnosticInfo( aCallName );
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::NetworkSecurityStatus
+// ---------------------------------------------------------------------------
+//
+TBool CSProvider::NetworkSecurityStatus() const
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::NetworkSecurityStatus");
+    return iCipheringStatusMonitor->NetworkSecurityStatus();
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::SecureSpecified
+// ---------------------------------------------------------------------------
+//
+TBool CSProvider::SecureSpecified() const
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::SecureSpecified");
+    return iCipheringStatusMonitor->SecureSpecified();
+    }
+
+// ---------------------------------------------------------------------------
+// Remote alerting tone playing status. Error situation is handled as no tone.
+// ---------------------------------------------------------------------------
+//
+RMmCustomAPI::TRemoteAlertingToneStatus CSProvider::GetRemoteAlertingToneStatus()
+    {
+    RMmCustomAPI::TRemoteAlertingToneStatus status;
+    TInt err = iMmCustom.GetRemoteAlertingToneStatus( status );
+    if ( err )
+        {
+        status = RMmCustomAPI::EUiNoTone;
+        }
+    CSPLOGSTRING2(CSPINT, 
+        "CSProvider::GetRemoteAlertingToneStatus status: %d", status );
+    return status;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::SecuritySettingChanged
+// ---------------------------------------------------------------------------
+//
+void CSProvider::SecuritySettingChanged( TInt aValue )
+    {
+    CSPLOGSTRING2(CSPINT, 
+        "CSProvider::SecuritySettingChanged value: %d", aValue);
+    
+    TInt callCount = iCallArray->GetCallCount();
+    for (TInt i = 0; i < callCount; i++)
+        {
+        iCallArray->Get(i)->SecuritySettingChanged( aValue );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::CreateEtelConnectionsL
+// ---------------------------------------------------------------------------
+//
+void CSProvider::CreateEtelConnectionsL()
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::CreateEtelConnectionsL <");
+    
+    TInt errorCode( KErrNone );
+    TInt phoneCount( 0 );
+    RTelServer::TPhoneInfo phoneInfo;    
+
+    //This method connects the client to the ETel Server. 
+    //It must be used before any of other functions during a telephony session.
+    __ASSERT_ALWAYS( iServer.Connect( KNbrOfMessageSlots ) 
+        == KErrNone, Panic( ECSPPanicNoEtel ) );
+
+    //This method loads an ETel TSY module. mmtsy
+    errorCode = iServer.LoadPhoneModule( KMmTsyModuleName );
+    __ASSERT_ALWAYS( 
+        errorCode == KErrNone || errorCode == KErrAlreadyExists, 
+        Panic( ECSPPanicNoEtel ) );
+    
+    errorCode = iServer.SetExtendedErrorGranularity( 
+        RTelServer::EErrorExtended );
+    __ASSERT_ALWAYS( errorCode == KErrNone, Panic( ECSPPanicNoEtel ) );
+    
+    errorCode = iServer.SetPriorityClientV2();
+    CSPLOGSTRING2(CSPINT, "CSProvider:: Priority client: %d", errorCode );
+    if( KErrAlreadyExists == errorCode )
+        {
+        CSPLOGSTRING(CSPOBJECT, "CSProvider::CreateEtelConnectionsL() Already initialized");
+        User::Leave( KErrAlreadyExists );
+        }
+    //This method retrieves the total number of phones supported by all 
+    //the currently loaded ETel (TSY) modules.
+    errorCode = iServer.EnumeratePhones( phoneCount );
+    __ASSERT_ALWAYS( errorCode == KErrNone, Panic( ECSPPanicNoEtel ) );
+
+    //This method retrieves information associated with the specified phone
+    while ( phoneCount-- ) 
+        { 
+        errorCode = iServer.GetPhoneInfo( phoneCount, phoneInfo ); 
+        __ASSERT_ALWAYS( errorCode == KErrNone, Panic( ECSPPanicNoEtel ) );
+
+        if ( phoneInfo.iName == KMmTsyPhoneName )
+            {
+            phoneCount = 0;
+            }
+        } 
+ 
+    //This method opens a phone subsession by name, 
+    //and starts the modem initialisation process.
+    errorCode = iMobilePhone.Open( iServer, phoneInfo.iName );
+    __ASSERT_ALWAYS( errorCode == KErrNone, Panic( ECSPPanicNoEtel ) );
+    
+    iMobilePhone.SetEmergencyClient(RPhone::EEmergencyCSVoiceCallRequest);
+    
+    errorCode = iMobileConferenceCall.Open( iMobilePhone ); 
+    __ASSERT_ALWAYS( errorCode == KErrNone, Panic( ECSPPanicNoEtel ) );
+    
+    errorCode = iMmCustom.Open( iMobilePhone );
+    __ASSERT_ALWAYS( errorCode == KErrNone, Panic( ECSPPanicNoEtel ) );
+    
+    iSsMonitor = new (ELeave) 
+            CSPSupplementaryServicesMonitor( *this, iMmCustom );
+    iSsMonitor->StartMonitoring();
+    
+    CSPLOGSTRING(CSPINT, "CSProvider::CreateEtelConnectionsL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::HandleDivertOrBarring
+// Helper method.
+// ---------------------------------------------------------------------------
+//
+void CSProvider::HandleDivertOrBarring(TDesC& addr, RMmCustomAPI::TSsTypeAndMode& aSsTypeAndMode)
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::HandleDivertOrBarring <");
+    switch ( aSsTypeAndMode.iSsType )
+        {
+        // MO unconditional diverts
+        case RMmCustomAPI::ESsAllForwardings:
+        case RMmCustomAPI::ESsForwUncond:
+            {
+            if( aSsTypeAndMode.iSsMode == RMmCustomAPI::ESsModeActive )
+                {                
+                iSsObserver->CallForwardEventOccurred( 
+                            MCCPSsObserver::ECCPSsForwardUnconditionalModeActive,
+                            addr );
+                 }
+             else
+                {
+                iSsObserver->CallForwardEventOccurred( 
+                            MCCPSsObserver::ECCPSsForwardUnconditionalModeNotActive,
+                            addr );                                
+                }
+            break;
+            }
+        
+        // MO conditional diverts
+        case RMmCustomAPI::ESsForwBusy:
+        case RMmCustomAPI::ESsForwNoReply:
+        case RMmCustomAPI::ESsForwNoReach:
+        case RMmCustomAPI::ESsAllCondForwardings:
+            {
+            if( aSsTypeAndMode.iSsMode == RMmCustomAPI::ESsModeActive )
+                {
+                iSsObserver->CallForwardEventOccurred( 
+                            MCCPSsObserver::ECCPSsForwardConditionallyModeActive,
+                            addr );
+                }
+             else
+                {
+                iSsObserver->CallForwardEventOccurred( 
+                            MCCPSsObserver::ECCPSsForwardConditionallyModeNotActive,
+                            addr );
+                }
+             break;
+             }
+        default:
+            {
+            // No handling needed
+            }    
+        }
+    CSPLOGSTRING(CSPINT, "CSProvider::HandleDivertOrBarring >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::InitializeCallParameters
+// Initialises call parameters from SSSettings
+// ---------------------------------------------------------------------------
+//
+void CSProvider::InitializeCallParameters( RMobileCall::TMobileCallParamsV7& aParams )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::InitializeCallParameters <");
+    TInt defaultCug(0);
+    TInt cug(0);
+    
+    if( iSsSettingsHandler )
+        {
+        TRAP_IGNORE(iSsSettingsHandler->GetClirL( aParams.iIdRestrict ));
+        TRAP_IGNORE(iSsSettingsHandler->GetDefaultCugL( defaultCug ));
+        TRAP_IGNORE(iSsSettingsHandler->GetCugL( cug ));
+        }
+    
+    // This is always set to false thus allowing calls outside groups.
+    aParams.iCug.iSuppressOA = EFalse;    
+  
+    if ( cug >= 0 && cug != defaultCug ) // set group
+        {
+        // Invoke cug.
+        aParams.iCug.iCugIndex = cug; 
+        aParams.iCug.iExplicitInvoke = ETrue;
+        aParams.iCug.iSuppressPrefCug = ETrue;
+        }
+    else if ( cug == -1 ) // -1 supress
+        {
+        aParams.iCug.iCugIndex = defaultCug; 
+        aParams.iCug.iExplicitInvoke = ETrue;
+        aParams.iCug.iSuppressPrefCug = ETrue;
+        }
+    else    // default cug
+        {
+        aParams.iCug.iCugIndex = defaultCug; 
+        aParams.iCug.iExplicitInvoke = EFalse;
+        aParams.iCug.iSuppressPrefCug = EFalse;
+        }
+    CSPLOGSTRING(CSPINT, "CSProvider::InitializeCallParameters >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::InitializeDataCallParameters
+// Initialises call parameters from SSSettings
+// ---------------------------------------------------------------------------
+//
+void CSProvider::InitializeDataCallParameters( RMobileCall::TMobileHscsdCallParamsV1& aParams )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::InitializeDataCallParameters <");
+    TInt defaultCug(0);
+    TInt cug(0);
+    
+    if( iSsSettingsHandler )
+        {
+        TRAP_IGNORE(iSsSettingsHandler->GetClirL( aParams.iIdRestrict ));
+        TRAP_IGNORE(iSsSettingsHandler->GetDefaultCugL( defaultCug ));
+        TRAP_IGNORE(iSsSettingsHandler->GetCugL( cug ));
+        }
+        
+    // This is always set to false thus allowing calls outside groups.
+    aParams.iCug.iSuppressOA = EFalse;
+  
+    if ( cug >= 0 && cug != defaultCug ) // set group
+        {
+        // Invoke cug.
+        aParams.iCug.iCugIndex = cug; 
+        aParams.iCug.iExplicitInvoke = ETrue;
+        aParams.iCug.iSuppressPrefCug = ETrue;
+        }
+    else if ( cug == -1 ) // -1 supress
+        {
+        aParams.iCug.iCugIndex = defaultCug; 
+        aParams.iCug.iExplicitInvoke = ETrue;
+        aParams.iCug.iSuppressPrefCug = ETrue;
+        }
+    else    // default cug
+        {
+        aParams.iCug.iCugIndex = defaultCug; 
+        aParams.iCug.iExplicitInvoke = EFalse;
+        aParams.iCug.iSuppressPrefCug = EFalse;
+        }
+    
+    CSPLOGSTRING(CSPINT, "CSProvider::InitializeDataCallParameters >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::IndicateClientCall
+// This fucntion delivers call pointer to be managed by CCE.
+// ---------------------------------------------------------------------------
+//
+void CSProvider::IndicateClientCall( MCCPCSCall* aCall )
+    {
+    CSPLOGSTRING2(CSPINT, "CSProvider::IndicateClientCall call: %x", aCall); 
+    iCCPObserver->MoCallCreated( *aCall );
+    CSPLOGSTRING(CSPINT, "CSProvider::IndicateClientCall Inform CCE OK"); 
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::IndicateIncomingCall
+// This fucntion delivers call pointer to be managed by CCE.
+// ---------------------------------------------------------------------------
+//    
+TInt CSProvider::IndicateIncomingCall( MCCPCSCall* aCall )
+    {
+    CSPLOGSTRING2(CSPINT, 
+            "CSProvider::IncomingCallArrived call: %x, inform CCE", aCall);
+    iCCPObserver->IncomingCall( aCall );
+    return KErrNone;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSProvider::NotifyDataPortName
+// ---------------------------------------------------------------------------
+//      
+void CSProvider::NotifyDataPortName( TName& aDataPortName )
+    {
+    CSPLOGSTRING2(CSPINT, 
+            "CSProvider::NotifyDataPortName name: %S", &aDataPortName);
+    iCCPObserver->DataPortName( aDataPortName );
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::HandleNotifyPSL
+// From MCSPPubSubObserver.
+// ---------------------------------------------------------------------------
+//  
+void CSProvider::HandleNotifyPSL( const TUid /*aUid*/, const TInt& /*aKey*/, 
+            const TRequestStatus& /*aStatus*/ )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::HandleNotifyPSL");
+    HandleSIMStatusL();
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::RemoteAlertingToneStatusChanged
+// From MCSPRemoteAlertingToneObserver.
+// Notify all calls about the change. Call is responsible for 
+// notifying observer if the status change was for the call.
+// ---------------------------------------------------------------------------
+// 
+void CSProvider::RemoteAlertingToneStatusChanged(
+    RMmCustomAPI::TRemoteAlertingToneStatus aNewStatus )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::RemoteAlertingToneStatusChanged");
+    for ( TInt i = 0; i < iCallArray->GetCallCount(); i++ )
+        {
+        CSPCall* call = iCallArray->Get( i );
+        if ( call )
+            {
+            call->RemoteAlertingToneStatusChanged( aNewStatus );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::HandleSIMStatusL
+// ---------------------------------------------------------------------------
+//  
+void CSProvider::HandleSIMStatusL()
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::HandleSIMStatusL");
+    if ( !iSsSettingsHandler && iSimStatusListener )
+        {
+        TInt simState( ESimNotReady );
+        TInt err = iSimStatusListener->Get( simState );
+        if ( err == KErrNone && simState == ESimUsable )
+            {
+            iSsSettingsHandler = CSPSsSettingsHandler::NewL( *iSsObserver );
+            }
+        else
+            {
+            CSPLOGSTRING2( CSPERROR, "CSProvider::HandleSIMStatusL, err: %d", err );
+            }    
+        }
+    
+    if ( iSsSettingsHandler && iSimStatusListener )
+        {
+        delete iSimStatusListener;
+        iSimStatusListener = NULL;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::IndicateActiveHangup
+// ---------------------------------------------------------------------------
+//  
+TInt CSProvider::IndicateActiveHangup( MCCPCallCommandHandling& aCall )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::IndicateActiveHangup");
+    return iCallCommandHandler->IndicateActiveHangup( aCall );
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::IndicateHangupComplete
+// ---------------------------------------------------------------------------
+//  
+TInt CSProvider::IndicateHangupComplete( MCCPCallCommandHandling& aCall )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::IndicateHangupComplete");
+    return iCallCommandHandler->IndicateHangupComplete( aCall );
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::IndicateDialRequest
+// ---------------------------------------------------------------------------
+//  
+TInt CSProvider::IndicateDialRequest( MCCPCallCommandHandling& aCall )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::IndicateDialRequest");
+    return iCallCommandHandler->IndicateDialRequest( aCall );
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::IndicateAnswerRequest
+// ---------------------------------------------------------------------------
+//  
+TInt CSProvider::IndicateAnswerRequest( MCCPCallCommandHandling& aCall )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::IndicateAnswerRequest");
+    return iCallCommandHandler->IndicateAnswerRequest( aCall );
+    }
+    
+// ---------------------------------------------------------------------------
+// CSProvider::DontReportTerminationError
+// ---------------------------------------------------------------------------
+//  
+TInt CSProvider::DontReportTerminationError()
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::DontReportTerminationError");
+   
+    TInt callCount = iCallArray->GetCallCount();
+    for ( TInt i = 0; i < callCount; i++ )
+        {
+        if ( iCallArray->Get(i)->State() == MCCPCallObserver::ECCPStateConnecting )
+            {
+            iCallArray->Get(i)->DontReportTerminationError();
+            return KErrNone;
+            }
+        }
+    return KErrNotFound;
+    }
+
+// ---------------------------------------------------------------------------
+// CSProvider::NotifyStateChange
+// ---------------------------------------------------------------------------
+//
+void CSProvider::NotifyStateChange( 
+            MCSPConferenceStatusObserver::TCSPConferenceState aStatus )
+    {
+    CSPLOGSTRING(CSPINT, "CSProvider::NotifyStateChange");
+    
+    if ( !iConferenceCall && 
+         aStatus == MCSPConferenceStatusObserver::ECSPConferenceActive )
+        {
+        TRAPD( err, iConferenceCall = CSPConferenceCall::NewL( 
+                                        iMobilePhone, *iCallArray, iServiceId ) );    
+        if ( KErrNone == err )
+            {
+            CSPLOGSTRING( CSPINT, "CSProvider::NotifyStateChange ext conference created" );
+            iCCPObserver->ConferenceCallCreated( *iConferenceCall );
+            }
+        else 
+            {
+            CSPLOGSTRING2(CSPERROR, "CSProvider::NotifyStateChange \
+                    ext conference creation error %d", err);
+            }
+        }
+   }
+    
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspservicesettingshandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,138 @@
+/*
+* 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:  Contains the implementation of class CSPServiceSettingsHandler
+*
+*/
+
+
+// CLASS HEADER
+#include "cspservicesettingshandler.h"
+
+// EXTERNAL INCLUDES
+#include    <spsettings.h>
+#include    <spentry.h>
+
+// INTERNAL INCLUDES
+#include "csplogger.h"
+
+
+_LIT(KLineNameVoice, "CS");
+
+
+
+CSPServiceSettingsHandler* CSPServiceSettingsHandler::NewL( )
+    {
+    CSPServiceSettingsHandler* self 
+            = new ( ELeave ) CSPServiceSettingsHandler( );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor of the object.
+// ---------------------------------------------------------------------------
+//
+CSPServiceSettingsHandler::~CSPServiceSettingsHandler( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPServiceSettingsHandler::~CSPServiceSettingsHandler()" );
+    }
+
+// ---------------------------------------------------------------------------
+// Finds service ID by name.
+// ---------------------------------------------------------------------------
+//
+void CSPServiceSettingsHandler::FindByNameL( const TDesC& aName, 
+                                            TUint32& aServiceId )
+    {
+    CSPLOGSTRING(CSPINT, "CSPServiceSettingsHandler::FindByNameL()" );
+    CSPLOGSTRING2(CSPINT, "CSPServiceSettingsHandler::FindByNameL() Name=%S", &aName );
+    CSPSettings* settingsApi = CSPSettings::NewLC();
+    RIdArray idArray;
+    CleanupClosePushL( idArray );
+    TInt err = settingsApi->FindServiceIdsL( idArray );
+    
+    TBool found = EFalse;
+    if ( KErrNone == err )
+        {
+        TInt idCount = idArray.Count();
+        if( idCount > 0 )
+            {   
+            
+            for ( TInt i = 0; !found  && i < idCount; i++ )
+                {
+                CSPEntry* entry = CSPEntry::NewLC();
+                TInt ferr = settingsApi->FindEntryL( idArray[i], *entry );            
+                
+                if( ferr == KErrNone 
+                    && aName.Compare( entry->GetServiceName() ) == 0 )
+                    {
+                    aServiceId = idArray[i];
+                    found = ETrue;
+                    }
+                CleanupStack::PopAndDestroy( entry );
+                }            
+            }
+        else
+            {
+            err = KErrNotFound;
+            }
+        }
+    
+    if ( !found )
+        {
+        err = KErrNotFound;
+        }
+    
+    CleanupStack::PopAndDestroy( &idArray );
+    CleanupStack::PopAndDestroy( settingsApi );
+    CSPLOGSTRING3(CSPINT, "CSProvider::FindByNameL() err = %d serv_id = %u", 
+                            err, aServiceId );
+    User::LeaveIfError( err );
+    }
+    
+
+    
+TInt CSPServiceSettingsHandler::ReadCSServiceId( TUint32& aServiceId )
+    {
+    TRAPD( err, FindByNameL( KLineNameVoice, aServiceId ) );
+
+    if ( err )
+        {        
+        CSPLOGSTRING2(CSPINT, 
+            "CSPServiceSettingsHandler::FindByNameL() leave %d", 
+            err );
+        }    
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the requester.
+// ---------------------------------------------------------------------------
+//
+CSPServiceSettingsHandler::CSPServiceSettingsHandler( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPServiceSettingsHandler::CSPServiceSettingsHandler()" );
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the requester in the second phase.
+// ---------------------------------------------------------------------------
+//
+void CSPServiceSettingsHandler::ConstructL( ) 
+    {
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspspeaker.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,158 @@
+/*
+* 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:  Provides speaker functionality
+*
+*/
+
+
+#include <AudioPreference.h>
+
+#include "cspspeaker.h"
+#include "csplogger.h"
+#include "mcspdevsoundobserver.h"
+
+//Audio levels
+//Max volume level
+const TInt KMaxVolumeLevel = 10;
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CSPSpeaker* CSPSpeaker::NewL(
+    MCSPDevSoundObserver& aObserver )
+    {
+    CSPSpeaker* self = new( ELeave ) CSPSpeaker( aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CSPSpeaker::~CSPSpeaker()
+    {
+    }
+   
+// ---------------------------------------------------------------------------
+// Sets volume
+// Volume needs to be converted from 0-10 scale to the volume scale used by 
+// DevSound 0 - MaxVolume().
+// No need to check aVolume value, because devsound takes care
+// than illegal value are converted to legal, ie <0 are 0 and >MaxVolume
+// are set to MaxVolume.
+// ---------------------------------------------------------------------------
+//    
+void CSPSpeaker::SetVolume( TInt aVolume )
+    {
+    TInt vol( 0 );    
+    vol = iDevSound->MaxVolume() * aVolume / KMaxVolumeLevel;
+    iDevSound->SetVolume( vol );
+    CSPLOGSTRING2(CSPINT, "CSPSpeaker::SetVolume() \
+                vol=%d", vol ); 
+    CSPLOGSTRING2(CSPINT, "CSPSpeaker::SetVolume() \
+                maxVol=%d", iDevSound->MaxVolume() );
+    }
+
+// ---------------------------------------------------------------------------
+// Gives volume
+// ---------------------------------------------------------------------------
+//    
+TInt CSPSpeaker::Volume()
+    {
+    TInt devVol = iDevSound->Volume();
+    CSPLOGSTRING2(CSPINT, "CSPSpeaker::Volume \
+                    vol from DevSound =%d", devVol );
+    TInt vol = devVol * KMaxVolumeLevel / iDevSound->MaxVolume();
+    
+    CSPLOGSTRING2(CSPINT, "CSPSpeaker::Volume() \
+                       vol=%d", vol );
+       
+    return vol;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Speaker stream has been activated successfully.
+// ---------------------------------------------------------------------------
+//    
+void CSPSpeaker::BufferToBeFilled( CMMFBuffer* /*aBuffer*/ )
+    {
+    CSPLOGSTRING( CSPINT, "CSPSpeaker::BufferToBeFilled activated" );
+    // We dont react to devsound messages unless we are activating.
+    if( IsActivationOngoing() )
+        {
+        iActive = ETrue;
+        iActivationOngoing = EFalse;
+        iObserver.SpeakerActivatedSuccessfully();
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MDevSoundObserver
+// Speaker stream activation failed
+// ---------------------------------------------------------------------------
+//    
+void CSPSpeaker::PlayError( TInt aError )   
+    {
+    CSPLOGSTRING( CSPINT, "CSPSpeaker::PlayError" );
+    
+    // We dont react to devsound messages unless we are activating.
+    if( IsActivationOngoing() )
+        {
+        CSPLOGSTRING( CSPINT, "CSPSpeaker::PlayError activation failed" );
+        if( aError == KErrAccessDenied ) 
+            {
+            iActivationOngoing = EFalse;
+            iObserver.SpeakerActivationFailed();
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// From class CSPDevsound
+// Tries to activate speaker stream.
+// ---------------------------------------------------------------------------
+//
+void CSPSpeaker::DoActivateL()
+    {
+    iDevSound->PlayInitL();
+    }  
+    
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSPSpeaker::CSPSpeaker( 
+    MCSPDevSoundObserver& aObserver ) :
+    CSPDevSound( aObserver )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Second phase constructor
+// ---------------------------------------------------------------------------
+//
+void CSPSpeaker::ConstructL()
+    {
+    CSPDevSound::ConstructL( 
+        EMMFStatePlaying, 
+        KAudioPrefCSCallDownlink,
+        KAudioPriorityCSCallDownlink );
+    }
+
+//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspsssettingshandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,321 @@
+/*
+* 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:  implementation of CSPSsSettingsHandler class.
+*
+*/
+
+
+// INCLUDES
+#include "cspsssettingshandler.h"
+#include "csplogger.h"
+#include "csppanic.pan"
+
+#include <etelmm.h>
+#include <mccpssobserver.h>
+
+
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::CSPSsSettingsHandler
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSPSsSettingsHandler::CSPSsSettingsHandler( const MCCPSsObserver& aObs ) : 
+        iObserver( const_cast<MCCPSsObserver&>(aObs) )
+    {
+    CSPLOGSTRING( CSPOBJECT, "CSPSsSettingsHandler::CSPSsSettingsHandler" );
+    } 
+
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CSPSsSettingsHandler::ConstructL()
+    {
+    CSPLOGSTRING( CSPOBJECT, "CSPSsSettingsHandler::ConstructL <" );
+    User::LeaveIfError( iSSSettings.Open() );
+    CSPLOGSTRING( CSPOBJECT, "CSPSsSettingsHandler::ConstructL Reg " );
+    TInt errorCode = iSSSettings.Register( ESSSettingsAls, *this );
+    CSPLOGSTRING2( CSPINT, 
+            "CSPSsSettingsHandler::ConstructL > iSSSettings.Register, errorCode: %d",
+            errorCode );
+    if ( errorCode == KErrNotSupported )
+        {
+        CSPLOGSTRING( CSPINT, "CSPSsSettingsHandler::ConstructL, ALS not supported" );
+        }
+    else if ( errorCode == KErrNotReady )
+        {
+        // Try again after idle
+        iRegisterAlsNofify = CIdle::NewL( CActive::EPriorityHigh );
+        RegisterAfterIdle();
+        }    
+      
+    RMobilePhone::TMobilePhoneALSLine alsLine;
+    CSPLOGSTRING( CSPOBJECT, "CSPSsSettingsHandler::ConstructL GetALS" );
+    GetALSLineL( alsLine );
+    CSPLOGSTRING( CSPOBJECT, "CSPSsSettingsHandler::ConstructL Notify " );
+    iObserver.NotifyCurrentActiveALSLine( (TInt) alsLine );
+       
+    CSPLOGSTRING( CSPOBJECT, "CSPSsSettingsHandler::ConstructL >" );
+    } 
+
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSPSsSettingsHandler* CSPSsSettingsHandler::NewL( const MCCPSsObserver& aObs )
+    {
+    CSPSsSettingsHandler* self = new ( ELeave ) CSPSsSettingsHandler( aObs );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    CSPLOGSTRING( CSPOBJECT, "CSPSsSettingsHandler::NewL" );
+    return self;
+    } 
+
+// Destructor
+CSPSsSettingsHandler::~CSPSsSettingsHandler()
+    {
+    CSPLOGSTRING( CSPOBJECT, "CSPSsSettingsHandler::~CSPSsSettingsHandler <" );
+    iSSSettings.Close();
+    CSPLOGSTRING( CSPOBJECT, "CSPSsSettingsHandler::~CSPSsSettingsHandler >" );
+    if ( iRegisterAlsNofify )
+        {
+        delete iRegisterAlsNofify;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::GetALSLineL
+// Sends synchronous request to get the ALS line and returns handle to access 
+// the status.
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSPSsSettingsHandler::GetALSLineL(
+        RMobilePhone::TMobilePhoneALSLine& aALSLine )
+    {
+    TInt value;
+    User::LeaveIfError( iSSSettings.Get( ESSSettingsAls, value ) );
+
+    TSSSettingsAlsValue alsValue = 
+        static_cast< TSSSettingsAlsValue > ( value );
+
+    switch( alsValue )
+        {
+        case ESSSettingsAlsNotSupported:
+            aALSLine = RMobilePhone::EAlternateLineNotAvailable;
+            break;
+        case ESSSettingsAlsPrimary: 
+            aALSLine = RMobilePhone::EAlternateLinePrimary;       
+            break;
+        case ESSSettingsAlsAlternate:
+            aALSLine = RMobilePhone::EAlternateLineAuxiliary;
+            break;
+        default:
+            break;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::SetALSLineL
+// Sends synchronous request to set the ALS line and returns handle to access 
+// the status.
+// -----------------------------------------------------------------------------
+//
+void CSPSsSettingsHandler::SetALSLineL(
+        RMobilePhone::TMobilePhoneALSLine& aALSLine )
+    {
+    TSSSettingsAlsValue alsValue = 
+        static_cast<TSSSettingsAlsValue> ( aALSLine );
+        
+    switch( aALSLine )
+        {
+        case RMobilePhone::EAlternateLineUnknown:
+        case RMobilePhone::EAlternateLineNotAvailable:
+            alsValue = ESSSettingsAlsNotSupported;
+            break;
+        case RMobilePhone::EAlternateLinePrimary: 
+            alsValue = ESSSettingsAlsPrimary;       
+            break;
+        case RMobilePhone::EAlternateLineAuxiliary:
+            alsValue = ESSSettingsAlsAlternate;
+            break;
+        default:
+            CSPLOGSTRING( CSPINT,
+                "CSPSsSettingsHandler::SetALSLineL: Not valid value" );
+            __ASSERT_DEBUG( EFalse, Panic( ECSPPanicInvalidRequest ) );
+            break;
+        }
+    User::LeaveIfError( iSSSettings.Set( ESSSettingsAls, alsValue ) );
+    } 
+
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::GetClirL
+// Sends synchronous request to get the CLIR value and returns handle to access 
+// the status.
+// -----------------------------------------------------------------------------
+//
+void CSPSsSettingsHandler::GetClirL(
+        RMobileCall::TMobileCallIdRestriction& aClir )
+    {
+    TInt value;
+    User::LeaveIfError( iSSSettings.Get( ESSSettingsClir, value ) );
+
+    TSSSettingsClirValue clir = 
+        static_cast<TSSSettingsClirValue> ( value );
+    CSPLOGSTRING2( CSPERROR,
+        "CSPSsSettingsHandler::GetClirL, clir: %d", clir );
+        
+    switch( clir )
+        {
+        case ESSSettingsClirNetworkDefault:
+            aClir = RMobileCall::EIdRestrictDefault;
+            break;
+        case ESSSettingsClirExplicitInvoke: 
+            aClir = RMobileCall::EDontSendMyId;
+            break;
+        case ESSSettingsClirExplicitSuppress:
+            aClir = RMobileCall::ESendMyId; 
+            break;
+        default:
+            CSPLOGSTRING2( CSPERROR,
+                "CSPSsSettingsHandler::GetClirL, NOT VALID aClir: %d", aClir );
+            __ASSERT_DEBUG( EFalse, Panic( ECSPPanicInvalidRequest ) );
+            break;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::GetCugL
+// Sends synchronous request to get the CUG index and returns handle to access 
+// the status.
+// -----------------------------------------------------------------------------
+//
+void CSPSsSettingsHandler::GetCugL( TInt& aCugIndex )
+    {
+    CSPLOGSTRING2( CSPINT,
+        "CSPSsSettingsHandler::GetCugL, aCugIndex: %d", aCugIndex );
+    User::LeaveIfError( iSSSettings.Get( ESSSettingsCug, aCugIndex ) );
+    }
+    
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::GetDefaultCugL
+// Sends synchronous request to get the default CUG index 
+// -----------------------------------------------------------------------------
+//
+void CSPSsSettingsHandler::GetDefaultCugL( TInt& aDefCug )
+    {
+    User::LeaveIfError( iSSSettings.Get( ESSSettingsDefaultCug, aDefCug ) );
+    }
+
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::IsValueValidCugIndex
+// Sends synchronous request to check the CUG index 
+// -----------------------------------------------------------------------------
+//
+TBool CSPSsSettingsHandler::IsValueValidCugIndex( const TInt& aValue ) const
+    {
+    return iSSSettings.IsValueValidCugIndex( aValue );
+    }
+
+// ---------------------------------------------------------
+// CSPSsSettingsHandler::PhoneSettingChanged
+// ---------------------------------------------------------
+//
+void CSPSsSettingsHandler::PhoneSettingChanged( 
+        TSSSettingsSetting aSetting, 
+        TInt aNewValue )
+    {
+    CSPLOGSTRING2( CSPINT,
+        "CSPSsSettingsHandler::PhoneSettingChanged, aNewValue : %d",
+        aNewValue );
+    if ( aSetting == ESSSettingsAls )
+        {
+        TSSSettingsAlsValue alsValue = 
+            static_cast< TSSSettingsAlsValue > ( aNewValue );
+    
+        RMobilePhone::TMobilePhoneALSLine 
+            alsLine( RMobilePhone::EAlternateLineUnknown );
+
+        switch( alsValue )
+            {
+            case ESSSettingsAlsNotSupported:
+                alsLine = RMobilePhone::EAlternateLineNotAvailable;
+                break;
+            case ESSSettingsAlsPrimary: 
+                alsLine = RMobilePhone::EAlternateLinePrimary;       
+                break;
+            case ESSSettingsAlsAlternate:
+                alsLine = RMobilePhone::EAlternateLineAuxiliary;
+                break;
+            default:
+                break;
+            }
+        
+        iObserver.NotifyCurrentActiveALSLine( (TInt) alsLine );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CSPSsSettingsHandler::RegisterAfterIdle
+// -----------------------------------------------------------------------------
+//
+void CSPSsSettingsHandler::RegisterAfterIdle()
+    {
+    CSPLOGSTRING( CSPINT, "CSPSsSettingsHandler::RegisterAfterIdle" );
+    if ( !iRegisterAlsNofify->IsActive() )
+        {
+        CSPLOGSTRING( CSPINT, "CSPSsSettingsHandler::RegisterAfterIdle > iRegisterAlsNofify->Star" );
+        iRegisterAlsNofify->Start( 
+            TCallBack( CIdleCallBack, this ) );
+        }
+    }
+    
+// -----------------------------------------------------------------------------
+// CSProvider::CIdleCallBack
+// -----------------------------------------------------------------------------
+//
+TInt CSPSsSettingsHandler::CIdleCallBack( TAny* aAny )
+    {
+    CSPLOGSTRING( CSPINT, "CSPSsSettingsHandler::CIdleCallBack" );
+    static_cast< CSPSsSettingsHandler* >( aAny )->Register();
+
+    return KErrNone;    
+    }   
+
+// -----------------------------------------------------------------------------
+// CSProvider::Register
+// -----------------------------------------------------------------------------
+//
+void CSPSsSettingsHandler::Register()
+    {
+    CSPLOGSTRING( CSPINT, "CSPSsSettingsHandler::Register" );
+    TInt errorCode( KErrNotReady );
+    
+    errorCode = iSSSettings.Register( ESSSettingsAls, *this );
+    CSPLOGSTRING2( CSPINT, 
+        "CSPSsSettingsHandler::Register > iSSSettings.Register, errorCode: %d",
+        errorCode );
+
+    if ( errorCode == KErrNotReady )
+        {
+        // Try again
+        RegisterAfterIdle();
+        }
+    }  
+
+//  End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspsupplementaryservicesmonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,109 @@
+/*
+* 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 the implementation of CSPSupplementaryServicesMonitor class 
+*                member functions.
+*
+*/
+
+
+
+#include "cspsupplementaryservicesmonitor.h"
+#include "csprovider.h"
+#include "csplogger.h"
+
+
+// -----------------------------------------------------------------------------
+// CSPSupplementaryServicesMonitor::CSPSupplementaryServicesMonitor
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CSPSupplementaryServicesMonitor::CSPSupplementaryServicesMonitor
+        ( 
+        CSProvider& aOwner,     
+        RMmCustomAPI& aCustomAPI        
+        ) : CActive( EPriorityStandard ),
+            iOwner( aOwner ),           
+            iCustomAPI( aCustomAPI )
+    {
+    CSPLOGSTRING( CSPOBJECT, 
+        "CSPSupplementaryServicesMonitor::CSPSupplementaryServicesMonitor: complete" );
+    CActiveScheduler::Add( this );
+    }
+
+// Destructor
+CSPSupplementaryServicesMonitor::~CSPSupplementaryServicesMonitor()
+    {
+    Cancel();
+    CSPLOGSTRING( CSPOBJECT,
+        "CALL CSPSupplementaryServicesMonitor::~CSPSupplementaryServicesMonitor: Complete." );
+    }
+
+// -----------------------------------------------------------------------------
+// CSPSupplementaryServicesMonitor::StartMonitoring
+// Starts supplementary services monitoring
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSPSupplementaryServicesMonitor::StartMonitoring()
+    {
+    if ( !IsActive() )
+        {
+        CSPLOGSTRING( CSPREQOUT, 
+            "CALL CSPSupplementaryServicesMonitor::StartMonitoring: RMMCustomAPI::NotifySsNetworkEvent() called" );
+        iCustomAPI.NotifySsNetworkEvent( iStatus, iSsTypeAndMode, iSsInfo );
+        SetActive();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CALL CSPSupplementaryServicesMonitor::StartMonitoring: Already active" );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// CSPSupplementaryServicesMonitor::DoCancel
+// Cancels active object requests
+// Method calls CancelAsyncRequest from the CustomaEtel object
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CSPSupplementaryServicesMonitor::DoCancel()
+    {
+    iCustomAPI.CancelAsyncRequest( ECustomNotifySsNetworkEventIPC );
+    CSPLOGSTRING( CSPINT, 
+        "CALL CSPSupplementaryServicesMonitor::DoCancel: \
+        RMMCustomAPI::CancelAsyncRequest( ECustomNotifySsRequestCompleteIPC ) called" );
+    }
+
+// -----------------------------------------------------------------------------
+// CSPSupplementaryServicesMonitor::RunL
+// CMethod gets notification from etel that asyncronous request is completed.
+// -----------------------------------------------------------------------------
+//
+void CSPSupplementaryServicesMonitor::RunL()
+    {
+    CSPLOGSTRING( CSPINT, "CSPSupplementaryServicesMonitor::RunL" );
+    if ( iStatus == KErrNone )
+       {
+       CSPLOGSTRING2( CSPINT, 
+           "CSPSupplementaryServicesMonitor::RunL: iSsTypeAndMode.iSsType: %d",
+           iSsTypeAndMode.iSsType );
+        
+       iOwner.NotifySsEvent( iSsTypeAndMode, iSsInfo );
+       StartMonitoring();
+       }
+    }
+
+// End of File 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/csptimer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,117 @@
+/*
+* 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:  Timer service
+*
+*/
+
+#include "csptimer.h"
+#include "mcsptimerobserver.h"
+#include "csppanic.pan"
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CSPTimer* CSPTimer::NewL()
+    {
+    CSPTimer* self = CSPTimer::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CSPTimer* CSPTimer::NewLC()
+    {
+    CSPTimer* self = new( ELeave ) CSPTimer;
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSPTimer::~CSPTimer()
+    {
+    Cancel(); 
+    }
+
+// ---------------------------------------------------------------------------
+// Starts notify request
+// ---------------------------------------------------------------------------
+//
+void CSPTimer::NotifyAfter( TInt aTimeout, 
+        MCSPTimerObserver& aTimerObserver )
+    {
+    __ASSERT_ALWAYS( !IsNotifyOngoing(), Panic( ECSPPanicTimerAlreadyActive ) );
+    After( aTimeout );
+    iObserver = &aTimerObserver;
+    }
+
+// ---------------------------------------------------------------------------
+// Cancels the outstancing request.
+// ---------------------------------------------------------------------------
+//
+void CSPTimer::CancelNotify()
+    {
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// Determines if there is active request outstanding.
+// ---------------------------------------------------------------------------
+//
+TBool CSPTimer::IsNotifyOngoing()
+    {
+    return IsActive();
+    }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// Notifies the observer about request.
+// ---------------------------------------------------------------------------
+//
+void CSPTimer::RunL()
+    {
+    if( iObserver ) 
+        {
+        iObserver->TimerEvent();
+        }
+    }
+    
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSPTimer::CSPTimer() : 
+    CTimer( CActive::EPriorityStandard )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+// ---------------------------------------------------------------------------
+// Second phase constructor
+// ---------------------------------------------------------------------------
+//
+void CSPTimer::ConstructL()
+    {
+    CTimer::ConstructL();
+    }
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/csptransferprovider.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,281 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Contains the implementation of class CSPTransferProvider
+*
+*/
+
+
+#include <mccptransferprovider.h>
+#include <mccptransferobserver.h>
+#include <etelmm.h>
+#include <exterror.h>
+#include <mccpcall.h>
+
+#include "csptransferprovider.h"
+#include "csplogger.h"
+#include "mcspcallerrorobserver.h"
+#include "mcspcommoninfo.h"
+
+
+// ---------------------------------------------------------------------------
+// Two phased construction
+// ---------------------------------------------------------------------------
+//
+CSPTransferProvider* CSPTransferProvider::NewL ( 
+    RMobileCall& aCall, 
+    MCSPCallErrorObserver& aErrorObserver,
+    MCSPCommonInfo& aCommonInfo )
+    {
+    CSPTransferProvider* self = 
+        new ( ELeave ) CSPTransferProvider( aCall, aErrorObserver, aCommonInfo );
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( self );
+    return self;    
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor of the object.
+// ---------------------------------------------------------------------------
+//
+CSPTransferProvider::~CSPTransferProvider()
+    {
+    Cancel();
+    iObservers.Close();
+    }
+
+// ---------------------------------------------------------------------------
+// Transfers the call. CCE maps CS Transfer() to this method.
+// (UnattendedTransfer and others are VoIP features)
+// ---------------------------------------------------------------------------
+//  
+TInt CSPTransferProvider::AttendedTransfer( MCCPCall& aTransferTargetCall )
+    {
+    TInt err ( KErrNone );
+    
+    if ( !IsActive() )
+        {    
+        if ( iCall.SubSessionHandle() != 0 )
+            {
+            err = KErrNone;
+            // send async request to Etel
+            iCall.Transfer( iStatus );
+            SetActive();
+            if( aTransferTargetCall.State() == MCCPCallObserver::ECCPStateConnecting )
+                {
+                iCommonInfo.DontReportTerminationError();
+                }
+            }
+        else
+            {
+            // transfer not allowed
+            err = KErrNotSupported;
+            }
+         }
+    else
+        {
+        err = KErrInUse;
+        }
+    CSPLOGSTRING2( CSPREQOUT, 
+         "CSPTransferProvider::AttendedTransfer: err: %d", err );
+    // return error value
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// Transfers the call. CCE maps CS Transfer() to this method.
+// (UnattendedTransfer and others are VoIP features)
+// ---------------------------------------------------------------------------
+//  
+TInt CSPTransferProvider::AttendedTransfer( const TDesC& /*aTransferTarget*/ )
+    {
+    TInt err ( KErrNone );
+    
+    if ( !IsActive() )
+        {    
+        if ( iCall.SubSessionHandle() != 0 )
+            {
+            err = KErrNone;
+            // send async request to Etel
+            iCall.Transfer( iStatus );
+            SetActive();
+            }
+        else
+            {
+            // transfer not allowed
+            err = KErrNotSupported;
+            }
+         }
+    else
+        {
+        err = KErrInUse;
+        }
+    CSPLOGSTRING2( CSPREQOUT, 
+         "CSPTransferProvider::AttendedTransfer: err: %d", err );
+    // return error value
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// Not supported by CS Plug-in. This is a VoIP feature
+// ---------------------------------------------------------------------------
+//  
+TInt CSPTransferProvider::UnattendedTransfer( const TDesC& /*aTransferTarget*/ )
+    {
+    return KErrNotSupported;
+    }
+
+// ---------------------------------------------------------------------------
+// Not supported by CS Plug-in. This is a VoIP feature
+// ---------------------------------------------------------------------------
+//  
+TInt CSPTransferProvider::AcceptTransfer( const TBool /*aAccept*/ )
+    {
+    return KErrNotSupported;
+    }
+
+// ---------------------------------------------------------------------------
+// Not supported by CS Plug-in. This is a VoIP feature
+// ---------------------------------------------------------------------------
+//
+const TDesC& CSPTransferProvider::TransferTarget() const
+    {
+    return KNullDesC;
+    }
+
+// ---------------------------------------------------------------------------
+// Notify observers about an occurred transfer event
+// ---------------------------------------------------------------------------
+//
+void CSPTransferProvider::TransferEventOccurred( 
+                 const MCCPTransferObserver::TCCPTransferEvent aEvent )
+    {
+    CSPLOGSTRING2( CSPREQOUT, 
+        "CSPTransferProvider::TransferEventOccurred: event: %d", aEvent );
+
+    for ( TInt i = 0; i < iObservers.Count(); i++ )
+        {
+        MCCPTransferObserver *obs = iObservers[i];
+        if ( obs )
+            {        
+            iObservers[i]->TransferEventOccurred( aEvent );
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Adds observer to array
+// ---------------------------------------------------------------------------
+//
+void CSPTransferProvider::AddObserverL( const MCCPTransferObserver& aObserver )
+    {
+    if ( iObservers.Find( &aObserver ) == KErrNotFound )
+        {
+        iObservers.Append( &aObserver );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Removes observer from array
+// ---------------------------------------------------------------------------
+//
+TInt CSPTransferProvider::RemoveObserver( const MCCPTransferObserver& aObserver )
+    {
+    TInt found = iObservers.Find( &aObserver );
+    if ( found != KErrNotFound )
+        {
+        iObservers.Remove( found );
+        return KErrNone;
+        }
+    return found;
+    }
+
+// ---------------------------------------------------------------------------
+// From CActive.
+// Handles request completion.
+// ---------------------------------------------------------------------------
+//
+void CSPTransferProvider::RunL()
+    {
+    CSPLOGSTRING2( CSPREQEND, 
+        "CSPTransferProvider::RunL: status: %d", iStatus.Int() );
+    
+    if ( iStatus == KErrNone )
+        {
+        MCCPTransferObserver::TCCPTransferEvent event = 
+            MCCPTransferObserver::ECCPLocalTransfer;
+        TransferEventOccurred( event );
+        }
+    else
+        {
+        CSPLOGSTRING2( CSPERROR, "CSPTransferProvider::RunL: Error \
+                     %d", iStatus.Int() );
+
+        TInt error = iStatus.Int();
+        if ( error == KErrGsmCCFacilityRejected )
+            {
+            iErrorObserver.NotifyErrorOccurred( ECCPErrorRejected );
+            }
+        else if( error != KErrCancel )
+            {
+            iErrorObserver.NotifyErrorOccurred( ECCPTransferFailed );
+            }
+        }
+    
+    CSPLOGSTRING( CSPREQEND, "CSPTransferProvider::RunL End of RunL." );
+    }
+    
+// ---------------------------------------------------------------------------
+// Cancels the pending async request
+// ---------------------------------------------------------------------------
+//
+void CSPTransferProvider::DoCancel()
+    {
+    if ( iStatus == KRequestPending )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSPTransferProvider::DoCancel Canceling pending request.." );
+        // cancel request
+        iCall.CancelAsyncRequest( EMobileCallTransfer );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Default C++ constructor
+// ---------------------------------------------------------------------------
+//
+CSPTransferProvider::CSPTransferProvider( 
+    RMobileCall& aCall, 
+    MCSPCallErrorObserver& aErrorObserver,
+    MCSPCommonInfo& aCommonInfo )
+    : CActive( EPriorityStandard ),
+      iCall (aCall),
+      iErrorObserver( aErrorObserver ),
+      iCommonInfo( aCommonInfo )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPTransferProvider::CSPTransferProvider()" );
+    CActiveScheduler::Add( this );
+    }
+
+// ---------------------------------------------------------------------------
+// Constructing 2nd phase
+// ---------------------------------------------------------------------------
+//
+void CSPTransferProvider::ConstructL()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPTransferProvider::ConstructL()" );
+    }
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspuuimessagesender.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,103 @@
+/*
+* 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:  Sends UUI message.
+*
+*/
+
+
+#include "cspuuimessagesender.h"
+#include "csplogger.h"
+ 
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSPUUIMessageSender::CSPUUIMessageSender(
+    RMobileCall& aCall ) : 
+    CActive( CActive::EPriorityStandard ),
+    iCall( aCall ),
+    iUUSRequestPckg( iUUSRequest )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+
+// ---------------------------------------------------------------------------
+// 2nd phase constructor
+// ---------------------------------------------------------------------------
+//
+void CSPUUIMessageSender::ConstructL()
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CSPUUIMessageSender* CSPUUIMessageSender::NewL(
+    RMobileCall& aCall )
+    {
+    CSPUUIMessageSender* self = 
+        new( ELeave ) CSPUUIMessageSender( aCall );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSPUUIMessageSender::~CSPUUIMessageSender()
+    {
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// Sends the UUI message.
+// ---------------------------------------------------------------------------
+//
+void CSPUUIMessageSender::SendUUIMessage( const TDesC& aMessage )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPUUIMessageSender::SendUUIMessage start");
+    Cancel();
+    iUUSRequest.iServiceReq = RMobileCall::KUUS1Implicit;
+    iUUSRequest.iUUI = aMessage;
+    iCall.ActivateUUS( iStatus, iUUSRequestPckg );
+    SetActive();    
+    }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// Cancels the outstanding request.
+// ---------------------------------------------------------------------------
+//
+void CSPUUIMessageSender::DoCancel()
+    {
+    iCall.CancelAsyncRequest( EMobileCallActivateUUS );
+    }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// No need to react the completion. The message is sent or not.
+// ---------------------------------------------------------------------------
+//
+void CSPUUIMessageSender::RunL()
+    {
+    CSPLOGSTRING2(CSPINT, "CSPUUIMessageSender::RunL %d iStatus", iStatus.Int() );
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspuuimonitor.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,111 @@
+/*
+* 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:  Monitor UUI messages.
+*
+*/
+
+#include "csplogger.h"
+#include "cspuuimonitor.h"
+#include "mcspuusmessageobserver.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+CSPUUIMonitor::CSPUUIMonitor(
+    RMobileCall& aCall, 
+    MCSPUUSMessageObserver& aUUIHandler ) 
+    : CActive( CActive::EPriorityStandard ),
+    iCall( aCall ),
+    iObserver( aUUIHandler )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+
+// ---------------------------------------------------------------------------
+// Second phase constructor
+// ---------------------------------------------------------------------------
+//
+void CSPUUIMonitor::ConstructL()
+    {
+    }
+    
+// ---------------------------------------------------------------------------
+// Static constructor
+// ---------------------------------------------------------------------------
+//
+CSPUUIMonitor* CSPUUIMonitor::NewL(
+    RMobileCall& aCall,
+    MCSPUUSMessageObserver& aUUIHandler )
+    {
+    CSPUUIMonitor* self = 
+        new( ELeave ) CSPUUIMonitor( aCall, aUUIHandler );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CSPUUIMonitor::~CSPUUIMonitor()
+    {
+    Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// Starts monitoring the UUI messages.
+// ---------------------------------------------------------------------------
+//
+void CSPUUIMonitor::StartMonitor()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPUUIMonitor::StartMonitor");
+    Cancel();
+    iCall.ReceiveUUI( iStatus, iUUI ); 
+    SetActive();
+    }
+
+// ---------------------------------------------------------------------------
+// From class CActive
+// Cancels out standign request
+// ---------------------------------------------------------------------------
+//
+void CSPUUIMonitor::DoCancel()
+    {
+    iCall.CancelAsyncRequest( EMobileCallReceiveUUI ) ;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class CActive
+// Notifies observer.
+// ---------------------------------------------------------------------------
+//
+void CSPUUIMonitor::RunL()
+    {
+    CSPLOGSTRING2(CSPINT, "CSPUUIMonitor::RunL %d iStatus", iStatus.Int() );
+    if( iStatus == KErrNone )
+        {
+        iObserver.UUSMessageReceived( iUUI );
+        StartMonitor();
+        }
+    else if( iStatus != KErrNotSupported )
+        {
+        StartMonitor();
+        }
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspvideocall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,372 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implements class CSPVideoCall which provides video call 
+*                functionality
+*
+*/
+
+
+#include <etelmm.h>
+#include <etel.h>
+#include <mccpcallobserver.h>
+#include <rmmcustomapi.h>
+
+#include "cspvideocall.h"
+#include "cspetelcallrequester.h"
+#include "cspetelcalleventmonitor.h"
+#include "cspetelcallstatusmonitor.h"
+#include "cspetelvideocallcapsmonitor.h"
+#include "csplogger.h"
+#include "csppanic.pan"
+#include "cspconsts.h"
+#include "mcspcommoninfo.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPVideoCall::NewL Two phased construction.
+// ---------------------------------------------------------------------------
+//
+CSPVideoCall* CSPVideoCall::NewL( const TDesC& aName, 
+                          RMobileLine& aLine, TBool aMobileOriginated, 
+                          const CCCECallParameters& aParams,
+                          MCSPCommonInfo& aCommonInfo )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVideoCall::NewL <");
+    
+    CSPVideoCall* self = new (ELeave) CSPVideoCall( aLine, aMobileOriginated,
+                                            aName, aCommonInfo );
+    CleanupStack::PushL( self );    
+    self->ConstructL(  aParams );
+    CleanupStack::Pop( self );
+    CSPLOGSTRING(CSPOBJECT, "CSPVideoCall::NewL >");
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPVideoCall::~CSPVideoCall
+// ---------------------------------------------------------------------------
+//
+CSPVideoCall::~CSPVideoCall()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVideoCall::~CSPVideoCall <");
+    // Stop monitoring events    
+    delete iConnectionHandler;
+    delete iVideoCallCapsMonitor;
+
+    CSPLOGSTRING(CSPOBJECT, "CSPVideoCall::~CSPVideoCall >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCall::NotifyCallStateChanged
+// Notifies observers about state changes
+// ---------------------------------------------------------------------------
+//
+void CSPVideoCall::NotifyCallStateChanged(
+            MCCPCallObserver::TCCPCallState aState ) 
+    {
+    CSPLOGSTRING2(CSPINT, "CSPVideoCall::NotifyCallStateChanged %d", aState);
+
+    TInt errorCode( KErrNone );
+    iNextCallState = aState;
+
+    if ( aState == MCCPCallObserver::ECCPStateConnected &&
+            iParams->CallType() == CCPCall::ECallTypeVideo  &&  
+             !iConnectionHandler->ConnectionInitialized() )
+        {
+        // When connected message is received, call object must first open
+        // the socket connection and loan data port
+        CSPLOGSTRING(CSPINT, 
+            "CSPVideoCall::NotifyCallStateChanged initializing connection");
+        errorCode = iConnectionHandler->InitializeConnection();
+        
+        __ASSERT_ALWAYS( errorCode == KErrNone, 
+                         Panic( ECSPPanicDataConnectionInitError ) );
+        }
+    else if ( aState == MCCPCallObserver::ECCPStateIdle && 
+            iParams->CallType() == CCPCall::ECallTypeVideo )
+        {
+        // When idle message is received one can close the 
+        // socket connections.
+        CSPLOGSTRING(CSPINT,
+            "CSPVideoCall::NotifyCallStateChanged releasing connection");
+        iConnectionHandler->ReleaseConnection();
+        }
+    
+    // Connected notify is not sent for video call before connection has    
+    // been initialized.  
+    if ( aState == MCCPCallObserver::ECCPStateConnected &&
+         iParams->CallType() == CCPCall::ECallTypeVideo &&    
+         !iConnectionHandler->ConnectionInitialized() ) 
+        {
+        CSPLOGSTRING(CSPINT, 
+            "CSPVideoCall::NotifyCallStateChanged connection not initialized");
+        }
+    else 
+        {
+        CSPLOGSTRING(CSPINT, 
+            "CSPVideoCall::NotifyCallStateChanged notifying state change");
+        CSPCall::NotifyCallStateChanged( aState );
+        }
+
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPVideoCall::NotifyCallStateChangedWithInband
+// Notifies observers about state changes
+// ---------------------------------------------------------------------------
+//
+void CSPVideoCall::NotifyCallStateChangedWithInband(
+            MCCPCallObserver::TCCPCallState aState ) 
+    {
+    CSPLOGSTRING2(CSPINT, 
+        "CSPVideoCall::NotifyCallStateChangedWithInband %d", aState);
+    iNextCallState = aState;
+
+    CSPCall::NotifyCallStateChangedWithInband( aState );        
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCall::ConnectionReady
+// ---------------------------------------------------------------------------
+//
+void CSPVideoCall::ConnectionReady( TName aDataPortName )
+    {
+    CSPLOGSTRING3(CSPINT, "CSPVideoCall::ConnectionReady \
+        state = %d, next state: %d", iCallState, iNextCallState);
+        
+    // If still connecting 
+    if ( iNextCallState == MCCPCallObserver::ECCPStateConnected )
+        {
+        NotifyCallEventOccurred(  MCCPCallObserver::ECCPCSDataPortLoaned );        
+        NotifyCallStateChanged( iNextCallState );
+        iCommonInfo.NotifyDataPortName( aDataPortName );
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCall::ConnectionEstablishingFailed
+// ---------------------------------------------------------------------------
+//    
+void CSPVideoCall::ConnectionEstablishingFailed(TInt /*aErr*/)
+    {
+    CSPLOGSTRING(CSPERROR, "CSPVideoCall::ConnectionEstablishingFailed");
+    CSPCall::NotifyErrorOccurred( ECCPErrorVideoCallSetupFailed );
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCall::VideoCallCapsChanged
+// Receives data call caps changed notification from Etel data call caps monitor 
+// ---------------------------------------------------------------------------
+//       
+void CSPVideoCall::DataCallCapsChanged( RMobileCall::TMobileCallDataCapsV1& aCaps )
+    {
+    CSPLOGSTRING(CSPINT, "CSPVideoCall::DataCallCapsChanged");
+    if ( aCaps.iProtocolCaps == RMobileCall::KCapsIsdnMultimedia )
+        {
+        CSPLOGSTRING(CSPINT, "CSPVideoCall::DataCallCapsChanged type=video");
+        iParams->SetCallType( CCPCall::ECallTypeVideo );
+        }
+    else
+        { 
+        CSPLOGSTRING(CSPINT, "CSPVideoCall::DataCallCapsChanged type=voice");
+        iParams->SetCallType( CCPCall::ECallTypeCSVoice  );
+        }
+    }
+ 
+// ---------------------------------------------------------------------------
+// Branches dial requests according to the flag.
+// ---------------------------------------------------------------------------
+//
+TInt CSPVideoCall::DialFdnCond( TBool aFdnCheck )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVideoCall::DialFdnCond <");
+    TInt err(KErrNone);
+
+    SetDefaultCallParameters();
+    
+    // Update internal call params
+    iCommonInfo.InitializeDataCallParameters( iDataCallParams );
+
+    // Set the call state to dialling    
+    if ( iCall.SubSessionHandle() )
+        {        
+        CSPLOGSTRING(CSPINT, "CSPVideoCall::DialFdnCond make request");
+        if ( aFdnCheck )
+            {
+            err = iRequester->MakeDialRequest( 
+                                iDataCallParamsPckg, iRemotePartyNumber );
+            }
+        else
+            {
+            err = iRequester->MakeDialNoFdnCheckRequest( 
+                                iDataCallParamsPckg, iRemotePartyNumber );
+            }
+
+        if ( err != KErrNone )
+            {
+            CSPLOGSTRING2(CSPERROR, 
+                "CSPVideoCall::DialFdnCond ERROR with Dial request: %d", err );
+            }
+        } 
+    else
+        {
+        CSPLOGSTRING2(CSPERROR, "CSPVideoCall::DialFdnCond() ERROR with iCall session: %d", &iCall );
+        err = KErrGeneral;
+        }
+    
+    CSPLOGSTRING(CSPINT, "CSPVideoCall::DialFdnCond() >");
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCSCall
+// CSPVideoCall::SwitchAlternatingCall
+// ---------------------------------------------------------------------------
+//
+TInt CSPVideoCall::SwitchAlternatingCall()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVideoCall::GetMobileCallInfo");
+    return KErrNotSupported;
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCSCall
+// CSPVideoCall::GetMobileDataCallCaps
+// ---------------------------------------------------------------------------
+//
+TInt CSPVideoCall::GetMobileDataCallCaps( TDes8& aCaps ) const
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVideoCall::GetMobileDataCallCaps");
+    return iVideoCallCapsMonitor->GetMobileDataCallCaps( aCaps );
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPVideoCall::IsSecured
+// ---------------------------------------------------------------------------
+//
+TBool CSPVideoCall::IsSecured() const
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVideoCall::IsSecured");
+    return CSPCall::IsSecured();
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCall::CSPVideoCall
+// ---------------------------------------------------------------------------
+//
+CSPVideoCall::CSPVideoCall( RMobileLine& aLine, 
+                  TBool aMobileOriginated,
+                  const TDesC& aName,
+                  MCSPCommonInfo& aCommonInfo ) : 
+                     CSPCall( aLine, aMobileOriginated, aName,
+                              aCommonInfo, EFalse ),
+                     iDataCallParams(),
+                     iDataCallParamsPckg (iDataCallParams)
+                     
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVideoCall::CSPVideoCall");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCall::ConstructL
+// Constructing CSPVideoCall for MT call.
+// ---------------------------------------------------------------------------
+//    
+void CSPVideoCall::ConstructL( const CCCECallParameters& aParams )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVideoCall::ConstructL <");
+
+    CSPCall::ConstructL( aParams );
+    
+    iConnectionHandler = CSPVideoCallConnectionHandler::NewL( *this, iCall );    
+    iVideoCallCapsMonitor = CSPEtelVideoCallCapsMonitor::NewL( *this, iCall );
+    iVideoCallCapsMonitor->StartMonitoring();
+    
+    // Update call type info only for MT call. 
+    if ( !iMobileOriginated ) 
+        {
+        CSPLOGSTRING(CSPOBJECT, "CSPVideoCall::ConstructL() selecting call type for MT call");
+        CCPCall::TCallType callType = SelectCallTypeFromProtocolCaps(); 
+        iParams->SetCallType( callType );
+        }    
+        
+    // Filter out illegal requests    
+     if ( !CCPCall::ECallTypeVideo == iParams->CallType() )
+        {
+        CSPLOGSTRING(CSPERROR, "CSPVideoCall::ConstructL() error invalid call type");
+        User::Leave( KErrArgument );
+        }
+
+    CSPLOGSTRING(CSPOBJECT, "CSPVideoCall::ConstructL >");
+    }
+
+// -----------------------------------------------------------------------------
+// Set default call parameters.
+// -----------------------------------------------------------------------------
+//
+void CSPVideoCall::SetDefaultCallParameters() 
+    {
+    // Set common call default parameters
+    iDataCallParams.iSpeakerControl = RMobileCall::EMonitorSpeakerControlAlwaysOn;
+    iDataCallParams.iSpeakerVolume = RMobileCall::EMonitorSpeakerVolumeMedium;
+    iDataCallParams.iInterval = KCSPDefaultInterval;
+    iDataCallParams.iWaitForDialTone = RMobileCall::EDialToneNoWait;
+    iDataCallParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    iDataCallParams.iAutoRedial = KCSPDefaultAutoRedial;  
+    // Set video call parameters
+    iDataCallParams.iService                = RMobileCall::EServiceDataCircuitSync;
+    iDataCallParams.iSpeed                  = RMobileCall::ESpeed64000;
+    iDataCallParams.iProtocol               = RMobileCall::EProtocolIsdnMultimedia;
+    iDataCallParams.iQoS                    = RMobileCall::EQoSTransparent;
+    iDataCallParams.iRLPVersion             = RMobileCall::ERLPNotRequested; 
+    iDataCallParams.iModemToMSWindowSize    = 0x00; 
+    iDataCallParams.iMSToModemWindowSize    = 0x00; 
+    iDataCallParams.iAckTimer               = 0x00; 
+    iDataCallParams.iRetransmissionAttempts = 0x00; 
+    iDataCallParams.iResequencingPeriod     = 0x00; 
+    iDataCallParams.iV42bisReq              = RMobileCall::EV42bisNeitherDirection; 
+    iDataCallParams.iV42bisCodewordsNum     = 0x00; 
+    iDataCallParams.iV42bisMaxStringLength  = 0x00; 
+    iDataCallParams.iUseEdge                = EFalse;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCall::SelectCallTypeFromProtocolCaps
+// ---------------------------------------------------------------------------
+//
+CCPCall::TCallType CSPVideoCall::SelectCallTypeFromProtocolCaps() 
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVideoCall::SelectCallTypeFromProtocolCaps <");
+
+    iVideoCallCapsMonitor->UpdateProtocolCaps();
+    TUint protocolCaps = iVideoCallCapsMonitor->GetProtocolCaps();    
+    CCPCall::TCallType callType;
+    
+    if ( protocolCaps == RMobileCall::KCapsIsdnMultimedia )
+        {
+        callType = CCPCall::ECallTypeVideo;
+        }
+    else 
+        {
+        callType = CCPCall::ECallTypeCSVoice;
+        }
+    CSPLOGSTRING2(CSPINT, "CSPVideoCall::SelectCallTypeFromProtocolCaps >\
+         call type: %d", callType );
+
+    return callType; 
+    }
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspvideocallconnectionhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,236 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Contains the implementation of class CSPDataCallConnectionHandler
+*
+*/
+
+
+#include <etelmm.h>
+#include <mccpcallobserver.h>
+#include <e32property.h>
+
+#include "cspvideocallconnectionhandler.h"
+#include "cspvideocall.h"
+#include "csplogger.h"
+#include "cspconsts.h"
+
+
+// ---------------------------------------------------------------------------
+// Constructs the connection handler via two phased constructing.
+// ---------------------------------------------------------------------------
+//
+CSPVideoCallConnectionHandler* CSPVideoCallConnectionHandler::NewL(
+            CSPVideoCall& aObserver,
+            RMobileCall& aCall ) 
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPDataCallConnectionHandler::NewL()" );
+    CSPVideoCallConnectionHandler* self = new (ELeave) CSPVideoCallConnectionHandler( 
+                                        aObserver, aCall );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// Destructor of the object.
+// ---------------------------------------------------------------------------
+//
+CSPVideoCallConnectionHandler::~CSPVideoCallConnectionHandler( )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVideoCallConnectionHandler::~CSPDataCallConnectionHandler()" );
+    ReleaseConnection();
+    Cancel();
+    CloseConnection();
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCallConnectionHandler::InitializeConnection
+// ---------------------------------------------------------------------------
+//
+TInt CSPVideoCallConnectionHandler::InitializeConnection( )
+    {    
+    TInt err = CreateSocketConnection();
+    if ( !err )
+        {        
+        err = LoanDataPort();
+        }    
+    
+    CSPLOGSTRING2(CSPOBJECT, 
+        "CSPVideoCallConnectionHandler::InitializeConnection err=%i", err );
+        
+    return err;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPVideoCallConnectionHandler::ReleaseConnection
+// ---------------------------------------------------------------------------
+//
+TInt CSPVideoCallConnectionHandler::ReleaseConnection( )
+    {    
+    CloseConnection();
+    TInt err = iCall.RecoverDataPort();
+    CSPLOGSTRING2(CSPOBJECT, 
+        "CSPVideoCallConnectionHandler::ReleaseConnection err=%i", err );
+    iConnectionInitialized = EFalse;
+
+    return err;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPVideoCallConnectionHandler::InitializeConnection
+// ---------------------------------------------------------------------------
+//
+TBool CSPVideoCallConnectionHandler::ConnectionInitialized( )
+    {
+    return iConnectionInitialized;
+    }
+
+// -----------------------------------------------------------------------------
+// Creates socket connection.
+// Enumerates connections and save Access Point Name of CSD connection.
+// -----------------------------------------------------------------------------
+//
+TInt CSPVideoCallConnectionHandler::CreateSocketConnection()
+    {
+    CSPLOGSTRING( CSPINT, "CSPVideoCallConnectionHandler::CreateSocketConnection() start");
+    // Socket server connection to get Access Point Name
+    TInt errorCode = iSocketServer.Connect();
+    CSPLOGSTRING2( CSPREQOUT,
+      "CSPVideoCallConnectionHandler::CreateSocketConnection: RSocketServ::Connect, error code: %d",
+       errorCode );
+      
+    if ( KErrNone == errorCode )
+        {
+        errorCode = iConnection.Open( iSocketServer );
+        CSPLOGSTRING2( CSPREQOUT,
+         "CSPVideoCallConnectionHandler::CreateSocketConnection: RConnection::Open, errorcode: %d",
+           errorCode );
+        if ( errorCode )
+            {
+            iSocketServer.Close();
+            }
+        }
+    return errorCode;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCallConnectionHandler::LoanDataPort
+// ---------------------------------------------------------------------------
+//
+TInt CSPVideoCallConnectionHandler::LoanDataPort( )
+    {
+    CSPLOGSTRING(CSPINT, "CSPVideoCallConnectionHandler::LoanDataPort");
+    TInt ret( KErrNone ); 
+    if ( !IsActive() )
+        {
+        SetActive();
+        iCall.LoanDataPort( iStatus, iCommPort );    
+        }
+    else
+        {
+        ret = KErrInUse;
+        CSPLOGSTRING2(CSPERROR, 
+            "CSPVideoCallConnectionHandler::LoanDataPort Error!: %d", 
+            ret);
+        }
+    
+    return ret; 
+    }
+
+// -----------------------------------------------------------------------------
+// Close Socket Server connection, when the call is on Idle state.
+// -----------------------------------------------------------------------------
+//
+void CSPVideoCallConnectionHandler::CloseConnection()
+    {
+    CSPLOGSTRING( CSPINT, "CSPVideoCallConnectionHandler::CloseConnection" );
+    iConnection.Close();
+    iSocketServer.Close();
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCallConnectionHandler::RunL
+// ---------------------------------------------------------------------------
+//
+void CSPVideoCallConnectionHandler::RunL()
+    {
+    // from CActive
+    CSPLOGSTRING2( CSPREQEND, 
+        "CSPVideoCallConnectionHandler::RunL: status: %d", iStatus.Int() );
+    
+    if ( iStatus == KErrNone )
+        {
+        CSPLOGSTRING( CSPINT, 
+            "CSPVideoCallConnectionHandler::RunL: LoanDataPort request OK" );
+        iConnectionInitialized = ETrue;
+        iObserver.ConnectionReady( iCommPort.iPort );        
+        }
+    else
+        {
+        // Error situations         
+        TInt err = iStatus.Int();
+        CSPLOGSTRING2( CSPERROR, "CSPVideoCallConnectionHandler::RunL: request \
+                                completed with error: %d", err );
+
+        iObserver.ConnectionEstablishingFailed( err );        
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVideoCallConnectionHandler::DoCancel
+// ---------------------------------------------------------------------------
+//
+void CSPVideoCallConnectionHandler::DoCancel()
+    {
+    CSPLOGSTRING( CSPREQOUT, "CSPVideoCallConnectionHandler::DoCancel" );
+    if ( IsActive() )
+        {
+        iCall.LoanDataPortCancel();
+        }
+    else
+        {
+        CSPLOGSTRING( CSPERROR, 
+            "CSPVideoCallConnectionHandler::DoCancel: Already active" );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Constructs the requester.
+// ---------------------------------------------------------------------------
+//
+CSPVideoCallConnectionHandler::CSPVideoCallConnectionHandler(
+            CSPVideoCall& aObserver,
+            RMobileCall& aCall ) : 
+                CActive( EPriorityStandard ), 
+                iObserver( aObserver ), 
+                iCall( aCall ), 
+                iConnectionInitialized( EFalse )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVideoCallConnectionHandler::CSPVideoCallConnectionHandler" );
+    CActiveScheduler::Add( this );
+    }
+    
+// ---------------------------------------------------------------------------
+// Constructing in the second phase.
+// ---------------------------------------------------------------------------
+//
+void CSPVideoCallConnectionHandler::ConstructL()
+    {
+    // Empty implementation 
+    }
+
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/cspvoicecall.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,244 @@
+/*
+* 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:  Implements class CSPVoiceCall which provides call functionality
+*
+*/
+
+
+#include <etelmm.h>
+#include <etel.h>
+#include <mccpcallobserver.h>
+#include <cccecallparameters.h>
+
+#include "cspvoicecall.h"
+#include "cspetelcallrequester.h"
+#include "cspetelcalleventmonitor.h"
+#include "cspetelcallstatusmonitor.h"
+#include "csplogger.h"
+#include "csppanic.pan"
+#include "cspconsts.h"
+#include "mcspcommoninfo.h"
+
+
+// ---------------------------------------------------------------------------
+// CSPVoiceCall::NewL Two phased construction.
+// ---------------------------------------------------------------------------
+//
+CSPVoiceCall* CSPVoiceCall::NewL( const TDesC& aName, 
+                          RMobileLine& aLine, TBool aMobileOriginated, 
+                          const CCCECallParameters& aParams,
+                          MCSPCommonInfo& aCommonInfo,
+                          TBool aIsEmergency )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVoiceCall::NewL <");
+    
+    CSPVoiceCall* self = new ( ELeave ) CSPVoiceCall( aLine, 
+                                            aMobileOriginated,
+                                            aName,
+                                            aCommonInfo,
+                                            aIsEmergency );
+    CleanupStack::PushL( self );
+    self->ConstructL( aParams );
+    CleanupStack::Pop( self );
+    CSPLOGSTRING(CSPOBJECT, "CSPVoiceCall::NewL >");
+    return self;
+    }
+    
+// ---------------------------------------------------------------------------
+// CSPVoiceCall::~CSPVoiceCall
+// ---------------------------------------------------------------------------
+//
+CSPVoiceCall::~CSPVoiceCall()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVoiceCall::~CSPVoiceCall");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVoiceCall::GoOneToOneL
+// Goes one to one from conference.
+// ---------------------------------------------------------------------------
+//
+TInt CSPVoiceCall::GoOneToOne( )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVoiceCall::GoOneToOne");
+    return iRequester->MakeRequest( 
+        CSPEtelCallRequester::ERequestTypeGoOneToOne );
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCSCall
+// CSPVoiceCall::Dial
+// ---------------------------------------------------------------------------
+//
+TInt CSPVoiceCall::DialFdnCond( TBool aFdnCond )
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVoiceCall::DialFdnCond <");
+
+    if ( !iMobileOriginated )
+        {
+        CSPLOGSTRING(CSPINT, 
+                "CSPVoiceCall::DialFdnCond MT CALL, Dial not supported");
+        return KErrNotSupported;
+        }
+
+    CSPLOGSTRING(CSPINT, "CSPVoiceCall::DialFdnCond making request");
+
+    SetDefaultCallParameters();
+    iCommonInfo.InitializeCallParameters( iCallParams );
+    iCallParams.iSubAddress = iParams->SubAddress();
+    iCallParams.iBearerCap1 = iParams->Bearer();
+    
+    if ( CCCECallParameters::ECCECallOriginSAT == iParams->Origin() )
+        {
+        iCallParams.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+        }
+
+    TInt err(KErrNone);
+    if ( aFdnCond )
+        {
+        err = iRequester->MakeDialRequest( iCallParamsPckg, iRemotePartyNumber );
+        }
+    else
+        {
+        err = iRequester->MakeDialNoFdnCheckRequest( 
+                        iCallParamsPckg, iRemotePartyNumber );
+        }
+    CSPLOGSTRING2(CSPINT, "CSPVoiceCall::DialFdnCond > res: %d", err );
+    return err;    
+    }
+
+// ---------------------------------------------------------------------------
+// Make the DialEmergencyCall request to ETel ( impl. of MCCPEmergencyCall )
+// ---------------------------------------------------------------------------
+//
+TInt CSPVoiceCall::Dial( const TDesC& aEmergencyNumber )
+    {    
+    CSPLOGSTRING2(CSPREQIN, "CSPVoiceCall::Dial EMERGENCY %S", &aEmergencyNumber);
+    iDialCompletionCode = KErrNone;
+    iTerminationErrorNotified = EFalse;
+    iIsEmergencyCall = ETrue;
+    iEmergencyNumber.Zero(); 
+    TInt emergencyNumberLength = aEmergencyNumber.Length(); 
+    
+    if ( emergencyNumberLength > 0 && 
+        emergencyNumberLength <= RMobileENStore::KEmergencyNumberSize )
+        {
+        iEmergencyNumber.Append( aEmergencyNumber );
+        }
+    else if ( emergencyNumberLength > RMobileENStore::KEmergencyNumberSize )
+        {                
+        CSPLOGSTRING(CSPERROR, "CSPVoiceCall::Dial invalid argument" );
+        return KErrArgument; 
+        }
+    
+    CSPLOGSTRING2(CSPREQIN, "CSPVoiceCall::Dial using %S", &iEmergencyNumber);
+    
+    TInt err( iRequester->MakeDialEmergencyRequest( iEmergencyNumber ) );
+
+    CSPLOGSTRING2(CSPINT, "CSPVoiceCall::Dial res %d", err );
+    return err;
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPVoiceCall::Answer
+// ---------------------------------------------------------------------------
+//
+TInt CSPVoiceCall::Answer()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVoiceCall::Answer");    
+    return CSPCall::Answer();
+    }
+    
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPCall::HangUp
+// ---------------------------------------------------------------------------
+//
+TInt CSPVoiceCall::HangUp()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVoiceCall::HangUp");    
+    return CSPCall::HangUp();   
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCall
+// CSPVoiceCall::Cancel
+// ---------------------------------------------------------------------------
+//
+TInt CSPVoiceCall::Cancel()
+    {
+    CSPLOGSTRING(CSPREQIN, "CSPVoiceCall::Cancel");    
+    return CSPCall::Cancel();
+    }
+
+// ---------------------------------------------------------------------------
+// From class MCCPCSCall
+// CSPVoiceCall::SwitchAlternatingCall
+// ---------------------------------------------------------------------------
+//
+TInt CSPVoiceCall::SwitchAlternatingCall()
+    {
+    CSPLOGSTRING(CSPERROR, "CSPVoiceCall::SwitchAlternatingCall not supported!");
+    return KErrNotSupported;
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVoiceCall::CSPVoiceCall
+// ---------------------------------------------------------------------------
+//
+CSPVoiceCall::CSPVoiceCall( RMobileLine& aLine, 
+                  TBool aMobileOriginated,
+                  const TDesC& aName,
+                  MCSPCommonInfo& aCommonInfo,
+                  TBool aIsEmergency ):CSPCall( aLine,
+                     aMobileOriginated, aName, 
+                     aCommonInfo, aIsEmergency ),
+                     iCallParams(),
+                     iCallParamsPckg (iCallParams)
+                     
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVoiceCall::CSPVoiceCall");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVoiceCall::ConstructL
+// Constructing CSPVoiceCall for MT call.
+// ---------------------------------------------------------------------------
+//    
+void CSPVoiceCall::ConstructL( const CCCECallParameters& aParams )
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVoiceCall::ConstructL <");
+    CSPCall::ConstructL( aParams );
+    CSPLOGSTRING(CSPOBJECT, "CSPVoiceCall::ConstructL >");
+    }
+
+// ---------------------------------------------------------------------------
+// CSPVoiceCall::SetDefaultCallParameters
+// ---------------------------------------------------------------------------
+//
+void CSPVoiceCall::SetDefaultCallParameters()
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSPVoiceCall::SetDefaultCallParameters");
+    
+    //Set defaults
+    iCallParams.iSpeakerControl = RMobileCall::EMonitorSpeakerControlAlwaysOn;
+    iCallParams.iSpeakerVolume = RMobileCall::EMonitorSpeakerVolumeMedium;
+    iCallParams.iInterval = KCSPDefaultInterval;
+    iCallParams.iWaitForDialTone = RMobileCall::EDialToneNoWait;
+    iCallParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    iCallParams.iAutoRedial = KCSPDefaultAutoRedial;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/rcsplinecontainer.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,216 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Container for ETel line subsessions.
+*
+*/
+
+
+
+//  INCLUDES
+#include    <rmmcustomapi.h>
+#include    <mmtsy_names.h>  // tsy and phone names
+#include    <cccpcallparameters.h>
+#include    <cccecallparameters.h>
+
+#include    "rcsplinecontainer.h"
+#include    "csppanic.pan"
+#include    "csplogger.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// Default c++ constructor
+RCSPLineContainer::RCSPLineContainer()
+    {
+    }
+
+// ---------------------------------------------------------
+// RCSPLineContainer::Open
+//
+// ---------------------------------------------------------
+//
+TInt RCSPLineContainer::Open( RMobilePhone& aPhone, TUint32 aServiceId )
+    {
+    CSPLOGSTRING( CSPINT, "RCSPLineContainer::Open" );
+    iServiceId = aServiceId;
+    
+    TInt error = iPrimaryLine.Open( aPhone, KMmTsyVoice1LineName);
+    if (error != KErrNone)
+        {
+        CSPLOGSTRING2( CSPINT, "RCSPLineContainer::Open voice ERROR %d", error );
+        return error;
+        }
+
+    // Ignore errors on the rest of the lines - they are non-essential
+    error = iAls2Line.Open( aPhone, KMmTsyVoice2LineName );
+    if ( error )
+        {
+        CSPLOGSTRING2( CSPINT, "RCSPLineContainer::Open voice2 ERROR %d", error );
+        }
+        
+    error = iDataLine.Open( aPhone, KMmTsyDataLineName );
+    if ( error )
+        {
+        CSPLOGSTRING2( CSPINT, "RCSPLineContainer::Open data ERROR %d", error );
+        }
+        
+    error = iFaxLine.Open( aPhone, KMmTsyFaxLineName );
+    if ( error )
+        {
+        CSPLOGSTRING2( CSPINT, "RCSPLineContainer::Open fax ERROR %d", error );
+        }
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------
+// RCSPLineContainer::Close
+//
+// ---------------------------------------------------------
+//
+void RCSPLineContainer::Close()
+    {
+    CSPLOGSTRING( CSPINT, "RCSPLineContainer::Close" );
+    iPrimaryLine.Close();
+    iAls2Line.Close();
+    iDataLine.Close(); 
+    iFaxLine.Close(); 
+    }
+
+// ---------------------------------------------------------
+// RCSPLineContainer::LineByType
+//
+// ---------------------------------------------------------
+//
+RMobileLine& RCSPLineContainer::LineByType( TCSPLineId aLine )
+    {
+    CSPLOGSTRING2( CSPINT, "RCSPLineContainer::LineByType %d", aLine );    
+    switch(aLine)
+        {
+        case ECSPLineSpeech:
+            CSPLOGSTRING2( CSPINT, "RCSPLineContainer::LineByType Speech %d", aLine );
+            return iPrimaryLine;
+        case ECSPLineAuxSpeech:
+            CSPLOGSTRING2( CSPINT, "RCSPLineContainer::LineByType AuxSpeech %d", aLine );
+            return iAls2Line;
+        case ECSPLineData:
+            CSPLOGSTRING2( CSPINT, "RCSPLineContainer::LineByType Data %d", aLine );
+            return iDataLine;
+        case ECSPLineFax:
+            CSPLOGSTRING2( CSPINT, "RCSPLineContainer::LineByType Fax %d", aLine );
+            return iFaxLine;
+        default:
+            CSPLOGSTRING2( CSPINT, "RCSPLineContainer::INVALID LINE ID %d", aLine );
+            Panic( ECSPPanicInvalidParameter );
+            return iPrimaryLine;
+        }
+    }
+
+// ---------------------------------------------------------
+// True if the line matching the line id is open.
+// ---------------------------------------------------------
+// 
+TBool RCSPLineContainer::LineIsOpen( TCSPLineId aType )
+    {
+    CSPLOGSTRING2( CSPINT, "RCSPLineContainer::LineIsOpen %d", aType );
+    RMobileLine& line = LineByType(aType);
+    return (line.SubSessionHandle() != KNullHandle);
+    }
+
+// ---------------------------------------------------------
+// Resolves line id based on service id, call type and line 
+// type.
+// ---------------------------------------------------------
+// 
+RCSPLineContainer::TCSPLineId RCSPLineContainer::ResolveLineIdL( 
+            const CCCECallParameters& aCallParameters ) const
+    {
+    CSPLOGSTRING(CSPOBJECT, "CSProvider::ResolveLineIdL");
+    RCSPLineContainer::TCSPLineId lineId = RCSPLineContainer::ECSPLineSpeech;
+    
+    switch ( aCallParameters.CallType() )
+        {
+        case CCPCall::ECallTypeCSVoice:
+            {
+            if ( aCallParameters.LineType() == CCCECallParameters::ECCELineTypeAux )
+                {
+                lineId = RCSPLineContainer::ECSPLineAuxSpeech;
+                }
+            else if ( aCallParameters.LineType() == CCCECallParameters::ECCELineTypePrimary )
+                {
+                lineId = RCSPLineContainer::ECSPLineSpeech;
+                }
+            else
+                {
+                CSPLOGSTRING(CSPOBJECT, "CSProvider::ResolveLineIdL ERROR: Unknown line type.");
+                User::Leave( KErrNotSupported );
+                }
+            break;
+            }
+        case CCPCall::ECallTypeVideo: // Fall through
+            {
+            lineId = RCSPLineContainer::ECSPLineData;
+            break;
+            }
+  
+        default:
+            {
+            CSPLOGSTRING(CSPOBJECT, "CSProvider::ResolveLineIdL ERROR: Unknown call type");
+            User::Leave( KErrNotSupported );
+            }
+        }
+        
+    return lineId;
+    }
+    
+// ---------------------------------------------------------
+// Resolves call type, service id and line type based on 
+// line id.
+// ---------------------------------------------------------
+// 
+TInt RCSPLineContainer::ResolveCallInfo( RCSPLineContainer::TCSPLineId aLineId, 
+                                  TUint32& aServiceId,
+                                  CCPCall::TCallType& aCallType,
+                                  CCCECallParameters::TCCELineType& aLineType ) const
+                                  
+    {
+    TInt err(KErrNone);
+    aLineType = CCCECallParameters::ECCELineTypePrimary;    
+    aServiceId = iServiceId;
+    
+    if ( aLineId == RCSPLineContainer::ECSPLineSpeech )
+        {
+        aCallType = CCPCall::ECallTypeCSVoice;            
+        }
+    else if ( aLineId == RCSPLineContainer::ECSPLineAuxSpeech )
+        {
+        aCallType = CCPCall::ECallTypeCSVoice;
+        aLineType = CCCECallParameters::ECCELineTypeAux;
+        }
+    else if ( aLineId == RCSPLineContainer::ECSPLineData )
+        {
+        aCallType = CCPCall::ECallTypeVideo;
+        }
+    else
+        {
+        CSPLOGSTRING(CSPOBJECT, "RCSPLineContainer::ResolveCallInfo() ERROR Unknown line id");
+        err = KErrArgument;
+        }
+    CSPLOGSTRING2(CSPINT, "RCSPLineContainer::ResolveCallInfo() aCallType=%d", aCallType );
+    CSPLOGSTRING2(CSPINT, "RCSPLineContainer::ResolveCallInfo() aLineType=%d", aLineType );
+    
+    return err;
+    }
+
+
+//  End of File  
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/csplugin/src/tcspskypeidparser.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,105 @@
+/*
+* 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:  Parses Skype id from UUI message.
+*
+*/
+
+
+#include "tcspskypeidparser.h"
+
+const TInt KMinSkypeIdUUILength = 3;
+const TInt KMaxSkypeIdUUILength = 33;
+const TInt KMaxSkypeIdLength = 32;
+const TInt KStartOf31To32EncodingByte = 26;
+const TInt KUUIMTDicriminator = 0x44;
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------------------------
+//
+TCSPSkypeIdParser::TCSPSkypeIdParser() 
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Creates buffer to be used by client with parse method.
+// ---------------------------------------------------------------------------
+//  
+HBufC* TCSPSkypeIdParser::CreateSkypeIdBufferL()
+    {
+    return HBufC::NewL( KMaxSkypeIdLength );
+    }
+    
+// ---------------------------------------------------------------------------
+// Parses skype id.
+// SkypeID format:
+// byte 0: Protocol discriminator: Always 0x00
+// byte 1: User-User Information Discriminator.
+//         For MT call this has to be 0x44
+// Byte 2: First skype id character a.k.a payload. MSB bit is zero.
+// Byte 26-33 May have MSB bit set, which are bits of the last character.
+// The 26 byte's MSB is the last characters MSB bit.
+// ---------------------------------------------------------------------------
+//
+TInt TCSPSkypeIdParser::Parse( 
+    const TDesC& aUUIMessage, 
+    TDes& aSkypeId )
+    {
+    const TInt messageLength( aUUIMessage.Length() );
+    TInt error = KErrNone;
+    
+    const TBool messageSizeOk = (messageLength >= KMinSkypeIdUUILength &&
+                                 messageLength <= KMaxSkypeIdUUILength);
+                                 
+    if( messageSizeOk &&
+       ( aUUIMessage[1] ) == KUUIMTDicriminator ) // address type
+        {
+        
+        TUint lastChar = 0;
+        
+        // skypeId payload starts from the second byte.
+        TInt i = 2;
+        for( ; i < messageLength; i++ )
+            {
+            TUint byte = aUUIMessage[i];
+            if( i >= KStartOf31To32EncodingByte )
+                {
+                // 31 to 32 encoding: last character is build from
+                // 7 last bytes.
+                lastChar = lastChar << 1;
+                lastChar |= (byte>>7)&0x01;
+                }
+            // MSB bit is not part of the character.
+            aSkypeId.Append( byte & 0x7F ); 
+                
+            
+            }
+            
+        // Append the last char only if the aUUIMessage size was the maximum and there
+        // is content in the last char.
+        if( messageLength == KMaxSkypeIdUUILength && lastChar != 0 )
+            {
+            aSkypeId.Append(lastChar);
+            }
+
+        }
+    else
+        {
+        error = KErrNotSupported;
+        }
+        
+    return error;
+    }
--- a/phoneplugins/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneplugins/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -15,8 +15,7 @@
 *
 */
 
-
-#include "../telbranding/group/bld.inf"
+#include "../csplugin/group/bld.inf"
 
 
 // End of File
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+HEADERS += ./inc/*.h
+
+SOURCES += ./src/*.cpp
+
+defineTest(exportResources) {
+    symbian {
+        for(subdirs, 1) {
+            entries = $$files($$subdirs)
+            for(entry, entries) : BLD_INF_RULES.prj_exports += "./$$entry z:/$$replace(2, ^/,)/$$basename(entry)"
+        }
+        export ( BLD_INF_RULES.prj_exports)
+    }
+}
+
+symbian: plugin { # copy qtstub and manifest
+
+    pluginstub.sources = $${TARGET}.dll
+    pluginstub.path = $$PLUGIN_SUBDIR
+
+    DEPLOYMENT += pluginstub
+
+    qtplugins.path = $$PLUGIN_SUBDIR
+    qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
+
+    message(Remove "contains(MOBILITY, serviceframework)" after the QtSF refactorig is done!)
+        
+    !contains(MOBILITY, serviceframework):qtplugins.sources += resource/$${TARGET}.manifest
+    contains(MOBILITY, serviceframework):BLD_INF_RULES.prj_exports += "resource/$${TARGET}.s60xml z:$$qtplugins.path/$${TARGET}.xml"
+    
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)"
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/hsdialerwidgetplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,60 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = lib
+
+CONFIG += plugin hb mobility
+
+MOBILITY = serviceframework
+
+win32: PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20022F44
+symbian: PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F44
+
+LIBS += -lhswidgetmodel
+
+DEPENDPATH += ./inc \
+              ./src
+
+INCLUDEPATH += ./inc
+
+symbian: {
+    LIBS += -lxqservice \
+            -llogsservices \
+            -lxqsettingsmanager
+
+    TARGET.UID3 = 0x20022F44
+    TARGET.EPOCALLOWDLLDATA=1
+    TARGET.CAPABILITY = ALL -TCB
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+}
+
+OUTPUT_DIR = $$PWD/bin
+SOURCE_DIR = $$PWD/inc
+OBJECTS_DIR = $$OUTPUT_DIR/tmp/$$TARGET
+DESTDIR = $$OUTPUT_DIR
+MOC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/moc
+RCC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/rcc
+UI_DIR = $$OUTPUT_DIR/tmp/$$TARGET/ui
+LIBS += -L$$DESTDIR
+DEPENDPATH += . $$SOURCE_DIR
+INCLUDEPATH += . $$SOURCE_DIR
+INCLUDEPATH += $$MOC_DIR
+plugin: !isEmpty(PLUGIN_SUBDIR): DESTDIR = $$OUTPUT_DIR/$$PLUGIN_SUBDIR
+
+include(hsdialerwidgetplugin.pri)
+
+exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR)
+exportResources(./resource/*.svg, $$PLUGIN_SUBDIR)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidget.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 HSDIALERWIDGET_H
+#define HSDIALERWIDGET_H
+
+#include <HbWidget>
+
+#ifndef HOMESCREEN_TEST
+    #define HOMESCREEN_TEST_CLASS(aClassName)
+    #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName)
+#else
+    #define HOMESCREEN_TEST_CLASS(aClassName) class aClassName;
+    #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName) friend class aClassName;
+#endif //HOMESCREEN_TEST
+
+HOMESCREEN_TEST_CLASS(TestDialerWidgetPlugin)
+
+class XQSettingsManager;
+
+class HsDialerWidget : public HbWidget
+{
+    Q_OBJECT
+
+public:
+    HsDialerWidget(QGraphicsItem* parent = 0, Qt::WindowFlags flags = 0);
+    ~HsDialerWidget();
+    
+public slots:
+    void startDialer();
+
+    void onShow();
+    void onHide();
+
+protected:
+    void mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }
+    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+
+private:
+    XQSettingsManager *mSetManager;
+    HOMESCREEN_TEST_FRIEND_CLASS(TestDialerWidgetPlugin)
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidgetplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Homescreen widget plugin
+*
+*/
+
+
+#ifndef HSDIALERWIDGETPLUGIN_H
+#define HSDIALERWIDGETPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+//#include <hstest_global.h>
+
+QTM_USE_NAMESPACE
+
+//HOMESCREEN_TEST_CLASS(TestDialerWidgetPlugin)
+
+/**
+ * @ingroup group_hsdialerwidgetplugin
+ * @brief Homescreen dialer widget plugin.
+ *
+ * This library includes homescreen dialer widget implemented by homescreen scrum team.
+ * This plugin provides widgets that are described in the  hsdialerwidgetplugin.xml plugin
+ * xml file. 
+ *
+ * @since S60 ?S60_version.
+ */
+class HsDialerWidgetPlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+
+//HOMESCREEN_TEST_FRIEND_CLASS(TestDialerWidgetPlugin)
+};
+
+#endif //HSDIALERWIDGETPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.manifest	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<widgetprovider>
+    <widget library="hsdialerwidgetplugin"
+            uri="hsdialerwidgetplugin"
+            title="Dialer"
+            iconuri="qtg_graf_hs_dialer.svg"
+            description="The dialer is used to make phone calls."/>
+</widgetprovider>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.s60xml	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsdialerwidgetplugin</name>
+    <filepath>z:/private/20022F35/import/widgetregistry/20022F44/hsdialerwidgetplugin.qtplugin</filepath>
+    <description>Dialer widget</description>
+    <interface>
+        <name>com.nokia.homescreen.widget</name>
+        <version>1.0</version>
+        <description>The dialer widget displays dialing menu</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">qtg_graf_hs_dialer.svg</customproperty>
+        <customproperty key="title">Dialer</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/resource/hsdialerwidgetplugin.xml	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsdialerwidgetplugin</name>
+    <filepath>hsdialerwidgetplugin</filepath>
+    <description>Dialer widget</description>
+    <interface>
+        <name>com.nokia.homescreen.widget</name>
+        <version>1.0</version>
+        <description>The dialer widget displays dialing menu</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">qtg_graf_hs_dialer.svg</customproperty>
+        <customproperty key="title">Dialer</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,27 @@
+<?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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/resource/qtg_graf_hs_dialer_pressed.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,29 @@
+<?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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/src/hsdialerwidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,140 @@
+/*
+* 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:
+*
+*/
+
+#include <QGraphicsLinearLayout>
+#include <HbIconItem>
+#include "hsdialerwidget.h"
+#ifdef Q_OS_SYMBIAN
+#include <xqservicerequest.h>
+#include <XQSettingsManager>
+#include <xqpublishandsubscribeutils.h>
+#include <ctsydomainpskeys.h>
+#include <logsservices.h>
+#endif
+
+namespace
+{
+    const char KDialerWidgetIcon[] = "qtg_graf_hs_dialer";
+}
+
+/*!
+    \class HsDialerWidget
+
+    \ingroup group_hsdialerwidgetplugin
+    \brief Implementation for the homescreen dialer launcher.
+
+*/
+
+/*!
+    Constructs dialer widget with given \a parent and given window \a flags.
+*/
+HsDialerWidget::HsDialerWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
+  : HbWidget(parent, flags),
+    mSetManager(0)
+{
+    HbIconItem *iconItem = new HbIconItem;
+    HbIcon icon(KDialerWidgetIcon);
+    iconItem->setIcon(icon);
+
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout;
+    layout->addItem(iconItem);
+    setLayout(layout);
+
+    setPreferredSize(icon.size());
+    resize(preferredSize());
+}
+
+/*!
+    Destructor.
+*/
+HsDialerWidget::~HsDialerWidget()
+{
+#ifdef Q_OS_SYMBIAN
+    delete mSetManager;
+#endif
+}
+
+/*!
+    \fn void HsDialerWidget::startDialer()
+
+    Starts dialer widget via view activation service.
+*/
+void HsDialerWidget::startDialer()
+{
+#ifdef Q_OS_SYMBIAN
+    const quint32 KKCTsyCallState = 0x00000001;
+    const qint32 KKPSUidCtsyCallInformation = {0x102029AC};
+    if  (!mSetManager) {
+        mSetManager = new XQSettingsManager();
+        }
+
+    XQPublishAndSubscribeSettingsKey callStateKey(KKPSUidCtsyCallInformation, KKCTsyCallState);
+    int callState = mSetManager->readItemValue(callStateKey).toInt();
+    if( (callState != EPSCTsyCallStateNone ) && (callState != EPSCTsyCallStateUninitialized) ) {
+        int dialer(1);
+
+        // ToDo: should telephone + dialpad be opened when there is a waiting call? 
+        //if (callState == EPSCTsyCallStateRinging) {
+        //dialer = 0;
+        //}
+        XQServiceRequest snd("com.nokia.services.telephony.uistarter", "start(int)", false);
+        snd << dialer;
+        QVariant retValue;
+        snd.send(retValue);
+    }
+    else {
+        XQServiceRequest snd("com.nokia.services.logsservices.starter",
+            "start(int,bool)", false);
+        snd << (int)LogsServices::ViewAll;
+        snd << true;
+        int retValue;
+        snd.send(retValue);
+
+        //LogsServices::start(LogsServices::ViewAll, true);
+    }
+#endif
+}
+
+/*!
+    \fn void HsDialerWidget::onShow()
+
+    Shows the widget
+*/
+void HsDialerWidget::onShow()
+{
+}
+
+/*!
+    \fn void HsDialerWidget::onHide()
+
+    Hides the widget
+*/
+void HsDialerWidget::onHide()
+{
+}
+
+/*!
+    \fn void HsDialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
+
+    Dialer widget start is triggered from release \a event.
+    \sa startDialer()
+*/
+void HsDialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
+{
+    Q_UNUSED(event);
+    startDialer();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/hsdialerwidgetplugin/src/hsdialerwidgetplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Homescreen widget plugin
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "hsdialerwidgetplugin.h"
+#include "hsdialerwidget.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+QObject *HsDialerWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                             QServiceContext *context,
+                                             QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.homescreen.widget")) {
+        return new HsDialerWidget();
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(hsdialerwidgetplugin, HsDialerWidgetPlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/inc/infowidgetlogging.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 INFOWIDGETLOGGING_H
+#define INFOWIDGETLOGGING
+
+#include <QDebug>
+
+
+/*!
+  Define MSG_OUTPUT_RDEBUG 
+  for enabling RDebug prints in development tracing. 
+  Shouldn't be used in release code.
+  */
+#undef MSG_OUTPUT_RDEBUG
+
+
+#ifdef MSG_OUTPUT_RDEBUG
+#ifdef Q_OS_SYMBIAN
+#include <e32debug.h>
+
+static void cpPhoneSettingsPluginsMsgOutput(QtMsgType type, const char *msg)
+{
+    switch (type) {
+    
+    case QtDebugMsg:
+        RDebug::Printf("InfoWidget Debug: %s\n", msg);
+        break;
+        
+    case QtWarningMsg:
+        RDebug::Printf("InfoWidget Warning: %s\n", msg);
+        break;
+
+    case QtCriticalMsg:
+        RDebug::Printf("InfoWidget Critical: %s\n", msg);
+        break;
+        
+    case QtFatalMsg:
+        RDebug::Printf("InfoWidget Fatal: %s\n", msg);
+        abort();
+    }
+}
+
+    #define INSTALL_TRACE_MSG_HANDLER qInstallMsgHandler(cpPhoneSettingsPluginsMsgOutput)
+    #define UNINSTALL_TRACE_MSG_HANDLER qInstallMsgHandler(0)
+#endif //Q_OS_SYMBIAN
+#else 
+    #define INSTALL_TRACE_MSG_HANDLER 
+    #define UNINSTALL_TRACE_MSG_HANDLER 
+#endif //MSG_OUTPUT_RDEBUG
+
+/*!
+  Debug macros
+  */
+#define DPRINT qDebug() << __PRETTY_FUNCTION__
+
+
+#endif // INFOWIDGETLOGGING
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/inc/infowidgetprovider.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  
+ *
+ */
+
+#ifndef INFOWIDGETPROVIDER_H
+#define INFOWIDGETPROVIDER_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class InfoWidgetProvider : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+
+};
+
+#endif // INFOWIDGETPROVIDER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/inc/infowidget.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef INFOWIDGET_H
+#define INFOWIDGET_H
+
+#include <hswidget.h>
+#include <QGraphicsSceneMouseEvent>
+#include <QFlags>
+#include "infowidgetlayoutmanager.h"
+
+class QLabel;
+class QGraphicsLinearLayout; 
+class HbDialog;
+class HbIconItem; 
+class HbMarqueeItem;
+class HbLabel; 
+class HbCheckBox; 
+class HbPushButton; 
+class InfoWidgetEngine; 
+class InfoWidgetPreferences;
+
+class InfoWidget : public HsWidget
+{
+    Q_OBJECT
+
+public:    
+    InfoWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
+    ~InfoWidget();
+
+public: // From QGraphicsItem.
+    QRectF boundingRect() const;
+    QPainterPath shape() const; 
+    QSizeF sizeHint(Qt::SizeHint which, const QSizeF & constraint) const;  
+    QSizePolicy sizePolicy () const;  
+    
+public: // Property definitions with read and write functions
+    Q_PROPERTY(QString homeZoneDisplay READ homeZoneDisplay WRITE setHomeZoneDisplay)
+    Q_PROPERTY(QString mcnDisplay READ mcnDisplay WRITE setMcnDisplay)
+    Q_PROPERTY(QString activeLineDisplay READ activeLineDisplay WRITE setActiveLineDisplay)
+    Q_PROPERTY(QString satDisplay READ satDisplay WRITE setSatDisplay)
+    QString homeZoneDisplay();
+    void setHomeZoneDisplay(QString value);
+    QString mcnDisplay();
+    void setMcnDisplay(QString value);
+    QString activeLineDisplay();
+    void setActiveLineDisplay(QString value);
+    QString satDisplay();
+    void setSatDisplay(QString value);
+    
+protected:
+    HsWidget::StartResult onStart();
+    HsWidget::StopResult onStop();
+    HsWidget::SuspendResult onSuspend();
+    HsWidget::ResumeResult onResume();
+    
+    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); 
+    void mousePressEvent(QGraphicsSceneMouseEvent *event);
+    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); 
+    void mouseMoveEvent(QGraphicsSceneMouseEvent *event); 
+    
+    void updateInfoDisplay();
+    void initializePreferences(); 
+    
+private: 
+    void updateItemsVisibility();
+    void layoutInfoDisplay(); 
+    void layoutSettingsDisplay(); 
+    
+    void initializeInfoDisplayItems(); 
+    void initializeSettingsDisplayItems(); 
+     
+    void startChanges(); 
+    void endChanges(); 
+    
+public slots: 
+    // Slots from HsWidget
+    void onInitialize();
+    void onUninitialize();
+    void onShow();
+    void onHide();
+
+    // Info widget specific slots 
+    void readModel(); 
+    void handleModelError(int operation,int errorCode);  
+    void homeZoneDisplaySettingChanged(int state);
+    void mcnDisplaySettingChanged(int state);
+    void activeLineDisplaySettingChanged(int state);
+    void satDisplaySettingChanged(int state);
+
+    void settingsEditingFinished();
+    
+signals: 
+    void setPreferences(const QStringList &names);
+
+private:
+    Q_DISABLE_COPY(InfoWidget)
+    
+    // Engine for widget      
+    InfoWidgetEngine *m_engine;
+    
+    // Widget preference store  
+    InfoWidgetPreferences *m_preferences;
+
+    // Layout for widget
+    InfoWidgetLayoutManager *m_layoutManager;    
+    QGraphicsLinearLayout *m_layout; 
+    
+    bool m_layoutChanging; 
+    bool m_isDragEvent; 
+    
+};
+
+
+#endif // INFOWIDGET_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/inc/infowidgetengine.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 INFOWIDGETENGINE_H_
+#define INFOWIDGETENGINE_H_
+
+
+#include <QObject>
+#include <QString>
+
+class InfoWidgetNetworkHandler;
+class InfoWidgetSatHandler;
+class InfoWidgetLineHandler;
+
+class InfoWidgetEngine : public QObject 
+    {
+    Q_OBJECT
+    
+public:     
+    
+    enum HandlerEntity {
+        NotDefined = 0, 
+        NetworkHandler, 
+        SatHandler, 
+        LineHandler
+    };
+    
+    class ModelData {    
+    public: 
+        int mcnIndicatorType() const { return m_mcnIndicatorType; }; 
+        void setMcnIndicatorType(const int type){ m_mcnIndicatorType = type; };
+        
+        int homeZoneIndicatorType() const { return m_homeZoneIndicatorType; }; 
+        void setHomeZoneIndicatorType(const int type){ m_homeZoneIndicatorType = type; };
+
+        int activeLine() const { return m_activeLine; }; 
+        void setActiveLine(const int line){ m_activeLine = line; };
+
+        const QString& mcnName() const { return m_mcnName; };
+        void setMcnName(const QString& name){ m_mcnName = name; };
+
+        const QString& serviceProviderName() const { return m_serviceProviderName; };
+        void setServiceProviderName(const QString& name){ m_serviceProviderName = name; };
+        
+        const QString& homeZoneTextTag() const { return m_homeZoneTextTag; };
+        void setHomeZoneTextTag(const QString& tag){ m_homeZoneTextTag = tag; };
+
+        const QString& satDisplayText() const { return m_satDisplayText; };
+        void setSatDisplayText(const QString& text){ m_satDisplayText = text; };
+        
+    private: 
+        int m_mcnIndicatorType; 
+        int m_homeZoneIndicatorType;
+        int m_activeLine; 
+        
+        QString m_mcnName;
+        QString m_serviceProviderName;
+        QString m_homeZoneTextTag;
+        QString m_satDisplayText;
+    }; 
+    
+public:
+    InfoWidgetEngine(QObject *parent = 0);
+    ~InfoWidgetEngine();    
+    
+    const InfoWidgetEngine::ModelData &modelData() const;  
+    
+    void logModelData();
+    
+signals:
+    void modelError(int operation, int errorCode);
+    void modelChanged(); 
+    
+public slots: 
+    void updateNetworkDataToModel();
+    void updateSatDataToModel();
+    void updateLineDataToModel();
+
+    void handleNetworkError(int operation, int errorCode); 
+    void handleSatError(int operation, int errorCode); 
+    void handleLineError(int operation, int errorCode);
+    
+private: 
+    ModelData m_modelData;
+    
+    // Own
+    QScopedPointer<InfoWidgetNetworkHandler> m_networkHandler;
+    }; 
+
+#endif /* INFOWIDGETENGINE_H_ */
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/inc/infowidgetlayoutmanager.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef INFOWIDGETLAYOUTMANAGER_H
+#define INFOWIDGETLAYOUTMANAGER_H
+
+#include <QObject>
+#include <QList>
+#include <QSizeF>
+#include <QRectF>
+#include <QMap>
+#include <hbdocumentloader.h>
+
+class QGraphicsLayout; 
+class QGraphicsWidget;
+class HbLabel;
+class HbIconItem;
+class HbPushButton;
+class HbMarqueeItem;
+class HbCheckBox; 
+
+/*!
+ */
+class InfoWidgetDocumentLoader : public HbDocumentLoader
+{
+public:
+    InfoWidgetDocumentLoader();
+    virtual QObject *createObject(const QString& type,
+                                  const QString &name);
+};
+
+class InfoWidgetLayoutManager : public QObject
+{
+    Q_OBJECT
+    
+public: 
+    
+    enum LayoutItemRole {
+        RoleUndefined = 0,
+        // Content widget, the main widget from document 
+        RoleContent,
+        // Marquee items 
+        RoleMcnMarqueeItem, 
+        // Labels 
+        RoleHomeZoneLabel, 
+        RoleMcnLabel, 
+        RoleActiveLineLabel, 
+        RoleSatTextLabel,
+        // Icons 
+        RoleHomeZoneIcon, 
+        RoleMcnIcon, 
+        RoleActiveLineIcon, 
+        RoleSatTextIcon, 
+        // Check boxes 
+        RoleHomeZoneCheckBox, 
+        RoleMcnCheckBox, 
+        RoleActiveLineCheckBox, 
+        RoleSatTextCheckBox,
+        // Buttons 
+        RoleOkButton,
+        // Layout containers
+        RoleContainer, 
+        RoleSettingsContainer, 
+        // Must be the last enumeration        
+        RoleLastEnum
+        }; 
+    
+    enum DisplayRole {
+        InfoDisplay,
+        SettingsDisplay
+        }; 
+    
+    InfoWidgetLayoutManager(QObject *parent = 0);
+    ~InfoWidgetLayoutManager();
+    
+    DisplayRole currentDisplayRole(); 
+    QList<LayoutItemRole> currentWidgetRoles(); 
+    
+    int layoutRows() const; 
+    void setLayoutRows(int rows); 
+    
+    QGraphicsLayout* layoutInfoDisplay();
+    QGraphicsLayout* layoutSettingsDisplay(); 
+    
+    const QList<InfoWidgetLayoutManager::LayoutItemRole> widgetRoles(
+            DisplayRole displayRole) const; 
+    
+    bool loadWidgets(const DisplayRole displayRole, 
+            const QList<LayoutItemRole> &displayWidgets,
+            QMap<LayoutItemRole, QGraphicsWidget *> &widgetMap);
+    
+    QGraphicsWidget* loadWidget(InfoWidgetDocumentLoader &loader, 
+            DisplayRole displayRole, 
+            LayoutItemRole widgetRole);
+    
+    QGraphicsWidget* getWidget(LayoutItemRole itemRole);
+    QGraphicsWidget* contentWidget();
+    
+    void hideWidget(LayoutItemRole itemRole);
+    void hideAll();
+    void showAll();
+    
+private:
+    QMap<LayoutItemRole, QGraphicsWidget *> m_widgets; 
+    QMap<LayoutItemRole, QGraphicsWidget *> m_infoDisplayWidgets; 
+    QMap<LayoutItemRole, QGraphicsWidget *> m_settingsDisplayWidgets; 
+
+    InfoWidgetDocumentLoader *m_documentLoader;
+    DisplayRole m_displayRole; 
+    int m_layoutRows;
+    
+};
+
+
+#endif // INFOWIDGETLAYOUTMANAGER_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/inc/infowidgetlinehandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 INFOWIDGETLINEHANDLER_H_
+#define INFOWIDGETLINEHANDLER_H_
+
+
+#include <QObject>
+
+class InfoWidgetLineHandler: public QObject 
+    {
+    Q_OBJECT
+    
+public:    
+    InfoWidgetLineHandler(QObject *parent = NULL);
+    ~InfoWidgetLineHandler();    
+
+    void logCurrentInfo(); 
+
+    int activeLine() const; 
+    void setActiveLine(int line);
+    
+signals: 
+    void handleMessage( int message );
+    void handleError( int operation, int errorCode );
+    
+private: 
+    int m_activeLine; 
+    }; 
+
+#endif /* INFOWIDGETLINEHANDLER_H_ */
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/inc/infowidgetnetworkhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 INFOWIDGETNETWORKHANDLER_H_
+#define INFOWIDGETNETWORKHANDLER_H_
+
+
+#include <QObject>
+#include <nwhandlingengine.h>
+
+class CNWSession; 
+
+class InfoWidgetNetworkHandler : public QObject, public MNWMessageObserver 
+    {
+    Q_OBJECT
+    
+public:
+    InfoWidgetNetworkHandler(QObject *parent = NULL);
+    ~InfoWidgetNetworkHandler();    
+    
+    QString homeZoneTextTag() const; 
+    int homeZoneIndicatorType() const; 
+    
+    QString mcnName() const; 
+    int mcnIndicatorType() const; 
+
+    void logCurrentInfo(); 
+
+public: // From MNWMessageObserver
+    void HandleNetworkMessage(const TNWMessages aMessage);
+    void HandleNetworkError(const TNWOperation aOperation, TInt aErrorCode);
+    
+signals: 
+    void networkDataChanged();
+    void networkError(int operation, int errorCode);
+    
+private:
+    TNWInfo m_nwInfo;
+    QScopedPointer<CNWSession> m_nwSession;
+    }; 
+
+#endif /* INFOWIDGETNETWORKHANDLER_H_ */
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/inc/infowidgetpreferences.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 INFOWIDGETPREFERENCES_H
+#define INFOWIDGETPREFERENCES_H
+
+#include <QObject>
+#include <QFlags>
+
+// Preference string values
+const char DISPLAY_SETTING_ON[]    = "On";
+const char DISPLAY_SETTING_OFF[]     = "Off";
+
+class InfoWidgetPreferences : public QObject
+{
+    Q_OBJECT
+
+public: 
+    enum DisplaySetting {
+        DisplayOff = 0, 
+        DisplayOn    
+    }; 
+    
+    enum Option {
+        DisplayHomeZone = 0x1,
+        DisplayMcn = 0x2,
+        DisplayActiveLine = 0x4, 
+        DisplaySatText = 0x8 
+    };
+    Q_DECLARE_FLAGS(Options, Option)
+
+public:
+    InfoWidgetPreferences(QObject *parent = NULL);
+    ~InfoWidgetPreferences();
+
+    void loadPreferences();
+    void storePreferences();
+    
+public:
+    QString preference(Option preferenceId) const;
+    void setPreference(Option preferenceId, const QString &preferenceString);
+    
+    int visibleItemCount(); 
+    
+private:
+    Q_DISABLE_COPY(InfoWidgetPreferences)
+
+    InfoWidgetPreferences::Options m_options; 
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(InfoWidgetPreferences::Options)
+
+#endif // INFOWIDGETPREFERENCES_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/inc/infowidgetsathandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 INFOWIDGETSATHANDLER_H_
+#define INFOWIDGETSATHANDLER_H_
+
+#include <QObject>
+
+class InfoWidgetSatHandler: public QObject 
+    {
+    Q_OBJECT
+    
+public:    
+    InfoWidgetSatHandler(QObject *parent = NULL);
+    ~InfoWidgetSatHandler();    
+
+    const QString& satDisplayText() const; 
+    void setSatDisplayText(const QString& displayText);
+
+    void logCurrentInfo(); 
+
+signals: 
+    void handleMessage( int message );
+    void handleError( int operation, int errorCode );
+
+    
+private: 
+    QString m_displayText; 
+    }; 
+
+#endif /* INFOWIDGETSATHANDLER_H_ */
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/src/infowidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,847 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "infowidget.h"
+
+#include <hbanchorlayout.h>
+#include <hbiconitem.h>
+#include <hbmarqueeitem.h>
+#include <hbfontspec.h>
+#include <hbdialog.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <hbcheckbox.h>
+#include <hbpushbutton.h>
+#include <QPainter>
+#include <QPainterPath>
+#include <QBrush>
+#include <QGraphicsLinearLayout>
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include "infowidgetlogging.h"
+#include "infowidgetengine.h"
+#include "infowidgetlayoutmanager.h"
+#include "infowidgetpreferences.h"
+
+const int INFOWIDGET_LINE_WIDTH = 0; 
+const int INFOWIDGET_MARGIN = 5;
+const int INFOWIDGET_ROUNDING = 15;
+
+
+/*!
+    InfoWidget::InfoWidget() 
+*/
+InfoWidget::InfoWidget(QGraphicsItem* parent, Qt::WindowFlags flags)
+    : HsWidget(parent, flags),
+    m_engine(NULL), 
+    m_preferences(NULL),
+    m_layoutManager(NULL),
+    m_layout(NULL),
+    m_layoutChanging(false),
+    m_isDragEvent(false)
+{
+    INSTALL_TRACE_MSG_HANDLER; 
+    
+    DPRINT << ": IN";
+    
+    // Localization file loading
+    QTranslator translator; 
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    DPRINT << ": loading translation: " << QString(path + "operator_widget_" + lang);
+    bool translatorLoaded = translator.load(path + "operator_widget_" + lang);
+    DPRINT << ": translator loaded: " << translatorLoaded; 
+    if (translatorLoaded) {
+        qApp->installTranslator(&translator);
+        DPRINT << ": translator installed"; 
+    }
+    
+    m_layoutManager = new InfoWidgetLayoutManager(this);
+    Q_ASSERT(m_layoutManager); 
+    
+    // Create network engine  
+    m_engine = new InfoWidgetEngine(this); 
+
+    // Create widget preference handler 
+    m_preferences = new InfoWidgetPreferences(this);
+
+    DPRINT << ": reading preferences from meta-object properties";
+    initializePreferences();
+
+    // Create widget main layout 
+    m_layout = new QGraphicsLinearLayout;    
+    m_layout->setSpacing(0); 
+    m_layout->setContentsMargins(0,0,0,0); 
+    
+    // Layout info display
+    layoutInfoDisplay();
+
+    setLayout(m_layout);
+
+    // Read initial data from model
+    updateInfoDisplay(); 
+    
+    QObject::connect(m_engine, SIGNAL(modelChanged()), 
+            this, SLOT(readModel())); 
+
+    DPRINT << ": OUT";
+}
+
+/*!
+    InfoWidget::~InfoWidget() 
+*/
+InfoWidget::~InfoWidget()
+{
+    DPRINT << ": IN"; 
+    
+    // Clean layout container, 
+    // layout manager handles layout item cleanup
+    for (int i=0; i < m_layout->count(); i++) {
+        DPRINT << ": item(" << i << ") removed from layout";
+        m_layout->removeAt(i);
+        } 
+    
+    DPRINT << ": OUT"; 
+    UNINSTALL_TRACE_MSG_HANDLER;
+}
+
+/*!
+    InfoWidget::boundingRect() const
+*/
+QRectF InfoWidget::boundingRect() const
+{
+    DPRINT;
+    
+    QRectF rectF = rect();
+    rectF.adjust(-INFOWIDGET_MARGIN, -INFOWIDGET_MARGIN, 
+            INFOWIDGET_MARGIN, INFOWIDGET_MARGIN);
+    
+    return rectF;
+}
+
+/*!
+    InfoWidget::shape() const
+    Return shape
+*/
+QPainterPath InfoWidget::shape() const
+{
+    DPRINT;    
+    
+    QPainterPath path;
+    path.addRoundRect(boundingRect(), INFOWIDGET_ROUNDING, INFOWIDGET_ROUNDING);
+    return path;
+}
+
+/*!
+    InfoWidget::sizeHint() 
+*/
+QSizeF InfoWidget::sizeHint(Qt::SizeHint which, const QSizeF & constraint) const   
+{
+    Q_UNUSED(which);
+    Q_UNUSED(constraint); 
+    
+    QSizeF requiredSize(70,160);
+    
+    // Try to get size hint from docml content, if not found use default  
+    // size preference 
+    if (m_layoutManager->currentDisplayRole() == 
+                InfoWidgetLayoutManager::InfoDisplay) {
+        if (m_layoutManager->contentWidget()) {
+            requiredSize = m_layoutManager->contentWidget()->minimumSize();
+            }
+    }
+    else if (m_layoutManager->currentDisplayRole() == 
+            InfoWidgetLayoutManager::SettingsDisplay) {
+        requiredSize = QSizeF(250,250);
+        if (m_layoutManager->contentWidget()) {
+            requiredSize = m_layoutManager->contentWidget()->preferredSize();
+            }
+    } 
+
+    DPRINT << ": returning size: " << requiredSize;
+    return requiredSize; 
+}
+
+/*!
+    InfoWidget::sizePolicy() 
+*/
+QSizePolicy InfoWidget::sizePolicy () const 
+{
+    DPRINT;
+
+    // Size tells the exact size for the widget    
+    return QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); 
+}
+
+/*!
+    InfoWidget::onInitialize() 
+*/
+void InfoWidget::onInitialize()
+{
+    DPRINT << ": IN";
+    
+    // Initialize preferences from meta-object data 
+    // set by homescreen framework. Homescreen framework 
+    // has restored the properties before calling onInitialize  
+    DPRINT << ": reading preferences from meta-object properties";
+    initializePreferences();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+    InfoWidget::onUninitialize() 
+*/
+void InfoWidget::onUninitialize()
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidget::onShow() 
+*/
+void InfoWidget::onShow()
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidget::onHide() 
+*/
+void InfoWidget::onHide()
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidget::onStart() 
+*/
+HsWidget::StartResult InfoWidget::onStart()
+{
+    DPRINT; 
+    return HsWidget::StartResultRunning; 
+}
+
+/*!
+    InfoWidget::onStop() 
+*/
+HsWidget::StopResult InfoWidget::onStop()
+{
+    DPRINT; 
+    return HsWidget::StopResultFinished; 
+}
+
+/*!
+    InfoWidget::onSuspend() 
+*/
+HsWidget::SuspendResult InfoWidget::onSuspend()
+{
+    DPRINT; 
+    return HsWidget::SuspendResultSuspended; 
+}
+
+/*!
+    InfoWidget::onResume() 
+*/
+HsWidget::ResumeResult InfoWidget::onResume()
+{
+    DPRINT; 
+    return HsWidget::ResumeResultRunning; 
+}
+
+/*!
+    InfoWidget::updateItemsVisibility() 
+*/
+void InfoWidget::updateItemsVisibility()
+{
+    DPRINT <<": IN"; 
+    int layoutRows = 0; 
+    QList<QGraphicsWidget *> widgetsToHide; 
+    
+    // Update layout according to item visibility settings
+    // 1. read visible items
+    if (m_preferences->preference(InfoWidgetPreferences::DisplayHomeZone).compare(
+            DISPLAY_SETTING_ON) == 0) {
+        layoutRows++;
+    } else if (m_layoutManager->currentDisplayRole() != InfoWidgetLayoutManager::SettingsDisplay) {
+        m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleHomeZoneLabel); 
+        m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleHomeZoneIcon); 
+    }
+    
+    if (m_preferences->preference(InfoWidgetPreferences::DisplayMcn).compare(
+            DISPLAY_SETTING_ON) == 0) {
+        layoutRows++;
+    } else if (m_layoutManager->currentDisplayRole() != InfoWidgetLayoutManager::SettingsDisplay) {
+        m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleMcnMarqueeItem); 
+        m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleMcnIcon); 
+    }
+
+    if (m_preferences->preference(InfoWidgetPreferences::DisplayActiveLine).compare(
+            DISPLAY_SETTING_ON) == 0) {
+        layoutRows++;
+    } else if (m_layoutManager->currentDisplayRole() != InfoWidgetLayoutManager::SettingsDisplay) {
+        m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleActiveLineLabel); 
+        m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleActiveLineIcon); 
+    }
+    
+    if (m_preferences->preference(InfoWidgetPreferences::DisplaySatText).compare(
+            DISPLAY_SETTING_ON) == 0) {
+        layoutRows++;
+    } else if (m_layoutManager->currentDisplayRole() != InfoWidgetLayoutManager::SettingsDisplay) {
+        m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleSatTextLabel); 
+        m_layoutManager->hideWidget(InfoWidgetLayoutManager::RoleSatTextIcon); 
+    }
+    
+    DPRINT << ": visible layout rows count: " << layoutRows;
+    m_layoutManager->setLayoutRows(layoutRows);
+}
+
+/*!
+    InfoWidget::layoutInfoDisplay()
+    
+    Layout info display    
+*/
+void InfoWidget::layoutInfoDisplay()
+{  
+    startChanges(); 
+    
+    QGraphicsLayout *infoDisplayLayout = 
+        m_layoutManager->layoutInfoDisplay(); 
+    
+    DPRINT << ": IN";
+    if (infoDisplayLayout) {
+        DPRINT << ": infoDisplayLayout has been returned from layout manager";
+
+        QGraphicsWidget *contentWidget = m_layoutManager->contentWidget();
+        if (contentWidget) {
+            DPRINT << ": contentWidget has been returned from layout manager";
+            
+            // Remove old data from layout. 
+            for (int i=0; i < m_layout->count(); i++) {
+                DPRINT << ": item(" << i << ") removed from layout";
+                m_layout->removeAt(i);
+                } 
+            
+            // Add content widget to main layout 
+            m_layout->addItem(contentWidget);
+            
+            resize(contentWidget->preferredSize()); 
+        }       
+    }
+    
+    m_layoutManager->showAll(); 
+    updateItemsVisibility(); 
+
+    endChanges(); 
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+    InfoWidget::layoutSettingsDisplay()
+    
+    Switch to settings display layout   
+*/
+void InfoWidget::layoutSettingsDisplay()
+{  
+    startChanges(); 
+    
+    QGraphicsLayout *settingDisplayLayout = 
+        m_layoutManager->layoutSettingsDisplay(); 
+    
+    DPRINT << ": IN";
+    if (settingDisplayLayout) {
+        DPRINT << ": settingDisplayLayout has been returned from layout manager";
+
+        QGraphicsWidget *contentWidget = m_layoutManager->contentWidget();
+        if (contentWidget) {
+            DPRINT << ": contentWidget has been returned from layout manager";
+                
+            // Remove old data from layout. 
+            for (int i=0; i < m_layout->count(); i++) {
+                DPRINT << ": item(" << i << ") removed from layout";
+                m_layout->removeAt(i);
+                } 
+            
+            // Add content widget to main layout 
+            m_layout->addItem(contentWidget); 
+
+            resize(contentWidget->preferredSize()); 
+        }
+        
+        // Connect settings display widget signals 
+        initializeSettingsDisplayItems(); 
+    }
+     
+    m_layoutManager->showAll(); 
+
+    endChanges(); 
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+    InfoWidget::initializeInfoDisplayItems()
+*/
+void InfoWidget::initializeInfoDisplayItems()
+{  
+    DPRINT;
+}
+
+/*!
+    InfoWidget::initializeSettingsDisplayItems()
+    
+    Set up initial check box states, lock check boxes 
+    if needed and connect signals to local slots  
+*/
+void InfoWidget::initializeSettingsDisplayItems()
+{  
+    DPRINT << ": IN";
+    
+    HbPushButton *okButton = qobject_cast<HbPushButton *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleOkButton));
+    if (okButton) {
+        DPRINT << ": okButton has been returned from layout manager, connecting signal";
+        QObject::connect(okButton, SIGNAL(clicked()), 
+                this, SLOT(settingsEditingFinished())); 
+    }
+
+    // Connect display setting check boxes
+    HbCheckBox *homeZoneBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleHomeZoneCheckBox));
+    if (homeZoneBox) {
+        DPRINT << ": homeZoneBox has been returned from layout manager, initializing";
+        // Make checkable when home zone display is supported
+        homeZoneBox->setCheckable(false); 
+        QObject::connect(homeZoneBox, SIGNAL(stateChanged(int)), 
+                this, SLOT(homeZoneDisplaySettingChanged(int))); 
+    }
+    
+    HbCheckBox *mcnCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleMcnCheckBox));
+    if (mcnCheckBox) {
+        mcnCheckBox->setChecked(true);
+        
+        DPRINT << ": mcnCheckBox has been returned from layout manager, connecting signal";
+        QObject::connect(mcnCheckBox, SIGNAL(stateChanged(int)), 
+                this, SLOT(mcnDisplaySettingChanged(int))); 
+    }
+    
+    HbCheckBox *activeLineCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleActiveLineCheckBox));
+    if (activeLineCheckBox) {
+        // Make checkable when active line display is supported
+        activeLineCheckBox->setCheckable(false); 
+
+        DPRINT << ": activeLineCheckBox has been returned from layout manager, connecting signal";
+        QObject::connect(activeLineCheckBox, SIGNAL(stateChanged(int)), 
+                this, SLOT(activeLineDisplaySettingChanged(int))); 
+    }
+    
+    HbCheckBox *satTextCheckBox = qobject_cast<HbCheckBox *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleSatTextCheckBox));
+    if (satTextCheckBox) {
+        // Make checkable when sat text display is supported
+        satTextCheckBox->setCheckable(false); 
+
+        DPRINT << ": satTextCheckBox has been returned from layout manager, connecting signal";
+        QObject::connect(satTextCheckBox, SIGNAL(stateChanged(int)), 
+                this, SLOT(satDisplaySettingChanged(int))); 
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+    InfoWidget::updateInfoDisplay() 
+*/
+void InfoWidget::updateInfoDisplay()
+{
+    DPRINT; 
+    
+    QString text;
+    InfoWidgetEngine::ModelData modelData = m_engine->modelData(); 
+
+    HbLabel *homeZoneLabel = qobject_cast<HbLabel *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleHomeZoneLabel));
+    if (homeZoneLabel && 
+            m_layoutManager->currentDisplayRole() == InfoWidgetLayoutManager::InfoDisplay) {
+        text = modelData.homeZoneTextTag(); 
+        homeZoneLabel->setPlainText(text);
+    }        
+    
+    HbMarqueeItem *mcnMarqueeItem = qobject_cast<HbMarqueeItem *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleMcnMarqueeItem));
+    if (mcnMarqueeItem && 
+            m_layoutManager->currentDisplayRole() == InfoWidgetLayoutManager::InfoDisplay) {
+        text = modelData.mcnName(); 
+        if (text.length()) {
+            mcnMarqueeItem->setText(text);
+                
+            // Set marquee animation looping mode to infinite
+            mcnMarqueeItem->setLoopCount(-1); 
+            
+            // Finally, start marquee animation
+            DPRINT << ": mcnMarqueeItem->isAnimating()"; 
+            if (!mcnMarqueeItem->isAnimating()) {
+                DPRINT << ": mcnMarqueeItem->startAnimation()";   
+                mcnMarqueeItem->startAnimation();
+            }
+        }
+    }
+
+    HbLabel *activeLineLabel = qobject_cast<HbLabel *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleActiveLineLabel));
+    if (activeLineLabel && 
+            m_layoutManager->currentDisplayRole() == InfoWidgetLayoutManager::InfoDisplay) {
+        text.setNum(modelData.activeLine());
+        text.insert(0, hbTrId("Line: "));
+    
+        if (text.length()) {
+            activeLineLabel->setPlainText(text);
+        }
+    }    
+
+    HbLabel *satTextLabel = qobject_cast<HbLabel *>(m_layoutManager->getWidget(
+            InfoWidgetLayoutManager::RoleSatTextLabel));
+    if (satTextLabel && 
+            m_layoutManager->currentDisplayRole() == InfoWidgetLayoutManager::InfoDisplay) {
+
+        text = modelData.satDisplayText(); 
+
+        if (text.length()) {
+            satTextLabel->setPlainText(text);
+        }
+    }    
+
+}
+
+/*!
+    InfoWidget::readModel() 
+    
+    Read model data. Model's modelChanged - signal is connected to this slot.  
+*/
+void InfoWidget::readModel()
+{
+    DPRINT << ": IN"; 
+
+    if (m_layoutManager->currentDisplayRole() == InfoWidgetLayoutManager::InfoDisplay) { 
+        updateInfoDisplay(); 
+    }
+    DPRINT << ": OUT";
+}
+
+/*!
+    InfoWidget::handleModelError() 
+    
+    Model error signal is connected to this slot 
+*/
+void InfoWidget::handleModelError(int operation,int errorCode)
+{
+    Q_UNUSED(operation); 
+    Q_UNUSED(errorCode); 
+    DPRINT;
+}
+
+/*!
+    InfoWidget::paint() 
+*/
+void InfoWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
+{
+    Q_UNUSED(option); 
+    Q_UNUSED(widget);
+    DPRINT;
+
+    if (!m_layoutChanging) {
+
+        QBrush brush(Qt::white); 
+        brush.setStyle(Qt::SolidPattern); 
+        painter->setBackground(brush); 
+            
+        QRectF drawRect = boundingRect(); 
+        drawRect.adjust( INFOWIDGET_LINE_WIDTH, INFOWIDGET_LINE_WIDTH, 
+                         -INFOWIDGET_LINE_WIDTH, -INFOWIDGET_LINE_WIDTH );
+        
+        QPainterPath path;
+        path.addRoundRect(drawRect, INFOWIDGET_ROUNDING, INFOWIDGET_ROUNDING);
+    
+        painter->save();
+        
+        painter->fillPath(path, Qt::white);
+        painter->restore();
+    }
+}
+
+/*!
+    InfoWidget::mousePressEvent() 
+*/
+
+void InfoWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+    Q_UNUSED(event);
+    DPRINT; 
+    
+    // Initialize flag 
+    m_isDragEvent = false; 
+    
+    DPRINT; 
+}
+
+/*!
+    InfoWidget::mouseReleaseEvent() 
+*/
+void InfoWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+{
+    Q_UNUSED(event);
+
+    // If in info display and widget wasn't dragged 
+    // change to settings display
+    if ((!m_isDragEvent) && 
+          m_layoutManager->currentDisplayRole() == 
+                  InfoWidgetLayoutManager::InfoDisplay) {
+        DPRINT << ": layout settings display";
+        layoutSettingsDisplay(); 
+    }
+    
+    m_isDragEvent = false; 
+}
+
+/*!
+    InfoWidget::mouseMoveEvent() 
+*/
+void InfoWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+{
+    Q_UNUSED(event);
+    
+    // Mouse is moving after mouse press event
+    m_isDragEvent = true; 
+}
+
+/*!
+    InfoWidget::homeZoneDisplaySettingChanged() 
+*/
+void InfoWidget::homeZoneDisplaySettingChanged(int state)
+{
+    DPRINT << ": state: " << state;
+    if (state == Qt::Checked){
+        m_preferences->setPreference(InfoWidgetPreferences::DisplayHomeZone, DISPLAY_SETTING_ON);
+    } else {
+        m_preferences->setPreference(InfoWidgetPreferences::DisplayHomeZone, DISPLAY_SETTING_OFF);
+    }
+}
+
+/*!
+    InfoWidget::mcnDisplaySettingChanged() 
+*/
+void InfoWidget::mcnDisplaySettingChanged(int state)
+{
+    DPRINT << ": state: " << state; 
+    if (state == Qt::Checked){
+        m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_ON);
+    } else {
+        m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_OFF);
+    }
+}
+
+/*!
+    InfoWidget::activeLineDisplaySettingChanged() 
+*/
+void InfoWidget::activeLineDisplaySettingChanged(int state)
+{
+    DPRINT << ": state: " << state; 
+    if (state == Qt::Checked){
+        m_preferences->setPreference(InfoWidgetPreferences::DisplayActiveLine, DISPLAY_SETTING_ON);
+    } else {
+        m_preferences->setPreference(InfoWidgetPreferences::DisplayActiveLine, DISPLAY_SETTING_OFF);
+    }
+}
+
+/*!
+    InfoWidget::satDisplaySettingChanged() 
+*/
+void InfoWidget::satDisplaySettingChanged(int state)
+{
+    DPRINT << ": state: " << state; 
+    if (state == Qt::Checked){
+        m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_ON);
+    } else {
+        m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_OFF);
+    }
+}
+
+/*!
+    InfoWidget::mcnDisplay() 
+    
+    Getter function for Meta-object property "mcnDisplay"
+*/
+QString InfoWidget::mcnDisplay()
+{
+    DPRINT; 
+    return m_preferences->preference(InfoWidgetPreferences::DisplayMcn); 
+}
+
+/*!
+    InfoWidget::setMcnDisplay() 
+    
+    Setter function for Meta-object property "mcnDisplay"
+*/
+void InfoWidget::setMcnDisplay(QString value)
+{
+    DPRINT;
+    m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, value);
+    }
+
+/*!
+    InfoWidget::homeZoneDisplay() 
+    
+    Getter function for Meta-object property "homeZoneDisplay"
+*/
+QString InfoWidget::homeZoneDisplay()
+{
+    DPRINT; 
+    return m_preferences->preference(InfoWidgetPreferences::DisplayHomeZone); 
+}
+
+/*!
+    InfoWidget::setHomeZoneDisplay()
+    
+    Setter function for Meta-object property "homeZoneDisplay" 
+*/
+void InfoWidget::setHomeZoneDisplay(QString value)
+{
+    DPRINT; 
+    m_preferences->setPreference(InfoWidgetPreferences::DisplayHomeZone, value);
+}
+
+/*!
+    InfoWidget::activeLineDisplay() 
+    
+    Getter function for Meta-object property "activeLineDisplay"
+*/
+QString InfoWidget::activeLineDisplay()
+{
+    DPRINT; 
+    return m_preferences->preference(InfoWidgetPreferences::DisplayActiveLine);
+}
+
+/*!
+    InfoWidget::setActiveLineDisplay() 
+    
+    Setter function for Meta-object property "activeLineDisplay"
+*/
+void InfoWidget::setActiveLineDisplay(QString value)
+{
+    DPRINT; 
+    m_preferences->setPreference(InfoWidgetPreferences::DisplayActiveLine, value);
+}
+
+/*!
+    InfoWidget::satDisplay()
+    
+    Getter function for Meta-object property "satDisplay" 
+*/
+QString InfoWidget::satDisplay()
+{
+    DPRINT; 
+    return m_preferences->preference(InfoWidgetPreferences::DisplaySatText);
+}
+
+/*!
+    InfoWidget::setSatDisplay()
+    
+    Setter function for Meta-object property "satDisplay" 
+*/
+void InfoWidget::setSatDisplay(QString value)
+{
+    DPRINT;
+    m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, value);
+}
+
+/*!
+    InfoWidget::initializePreferences()
+    
+    Read initial Meta-object properties and store to preference handler. 
+    Restores preferences from previous session.   
+*/
+void InfoWidget::initializePreferences()
+{
+    DPRINT << ": IN";
+    QString propertyValue;
+    
+    propertyValue = QObject::property("homeZoneDisplay").toString();
+    m_preferences->setPreference(InfoWidgetPreferences::DisplayHomeZone, 
+            propertyValue);
+    
+    propertyValue = QObject::property("mcnDisplay").toString();
+    m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, 
+            propertyValue);
+    
+    propertyValue = QObject::property("activeLineDisplay").toString();
+    m_preferences->setPreference(InfoWidgetPreferences::DisplayActiveLine, 
+            propertyValue);
+    
+    propertyValue = QObject::property("satTextDisplay").toString();
+    m_preferences->setPreference(InfoWidgetPreferences::DisplaySatText, 
+            propertyValue);
+
+    // Check that at least one item is set visible. If not 
+    // set default item(s) visible. TBD which items and how selected.   
+    if (m_preferences->visibleItemCount() == 0) {
+        DPRINT << ": no visible items initially, setting MCN on by default"; 
+        m_preferences->setPreference(InfoWidgetPreferences::DisplayMcn, 
+                DISPLAY_SETTING_ON);
+    }
+        
+    DPRINT << ": OUT"; 
+}
+
+/*!
+    InfoWidget::settingsEditingFinished()
+*/
+void InfoWidget::settingsEditingFinished()
+{
+    DPRINT << ": IN";
+    
+    layoutInfoDisplay();
+    
+    updateInfoDisplay(); 
+    
+    DPRINT << ": OUT";
+}
+
+void InfoWidget::startChanges()
+{
+    DPRINT << ": IN";
+    
+    m_layoutChanging = true;; 
+    
+    DPRINT << ": OUT";
+}
+
+void InfoWidget::endChanges()
+{
+    DPRINT << ": IN";
+    
+    m_layoutChanging = false;; 
+    
+    DPRINT << ": OUT";
+}
+
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/src/infowidgetengine.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "infowidgetengine.h"
+#include "infowidgetnetworkhandler.h"
+#include <networkhandlingproxy.h>
+#include "infowidgetlogging.h"
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+#include <SettingsInternalCRKeys.h>
+
+/*!
+   InfoWidgetEngine::InfoWidgetEngine
+ */
+InfoWidgetEngine::InfoWidgetEngine(QObject *parent): 
+    QObject(parent),
+    m_networkHandler(new InfoWidgetNetworkHandler)
+{
+    DPRINT << ": IN";
+    
+    QObject::connect(
+        m_networkHandler.data(), SIGNAL(networkError(int, int)),
+        this, SLOT(handleNetworkError(int, int))); 
+    
+    QObject::connect(
+        m_networkHandler.data(), SIGNAL(networkDataChanged()),
+        this, SLOT(updateNetworkDataToModel()));
+    
+    XQSettingsManager *settingsManager = new XQSettingsManager(0); 
+    XQSettingsKey settingsKey(XQSettingsKey::TargetCentralRepository, 
+        KCRUidNetworkSettings.iUid, KSettingsMcnDisplay); 
+    bool result = settingsManager->writeItemValue(settingsKey, 1 );
+    delete settingsManager;
+
+    updateNetworkDataToModel(); 
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+   InfoWidgetEngine::~InfoWidgetEngine
+ */
+InfoWidgetEngine::~InfoWidgetEngine()
+{
+    DPRINT;
+}    
+
+/*!
+   InfoWidgetEngine::logModelData
+   
+   Utility function for logging model data
+ */
+void InfoWidgetEngine::logModelData()
+{
+    DPRINT << ": mcn name: " << m_modelData.mcnName(); 
+    DPRINT << ": service provider name: " << m_modelData.serviceProviderName();
+    DPRINT << ": homezone text tag: " << m_modelData.homeZoneTextTag();
+    
+    DPRINT << ": mcn type: " << m_modelData.mcnIndicatorType(); 
+    DPRINT << ": active line: " << m_modelData.activeLine(); 
+    DPRINT << ": homezone indicator type: " << m_modelData.homeZoneIndicatorType(); 
+} 
+
+/*!
+   InfoWidgetEngine::modelData
+   
+   Getter for model data. 
+ */
+const InfoWidgetEngine::ModelData& InfoWidgetEngine::modelData() const
+{
+    DPRINT;
+    return m_modelData; 
+}
+
+/*!
+   InfoWidgetEngine::updateNetworkDataToModel
+ */
+void InfoWidgetEngine::updateNetworkDataToModel()
+{
+    DPRINT << ": IN"; 
+    
+    m_networkHandler->logCurrentInfo();
+    
+    // Read network handler data to model data
+    m_modelData.setHomeZoneIndicatorType(
+        m_networkHandler->homeZoneIndicatorType());
+    m_modelData.setHomeZoneTextTag(m_networkHandler->homeZoneTextTag()); 
+    m_modelData.setMcnName(m_networkHandler->mcnName()); 
+    m_modelData.setMcnIndicatorType(m_networkHandler->mcnIndicatorType());
+    
+    emit modelChanged();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+   InfoWidgetEngine::updateSatDataToModel
+ */
+void InfoWidgetEngine::updateSatDataToModel()
+{
+    DPRINT;
+}
+
+/*!
+   InfoWidgetEngine::updateLineDataToModel
+ */
+void InfoWidgetEngine::updateLineDataToModel()
+{
+    DPRINT;
+}
+
+/*!
+   InfoWidgetEngine::handleNetworkError
+ */
+void InfoWidgetEngine::handleNetworkError(int operation, int errorCode)
+{
+    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
+}
+
+/*!
+   InfoWidgetEngine::handleSatError
+ */
+void InfoWidgetEngine::handleSatError(int operation, int errorCode)
+{
+    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
+}
+
+/*!
+   InfoWidgetEngine::handleLineError
+ */
+void InfoWidgetEngine::handleLineError(int operation, int errorCode)
+{
+    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
+}
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/src/infowidgetengine_s.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "infowidgetengine.h"
+#include "infowidgetlogging.h"
+
+/*!
+   InfoWidgetEngine::InfoWidgetEngine
+ */
+InfoWidgetEngine::InfoWidgetEngine(QObject *parent): 
+    QObject(parent)
+{
+    DPRINT;
+}
+
+/*!
+   InfoWidgetEngine::~InfoWidgetEngine
+ */
+InfoWidgetEngine::~InfoWidgetEngine()
+{
+DPRINT;
+}    
+
+/*!
+   InfoWidgetEngine::logModelData
+   
+   Utility function for logging model data
+ */
+void InfoWidgetEngine::logModelData()
+{
+    DPRINT << ": mcn name: " << m_modelData.mcnName(); 
+    DPRINT << ": service provider name: " << m_modelData.serviceProviderName();
+    DPRINT << ": homezone text tag: " << m_modelData.homeZoneTextTag();
+    
+    DPRINT << ": mcn type: " << m_modelData.mcnIndicatorType(); 
+    DPRINT << ": active line: " << m_modelData.activeLine(); 
+    DPRINT << ": homezone indicator type: " << m_modelData.homeZoneIndicatorType(); 
+} 
+
+/*!
+   InfoWidgetEngine::modelData
+   
+   Getter for model data. 
+ */
+const InfoWidgetEngine::ModelData& InfoWidgetEngine::modelData() const
+{
+    DPRINT;
+    return m_modelData; 
+}
+
+/*!
+   InfoWidgetEngine::setModelData
+   
+   Enables setting model initial data to engine.   
+ */
+void InfoWidgetEngine::setModelData(const InfoWidgetEngine::ModelData &data)
+{
+    DPRINT; 
+    m_modelData = data;
+}
+
+/*!
+   InfoWidgetEngine::updateNetworkDataToModel
+ */
+void InfoWidgetEngine::updateNetworkDataToModel()
+{
+    DPRINT;
+}
+
+/*!
+   InfoWidgetEngine::updateSatDataToModel
+ */
+void InfoWidgetEngine::updateSatDataToModel()
+{
+    DPRINT;
+}
+
+/*!
+   InfoWidgetEngine::updateLineDataToModel
+ */
+void InfoWidgetEngine::updateLineDataToModel()
+{
+    DPRINT;
+}
+
+
+void InfoWidgetEngine::handleNetworkError(int operation, int errorCode)
+{
+    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
+}
+
+void InfoWidgetEngine::handleSatError(int operation, int errorCode)
+{
+    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
+}
+
+void InfoWidgetEngine::handleLineError(int operation, int errorCode)
+{
+    DPRINT << ": operation: " << operation << " error code: " << errorCode; 
+}
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/src/infowidgetlayoutmanager.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,494 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "infowidgetlayoutmanager.h"
+#include <QtGlobal>
+#include <QObject>
+#include <QGraphicsWidget>
+#include <hbdocumentloader.h>
+#include <hblabel.h>
+#include <hbmarqueeItem.h>
+#include <hbiconitem.h> 
+#include <hbpushbutton.h>
+#include "infowidgetlogging.h"
+
+
+const char INFOWIDGET_DOCML_FILE[] = ":/resource/infowidget.docml";
+
+// Docml widget name mappings 
+const char LAYOUT_PREFIX_INFO_DISPLAY[] = "id:";
+const char LAYOUT_PREFIX_SETTINGS_DISPLAY[] = "sd:";
+const char LAYOUT_NAME_CONTENT[] = "content";
+const char LAYOUT_NAME_MCNMARQUEEITEM[] = "mcnMarqueeItem";
+const char LAYOUT_NAME_MCNLABEL[] = "mcnLabel";
+const char LAYOUT_NAME_HOMEZONELABEL[] = "homeZoneLabel";
+const char LAYOUT_NAME_ACTIVELINELABEL[] = "activeLineLabel";
+const char LAYOUT_NAME_SATTEXTLABEL[] = "satTextLabel";
+const char LAYOUT_NAME_HOMEZONEICON[] = "homeZoneIcon";
+const char LAYOUT_NAME_MCNICON[] = "mcnIcon";
+const char LAYOUT_NAME_ACTIVELINEICON[] = "activeLineIcon";
+const char LAYOUT_NAME_SATTEXTICON[] = "satTextIcon";
+const char LAYOUT_NAME_HOMEZONECHECKBOX[] = "homeZoneCheckBox";
+const char LAYOUT_NAME_MCNCHECKBOX[] = "mcnCheckBox";
+const char LAYOUT_NAME_ACTIVELINECHECKBOX[] = "activeLineCheckBox";
+const char LAYOUT_NAME_SATTEXTCHECKBOX[] = "satTextCheckBox";
+const char LAYOUT_NAME_OKBUTTON[] = "okButton";
+const char LAYOUT_NAME_CONTAINER[] = "container";
+const char LAYOUT_NAME_SETTINGSCONTAINER[] = "settingsContainer";
+
+
+/*!
+  InfoWidgetDocumentLoader::InfoWidgetDocumentLoader()
+ */
+InfoWidgetDocumentLoader::InfoWidgetDocumentLoader()
+{
+}
+
+/*!
+  InfoWidgetDocumentLoader::createObject()
+ */
+QObject *InfoWidgetDocumentLoader::createObject(
+    const QString &type,
+    const QString &name)
+{
+    DPRINT << ": IN";
+    
+    DPRINT << ": type: "<< type;
+    DPRINT << ": name: "<< name;
+    
+    if ( type == HbMarqueeItem::staticMetaObject.className() ) {
+        DPRINT << ": HbMarqueeItem";
+        QObject *object = new HbMarqueeItem;
+        object->setObjectName(name);
+        DPRINT << ": HbMarqueeitem found, OUT";
+        return object;
+    }
+
+    DPRINT << ": OUT";
+    
+    return HbDocumentLoader::createObject(type, name);
+}
+
+/*!
+ */
+InfoWidgetLayoutManager::InfoWidgetLayoutManager(QObject *parent) 
+: QObject(parent), 
+  m_documentLoader(NULL), 
+  m_displayRole(InfoDisplay),
+  m_layoutRows(0)
+{
+    DPRINT << ": IN"; 
+    
+    // Fill supported layout item roles for info display
+    QList<LayoutItemRole> displayWidgetRoles = widgetRoles(InfoDisplay);
+    
+    // Try to load all widgets in list by widget role 
+    bool loadResult = loadWidgets(InfoDisplay, 
+            displayWidgetRoles,
+            m_infoDisplayWidgets); 
+    DPRINT << ": info display widget load result: " << loadResult;
+  
+    // Fill supported layout item roles for settings display
+    displayWidgetRoles = widgetRoles(SettingsDisplay);
+  
+    // Try to load all widgets in list by widget role 
+    loadResult = loadWidgets(SettingsDisplay, 
+            displayWidgetRoles,
+            m_settingsDisplayWidgets); 
+    DPRINT << ": settings display widget load result: " << loadResult;
+
+    DPRINT << ": OUT";
+}
+
+/*!
+ */
+InfoWidgetLayoutManager::~InfoWidgetLayoutManager()
+{
+    DPRINT << ": IN";
+    
+    if (m_documentLoader) { 
+        delete m_documentLoader;
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+ */
+InfoWidgetLayoutManager::DisplayRole InfoWidgetLayoutManager::currentDisplayRole() 
+{
+    DPRINT; 
+    return m_displayRole;
+} 
+
+/*!
+ */
+QList<InfoWidgetLayoutManager::LayoutItemRole> InfoWidgetLayoutManager::currentWidgetRoles() 
+{
+    DPRINT; 
+    return m_widgets.keys(); 
+} 
+
+int InfoWidgetLayoutManager::layoutRows() const 
+{
+    DPRINT; 
+    return m_layoutRows;
+} 
+
+void InfoWidgetLayoutManager::setLayoutRows(int rows) 
+{
+    DPRINT; 
+    m_layoutRows = rows; 
+} 
+
+/*!
+   InfoWidgetLayoutManager::contentWidget()
+*/
+QGraphicsWidget* InfoWidgetLayoutManager::contentWidget()
+{
+    DPRINT; 
+    return getWidget(RoleContent); 
+}
+
+/*!
+   InfoWidgetLayoutManager::getWidget();
+*/
+QGraphicsWidget* InfoWidgetLayoutManager::getWidget(LayoutItemRole itemRole)
+{
+    DPRINT << ": item role: " << itemRole;
+    
+    QGraphicsWidget *widget = m_widgets.value(itemRole); 
+    if (widget) {
+        DPRINT << ": widget: " << widget;
+    }
+    
+    return widget; 
+}
+
+/*!
+   InfoWidgetLayoutManager::hideWidget();
+*/
+void InfoWidgetLayoutManager::hideWidget(LayoutItemRole itemRole)
+{
+    DPRINT << ": item role: " << itemRole;
+    
+    QGraphicsWidget *widget = m_widgets.value(itemRole); 
+    if (widget) {
+        DPRINT << ": hiding widget: " << widget;
+        widget->hide(); 
+    }
+}
+
+/*!
+   InfoWidgetLayoutManager::hideAll();
+*/
+void InfoWidgetLayoutManager::hideAll()
+{
+    DPRINT << ": IN";
+    
+    QMapIterator<LayoutItemRole, QGraphicsWidget *> iterator(m_widgets);
+    while (iterator.hasNext()) {
+        iterator.next();
+        QGraphicsWidget *widget = iterator.value(); 
+        if (widget) {
+            widget->hide(); 
+        }
+    }
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+   InfoWidgetLayoutManager::showAll();
+*/
+void InfoWidgetLayoutManager::showAll()
+{
+    DPRINT << ": IN";
+    
+    QMapIterator<LayoutItemRole, QGraphicsWidget *> iterator(m_widgets);
+    while (iterator.hasNext()) {
+        iterator.next();
+        QGraphicsWidget *widget = iterator.value(); 
+        if (widget) {
+            widget->show(); 
+        }
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+    InfoWidgetLayoutManager::layoutInfoDisplay()
+*/
+QGraphicsLayout* InfoWidgetLayoutManager::layoutInfoDisplay()
+{   
+    DPRINT << ": IN";
+
+    hideAll(); 
+
+    m_displayRole = InfoDisplay;
+    m_widgets = m_infoDisplayWidgets; 
+           
+    QGraphicsLayout *activeLayout(NULL); 
+    DPRINT << ": getting content item and using its layout for activeLayout";
+    QGraphicsWidget *content = getWidget(RoleContent); 
+    if (content) {
+        DPRINT << ": content found, getting layout";
+        activeLayout = content->layout(); 
+    }
+
+    DPRINT  << ": OUT";
+    return activeLayout; 
+}
+
+/*!
+    InfoWidgetLayoutManager::layoutSettingsDisplay()
+*/
+QGraphicsLayout* InfoWidgetLayoutManager::layoutSettingsDisplay()
+{   
+    DPRINT << ": IN";
+    
+    hideAll(); 
+    
+    m_displayRole = SettingsDisplay;
+    m_widgets = m_settingsDisplayWidgets; 
+    
+    QGraphicsLayout *activeLayout(NULL); 
+    DPRINT << ": getting content item and using its layout for activeLayout";
+    QGraphicsWidget *content = getWidget(RoleContent); 
+    if (content) {
+        DPRINT << ": content found, getting layout";
+        activeLayout = content->layout(); 
+    }
+
+    DPRINT  << ": OUT";
+    return activeLayout; 
+}
+
+/*!
+    InfoWidgetLayoutManager::loadWidgets()
+*/
+bool InfoWidgetLayoutManager::loadWidgets(const DisplayRole displayRole, 
+        const QList<LayoutItemRole> &displayWidgets,
+        QMap<LayoutItemRole, QGraphicsWidget *> &widgetMap)
+{
+    DPRINT << ": IN";
+    bool loadResult(true); 
+
+    // Cleanup previously loaded content in case of any data  
+    widgetMap.clear(); 
+    
+    if (!m_documentLoader) {
+        m_documentLoader = new InfoWidgetDocumentLoader;
+    }
+    
+    Q_ASSERT(m_documentLoader); 
+    
+    bool loaded = false;
+    m_documentLoader->load(INFOWIDGET_DOCML_FILE, &loaded);
+        
+    if (!loaded) {
+        qWarning() << "Unable to load .docml:  " << INFOWIDGET_DOCML_FILE;
+    }
+    else {
+        DPRINT << ": document " << INFOWIDGET_DOCML_FILE << " loaded successfully"; 
+        
+        QGraphicsWidget *widget(NULL);
+        LayoutItemRole currentWidgetRole;
+        bool allWidgetsLoaded(true); 
+        
+        foreach (currentWidgetRole, displayWidgets) {
+            DPRINT << ": iterating displayWidgets, current role: " << static_cast<int>(currentWidgetRole);
+            
+            widget = loadWidget(*m_documentLoader, displayRole, currentWidgetRole);
+               if (widget) {
+                   DPRINT << ": widget found, inserting to widget map";
+                   widgetMap.insert(currentWidgetRole, widget);
+                   widget = NULL;
+               } else {
+                   allWidgetsLoaded = false; 
+                   DPRINT << ": ERROR, widget not found!";
+               }
+        }
+        
+        DPRINT << ": allWidgetsLoaded: " << allWidgetsLoaded;
+                
+        int widgetCount = widgetMap.count(); 
+        DPRINT << ": loaded widgets count: " << widgetCount;
+        if (widgetCount == displayWidgets.count()) {
+            DPRINT << ": all widgets loaded";
+            loadResult = true;
+            } else {
+                DPRINT << ": error, all widgets were not loaded";
+                loadResult = false;
+            }        
+    }
+        
+    DPRINT << ": OUT";
+    return loadResult; 
+}
+
+/*!
+    InfoWidgetLayoutManager::loadWidget()
+    
+    Initialize loader with corresponding document file before calling this single widget loader utility   
+*/
+QGraphicsWidget* InfoWidgetLayoutManager::loadWidget(InfoWidgetDocumentLoader &loader, 
+        DisplayRole displayRole, 
+        LayoutItemRole widgetRole)
+{
+    DPRINT << ": IN";
+     
+    QString widgetPrefix; 
+    if (displayRole == InfoDisplay) {
+        widgetPrefix = LAYOUT_PREFIX_INFO_DISPLAY;
+    } else if (displayRole == SettingsDisplay) {
+        widgetPrefix = LAYOUT_PREFIX_SETTINGS_DISPLAY;
+    }
+        
+    QGraphicsWidget *widget(NULL);
+    QString widgetName = widgetPrefix;
+    
+    switch (widgetRole) 
+        {
+        case RoleContent: 
+            widgetName.append(LAYOUT_NAME_CONTENT);
+        break;     
+        case RoleMcnMarqueeItem: 
+            widgetName.append(LAYOUT_NAME_MCNMARQUEEITEM);
+        break; 
+        case RoleHomeZoneLabel: 
+            widgetName.append(LAYOUT_NAME_HOMEZONELABEL);
+        break;
+        case RoleMcnLabel: 
+            widgetName.append(LAYOUT_NAME_MCNLABEL);
+        break;
+        case RoleActiveLineLabel: 
+            widgetName.append(LAYOUT_NAME_ACTIVELINELABEL);
+        break; 
+        case RoleSatTextLabel: 
+            widgetName.append(LAYOUT_NAME_SATTEXTLABEL);
+        break; 
+        case RoleHomeZoneIcon: 
+            widgetName.append(LAYOUT_NAME_HOMEZONEICON);
+        break; 
+        case RoleMcnIcon: 
+            widgetName.append(LAYOUT_NAME_MCNICON);
+        break; 
+        case RoleActiveLineIcon: 
+            widgetName.append(LAYOUT_NAME_ACTIVELINEICON);
+        break; 
+        case RoleSatTextIcon: 
+            widgetName.append(LAYOUT_NAME_SATTEXTICON);
+        break;
+        case RoleHomeZoneCheckBox: 
+            widgetName.append(LAYOUT_NAME_HOMEZONECHECKBOX);
+        break; 
+        case RoleMcnCheckBox: 
+            widgetName.append(LAYOUT_NAME_MCNCHECKBOX);
+        break; 
+        case RoleActiveLineCheckBox: 
+            widgetName.append(LAYOUT_NAME_ACTIVELINECHECKBOX);
+        break; 
+        case RoleSatTextCheckBox: 
+            widgetName.append(LAYOUT_NAME_SATTEXTCHECKBOX);
+        break; 
+        case RoleOkButton: 
+            widgetName.append(LAYOUT_NAME_OKBUTTON);
+        break; 
+        case RoleContainer: 
+            widgetName.append(LAYOUT_NAME_CONTAINER);
+        break; 
+        case RoleSettingsContainer: 
+            widgetName.append(LAYOUT_NAME_SETTINGSCONTAINER);
+        break; 
+
+        case RoleUndefined: // Fall through 
+        default: 
+            break; 
+        }
+    
+    widget = qobject_cast<QGraphicsWidget *>(loader.findWidget(widgetName));
+    
+    if (widget) {
+        DPRINT << ": widget found: " << widgetName;
+    } else {
+        DPRINT << ": ERROR, widget not found!";
+    }
+           
+    DPRINT << ": OUT";
+    return widget; 
+}
+
+/*!
+    InfoWidgetLayoutManager::widgetRoles()
+    
+    Returns supported widget roles for specific display
+*/
+const QList<InfoWidgetLayoutManager::LayoutItemRole> InfoWidgetLayoutManager::widgetRoles(
+        DisplayRole displayRole) const
+{
+    DPRINT << ": IN";
+    
+    QList<LayoutItemRole> widgetRoles; 
+    
+    switch (displayRole) {
+        case SettingsDisplay: 
+            // Fill supported layout item roles for settings display
+            widgetRoles.append(RoleContent); 
+            widgetRoles.append(RoleHomeZoneLabel);
+            widgetRoles.append(RoleMcnLabel); 
+            widgetRoles.append(RoleActiveLineLabel);
+            widgetRoles.append(RoleSatTextLabel);
+            widgetRoles.append(RoleHomeZoneIcon);
+            widgetRoles.append(RoleMcnIcon);
+            widgetRoles.append(RoleActiveLineIcon);
+            widgetRoles.append(RoleSatTextIcon);
+            widgetRoles.append(RoleHomeZoneCheckBox);
+            widgetRoles.append(RoleMcnCheckBox);
+            widgetRoles.append(RoleActiveLineCheckBox);
+            widgetRoles.append(RoleSatTextCheckBox);
+            widgetRoles.append(RoleOkButton);
+            widgetRoles.append(RoleSettingsContainer); 
+            break;
+        case InfoDisplay: 
+            // Fill supported layout item roles for info display
+            widgetRoles.append(RoleContent); 
+            widgetRoles.append(RoleHomeZoneLabel);
+            widgetRoles.append(RoleMcnMarqueeItem);
+            widgetRoles.append(RoleActiveLineLabel);
+            widgetRoles.append(RoleSatTextLabel);
+            widgetRoles.append(RoleHomeZoneIcon);
+            widgetRoles.append(RoleMcnIcon);
+            widgetRoles.append(RoleActiveLineIcon);
+            widgetRoles.append(RoleSatTextIcon);
+            widgetRoles.append(RoleSettingsContainer); 
+            break;
+            
+        default: 
+            break; 
+    }
+    
+    DPRINT << ": widgetRoles.count() : " << widgetRoles.count();
+    DPRINT << ": OUT";
+    return widgetRoles; 
+}    
+    
+// End of File. 
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/src/infowidgetlinehandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "infowidgetlinehandler.h"
+#include "infowidgetlogging.h"
+
+
+/*!
+ */
+InfoWidgetLineHandler::InfoWidgetLineHandler(QObject *parent):
+    QObject(parent), 
+    m_activeLine(1)
+{
+    DPRINT << ": IN";
+    DPRINT << ": OUT";
+}
+
+/*!
+ */
+InfoWidgetLineHandler::~InfoWidgetLineHandler()
+{
+    DPRINT << ": IN";
+    DPRINT << ": OUT";
+}    
+
+/*!
+ */
+void InfoWidgetLineHandler::logCurrentInfo()
+{
+    DPRINT << ": IN"; 
+    DPRINT << ": OUT";
+    
+} 
+
+/*!
+ */
+int InfoWidgetLineHandler::activeLine() const
+{
+    DPRINT << ": active line: " << m_activeLine;
+    return m_activeLine; 
+}
+    
+/*!
+ */
+void InfoWidgetLineHandler::setActiveLine(int line)
+{
+    DPRINT << ": active line: " << line; 
+    m_activeLine = line; 
+}
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/src/infowidgetnetworkhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <networkhandlingproxy.h>
+#include <cnwsession.h>
+#include "infowidgetnetworkhandler.h"
+#include "infowidgetlogging.h"
+
+
+/*!
+ * InfoWidgetNetworkHandler::InfoWidgetNetworkHandler
+ */
+InfoWidgetNetworkHandler::InfoWidgetNetworkHandler(QObject *parent) 
+    : 
+    QObject(parent), 
+    m_nwSession(0)
+{
+    DPRINT << ": IN";
+    
+    CNWSession *session = 0;
+    QT_TRAP_THROWING(session = CreateL(*this, m_nwInfo));
+    m_nwSession.reset(session);
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+ * InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler
+ */
+InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler()
+{
+    DPRINT << ": IN";
+    
+    DPRINT << ": OUT";
+}    
+
+/*!
+ * InfoWidgetNetworkHandler::homeZoneTextTag
+ */
+QString InfoWidgetNetworkHandler::homeZoneTextTag() const 
+{
+    DPRINT;
+    QString qBuf;
+    qBuf = QString((QChar*)m_nwInfo.iViagTextTag.Ptr(), 
+        m_nwInfo.iViagTextTag.Length());
+    DPRINT << ": homeZoneTextTag: " << qBuf;
+    
+    return qBuf; 
+}
+
+/*!
+ * InfoWidgetNetworkHandler::homeZoneIndicatorType
+ */
+int InfoWidgetNetworkHandler::homeZoneIndicatorType() const 
+{
+    DPRINT;
+    int indicatorType = m_nwInfo.iViagIndicatorType;
+    DPRINT << ": homeZoneIndicatorType: " << indicatorType;
+    
+    return indicatorType; 
+}
+
+/*!
+ * InfoWidgetNetworkHandler::mcnName
+ */
+QString InfoWidgetNetworkHandler::mcnName() const 
+{
+    DPRINT;
+    QString qBuf;
+    qBuf = QString((QChar*)m_nwInfo.iMCNName.Ptr(),
+        m_nwInfo.iMCNName.Length());
+    DPRINT << ": mcnName: " << qBuf;
+    
+    return qBuf; 
+}
+
+/*!
+ * InfoWidgetNetworkHandler::mcnIndicatorType
+ */
+int InfoWidgetNetworkHandler::mcnIndicatorType() const 
+{
+    DPRINT;
+    int indicatorType = m_nwInfo.iMCNIndicatorType;
+    DPRINT << ": mcnIndicatorType: " << indicatorType;
+    
+    return indicatorType; 
+}
+
+/*!
+ * InfoWidgetNetworkHandler::logCurrentInfo
+ */
+void InfoWidgetNetworkHandler::logCurrentInfo()
+{
+    DPRINT << ": IN"; 
+    
+    DPRINT << "iRegistrationStatus " << m_nwInfo.iRegistrationStatus;
+    DPRINT << "iNetworkMode " << m_nwInfo.iNetworkMode;      
+    DPRINT << "iStatus " << m_nwInfo.iStatus;           
+    QString qBuf; 
+    
+    qBuf = QString((QChar*)m_nwInfo.iCountryCode.Ptr(),
+        m_nwInfo.iCountryCode.Length());
+    DPRINT << "iCountryCode " << qBuf;       
+    
+    qBuf = QString((QChar*)m_nwInfo.iNetworkId.Ptr(),
+        m_nwInfo.iNetworkId.Length());
+    DPRINT << "iNetworkId " << qBuf; 
+    
+    qBuf = QString((QChar*)m_nwInfo.iDisplayTag.Ptr(),
+        m_nwInfo.iDisplayTag.Length());
+    DPRINT << "iDisplayTag " << qBuf;
+    
+    qBuf = QString((QChar*)m_nwInfo.iShortName.Ptr(),
+        m_nwInfo.iShortName.Length());
+    DPRINT << "iShortName " << qBuf;       
+    
+    qBuf = QString((QChar*)m_nwInfo.iLongName.Ptr(),
+        m_nwInfo.iLongName.Length());
+    DPRINT << "iLongName " << qBuf;
+    
+    DPRINT << "iViagIndicatorType " << m_nwInfo.iViagIndicatorType; 
+
+    qBuf = QString((QChar*)m_nwInfo.iViagTextTag.Ptr(),
+        m_nwInfo.iViagTextTag.Length());
+    DPRINT << "iViagTextTag " << qBuf;
+    
+    DPRINT << "iMCNIndicatorType " << m_nwInfo.iMCNIndicatorType;  
+    
+    qBuf = QString((QChar*)m_nwInfo.iMCNName.Ptr(),
+        m_nwInfo.iMCNName.Length());
+    DPRINT << "iMCNName " << qBuf;
+    
+    qBuf = QString((QChar*)m_nwInfo.iSPName.Ptr(),m_nwInfo.iSPName.Length());
+    DPRINT << "iSPName " << qBuf;
+    
+    DPRINT << "iServiceProviderNameDisplayReq " 
+        << m_nwInfo.iServiceProviderNameDisplayReq;
+    
+    qBuf = QString((QChar*)m_nwInfo.iNPName.Ptr(), m_nwInfo.iNPName.Length());
+    DPRINT << "iNPName " << qBuf;
+    
+    qBuf = QString((QChar*)m_nwInfo.iOperatorNameInfo.iName.Ptr(),
+        m_nwInfo.iOperatorNameInfo.iName.Length());
+    DPRINT << "iOperatorNameInfo iName" << qBuf;
+    DPRINT << "iOperatorNameInfo iType" << m_nwInfo.iOperatorNameInfo.iType;
+    
+    DPRINT << "iNoServerMode " << m_nwInfo.iNoServerMode;
+    
+    DPRINT << "iVoicePrivacyStatus " << m_nwInfo.iVoicePrivacyStatus;
+    
+    qBuf = QString((QChar*)m_nwInfo.iPLMNField.Ptr(),
+        m_nwInfo.iPLMNField.Length());
+    DPRINT << "iPLMNField " << qBuf;                    
+    
+    DPRINT << ": OUT";
+} 
+
+/*!
+ * InfoWidgetNetworkHandler::HandleNetworkMessage
+ */
+void InfoWidgetNetworkHandler::HandleNetworkMessage( 
+    const TNWMessages aMessage )
+{   
+    DPRINT << ": message: " << aMessage;
+    
+    bool acceptedMessage = false;
+    switch (aMessage) {
+        case ENWMessageCurrentCellInfoMessage:
+            acceptedMessage = true;
+            break;
+        default:
+            // not interesting message, filter out
+            DPRINT << ": message filtered out";
+            acceptedMessage = false;
+    }
+    
+    if (acceptedMessage) {
+        int result = 0;
+        QT_TRYCATCH_ERROR(result, emit networkDataChanged());
+        if (0 != result) {
+            DPRINT << ": Exception occured while emitting signal:" << result;
+        }
+    }
+}
+
+/*!
+ * InfoWidgetNetworkHandler::HandleNetworkError
+ */
+void InfoWidgetNetworkHandler::HandleNetworkError( 
+    const TNWOperation aOperation, 
+    TInt aErrorCode )
+{
+    DPRINT << ": operation: " << aOperation <<  
+        " error code: " << aErrorCode;
+    
+    int result = 0;
+    QT_TRYCATCH_ERROR(result, emit networkError( 
+        static_cast<int>(aOperation), static_cast<int>(aErrorCode)));
+    if (0 != result) {
+        DPRINT << ": Exception occured while emitting signal:" << result;
+    }
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/src/infowidgetpreferences.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "infowidgetpreferences.h"
+#include "infowidgetlogging.h"
+
+
+/*!
+    InfoWidgetPreferences::InfoWidgetPreferences() 
+*/
+InfoWidgetPreferences::InfoWidgetPreferences(QObject *parent): 
+    QObject(parent)
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidgetPreferences::~InfoWidgetPreferences() 
+*/
+InfoWidgetPreferences::~InfoWidgetPreferences()
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidgetPreferences::loadPreferences() 
+*/
+void InfoWidgetPreferences::loadPreferences()
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidgetPreferences::storePreferences() 
+*/
+void InfoWidgetPreferences::storePreferences()
+{
+    DPRINT;
+}
+
+/*!
+    InfoWidgetPreferences::preference() 
+*/
+QString InfoWidgetPreferences::preference(Option preferenceId) const
+{
+    DPRINT << ": preference id: " << static_cast<int>(preferenceId); 
+    
+    QString preferenceString;
+    if (m_options.testFlag(preferenceId)) {
+        preferenceString = DISPLAY_SETTING_ON; 
+    } else {
+        preferenceString = DISPLAY_SETTING_OFF;  
+    } 
+    
+    return preferenceString;
+}
+
+/*!
+    InfoWidgetPreferences::setPreference() 
+*/
+void InfoWidgetPreferences::setPreference(Option preferenceId, 
+    const QString& preferenceString)
+{
+    DPRINT << ": preference id: " << static_cast<int>(preferenceId);
+    DPRINT << ": preference string: " << preferenceString; 
+    DPRINT << ": initial options: " << m_options;
+    
+    if (preferenceString.compare(DISPLAY_SETTING_ON) == 0) {
+        m_options |= preferenceId; 
+    } else {
+        m_options &= ~preferenceId; 
+    }
+    
+    DPRINT << ": modified options: " << m_options;
+}
+
+/*!
+    InfoWidgetPreferences::visibleItemCount() 
+*/
+int InfoWidgetPreferences::visibleItemCount() 
+{
+    DPRINT << ": IN";
+    
+    int visibleItems = 0;
+    if (m_options.testFlag(DisplayHomeZone)){
+        visibleItems++; 
+    }
+    if (m_options.testFlag(DisplayMcn)){
+        visibleItems++; 
+    }
+    if (m_options.testFlag(DisplayActiveLine)){
+        visibleItems++; 
+    }
+    if (m_options.testFlag(DisplaySatText)){
+        visibleItems++; 
+    }
+    
+    DPRINT << ": visible item count: " << visibleItems;
+    return visibleItems; 
+}
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/src/infowidgetpreferences_s.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "infowidgetpreferences.h"
+#include "infowidgetlogging.h"
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+InfoWidgetPreferences::InfoWidgetPreferences(IHsWidgetPreferenceService &preferenceService, 
+    QObject* parent)
+    : QObject(parent)
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+
+    m_options = InfoWidgetPreferences::DisplayActiveLine|
+            InfoWidgetPreferences::DisplayMcn|
+            InfoWidgetPreferences::DisplaySatText|
+            InfoWidgetPreferences::DisplayHomeZone;
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+InfoWidgetPreferences::~InfoWidgetPreferences()
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void InfoWidgetPreferences::loadPreferences()
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void InfoWidgetPreferences::storePreferences()
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+}
+
+
+/*!
+    InfoWidgetPreferences::preference() 
+*/
+QString InfoWidgetPreferences::preference(Option preferenceId)
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+    DPRINT << ": preference id: " << static_cast<int>(preferenceId); 
+    
+    QString preferenceString;
+    if (m_options.testFlag(preferenceId)) {
+        preferenceString = DISPLAY_SETTING_ON; 
+    } else {
+        preferenceString = DISPLAY_SETTING_OFF;  
+    } 
+    
+    return preferenceString; 
+}
+
+/*!
+    InfoWidgetPreferences::setPreference() 
+*/
+void InfoWidgetPreferences::setPreference(Option preferenceId, 
+        QString preferenceString)
+{
+    DPRINT << "DUMMY IMPLEMENTATION";
+    DPRINT << ": preference id: " << static_cast<int>(preferenceId);
+    DPRINT << ": preference string: " << preferenceString; 
+
+    DPRINT << ": initial options: " << m_options;
+    
+    if (preferenceString.compare(DISPLAY_SETTING_ON) == 0) {
+        m_options |= preferenceId; 
+    } else {
+        m_options &= ~preferenceId; 
+    }
+    
+    DPRINT << ": modified options: " << m_options;
+}
+
+// End of File.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidget/src/infowidgetsathandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+ *
+ */
+
+
+#include "infowidgetsathandler.h"
+#include "infowidgetlogging.h"
+
+
+/*!
+ */
+InfoWidgetSatHandler::InfoWidgetSatHandler(QObject *parent):
+    QObject(parent)
+{
+    DPRINT << ": IN";
+    
+    // ToDo: remove when SAT implemented / releasing 
+    DPRINT << ": setting DUMMY DATA to sat display text";
+    m_displayText = "SAT DISPLAY TEXT"; 
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+ */
+InfoWidgetSatHandler::~InfoWidgetSatHandler()
+{
+    DPRINT << ": IN";
+    DPRINT << ": OUT";
+}    
+
+/*!
+ */
+void InfoWidgetSatHandler::logCurrentInfo()
+{
+    DPRINT << ": IN"; 
+    DPRINT << ": OUT";
+    
+} 
+
+/*!
+ */
+const QString& InfoWidgetSatHandler::satDisplayText() const
+{
+    DPRINT << ": text: " << m_displayText; 
+    return m_displayText;
+}
+
+/*!
+ */
+void InfoWidgetSatHandler::setSatDisplayText(const QString& displayText)
+{
+    DPRINT << ": display text: " << displayText;
+    m_displayText = displayText;
+}
+
+// End of File. 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidgetprovider.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+HEADERS += ./inc/infowidgetprovider.h \
+           ./inc/infowidgetlogging.h \
+           ./infowidget/inc/infowidget.h \
+           ./infowidget/inc/infowidgetlayoutmanager.h \
+           ./infowidget/inc/infowidgetpreferences.h \
+           ./infowidget/inc/infowidgetengine.h 
+
+symbian: {
+    HEADERS += ./infowidget/inc/infowidgetnetworkhandler.h \
+               ./infowidget/inc/infowidgetsathandler.h \
+               ./infowidget/inc/infowidgetlinehandler.h
+} 
+           
+SOURCES += ./src/infowidgetprovider.cpp \
+            ./infowidget/src/infowidget.cpp \
+           ./infowidget/src/infowidgetlayoutmanager.cpp \
+           ./infowidget/src/infowidgetengine.cpp 
+                    
+symbian: {
+    SOURCES += ./infowidget/src/infowidgetpreferences.cpp \
+               ./infowidget/src/infowidgetnetworkhandler.cpp \
+               ./infowidget/src/infowidgetsathandler.cpp \
+               ./infowidget/src/infowidgetlinehandler.cpp 
+} else: { 
+    SOURCES += ./infowidget/src/infowidgetengine_s.cpp \
+               ./infowidget/src/infowidgetpreferences_s.cpp
+}
+
+defineTest(exportResources) {
+    symbian {
+        for(subdirs, 1) {
+            entries = $$files($$subdirs)
+            for(entry, entries) : BLD_INF_RULES.prj_exports += "./$$entry z:/$$replace(2, ^/,)/$$basename(entry)"
+        }
+        export ( BLD_INF_RULES.prj_exports)
+    }
+}
+
+symbian: plugin { # copy qtstub and manifest
+
+    pluginstub.sources = $${TARGET}.dll
+    pluginstub.path = $$PLUGIN_SUBDIR
+
+    DEPLOYMENT += pluginstub
+
+    qtplugins.path = $$PLUGIN_SUBDIR
+    qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
+
+    message(Remove "contains(MOBILITY, serviceframework)" after the QtSF refactorig is done!)
+        
+    !contains(MOBILITY, serviceframework):qtplugins.sources += resource/$${TARGET}.manifest
+    contains(MOBILITY, serviceframework):BLD_INF_RULES.prj_exports += "resource/$${TARGET}.s60xml z:$$qtplugins.path/$${TARGET}.xml"
+    
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidgetprovider.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+ 
+
+TEMPLATE = lib
+CONFIG += plugin hb svg mobility
+MOBILITY = serviceframework
+
+TRANSLATIONS = operator_widget.ts
+
+MOC_DIR = moc
+RCC_DIR = rcc
+
+symbian: {
+LIBS += -lhswidgetmodel \
+    -lnetworkhandling \
+    -lcbsclient \
+    -lcbsmcnclient \
+    -lxqsettingsmanager
+}
+   
+INCLUDEPATH += ./inc \
+    ./infowidget/inc 
+    
+symbian: { 
+    load(data_caging_paths)
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    TARGET.UID3 = 0x20029F28
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL \
+        -TCB
+    deploy.path = c:
+    
+    DEPLOYMENT += exportheaders  
+        
+    BLD_INF_RULES.prj_exports +=  \
+     "$${LITERAL_HASH}include <platform_paths.hrh>" \
+     "./rom/infowidgetprovider.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(infowidgetprovider.iby)" \
+	 "./rom/infowidgetprovider_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(infowidgetprovider_resources.iby)" 
+}
+win32: { 
+    INCLUDEPATH += ../../../../homescreensrv/homescreensrv_plat/hswidgetmodel_api
+    include(infowidgetprovider_installs_win32.pri)
+}
+RESOURCES = infowidgetprovider.qrc
+
+symbian: PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20029F28
+OUTPUT_DIR = ./bin
+SOURCE_DIR = ./inc
+OBJECTS_DIR = $$OUTPUT_DIR/tmp/$$TARGET
+DESTDIR = $$OUTPUT_DIR
+MOC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/moc
+RCC_DIR = $$OUTPUT_DIR/tmp/$$TARGET/rcc
+UI_DIR = $$OUTPUT_DIR/tmp/$$TARGET/ui
+LIBS += -L$$DESTDIR
+DEPENDPATH += . $$SOURCE_DIR
+INCLUDEPATH += . $$SOURCE_DIR
+INCLUDEPATH += $$MOC_DIR
+plugin: !isEmpty(PLUGIN_SUBDIR): DESTDIR = $$OUTPUT_DIR/$$PLUGIN_SUBDIR
+
+include(infowidgetprovider.pri)
+
+exportResources(./resource/*.manifest, $$PLUGIN_SUBDIR)
+exportResources(./resource/*.png, $$PLUGIN_SUBDIR)
+exportResources(./resource/*.svg, $$PLUGIN_SUBDIR)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidgetprovider.qrc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,12 @@
+<RCC>
+    <qresource prefix="/" >
+        <file>resource/infowidget.png</file>        
+        <file>resource/infowidget.docml</file>        
+        <file>resource/qgn_prop_network_2g.svg</file>
+        <file>resource/qgn_prop_pb_call.svg</file>
+        <file>resource/qgn_prop_pb_sim.svg</file>
+        <file>resource/qgn_stat_zone_home_uni.svg</file>
+    </qresource>
+</RCC>
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidgetprovider_hw.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,42 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"infowidgetprovider"},(0x20029F28),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; DEPLOYMENT
+"/epoc32/release/armv5/urel/infowidgetprovider.dll"    - "c:\sys\bin\infowidgetprovider.dll"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.qtplugin"  - "c:/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.qtplugin"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.manifest"  - "c:/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.manifest"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20029F28/infowidget.png"       - "c:/private/20022F35/import/widgetregistry/20029F28/infowidget.png"
+
+; Manual PKG post-rules from PRO files
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/infowidgetprovider_installs_win32.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+#
+# Release
+#
+
+r01.path = ../../../bin/release/hsresources/import/widgetregistry/20029F28
+r01.files = ./release/*.dll \
+            ./resource/*.manifest \
+            ./resource/*.png
+
+INSTALLS += r01
+
+#
+# Debug
+#
+
+d01.path = ../../../../bin/debug/hsresources/import/widgetregistry/20029F28
+d01.files = ./debug/*.dll \
+            ./resource/*.manifest \
+            ./resource/*.png
+
+INSTALLS += d01
Binary file phoneplugins/infowidgetprovider/resource/infowidget.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/resource/infowidgetprovider.manifest	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<widgetprovider>
+    <widget library="infowidgetprovider"
+            uri="infowidgetprovider"
+            title="Operator info"/>
+</widgetprovider>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/resource/infowidgetprovider.s60xml	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>infowidgetprovider</name>
+    <filepath>z:/private/20022F35/import/widgetregistry/20029F28/infowidgetprovider.qtplugin</filepath>
+    <description>Operator widget</description>
+    <interface>
+        <name>com.nokia.homescreen.widget</name>
+        <version>1.0</version>
+        <description>The Operator widget displays Operator menu</description>
+        <capabilities></capabilities>
+        <customproperty key="title">Operator</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/resource/infowidgetprovider.xml	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>infowidgetprovider</name>
+    <filepath>infowidgetprovider</filepath>
+    <description>Operator info widget.</description>
+    <interface>
+        <name>com.nokia.homescreen.widget</name>
+        <version>1.0</version>
+        <description>The info widget displays operator info.</description>
+        <capabilities></capabilities>
+        <customproperty key="title">Operator info widget</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/resource/qgn_prop_network_2g.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,13 @@
+<?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="16px" version="1.1" viewBox="0 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<polygon fill="#030303" fill-opacity="0.7" points="6.248,15.004 6.248,8.396 1.02,3.418 0.998,0 15,0   15,3.418 9.752,8.396 9.752,15.004 " stroke-opacity="0.7"/>
+<path d="M2.006,1v1.479l5.25,5.502L7.25,14h1.5l0.006-6.02l5.25-5.48V1H2.006z M7.256,5.85L4.053,2.5h3.203  V5.85z M8.756,5.85V2.5h3.303L8.756,5.85z" fill="url(#SVGID_1_)"/>
+<rect fill="none" height="16" width="16"/>
+<defs>
+<linearGradient gradientTransform="matrix(1 0 0 -1 0.1377 14.834)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="7.8682" x2="7.8682" y1="17.3789" y2="-1.5303">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#B2B2B2"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/resource/qgn_prop_pb_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,13 @@
+<?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="16px" version="1.1" viewBox="0 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="none" height="16" width="16"/>
+<path d="M9.402,0.102C5.703,2.756,3.136,5.486,0.096,9.423  c-0.053,0.323-0.581,2.854,1.544,5.083c0.422,0.32,1.041,0.957,2.242-0.053c0.42-0.573,1.636-2.156,2-2.666  c0.767-1.167,0.22-1.678-0.597-2.764C5.977,8.334,8.338,5.97,9.027,5.279c0.859,0.607,1.642,1.518,2.734,0.62  c0,0,2.547-1.925,2.775-2.089c1.062-1.219-0.043-2.187,0.025-2.125C12.234-0.574,9.521,0.086,9.402,0.102z" fill="#030303" fill-opacity="0.7" stroke-opacity="0.7"/>
+<path d="M13.271,1.917C12.3,1.238,11.16,0.859,9.811,1.051L9.809,1.053c-3.475,2.65-6.211,5.209-8.75,8.753  L1.057,9.809c-0.208,1.717,0.474,2.99,1.085,3.756c0.362,0.434,0.645,0.558,0.933,0.281l2.021-2.689  c0.139-0.174,0.273-0.401,0-0.674c0,0-0.671-0.674-1.008-1.684L8.8,4.082c1.013,0.335,1.685,1.009,1.685,1.009  c0.272,0.274,0.502,0.139,0.674,0c0,0,2.561-1.896,2.691-2.02C14.176,2.756,14.125,2.533,13.271,1.917z" fill="url(#SVGID_1_)"/>
+<defs>
+<linearGradient gradientTransform="matrix(1 0 0 -1 0.1377 14.834)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="7.3892" x2="7.3892" y1="9.834" y2="-13.1661">
+<stop offset="0" style="stop-color:#3687FF"/>
+<stop offset="1" style="stop-color:#051F7D"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/resource/qgn_prop_pb_sim.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,18 @@
+<?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="16px" version="1.1" viewBox="0 0 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<polygon fill="#030303" fill-opacity="0.7" points="16,14 0,14 0,5.588 3.586,2 16,2 " stroke-opacity="0.7"/>
+<polygon fill="none" points="16,16 0.008,16 0,0 15.992,0 "/>
+<linearGradient gradientTransform="matrix(1 0 0 -1 0.1377 14.834)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="7.8623" x2="7.8623" y1="9.4336" y2="0.2336">
+<stop offset="0" style="stop-color:#B2B2B2"/>
+<stop offset="1" style="stop-color:#666666"/>
+</linearGradient>
+<polygon fill="url(#SVGID_1_)" points="4,3 1,6.001 1,13 15,13 15,3 "/>
+<linearGradient gradientTransform="matrix(1 0 0 -1 0.1377 14.834)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="9.0293" x2="9.0293" y1="9.1592" y2="0.4069">
+<stop offset="0" style="stop-color:#FFE23D"/>
+<stop offset="0.2239" style="stop-color:#FAD337"/>
+<stop offset="0.6537" style="stop-color:#EFAB26"/>
+<stop offset="1" style="stop-color:#E48717"/>
+</linearGradient>
+<path d="M9.459,9.676h3.791V8.159H9.459V9.676z M12.666,6.001H9.459v1.575h3.791V6.584  C13.25,6.262,12.988,6.001,12.666,6.001z M5.084,6.584v0.992h3.791V6.001H5.667C5.344,6.001,5.084,6.262,5.084,6.584z M5.084,9.676  h3.791V8.159H5.084V9.676z M9.459,11.834h3.207c0.322,0,0.584-0.262,0.584-0.584v-0.991H9.459V11.834z M5.084,11.25  c0,0.322,0.26,0.584,0.582,0.584h3.209v-1.575H5.084V11.25z" fill="url(#SVGID_2_)"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/resource/qgn_stat_zone_home_uni.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,6 @@
+<?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="8" version="1.1" viewBox="0 0 12 8" width="12" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<path d="M6.364,0.764L0.648,3.34l0.016,0.008L0.658,3.35h0.001L0.648,4.221l0.974-0.24v3.25c0.849,0.013,1.593,0,2.442,0V5.143  h2.342V7.23c1.601,0,3.124,0,4.62,0V3.994l0.973,0.246V3.367H12L6.364,0.764z"/>
+<rect fill="none" height="8" width="12"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/rom/infowidgetprovider.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef __INFOWIDGETPROVIDER_IBY__
+#define __INFOWIDGETPROVIDER_IBY__
+
+file=ABI_DIR\BUILD_DIR\infowidgetprovider.dll                                               SHARED_LIB_DIR\infowidgetprovider.dll
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetprovider.qtplugin           private\20022f35\import\widgetregistry\20029F28\infowidgetprovider.qtplugin
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetprovider.manifest           private\20022f35\import\widgetregistry\20029F28\infowidgetprovider.manifest
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidget.png                        private\20022f35\import\widgetregistry\20029F28\infowidget.png
+data=ZPRIVATE\20022f35\import\widgetregistry\20029F28\infowidgetprovider.xml                private\20022f35\import\widgetregistry\20029F28\infowidgetprovider.xml
+
+
+#endif //__INFOWIDGETPROVIDER_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/rom/infowidgetprovider_resources.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef __INFOWIDGETPROVIDER_RESOURCE_IBY__
+#define __INFOWIDGETPROVIDER_RESOURCE_IBY__
+
+#include <data_caging_paths_for_iby.hrh>
+
+data=DATAZ_\QT_TRANSLATIONS_DIR\operator_widget.qm QT_TRANSLATIONS_DIR\operator_widget.qm 
+
+#endif 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/src/infowidgetprovider.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  
+ *
+ */
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "infowidgetprovider.h"
+#include "infowidget.h"
+
+
+/*!
+  \class InfoWidgetProvider
+  
+  \brief Homescreen Widget for providing operator information   
+*/
+QObject *InfoWidgetProvider::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                             QServiceContext *context,
+                                             QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.homescreen.widget")) {
+        return new InfoWidget();
+    } else {
+        return 0;
+    }
+}
+
+
+Q_EXPORT_PLUGIN2(Infowidgetprovider, InfoWidgetProvider)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/common/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/mocks/mock_infowidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,399 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "infowidget.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// InfoWidget::InfoWidget
+// -----------------------------------------------------------------------------
+//
+InfoWidget::InfoWidget( 
+        QGraphicsItem * parent,
+        Qt::WindowFlags flags )
+    //:
+    //HsWidget( /*parent, flags*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::~InfoWidget
+// -----------------------------------------------------------------------------
+//
+InfoWidget::~InfoWidget(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::boundingRect
+// -----------------------------------------------------------------------------
+//
+QRectF InfoWidget::boundingRect(  ) const
+    {
+    SMC_MOCK_METHOD0( QRectF )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::shape
+// -----------------------------------------------------------------------------
+//
+QPainterPath InfoWidget::shape(  ) const
+    {
+    SMC_MOCK_METHOD0( QPainterPath )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::sizeHint
+// -----------------------------------------------------------------------------
+//
+QSizeF InfoWidget::sizeHint( 
+        Qt::SizeHint which,
+        const QSizeF & constraint ) const
+    {
+    SMC_MOCK_METHOD2( QSizeF, Qt::SizeHint, which, 
+        const QSizeF &, constraint )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::sizePolicy
+// -----------------------------------------------------------------------------
+//
+QSizePolicy InfoWidget::sizePolicy(  ) const
+    {
+    SMC_MOCK_METHOD0( QSizePolicy )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::Q_PROPERTY
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::Q_PROPERTY( 
+        QString homeZoneDisplay READ homeZoneDisplay WRITE setHomeZoneDisplay ) Q_PROPERTY ( QString mcnDisplay READ mcnDisplay WRITE setMcnDisplay ) Q_PROPERTY ( QString activeLineDisplay READ activeLineDisplay WRITE setActiveLineDisplay ) Q_PROPERTY ( QString satDisplay READ satDisplay WRITE setSatDisplay ) QString homeZoneDisplay ( )
+    {
+    SMC_MOCK_METHOD1( void, QString homeZoneDisplay READ homeZoneDisplay WRITE setHomeZoneDisplay ) Q_PROPERTY ( QString mcnDisplay READ mcnDisplay WRITE setMcnDisplay ) Q_PROPERTY ( QString activeLineDisplay READ activeLineDisplay WRITE setActiveLineDisplay ) Q_PROPERTY ( QString satDisplay READ satDisplay WRITE setSatDisplay ) QString homeZoneDisplay, ( )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setHomeZoneDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setHomeZoneDisplay( 
+        QString value )
+    {
+    SMC_MOCK_METHOD1( void, QString, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::mcnDisplay
+// -----------------------------------------------------------------------------
+//
+QString InfoWidget::mcnDisplay(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setMcnDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setMcnDisplay( 
+        QString value )
+    {
+    SMC_MOCK_METHOD1( void, QString, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::activeLineDisplay
+// -----------------------------------------------------------------------------
+//
+QString InfoWidget::activeLineDisplay(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setActiveLineDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setActiveLineDisplay( 
+        QString value )
+    {
+    SMC_MOCK_METHOD1( void, QString, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::satDisplay
+// -----------------------------------------------------------------------------
+//
+QString InfoWidget::satDisplay(  )
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setSatDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setSatDisplay( 
+        QString value )
+    {
+    SMC_MOCK_METHOD1( void, QString, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onInitialize
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::onInitialize(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onUninitialize
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::onUninitialize(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onShow
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::onShow(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onHide
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::onHide(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::readModel
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::readModel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::handleModelError
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::handleModelError( 
+        int operation,
+        int errorCode )
+    {
+    SMC_MOCK_METHOD2( void, int, operation, 
+        int, errorCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::homeZoneDisplaySettingChanged
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::homeZoneDisplaySettingChanged( 
+        int state )
+    {
+    SMC_MOCK_METHOD1( void, int, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::mcnDisplaySettingChanged
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::mcnDisplaySettingChanged( 
+        int state )
+    {
+    SMC_MOCK_METHOD1( void, int, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::activeLineDisplaySettingChanged
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::activeLineDisplaySettingChanged( 
+        int state )
+    {
+    SMC_MOCK_METHOD1( void, int, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::satDisplaySettingChanged
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::satDisplaySettingChanged( 
+        int state )
+    {
+    SMC_MOCK_METHOD1( void, int, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::settingsEditingFinished
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::settingsEditingFinished(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::setPreferences
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::setPreferences( 
+        const QStringList & names )
+    {
+    SMC_MOCK_METHOD1( void, const QStringList &, names )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onStart
+// -----------------------------------------------------------------------------
+//
+HsWidget::StartResult InfoWidget::onStart(  )
+    {
+    SMC_MOCK_METHOD0( HsWidget::StartResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onStop
+// -----------------------------------------------------------------------------
+//
+HsWidget::StopResult InfoWidget::onStop(  )
+    {
+    SMC_MOCK_METHOD0( HsWidget::StopResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onSuspend
+// -----------------------------------------------------------------------------
+//
+HsWidget::SuspendResult InfoWidget::onSuspend(  )
+    {
+    SMC_MOCK_METHOD0( HsWidget::SuspendResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::onResume
+// -----------------------------------------------------------------------------
+//
+HsWidget::ResumeResult InfoWidget::onResume(  )
+    {
+    SMC_MOCK_METHOD0( HsWidget::ResumeResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::paint
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::paint( 
+        QPainter * painter,
+        const QStyleOptionGraphicsItem * option,
+        QWidget * widget )
+    {
+    SMC_MOCK_METHOD3( void, QPainter *, painter, 
+        const QStyleOptionGraphicsItem *, option, 
+        QWidget *, widget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::mouseDoubleClickEvent
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::mouseDoubleClickEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::mousePressEvent
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::mousePressEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::updateInfoDisplay
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::updateInfoDisplay(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidget::initializePreferences
+// -----------------------------------------------------------------------------
+//
+void InfoWidget::initializePreferences(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/mocks/mock_infowidgetnetworkhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <networkhandlingproxy.h>
+#include <cnwsession.h>
+#include "infowidgetnetworkhandler.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::InfoWidgetNetworkHandler
+// -----------------------------------------------------------------------------
+//
+InfoWidgetNetworkHandler::InfoWidgetNetworkHandler( 
+        QObject * parent )
+    : 
+    QObject(parent), 
+    m_nwSession(0)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler
+// -----------------------------------------------------------------------------
+//
+InfoWidgetNetworkHandler::~InfoWidgetNetworkHandler(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::homeZoneTextTag
+// -----------------------------------------------------------------------------
+//
+QString InfoWidgetNetworkHandler::homeZoneTextTag(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::homeZoneIndicatorType
+// -----------------------------------------------------------------------------
+//
+int InfoWidgetNetworkHandler::homeZoneIndicatorType(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::mcnName
+// -----------------------------------------------------------------------------
+//
+QString InfoWidgetNetworkHandler::mcnName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::mcnIndicatorType
+// -----------------------------------------------------------------------------
+//
+int InfoWidgetNetworkHandler::mcnIndicatorType(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::logCurrentInfo
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::logCurrentInfo(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::HandleNetworkMessage
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::HandleNetworkMessage( 
+        const TNWMessages aMessage )
+    {
+    SMC_MOCK_METHOD1( void, const TNWMessages, aMessage )
+    }
+
+
+// -----------------------------------------------------------------------------
+// InfoWidgetNetworkHandler::HandleNetworkError
+// -----------------------------------------------------------------------------
+//
+void InfoWidgetNetworkHandler::HandleNetworkError( 
+        const TNWOperation aOperation,
+        TInt aErrorCode )
+    {
+    SMC_MOCK_METHOD2( void, const TNWOperation, aOperation, 
+        TInt, aErrorCode )
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/mocks/mock_networkhandlingproxy.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  This file contains the header file of the class NetworkHandlingProxy.
+*
+*/
+
+#include <smcmockclassincludes.h>
+#include <networkhandlingproxy.h>
+#include <nwhandlingengine.h> 
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+CNWSession* CreateL( MNWMessageObserver& aMessage, TNWInfo& aTNWInfo )
+    {
+    SMC_MOCK_METHOD2(CNWSession*, 
+        MNWMessageObserver&, aMessage, 
+        TNWInfo&, aTNWInfo);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/mocks/mock_xqsettingskey.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QDebug>
+#include "xqsettingskey.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::XQSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::XQSettingsKey( 
+        XQSettingsKey::Target target,
+        long int uid,
+        unsigned long int key )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::~XQSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::~XQSettingsKey(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::target
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::Target XQSettingsKey::target(  ) const
+    {
+    
+    XQSettingsKey::Target variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::uid
+// -----------------------------------------------------------------------------
+//
+long int XQSettingsKey::uid(  ) const
+    {
+    
+    return 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::key
+// -----------------------------------------------------------------------------
+//
+unsigned long int XQSettingsKey::key(  ) const
+    {
+    
+    return 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQPublishAndSubscribeSettingsKey::XQPublishAndSubscribeSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQPublishAndSubscribeSettingsKey::XQPublishAndSubscribeSettingsKey( 
+        long int categoryUid,
+        unsigned long int key ) : 
+        XQSettingsKey( XQSettingsKey::TargetPublishAndSubscribe, categoryUid, key )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQPublishAndSubscribeSettingsKey::~XQPublishAndSubscribeSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQPublishAndSubscribeSettingsKey::~XQPublishAndSubscribeSettingsKey(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQCentralRepositorySettingsKey::XQCentralRepositorySettingsKey
+// -----------------------------------------------------------------------------
+//
+XQCentralRepositorySettingsKey::XQCentralRepositorySettingsKey( 
+        long int repositoryUid,
+        unsigned long int key ) : 
+        XQSettingsKey( XQSettingsKey::TargetCentralRepository, repositoryUid, key )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQCentralRepositorySettingsKey::~XQCentralRepositorySettingsKey
+// -----------------------------------------------------------------------------
+//
+XQCentralRepositorySettingsKey::~XQCentralRepositorySettingsKey(  )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/mocks/mock_xqsettingsmanager.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "xqsettingsmanager.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::XQSettingsManager
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::XQSettingsManager( 
+        QObject * parent )
+    : QObject( parent )
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::~XQSettingsManager
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::~XQSettingsManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::readItemValue
+// -----------------------------------------------------------------------------
+//
+QVariant XQSettingsManager::readItemValue( 
+        const XQSettingsKey & key,
+        XQSettingsManager::Type type )
+    {
+    SMC_MOCK_METHOD2( QVariant, XQSettingsKey &, key, XQSettingsManager::Type, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::writeItemValue
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::writeItemValue( 
+        const XQSettingsKey & key,
+        const QVariant & value )
+    {
+    Q_UNUSED( key )
+    Q_UNUSED( value )
+    bool variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::startMonitoring
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::startMonitoring( 
+        const XQSettingsKey & key,
+        XQSettingsManager::Type type )
+    {
+    Q_UNUSED( key )
+    Q_UNUSED( type )
+    bool variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::stopMonitoring
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::stopMonitoring( 
+        const XQSettingsKey & key )
+    {
+    Q_UNUSED( key )
+    bool variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::error
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::Error XQSettingsManager::error(  ) const
+    {
+    
+    XQSettingsManager::Error variable;
+    return variable;
+    }
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidget/inc/ut_infowidget.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_INFOWIDGET_H
+#define UT_INFOWIDGET_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+#include "infowidgetengine.h"
+
+#define private public
+#include "infowidget.h"
+
+class InfoWidget;
+
+class UT_InfoWidget : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidget();
+    ~UT_InfoWidget();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_setHomeZoneDisplay(); 
+    void t_setSatDisplay(); 
+    void t_setMcnDisplay();
+    void t_setActiveLineDisplay(); 
+    void t_readModel();
+    void t_handleModelError();
+    void t_onInitialize(); 
+    void t_onUninitialize(); 
+    void t_onShow(); 
+    void t_onHide();
+    void t_homeZoneDisplaySettingChanged();
+    void t_mcnDisplaySettingChanged();
+    void t_activeLineDisplaySettingChanged();
+    void t_satDisplaySettingChanged();
+    void t_settingsEditingFinished();
+
+    
+private:
+    
+    InfoWidget *m_infoWidget;
+    InfoWidgetEngine::ModelData m_modelData;
+
+};
+
+#endif // UT_INFOWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidget/run_auto_tests_qt.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,187 @@
+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=..\..\infowidget\src\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+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 INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL=abld build winscw udeb -keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+
+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
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=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
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+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
+call qmake
+call bldmake bldfiles
+call abld clean winscw udeb
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\ut_infowidget.exe -- 
+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 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/phoneplugins/infowidgetprovider/tsrc/ut_infowidget/src/ut_infowidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 "ut_infowidget.h"
+#include "qtestmains60.h"
+#include <QString>
+
+const QString KPreferenceOn("On"); 
+const QString KPreferenceOff("Off"); 
+const QString KMcnName("tnw1: 3233255435"); 
+
+/*!
+  UT_InfoWidget::UT_InfoWidget
+ */
+UT_InfoWidget::UT_InfoWidget() 
+    : m_infoWidget(0)
+{
+    SmcDefaultValue<QString>::SetL("On");
+    m_modelData.setActiveLine(1);
+    m_modelData.setHomeZoneIndicatorType(1);
+    m_modelData.setMcnName(KMcnName);
+        
+    SmcDefaultValue<const InfoWidgetEngine::ModelData &>::SetL(m_modelData);
+}
+
+/*!
+  UT_InfoWidget::~UT_InfoWidget
+ */
+UT_InfoWidget::~UT_InfoWidget()
+{
+    delete m_infoWidget;
+}
+
+/*!
+  UT_InfoWidget::init
+ */
+void UT_InfoWidget::init()
+{
+    initialize();
+    
+    m_infoWidget = new InfoWidget();
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_InfoWidget::cleanup
+ */
+void UT_InfoWidget::cleanup()
+{
+    reset();
+    
+    delete m_infoWidget;
+    m_infoWidget = 0;
+}
+
+/*!
+  UT_InfoWidget::t_setHomeZoneDisplay
+ */
+void UT_InfoWidget::t_setHomeZoneDisplay()
+{
+    expect("InfoWidgetPreferences::setPreference");
+    m_infoWidget->setHomeZoneDisplay(KPreferenceOn); 
+    expect("InfoWidgetPreferences::preference");
+    QVERIFY(m_infoWidget->homeZoneDisplay() == KPreferenceOn);
+}
+
+/*!
+  UT_InfoWidget::t_setSatDisplay
+ */
+void UT_InfoWidget::t_setSatDisplay()
+{
+    expect("InfoWidgetPreferences::setPreference");
+    m_infoWidget->setSatDisplay(KPreferenceOn); 
+    expect("InfoWidgetPreferences::preference");
+    QVERIFY(m_infoWidget->satDisplay() == KPreferenceOn);
+}
+
+/*!
+  UT_InfoWidget::t_setActiveLineDisplay
+ */
+void UT_InfoWidget::t_setActiveLineDisplay()
+{
+    expect("InfoWidgetPreferences::setPreference");
+    m_infoWidget->setActiveLineDisplay(KPreferenceOn); 
+    expect("InfoWidgetPreferences::preference");
+    QVERIFY(m_infoWidget->activeLineDisplay() == KPreferenceOn);
+}
+
+/*!
+  UT_InfoWidget::t_setMcnDisplay
+ */
+void UT_InfoWidget::t_setMcnDisplay()
+{
+    expect("InfoWidgetPreferences::setPreference");
+    m_infoWidget->setMcnDisplay(KPreferenceOn); 
+    expect("InfoWidgetPreferences::preference");
+    QVERIFY(m_infoWidget->mcnDisplay() == KPreferenceOn);
+}
+
+/*!
+  UT_InfoWidget::t_readModel
+ */
+void UT_InfoWidget::t_readModel()
+{
+    m_infoWidget->readModel(); 
+}
+
+/*!
+  UT_InfoWidget::t_handleModelError
+ */
+void UT_InfoWidget::t_handleModelError()
+{
+    int operation(0);
+    int errorCode(0); 
+    m_infoWidget->handleModelError(operation, errorCode); 
+}
+
+/*!
+  UT_InfoWidget::t_onInitialize
+ */
+void UT_InfoWidget::t_onInitialize()
+{
+    m_infoWidget->onInitialize(); 
+}
+
+/*!
+  UT_InfoWidget::t_onUninitialize
+ */
+void UT_InfoWidget::t_onUninitialize()
+{
+    m_infoWidget->onUninitialize(); 
+}
+
+/*!
+  UT_InfoWidget::t_onShow
+ */
+void UT_InfoWidget::t_onShow()
+{
+    m_infoWidget->onShow(); 
+}
+
+/*!
+  UT_InfoWidget::t_onHide
+ */
+void UT_InfoWidget::t_onHide()
+{
+    m_infoWidget->onHide(); 
+}
+
+void UT_InfoWidget::t_homeZoneDisplaySettingChanged()
+{
+    int setting(0); 
+    m_infoWidget->homeZoneDisplaySettingChanged(setting); 
+}
+
+void UT_InfoWidget::t_mcnDisplaySettingChanged()
+{
+    int setting(0);
+    m_infoWidget->mcnDisplaySettingChanged(setting); 
+}
+
+void UT_InfoWidget::t_activeLineDisplaySettingChanged()
+{
+    int setting(0);
+    m_infoWidget->activeLineDisplaySettingChanged(setting); 
+}
+
+void UT_InfoWidget::t_satDisplaySettingChanged()
+{
+    int setting(0);
+    m_infoWidget->satDisplaySettingChanged(setting); 
+}
+
+void UT_InfoWidget::t_settingsEditingFinished()
+{
+    m_infoWidget->settingsEditingFinished(); 
+}
+
+
+QTEST_MAIN_S60(UT_InfoWidget)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidget/ut_infowidget.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src ../../infowidget/inc
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lhswidgetmodel
+}
+
+# test code
+HEADERS += ./inc/ut_infowidget.h
+SOURCES += ./src/ut_infowidget.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidget.h
+SOURCES += ../../infowidget/src/infowidget.cpp
+
+# mocks needed for testing
+#HEADERS += hbdocumentloader.h
+#SOURCES += ../mocks/mock_hbdocumentloader.cpp
+
+HEADERS += ../../infowidget/inc/infowidgetpreferences.h
+SOURCES += ../mocks/mock_infowidgetpreferences.cpp
+HEADERS += ../../infowidget/inc/infowidgetengine.h
+SOURCES += ../mocks/mock_infowidgetengine.cpp
+HEADERS += ../../infowidget/inc/infowidgetlayoutmanager.h
+SOURCES += ../mocks/mock_infowidgetlayoutmanager.cpp
+HEADERS += ../../infowidget/inc/infowidgetnetworkhandler.h
+SOURCES += ../mocks/mock_infowidgetnetworkhandler.cpp
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetengine/inc/ut_infowidgetengine.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_INFOWIDGETENGINE_H
+#define UT_INFOWIDGETENGINE_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class InfoWidgetEngine;
+
+class UT_InfoWidgetEngine : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetEngine();
+    ~UT_InfoWidgetEngine();
+    
+private slots:
+
+    void init();
+    void cleanup();
+
+    void t_modelData();
+    void t_updateNetworkDataToModel();
+    void t_updateSatDataToModel();
+    void t_updateLineDataToModel();
+    void t_handleNetworkError();
+    void t_handleSatError(); 
+    void t_handleLineError();
+    
+private:
+    
+    InfoWidgetEngine *m_infoWidgetEngine;
+
+};
+
+#endif // UT_INFOWIDGETENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetengine/src/ut_infowidgetengine.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_infowidgetengine.h"
+#include "infowidgetengine.h"
+#include "qtestmains60.h"
+// mocked dependencies of the class under test
+#include "infowidgetnetworkhandler.h"
+
+const QString KHomeZoneTextTag("HomeZoneText0");    // max length 13
+const TNWViagIndicatorType 
+    KHomeZoneIndicatorType = ENWViagIndicatorTypeHomeZone;
+
+const QString KMcnName("McnNameMcnNameMcnNam");     // max length 20 
+const TNWMCNIndicatorType 
+    KMcnIndicatorType = ENWMCNIndicatorTypeActive;
+
+/*!
+  UT_InfoWidgetEngine::UT_InfoWidgetEngine
+ */
+UT_InfoWidgetEngine::UT_InfoWidgetEngine() 
+    : 
+    m_infoWidgetEngine(0)
+{
+    
+}
+
+
+/*!
+  UT_InfoWidgetEngine::~UT_InfoWidgetEngine
+ */
+UT_InfoWidgetEngine::~UT_InfoWidgetEngine()
+{
+    delete m_infoWidgetEngine;
+}
+
+
+/*!
+  UT_InfoWidgetEngine::init
+ */
+void UT_InfoWidgetEngine::init()
+{
+    initialize();
+    
+    EXPECT(InfoWidgetNetworkHandler::logCurrentInfo);
+    EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag)
+        .returns(KHomeZoneTextTag);
+    EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType)
+        .returns(KHomeZoneIndicatorType);
+    EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName);
+    EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType)
+        .returns(KMcnIndicatorType);
+    
+    m_infoWidgetEngine = new InfoWidgetEngine();
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetEngine::cleanup
+ */
+void UT_InfoWidgetEngine::cleanup()
+{
+    reset();
+    
+    delete m_infoWidgetEngine;
+    m_infoWidgetEngine = 0;
+}
+
+
+/*!
+  UT_InfoWidgetEngine::t_modelData
+ */
+void UT_InfoWidgetEngine::t_modelData()
+{
+    const InfoWidgetEngine::ModelData& data = m_infoWidgetEngine->modelData();
+    QVERIFY(data.homeZoneTextTag() == KHomeZoneTextTag);
+    QVERIFY(data.homeZoneIndicatorType() == KHomeZoneIndicatorType);
+    QVERIFY(data.mcnName() == KMcnName);
+    QVERIFY(data.mcnIndicatorType() == KMcnIndicatorType);
+}
+
+
+/*!
+  UT_InfoWidgetEngine::t_updateNetworkDataToModel
+ */
+void UT_InfoWidgetEngine::t_updateNetworkDataToModel()
+{
+    EXPECT(InfoWidgetNetworkHandler::logCurrentInfo);
+    EXPECT(InfoWidgetNetworkHandler::homeZoneTextTag)
+        .returns(KHomeZoneTextTag);
+    EXPECT(InfoWidgetNetworkHandler::homeZoneIndicatorType)
+        .returns(KHomeZoneIndicatorType);
+    EXPECT(InfoWidgetNetworkHandler::mcnName).returns(KMcnName);
+    EXPECT(InfoWidgetNetworkHandler::mcnIndicatorType)
+        .returns(KMcnIndicatorType);
+    QSignalSpy spy(m_infoWidgetEngine, SIGNAL(modelChanged()));
+    
+    m_infoWidgetEngine->updateNetworkDataToModel();
+    
+    const int KExpectedNumOfSignalEmissions = 1;
+    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.at(0);
+    QCOMPARE(arguments.count(), 0);
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetEngine::t_updateSatDataToModel
+ */
+void UT_InfoWidgetEngine::t_updateSatDataToModel()
+{
+    m_infoWidgetEngine->updateSatDataToModel();
+}
+
+
+/*!
+  UT_InfoWidgetEngine::t_updateLineDataToModel
+ */
+void UT_InfoWidgetEngine::t_updateLineDataToModel()
+{
+    m_infoWidgetEngine->updateLineDataToModel();
+}
+
+
+/*!
+  UT_InfoWidgetEngine::t_handleNetworkError
+ */
+void UT_InfoWidgetEngine::t_handleNetworkError()
+{
+    m_infoWidgetEngine->handleNetworkError(0, 0);
+}
+
+
+/*!
+  UT_InfoWidgetEngine::t_handleSatError
+ */
+void UT_InfoWidgetEngine:: t_handleSatError()
+{
+    m_infoWidgetEngine->handleSatError(0, 0);
+}
+
+
+/*!
+  UT_InfoWidgetEngine::t_handleLineError
+ */
+void UT_InfoWidgetEngine:: t_handleLineError()
+{
+    m_infoWidgetEngine->handleLineError(0, 0);    
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetEngine)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetengine/ut_infowidgetengine.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,54 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# 
+# Description: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src ../../infowidget/inc
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetengine.h
+SOURCES += ./src/ut_infowidgetengine.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetengine.h
+SOURCES += ../../infowidget/src/infowidgetengine.cpp
+
+# mocks needed for testing
+HEADERS += ../../infowidget/inc/infowidgetnetworkhandler.h
+HEADERS += /epoc32/include/mw/xqsettingskey.h \
+           /epoc32/include/mw/xqsettingsmanager.h
+SOURCES += ../mocks/mock_xqsettingsmanager.cpp \
+           ../mocks/mock_xqsettingskey.cpp     \
+           ../mocks/mock_infowidgetnetworkhandler.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/inc/ut_infowidgetlayoutmanager.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 UT_INFOWIDGETLAYOUTMANAGER_H
+#define UT_INFOWIDGETLAYOUTMANAGER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class InfoWidgetLayoutManager;
+
+class UT_InfoWidgetLayoutManager : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetLayoutManager();
+    ~UT_InfoWidgetLayoutManager();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+private:
+    
+    InfoWidgetLayoutManager *m_layoutManager;
+
+};
+
+#endif // UT_INFOWIDGETLAYOUTMANAGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/src/ut_infowidgetlayoutmanager.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_infowidgetlayoutmanager.h"
+#include "infowidgetlayoutmanager.h"
+#include "qtestmains60.h"
+
+/*!
+  UT_InfoWidgetLayoutManager::UT_InfoWidgetLayoutManager
+ */
+UT_InfoWidgetLayoutManager::UT_InfoWidgetLayoutManager() 
+    : 
+    m_layoutManager(0)
+{
+    
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::~UT_InfoWidgetLayoutManager
+ */
+UT_InfoWidgetLayoutManager::~UT_InfoWidgetLayoutManager()
+{
+    delete m_layoutManager;
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::init
+ */
+void UT_InfoWidgetLayoutManager::init()
+{
+    initialize();
+    
+    m_layoutManager = new InfoWidgetLayoutManager();
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetLayoutManager::cleanup
+ */
+void UT_InfoWidgetLayoutManager::cleanup()
+{
+    reset();
+    
+    delete m_layoutManager;
+    m_layoutManager = 0;
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetLayoutManager)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetlayoutmanager/ut_infowidgetlayoutmanager.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src ../../infowidget/inc
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetlayoutmanager.h
+SOURCES += ./src/ut_infowidgetlayoutmanager.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetlayoutmanager.h
+SOURCES += ../../infowidget/src/infowidgetlayoutmanager.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/inc/ut_infowidgetnetworkhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 UT_INFOWIDGETNETWORKHANDLER_H
+#define UT_INFOWIDGETNETWORKHANDLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class MNWMessageObserver;
+class InfoWidgetNetworkHandler;
+class TNWInfo;
+
+class UT_InfoWidgetNetworkHandler : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetNetworkHandler();
+    ~UT_InfoWidgetNetworkHandler();
+    
+public slots:
+    void generateException();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_homeZoneTextTag();
+    void t_homeZoneIndicatorType();
+    void t_mcnName();
+    void t_mcnIndicatorType();
+    void t_HandleNetworkMessage();
+    void t_HandleNetworkMessageExceptionWhileEmittingSignal();
+    void t_HandleNetworkError();
+    void t_HandleNetworkErrorExceptionWhileEmittingSignal();
+    
+private:
+    
+    void initializeNetworkInfo(
+        MNWMessageObserver& aMessage, 
+        TNWInfo& aTNWInfo);
+    
+private:
+    
+    InfoWidgetNetworkHandler *m_networkHandler;
+
+};
+
+#endif // UT_INFOWIDGETNETWORKHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/src/ut_infowidgetnetworkhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,257 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <networkhandlingproxy.h>
+#include <nwhandlingengine.h>
+#include "ut_infowidgetnetworkhandler.h"
+#include "infowidgetnetworkhandler.h"
+#include "qtestmains60.h"
+
+const QString KHomeZoneTextTag("HomeZoneText0");    // max length 13
+const TNWViagIndicatorType 
+    KHomeZoneIndicatorType = ENWViagIndicatorTypeHomeZone;
+
+const QString KMcnName("McnNameMcnNameMcnNam");     // max length 20 
+const TNWMCNIndicatorType 
+    KMcnIndicatorType = ENWMCNIndicatorTypeActive;
+
+/*!
+  UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler
+ */
+UT_InfoWidgetNetworkHandler::UT_InfoWidgetNetworkHandler() 
+    : 
+    m_networkHandler(0)
+{
+    
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::~UT_InfoWidgetNetworkHandler
+ */
+UT_InfoWidgetNetworkHandler::~UT_InfoWidgetNetworkHandler()
+{
+    delete m_networkHandler;
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::generateException
+ */
+void UT_InfoWidgetNetworkHandler::generateException()
+{
+    throw std::bad_alloc();
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::init
+ */
+void UT_InfoWidgetNetworkHandler::init()
+{
+    initialize();
+    
+    EXPECT(CreateL).willOnce(invoke(this, &initializeNetworkInfo));
+    m_networkHandler =  new InfoWidgetNetworkHandler();
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::cleanup
+ */
+void UT_InfoWidgetNetworkHandler::cleanup()
+{
+    reset();
+    
+    delete m_networkHandler;
+    m_networkHandler = 0;
+}
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_homeZoneTextTag
+ */
+void UT_InfoWidgetNetworkHandler::t_homeZoneTextTag()
+{
+    QVERIFY(m_networkHandler->homeZoneTextTag() == KHomeZoneTextTag);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_homeZoneIndicatorType
+ */
+void UT_InfoWidgetNetworkHandler::t_homeZoneIndicatorType()
+{
+    QVERIFY(
+        m_networkHandler->homeZoneIndicatorType() == KHomeZoneIndicatorType);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_mcnName
+ */
+void UT_InfoWidgetNetworkHandler::t_mcnName()
+{
+    QVERIFY(m_networkHandler->mcnName() == KMcnName);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_mcnIndicatorType
+ */
+void UT_InfoWidgetNetworkHandler::t_mcnIndicatorType()
+{
+    QVERIFY(m_networkHandler->mcnIndicatorType() == KMcnIndicatorType);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_HandleNetworkMessage
+ */
+void UT_InfoWidgetNetworkHandler::t_HandleNetworkMessage()
+{
+    QSignalSpy spy(m_networkHandler, SIGNAL(networkDataChanged()));
+    
+    // TODO: investigate, which messages indicate cell info change
+// ACCEPTED MESSAGES    
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageCurrentCellInfoMessage);
+    
+// MESSAGES TO BE FILTERED OUT
+// COMMON NETWORK MESSAGES                      0 - 99
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkInfoChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkModeChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkRegistrationStatusChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageProgrammableOperatorInfoChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkProviderNameChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageServiceProviderNameChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageProgrammableOperatorInfoUpdating);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkProviderNameUpdating);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageServiceProviderNameUpdating);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageAllowRefresh);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkSelectionSettingChange);
+// GSM SPECIFIC MESSAGES                        100 - 199
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkCellReselection);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkConnectionFailure);
+//    m_networkHandler->HandleNetworkMessage(
+//        MNWMessageObserver::ENWMessageCurrentCellInfoMessage);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageCurrentHomeZoneMessage);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkIndicatorChange);
+// CDMA SPECIFIC MESSAGES                       200 - 299
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageNetworkEmergencyMode); 
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageVoicePrivacyStatusChange);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageStartSystemSearchRequestCompleteOk);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageStartSystemSearchRequestCompleteFail);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageStopProtocolStackRequestCompleteOk);
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageStopProtocolStackRequestCompleteFail);
+    
+    const int KExpectedNumOfSignalEmissions = 1;
+    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
+    
+    const QList<QVariant> &arguments = spy.at(0);
+    QCOMPARE(arguments.count(), 0);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_HandleNetworkMessageExceptionWhileEmittingSignal
+ */
+void UT_InfoWidgetNetworkHandler::t_HandleNetworkMessageExceptionWhileEmittingSignal()
+{
+    QObject::connect(
+        m_networkHandler, SIGNAL(networkDataChanged()),
+        this, SLOT(generateException())); 
+    
+    m_networkHandler->HandleNetworkMessage(
+        MNWMessageObserver::ENWMessageCurrentCellInfoMessage);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_HandleNetworkError
+ */
+Q_DECLARE_METATYPE(MNWMessageObserver::TNWOperation)
+void UT_InfoWidgetNetworkHandler::t_HandleNetworkError()
+{
+    QSignalSpy spy(m_networkHandler, SIGNAL(networkError(int, int)));
+    qRegisterMetaType<MNWMessageObserver::TNWOperation>
+        ("MNWMessageObserver::TNWOperation");
+    
+    MNWMessageObserver::TNWOperation operation = MNWMessageObserver::ENWNone;
+    const int errorCode = -4;
+    m_networkHandler->HandleNetworkError(operation, errorCode);
+    
+    const int KExpectedNumOfSignalEmissions = 1;
+    QCOMPARE(spy.count(), KExpectedNumOfSignalEmissions);
+    const QList<QVariant> &arguments = spy.at(0);
+    QCOMPARE(arguments.count(), 2);
+    
+    QCOMPARE(
+        qvariant_cast<MNWMessageObserver::TNWOperation>(arguments.at(0)), 
+        operation);
+    QCOMPARE(arguments.at(1).toInt(), errorCode);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::t_HandleNetworkErrorExceptionWhileEmittingSignal
+ */
+void UT_InfoWidgetNetworkHandler::t_HandleNetworkErrorExceptionWhileEmittingSignal()
+{
+    QObject::connect(
+        m_networkHandler, SIGNAL(networkError(int, int)),
+        this, SLOT(generateException())); 
+    
+    MNWMessageObserver::TNWOperation operation = MNWMessageObserver::ENWNone;
+    const int errorCode = -4;
+    m_networkHandler->HandleNetworkError(operation, errorCode);
+}
+
+
+/*!
+  UT_InfoWidgetNetworkHandler::initializeNetworkInfo
+ */
+void UT_InfoWidgetNetworkHandler::initializeNetworkInfo(
+    MNWMessageObserver& /*aObserver*/, TNWInfo& aTNWInfo)
+{
+    aTNWInfo.iViagTextTag.Copy(KHomeZoneTextTag.utf16());
+    aTNWInfo.iViagIndicatorType = KHomeZoneIndicatorType;
+    
+    aTNWInfo.iMCNName.Copy(KMcnName.utf16());
+    aTNWInfo.iMCNIndicatorType = KMcnIndicatorType;
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetNetworkHandler)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetnetworkhandler/ut_infowidgetnetworkhandler.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetnetworkhandler.h
+SOURCES += ./src/ut_infowidgetnetworkhandler.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetnetworkhandler.h
+SOURCES += ../../infowidget/src/infowidgetnetworkhandler.cpp
+
+# mocks needed for testing
+SOURCES += ../mocks/mock_networkhandlingproxy.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetpreferences/inc/ut_infowidgetpreferences.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_INFOWIDGETPREFERENCES_H
+#define UT_INFOWIDGETPREFERENCES_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class InfoWidgetPreferences;
+
+class UT_InfoWidgetPreferences : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetPreferences();
+    ~UT_InfoWidgetPreferences();
+    
+private slots:
+
+    void init();
+    void cleanup();
+
+    void t_loadPreferences();
+    void t_storePreferences();
+    void t_preference();
+    void t_setPreference();
+    
+private:
+    
+    InfoWidgetPreferences *m_infoWidgetPreferences;
+
+};
+
+#endif // UT_INFOWIDGETPREFERENCES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetpreferences/src/ut_infowidgetpreferences.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,133 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_infowidgetpreferences.h"
+#include "infowidgetpreferences.h"
+#include "qtestmains60.h"
+
+/*!
+  UT_InfoWidgetPreferences::UT_InfoWidgetPreferences
+ */
+UT_InfoWidgetPreferences::UT_InfoWidgetPreferences() 
+    : 
+    m_infoWidgetPreferences(0)
+{
+    
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::~UT_InfoWidgetPreferences
+ */
+UT_InfoWidgetPreferences::~UT_InfoWidgetPreferences()
+{
+    delete m_infoWidgetPreferences;
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::init
+ */
+void UT_InfoWidgetPreferences::init()
+{
+    initialize();
+    
+    m_infoWidgetPreferences = new InfoWidgetPreferences();
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::cleanup
+ */
+void UT_InfoWidgetPreferences::cleanup()
+{
+    reset();
+    
+    delete m_infoWidgetPreferences;
+    m_infoWidgetPreferences = 0;
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::t_loadPreferences
+ */
+void UT_InfoWidgetPreferences::t_loadPreferences()
+{
+    m_infoWidgetPreferences->loadPreferences();
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::t_storePreferences
+ */
+void UT_InfoWidgetPreferences::t_storePreferences()
+{
+    m_infoWidgetPreferences->storePreferences();
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::t_preference
+ */
+void UT_InfoWidgetPreferences::t_preference()
+{
+    QString preferenceValue = m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayHomeZone);
+    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
+    
+    preferenceValue = m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayMcn);
+    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
+    
+    preferenceValue = m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayActiveLine);
+    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
+    
+    preferenceValue = m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplaySatText);
+    QVERIFY(DISPLAY_SETTING_OFF == preferenceValue);
+}
+
+
+/*!
+  UT_InfoWidgetPreferences::t_setPreference
+ */
+void UT_InfoWidgetPreferences::t_setPreference()
+{
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplayHomeZone, DISPLAY_SETTING_ON);
+    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayHomeZone));
+    
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplayMcn, DISPLAY_SETTING_ON);
+    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayMcn));
+    
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplayActiveLine, DISPLAY_SETTING_ON);
+    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplayActiveLine));
+    
+    m_infoWidgetPreferences->setPreference(
+        InfoWidgetPreferences::DisplaySatText, DISPLAY_SETTING_ON);
+    QVERIFY(DISPLAY_SETTING_ON == m_infoWidgetPreferences->preference(
+        InfoWidgetPreferences::DisplaySatText));
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetPreferences)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetpreferences/ut_infowidgetpreferences.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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: Project file for building unit test component
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH  += . ../../infowidget/src ../../infowidget/inc
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += XQSETTINGSMANAGER_NO_LIBRARY
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock 	\
+          -lcpframework
+}
+    
+# test code
+HEADERS += ./inc/ut_infowidgetpreferences.h
+SOURCES += ./src/ut_infowidgetpreferences.cpp
+
+# code to be tested
+HEADERS += ../../infowidget/inc/infowidgetpreferences.h
+SOURCES += ../../infowidget/src/infowidgetpreferences.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetprovider/inc/ut_infowidgetprovider.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_INFOWIDGET_H
+#define UT_INFOWIDGET_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class InfoWidgetProvider;
+
+class UT_InfoWidgetProvider : public QObject, public MockService
+{
+    Q_OBJECT
+
+public:    
+    
+    UT_InfoWidgetProvider();
+    ~UT_InfoWidgetProvider();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_widgets();
+    void t_createWidget();
+    void t_createWidgetUnknownUri();
+
+private:
+    
+    InfoWidgetProvider *m_infoWidgetProvider;
+
+};
+
+#endif // UT_INFOWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetprovider/src/ut_infowidgetprovider.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 "ut_infowidgetprovider.h"
+#include "infowidgetprovider.h"
+#include "qtestmains60.h"
+
+/*!
+  UT_InfoWidgetProvider::UT_InfoWidgetProvider
+ */
+UT_InfoWidgetProvider::UT_InfoWidgetProvider() 
+    : 
+    m_infoWidgetProvider(0)
+{
+    
+}
+
+
+/*!
+  UT_InfoWidgetProvider::~UT_InfoWidgetProvider
+ */
+UT_InfoWidgetProvider::~UT_InfoWidgetProvider()
+{
+    delete m_infoWidgetProvider;
+}
+
+
+/*!
+  UT_InfoWidgetProvider::init
+ */
+void UT_InfoWidgetProvider::init()
+{
+    initialize();
+    
+    m_infoWidgetProvider = new InfoWidgetProvider();
+    
+    QVERIFY(verify());
+}
+
+
+/*!
+  UT_InfoWidgetProvider::cleanup
+ */
+void UT_InfoWidgetProvider::cleanup()
+{
+    reset();
+    
+    delete m_infoWidgetProvider;
+    m_infoWidgetProvider = 0;
+}
+
+
+/*!
+  UT_InfoWidgetProvider::t_widgets
+ */
+void UT_InfoWidgetProvider::t_widgets()
+{
+    QList<HsWidgetToken> widgets = m_infoWidgetProvider->widgets();
+    QVERIFY(widgets.count() == 1);
+    
+    const HsWidgetToken &widgetToken = widgets.at(0); 
+    QVERIFY(widgetToken.mLibrary == QString("infowidgetprovider.dll"));
+    QVERIFY(widgetToken.mUri == QString("infouri"));
+    QVERIFY(widgetToken.mTitle == QString("Info"));
+    QVERIFY(widgetToken.mIconUri == QString("info.png"));
+    QVERIFY(widgetToken.mDescription.isEmpty());
+    QVERIFY(widgetToken.mUserData.isNull());
+    QVERIFY(widgetToken.mPreferences.isEmpty());
+}
+
+
+/*!
+  UT_InfoWidgetProvider::t_createWidget
+ */
+void UT_InfoWidgetProvider::t_createWidget()
+{
+    HsWidgetToken token;
+    token.mUri = QString("infouri");
+    QScopedPointer<HsWidget> widget(m_infoWidgetProvider->createWidget(token));
+    QVERIFY(0 != widget.data());
+}
+
+
+/*!
+  UT_InfoWidgetProvider::t_createWidgetUnknownUri
+ */
+void UT_InfoWidgetProvider::t_createWidgetUnknownUri()
+{
+    HsWidgetToken token;
+    token.mUri = QString("invaliduri");
+    QScopedPointer<HsWidget> widget(m_infoWidgetProvider->createWidget(token));
+    QVERIFY(0 == widget.data());
+}
+
+QTEST_MAIN_S60(UT_InfoWidgetProvider)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneplugins/infowidgetprovider/tsrc/ut_infowidgetprovider/ut_infowidgetprovider.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+INCLUDEPATH += .
+INCLUDEPATH += ../common
+INCLUDEPATH += ../../inc/
+INCLUDEPATH += ../../infowidget/inc/
+DEFINES += QT_NO_DEBUG_STREAM
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib 		\
+          -lsymbianmock     \
+          -lhswidgetmodel
+}
+
+# test code
+HEADERS += ./inc/ut_infowidgetprovider.h
+SOURCES += ./src/ut_infowidgetprovider.cpp
+
+# code to be tested
+HEADERS += ../../inc/infowidgetprovider.h
+SOURCES += ../../src/infowidgetprovider.cpp
+
+# mocks needed for testing
+HEADERS += ../../infowidget/inc/infowidget.h
+SOURCES += ../mocks/mock_infowidget.cpp
--- a/phoneplugins/telbranding/data/102078FA.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 1020 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for Branding plugin
-*
-*/
-
-
-#include "ecom/registryinfo.rh"
-#include "telbrandingconstants.hrh"
-// -----------------------------------------------------------------------------
-//   
-// Branding plug-in ecom resource file.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-    {
-    // telbranding.dll UID
-    dll_uid = KDllUid;
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            // bubble extension interface UID
-            interface_uid = KInterfaceUid;
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    // Branding plug-in implementation UID
-                    implementation_uid = KImplementationUid;
-                    version_no = 1;
-                    display_name = "Branding plug-in";
-                    default_data = "";
-                    // Note : opaque_data MUST have @ least a single byte of data
-                    // in this instance it is an empty string.
-                    opaque_data = " ";
-                    }
-                // Place additional interface implementations here
-                };
-            }
-        // Place additional interfaces here
-        };
-    }
-// End of File
--- a/phoneplugins/telbranding/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:  Build information file for project branding plugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/telbranding.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(telbranding.iby)
-
-PRJ_MMPFILES
-telbranding.mmp
-
-PRJ_TESTMMPFILES
--- a/phoneplugins/telbranding/group/telbranding.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:  Project definition file for project branding plugin
-*
-*/
-
-
-#include <data_caging_paths.hrh>    
-#include <platform_paths.hrh>
-#include "telbrandingconstants.hrh"
-
-
-TARGET		  telbranding.dll
-TARGETTYPE	  PLUGIN
-UID			  0x10009d8d KDllUid
-CAPABILITY    CAP_ECOM_PLUGIN
-
-SOURCEPATH	  ../src
-SOURCE		  telbranding.cpp
-SOURCE        telbrandingsettingshandler.cpp
-SOURCE        telbrandingproxy.cpp
-SOURCE        telbrandingserverhandler.cpp
-SOURCE        telbrandingcallindicator.cpp
-SOURCE        telbrandingimage.cpp 
-SOURCE        telbrandingbubble.cpp
-
-USERINCLUDE	 . ../inc
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom
-
-SOURCEPATH              ../data
-START RESOURCE          102078FA.rss
-TARGET                  telbranding.rsc
-END
-
-LIBRARY                 ECom.lib
-LIBRARY                 serviceprovidersettings.lib
-LIBRARY	                euser.lib
-LIBRARY                 bmcustomization.lib
-LIBRARY                 bsclient.lib
-LIBRARY                 charconv.lib
-LIBRARY                 efsrv.lib
-LIBRARY                 eikcoctl.lib
-LIBRARY                 cone.lib
-LIBRARY                 AknSkins.lib
-LIBRARY                 aknicon.lib
-LIBRARY                 avkon.lib
-
--- a/phoneplugins/telbranding/group/telbrandingconstants.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  Allows to customize bubble with custom elements.
-*
-*/
-
-
-#ifndef TELBRANDINGCONSTANTS_H
-#define TELBRANDINGCONSTANTS_H
-
-// Dll uid
-#define KDllUid            0x102078FA
-
-// Ecom specific
-#define KImplementationUid 0x102078F9
-#define KInterfaceUid      0x102078F6
-
-#endif // TELBRANDINGCONSTANTS_H
--- a/phoneplugins/telbranding/inc/telbranding.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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:  Sets brand according service id.
-*
-*/
-
-
-#ifndef __TELBRANDING_H__
-#define __TELBRANDING_H__
-
-//  Include Files
-#include <e32base.h>	// CBase
-#include <ecom.h>
-#include <telbubbleextension.h>
-
-//  Constants
-
-class CTelBrandingSettingsHandler;
-class CTelBrandingServerHandler;
-class CTelBrandingBubble;
-class CElement;
-
-//  Class Definitions
-class CTelBranding : public CTelBubbleExtension
-    {
-public:
-    static CTelBranding* NewL();
-
-    virtual ~CTelBranding();
-
-private: // new functions, example API
-// from CTelBubbleExtension
-
-    /** @see CTelBubbleExtension::InitializeL */
-    void InitializeL( MTelBubbleExtensionObserver& aBubbles );
-
-    /** @see CTelBubbleExtension::StartCustomizedBubble */
-    void StartCustomizedBubble(
-        MTelBubbleExtensionData& aCallData  );
-
-    /** @see CTelBubbleExtension::StopCustomizedBubble */
-    void StopCustomizedBubble(
-        MTelBubbleExtensionData& aCallData  );
-
-    /** @see CTelBubbleExtension::BubbleUpdating */
-    void BubbleUpdating();
-
-
-private: // new functions
-    void LoadBrandingL(
-        MTelBubbleExtensionData& aCallData );
-
-    CTelBranding();
-
-    void ConstructL();
-
-private: // data
-    MTelBubbleExtensionObserver* iObserver;
-
-    CTelBrandingSettingsHandler* iSettings;
-
-    RPointerArray<CTelBrandingBubble> iBubbleArray;
-    };
-
-#endif  // __TELBRANDING_H__
-
-// end of file
--- a/phoneplugins/telbranding/inc/telbrandingbubble.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +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:  Wraps bubble into one class.
-*
-*/
-
-#ifndef C_CTELBRANDINGBUBBLE_H
-#define C_CTELBRANDINGBUBBLE_H
-
-#include <telbubblecustomelement.h>
-
-class MTelBubbleExtensionData;
-class CTelBrandingServerHandler;
-class CTelBubbleCustomElement;
-class MTelBubbleExtensionObserver;
-
-
-/**
- *  Wraps bubble into one class.
- *  Owns bubble images.
- *
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CTelBrandingBubble ) : public CBase 
-    {
-public:
-    static CTelBrandingBubble* NewLC(
-        MTelBubbleExtensionData& aCallData, 
-        CTelBrandingServerHandler& aServer );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CTelBrandingBubble();
-
-    
-public: // New functions
-    TInt BubbleId() const;
-
-    void AttachElements( MTelBubbleExtensionObserver& aObs ) const;
-
-    void DetechElements( MTelBubbleExtensionObserver& aObs ) const;
-    
-private:
-    /**
-     * Creates and adds elements into array
-     */
-    void CreateCallIndicationElementL( 
-            CTelBrandingServerHandler& aServer,
-            CTelBubbleCustomElement::TElementType aType );
-   
-    /**
-     * Creates and adds elements into array in priority order.
-     *  -Element with most highest priority last must be added last.
-     *  -Lowest priority first.
-     */
-    void AddBrandingImageWithPriorityL( 
-        const TDesC8& aImageType,
-        CTelBrandingServerHandler& aServer,
-        CTelBubbleCustomElement::TElementType aType );
-    
-    /**
-     * Helper, adds element to array
-     */
-    void AddElementToArrayL( CTelBubbleCustomElement* aElement );
-
-private:
-    CTelBrandingBubble( MTelBubbleExtensionData& aCallData );
-
-    void ConstructL( 
-        CTelBrandingServerHandler& aServer );
-
-private: // data
-    /**
-     * Bubble specific data
-     */
-    MTelBubbleExtensionData& iCallData;
-
-    /**
-     * Owned images
-     */
-    RPointerArray<CTelBubbleCustomElement> iElements;
-    };
-
-
-#endif // C_CTELBRANDINGBUBBLE_H
--- a/phoneplugins/telbranding/inc/telbrandingcallindicator.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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:  Branding plug-in specific call indication.
-*
-*/
-
-#ifndef C_CTELBRANDINGCALLINDICATOR_H
-#define C_CTELBRANDINGCALLINDICATOR_H
-
-#include <telbubbleanim.h>
-
-class MTelBubbleExtensionData;
-class TAknsItemID;
-
-
-/**
- *  Branding plug-in specific call indication.
- *
- *  @since S60 S60 v5.0
- */
-NONSHARABLE_CLASS( CTelBrandingCallIndicator ) : 
-    public CTelBubbleAnim
-    {
-public:
-    /**
-    * Constructors.
-    */
-    static CTelBrandingCallIndicator* NewL( 
-        MTelBubbleExtensionData& aCallData, CEikImage* aBrand );
-    static CTelBrandingCallIndicator* NewLC( 
-        MTelBubbleExtensionData& aCallData, CEikImage* aBrand );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CTelBrandingCallIndicator();
-
-public: // From CCoeControl
-    void MakeVisible( TBool aVisible );
-    void Draw(const TRect& aRect) const;
-    void SizeChanged();
-    
-private: // New functions
-    void DoVisibleL();
-    
-    void ShowAnimationL();
-    
-    void ShowImageL();
-    
-    void AddBrandedFrameToAnimationL(
-        TAknsItemID aSkinId, 
-        TInt aBitmap, 
-        TInt aMask );
-    
-    CEikImage* GetImageL(
-        TAknsItemID aSkinId, 
-        TInt aBitmap, 
-        TInt aMask );
-    
-    
-private:
-    CTelBrandingCallIndicator( 
-        MTelBubbleExtensionData& aCallData, CEikImage* aBrand );
-
-    void ConstructL();
-
-private: // data
-    // Call information
-    MTelBubbleExtensionData& iCallData;
-    
-    /**
-     * Brand image
-     * Own.
-     */
-    CEikImage* iBrand;
-    
-    /**
-     * Call indicator image
-     * Own.
-     */
-    CEikImage* iCallIndicator;
-    };
-
-#endif // C_CTELBRANDINGCALLINDICATOR_H
--- a/phoneplugins/telbranding/inc/telbrandingimage.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +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:  Branding plug-in specific image.
-*
-*/
-
-#ifndef C_CTELBRANDINGIMAGE_H
-#define C_CTELBRANDINGIMAGE_H
-
-#include <telbubbleimage.h>
-
-/**
- *  Used to handle CTelBrandingImage visibility.
- *  Only one image is shown at one time according priority
- *
- *  @since S60 S60 v5.0
- */
-NONSHARABLE_CLASS( MTelBrandingPriorityHandler )
-    {
-public:
-    virtual void SetVisibilityAllowed( TBool aAllowed ) = 0;
-    
-    };
-
-/**
- *  Branding plug-in specific image.
- *  Uses MTelBrandingPriorityHandler to handle visibility.
- *  Only one image is shown at one time according priority
- *
- *  @since S60 S60 v5.0
- */
-NONSHARABLE_CLASS( CTelBrandingImage ): 
-    public CTelBubbleImage,
-    public MTelBrandingPriorityHandler
-    {
-public:
-    /**
-    * Constructors.
-    */
-    static CTelBrandingImage* NewL();
-    static CTelBrandingImage* NewLC();
-
-    /**
-    * Destructor.
-    */
-    virtual ~CTelBrandingImage();
-
-public: // From CCoeControl
-    void MakeVisible( TBool aVisible );
-    
-public: // From MTelBrandingPriorityHandler
-    void SetVisibilityAllowed( TBool aAllowed );
-    
-public: // New functions
-    void SetLowerPriorityBranding( MTelBrandingPriorityHandler* aHandler );
-    
-private:
-    CTelBrandingImage();
-
-    void ConstructL();
-
-private: // data
-    // Specifies that is visiblity allowed
-    TBool iVisibilityAllowed;
-    
-    // Specifies lower priority image
-    MTelBrandingPriorityHandler* iLowerPriority;
-    };
-
-#endif // C_CTELBRANDINGIMAGE_H
--- a/phoneplugins/telbranding/inc/telbrandingserverhandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Sets brand according service id.
-*
-*/
-
-#ifndef __TELBRANDINGSERVERHANDLER_H__
-#define __TELBRANDINGSERVERHANDLER_H__
-
-//  Include Files
-#include <e32base.h>	// CBase
-
-//  Constants
-
-class CFbsBitmap;
-class MBSAccess;
-class CBSFactory;
-
-//  Class Definitions
-class CTelBrandingServerHandler : public CBase
-    {
-public:
-    /**
-     * Constructs branding server and creates access
-     * @param aBrandId Specifies brand which is used
-     */
-    static CTelBrandingServerHandler* NewLC( const TDesC8& aBrandId );
-    
-    virtual ~CTelBrandingServerHandler();
-
-    /**
-     * Gets brand bitmap and mask according parameters
-     * @param aImageId Specifies brand image which is wanted
-     * @param aBitmap On succesful return contains bitmap
-     * @param aBitmask On succesful return contains mask
-     * @leave If brand not found or other error situations
-     */
-    void GetBrandIconL( 
-        const TDesC8& aImageId,
-        CFbsBitmap*& aBitmap,
-        CFbsBitmap*& aBitmask ) const;
-    
-private: // new functions
-    CTelBrandingServerHandler();
-    void ConstructL( const TDesC8& aBrandId );
-
-private: // data
-    
-    /**
-     * Own.
-     */
-    MBSAccess* iAccess;
-    
-    /**
-     * Own.
-     */
-    CBSFactory* iFactory;
-    };
-
-#endif  // __TELBRANDINGSERVERHANDLER_H__
-
-// end of file
--- a/phoneplugins/telbranding/inc/telbrandingsettingshandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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:  Sets brand according service id.
-*
-*/
-
-
-#ifndef __TELBRANDINGSETTINGSHANDLER_H__
-#define __TELBRANDINGSETTINGSHANDLER_H__
-
-//  Include Files
-#include <e32base.h>	// CBase
-
-//  Constants
-
-
-//  Class Definitions
-class CTelBrandingSettingsHandler : public CBase
-    {
-public:
-    static CTelBrandingSettingsHandler* NewL();
-    
-    virtual ~CTelBrandingSettingsHandler();
-
-    HBufC* BrandIdLC( TUint32 aServiceId ) const;
-private: // new functions
-    CTelBrandingSettingsHandler();
-    void ConstructL();
-
-private: // data
-    };
-
-#endif  // __TELBRANDINGSETTINGSHANDLER_H__
-
-// end of file
--- a/phoneplugins/telbranding/rom/telbranding.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2008-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:  IBY file for telbranding
-*
-*/
-
-
-#ifndef TELBRANDING_IBY
-#define TELBRANDING_IBY
-
-ECOM_PLUGIN( telbranding.dll, 102078F8.rsc )
-
-#endif // TELBRANDING_IBY
-
-//  End of File
\ No newline at end of file
--- a/phoneplugins/telbranding/sis/telbranding.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +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: Installation file for telbranding dll
-;
-; 
-;
-; This is an auto-generated PKG file by Carbide.
-; This file uses variables specific to Carbide builds that will not work
-; on command-line builds. If you want to use this generated PKG file from the
-; command-line tools you will need to modify the variables with the appropriate
-; values: $(EPOCROOT), $(PLATFORM), $(TARGET)
-
-;
-; UID is the dll's UID
-;
-#{"telbranding DLL"},(0x0AE7DF0B),1,0,0
-
-
-;Localised Vendor name
-%{"Vendor-EN"}
-
-;Unique Vendor name
-:"Vendor"
-
-"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\telbranding.dll"		  -"!:\sys\bin\telbranding.dll"
--- a/phoneplugins/telbranding/src/telbranding.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Sets brand according service id.
-*
-*/
-
-
-//  Include Files
-#include <telbubbleextensionobserver.h>
-#include <telbubbleextensiondata.h>
-#include <telbubblecustomelement.h>
-#include <utf.h>
-
-#include "telbranding.h"	// Ctelbranding
-#include "telbrandingsettingshandler.h"
-#include "telbrandingserverhandler.h"
-#include "telbrandingbubble.h"
-
-//  Member Functions
-
-// ---------------------------------------------------------
-// CTelBranding::NewL
-// ---------------------------------------------------------
-//
-CTelBranding* CTelBranding::NewL()
-    {
-    CTelBranding* self = new (ELeave) CTelBranding();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CTelBranding::CTelBranding
-// ---------------------------------------------------------
-//
-CTelBranding::CTelBranding()
-    {
-    }
-
-// ---------------------------------------------------------
-// CTelBranding::ConstructL
-// ---------------------------------------------------------
-//
-void CTelBranding::ConstructL()
-    {
-    iSettings = CTelBrandingSettingsHandler::NewL();
-    }
-
-// ---------------------------------------------------------
-// CTelBranding:::~CTelBranding
-// ---------------------------------------------------------
-//
-CTelBranding::~CTelBranding()
-    {
-    delete iSettings;
-    iBubbleArray.ResetAndDestroy();
-    iBubbleArray.Close();
-    }
-
-// ---------------------------------------------------------
-// CTelBranding::InitializeL
-// ---------------------------------------------------------
-//
-void CTelBranding::InitializeL( MTelBubbleExtensionObserver& aBubbles )
-    {
-    iObserver = &aBubbles;
-    }
-
-// ---------------------------------------------------------
-// CTelBranding::StartCustomizedBubble
-// ---------------------------------------------------------
-//
-void CTelBranding::StartCustomizedBubble(
-    MTelBubbleExtensionData& aCallData  )
-    {
-    TRAP_IGNORE( LoadBrandingL( aCallData ) );
-    }
-
-// ---------------------------------------------------------
-// CTelBranding::StopCustomizedBubble
-// ---------------------------------------------------------
-//
-void CTelBranding::StopCustomizedBubble(
-    MTelBubbleExtensionData& aCallData  )
-    {
-    for( TInt i = 0; i < iBubbleArray.Count(); i++ )
-        {
-        if( iBubbleArray[i]->BubbleId() == aCallData.BubbleId() )
-            {
-            iBubbleArray[i]->DetechElements( *iObserver );
-
-            delete iBubbleArray[i];
-            iBubbleArray.Remove(i);
-            i--;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CTelBranding::BubbleUpdating
-// ---------------------------------------------------------
-//
-void CTelBranding::BubbleUpdating()
-    {
-    // Do nothing
-    }
-
-// ---------------------------------------------------------
-// CTelBranding::LoadBrandingL
-// ---------------------------------------------------------
-//
-void CTelBranding::LoadBrandingL( MTelBubbleExtensionData& aCallData )
-    {
-    HBufC* brandid = iSettings->BrandIdLC( aCallData.ServiceId() );
-    HBufC8* brandid8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( *brandid );
-    CleanupStack::PopAndDestroy( brandid );
-    CleanupStack::PushL( brandid8 );
-    
-    CTelBrandingServerHandler* bserver = 
-        CTelBrandingServerHandler::NewLC( *brandid8 );
-    
-    CTelBrandingBubble* bubble = 
-        CTelBrandingBubble::NewLC( aCallData, *bserver );
-        
-    iBubbleArray.AppendL( bubble );
-    
-    CleanupStack::Pop( bubble );
-    CleanupStack::PopAndDestroy( bserver );
-    CleanupStack::PopAndDestroy( brandid8 );
-    
-    bubble->AttachElements( *iObserver );
-    }
-
-// end of file
--- a/phoneplugins/telbranding/src/telbrandingbubble.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +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:  Wraps bubble into one class.
-*
-*/
-
-#include "telbrandingbubble.h"
-#include "telbrandingcallindicator.h"
-#include "telbrandingserverhandler.h"
-#include "telbrandingimage.h"
-
-#include <telbubbleextensionobserver.h>
-#include <telbubbleextensiondata.h>
-#include <telbubblecustomelement.h>
-#include <telbubbleimage.h>
-
-// ======== CONSTANTS ========
-_LIT8( KBrandImageId, "bubble_manager_brand_image" );
-_LIT8( KCallIndicatorImageId, "bubble_manager_call_indicator_image" );
-
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::CTelBrandingBubble
-// ---------------------------------------------------------------------------
-//
-CTelBrandingBubble::CTelBrandingBubble( MTelBubbleExtensionData& aCallData ) :
-    iCallData( aCallData )
-    {
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingBubble::ConstructL(
-    CTelBrandingServerHandler& aServer )
-    {
-    // Branded call indication
-    TRAP_IGNORE( 
-        CreateCallIndicationElementL( 
-            aServer, 
-            CTelBubbleCustomElement::ESmallCallIndicator ); 
-        
-        CreateCallIndicationElementL( 
-            aServer, 
-            CTelBubbleCustomElement::EBigCallIndicator ); 
-        )
-    
-    if( !iElements.Count() )
-        {
-        // Basic brand image
-        TRAP_IGNORE( AddBrandingImageWithPriorityL( 
-                KBrandImageId, 
-                aServer, 
-                CTelBubbleCustomElement::EBrandImage ); 
-            )
-        }
-
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::NewLC
-// ---------------------------------------------------------------------------
-//
-CTelBrandingBubble* CTelBrandingBubble::NewLC(
-    MTelBubbleExtensionData& aCallData, 
-    CTelBrandingServerHandler& aServer )
-    {
-    CTelBrandingBubble* self = new( ELeave ) CTelBrandingBubble( aCallData );
-    CleanupStack::PushL( self );
-    self->ConstructL( aServer );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::~CTelBrandingBubble
-// ---------------------------------------------------------------------------
-//
-CTelBrandingBubble::~CTelBrandingBubble()
-    {
-    iElements.ResetAndDestroy();
-    iElements.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::CreateCallIndicationElementL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingBubble::CreateCallIndicationElementL( 
-    CTelBrandingServerHandler& aServer,
-    CTelBubbleCustomElement::TElementType aType )
-    {
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* mask = NULL;
-    
-    // Call indicator
-    aServer.GetBrandIconL( 
-        KCallIndicatorImageId,
-        bitmap,
-        mask );
-    
-    CEikImage* image = new(ELeave) CEikImage;
-    image->SetPicture( bitmap, mask );
-    CleanupStack::PushL( image );
-
-    CTelBrandingCallIndicator* indicator = 
-        CTelBrandingCallIndicator::NewL( iCallData, image );
-    
-    CleanupStack::Pop( image );
-    CleanupStack::PushL( indicator );
-    
-    CTelBubbleCustomElement* customElement =
-        CTelBubbleCustomElement::NewL( indicator, aType );
-    
-    CleanupStack::Pop( indicator );
-    
-    AddElementToArrayL( customElement );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::AddBrandingImageWithPriorityL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingBubble::AddBrandingImageWithPriorityL( 
-    const TDesC8& aImageType,
-    CTelBrandingServerHandler& aServer,
-    CTelBubbleCustomElement::TElementType aType )
-    {
-    CTelBrandingImage* image = 
-        CTelBrandingImage::NewLC();
-    
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* mask = NULL;
-    
-    aServer.GetBrandIconL( 
-        aImageType,
-        bitmap,
-        mask );
-    
-    image->SetPicture( bitmap, mask );
-    
-    CTelBubbleCustomElement* customElement =
-        CTelBubbleCustomElement::NewL( image, aType );
-    
-    CleanupStack::Pop( image );
-
-    TInt lowerIndex = iElements.Count()-1;
-    if( lowerIndex != KErrNotFound )
-        {
-        // Set previous element to lower priority
-        CTelBrandingImage* lowerImage = 
-            static_cast<CTelBrandingImage*>( iElements[lowerIndex]->Control() );
-        image->SetLowerPriorityBranding( lowerImage );
-        }
-    
-    AddElementToArrayL( customElement );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::AddElementToArrayL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingBubble::AddElementToArrayL( CTelBubbleCustomElement* aElement )
-    {
-    CleanupStack::PushL( aElement );
-
-    iElements.AppendL( aElement );
-
-    CleanupStack::Pop( aElement );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::BubbleId
-// ---------------------------------------------------------------------------
-//
-TInt CTelBrandingBubble::BubbleId() const
-    {
-    return iCallData.BubbleId();
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::AttachElements
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingBubble::AttachElements( MTelBubbleExtensionObserver& aObs ) const
-    {
-    for( TInt i = 0; i < iElements.Count(); i++ )
-        {
-        aObs.AttachElement(
-            BubbleId(), iElements[i] );
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingBubble::DetechElements
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingBubble::DetechElements( MTelBubbleExtensionObserver& aObs ) const
-    {
-    for( TInt i = 0; i < iElements.Count(); i++ )
-        {
-        aObs.DetachElement(
-            BubbleId(), iElements[i] );
-        }
-    }
-
--- a/phoneplugins/telbranding/src/telbrandingcallindicator.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,309 +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:  Branding specific call indication.
-*
-*/
-
-#include <telbubbleextensiondata.h>
-#include <AknsUtils.h>
-#include <eikimage.h>
-#include <callstatus.mbg> // From bubblemanager
-#include <aknconsts.h>
-#include <AknBitmapAnimation.h>  // Animation definition
-#include <AknUtils.h>
-
-#include "telbrandingcallindicator.h"
-
-
-// ======== LOCAL FUNCTIONS ========
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::CTelBrandingCallIndicator
-// ---------------------------------------------------------------------------
-//
-CTelBrandingCallIndicator::CTelBrandingCallIndicator( 
-    MTelBubbleExtensionData& aCallData, CEikImage* aBrand ) :
-    iCallData( aCallData ),
-    iBrand( aBrand ),
-    iCallIndicator( NULL )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingCallIndicator::ConstructL()
-    {
-    CTelBubbleAnim::ConstructL( 500 );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::NewL
-// ---------------------------------------------------------------------------
-//
-CTelBrandingCallIndicator* CTelBrandingCallIndicator::NewL(
-    MTelBubbleExtensionData& aCallData, CEikImage* aBrand )
-    {
-    CTelBrandingCallIndicator* self = 
-        CTelBrandingCallIndicator::NewLC( aCallData, aBrand );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::NewLC
-// ---------------------------------------------------------------------------
-//
-CTelBrandingCallIndicator* CTelBrandingCallIndicator::NewLC(
-    MTelBubbleExtensionData& aCallData, CEikImage* aBrand )
-    {
-    CTelBrandingCallIndicator* self = 
-        new( ELeave ) CTelBrandingCallIndicator( aCallData, aBrand );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::~CTelBrandingCallIndicator
-// ---------------------------------------------------------------------------
-//
-CTelBrandingCallIndicator::~CTelBrandingCallIndicator()
-    {
-    delete iBrand;
-    delete iCallIndicator;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::MakeVisible
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingCallIndicator::MakeVisible( TBool aVisible )
-    {
-    CTelBubbleAnim::MakeVisible( aVisible );
-
-    if( aVisible )
-        {
-        TRAP_IGNORE( DoVisibleL() );
-        }
-    else
-        {
-        StopAnimation();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::Draw
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingCallIndicator::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc();
-    
-    // Position is botton right corner minus image size
-    TPoint brandPlace = Rect().iBr - iBrand->MinimumSize();
-    TPoint callIndPlace = Rect().iTl;
-
-    if( AknLayoutUtils::LayoutMirrored() )
-        {
-        // Fix position when arabic variant is in use
-        brandPlace.iX = Rect().iTl.iX;
-        
-        if( iCallIndicator )
-            {
-            callIndPlace.iX = Rect().iBr.iX - iCallIndicator->MinimumSize().iWidth;
-            }
-        
-        }
-    
-    gc.BitBltMasked( brandPlace,
-                     iBrand->Bitmap(),
-                     iBrand->MinimumSize(),
-                     iBrand->Mask(),
-                     ETrue );
-    
-    if( iCallIndicator )
-        {
-        gc.BitBltMasked( callIndPlace,
-            iCallIndicator->Bitmap(),
-            iCallIndicator->MinimumSize(),
-            iCallIndicator->Mask(),
-            ETrue );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingCallIndicator::SizeChanged()
-    {
-    CCoeControl::SizeChanged();
-    TPoint place = Rect().iTl;
-    
-    TSize imageSize = Rect().Size();
-    imageSize.iHeight /= 1.5;
-    imageSize.iWidth /= 1.5;
-
-    if( AknLayoutUtils::LayoutMirrored() )
-        {
-        // Fix position when arabic variant is in use
-        place.iX = Rect().iBr.iX - imageSize.iWidth;
-        }
-    
-    iAnimation->SetRect( TRect( place, imageSize ) );
-    
-    if ( iBrand->Bitmap() )
-        {
-        AknIconUtils::SetSize( 
-            const_cast<CFbsBitmap*> ( iBrand->Bitmap() ), 
-            imageSize );
-        }
-    
-    if ( iCallIndicator )
-        {
-        AknIconUtils::SetSize( 
-            const_cast<CFbsBitmap*> ( iCallIndicator->Bitmap() ), 
-            imageSize );
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::DoVisibleL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingCallIndicator::DoVisibleL()
-    {
-    Reset();
-    delete iCallIndicator;
-    iCallIndicator = NULL;
-    
-    switch( iCallData.State() )
-        {
-        case MTelBubbleExtensionData::EOnHold:
-            // Show icon
-            iCallIndicator = GetImageL( 
-                KAknsIIDQgnIndiCallHeld,
-                EMbmCallstatusQgn_indi_call_held,
-                EMbmCallstatusQgn_indi_call_held_mask );
-            break;
-        case MTelBubbleExtensionData::EAlertToDisconnected:
-        case MTelBubbleExtensionData::EDisconnected:
-            // Show icon
-            iCallIndicator = GetImageL( 
-                KAknsIIDQgnIndiCallDisconn,
-                EMbmCallstatusQgn_indi_call_disconn,
-                EMbmCallstatusQgn_indi_call_disconn_mask );
-            break;
-        case MTelBubbleExtensionData::EOutgoing:
-        case MTelBubbleExtensionData::EActive:
-            // Show icon
-            iCallIndicator = GetImageL( 
-                KAknsIIDQgnIndiCallActive,
-                EMbmCallstatusQgn_indi_call_active,
-                EMbmCallstatusQgn_indi_call_active_mask );
-            break;
-        case MTelBubbleExtensionData::EIncoming:
-        case MTelBubbleExtensionData::EWaiting:
-        case MTelBubbleExtensionData::EAlerting:
-            // frame 1
-            AddBrandedFrameToAnimationL( 
-                KAknsIIDQgnIndiCallActive,
-                EMbmCallstatusQgn_indi_call_active,
-                EMbmCallstatusQgn_indi_call_active_mask );
-            
-            // frame 2
-            AddBrandedFrameToAnimationL( 
-                KAknsIIDQgnIndiCallActive2,
-                EMbmCallstatusQgn_indi_call_active_2,
-                EMbmCallstatusQgn_indi_call_active_2_mask );
-            break;
-            
-        case MTelBubbleExtensionData::ENone:
-        default:
-            // Do nothing
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::ShowAnimationL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingCallIndicator::ShowAnimationL()
-    {
-
-
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::ShowImageL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingCallIndicator::ShowImageL()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::AddBrandedFrameToAnimationL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingCallIndicator::AddBrandedFrameToAnimationL( 
-    TAknsItemID aSkinId, TInt aBitmap, TInt aMask )
-    {
-    CEikImage* image = GetImageL( aSkinId, aBitmap, aMask );
-    AddFrameToAnimationLD( image );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingCallIndicator::GetImageL
-// ---------------------------------------------------------------------------
-//
-CEikImage* CTelBrandingCallIndicator::GetImageL(
-    TAknsItemID aSkinId, 
-    TInt aBitmap, 
-    TInt aMask )
-    {
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-    
-    CEikImage* image = new(ELeave) CEikImage;
-    CleanupStack::PushL( image );
-        
-    AknsUtils::CreateIconL( 
-        AknsUtils::SkinInstance(),
-        aSkinId,
-        bitmap,
-        mask,
-        KCallStatusBitmapFile,
-        aBitmap,
-        aMask
-        );
-
-    image->SetPicture( bitmap, mask );
-    
-    CleanupStack::Pop( image );
-    return image;
-    }
-
-// End of file
--- a/phoneplugins/telbranding/src/telbrandingimage.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +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:  Branding specific image.
-*
-*/
-
-
-#include "telbrandingimage.h"
-
-
-// ======== LOCAL FUNCTIONS ========
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CTelBrandingImage::CTelBrandingImage
-// ---------------------------------------------------------------------------
-//
-CTelBrandingImage::CTelBrandingImage() :
-    iVisibilityAllowed( ETrue )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingImage::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingImage::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingImage::NewL
-// ---------------------------------------------------------------------------
-//
-CTelBrandingImage* CTelBrandingImage::NewL()
-    {
-    CTelBrandingImage* self = CTelBrandingImage::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingImage::NewLC
-// ---------------------------------------------------------------------------
-//
-CTelBrandingImage* CTelBrandingImage::NewLC()
-    {
-    CTelBrandingImage* self = new( ELeave ) CTelBrandingImage;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBrandingImage::~CTelBrandingImage
-// ---------------------------------------------------------------------------
-//
-CTelBrandingImage::~CTelBrandingImage()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingImage::MakeVisible
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingImage::MakeVisible( TBool aVisible )
-    {
-    if( iVisibilityAllowed && iLowerPriority )
-        {
-        // Inform lower priority element
-        //  - Allow to be shown when this is not shown
-        //  - Dont allow to show when this is shown
-        iLowerPriority->SetVisibilityAllowed( !aVisible );
-        }
-    
-    if( aVisible )
-        {
-        if( iVisibilityAllowed )
-            {
-            // Make visible since its allowed
-            CTelBubbleImage::MakeVisible( aVisible );
-            }
-        else
-            {
-            // Do nothing when visibilty not allowed
-            }
-        }
-    else
-        {
-        // Always make not visible
-        CTelBubbleImage::MakeVisible( aVisible );
-        }
-
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingImage::SetVisibilityAllowed
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingImage::SetVisibilityAllowed( TBool aAllowed )
-    {
-    iVisibilityAllowed = aAllowed;
-    
-    if( iLowerPriority )
-        {
-        // Inform lower priority elements
-        iLowerPriority->SetVisibilityAllowed( aAllowed );
-        }
-    
-    if( IsVisible() && !iVisibilityAllowed )
-        {
-        // If visible and visibility not allowed
-        CTelBubbleImage::MakeVisible( EFalse );
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBrandingImage::SetLowerPriorityBranding
-// ---------------------------------------------------------------------------
-//
-void CTelBrandingImage::SetLowerPriorityBranding( 
-    MTelBrandingPriorityHandler* aHandler )
-    {
-    iLowerPriority = aHandler;
-    }
-
-
--- a/phoneplugins/telbranding/src/telbrandingproxy.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  ecom proxyfile        
-*
-*/
-
-
-
-#include <e32base.h>
-#include <implementationproxy.h>
-#include "telbrandingconstants.hrh"
-
-#include "telbranding.h"
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// TImplementationProxy::ImplementationTable
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY( KImplementationUid, CTelBranding::NewL )
-    };
-
-// ---------------------------------------------------------------------------
-// TImplementationProxy::ImplementationGroupProxy
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
-    TInt& aTableCount )
-    {
-    aTableCount = 
-        sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-
-    return ImplementationTable;
-    }
-
-//  End of File  
--- a/phoneplugins/telbranding/src/telbrandingserverhandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Sets brand according service id.
-*
-*/
-
-
-//  Include Files  
-#include "telbrandingserverhandler.h"	// CTelBrandingServerHandler
-#include <mbsaccess.h>
-#include <mbselement.h>
-#include <cbsfactory.h>
-#include <cbsbitmap.h>
-#include <barsread.h>
-
-_LIT8( KApplicationId, "xsp" );
-_LIT8( KDefaultBrandId, "xsp" );
-
-//  Member Functions
-
-// ---------------------------------------------------------
-// CTelBrandingServerHandler::NewL
-// ---------------------------------------------------------
-//
-CTelBrandingServerHandler* CTelBrandingServerHandler::NewLC( 
-    const TDesC8& aBrandId )
-    {
-    CTelBrandingServerHandler* self = 
-        new (ELeave) CTelBrandingServerHandler();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( aBrandId );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CTelBrandingServerHandler::CTelBrandingServerHandler
-// ---------------------------------------------------------
-//
-CTelBrandingServerHandler::CTelBrandingServerHandler() :
-    iAccess( NULL ),
-    iFactory( NULL )
-    {
-    }
-
-// ---------------------------------------------------------
-// CTelBrandingServerHandler::ConstructL
-// ---------------------------------------------------------
-//
-void CTelBrandingServerHandler::ConstructL( const TDesC8& aBrandId )
-    {
-    TInt languageId( ELangInternationalEnglish );
-    
-    // connect to branding server
-    iFactory = CBSFactory::NewL( 
-        KDefaultBrandId,
-        KApplicationId );
-
-    
-    // Create access to Branding server
-    iAccess = iFactory->CreateAccessL( aBrandId, 
-        TLanguage( languageId ) );
-    }
-
-// ---------------------------------------------------------
-// CTelBrandingServerHandler::GetBrandIconL
-// ---------------------------------------------------------
-//
-void CTelBrandingServerHandler::GetBrandIconL( 
-    const TDesC8& aImageId,
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aBitmask ) const
-    {
-    // Fetch brand image
-    iAccess->GetBitmapL( aImageId, aBitmap, aBitmask );
-    }
-
-// ---------------------------------------------------------
-// CTelBrandingServerHandler:::~CTelBrandingServerHandler
-// ---------------------------------------------------------
-//
-CTelBrandingServerHandler::~CTelBrandingServerHandler()
-    {
-    if( iAccess )
-        {
-        iAccess->Close();
-        }
-
-    delete iFactory;
-    }
-
-
-
-// end of file
--- a/phoneplugins/telbranding/src/telbrandingsettingshandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +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:  Sets brand according service id.
-*
-*/
-
-
-//  Include Files  
-#include "telbrandingsettingshandler.h"	// CTelBrandingSettingHandler
-#include <spsettings.h>
-#include <spproperty.h>
-
-//  Member Functions
-
-// ---------------------------------------------------------
-// CTelBrandingSettingsHandler::NewL
-// ---------------------------------------------------------
-//
-CTelBrandingSettingsHandler* CTelBrandingSettingsHandler::NewL()
-    {
-    CTelBrandingSettingsHandler* self = 
-        new (ELeave) CTelBrandingSettingsHandler();
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CTelBrandingSettingsHandler::CTelBrandingSettingsHandler
-// ---------------------------------------------------------
-//
-CTelBrandingSettingsHandler::CTelBrandingSettingsHandler()
-    {
-    }
-
-// ---------------------------------------------------------
-// CTelBrandingSettingsHandler::ConstructL
-// ---------------------------------------------------------
-//
-void CTelBrandingSettingsHandler::ConstructL()
-    {
-
-    }
-
-// ---------------------------------------------------------
-// CTelBrandingSettingsHandler::BrandId
-// ---------------------------------------------------------
-//
-HBufC* CTelBrandingSettingsHandler::BrandIdLC( TUint32 aServiceId ) const
-    {
-    HBufC* ret = HBufC::NewLC( KSPMaxDesLength );
-    TPtr ptr( ret->Des() );
-    CSPSettings* settings = CSPSettings::NewLC();
-    CSPProperty* property = CSPProperty::NewLC();
-    
-    User::LeaveIfError( settings->FindPropertyL( aServiceId, 
-        EPropertyBrandId, *property) );
-    
-    User::LeaveIfError( property->GetValue( ptr ) );
-    
-    CleanupStack::PopAndDestroy( property );
-    CleanupStack::PopAndDestroy( settings );
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// CTelBrandingSettingsHandler:::~CTelBrandingSettingsHandler
-// ---------------------------------------------------------
-//
-CTelBrandingSettingsHandler::~CTelBrandingSettingsHandler()
-    {
-
-    }
-
-
-
-// end of file
--- a/phonesettings/aiwcallimageplugin/data/102823d0.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 1028 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECom resource file for aiwcallimageplugin.
-*
-*/
-
-
-
-//  INCLUDES
-#include    <registryinfov2.rh>
-#include    <AiwCommon.hrh>
-#include    "aiwcallimageplugin.hrh"
-
-
-//  RESOURCE DEFINITIONS 
-
-// -----------------------------------------------------------------------------
-//   
-// theInfo
-// ECOM registry information - defined as ROM only.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-    {
-    resource_format_version = RESOURCE_FORMAT_VERSION_2;
-
-    dll_uid = KAiwCallImagePluginImplementationUid;
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            interface_uid = KAiwClassMenu;
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = KAiwCallImagePluginImplementationUid;
-                    version_no = 1;
-                    display_name = "";
-                    default_data = "*";
-                    opaque_data = KAiwCmdAssignStr;
-                    rom_only = 1;
-                    }
-                };
-            }
-        };
-    }
-
-// End of File
-
-
--- a/phonesettings/aiwcallimageplugin/data/aiwcallimageplugin.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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 aiwcallimage plugin.
-;
-; Languages
-&EN
-
-; Header
-#{"aiwcallimageplugin"}, (0x102823D0), 10, 1, 0, TYPE=PU
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-"\epoc32\RELEASE\armv5\UREL\aiwcallimageplugin.dll"-"z:\sys\bin\aiwcallimageplugin.dll"
-"\epoc32\data\z\resource\aiwcallimageplugin.rsc"-"z:\resource\aiwcallimageplugin.rsc"
-"\epoc32\data\z\resource\plugins\aiwcallimageplugin.rsc"-"z:\resource\plugins\aiwcallimageplugin.rsc"
--- a/phonesettings/aiwcallimageplugin/data/aiwcallimageplugin.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 2004-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 file contains all the resources 
-*                for the aiwcallimageplugin.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME     CIMP
-
-//  INCLUDES
-#include <eikon.rh>
-#include <avkon.rh>
-#include <avkon.hrh>
-#include <avkon.rsg>
-#include <avkon.loc>
-
-#include "aiwcallimageplugin.hrh"
-#include <aiwcallimageplugin.loc>
-#include <drmcommon.loc>
-#include <AiwCommon.hrh>
-
-//  RESOURCE DEFINITIONS 
-
-// -----------------------------------------------------------------------------
-//
-//    RSS_SIGNATURE
-//    
-//    Signature.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE {}
-    
-//----------------------------------------------------
-//   
-//    EIK_APP_INFO
-//    It contains application information.
-//
-//----------------------------------------------------
-//
-RESOURCE EIK_APP_INFO {}
-
-// -----------------------------------------------------------------------------
-//   
-//    r_call_image_menu
-//    
-//    Call menu (non-cascaded).
-//    
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_call_image_menu
-    {
-    items=
-        {
-        MENU_ITEM
-            { 
-            command = ECallImage; 
-            txt = qtn_call_image_menu_item;
-            }
-        };
-    }
-    
-//----------------------------------------------------
-//
-//    r_call_image_error_note
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_call_image_error_note
-    {
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ECallImageGeneralNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EGeneralLayout;
-                singular_label = qtn_call_image_fail_note;
-                plural_label = "";               
-                animation = R_QGN_NOTE_ERROR_ANIM;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------
-//
-//    r_call_image_ok_note
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_call_image_ok_note
-    {
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ECallImageGeneralNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EGeneralLayout;
-                singular_label = qtn_call_image_conf_note;
-                plural_label = "";               
-                animation = R_QGN_NOTE_OK_ANIM;
-                };
-            }
-        };
-    } 
-
-//----------------------------------------------------
-//
-//    r_call_image_drm_note
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_call_image_drm_note
-    {
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = ECallImageGeneralNote;
-            control = AVKON_NOTE 
-                { 
-                layout = EGeneralLayout;
-                singular_label = qtn_drm_not_allowed;
-                plural_label = "";               
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    } 
-    
-// End of File
Binary file phonesettings/aiwcallimageplugin/data/aiwcallimageplugin_stub.SIS has changed
--- a/phonesettings/aiwcallimageplugin/data/aiwcallimageplugin_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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 aiwcallimage plugin stub.
-;
-; Languages
-&EN
-
-; Header
-#{"aiwcallimageplugin"}, (0x102823D0), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\aiwcallimageplugin.dll"
-""-"z:\resource\aiwcallimageplugin.rsc"
-""-"z:\resource\plugins\aiwcallimageplugin.rsc"
--- a/phonesettings/aiwcallimageplugin/group/aiwcallimageplugin.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Project specification for Aiw Call Image plugin.
-*
-*/
-
-#include  <platform_paths.hrh>
-#include  <data_caging_paths.hrh>    // For RESOURCE_FILES_DIR
-
-// Capability assignment.
-CAPABILITY      CAP_ECOM_PLUGIN WriteDeviceData
-TARGET          aiwcallimageplugin.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D 0x102823D0
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          aiwcallimageplugin.cpp
-SOURCE          aiwcallimagepluginmain.cpp
-
-SOURCEPATH      ../data
-
-START RESOURCE  102823d0.rss
-TARGET          aiwcallimageplugin.rsc
-END
-
-START RESOURCE  aiwcallimageplugin.rss
-DEPENDS avkon.rsg
-TARGETPATH      RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../data
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom
-
-LIBRARY         euser.lib
-LIBRARY         servicehandler.lib      // AIW Framework.
-LIBRARY         centralrepository.lib   // for CenRep usage.
-LIBRARY         avkon.lib               // Note showing.
-LIBRARY         cone.lib                // for CCoeEnv usage.
-LIBRARY         drmhelper.lib           // for DRM functionality.
-LIBRARY         bafl.lib                // For loading language specific resourse.
-LIBRARY         drmutility.lib
-LIBRARY         efsrv.lib
-LIBRARY   		aknskinsrv.lib		//skinServer
-// End of file
--- a/phonesettings/aiwcallimageplugin/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* 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:  Build information specification for Aiw Call Image plugin.
-*
-*/
-
-
-#ifdef  __CALL_IMAGETEXT
-#include  <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../data/aiwcallimageplugin_stub.SIS\
-    /epoc32/data/z/system/install/aiwcallimageplugin_stub.SIS
-    
-../rom/aiwcallimageplugin.iby\
-    CORE_APP_LAYER_IBY_EXPORT_PATH(aiwcallimageplugin.iby)
-
-../rom/aiwcallimagepluginresources.iby\
-    LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(aiwcallimagepluginresources.iby)
-    
-../loc/aiwcallimageplugin.loc\
-    APP_LAYER_LOC_EXPORT_PATH(aiwcallimageplugin.loc)
-
-PRJ_MMPFILES
-aiwcallimageplugin.mmp
-
-PRJ_TESTMMPFILES
-#endif // __CALL_IMAGETEXT
-
-//  End of File  
--- a/phonesettings/aiwcallimageplugin/inc/aiwcallimageplugin.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* 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:  Provides ECOM interface implementation for aiwcallimageplugin.
-*
-*/
-
-
-#ifndef AIWCALLIMAGEPLUGIN_H
-#define AIWCALLIMAGEPLUGIN_H
-
-
-//  INCLUDES
-#include    <AiwServiceIfMenu.h>
-#include    <AiwCommon.h>
-
-
-// FORWARD DECLARATIONS
-class MAiwNotifyCallback;
-
-
-// CLASS DECLARATION
-
-/**
-*  AiwCallImagePlugin implementation.
-*
-*  @since 3.2
-*/
-class CAiwCallImagePlugin : public CAiwServiceIfMenu
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * 
-        * @return An instance of CaUiPlugin.
-        */
-        static CAiwCallImagePlugin* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CAiwCallImagePlugin();
-
-    public: // Functions from base classes
-
-        /**
-        * @see CAiwServiceIfBase::InitialiseL.
-        */
-        void InitialiseL(
-            MAiwNotifyCallback& aFrameworkCallback,
-            const RCriteriaArray& aInterest );
-
-        /**
-        * @see CAiwServiceIfBase::HandleServiceCmdL.
-        */
-        void HandleServiceCmdL(
-            const TInt& aCmdId,
-            const CAiwGenericParamList& aInParamList,
-            CAiwGenericParamList& aOutParamList,
-            TUint aCmdOptions = 0,
-            const MAiwNotifyCallback* aCallback = NULL );
-
-        /**
-        * @see CAiwServiceIfMenu::InitializeMenuPaneL.
-        */
-        void InitializeMenuPaneL(
-        CAiwMenuPane& aMenuPane,
-            TInt aIndex,
-            TInt aCascadeId,
-            const CAiwGenericParamList& aInParamList );
-
-        /**
-        * @see CAiwServiceIfMenu::HandleMenuCmdL.
-        */
-        void HandleMenuCmdL(
-            TInt aMenuCmdId,
-            const CAiwGenericParamList& aInParamList,
-            CAiwGenericParamList& aOutParamList,
-            TUint aCmdOptions = 0,
-            const MAiwNotifyCallback* aCallback = NULL );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CAiwCallImagePlugin();
-   
-    private:
-    
-        /**
-        * Shows confirmation note.
-        */
-        void ShowNoteL( TInt aError );
-        
-        /**
-        * Shows drm error note.
-        */
-        void ShowDRMErrorNoteL();
-        
-        /**
-        * Sets call image path to Central Repository.
-        */
-        TInt SetCallImagePathL( const TAiwGenericParam* aPathParam );
-        
-        /**
-        * Reads AIW parameters.
-        */
-        TPtrC GetAiwParamAsDescriptor( 
-            const CAiwGenericParamList& aParamList,
-		    TGenericParamId aParamType );
-	    
-	    /**
-        * Checks if call image plugin menu option is to be loaded.
-        */
-	    TBool IsMimeTypeSupportedL( const TDesC& aMimeTypeString );
-    };
-
-#endif  // AIWCALLIMAGEPLUGIN_H
-
-// End of file
--- a/phonesettings/aiwcallimageplugin/inc/aiwcallimageplugin.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Defines UIDs used in aiwcallimageplugin.
-*
-*/
-
-
-#ifndef AIWCALLIMAGEPLUGIN_HRH
-#define AIWCALLIMAGEPLUGIN_HRH
-
-
-// CONSTANTS
-
-// Connection utility implementation uid.
-#define KAiwCallImagePluginImplementationUid 0x102823D0
-
-// Values for different kinds of call commands.
-enum
-    {
-    ECallImage = 500
-    };
-
-// Enumerates resource identifiers
-enum 
-    { 
-    // General note id
-    ECallImageGeneralNote = 1
-    };
-
-#endif // AIWCALLIMAGEPLUGIN_HRH
-
-
-// End of File
--- a/phonesettings/aiwcallimageplugin/loc/aiwcallimageplugin.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2004-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 file contains the localised strings for aiwcallimageplugin.
-*
-*/
-
-
-
-//  LOCALISATION STRINGS
-
-
-// d: It is text for set call iamge menu option. If it is selected, 
-// d: typical call image set is done.
-// l: list_single_popup_submenu_pane_t1
-//
-#define qtn_call_image_menu_item "Set as Call Image"
-
-// d: It is text shown in an error note when
-// d: call image set is failed.
-// l: popup_note_window
-//
-#define qtn_call_image_fail_note "Image set failed"
-
-// d: It is text shown in an note when
-// d: call image set is succesful.
-// l: popup_note_window
-//
-#define qtn_call_image_conf_note "Set as call image"
-
-//  End of File  
--- a/phonesettings/aiwcallimageplugin/rom/aiwcallimageplugin.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  aiwcallimageplugin's iby definitions.
- *
-*/
-
-
-#ifndef __AIWCALLIMAGEPLUGIN_IBY__
-#define __AIWCALLIMAGEPLUGIN_IBY__
-
-#ifdef __CALL_IMAGETEXT
-
-REM AiwCallImagePlugin
-ECOM_PLUGIN(AiwCallImagePlugin.dll,102823D0.rsc)
-data=ZSYSTEM\install\aiwcallimageplugin_stub.SIS     System\Install\aiwcallimageplugin_stub.SIS
-#endif	// __CALL_IMAGETEXT
-
-#endif // __AIWCALLIMAGEPLUGIN_IBY__
--- a/phonesettings/aiwcallimageplugin/rom/aiwcallimagepluginresources.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  aiwcallimagepluginresources's iby definitions.
- *
-*/
-
-
-#ifndef __AIWCALLIMAGEPLUGIN_RESOURCES_IBY__
-#define __AIWCALLIMAGEPLUGIN_RESOURCES_IBY__
-
-#ifdef __CALL_IMAGETEXT
-
-data=DATAZ_\RESOURCE_FILES_DIR\aiwcallimageplugin.rsc  RESOURCE_FILES_DIR\aiwcallimageplugin.rsc
-
-
-#endif	// __CALL_IMAGETEXT
-
-#endif // __AIWCALLIMAGEPLUGIN_RESOURCES_IBY__
\ No newline at end of file
--- a/phonesettings/aiwcallimageplugin/src/aiwcallimageplugin.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,408 +0,0 @@
-/*
-* Copyright (c) 2004-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 Call Image plugin.
-*
-*/
-
-    
-
-// INCLUDE FILES
-#include <AiwCommon.h>              // AIW classes and definitions.
-#include <AiwCommon.hrh>            // AIW constants.
-#include <AiwMenu.h>                // AIW Menu pane.
-#include <aiwcallimageplugin.rsg>
-#include <pslninternalcrkeys.h>
-#include <centralrepository.h>
-#include <data_caging_path_literals.hrh>
-#include <aknnotedialog.h>
-#include <DRMHelper.h>
-#include <bautils.h>
-#include <drmutility.h>
-#include <AknsSrvClient.h>
-
-#include "aiwcallimageplugin.h"     // This class interface.
-#include "aiwcallimageplugin.hrh"   // AiwCallImagePlugin constants.
-
-
-
-// CONSTANTS
-
-// Drive letter.
-_LIT( KResourceDrive, "z:" );
-
-// Path to compiled resource file.
-_LIT( KCallImageResFile, "aiwcallimageplugin.rsc" );
-
-// Call Image mime types.
-_LIT( KCallImagePluginMimeTypeImage, "IMAGE" );
-_LIT( KCallImagePluginMimeTypeOTABitmap, "IMAGE/X-OTA-BITMAP" );
-_LIT( KCallImagePluginSeparator, "/" );
-// Extension for scalable vector graphics file.
-_LIT( KAknsSkinSrvSvgFileExt, ".svg" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::CAiwCallImagePlugin
-// 
-// C++ constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CAiwCallImagePlugin::CAiwCallImagePlugin()
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::NewL
-// 
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CAiwCallImagePlugin* CAiwCallImagePlugin::NewL()
-    {
-    CAiwCallImagePlugin* self = new( ELeave ) CAiwCallImagePlugin;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::~CAiwCallImagePlugin
-// 
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CAiwCallImagePlugin::~CAiwCallImagePlugin()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::InitialiseL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CAiwCallImagePlugin::InitialiseL(
-    MAiwNotifyCallback& /*aFrameworkCallback*/,
-    const RCriteriaArray& /*aInterest*/)
-    {
-    // Stub. Not used.
-    }
-
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::HandleServiceCmdL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CAiwCallImagePlugin::HandleServiceCmdL(
-    const TInt& aCmdId,
-    const CAiwGenericParamList& aInParamList,
-    CAiwGenericParamList& /*aOutParamList*/,
-    TUint aCmdOptions,
-    const MAiwNotifyCallback* /*aCallback*/ )
-    {
-    
-    // Cancel bit must always be checked. Support can be implemented if necessary.
-    if( aCmdOptions & KAiwOptCancel )
-        {
-        return;
-        }
-        
-    // Handle only call command.
-    if ( aCmdId == KAiwCmdAssign )
-        {
-        // Check if there is call image path parameter.
-        TInt index = 0;
-        const TAiwGenericParam* genericParam = NULL; 
-            
-        genericParam = aInParamList.FindFirst( 
-            index,
-            EGenericParamFile,
-            EVariantTypeDesC );
-            
-        if ( index >= 0 && genericParam )
-            {
-             User::LeaveIfError( SetCallImagePathL( genericParam ) );
-            }
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::SetCallImagePathL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TInt CAiwCallImagePlugin::SetCallImagePathL( const TAiwGenericParam* aPathParam )
-    {
-    TInt error( KErrNone );
-    TBool drm( EFalse );
-    TBool iDrmProtected( EFalse ); 
-    RFile fileHandle;
-    TUint fileMode = EFileShareReadersOrWriters | EFileStream | EFileRead;
-    RFs fs = CCoeEnv::Static()->FsSession();
-     
-    User::LeaveIfError(fileHandle.Open(fs, aPathParam->Value().AsDes(), fileMode));
-    CleanupClosePushL(fileHandle);
-     
-    DRM::CDrmUtility* drmUtil = DRM::CDrmUtility::NewLC();
-    iDrmProtected = drmUtil->IsProtectedL(fileHandle);
-     
-    CleanupStack::PopAndDestroy(2); // fileHandle, drmUtil
-    
-    if( !iDrmProtected )
-        {
-        CDRMHelper* drmHelper = CDRMHelper::NewL( *CCoeEnv::Static() );
-        drmHelper->CanSetAutomated( aPathParam->Value().AsDes(), drm );
-        delete drmHelper;
-        }
-
-	//Before setting image, check is the image corruputed
-	RAknsSrvSession skinsrv;
-	User::LeaveIfError( skinsrv.Connect() );
-	CleanupClosePushL( skinsrv );
-	CFbsBitmap* bmp = NULL;
-	CFbsBitmap* mask = NULL;
-     // no way currently of checking corrupted svg:s
-     if ( ( aPathParam->Value().AsDes().Right( 4 ) ).CompareF( KAknsSkinSrvSvgFileExt ) )
-    	{
-		 // (-1, -1) means that image is just decoded, not used    	
-   	 	TRAP( error, skinsrv.DecodeWallpaperImageL( aPathParam->Value().AsDes(), TSize(-1,-1), bmp, mask ) );
-   	 	if( error )
-   	 		{
-   	 		//File is corrupted
-   	 		ShowNoteL( error );
-    		CleanupStack::PopAndDestroy( &skinsrv );
-    		//Need to return KErrNone because there would happen a Leave upper in callstack. This how
-    		//AIW plugin can show more accurate error note.   	 		
-   	 		return KErrNone;
-	  	 	}
-    	}
-    CleanupStack::PopAndDestroy( &skinsrv );
-
-    CRepository* pathCen = CRepository::NewL ( KCRUidThemes ); 
-    CleanupStack::PushL( pathCen );
-    if ( drm )
-        {
-        error = pathCen->Set( KThemesCallImagePath, aPathParam->Value().AsDes() );
-        // If path setting fails do not set image support on.
-        if ( error == KErrNone )
-            {
-            error = pathCen->Set( KThemesCallImageSetting, ETrue );    
-            }
-        ShowNoteL( error );
-        }
-    else // drm check failed show error note
-        {
-        ShowDRMErrorNoteL();
-        }
-    
-    CleanupStack::PopAndDestroy(); // pathCen
-    
-    return error;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::ShowDRMErrorNoteL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CAiwCallImagePlugin::ShowDRMErrorNoteL()
-    {
-    // Resource file definition.   
-    TFileName callImageRsc( KResourceDrive );
-    callImageRsc.Append( KDC_RESOURCE_FILES_DIR );
-    callImageRsc.Append( KCallImageResFile );
-
-    CCoeEnv* env = CCoeEnv::Static();
-    BaflUtils::NearestLanguageFile( env->FsSession(), callImageRsc );
-    TInt resourceOffSet = env->AddResourceFileL( callImageRsc );
-    
-    CAknNoteDialog* dlg = new(ELeave) CAknNoteDialog;
-    CAknNoteDialog::TTimeout timeout = CAknNoteDialog::ELongTimeout;
-    dlg->SetTone( CAknNoteDialog::EErrorTone );       
-    dlg->PrepareLC( R_CALL_IMAGE_DRM_NOTE );
-    dlg->SetTimeout( timeout );
-    dlg->RunDlgLD();
-    // Free resource.
-    env->DeleteResourceFile( resourceOffSet );
-    }
-    
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::ShowNoteL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CAiwCallImagePlugin::ShowNoteL( TInt aError )
-    {
-    TInt resourceId = R_CALL_IMAGE_OK_NOTE;
-    // Resource file definition.   
-    TFileName callImageRsc( KResourceDrive );
-    callImageRsc.Append( KDC_RESOURCE_FILES_DIR );
-    callImageRsc.Append( KCallImageResFile );
-
-    CCoeEnv* env = CCoeEnv::Static();
-    BaflUtils::NearestLanguageFile( env->FsSession(), callImageRsc );
-    TInt resourceOffSet = env->AddResourceFileL( callImageRsc );
-    
-    CAknNoteDialog* dlg = new(ELeave) CAknNoteDialog;
-    CAknNoteDialog::TTimeout timeout = CAknNoteDialog::ELongTimeout;
-    
-    if ( aError != KErrNone )
-        {
-        resourceId = R_CALL_IMAGE_ERROR_NOTE;
-        dlg->SetTone( CAknNoteDialog::EErrorTone );
-        }         
-    dlg->PrepareLC( resourceId );
-    dlg->SetTimeout( timeout );
-    dlg->RunDlgLD();
-    // Free resource.
-    env->DeleteResourceFile( resourceOffSet );
-    }
-
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::InitializeMenuPaneL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CAiwCallImagePlugin::InitializeMenuPaneL(
-    CAiwMenuPane& aMenuPane,
-    TInt aIndex,
-    TInt /* aCascadeId */,
-    const CAiwGenericParamList& aInParamList )
-    {
-    TPtrC mimeTypeString = GetAiwParamAsDescriptor(aInParamList, EGenericParamMIMEType);
-    
-    // Insert menu only if supported MIME type is given
-    if ( ( mimeTypeString != KNullDesC ) && 
-        (IsMimeTypeSupportedL(mimeTypeString) ) )   
-        {
-        // Resource file definition.   
-        TFileName resFile( KResourceDrive );
-        resFile.Append( KDC_RESOURCE_FILES_DIR );
-        resFile.Append( KCallImageResFile );
-                
-        aMenuPane.AddMenuItemsL( 
-            resFile, 
-            R_CALL_IMAGE_MENU, 
-            KAiwCmdAssign, 
-            aIndex);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CAiwCallImagePlugin::HandleMenuCmdL
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-void CAiwCallImagePlugin::HandleMenuCmdL(
-    TInt aMenuCmdId, 
-    const CAiwGenericParamList& aInParamList,
-    CAiwGenericParamList& aOutParamList,
-    TUint aCmdOptions,
-    const MAiwNotifyCallback* aCallback )
-    {
-    // Cancel bit must always be checked. Support can be implemented if necessary.
-    if( aCmdOptions & KAiwOptCancel )
-        {
-        return;
-        }
-        
-    // Handle only call image command.
-    if ( aMenuCmdId == ECallImage )
-        {
-        // Menu commands are handled as service commands.
-        HandleServiceCmdL(
-            KAiwCmdAssign,
-            aInParamList,
-            aOutParamList,
-            aCmdOptions,
-            aCallback );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Implements getting a AIW parameter as descriptor.
-// 
-// 
-// -----------------------------------------------------------------------------
-//    
-TPtrC CAiwCallImagePlugin::GetAiwParamAsDescriptor(
-		const CAiwGenericParamList& aParamList,
-		TGenericParamId aParamType)
-	{
-	TInt index(0);
-	const TAiwGenericParam* genericParam = NULL;
-    genericParam = aParamList.FindFirst( 
-        index,
-        aParamType,
-        EVariantTypeDesC );
-        
-    if ( index >= 0 && genericParam )
-        {
-        // Get the data
-        return genericParam->Value().AsDes();
-        }
-	else
-    	{
-		return KNullDesC();
-    	}
-	}  
-
-// -----------------------------------------------------------------------------
-// Implements checking if a given MIME type is supported or not.
-// 
-// 
-// -----------------------------------------------------------------------------
-//
-TBool CAiwCallImagePlugin::IsMimeTypeSupportedL( const TDesC& aMimeTypeString )
-    {   
-    // Check for a type separator in the string
-    TInt pos = aMimeTypeString.Find( KCallImagePluginSeparator );
-
-    // Leave if no separator was found.. the MIME
-    // standard requires it   
-    if ( pos == KErrNotFound )
-        {
-        User::Leave( KErrArgument );
-        }
-    
-    // Copy the full Mime type string (needed for uppercase)
-    HBufC* fullBuf = aMimeTypeString.AllocLC();
-    TPtr fullString = fullBuf->Des();
-    fullString.UpperCase();
-
-	// Construct the compare string    
-    TPtrC compareString( aMimeTypeString.Left( pos ) );
-
-    TBool ret(EFalse);
-    
-    // Perform the comparison
-    // Mime type case:  IMAGE/* except IMAGE/X-OTA-BITMAP
-    if ( compareString.CompareF( KCallImagePluginMimeTypeImage ) == 0 &&
-        !( fullString.CompareF( KCallImagePluginMimeTypeOTABitmap ) == 0 ) )
-        {
-        ret = ETrue;
-        }
-        
-	CleanupStack::PopAndDestroy( fullBuf );
-    
-	return ret;    
-    }
-    
-// End of file
--- a/phonesettings/aiwcallimageplugin/src/aiwcallimagepluginmain.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* 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:  Global functions for aiwcallimageplugin.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    <ecom.h>
-#include    <implementationproxy.h>
-
-#include    "aiwcallimageplugin.hrh"
-#include    "aiwcallimageplugin.h"
-
-
-// CONSTANTS
-
-// Holds implementation table.
-const TImplementationProxy KAiwCallImagePluginImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY( 
-        KAiwCallImagePluginImplementationUid, 
-        CAiwCallImagePlugin::NewL )
-    };
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// 
-// Returns implementation table and updates aTableCount parameter to hold
-// amount of elements in table.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
-    TInt& aTableCount )
-    {
-    aTableCount = 
-        sizeof( KAiwCallImagePluginImplementationTable ) / 
-        sizeof( TImplementationProxy );
-
-    return KAiwCallImagePluginImplementationTable;
-    }
-
-//  End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/barringplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+
+TEMPLATE = lib
+TARGET = cpbarringplugin
+DEPENDPATH += . 
+INCLUDEPATH += . inc
+INCLUDEPATH += ../cptelephonyutils/inc
+CONFIG += hb plugin
+
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+
+TRANSLATIONS = telephone_cp.ts
+
+LIBS += -lcpframework \
+        -lcptelephonyutils
+
+# Input
+HEADERS += inc/cpbarringplugin.h inc/cpbarringplugingroup.h
+SOURCES += src/cpbarringplugin.cpp src/cpbarringplugingroup.cpp
+		   
+
+include(../cpplugincommon.pri)
+
+symbian: {
+    TARGET.UID3 = 0X20029F27
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#ifndef CPBARRINGPLUGIN_H
+#define CPBARRINGPLUGIN_H
+
+#include <cppluginplatinterface.h>
+
+/*!
+    \class CpBarringPlugin 
+    \brief The class CpBarringPlugin implements call barring functionality. 
+ */
+class CpBarringPlugin : public QObject, public CpPluginPlatInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(CpPluginPlatInterface)
+
+public:
+
+    CpBarringPlugin();
+    
+    ~CpBarringPlugin();
+    
+    /*!
+     From CpPluginPlatInterface.
+     @see CpPluginPlatInterface.
+     */
+    CpSettingFormItemData *createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
+};
+
+#endif // CPBARRINGPLUGIN
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/inc/cpbarringplugingroup.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#ifndef CPBARRINGPLUGINGROUP_H
+#define CPBARRINGPLUGINGROUP_H
+
+#include <cpsettingformitemdata.h>
+#include "cptelephonyutilsdefs.h"
+
+using namespace CpTelephonyUtils;
+
+/*!
+    \class CpBarringPluginGroup
+    \brief The class CpBarringPluginGroup defines items shown on UI. 
+ */
+class CpBarringPluginGroup : public CpSettingFormItemData
+{
+    Q_OBJECT
+    
+public:
+
+    explicit CpBarringPluginGroup(CpItemDataHelper &helper);
+    
+    ~CpBarringPluginGroup();
+    
+private: 
+    
+    CpItemDataHelper &m_helper;
+};
+
+#endif // CPBARRINGPLUGINGROUP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <cpsettingformentryitemdataimpl.h>
+#include "cpbarringplugin.h"
+#include "cpbarringplugingroup.h"
+#include "cppluginlogging.h"
+
+/*!
+    Constructor of CpBarringPlugin.
+ */
+CpBarringPlugin::CpBarringPlugin()
+{
+    // Install plugin specific msg handler
+    INSTALL_TRACE_MSG_HANDLER; 
+
+    DPRINT;
+}
+
+/*!
+    Destructor of CpBarringPlugin.
+ */
+CpBarringPlugin::~CpBarringPlugin()
+{
+    DPRINT;
+    
+    // Uninstall plugin specific msg handler
+    UNINSTALL_TRACE_MSG_HANDLER;
+}
+
+/*!
+    CpBarringPlugin::createSettingFormItemData.
+ */
+CpSettingFormItemData *CpBarringPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
+{
+    DPRINT;
+    return new CpBarringPluginGroup(itemDataHelper);
+}
+
+Q_EXPORT_PLUGIN2(CpBarringPlugin, CpBarringPlugin);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/src/cpbarringplugingroup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#include <hbdataformmodelitem.h>
+#include <QTranslator>
+#include <QLocale>
+#include <QApplication>
+#include <cpitemdatahelper.h>
+#include "cpbarringplugingroup.h"
+#include "cpplugincommon.h"
+#include "cpphonenotes.h"
+#include "cppluginlogging.h"
+
+/*!
+  CpBarringPluginGroup::CpBarringPluginGroup.
+ */
+CpBarringPluginGroup::CpBarringPluginGroup(CpItemDataHelper &helper)
+     :CpSettingFormItemData(HbDataFormModelItem::GroupItem, hbTrId("Call barring"),0),
+       m_helper(helper)
+{
+    DPRINT << ": IN";
+    
+    // Localization file loading
+    QTranslator translator; 
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    DPRINT << ": loading translation: " << QString(path + "telephone_cp_" + lang);
+    bool translatorLoaded = translator.load(path + "telephone_cp_" + lang);
+    DPRINT << ": translator loaded: " << translatorLoaded; 
+    if (translatorLoaded) {
+        qApp->installTranslator(&translator);
+        DPRINT << ": translator installed"; 
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpBarringPluginGroup::~CpBarringPluginGroup.
+ */
+CpBarringPluginGroup::~CpBarringPluginGroup()
+{
+    DPRINT << ": IN";
+    DPRINT << ": OUT";
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/run_auto_tests_qt.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,187 @@
+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\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+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 INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL=abld build winscw udeb -keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+
+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
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=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
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+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
+call qmake
+call bldmake bldfiles
+call abld clean winscw udeb
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+for /f %%a in ('dir /b ut_*') do call %PATH_TO_DLL%\%%a.exe -dtextshell --
+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 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/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_barringplugingroup.h"
+#include "qtestmains60.h"
+#define private public
+#include "cpbarringplugingroup.h"
+#include "cpitemdatahelper.h"
+
+/*!
+  UT_CpBarringPluginGroup::UT_CpBarringPluginGroup
+ */
+UT_CpBarringPluginGroup::UT_CpBarringPluginGroup() 
+    : m_barringpluginGroup(NULL)
+{
+
+}
+
+/*!
+  UT_CpBarringPluginGroup::~UT_CpBarringPluginGroup
+ */
+UT_CpBarringPluginGroup::~UT_CpBarringPluginGroup()
+{
+    delete m_barringpluginGroup;
+}
+
+/*!
+  UT_CpBarringPluginGroup::init
+ */
+void UT_CpBarringPluginGroup::init()
+{
+    initialize();
+    CpItemDataHelper itemDataHelper;
+
+
+    QVERIFY(!m_barringpluginGroup);
+    m_barringpluginGroup = new CpBarringPluginGroup(itemDataHelper);
+    QVERIFY(m_barringpluginGroup);
+}
+
+
+
+/*!
+  UT_CpBarringPluginGroup::cleanup
+ */
+void UT_CpBarringPluginGroup::cleanup()
+{
+    reset();
+    
+    delete m_barringpluginGroup;
+    m_barringpluginGroup = NULL;
+}
+
+/*!
+  UT_CpBarringPluginGroup::t_memleak
+ */
+void UT_CpBarringPluginGroup::t_memleak()
+{
+    
+}
+
+QTEST_MAIN_S60(UT_CpBarringPluginGroup)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_BARRINGPLUGINGROUP_H
+#define UT_BARRINGPLUGINGROUP_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+
+class CpBarringPluginGroup;
+
+class UT_CpBarringPluginGroup : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpBarringPluginGroup();
+    ~UT_CpBarringPluginGroup();
+    
+private slots:
+
+    void init();
+
+    void cleanup();
+    
+    void t_memleak();
+private:
+    CpBarringPluginGroup *m_barringpluginGroup;
+
+};
+
+#endif // UT_BARRINGPLUGINGROUP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_barringplugingroup/ut_barringplugingroup.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+
+
+
+
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH += ../../../inc
+INCLUDEPATH += ../../../cptelephonyutils/inc
+DEFINES += BUILD_BARRINGPLUGIN
+
+QT -= gui
+QT += testlib
+
+symbian: { 
+    CONFIG += no_icon
+    INCLUDEPATH += /epoc32/include/mw/QtTest \
+        /epoc32/include/platform/mw \
+        /epoc32/include/mw/qt
+    LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework 
+        }
+    
+# test code
+HEADERS += ut_barringplugingroup.h
+SOURCES += ut_barringplugingroup.cpp 
+    
+# code to be tested
+HEADERS += ../../inc/cpbarringplugin.h \
+           ../../inc/cpbarringplugingroup.h
+
+    
+SOURCES += ../../src/cpbarringplugingroup.cpp
+    
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cpbarringplugin.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_cpbarringplugin.h"
+#include "qtestmains60.h"
+#define private public
+#include "cpbarringplugin.h"
+#include "cpitemdatahelper.h"
+
+Q_EXTERN_C const char * qt_plugin_query_verification_data();
+Q_EXTERN_C ::QObject *  qt_plugin_instance();
+
+/*!
+  UT_CpBarringPlugin::UT_CpBarringPlugin
+ */
+UT_CpBarringPlugin::UT_CpBarringPlugin() 
+    : m_barringplugin(NULL)
+{
+    const char * verificationData = qt_plugin_query_verification_data();
+}
+
+/*!
+  UT_CpBarringPlugin::~UT_CpBarringPlugin
+ */
+UT_CpBarringPlugin::~UT_CpBarringPlugin()
+{
+    delete m_barringplugin;
+}
+
+/*!
+  UT_CpBarringPlugin::init
+ */
+void UT_CpBarringPlugin::init()
+{
+    initialize();
+
+    m_barringplugin = (CpBarringPlugin*)qt_plugin_instance();
+    QVERIFY(m_barringplugin);
+}
+
+
+/*!
+  UT_CpBarringPlugin::t_createSettingFormItemData
+ */
+void UT_CpBarringPlugin::t_createSettingFormItemData()
+{
+    CpItemDataHelper itemDataHelper;
+    CpBarringPlugin* p = (CpBarringPlugin*)qt_plugin_instance();
+    CpSettingFormItemData *pSettingFormItemData = p->createSettingFormItemData(itemDataHelper);
+
+}
+
+/*!
+  UT_CpBarringPlugin::cleanup
+ */
+void UT_CpBarringPlugin::cleanup()
+{
+    reset();
+    
+    delete m_barringplugin;
+    m_barringplugin = NULL;
+}
+
+/*!
+  UT_CpBarringPlugin::t_memleak
+ */
+void UT_CpBarringPlugin::t_memleak()
+{
+    
+}
+
+QTEST_MAIN_S60(UT_CpBarringPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_CPBARRINGPLUGIN_H
+#define UT_CPBARRINGPLUGIN_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpBarringPlugin;
+
+class UT_CpBarringPlugin : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpBarringPlugin();
+    ~UT_CpBarringPlugin();
+    
+private slots:
+
+    void init();
+
+    void t_createSettingFormItemData();
+    
+    void cleanup();
+    
+    void t_memleak();
+private:
+    CpBarringPlugin *m_barringplugin;
+
+};
+
+#endif // UT_CPBARRINGPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/barringplugin/tsrc/ut_cpbarringplugin/ut_cpbarringplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,52 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH +=../../../inc 
+INCLUDEPATH +=../../../cptelephonyutils/inc
+DEFINES += BUILD_BARRINGPLUGIN
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+    INCLUDEPATH += /epoc32/include/mw/QtTest \
+        /epoc32/include/platform/mw \
+        /epoc32/include/mw/qt
+  LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework
+}
+
+# test code
+HEADERS += ut_cpbarringplugin.h
+SOURCES += ut_cpbarringplugin.cpp
+
+# code to be tested
+HEADERS += ../../inc/cpbarringplugin.h \
+           ../../inc/cpbarringplugingroup.h
+           
+SOURCES += ../../src/cpbarringplugin.cpp
+
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cpbarringplugingroup.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/bwins/cptelephonyutilsu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,67 @@
+EXPORTS
+	?metaObject@CpPhoneNotes@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * CpPhoneNotes::metaObject(void) const
+	?basicServiceGroupName@CpPhoneNotes@@ABE?AVQString@@W4BasicServiceGroups@CpTelephonyUtils@@@Z @ 2 NONAME ; class QString CpPhoneNotes::basicServiceGroupName(enum CpTelephonyUtils::BasicServiceGroups) const
+	?activeNoteAboutToClose@CpPhoneNotes@@AAEXXZ @ 3 NONAME ; void CpPhoneNotes::activeNoteAboutToClose(void)
+	?handleProgressNoteCanceled@CpPhoneNotes@@AAEXXZ @ 4 NONAME ; void CpPhoneNotes::handleProgressNoteCanceled(void)
+	??_ECpPhoneNotes@@UAE@I@Z @ 5 NONAME ; CpPhoneNotes::~CpPhoneNotes(unsigned int)
+	?showGlobalErrorNote@CpPhoneNotes@@QAEXAAHH@Z @ 6 NONAME ; void CpPhoneNotes::showGlobalErrorNote(int &, int)
+	?qt_metacast@CpSettingsWrapper@@UAEPAXPBD@Z @ 7 NONAME ; void * CpSettingsWrapper::qt_metacast(char const *)
+	?getStaticMetaObject@Tools@@SAABUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const & Tools::getStaticMetaObject(void)
+	??1CpSettingsWrapper@@UAE@XZ @ 9 NONAME ; CpSettingsWrapper::~CpSettingsWrapper(void)
+	?qt_metacast@CpPhoneNotes@@UAEPAXPBD@Z @ 10 NONAME ; void * CpPhoneNotes::qt_metacast(char const *)
+	?tr@CpPhoneNotes@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString CpPhoneNotes::tr(char const *, char const *, int)
+	?instance@CpPhoneNotes@@SAPAV1@XZ @ 12 NONAME ; class CpPhoneNotes * CpPhoneNotes::instance(void)
+	?tr@CpSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString CpSettingsWrapper::tr(char const *, char const *, int)
+	??1CpPhoneNotes@@EAE@XZ @ 14 NONAME ; CpPhoneNotes::~CpPhoneNotes(void)
+	?formatPhoneNumber@CpPhoneNotes@@ABE?AVQString@@V2@@Z @ 15 NONAME ; class QString CpPhoneNotes::formatPhoneNumber(class QString) const
+	?showGlobalNote@CpPhoneNotes@@QAEXAAHABVQString@@W4MessageBoxType@HbMessageBox@@@Z @ 16 NONAME ; void CpPhoneNotes::showGlobalNote(int &, class QString const &, enum HbMessageBox::MessageBoxType)
+	?metaObject@Tools@@UBEPBUQMetaObject@@XZ @ 17 NONAME ; struct QMetaObject const * Tools::metaObject(void) const
+	?readSoftRejectText@CpSettingsWrapper@@QAEXAAVQString@@AA_N@Z @ 18 NONAME ; void CpSettingsWrapper::readSoftRejectText(class QString &, bool &)
+	?getStaticMetaObject@CpSettingsWrapper@@SAABUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const & CpSettingsWrapper::getStaticMetaObject(void)
+	?metaObject@CpSettingsWrapper@@UBEPBUQMetaObject@@XZ @ 20 NONAME ; struct QMetaObject const * CpSettingsWrapper::metaObject(void) const
+	?videoSupported@Tools@@SA_NXZ @ 21 NONAME ; bool Tools::videoSupported(void)
+	?showCallDuration@CpSettingsWrapper@@QAE_NXZ @ 22 NONAME ; bool CpSettingsWrapper::showCallDuration(void)
+	?isPhoneOffline@CpSettingsWrapper@@QBE_NXZ @ 23 NONAME ; bool CpSettingsWrapper::isPhoneOffline(void) const
+	?errorCodeTextMapping@Tools@@SA_NHAAVQString@@@Z @ 24 NONAME ; bool Tools::errorCodeTextMapping(int, class QString &)
+	?convertEtelMobileServiceCode@CpPhoneNotes@@ABE?AW4BasicServiceGroups@CpTelephonyUtils@@H@Z @ 25 NONAME ; enum CpTelephonyUtils::BasicServiceGroups CpPhoneNotes::convertEtelMobileServiceCode(int) const
+	?trUtf8@CpPhoneNotes@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString CpPhoneNotes::trUtf8(char const *, char const *, int)
+	?readCenrepString@CpSettingsWrapper@@ABE?AVQString@@JK@Z @ 27 NONAME ; class QString CpSettingsWrapper::readCenrepString(long, unsigned long) const
+	?writeSoftRejectText@CpSettingsWrapper@@QAEHABVQString@@_N@Z @ 28 NONAME ; int CpSettingsWrapper::writeSoftRejectText(class QString const &, bool)
+	?showBasicServiceList@CpPhoneNotes@@QAEXABVQString@@ABV?$QList@E@@@Z @ 29 NONAME ; void CpPhoneNotes::showBasicServiceList(class QString const &, class QList<unsigned char> const &)
+	?setShowCallDuration@CpSettingsWrapper@@QAEH_N@Z @ 30 NONAME ; int CpSettingsWrapper::setShowCallDuration(bool)
+	?loadCpPlugin@Tools@@SAPAVCpPluginPlatInterface@@ABVQString@@@Z @ 31 NONAME ; class CpPluginPlatInterface * Tools::loadCpPlugin(class QString const &)
+	?qt_metacall@CpPhoneNotes@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 32 NONAME ; int CpPhoneNotes::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacall@Tools@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 33 NONAME ; int Tools::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?trUtf8@CpSettingsWrapper@@SA?AVQString@@PBD0@Z @ 34 NONAME ; class QString CpSettingsWrapper::trUtf8(char const *, char const *)
+	?tr@CpPhoneNotes@@SA?AVQString@@PBD0@Z @ 35 NONAME ; class QString CpPhoneNotes::tr(char const *, char const *)
+	??_ECpSettingsWrapper@@UAE@I@Z @ 36 NONAME ; CpSettingsWrapper::~CpSettingsWrapper(unsigned int)
+	?getStaticMetaObject@CpPhoneNotes@@SAABUQMetaObject@@XZ @ 37 NONAME ; struct QMetaObject const & CpPhoneNotes::getStaticMetaObject(void)
+	?progressNoteCanceled@CpPhoneNotes@@IAEXXZ @ 38 NONAME ; void CpPhoneNotes::progressNoteCanceled(void)
+	?trUtf8@CpSettingsWrapper@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString CpSettingsWrapper::trUtf8(char const *, char const *, int)
+	?staticMetaObject@CpPhoneNotes@@2UQMetaObject@@B @ 40 NONAME ; struct QMetaObject const CpPhoneNotes::staticMetaObject
+	??0CpPhoneNotes@@AAE@XZ @ 41 NONAME ; CpPhoneNotes::CpPhoneNotes(void)
+	?convertEtelMobileServiceCode@Tools@@SA?AW4BasicServiceGroups@CpTelephonyUtils@@H@Z @ 42 NONAME ; enum CpTelephonyUtils::BasicServiceGroups Tools::convertEtelMobileServiceCode(int)
+	?tr@Tools@@SA?AVQString@@PBD0@Z @ 43 NONAME ; class QString Tools::tr(char const *, char const *)
+	?showGlobalProgressNote@CpPhoneNotes@@QAEXAAHABVQString@@@Z @ 44 NONAME ; void CpPhoneNotes::showGlobalProgressNote(int &, class QString const &)
+	?voipSupported@Tools@@SA_NXZ @ 45 NONAME ; bool Tools::voipSupported(void)
+	?unloadCpPlugin@Tools@@SA_NABVQString@@@Z @ 46 NONAME ; bool Tools::unloadCpPlugin(class QString const &)
+	?qt_metacast@Tools@@UAEPAXPBD@Z @ 47 NONAME ; void * Tools::qt_metacast(char const *)
+	?trUtf8@CpPhoneNotes@@SA?AVQString@@PBD0@Z @ 48 NONAME ; class QString CpPhoneNotes::trUtf8(char const *, char const *)
+	?readCenrepValue@CpSettingsWrapper@@ABE?AVQVariant@@JK@Z @ 49 NONAME ; class QVariant CpSettingsWrapper::readCenrepValue(long, unsigned long) const
+	?trUtf8@Tools@@SA?AVQString@@PBD0H@Z @ 50 NONAME ; class QString Tools::trUtf8(char const *, char const *, int)
+	?tr@Tools@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString Tools::tr(char const *, char const *, int)
+	?qt_metacall@CpSettingsWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 52 NONAME ; int CpSettingsWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?showCallDivertDetails@CpPhoneNotes@@QAEXABVPSCallDivertingStatus@@@Z @ 53 NONAME ; void CpPhoneNotes::showCallDivertDetails(class PSCallDivertingStatus const &)
+	?numberGroupingSupported@CpSettingsWrapper@@QBE_NXZ @ 54 NONAME ; bool CpSettingsWrapper::numberGroupingSupported(void) const
+	?launchNextNoteIfReady@CpPhoneNotes@@AAEXXZ @ 55 NONAME ; void CpPhoneNotes::launchNextNoteIfReady(void)
+	?tr@CpSettingsWrapper@@SA?AVQString@@PBD0@Z @ 56 NONAME ; class QString CpSettingsWrapper::tr(char const *, char const *)
+	?cancelNote@CpPhoneNotes@@QAEXH@Z @ 57 NONAME ; void CpPhoneNotes::cancelNote(int)
+	?isFeatureCallWaitingDistiquishNotProvisionedEnabled@CpSettingsWrapper@@QAE_NXZ @ 58 NONAME ; bool CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled(void)
+	?writeCenrepValue@CpSettingsWrapper@@ABEHJKABVQVariant@@@Z @ 59 NONAME ; int CpSettingsWrapper::writeCenrepValue(long, unsigned long, class QVariant const &) const
+	?staticMetaObject@Tools@@2UQMetaObject@@B @ 60 NONAME ; struct QMetaObject const Tools::staticMetaObject
+	?showBasicServiceCallDivertList@CpPhoneNotes@@QAEXABVQString@@ABV?$QList@PAVPSCallDivertingStatus@@@@AAHW4CallDivertType@CpTelephonyUtils@@AAW445@@Z @ 61 NONAME ; void CpPhoneNotes::showBasicServiceCallDivertList(class QString const &, class QList<class PSCallDivertingStatus *> const &, int &, enum CpTelephonyUtils::CallDivertType, enum CpTelephonyUtils::CallDivertType &)
+	?trUtf8@Tools@@SA?AVQString@@PBD0@Z @ 62 NONAME ; class QString Tools::trUtf8(char const *, char const *)
+	?staticMetaObject@CpSettingsWrapper@@2UQMetaObject@@B @ 63 NONAME ; struct QMetaObject const CpSettingsWrapper::staticMetaObject
+	??0CpSettingsWrapper@@QAE@PAVQObject@@@Z @ 64 NONAME ; CpSettingsWrapper::CpSettingsWrapper(class QObject *)
+	?noteShowing@CpPhoneNotes@@QAE_NXZ @ 65 NONAME ; bool CpPhoneNotes::noteShowing(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/callsplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = cpcallsplugin
+DEPENDPATH += .
+INCLUDEPATH += .
+INCLUDEPATH += ../cptelephonyutils/inc
+
+CONFIG += hb plugin
+
+TRANSLATIONS = telephone_cp.ts
+
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+LIBS += -lcpframework \
+        -lpsetwrapper \
+        -lsssettingswrapper \
+        -lcptelephonyutils
+
+# Input
+SOURCES += src/cpcallsplugingroup.cpp \
+    src/cpcallsplugin.cpp
+			
+HEADERS += src/cpcallsplugingroup.h \
+    src/cpcallsplugin.h
+
+include(../cpplugincommon.pri)
+
+symbian: {
+    TARGET.UID3 = 0X20029F26
+    LIBS += -lxqsysinfo \
+        -lxqsettingsmanager
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "cpcallsplugin.h"
+#include "cpcallsplugingroup.h"
+#include "cppluginlogging.h"
+#include <cpsettingformentryitemdataimpl.h>
+#include <QtDebug>
+
+/*!
+    Constructor of CpCallsPlugin.
+ */
+CpCallsPlugin::CpCallsPlugin() : QObject(0)
+{
+    // Install plugin specific msg handler
+    INSTALL_TRACE_MSG_HANDLER;
+    
+    DPRINT;
+}
+
+/*!
+    Destructor of CpCallsPlugin.
+ */
+CpCallsPlugin::~CpCallsPlugin()
+{
+    DPRINT;
+    
+    // Uninstall plugin specific msg handler
+    UNINSTALL_TRACE_MSG_HANDLER;
+}
+
+/*!
+    CpCallsPlugin::createSettingFormItemData.
+ */
+CpSettingFormItemData *CpCallsPlugin::createSettingFormItemData(
+        CpItemDataHelper &itemDataHelper) const
+{
+    DPRINT << ", itemDataHelper: " << reinterpret_cast<int>(&itemDataHelper);
+    return new CpCallsPluginGroup(itemDataHelper);
+}
+
+Q_EXPORT_PLUGIN2(cpcallsplugin, CpCallsPlugin);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#ifndef CPCALLSPLUGIN_H
+#define CPCALLSPLUGIN_H
+
+#include <cppluginplatinterface.h>
+
+
+/*!
+    \class CpCallsPlugin
+    \brief The class CpCallsPlugin implements call settings functionality. 
+ */
+class CpCallsPlugin: public QObject,public CpPluginPlatInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(CpPluginPlatInterface)
+public:
+    
+    CpCallsPlugin();
+    
+    ~CpCallsPlugin();
+
+    /*!
+     From CpPluginPlatInterface.
+     @see CpPluginPlatInterface.
+     */    
+    virtual CpSettingFormItemData *createSettingFormItemData(
+            CpItemDataHelper &itemDataHelper) const;
+};
+#endif // CPCALLSPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,547 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "cpcallsplugingroup.h"
+#include "cpplugincommon.h"
+#include "cppluginlogging.h"
+#include "cpphonenotes.h"
+#include <hbdataformmodel.h>
+#include <hbdataformmodelitem.h>
+#include <hbdataformviewitem.h>
+#include <hbcheckbox.h>
+#include <QString>
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include <hblineedit.h>
+#include <hbcombobox.h>
+#include <hbdeviceprogressdialog.h>
+#include <cpitemdatahelper.h>
+#include <sssettingswrapper.h>
+#include <psetwrapper.h>
+#include <psetcliwrapper.h>
+
+
+/*!
+  CpCallsPluginGroup::CpCallsPluginGroup.
+ */
+CpCallsPluginGroup::CpCallsPluginGroup(CpItemDataHelper &helper)
+    :CpSettingFormItemData(HbDataFormModelItem::GroupItem, hbTrId("txt_phone_subhead_call_settings"),0),
+     m_activeNoteId(0),
+     m_helper(helper)
+{
+    DPRINT << ": IN";
+
+    // Localization file loading
+    QTranslator translator; 
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    DPRINT << ": loading translation: " << QString(path + "telephone_cp_" + lang);
+    bool translatorLoaded = translator.load(path + "telephone_cp_" + lang);
+    DPRINT << ": translator loaded: " << translatorLoaded; 
+    if (translatorLoaded) {
+        qApp->installTranslator(&translator);
+        DPRINT << ": translator installed"; 
+    }
+
+    m_cpSettingsWrapper = new CpSettingsWrapper;
+    m_pSetWrapper = new PSetWrapper; 
+    DPRINT << "PSetWrapper created";
+    
+    m_callWaitingWrapper = &m_pSetWrapper->callWaitingWrapper(); 
+    DPRINT << "call waiting wrapper created";
+    QObject::connect(
+        m_callWaitingWrapper, 
+        SIGNAL(handleCallWaitingGetStatus(
+            PSetCallWaitingWrapper::PsCallWaitingStatus, const QList<unsigned char> &)),
+        this, 
+        SLOT(handleCallWaitingGetStatus(
+            PSetCallWaitingWrapper::PsCallWaitingStatus, const QList<unsigned char> &)));
+    QObject::connect(
+        m_callWaitingWrapper, 
+        SIGNAL(handleCallWaitingChanged(PSetCallWaitingWrapper::PsCallWaitingCommand, int)),
+        this, 
+        SLOT(handleCallWaitingChanged(PSetCallWaitingWrapper::PsCallWaitingCommand, int)));
+    QObject::connect(
+        m_callWaitingWrapper, 
+        SIGNAL(handleCallWaitingRequesting( bool, bool )),
+        this, 
+        SLOT(handleCallWaitingRequesting( bool, bool )));
+    QObject::connect(
+        m_callWaitingWrapper, 
+        SIGNAL(handleCallWaitingError( int )),
+        this, 
+        SLOT(handleCallWaitingError( int )));
+
+    m_ssSettingsWrapper = new SsSettingsWrapper; 
+    DPRINT << "SsSettingsWrapper created";
+    
+    CpPhoneNotes *phoneNotes = CpPhoneNotes::instance();
+    QObject::connect(
+        this, 
+        SIGNAL(showBasicServiceList(
+            const QString&, const QList<unsigned char> &)),
+        phoneNotes, 
+        SLOT(showBasicServiceList(
+            const QString&, const QList<unsigned char> &)));
+    QObject::connect(
+        this, 
+        SIGNAL(showGlobalProgressNote(int &, const QString&)),
+        phoneNotes, 
+        SLOT(showGlobalProgressNote(int &, const QString&)));
+    QObject::connect(
+        this, 
+        SIGNAL(showGlobalNote(int &, const QString&, HbMessageBox::MessageBoxType)),
+        phoneNotes, 
+        SLOT(showGlobalNote(int &, const QString&, HbMessageBox::MessageBoxType)));
+    QObject::connect(
+        this, 
+        SIGNAL(showGlobalErrorNote(int &, int)),
+        phoneNotes, 
+        SLOT(showGlobalErrorNote(int &, int)));
+    QObject::connect(
+        this, 
+        SIGNAL(cancelNote(int)),
+        phoneNotes, 
+        SLOT(cancelNote(int)));
+    
+    // Create combobox string <-> setting mappings 
+    insertMappedListItems(); 
+       
+    // Greate settings items
+    createCLIItem();
+    createCallWaitingtem();
+    createSoftRejectItem();
+    createShowCallDurationItem();
+    
+    // Connect setting item signals
+    connectCLIItem();
+    connectCallWaitingItem();
+    connectSoftRejectItem();
+    connectShowCallDurationItem();
+    
+    m_callWaitingDistinguishEnabled = 
+       m_cpSettingsWrapper->isFeatureCallWaitingDistiquishNotProvisionedEnabled();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::~CpCallsPluginGroup.
+ */
+CpCallsPluginGroup::~CpCallsPluginGroup()
+{
+    DPRINT << ": IN";
+    
+    delete m_cpSettingsWrapper;
+    delete m_pSetWrapper;
+    delete m_ssSettingsWrapper;
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::createShowCallDurationItem.
+ */
+void CpCallsPluginGroup::createShowCallDurationItem()
+{
+    DPRINT << ": IN";
+    
+    // Read show call duration value from Cenrep 
+    bool showCallDurationStatus = m_cpSettingsWrapper->showCallDuration();
+    DPRINT << "showCallDurationStatus:" << showCallDurationStatus;
+    m_DataItemShowCallDuration = new CpSettingFormItemData(
+        HbDataFormModelItem::CheckBoxItem, hbTrId("") ,this);
+    m_DataItemShowCallDuration->setContentWidgetData(
+        "text", QVariant(hbTrId("Show call duration")));
+    if (showCallDurationStatus) {
+        m_DataItemShowCallDuration->setContentWidgetData(
+            "checkState", QVariant(Qt::Checked));
+    } else {
+        m_DataItemShowCallDuration->setContentWidgetData(
+            "checkState", QVariant(Qt::Unchecked));
+    }
+    appendChild( m_DataItemShowCallDuration ); 
+    
+    DPRINT << ": OUT";
+}
+    
+/*!
+  CpCallsPluginGroup::createSoftRejectItem.
+ */
+void CpCallsPluginGroup::createSoftRejectItem()
+{
+    DPRINT << ": IN";
+    
+    bool userDefinedTextInUse = false;
+    QString softRejectText;
+    m_cpSettingsWrapper->readSoftRejectText(
+        softRejectText, userDefinedTextInUse);
+    if(!userDefinedTextInUse) {
+        softRejectText =
+            hbTrId("txt_phone_setlabel_soft_reject_val_default_text");
+    }
+    m_DataItemSoftRejectTextEditor = 
+        new CpSettingFormItemData(
+            HbDataFormModelItem::TextItem,
+            hbTrId("txt_phone_setlabel_soft_reject"),
+            this);
+    m_DataItemSoftRejectTextEditor->setContentWidgetData(
+        "text", QVariant(softRejectText));
+    m_DataItemSoftRejectTextEditor->setContentWidgetData(
+        "maxLength", QVariant(160));
+    m_DataItemSoftRejectTextEditor->setContentWidgetData(
+        "maxRows", QVariant(5));
+    m_DataItemSoftRejectTextEditor->setContentWidgetData(
+        "minRows", QVariant(1));
+    appendChild( m_DataItemSoftRejectTextEditor ); 
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::createCLIItem.
+ */
+void CpCallsPluginGroup::createCLIItem()
+{
+    DPRINT << ": IN";
+
+    m_DataItemCLI = 
+        new CpSettingFormItemData(
+            HbDataFormModelItem::ComboBoxItem,
+            hbTrId("txt_phone_setlabel_send_my_caller_id"),
+            this);
+    // CLI combo box items string list 
+    QStringList list;
+    QMapIterator<int, QString> cliSettingMapIterator(m_cliSettingMap);
+    while (cliSettingMapIterator.hasNext()) {
+        cliSettingMapIterator.next();
+        list << cliSettingMapIterator.value(); 
+        };
+    m_DataItemCLI->setContentWidgetData("items", QVariant(list));
+    appendChild(m_DataItemCLI);
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::createCallWaitingtem.
+ */
+void CpCallsPluginGroup::createCallWaitingtem()
+{
+    DPRINT << ": IN";
+
+    m_DataItemCallWaiting = 
+        new CpSettingFormItemData(
+            HbDataFormModelItem::ComboBoxItem,
+            hbTrId("txt_phone_setlabel_call_waiting"),
+            this);
+    QStringList list;
+    QMapIterator<int, QString> mapIterator(m_callWaitingSettingMap);
+    while (mapIterator.hasNext()) {
+        mapIterator.next();
+        list << mapIterator.value(); 
+        }; 
+    m_DataItemCallWaiting->setContentWidgetData("items", QVariant(list));
+    appendChild(m_DataItemCallWaiting);
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::connectShowCallDurationItem.
+ */
+void CpCallsPluginGroup::connectShowCallDurationItem()
+{
+    DPRINT << ": IN";
+    
+    m_helper.addConnection(
+        m_DataItemShowCallDuration, SIGNAL(stateChanged(int)),
+        this, SLOT(showCallDurationStateChanged(int)));
+
+    DPRINT << ": OUT";
+}
+ 
+/*!
+  CpCallsPluginGroup::connectSoftRejectItem.
+ */
+void CpCallsPluginGroup::connectSoftRejectItem()
+{
+    DPRINT << ": IN";
+
+    m_helper.addConnection(
+        m_DataItemSoftRejectTextEditor, SIGNAL(editingFinished()),
+        this, SLOT(softRejectTextChanged()));
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::connectCLIItem.
+ */
+void CpCallsPluginGroup::connectCLIItem()
+{
+    DPRINT << ": IN";
+    
+    m_helper.addConnection(
+        m_DataItemCLI, SIGNAL(currentIndexChanged(int)),
+        this, SLOT(cliCurrentIndexChanged(int)));
+    // Fetch current CLI value 
+    int cliValue(ClirNetworkDefault);
+    int err = m_ssSettingsWrapper->get(Clir, cliValue);
+    if (!err){
+        QVariant indexValue(cliValue);
+        m_DataItemCLI->setContentWidgetData(
+            QString("currentIndex"), indexValue);
+    } else {
+        DPRINT << "Error: " << err;
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::connectCallWaitingItem.
+ */
+void CpCallsPluginGroup::connectCallWaitingItem()
+{
+    DPRINT << ": IN";
+
+    m_helper.addConnection(
+        m_DataItemCallWaiting, SIGNAL(currentIndexChanged(int)),
+        this, SLOT(callWaitingCurrentIndexChanged(int)));
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::showCallDurationStateChanged.
+ */
+void CpCallsPluginGroup::showCallDurationStateChanged(int state)
+{
+    DPRINT << ": IN";
+
+    DPRINT << "state:" << state;
+    if (state == Qt::Checked) {
+        m_cpSettingsWrapper->setShowCallDuration(true);
+    } else {
+        m_cpSettingsWrapper->setShowCallDuration(false);
+    }
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::softRejectTextChanged.
+ */
+void CpCallsPluginGroup::softRejectTextChanged()
+{
+    DPRINT << ": IN";
+    
+    QVariant text = m_DataItemSoftRejectTextEditor->contentWidgetData("text");
+    QString softRejectText = text.toString();  
+    if (!softRejectText.isNull()) {
+        DPRINT << "softRejectText:" << softRejectText;
+        m_cpSettingsWrapper->writeSoftRejectText(softRejectText, true);
+    }
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::callWaitingCurrentIndexChanged.
+ */
+void CpCallsPluginGroup::callWaitingCurrentIndexChanged(int index)
+{
+    DPRINT << ": IN";
+    DPRINT << "index:" << index;
+
+    if ( index >= 0 ) {
+        QString settingMapString = m_callWaitingSettingMap.value(index);
+        DPRINT << "settingMapString:" << settingMapString;
+        switch (index) {
+            case PSetCallWaitingWrapper::ActivateCallWaiting: {
+                DPRINT << "activate";
+                m_callWaitingWrapper->setCallWaiting(
+                        PSetCallWaitingWrapper::ActivateCallWaiting,
+                        AllTeleAndBearer);
+                }
+                break; 
+            case PSetCallWaitingWrapper::DeactivateCallWaiting: {
+                DPRINT << "deactivate";
+                m_callWaitingWrapper->setCallWaiting(
+                        PSetCallWaitingWrapper::DeactivateCallWaiting,
+                        AllTeleAndBearer);
+                }
+                break; 
+            case PSetCallWaitingWrapper::CheckCallWaitingStatus: {
+                DPRINT << "check status";
+                m_callWaitingWrapper->getCallWaitingStatus();
+                }
+                break;
+            default: 
+                DPRINT << "Error: unknown enum value";
+                break; 
+        }
+    } else {
+        DPRINT << "Error: negative index!";
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::cliCurrentIndexChanged.
+ */
+void CpCallsPluginGroup::cliCurrentIndexChanged(int index)
+{
+    DPRINT << ": IN";
+
+    if (index >= 0) {
+        QString settingMapString = m_cliSettingMap.value(index);
+        DPRINT << "settingMapString:" << settingMapString;
+        int err = m_ssSettingsWrapper->set(Clir, index);
+        DPRINT << "m_ssSettingsWrapper->set() err: " << err;
+    } else {
+        DPRINT << "Error: negative index!";
+    }
+
+    DPRINT << ": OUT";
+}
+    
+/*!
+  CpCallsPluginGroup::insertMappedListItems.
+ */
+void CpCallsPluginGroup::insertMappedListItems()
+{
+    DPRINT << ": IN";
+
+    m_cliSettingMap.insert(ClirNetworkDefault, hbTrId("txt_phone_setlabel_val_default"));
+    m_cliSettingMap.insert(ClirExplicitSuppress, hbTrId("txt_phone_setlabel_val_yes"));
+    m_cliSettingMap.insert(ClirExplicitInvoke, hbTrId("txt_phone_setlabel_val_no"));
+
+    m_callWaitingSettingMap.insert(
+        PSetCallWaitingWrapper::ActivateCallWaiting, hbTrId("txt_phone_setlabel_call_waiting_val_on"));
+    m_callWaitingSettingMap.insert(
+        PSetCallWaitingWrapper::DeactivateCallWaiting, hbTrId("txt_phone_setlabel_call_waiting_val_off"));
+    m_callWaitingSettingMap.insert(
+        PSetCallWaitingWrapper::CheckCallWaitingStatus, hbTrId("Check status"));
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::handleCallWaitingGetStatus.
+ */
+void CpCallsPluginGroup::handleCallWaitingGetStatus( 
+    PSetCallWaitingWrapper::PsCallWaitingStatus status,
+    const QList<unsigned char> &basicServiceGroupIds)
+{
+    DPRINT << ": IN";
+    emit cancelNote(m_activeNoteId);
+    
+    if (m_callWaitingDistinguishEnabled &&
+            status == PSetCallWaitingWrapper::StatusNotProvisioned) {
+        emit showGlobalNote(m_activeNoteId, 
+            hbTrId("cw not provisioned"), HbMessageBox::MessageTypeInformation);
+    } else if (status != PSetCallWaitingWrapper::StatusActive) {
+        emit showGlobalNote(m_activeNoteId,
+            hbTrId("cw disabled"), HbMessageBox::MessageTypeInformation);
+    } else {
+        if (basicServiceGroupIds.count() != 0) {
+            emit showBasicServiceList(
+                hbTrId("Active for:"), basicServiceGroupIds);
+        } else {
+            emit showGlobalNote(m_activeNoteId,
+                hbTrId("cw active"), HbMessageBox::MessageTypeInformation);
+        }
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::handleCallWaitingChanged.
+ */
+void CpCallsPluginGroup::handleCallWaitingChanged( 
+    PSetCallWaitingWrapper::PsCallWaitingCommand command,
+    int result )
+{
+    DPRINT << ": IN";
+    emit cancelNote(m_activeNoteId);
+    if (result) {
+        emit showGlobalNote(m_activeNoteId,
+            hbTrId("Request failed"), 
+            HbMessageBox::MessageTypeWarning);
+    } else {
+        switch (command){
+            case PSetCallWaitingWrapper::ActivateCallWaiting:
+                emit showGlobalNote(m_activeNoteId,
+                    hbTrId("Call waiting activated"), 
+                    HbMessageBox::MessageTypeInformation);
+                break;
+            case PSetCallWaitingWrapper::DeactivateCallWaiting:
+                emit showGlobalNote(m_activeNoteId,
+                    hbTrId("Call waiting disabled"), 
+                    HbMessageBox::MessageTypeInformation);
+                break;
+            default: 
+                emit showGlobalNote(m_activeNoteId,
+                    hbTrId("default"), 
+                    HbMessageBox::MessageTypeInformation);
+                break;
+        }
+    }
+    DPRINT << ": OUT";
+} 
+
+/*!
+  CpCallsPluginGroup::handleCallWaitingRequesting.
+ */
+void CpCallsPluginGroup::handleCallWaitingRequesting(bool ongoing, bool interrupted)
+{
+    DPRINT << ": IN";
+    DPRINT << "ongoing:" << ongoing << ", interrupted:" << interrupted;
+    Q_ASSERT(!(ongoing && interrupted));
+    
+    if (ongoing) {
+        emit showGlobalProgressNote(m_activeNoteId, hbTrId("Requesting"));
+    }
+    
+    if (interrupted) {
+        emit cancelNote(m_activeNoteId);
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpCallsPluginGroup::handleCallWaitingError.
+ */
+void CpCallsPluginGroup::handleCallWaitingError(int errorCode)
+{
+    DPRINT << ": IN";
+    DPRINT << "errorCode:" << errorCode;
+    
+    emit cancelNote(m_activeNoteId);
+    
+    emit showGlobalErrorNote(m_activeNoteId, errorCode);
+    
+    DPRINT << ": OUT";
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/src/cpcallsplugingroup.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 CPCALLSPLUGINGROUP_H
+#define CPCALLSPLUGINGROUP_H
+
+#include <QObject>
+#include <QMap>
+#include <QVariant>
+#include <hbmessagebox.h>
+#include <cpsettingformitemdata.h>
+#include <psetcallwaitingwrapper.h>
+
+class HbDataFormModel;
+class HbDataFormModelItem; 
+class HbLineEdit;
+class PSetWrapper;
+class PSetCliWrapper; 
+class SsSettingsWrapper; 
+class PSetCallWaitingWrapper;
+class CpSettingsWrapper;
+
+class CpCallsPluginGroup: public CpSettingFormItemData
+{
+    Q_OBJECT
+
+public:
+
+    explicit CpCallsPluginGroup(CpItemDataHelper &helper);
+
+    ~CpCallsPluginGroup();
+    
+private:     
+    
+    void createShowCallDurationItem();
+    void createSoftRejectItem();
+    void createCLIItem();
+    void createCallWaitingtem();
+    
+    void connectShowCallDurationItem();
+    void connectSoftRejectItem();
+    void connectCLIItem();
+    void connectCallWaitingItem();
+    
+    void insertMappedListItems(); 
+    
+public slots:
+    
+    void showCallDurationStateChanged(int state);
+    void softRejectTextChanged();
+    void callWaitingCurrentIndexChanged(int index);
+    void cliCurrentIndexChanged(int index);
+    
+    // Call waiting slots
+    void handleCallWaitingGetStatus( 
+        PSetCallWaitingWrapper::PsCallWaitingStatus status,
+        const QList<unsigned char> &basicServiceGroupIds);
+    void handleCallWaitingChanged( 
+        PSetCallWaitingWrapper::PsCallWaitingCommand setting,
+        int aResult );
+    void handleCallWaitingRequesting( bool ongoing, bool interrupted ); 
+    void handleCallWaitingError( int error );
+    
+signals:
+    
+    void showBasicServiceList(
+        const QString& title, 
+        QList<unsigned char> basicServiceGroupIds);
+    void showGlobalProgressNote(int &noteId, const QString& text);
+    void showGlobalNote(
+        int &noteId, const QString& text, HbMessageBox::MessageBoxType);
+    void showGlobalErrorNote(int &noteId, int errorCode);
+    void cancelNote(int noteId);
+    
+private:   
+
+    // Setting wrappers 
+    PSetWrapper *m_pSetWrapper; 
+    SsSettingsWrapper *m_ssSettingsWrapper; 
+    CpSettingsWrapper *m_cpSettingsWrapper;
+
+    // Not own
+    PSetCliWrapper* m_cliWrapper;
+    PSetCallWaitingWrapper* m_callWaitingWrapper;
+    
+    // Not owned objects
+    CpSettingFormItemData *m_DataItemShowCallDuration; 
+    CpSettingFormItemData *m_DataItemSoftRejectTextEditor;
+    CpSettingFormItemData *m_DataItemCLI; 
+    CpSettingFormItemData *m_DataItemCallWaiting;
+    
+    // List data mappings 
+    QMap<int, QString> m_cliSettingMap;
+    QMap<int, QString> m_callWaitingSettingMap;
+    
+    bool m_callWaitingDistinguishEnabled;
+    int m_activeNoteId;
+    CpItemDataHelper &m_helper;
+};
+#endif // CPCALLSPLUGINGROUP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/run_auto_tests_qt.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,187 @@
+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\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+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 INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL=abld build winscw udeb -keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+
+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
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=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
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+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
+call qmake
+call bldmake bldfiles
+call abld clean winscw udeb
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+for /f %%a in ('dir /b ut_*') do call %PATH_TO_DLL%\%%a.exe -dtextshell --
+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 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/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#include "ut_callsplugin.h"
+#include "qtestmains60.h"
+#define private public
+#include "cpcallsplugin.h"
+#include "cpitemdatahelper.h"
+
+Q_EXTERN_C const char * qt_plugin_query_verification_data();
+Q_EXTERN_C ::QObject *  qt_plugin_instance();
+/*!
+  UT_CpCallsPlugin::UT_CpCallsPlugin
+ */
+UT_CpCallsPlugin::UT_CpCallsPlugin() 
+    : m_callsplugin(NULL)
+{
+    const char * verificationData = qt_plugin_query_verification_data();
+}
+
+/*!
+  UT_CpCallsPlugin::~UT_CpCallsPlugin
+ */
+UT_CpCallsPlugin::~UT_CpCallsPlugin()
+{
+    delete m_callsplugin;
+}
+
+/*!
+  UT_CpCallsPlugin::init
+ */
+void UT_CpCallsPlugin::init()
+{
+    initialize();
+
+    m_callsplugin = (CpCallsPlugin*)qt_plugin_instance();
+}
+
+
+
+void UT_CpCallsPlugin::t_createSettingFormItemData()
+{
+    CpItemDataHelper itemDataHelper;
+    CpCallsPlugin* p = (CpCallsPlugin*)qt_plugin_instance();
+    CpSettingFormItemData *pSettingFormItemData = p->createSettingFormItemData(itemDataHelper);
+}
+
+
+/*!
+  UT_CpCallsPlugin::cleanup
+ */
+void UT_CpCallsPlugin::cleanup()
+{
+    reset();
+    
+    delete m_callsplugin;
+    m_callsplugin = NULL;
+}
+
+/*!
+  UT_CpCallsPlugin::t_memleak
+ */
+void UT_CpCallsPlugin::t_memleak()
+{
+    
+}
+
+QTEST_MAIN_S60(UT_CpCallsPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_CALLSPLUGIN_H
+#define UT_CALLSPLUGIN_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpCallsPlugin;
+
+class UT_CpCallsPlugin : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpCallsPlugin();
+    ~UT_CpCallsPlugin();
+    
+private slots:
+
+    void init();
+
+    void t_createSettingFormItemData();
+    
+    void cleanup();
+    
+    void t_memleak();
+private:
+    CpCallsPlugin *m_callsplugin;
+
+};
+
+#endif // UT_CALLSPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugin/ut_callsplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH +=../../../inc 
+INCLUDEPATH +=../../../cptelephonyutils/inc
+DEFINES += BUILD_CALLSPLUGIN 
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+    INCLUDEPATH += /epoc32/include/mw/QtTest \
+        /epoc32/include/platform/mw \
+        /epoc32/include/mw/qt
+  LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework \
+}
+
+# test code
+HEADERS += ut_callsplugin.h
+SOURCES += ut_callsplugin.cpp
+
+# code to be tested
+HEADERS += ../../src/cpcallsplugin.h \
+           ../../src/cpcallsplugingroup.h \
+           
+SOURCES += ../../src/cpcallsplugin.cpp 
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cpcallsplugingroup.cpp \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,299 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_callsplugingroup.h"
+#include "cpcallsplugingroup.h"
+#include "cpitemdatahelper.h"
+#include "qtestmains60.h"
+// mocked dependencies for the class under test
+#include "psetwrapper.h"
+#include "sssettingswrapper.h"
+#include "cpplugincommon.h"
+#include "cpphonenotes.h"
+
+/*!
+  Dummy CPsetContainer class
+ */
+class CPsetContainer
+    {
+public:
+    CPsetContainer(){};
+    ~CPsetContainer(){};
+    };
+
+/*!
+  UT_CpCallsPluginGroup::UT_CpCallsPluginGroup
+ */
+UT_CpCallsPluginGroup::UT_CpCallsPluginGroup() 
+    : m_callspluginGroup(NULL)
+{
+
+}
+
+/*!
+  UT_CpCallsPluginGroup::~UT_CpCallsPluginGroup
+ */
+UT_CpCallsPluginGroup::~UT_CpCallsPluginGroup()
+{
+    delete m_callspluginGroup;
+}
+
+/*!
+  UT_CpCallsPluginGroup::init
+ */
+void UT_CpCallsPluginGroup::init()
+{
+    initialize();
+    
+    CpItemDataHelper itemDataHelper;
+    CPsetContainer cont;
+    PSetCallWaitingWrapper waitingWrapper(cont);
+    
+    EXPECT(PSetWrapper::callWaitingWrapper).returns(&waitingWrapper);
+    
+    static bool b=0;//CenrepKeyValueOff;
+    if (b==0) {
+        b=1;//CenrepKeyValueOn
+    } else {
+        b=0;
+    }
+    EXPECT(CpSettingsWrapper::showCallDuration).returns(b);
+    
+    static int i=0;//No Errors
+    if (i==0) {
+        i=1;//Error
+    } else {
+        i=0;
+    }
+    EXPECT(SsSettingsWrapper::get).returns(i); 
+    
+    EXPECT(CpSettingsWrapper::readSoftRejectText);
+
+    if (qstrcmp(QTest::currentTestFunction(), 
+        "t_handleCallWaitingGetStatusDistinguishEnabled") == 0) {
+        EXPECT(
+            CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled)
+            .returns(true);
+    }
+    
+    m_callspluginGroup = new CpCallsPluginGroup(itemDataHelper);
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_showCallDurationStateChanged
+ */
+void UT_CpCallsPluginGroup::t_showCallDurationStateChanged()
+{
+    int iRet=0;
+    
+    EXPECT(CpSettingsWrapper::setShowCallDuration).returns(iRet);
+    m_callspluginGroup->showCallDurationStateChanged(Qt::Checked);
+    
+    EXPECT(CpSettingsWrapper::setShowCallDuration).returns(iRet);
+    m_callspluginGroup->showCallDurationStateChanged(Qt::Unchecked);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_callWaitingCurrentIndexChanged
+ */
+void UT_CpCallsPluginGroup::t_callWaitingCurrentIndexChanged()
+{
+    EXPECT(PSetCallWaitingWrapper::setCallWaiting);
+    m_callspluginGroup->callWaitingCurrentIndexChanged \
+            (PSetCallWaitingWrapper::ActivateCallWaiting);
+    
+    EXPECT(PSetCallWaitingWrapper::setCallWaiting);
+    m_callspluginGroup->callWaitingCurrentIndexChanged \
+            (PSetCallWaitingWrapper::DeactivateCallWaiting);
+    
+    EXPECT(PSetCallWaitingWrapper::getCallWaitingStatus);
+    m_callspluginGroup->callWaitingCurrentIndexChanged \
+            (PSetCallWaitingWrapper::CheckCallWaitingStatus);
+    
+    QVERIFY(verify());
+    reset();
+    
+    //Error, negative index , do nothing
+    EXPECT(PSetCallWaitingWrapper::setCallWaiting).times(0);
+    m_callspluginGroup->callWaitingCurrentIndexChanged(-1);
+    //Do nothing, index is out of range
+    EXPECT(PSetCallWaitingWrapper::setCallWaiting).times(0);
+    m_callspluginGroup->callWaitingCurrentIndexChanged \
+                (PSetCallWaitingWrapper::CheckCallWaitingStatus + 100);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_cliCurrentIndexChanged
+ */
+void UT_CpCallsPluginGroup::t_cliCurrentIndexChanged()
+{
+    EXPECT(SsSettingsWrapper::set);
+    m_callspluginGroup->cliCurrentIndexChanged(1);
+    
+    QVERIFY(verify());
+    reset();
+    
+    //Do nothing, index is out of range
+    EXPECT(PSetCallWaitingWrapper::setCallWaiting).times(0);
+    m_callspluginGroup->cliCurrentIndexChanged(-1);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_handleCallWaitingChanged
+ */
+void UT_CpCallsPluginGroup::t_handleCallWaitingChanged()
+{
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showGlobalNote);
+    m_callspluginGroup->handleCallWaitingChanged(
+        PSetCallWaitingWrapper::ActivateCallWaiting , 0);
+    
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showGlobalNote);
+    m_callspluginGroup->handleCallWaitingChanged(
+        PSetCallWaitingWrapper::DeactivateCallWaiting, 0);
+    
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showGlobalNote);
+    m_callspluginGroup->handleCallWaitingChanged(
+        PSetCallWaitingWrapper::CheckCallWaitingStatus, 0);
+    
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showGlobalNote);
+    m_callspluginGroup->handleCallWaitingChanged(
+        PSetCallWaitingWrapper::DeactivateCallWaiting , -1);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_handleCallWaitingRequesting
+ */
+void UT_CpCallsPluginGroup::t_handleCallWaitingRequesting()
+{
+    EXPECT(CpPhoneNotes::cancelNote);
+    m_callspluginGroup->handleCallWaitingRequesting( false, true ); 
+    
+    EXPECT(CpPhoneNotes::showGlobalProgressNote);
+    m_callspluginGroup->handleCallWaitingRequesting( true, false );
+    
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showGlobalProgressNote);
+    m_callspluginGroup->handleCallWaitingRequesting( true, true );
+
+    QVERIFY(verify());
+    reset();
+    
+    EXPECT(CpPhoneNotes::cancelNote).times(0);
+    EXPECT(CpPhoneNotes::showGlobalProgressNote).times(0);
+    m_callspluginGroup->handleCallWaitingRequesting( false, false );
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_handleCallWaitingError
+ */
+void UT_CpCallsPluginGroup::t_handleCallWaitingError()
+{
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showGlobalErrorNote);
+    m_callspluginGroup->handleCallWaitingError( -1 );
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_softRejectTextChanged
+ */
+void UT_CpCallsPluginGroup::t_softRejectTextChanged()
+{
+    int iRet=0;
+    EXPECT(CpSettingsWrapper::writeSoftRejectText).returns(iRet);
+    m_callspluginGroup->softRejectTextChanged();
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_handleCallWaitingGetStatus
+ */
+void UT_CpCallsPluginGroup::t_handleCallWaitingGetStatus()
+{
+    QList<unsigned char> basicServiceGroupIds;
+    
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showGlobalNote);
+    m_callspluginGroup->handleCallWaitingGetStatus(
+        PSetCallWaitingWrapper::StatusNotProvisioned, basicServiceGroupIds);
+    
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showGlobalNote);
+    m_callspluginGroup->handleCallWaitingGetStatus(
+        PSetCallWaitingWrapper::StatusActive, basicServiceGroupIds);
+    
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showBasicServiceList);
+    basicServiceGroupIds << 0;
+    m_callspluginGroup->handleCallWaitingGetStatus(
+        PSetCallWaitingWrapper::StatusActive, basicServiceGroupIds);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_handleCallWaitingGetStatusDistinguishEnabled
+ */
+void UT_CpCallsPluginGroup::t_handleCallWaitingGetStatusDistinguishEnabled()
+{
+    QList<unsigned char> basicServiceGroupIds;
+    
+    EXPECT(CpPhoneNotes::cancelNote);
+    EXPECT(CpPhoneNotes::showGlobalNote);
+    m_callspluginGroup->handleCallWaitingGetStatus(
+        PSetCallWaitingWrapper::StatusNotProvisioned, basicServiceGroupIds);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpCallsPluginGroup::cleanup
+ */
+void UT_CpCallsPluginGroup::cleanup()
+{
+    reset();
+    
+    delete m_callspluginGroup;
+    m_callspluginGroup = NULL;
+}
+
+/*!
+  UT_CpCallsPluginGroup::t_memleak
+ */
+void UT_CpCallsPluginGroup::t_memleak()
+{
+    
+}
+
+QTEST_MAIN_S60(UT_CpCallsPluginGroup)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 UT_CALLSPLUGINGROUP_H
+#define UT_CALLSPLUGINGROUP_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+
+class CpCallsPluginGroup;
+
+class UT_CpCallsPluginGroup : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpCallsPluginGroup();
+    ~UT_CpCallsPluginGroup();
+    
+private slots:
+
+    void init();
+
+    void t_showCallDurationStateChanged();
+    
+    void t_callWaitingCurrentIndexChanged();
+    
+    void t_cliCurrentIndexChanged();
+    
+    void t_handleCallWaitingChanged();
+    
+    void t_handleCallWaitingRequesting();
+    
+    void t_handleCallWaitingError();
+    
+    void t_softRejectTextChanged();
+    
+    void t_handleCallWaitingGetStatus();
+    
+    void t_handleCallWaitingGetStatusDistinguishEnabled();
+    
+    void cleanup();
+    
+    void t_memleak();
+    
+private:
+    CpCallsPluginGroup *m_callspluginGroup;
+
+};
+
+#endif // UT_CALLSPLUGINGROUP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/callsplugin/tsrc/ut_callsplugingroup/ut_callsplugingroup.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,76 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+
+
+
+
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH += ../../../inc
+INCLUDEPATH += ../../../cptelephonyutils/inc
+INCLUDEPATH += /sf/mw/phonesrv/cellular/telephonysettings/xqbindings/psetwrapper/src
+
+
+DEFINES += BUILD_CALLSPLUGIN BUILD_CPTELEPHONYUTILS BUILD_PSETWRAPPER BUILD_SSSETTINGSWRAPPER
+
+QT -= gui
+QT += testlib
+
+symbian: { 
+    CONFIG += no_icon
+    INCLUDEPATH += /epoc32/include/mw/QtTest \
+        /epoc32/include/platform/mw \
+        /epoc32/include/mw/qt
+    LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework 
+        }
+    
+# test code
+HEADERS += ut_callsplugingroup.h
+SOURCES += ut_callsplugingroup.cpp 
+    
+# code to be tested
+HEADERS += ../../src/cpcallsplugin.h \
+           ../../src/cpcallsplugingroup.h \
+           ../../../cptelephonyutils/inc/cpphonenotes.h \
+           ../../../cptelephonyutils/inc/cpplugincommon.h \
+           /epoc32/include/platform/mw/psetwrapper.h \
+           /epoc32/include/platform/mw/psetcliwrapper.h \
+           /epoc32/include/platform/mw/sssettingswrapper.h \
+           /epoc32/include/platform/mw/psetcallwaitingwrapper.h \
+           /epoc32/include/platform/mw/psetcalldivertingwrapper.h \
+           /epoc32/include/platform/mw/psetnetworkwrapper.h             
+
+    
+SOURCES += ../../src/cpcallsplugingroup.cpp
+    
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cpcallsplugin.cpp \
+           ../../../tsrc/mocks/mock_cpphonenotes.cpp \
+           ../../../tsrc/mocks/mock_cpplugincommon.cpp \
+           ../../../tsrc/mocks/mock_psetcalldivertingwrapper.cpp \
+           ../../../tsrc/mocks/mock_psetcallwaitingwrapper.cpp \
+           ../../../tsrc/mocks/mock_psetcliwrapper.cpp \
+           ../../../tsrc/mocks/mock_psetnetworkwrapper.cpp \
+           ../../../tsrc/mocks/mock_psetwrapper.cpp \
+           ../../../tsrc/mocks/mock_sssettingswrapper.cpp \
+           ../../../tsrc/mocks/mock_psetcliwrapper_p.cpp \
+           ../../../tsrc/mocks/mock_psetcallwaitingwrapper_p.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+#
+
+# Input
+HEADERS += src/cpnetworkplugin.h \
+           src/cpnetworkpluginview.h \
+           src/cpnetworkpluginform.h
+
+SOURCES += src/cpnetworkplugin.cpp \
+           src/cpnetworkpluginview.cpp \
+           src/cpnetworkpluginform.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/cpnetworkplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = cpnetworkplugin
+CONFIG += hb plugin
+INCLUDEPATH += ../cptelephonyutils/inc
+
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+
+TRANSLATIONS = telephone_cp.ts
+
+LIBS += -lcpframework \
+        -lpsetwrapper \
+        -lcptelephonyutils
+
+include(../cpplugincommon.pri)
+include (cpnetworkplugin.pri)
+
+symbian: { 
+    TARGET.UID3 = 0X20029F24
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include <cpsettingformentryitemdataimpl.h>
+#include "cpnetworkplugin.h"
+#include "cpnetworkpluginview.h"
+#include "cppluginlogging.h"
+
+/*!
+  CpNetworkPlugin::CpNetworkPlugin
+ */
+CpNetworkPlugin::CpNetworkPlugin() : QObject(0)
+{
+    INSTALL_TRACE_MSG_HANDLER;
+    
+    DPRINT;
+}
+
+/*!
+  CpNetworkPlugin::~CpNetworkPlugin
+ */
+CpNetworkPlugin::~CpNetworkPlugin()
+{
+    UNINSTALL_TRACE_MSG_HANDLER;
+}
+
+/*!
+  CpNetworkPlugin::createSettingFormItemData
+ */
+CpSettingFormItemData *CpNetworkPlugin::createSettingFormItemData(
+    CpItemDataHelper &itemDataHelper) const
+{
+    DPRINT;
+    
+    return new CpSettingFormEntryItemDataImpl<CpNetworkPluginView>(
+        itemDataHelper,
+        hbTrId("Mobile network"), 
+        hbTrId("Mobile network settings"));
+}
+
+Q_EXPORT_PLUGIN2(CpNetworkPlugin, CpNetworkPlugin);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 CPNETWORKPLUGIN_H
+#define CPNETWORKPLUGIN_H
+
+#include <qobject.h>
+#include <cppluginplatinterface.h>
+
+class CpNetworkPlugin : public QObject, public CpPluginPlatInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(CpPluginPlatInterface)
+    
+public:
+    
+    CpNetworkPlugin();
+    
+    ~CpNetworkPlugin();
+    
+    virtual CpSettingFormItemData *createSettingFormItemData(
+        CpItemDataHelper &itemDataHelper) const;
+};
+
+#endif  // CPNETWORKPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,723 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <hbdataform.h>
+#include <hbdataformmodel.h>
+#include <hbdataformmodelitem.h>
+#include <hbdataformviewitem.h>
+#include <hbdialog.h>
+#include <hbaction.h>
+#include <hblistwidget.h>
+#include <hblistwidgetitem.h>
+#include <hblabel.h>
+#include <cpsettingformitemdata.h>
+#include <psetwrapper.h>
+
+#include "cpnetworkpluginform.h"
+#include "cpplugincommon.h"
+#include "cppluginlogging.h"
+#include "cpphonenotes.h"
+
+/*!
+  CpNetworkPluginForm::CpNetworkPluginForm
+ */
+CpNetworkPluginForm::CpNetworkPluginForm(QGraphicsItem *parent) :
+    HbDataForm(parent),
+    m_activeNoteId(0),
+    m_activeProgressNoteId(0),
+    m_pSetWrapper(NULL),
+    m_cpSettingsWrapper(NULL)
+{
+    DPRINT << ": IN";
+    
+    setHeading(hbTrId("Mobile network"));
+    
+    QScopedPointer<PSetWrapper> pSetWrapperGuard(new PSetWrapper);
+    m_psetNetworkWrapper = &pSetWrapperGuard->networkWrapper();
+    connectToNetworkWrapper(*m_psetNetworkWrapper);
+    connectToPhoneNotes(*CpPhoneNotes::instance());
+    
+    QScopedPointer<HbDataFormModel> model(new HbDataFormModel);
+    QScopedPointer<CpSettingsWrapper> cpSettingsWrapperGuard(new CpSettingsWrapper);
+
+    // #1 Read Network mode value from Cenrep
+    model->appendDataFormItem(createNetworkModeItem());
+    // #2 Use phone settings for operator selection
+    model->appendDataFormItem(createOperatorSelectionItem());
+    setModel(model.take());
+    m_pSetWrapper = pSetWrapperGuard.take();
+    m_cpSettingsWrapper = cpSettingsWrapperGuard.take();
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::~CpNetworkPluginForm
+ */
+CpNetworkPluginForm::~CpNetworkPluginForm()
+{
+    DPRINT << ": IN";
+    
+    delete m_pSetWrapper;
+    delete m_cpSettingsWrapper;
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::createNetworkModeItem
+  */
+HbDataFormModelItem *CpNetworkPluginForm::createNetworkModeItem()
+{
+    // #1A Read network mode value from Cenrep 
+    DPRINT << ": IN";
+
+    m_NetworkModeOptionsItemData = new CpSettingFormItemData(
+        HbDataFormModelItem::ComboBoxItem, 
+        hbTrId("Network mode"), 
+        NULL );
+    QScopedPointer<CpSettingFormItemData> settingFormItemGuard(
+        m_NetworkModeOptionsItemData);
+    
+    mNetworkModeOptions << hbTrId("Dual mode") << hbTrId("UMTS") << hbTrId("GSM");
+    m_NetworkModeOptionsItemData->setContentWidgetData(
+        "items", QVariant(mNetworkModeOptions));
+    
+    QObject::connect(
+        m_psetNetworkWrapper, 
+        SIGNAL(networkAccessModeGot(int)),
+        this, 
+        SLOT(networkAccessModeGot(int)));
+    QObject::connect(
+        m_psetNetworkWrapper, 
+        SIGNAL(availableNetworksGot(QList<PSetNetworkWrapper::NetworkInfo*> &)),
+        this, 
+        SLOT(availableNetworksGot(QList<PSetNetworkWrapper::NetworkInfo*> &)));
+    
+    m_psetNetworkWrapper->getNetworkAccessMode();
+    
+    addConnection(
+        m_NetworkModeOptionsItemData, 
+        SIGNAL(currentIndexChanged(int)),
+        this, 
+        SLOT(networkModeStateChanged(int)));
+    
+    settingFormItemGuard.take();
+    DPRINT << ": OUT";
+    return m_NetworkModeOptionsItemData;
+}
+
+
+/*!
+  CpNetworkPluginForm::createOperatorSelectionItem
+  */
+HbDataFormModelItem *CpNetworkPluginForm::createOperatorSelectionItem()
+{
+    // #2A Use phone settings for operator selection
+    DPRINT << ": IN";
+    
+    m_NetworkOperatorSelectionItemData = new CpSettingFormItemData(
+        HbDataFormModelItem::ToggleValueItem, 
+        hbTrId("Operator selection"), 
+        NULL);
+    QScopedPointer<CpSettingFormItemData> settingFormItemGuard(
+        m_NetworkOperatorSelectionItemData);
+    
+    PSetNetworkWrapper::NetworkSelectionMode mode;
+    PSetNetworkWrapper::ErrorCode err = 
+        m_psetNetworkWrapper->getNetworkSelectionMode(mode);
+    if(err == PSetNetworkWrapper::ErrNoError) {
+        switch (mode) {
+            case PSetNetworkWrapper::SelectionModeAutomatic: 
+                m_NetworkOperatorSelectionItemData->setContentWidgetData(
+                    "text", QVariant(hbTrId("Automatic")));
+                break;
+            case PSetNetworkWrapper::SelectionModeManual: 
+                m_NetworkOperatorSelectionItemData->setContentWidgetData(
+                    "text", QVariant(hbTrId("Manual")));
+                break;
+            default:
+                break;
+        }
+    }
+    
+    addConnection(
+        m_NetworkOperatorSelectionItemData, SIGNAL(clicked(bool) ),
+        this, SLOT(operatorSelectionStateChanged(bool)));
+    
+    settingFormItemGuard.take();
+    DPRINT << ": OUT";
+    return m_NetworkOperatorSelectionItemData;
+}
+
+/*!
+  CpNetworkPluginForm::networkModeStateChanged
+  */
+void CpNetworkPluginForm::networkModeStateChanged(int index)
+{
+    // #1C network mode changed
+    DPRINT << ": IN : index: " << index;
+    
+    if(isPhoneOnLine()) {
+        if(index == 0){
+            dualModeSelection();
+        } else if(index == 1) {
+            umtsSelection();
+        } else if(index == 2) {
+            gsmSelection();
+        }
+    } else {
+        // offline mode.
+        emit showGlobalNote(
+            m_activeNoteId, 
+            emit hbTrId("Operation not possible in Off-line mode"), 
+            HbMessageBox::MessageTypeInformation);
+    }
+        
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::operatorSelectionStateChanged
+  */
+void CpNetworkPluginForm::operatorSelectionStateChanged(bool)
+{
+    // #2C operator selection mode changed
+    DPRINT << ": IN ";
+    
+    if(isPhoneOnLine()) {
+        PSetNetworkWrapper::NetworkSelectionMode mode;
+        m_psetNetworkWrapper->getNetworkSelectionMode(mode);
+        switch (mode) {
+            case PSetNetworkWrapper::SelectionModeAutomatic: 
+                manualOperatorSelection();
+                m_NetworkOperatorSelectionItemData->setContentWidgetData(
+                    "text", QVariant(hbTrId("Manual")));
+                break;
+            case PSetNetworkWrapper::SelectionModeManual: 
+                automaticOperatorSelection();
+                m_NetworkOperatorSelectionItemData->setContentWidgetData(
+                    "text", QVariant(hbTrId("Automatic")));
+                break;
+            default:
+                break;
+            }
+    } else {
+        // offline mode.
+        emit showGlobalNote(
+            m_activeNoteId, 
+            emit hbTrId("Operation not possible in Off-line mode"), 
+            HbMessageBox::MessageTypeInformation);
+    }
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::automaticOperatorSelection
+  */
+void CpNetworkPluginForm::automaticOperatorSelection()
+{
+    DPRINT << ": IN";
+    
+    PSetNetworkWrapper::NetworkInfo info;
+    info.m_mode = PSetNetworkWrapper::SelectionModeAutomatic;
+    m_psetNetworkWrapper->selectNetwork(info);
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::manualOperatorSelection
+  */
+void CpNetworkPluginForm::manualOperatorSelection()
+{
+    DPRINT << ": IN";
+    
+    m_psetNetworkWrapper->getAvailableNetworks();
+        
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::dualModeSelection
+  */
+void CpNetworkPluginForm::dualModeSelection()
+{
+    DPRINT << ": IN";
+    
+    m_psetNetworkWrapper->setNetworkAccessMode(
+        PSetNetworkWrapper::AccessModeDual);
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::umtsSelection
+  */
+void CpNetworkPluginForm::umtsSelection()
+{
+    DPRINT << ": IN";
+    
+    m_psetNetworkWrapper->setNetworkAccessMode(
+        PSetNetworkWrapper::AccessModeUmts);
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::gsmSelection
+  */
+void CpNetworkPluginForm::gsmSelection()
+{
+    DPRINT << ": IN";
+    
+    m_psetNetworkWrapper->setNetworkAccessMode(
+        PSetNetworkWrapper::AccessModeGsm);
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::networkAccessModeGot
+  */
+void CpNetworkPluginForm::networkAccessModeGot(
+    int mode)
+{
+    DPRINT << ": IN";
+    
+    switch (mode) {
+        case PSetNetworkWrapper::AccessModeDual: 
+            m_NetworkModeOptionsItemData->setContentWidgetData(
+                "currentIndex", 0);
+            break;
+        case PSetNetworkWrapper::AccessModeUmts: 
+            m_NetworkModeOptionsItemData->setContentWidgetData(
+                "currentIndex", 1);
+            break;
+        case PSetNetworkWrapper::AccessModeGsm: 
+            m_NetworkModeOptionsItemData->setContentWidgetData(
+                "currentIndex", 2);
+            break;
+        default:
+            break;
+    }
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::availableNetworksGot
+  */
+void CpNetworkPluginForm::availableNetworksGot(
+        QList<PSetNetworkWrapper::NetworkInfo*> &networkInfoList)
+{
+    DPRINT << ": IN";
+    
+    m_networkInfoList = &networkInfoList;
+    showManualSeletiondialog();
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::createDialog
+  */
+HbDialog* CpNetworkPluginForm::createDialog(const QString& heading) const
+{
+    DPRINT << ": IN";
+ 
+    HbDialog *dialog = new HbDialog();
+    dialog->setDismissPolicy(HbDialog::NoDismiss);
+    dialog->setTimeout(HbDialog::NoTimeout);
+    dialog->setHeadingWidget(new HbLabel(heading));
+    
+    DPRINT << ": OUT";
+    return dialog;
+}
+
+
+/*!
+  CpNetworkPluginForm::createDialog
+  */
+void CpNetworkPluginForm::addItemToListWidget(HbListWidget* w,
+        const QString& item, const int& data) const
+{
+    DPRINT << ": IN";
+    Q_ASSERT(w != 0);
+    
+    HbListWidgetItem* o = new HbListWidgetItem();
+    o->setText(item);
+    o->setData(data);
+    w->addItem(o);
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::networkReqestFailed
+  */
+void CpNetworkPluginForm::networkReqestFailed(
+        PSetNetworkWrapper::ErrorCode error,
+        PSetNetworkWrapper::RequestType type)
+{
+    DPRINT << ": IN";
+    
+    QString text;
+    switch(error) {
+        case PSetNetworkWrapper::ErrCauseCallActive:
+            text = hbTrId("Call in progress");
+            break;
+        case PSetNetworkWrapper::ErrNoNetworkService:
+            text = hbTrId("No network found");
+            break;
+        case PSetNetworkWrapper::ErrOfflineOpNotAllowed:
+            text = hbTrId("Off-line, not alloowed");
+            break;
+        case PSetNetworkWrapper::ErrNoNetworkAccess:
+            text = hbTrId("No access");
+            break;
+        default:
+            break;
+    }
+    emit showGlobalNote(
+        m_activeNoteId, text, HbMessageBox::MessageTypeInformation);
+    
+    // Update UI
+    if(type == PSetNetworkWrapper::RequestSetNetworkMode) {
+       m_psetNetworkWrapper->getNetworkAccessMode();
+       }
+    else if(type == PSetNetworkWrapper::RequestSetNetwork && 
+            error == PSetNetworkWrapper::ErrNoNetworkAccess) {
+        showManualSeletiondialog();
+    }
+    else if(type == PSetNetworkWrapper::RequestSetNetwork ||
+            type == PSetNetworkWrapper::RequestSetNetworkAutomatic ||
+            type == PSetNetworkWrapper::RequestGetNetworkInfo) {
+        restoreUiSelection();
+    }
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::userCancel
+  */
+void CpNetworkPluginForm::userCancel()
+{
+    DPRINT << ": IN";
+    
+    m_psetNetworkWrapper->cancelRequest();
+    restoreUiSelection();
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::userCancel
+  */
+void CpNetworkPluginForm::handleSearchingNetworks(
+    PSetNetworkWrapper::RequestType &type)
+{
+    DPRINT << ": IN";
+    
+    if (type != PSetNetworkWrapper::RequestNone) {
+        QObject::connect(
+            CpPhoneNotes::instance(), SIGNAL(progressNoteCanceled()),
+            this, SLOT(userCancel()));
+        emit showGlobalProgressNote(m_activeProgressNoteId, hbTrId("Searching..."));
+    } else {
+        QObject::disconnect(
+            CpPhoneNotes::instance(), SIGNAL(progressNoteCanceled()),
+            this, SLOT(userCancel()));
+        emit cancelNote(m_activeProgressNoteId);
+        m_activeProgressNoteId = 0;
+    }
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::userCancel
+  */
+void CpNetworkPluginForm::handleRequestingSelectedNetwork(bool ongoing)
+{
+    DPRINT << ": IN";
+    
+    if (ongoing) {
+        QObject::connect(
+            CpPhoneNotes::instance(), SIGNAL(progressNoteCanceled()),
+            this, SLOT(userCancel()));
+        emit showGlobalProgressNote(m_activeProgressNoteId, hbTrId("Requesting"));
+    } else {
+        QObject::disconnect(
+            CpPhoneNotes::instance(), SIGNAL(progressNoteCanceled()),
+            this, SLOT(userCancel()));
+        emit cancelNote(m_activeProgressNoteId);
+        m_activeProgressNoteId = 0;
+    }
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::userCancel
+  */
+void CpNetworkPluginForm::handleNetworkChanged(
+    PSetNetworkWrapper::NetworkInfo& currentInfo,
+    PSetNetworkWrapper::RegistrationStatus& status)
+{
+    DPRINT << ": IN";
+    
+    QString text;
+    switch (status){
+        case PSetNetworkWrapper::RegisteredOnHomeNetwork:
+            text = hbTrId("Home network selected");
+            break;
+        case PSetNetworkWrapper::RegisteredRoaming: {
+            text = hbTrId("Selected network: ");
+            text.append(networkName(currentInfo));
+        }
+            break; 
+    }
+    
+    emit showGlobalNote(
+        m_activeNoteId, text, HbMessageBox::MessageTypeInformation);
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::showManualSeletiondialog
+  */
+void CpNetworkPluginForm::showManualSeletiondialog()
+{
+    DPRINT << ": IN";
+    
+    HbDialog *dialog = createDialog(hbTrId("Available networks"));
+    HbListWidget *list = new HbListWidget(dialog);
+    //then insert found networks
+    int itemsCount = m_networkInfoList->count();
+    for(int i = 0; i < itemsCount; i++)
+        {
+        PSetNetworkWrapper::NetworkInfo *info = m_networkInfoList->at(i);
+        QString text = networkName(*info);
+        addItemToListWidget(list, text, i);
+        DPRINT << ":  " << info;
+        }
+    // Connect list item activation signal to close the popup
+    connect(
+        list, SIGNAL(activated(HbListWidgetItem*)), 
+        dialog, SLOT(close()));
+    // Sets the "Cancel"-action/button
+    HbAction *cancelAction = new HbAction(hbTrId("Cancel"));
+    dialog->setPrimaryAction(cancelAction);
+    dialog->setContentWidget(list);
+    // Launch popup and handle the response
+    if (dialog->exec() != cancelAction) {
+        // Update the view with selected text
+        int seletion = 0;
+        if(list->currentItem()) {
+            seletion = list->currentItem()->data().toInt();
+            DPRINT << ": seletion : " << seletion;
+        }
+        PSetNetworkWrapper::NetworkInfo param;
+        param.m_id.m_countryCode = 
+            m_networkInfoList->at(seletion)->m_id.m_countryCode;
+        param.m_id.m_networkCode = 
+            m_networkInfoList->at(seletion)->m_id.m_networkCode;
+        param.m_mode = PSetNetworkWrapper::SelectionModeManual;
+        DPRINT << ": m_countryCode : " << param.m_id.m_countryCode;
+        DPRINT << ": m_networkCode : " << param.m_id.m_networkCode;
+        DPRINT << ": m_mode : " << param.m_mode;
+        m_psetNetworkWrapper->selectNetwork(param);
+    }
+    else {
+        DPRINT << ": Cancel";
+        m_psetNetworkWrapper->cancelRequest();
+        restoreUiSelection();
+    }
+
+    disconnect(
+        list, SIGNAL(activated(HbListWidgetItem*)), 
+        dialog, SLOT(close()));
+    delete dialog;
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::restoreUiSelection
+  */
+void CpNetworkPluginForm::restoreUiSelection()
+{
+    DPRINT << ": IN";
+    
+    removeConnection(
+        m_NetworkOperatorSelectionItemData, SIGNAL(currentIndexChanged(int)),
+        this, SLOT(operatorSelectionStateChanged(int)));
+    PSetNetworkWrapper::NetworkSelectionMode mode;
+    PSetNetworkWrapper::ErrorCode err = 
+        m_psetNetworkWrapper->getNetworkSelectionMode(mode);
+    if(err == PSetNetworkWrapper::ErrNoError) {
+        switch (mode) {
+            case PSetNetworkWrapper::SelectionModeAutomatic: 
+                m_NetworkOperatorSelectionItemData->setContentWidgetData(
+                    "text", QVariant(hbTrId("Automatic")));
+                break;
+            case PSetNetworkWrapper::SelectionModeManual: 
+                m_NetworkOperatorSelectionItemData->setContentWidgetData(
+                    "text", QVariant(hbTrId("Manual")));
+                break;
+            default:
+                break;
+            }
+    }
+    addConnection(
+        m_NetworkOperatorSelectionItemData, SIGNAL(currentIndexChanged(int)),
+        this, SLOT(operatorSelectionStateChanged(int)));
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpNetworkPluginForm::networkName()
+  */
+QString CpNetworkPluginForm::networkName(
+    PSetNetworkWrapper::NetworkInfo &info)
+{
+    DPRINT << ": IN";
+    
+    QString text;
+    if (!info.m_longName.isEmpty())
+        {
+        text.append(info.m_longName);
+        }
+    else if (!info.m_shortName.isEmpty())
+        {
+        text.append(info.m_shortName);
+        }
+    else //network returned only ids
+        {
+        text.append(info.m_id.m_countryCode);
+        text.append(" ");
+        text.append(info.m_id.m_networkCode);
+        }
+    
+    DPRINT << ": OUT : " << text;
+    return text;
+}
+
+
+/*!
+  CpNetworkPluginForm::connectToNetworkWrapper
+ */
+void CpNetworkPluginForm::connectToNetworkWrapper(PSetNetworkWrapper &wrapper)
+{
+    QObject::connect(
+        &wrapper, 
+        SIGNAL(networkReqestFailed(
+            PSetNetworkWrapper::ErrorCode,PSetNetworkWrapper::RequestType)),
+        this, 
+        SLOT(networkReqestFailed(
+            PSetNetworkWrapper::ErrorCode,PSetNetworkWrapper::RequestType)));
+    
+    QObject::connect(
+        &wrapper, 
+        SIGNAL(searchingNetworks(PSetNetworkWrapper::RequestType &)),
+        this, 
+        SLOT(handleSearchingNetworks(PSetNetworkWrapper::RequestType &)));
+    
+    QObject::connect(
+        &wrapper, 
+        SIGNAL(requestingSelectedNetwork(bool)),
+        this, 
+        SLOT(handleRequestingSelectedNetwork(bool)));
+    
+    QObject::connect(
+        &wrapper, 
+        SIGNAL(networkChanged(
+            PSetNetworkWrapper::NetworkInfo&, 
+            PSetNetworkWrapper::RegistrationStatus&)),
+        this, 
+        SLOT(handleNetworkChanged(
+            PSetNetworkWrapper::NetworkInfo&, 
+            PSetNetworkWrapper::RegistrationStatus&)));
+}
+
+
+/*!
+  CpNetworkPluginForm::connectToPhoneNotes
+ */
+void CpNetworkPluginForm::connectToPhoneNotes(CpPhoneNotes &notes)
+{
+    QObject::connect(
+        this, 
+        SIGNAL(showGlobalProgressNote(int &, const QString&)),
+        &notes, 
+        SLOT(showGlobalProgressNote(int &, const QString&)));
+    
+    QObject::connect(
+        this, 
+        SIGNAL(showGlobalNote(
+            int &, const QString&, HbMessageBox::MessageBoxType)),
+        &notes, 
+        SLOT(showGlobalNote(
+            int &, const QString&, HbMessageBox::MessageBoxType)));
+    
+    QObject::connect(
+        this, 
+        SIGNAL(cancelNote(int)),
+        &notes, 
+        SLOT(cancelNote(int)));
+}
+
+/*!
+  CpNetworkPluginForm::isPhoneOnLine
+ */
+bool CpNetworkPluginForm::isPhoneOnLine()
+{
+    DPRINT << ": IN";
+    
+    bool onLine(true);
+    if (m_cpSettingsWrapper->isPhoneOffline()) {
+        onLine = false;
+    }
+    
+    DPRINT << ": OUT : onLine : " << onLine;
+    return onLine;
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginform.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 CPNETWORKPLUGINFORM_H
+#define CPNETWORKPLUGINFORM_H
+
+#include <hbdataform.h>
+#include <QStringList>
+#include <psetnetworkwrapper.h>
+#include <hbmessagebox.h>
+
+class HbDataFormModelItem;
+class CpSettingsWrapper;
+class PSetWrapper;
+class HbListWidget;
+class PSetNetworkWrapper;
+class CpSettingFormItemData;
+class CpPhoneNotes;
+
+class CpNetworkPluginForm : public HbDataForm
+{
+    Q_OBJECT
+    
+public:
+    
+    explicit CpNetworkPluginForm(QGraphicsItem *parent = 0);
+    
+    virtual ~CpNetworkPluginForm();
+    
+signals:
+    
+    void showGlobalProgressNote(int &noteId, const QString& text);
+    void showGlobalNote(
+        int &noteId, const QString& text, HbMessageBox::MessageBoxType msgBoxType);
+    void cancelNote(int noteId);
+
+public slots: 
+
+    void networkModeStateChanged(int index);
+    void operatorSelectionStateChanged(bool index);
+    void networkAccessModeGot(int mode);
+    void availableNetworksGot(
+        QList<PSetNetworkWrapper::NetworkInfo*> &m_networkInfoList);
+    void networkReqestFailed(
+        PSetNetworkWrapper::ErrorCode error, 
+        PSetNetworkWrapper::RequestType type);
+    void userCancel();
+    void handleSearchingNetworks(PSetNetworkWrapper::RequestType &type);
+    void handleRequestingSelectedNetwork(bool ongoing);
+    void handleNetworkChanged(
+        PSetNetworkWrapper::NetworkInfo& currentInfo,
+        PSetNetworkWrapper::RegistrationStatus& status);
+
+private:     
+    HbDataFormModelItem *createNetworkModeItem();
+    HbDataFormModelItem *createOperatorSelectionItem();
+    
+    void automaticOperatorSelection();
+    void manualOperatorSelection();
+    
+    void dualModeSelection();
+    void umtsSelection();
+    void gsmSelection();
+    
+    HbDialog* createDialog(const QString& heading) const;
+    void addItemToListWidget(
+        HbListWidget* w, const QString& item, const int& data) const;
+    
+    void showManualSeletiondialog();
+    void restoreUiSelection();
+    QString networkName(PSetNetworkWrapper::NetworkInfo &info);
+
+    void connectToNetworkWrapper(PSetNetworkWrapper &wrapper);
+    
+    void connectToPhoneNotes(CpPhoneNotes &notes);
+    
+    bool isPhoneOnLine();
+    
+private:
+    
+    QStringList mNetworkModeOptions;
+    QStringList mOperatorSelectionOptions;
+    int m_activeNoteId;
+    int m_activeProgressNoteId;
+    // Own
+    PSetWrapper *m_pSetWrapper;
+    CpSettingsWrapper *m_cpSettingsWrapper;
+    
+    // Not own
+    PSetNetworkWrapper *m_psetNetworkWrapper;
+    CpSettingFormItemData *m_NetworkModeOptionsItemData;
+    CpSettingFormItemData *m_NetworkOperatorSelectionItemData;
+    QList<PSetNetworkWrapper::NetworkInfo*> *m_networkInfoList;
+};
+
+#endif  // CPNETWORKPLUGINFORM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#include "cpnetworkpluginview.h"
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include "cpnetworkpluginform.h"
+#include "cppluginlogging.h"
+
+/*!
+  CpNetworkPluginView::CpNetworkPluginView
+ */
+CpNetworkPluginView::CpNetworkPluginView(QGraphicsItem *parent) :
+    CpBaseSettingView(0, parent),
+    m_networkSettingsForm(0)
+{
+    DPRINT << ": IN";
+    
+    // Localization file loading
+    QTranslator translator; 
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    DPRINT << ": loading translation: " << QString(path + "telephone_cp_" + lang);
+    bool translatorLoaded = translator.load(path + "telephone_cp_" + lang);
+    DPRINT << ": translator loaded: " << translatorLoaded; 
+    if (translatorLoaded) {
+        qApp->installTranslator(&translator);
+        DPRINT << ": translator installed"; 
+    }
+    
+    m_networkSettingsForm = new CpNetworkPluginForm();
+    // base class takes ownership of the form
+    this->setSettingForm(m_networkSettingsForm);
+    
+    DPRINT << ": OUT";
+    }
+
+/*!
+  CpNetworkPluginView::~CpNetworkPluginView
+ */
+CpNetworkPluginView::~CpNetworkPluginView()
+{
+    DPRINT << ": IN";
+    
+    DPRINT << ": OUT";
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkpluginview.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+#ifndef CPNETWORKPLUGINVIEW_H
+#define CPNETWORKPLUGINVIEW_H
+
+#include <cpbasesettingview.h>
+
+class CpNetworkPluginForm;
+
+class CpNetworkPluginView : public CpBaseSettingView
+{
+    Q_OBJECT
+    
+public:
+    
+    explicit CpNetworkPluginView(QGraphicsItem *parent = 0);
+    
+    virtual ~CpNetworkPluginView();
+
+private:
+    
+    CpNetworkPluginForm* m_networkSettingsForm;
+
+};
+
+#endif  // CPNETWORKPLUGINVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/run_auto_tests_qt.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,187 @@
+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\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+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 INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL=abld build winscw udeb -keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+
+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
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=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
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+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
+call qmake
+call bldmake bldfiles
+call abld clean winscw udeb
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+for /f %%a in ('dir /b ut_*') do call %PATH_TO_DLL%\%%a.exe -dtextshell --
+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 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/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_cpnetworkplugin.h"
+#include "qtestmains60.h"
+#define private public
+#include "cpnetworkplugin.h"
+#include "cpitemdatahelper.h"
+
+Q_EXTERN_C const char * qt_plugin_query_verification_data();
+Q_EXTERN_C ::QObject *  qt_plugin_instance();
+
+/*!
+  UT_CpNetworkPlugin::UT_CpNetworkPlugin
+ */
+UT_CpNetworkPlugin::UT_CpNetworkPlugin() 
+    : m_networkPlugin(NULL)
+{
+    const char * verificationData = qt_plugin_query_verification_data();
+}
+
+
+/*!
+  UT_CpNetworkPlugin::~UT_CpNetworkPlugin
+ */
+UT_CpNetworkPlugin::~UT_CpNetworkPlugin()
+{
+    delete m_networkPlugin;
+}
+
+
+/*!
+  UT_CpNetworkPlugin::init
+ */
+void UT_CpNetworkPlugin::init()
+{
+    initialize();
+
+    m_networkPlugin = (CpNetworkPlugin*)qt_plugin_instance();
+}
+
+
+/*!
+  UT_CpNetworkPlugin::cleanup
+ */
+void UT_CpNetworkPlugin::cleanup()
+{
+    reset();
+    
+    delete m_networkPlugin;
+    m_networkPlugin = NULL;
+}
+
+
+/*!
+  UT_CpNetworkPlugin::t_createSettingFormItemData
+ */
+void UT_CpNetworkPlugin::t_createSettingFormItemData()
+{
+    CpItemDataHelper itemDataHelper;
+    CpNetworkPlugin* p = (CpNetworkPlugin*)qt_plugin_instance();
+    CpSettingFormItemData *pSettingFormItemData = 
+        p->createSettingFormItemData(itemDataHelper);
+}
+
+
+/*!
+  UT_CpNetworkPlugin::t_memleak
+ */
+void UT_CpNetworkPlugin::t_memleak()
+{
+    
+}
+
+QTEST_MAIN_S60(UT_CpNetworkPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_CPNETWORKPLUGIN_H
+#define UT_CPNETWORKPLUGIN_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpNetworkPlugin;
+
+class UT_CpNetworkPlugin : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpNetworkPlugin();
+    ~UT_CpNetworkPlugin();
+    
+private slots:
+
+    void init();
+    
+    void t_memleak();
+
+    void t_createSettingFormItemData();
+    
+    void cleanup();
+    
+private:
+    CpNetworkPlugin *m_networkPlugin;
+
+};
+
+#endif // UT_CPNETWORKPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkplugin/ut_cpnetworkplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH +=../../../inc 
+INCLUDEPATH +=../../../cptelephonyutils/inc
+DEFINES += BUILD_NETWORKPLUGIN
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+    INCLUDEPATH += /epoc32/include/mw/QtTest \
+        /epoc32/include/platform/mw \
+        /epoc32/include/mw/qt
+  LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework
+}
+    
+# test code
+HEADERS += ut_cpnetworkplugin.h
+SOURCES += ut_cpnetworkplugin.cpp
+
+# code to be tested
+HEADERS += ../../src/cpnetworkplugin.h \
+           ../../src/cpnetworkpluginview.h \
+       
+SOURCES += ../../src/cpnetworkplugin.cpp 
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cpnetworkpluginview.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_cpnetworkpluginform.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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: Project file for building unit test component
+#
+
+
+
+
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH += ../../../inc
+INCLUDEPATH += ../../../cptelephonyutils/inc
+DEFINES += BUILD_NETWORKPLUGIN BUILD_PSETWRAPPER BUILD_CPTELEPHONYUTILS
+
+QT -= gui
+QT += testlib
+
+symbian: { 
+    CONFIG += no_icon
+    INCLUDEPATH += /epoc32/include/mw/QtTest \
+        /epoc32/include/platform/mw \
+        /epoc32/include/mw/qt
+    LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework 
+        }
+    
+# test code
+HEADERS += ut_networkpluginform.h
+SOURCES += ut_networkpluginform.cpp
+    
+# code to be tested
+HEADERS += ../../src/cpnetworkplugin.h \
+           ../../src/cpnetworkpluginform.h \
+           ../../../cptelephonyutils/inc/cpplugincommon.h \
+           ../../../cptelephonyutils/inc/cpphonenotes.h \
+           /epoc32/include/platform/mw/psetwrapper.h \
+           /epoc32/include/platform/mw/psetcliwrapper.h \
+           /epoc32/include/platform/mw/psetcallwaitingwrapper.h \
+           /epoc32/include/platform/mw/psetcalldivertingwrapper.h \
+           /epoc32/include/platform/mw/psetnetworkwrapper.h
+
+SOURCES += ../../src/cpnetworkpluginform.cpp
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cpnetworkplugin.cpp \
+           ../../../tsrc/mocks/mock_psetwrapper.cpp \
+           ../../../tsrc/mocks/mock_psetnetworkwrapper.cpp \
+           ../../../tsrc/mocks/mock_cpplugincommon.cpp \
+           ../../../tsrc/mocks/mock_cpphonenotes.cpp \
+           ../../../tsrc/mocks/mock_hbdataform.cpp \
+           ../../../tsrc/mocks/mock_hbabstractitemview.cpp \
+           ../../../tsrc/mocks/mock_hbscrollarea.cpp \
+           ../../../tsrc/mocks/mock_hbdialog.cpp \
+           ../../../tsrc/mocks/mock_hbpopup.cpp \
+           ../../../tsrc/mocks/mock_hbwidget.cpp \
+           ../../../tsrc/mocks/mock_hblabel.cpp \
+           ../../../tsrc/mocks/mock_hblistwidget.cpp \
+           ../../../tsrc/mocks/mock_hblistview.cpp \
+           ../../../tsrc/mocks/mock_hbaction.cpp \
+           ../../../tsrc/mocks/mock_qaction.cpp \
+           ../../../tsrc/mocks/mock_qobject.cpp \
+           ../../../tsrc/mocks/mock_hblistwidgetitem.cpp 
+           
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,256 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_networkpluginform.h"
+#include "qtestmains60.h"
+#define private public
+#include "cpnetworkpluginform.h"
+#include "cpitemdatahelper.h"
+
+class CPsetContainer
+{
+public:
+    CPsetContainer(){};
+    ~CPsetContainer(){};
+};
+
+/*!
+  UT_CpNetworkPluginForm::UT_CpNetworkPluginForm
+ */
+UT_CpNetworkPluginForm::UT_CpNetworkPluginForm() 
+    : m_networkPluginForm(NULL), i(0)
+{
+    SmcDefaultValue<PSetNetworkWrapper::ErrorCode>::SetL(PSetNetworkWrapper::ErrNoError);
+}
+
+/*!
+  UT_CpNetworkPluginForm::~UT_CpNetworkPluginForm
+ */
+UT_CpNetworkPluginForm::~UT_CpNetworkPluginForm()
+{
+
+}
+
+/*!
+  UT_CpNetworkPluginForm::init
+ */
+void UT_CpNetworkPluginForm::init()
+{
+    initialize();
+
+    QVERIFY(!m_networkPluginForm);
+    CPsetContainer tmpPsetContainer;
+    m_networkWrapper = new PSetNetworkWrapper(tmpPsetContainer);
+    expect("PSetWrapper::networkWrapper").returns(m_networkWrapper);
+    if(i) {
+        m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeAutomatic;
+    } else {
+        m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeManual;
+    }
+    i++;
+    expect("PSetNetworkWrapper::getNetworkSelectionMode").willOnce(invoke(this, &updateNetworkSelectionMode));
+    m_networkPluginForm = new CpNetworkPluginForm();
+    QVERIFY(m_networkPluginForm);
+}
+
+
+/*!
+  UT_CpNetworkPluginForm::t_networkModeStateChanged
+ */
+void UT_CpNetworkPluginForm::t_networkModeStateChanged()
+{
+    expect("CpSettingsWrapper::isPhoneOffline").returns(false);
+    m_networkPluginForm->networkModeStateChanged(0);
+
+    expect("CpSettingsWrapper::isPhoneOffline").returns(false);
+    m_networkPluginForm->networkModeStateChanged(1);
+
+    expect("CpSettingsWrapper::isPhoneOffline").returns(false);
+    m_networkPluginForm->networkModeStateChanged(2);
+    
+    expect("CpSettingsWrapper::isPhoneOffline").returns(false);
+        m_networkPluginForm->networkModeStateChanged(3);
+    
+    expect("CpSettingsWrapper::isPhoneOffline").returns(true);
+    m_networkPluginForm->networkModeStateChanged(0);
+}
+
+/*!
+  UT_CpNetworkPluginForm::t_operatorSelectionStateChanged
+ */
+void UT_CpNetworkPluginForm::t_operatorSelectionStateChanged()
+{
+    expect("CpSettingsWrapper::isPhoneOffline").returns(false);
+    m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeAutomatic;
+    expect("PSetNetworkWrapper::getNetworkSelectionMode").willOnce(invoke(this, &updateNetworkSelectionMode));
+    m_networkPluginForm->operatorSelectionStateChanged(true);
+
+    expect("CpSettingsWrapper::isPhoneOffline").returns(false);
+    m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeManual;
+    expect("PSetNetworkWrapper::getNetworkSelectionMode").willOnce(invoke(this, &updateNetworkSelectionMode));
+    m_networkPluginForm->operatorSelectionStateChanged(true);
+    
+    expect("CpSettingsWrapper::isPhoneOffline").returns(true);
+    m_networkPluginForm->operatorSelectionStateChanged(true);
+}
+
+/*!
+  UT_CpNetworkPluginForm::t_networkAccessModeGot
+ */
+void UT_CpNetworkPluginForm::t_networkAccessModeGot()
+{
+    expect("CpSettingFormItemData::setContentWidgetData");
+    m_networkPluginForm->networkAccessModeGot(0);
+    
+    expect("CpSettingFormItemData::setContentWidgetData");
+    m_networkPluginForm->networkAccessModeGot(1);
+    
+    expect("CpSettingFormItemData::setContentWidgetData");
+    m_networkPluginForm->networkAccessModeGot(2);
+    
+    m_networkPluginForm->networkAccessModeGot(3);
+}
+
+/*!
+  UT_CpNetworkPluginForm::t_availableNetworksGot
+ */
+void UT_CpNetworkPluginForm::t_availableNetworksGot()
+{
+    PSetNetworkWrapper::NetworkInfo temp;
+    QList<PSetNetworkWrapper::NetworkInfo*> networkInfoList;
+    networkInfoList.append(&temp);
+    
+    expect("HbDialog::exec");
+    m_networkPluginForm->availableNetworksGot(networkInfoList);
+}
+
+/*!
+  UT_CpNetworkPluginForm::t_networkReqestFailed
+ */
+void UT_CpNetworkPluginForm::t_networkReqestFailed()
+{
+    PSetNetworkWrapper::ErrorCode error(PSetNetworkWrapper::ErrCauseCallActive);
+    PSetNetworkWrapper::RequestType type(PSetNetworkWrapper::RequestSetNetworkMode);
+    expect("PSetNetworkWrapper::getNetworkAccessMode");
+    m_networkPluginForm->networkReqestFailed(error, type);
+    
+    error = PSetNetworkWrapper::ErrNoNetworkService;
+    type = PSetNetworkWrapper::RequestSetNetwork;
+    expect("PSetNetworkWrapper::getNetworkAccessMode");
+    expect("CpSettingFormItemData::setContentWidgetData");
+    m_networkPluginForm->networkReqestFailed(error, type);
+    
+    error = PSetNetworkWrapper::ErrOfflineOpNotAllowed;
+    type = PSetNetworkWrapper::RequestSetNetwork;
+    expect("PSetNetworkWrapper::getNetworkAccessMode");
+    expect("CpSettingFormItemData::setContentWidgetData");
+    m_networkPluginForm->networkReqestFailed(error, type);
+    
+    PSetNetworkWrapper::NetworkInfo temp;
+    QList<PSetNetworkWrapper::NetworkInfo*> networkInfoList;
+    networkInfoList.append(&temp);
+    m_networkPluginForm->availableNetworksGot(networkInfoList);
+    error = PSetNetworkWrapper::ErrNoNetworkAccess;
+    type = PSetNetworkWrapper::RequestSetNetwork;
+    expect("HbDialog::exec");
+    m_networkPluginForm->networkReqestFailed(error, type);
+}
+
+/*!
+  UT_CpNetworkPluginForm::t_userCancel
+ */
+void UT_CpNetworkPluginForm::t_userCancel()
+{
+    m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeManual;
+    expect("PSetNetworkWrapper::getNetworkSelectionMode").willOnce(invoke(this, &updateNetworkSelectionMode));
+    m_networkPluginForm->userCancel();
+    
+    m_NetworkSelectionMode = PSetNetworkWrapper::SelectionModeAutomatic;
+    expect("PSetNetworkWrapper::getNetworkSelectionMode").willOnce(invoke(this, &updateNetworkSelectionMode));
+    m_networkPluginForm->userCancel();
+}
+
+/*!
+  UT_CpNetworkPluginForm::t_handleSearchingNetworks
+ */
+void UT_CpNetworkPluginForm::t_handleSearchingNetworks()
+{
+    PSetNetworkWrapper::RequestType type(PSetNetworkWrapper::RequestNone);
+    m_networkPluginForm->handleSearchingNetworks(type);
+    
+    type = PSetNetworkWrapper::RequestEnumerateNetworks;
+    m_networkPluginForm->handleSearchingNetworks(type);
+}
+
+/*!
+  UT_CpNetworkPluginForm::t_handleRequestingSelectedNetwork
+ */
+void UT_CpNetworkPluginForm::t_handleRequestingSelectedNetwork()
+{
+    m_networkPluginForm->handleRequestingSelectedNetwork(true);
+    m_networkPluginForm->handleRequestingSelectedNetwork(false);
+}
+
+/*!
+  UT_CpNetworkPluginForm::t_handleNetworkChanged
+ */
+void UT_CpNetworkPluginForm::t_handleNetworkChanged()
+{
+    PSetNetworkWrapper::NetworkInfo currentInfo;
+    PSetNetworkWrapper::RegistrationStatus status(PSetNetworkWrapper::RegisteredOnHomeNetwork);
+    m_networkPluginForm->handleNetworkChanged(currentInfo, status); 
+
+    status = PSetNetworkWrapper::RegisteredRoaming;
+    currentInfo.m_longName = "test";
+    m_networkPluginForm->handleNetworkChanged(currentInfo, status);
+    
+    status = PSetNetworkWrapper::RegisteredRoaming;
+    currentInfo.m_shortName = "test";
+    m_networkPluginForm->handleNetworkChanged(currentInfo, status);
+}
+    
+/*!
+  UT_CpNetworkPluginForm::cleanup
+ */
+void UT_CpNetworkPluginForm::cleanup()
+{
+    reset();
+    
+    delete m_networkWrapper;
+    m_networkWrapper = NULL;
+    delete m_networkPluginForm;
+    m_networkPluginForm = NULL;
+}
+
+/*!
+  UT_CpNetworkPluginForm::t_memleak
+ */
+void UT_CpNetworkPluginForm::t_memleak()
+{
+    
+}
+
+/*!
+  UT_CpNetworkPluginForm::updateNetworkSelectionMode
+ */
+void UT_CpNetworkPluginForm::updateNetworkSelectionMode(
+    PSetNetworkWrapper::NetworkSelectionMode& mode)
+{
+    mode = m_NetworkSelectionMode;
+}
+
+QTEST_MAIN_S60(UT_CpNetworkPluginForm)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginform/ut_networkpluginform.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_NETWORKPLUGINFORM_H
+#define UT_NETWORKPLUGINFORM_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+#include <psetnetworkwrapper.h>
+
+class CpNetworkPluginForm;
+//class PSetNetworkWrapper;
+
+class UT_CpNetworkPluginForm : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpNetworkPluginForm();
+    ~UT_CpNetworkPluginForm();
+    
+    void updateNetworkSelectionMode(
+        PSetNetworkWrapper::NetworkSelectionMode& mode);
+    
+private slots:
+
+    void init();
+
+    void t_networkModeStateChanged();
+    void t_operatorSelectionStateChanged();
+    void t_networkAccessModeGot();
+    
+    void t_availableNetworksGot();
+    void t_networkReqestFailed();
+    void t_userCancel();
+    void t_handleSearchingNetworks();
+    void t_handleRequestingSelectedNetwork();
+    void t_handleNetworkChanged();
+
+    void cleanup();
+    
+    void t_memleak();
+private:
+    CpNetworkPluginForm *m_networkPluginForm;
+    PSetNetworkWrapper *m_networkWrapper;
+    PSetNetworkWrapper::NetworkSelectionMode m_NetworkSelectionMode;
+    int i;
+
+};
+
+#endif // UT_NETWORKPLUGINFORM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#include "ut_cpnetworkpluginview.h"
+#include "qtestmains60.h"
+#define private public
+#include "cpnetworkpluginview.h"
+
+/*!
+  ut_cpnetworkpluginview::ut_cpnetworkpluginview
+ */
+ut_cpnetworkpluginview::ut_cpnetworkpluginview() 
+    : m_cpnetworkpluginview(NULL)
+{
+}
+
+
+/*!
+  ut_cpnetworkpluginview::~ut_cpnetworkpluginview
+ */
+ut_cpnetworkpluginview::~ut_cpnetworkpluginview()
+{
+
+}
+
+
+/*!
+  ut_cpnetworkpluginview::init
+ */
+void ut_cpnetworkpluginview::init()
+{
+    initialize();
+
+    m_cpnetworkpluginview = new CpNetworkPluginView();
+}
+
+
+/*!
+  ut_cpnetworkpluginview::cleanup
+ */
+void ut_cpnetworkpluginview::cleanup()
+{
+    reset();
+    
+    delete m_cpnetworkpluginview;
+    m_cpnetworkpluginview = NULL;
+}
+
+/*!
+  ut_cpnetworkpluginview::t_memleak
+ */
+void ut_cpnetworkpluginview::t_memleak()
+{
+    
+}
+
+QTEST_MAIN_S60(ut_cpnetworkpluginview)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_CPNETWORKPLUGIN_H
+#define UT_CPNETWORKPLUGIN_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpNetworkPluginView;
+
+class ut_cpnetworkpluginview : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    ut_cpnetworkpluginview ();
+    ~ut_cpnetworkpluginview ();
+    
+private slots:
+
+    void init();
+    
+    void t_memleak();
+    
+    void cleanup();
+    
+private:
+    CpNetworkPluginView *m_cpnetworkpluginview;
+
+};
+
+#endif // UT_CPNETWORKPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/tsrc/ut_cpnetworkpluginview/ut_cpnetworkpluginview.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+INCLUDEPATH += . ../../src/
+INCLUDEPATH += ../../../cptelephonyutils/inc
+
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += /epoc32/include/mw/QtTest \
+        /epoc32/include/platform/mw \
+        /epoc32/include/mw/qt
+  LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework
+}
+    
+# test code
+HEADERS += ut_cpnetworkpluginview.h
+SOURCES += ut_cpnetworkpluginview.cpp
+
+# code to be tested
+HEADERS += ../../src/cpnetworkpluginview.h 
+SOURCES += ../../src/cpnetworkpluginview.cpp 
+
+# mocks needed for testing
+HEADERS += ../../src/cpnetworkpluginform.h
+SOURCES += ../../../tsrc/mocks/mock_cpnetworkpluginform.cpp
+SOURCES += ../../../tsrc/mocks/mock_cpbasesettingview.cpp
+SOURCES += ../../../tsrc/mocks/mock_hbview.cpp
+   
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpphonesettingsplugins.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = subdirs
+SUBDIRS =     cptelephonyutils \
+              telephonyplugin \
+              divertplugin \
+              callsplugin \
+              barringplugin \
+              cpnetworkplugin
+
+CONFIG += ordered
+
+symbian: {
+    load(data_caging_paths)
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE    
+    deploy.path = C:
+        
+    BLD_INF_RULES.prj_exports +=  \
+     "$${LITERAL_HASH}include <platform_paths.hrh>" \
+     "./rom/cpphonesettingsplugins.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(cpphonesettingsplugins.iby)" \
+	 "./rom/cpphonesettingsplugins_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(cpphonesettingsplugins_resources.iby)" 
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cpplugincommon.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+symbian: {
+    load(data_caging_paths)
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
+    TARGET.EPOCALLOWDLLDATA = 1  
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    
+    exists($$OUT_PWD/data/$${TARGET}.cpcfg) {
+        cpcfg.sources = data/$${TARGET}.cpcfg
+        cpcfg.path = $$QT_PLUGINS_BASE_DIR/controlpanel/config
+    }
+    plugin.sources = $${TARGET}.dll
+    plugin.path = $$QT_PLUGINS_BASE_DIR/controlpanel
+    DEPLOYMENT += plugin cpcfg
+    
+    # For armv5 rom build
+    qtplugin.sources += qmakepluginstubs/$${TARGET}.qtplugin
+    qtplugin.path = $$QT_PLUGINS_BASE_DIR/controlpanel
+
+    for(cpcfg, cpcfg.sources): \
+        BLD_INF_RULES.prj_exports += "./$$cpcfg /$$HW_ZDIR$$RESOURCE_FILES_DIR/qt/plugins/controlpanel/config/$$basename(cpcfg)"
+    for(qtplugin, qtplugin.sources): \
+        BLD_INF_RULES.prj_exports += "./$$qtplugin /$$HW_ZDIR$$RESOURCE_FILES_DIR/qt/plugins/controlpanel/$$basename(qtplugin)" 
+} else: {
+    INCLUDEPATH += ../../../../../mw/phonesrv/phonesrv_plat/phone_settings_api/inc
+    INCLUDEPATH += ../../../../../mw/phonesrv/phonesrv_plat/ss_settings_api/inc
+    INCLUDEPATH += ../../../../../mw/gsprofilesrv/controlpanel/controlpanel_plat/inc
+    INCLUDEPATH += ../../../../../../epoc32/include
+    INCLUDEPATH += ../../../../../../epoc32/include/mw
+    LIBS += -LC:/ControlPanel/debug/bin
+        DESTDIR = C:/ControlPanel/debug/bin
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/cptelephonyutils.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,63 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = cptelephonyutils
+CONFIG += hb
+MOC_DIR = moc
+
+INCLUDEPATH += inc
+SOURCEPATH += src
+
+# Input
+HEADERS += inc/cpplugincommon.h inc/cpphonenotes.h
+SOURCES += src/cpphonenotes.cpp
+symbian: {
+    SOURCES += src/cpplugincommon.cpp 
+    }
+else: {
+    SOURCES += src/cpplugincommon_s.cpp
+    }
+
+TRANSLATIONS = telephone_cp.ts
+
+DEFINES += BUILD_CPTELEPHONYUTILS
+
+symbian: {
+    load(data_caging_paths)
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
+    LIBS += -lsssettings    \
+            -lphonesettings \
+            -lxqsysinfo \
+            -lxqsettingsmanager \
+            -lcpframework
+
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    TARGET.EPOCALLOWDLLDATA = 1 
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.UID3 = 0X20029F1F
+
+    # For sis file
+    dllfile.sources = $${TARGET}.dll
+    dllfile.path = $$SHARED_LIB_DIR
+    DEPLOYMENT += dllfile
+} else: {
+    INCLUDEPATH += ../../../../../mw/phonesrv/phonesrv_plat/phone_settings_api/inc
+    INCLUDEPATH += ../../../../../mw/gsprofilesrv/controlpanel/controlpanel_plat/inc
+    DESTDIR = c:\hb\lib
+    DLLDESTDIR = c:\hb\bin
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpphonenotes.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,188 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 CPPHONENOTES_H
+#define CPPHONENOTES_H
+
+#include <QObject>
+#include <QString>
+#include <QQueue>
+#include <hbmessagebox.h>
+#include <psetcalldivertingwrapper.h>
+#include "cptelephonyutilsdefs.h"
+
+class CpSettingsWrapper;
+
+using namespace CpTelephonyUtils;
+
+class CPTELEPHONYUTILS_EXPORT CpPhoneNotes: public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    static CpPhoneNotes* instance();
+    
+private: 
+    
+    CpPhoneNotes();
+    
+    ~CpPhoneNotes();
+
+    Q_DISABLE_COPY(CpPhoneNotes)
+    
+signals:
+    
+    /**
+     This signal is emitted when the device progress dialog is cancelled by 
+     user pressing the "cancel" button or by the application itself.
+     @param     noteId      On return contains unique note identifier.
+     */
+    void progressNoteCanceled();
+    
+public slots: // Slots: 
+    
+    /**
+     Shows global progress note. Note showing may be delayed if other note 
+     showing is ongoing. 
+     @param     noteId      On return contains unique note identifier.
+     @param     text        Text to show on a note.
+     */
+    void showGlobalProgressNote(int &noteId, const QString& text);
+    
+    /**
+     Shows global note. Note showing may be delayed if other note 
+     showing is ongoing. 
+     @param     noteId      On return contains unique note identifier.
+     @param     text        Text to show on a note.
+     @param     noteType    Note type.
+     */
+    void showGlobalNote(int &noteId, const QString& text, 
+        HbMessageBox::MessageBoxType noteType);
+    
+    /**
+     Shows global error note. Note showing may be delayed if other note 
+     showing is ongoing. 
+     @param     noteId      On return contains unique note identifier.
+     @param     errorCode   Code specifying error situation. 
+     */
+    void showGlobalErrorNote(int &noteId, int errorCode);
+    
+    /**
+     Shows the basic service list.
+     @param     title                   Heading to be used for the list.
+     @param     basicServiceGroupIds    Basic services to be listed. 
+     */
+    void showBasicServiceList(
+        const QString &title, 
+        const QList<unsigned char> &basicServiceGroupIds);
+    
+    /**
+     Shows the basic service list associated with the call divert status check.
+     @param     title               Heading for the service list.
+     @param     divertStatuses      Divert status information to show.
+     @param     selectionIndex      User selected item on divert statuses list.
+     @param     divertType          Divert type specifying what kind of 
+     divert details user is able to request on divert service group.
+     @param     divertDetailType    On return contains info about what kind
+     of call divert detail user wants to know about selected divert service 
+     group. 
+     */
+    void showBasicServiceCallDivertList(
+        const QString &title, 
+        const QList<PSCallDivertingStatus*> &divertStatuses,
+        int &selectionIndex,
+        CallDivertType divertType,
+        CallDivertType &divertDetailType);
+    
+    /**
+     Shows detailed call divert information about the selected divert service
+     group.
+     @param     divertStatus    Divert status information.
+     */
+    void showCallDivertDetails(
+        const PSCallDivertingStatus &divertStatus);
+    
+    /**
+     Cancels specified note.
+     @param     noteId      Note identifier.
+     */
+    void cancelNote(int noteId);
+    
+    /**
+     Retuns true if note is currently shown.
+     */
+    bool noteShowing();
+    
+private slots:
+    
+    /**
+     Handler method for notes' about to close signal.
+     */
+    void activeNoteAboutToClose();
+    
+    /**
+     Handler method for notes' canceled signal.
+     */
+    void handleProgressNoteCanceled();
+
+private:
+    
+    /**
+     Resolves basic service group name by identifier.
+     @param     basicServiceGroupId     Group identifier.
+     @return    Group name.
+     */
+    QString basicServiceGroupName(BasicServiceGroups basicServiceGroupId) const;
+    
+    /**
+     Converts etel mobile service code into basic service group enumeration.
+     @param     serviceCode     Etel mobilde service code.
+     */
+    BasicServiceGroups convertEtelMobileServiceCode(int serviceCode) const;
+    
+    /**
+     Formats phone number according to locale specific rules.
+     @param     number          Unformatted phone number.
+     @return    Formatted number.
+     */
+    QString formatPhoneNumber(QString number) const;
+    
+    /**
+     Launches next note in the queue if not busy with showing other 
+     note currently.
+     */
+    void launchNextNoteIfReady();
+    
+private: // Data: 
+
+    /**
+      Cenrep settings wrapper.
+     */
+     CpSettingsWrapper *m_cpSettingsWrapper;
+
+    /**
+      Notes waiting to be shown.
+     */
+    QQueue<QObject*> *m_notesQueue;
+    
+    /**
+      Indicates whether note controller is busy with some note showing.
+     */
+    bool m_isNoteShowingOngoing;
+
+};
+#endif // CPPHONENOTES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cpplugincommon.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 CPPLUGINCOMMON_H
+#define CPPLUGINCOMMON_H
+
+#include <qvariant.h>
+#include "cptelephonyutilsdefs.h"
+
+class CpPluginPlatInterface;
+class XQSettingsManager;
+
+using namespace CpTelephonyUtils;
+
+/*!
+    \class Tools
+    \brief The static functionality.
+ */
+class CPTELEPHONYUTILS_EXPORT Tools : public QObject
+{
+    Q_OBJECT
+    
+public:
+    static CpPluginPlatInterface* loadCpPlugin( const QString& name );
+    static bool unloadCpPlugin( const QString& name );
+
+public:
+    /*!
+      Is VoIP currently supported
+      */
+    static bool voipSupported();
+
+    /*!
+      Is video currently supported
+      */
+    static bool videoSupported();
+
+    /*!
+      Service code conversion
+      */
+    static BasicServiceGroups convertEtelMobileServiceCode(int serviceCode);
+
+    /*!
+      Error code text conversion
+      */
+    static bool errorCodeTextMapping(const int errorcode, QString &errorText);
+
+};
+
+/*!
+    \class SettingsWrapper
+    \brief Wraps central repository and P&S dependency.
+ */
+class CPTELEPHONYUTILS_EXPORT CpSettingsWrapper : public QObject
+{
+    Q_OBJECT
+public:
+    CpSettingsWrapper(QObject *parent = NULL);
+    ~CpSettingsWrapper();
+public:
+    /*!
+      Show call duration setting
+      */
+    bool showCallDuration();
+    int setShowCallDuration(bool value);
+
+    /*!
+      Soft reject text setting
+      */
+    void readSoftRejectText( QString &text, bool &userDefined );
+    int writeSoftRejectText(const QString &text, bool userDefined );
+
+    /*!
+      Number grouping support
+      */
+    bool numberGroupingSupported() const;
+    
+    /*!
+     Call waiting distiquish not provisioned support
+     */
+    bool isFeatureCallWaitingDistiquishNotProvisionedEnabled();
+    
+    /*!
+     Checks if phone is in offline mode or not.
+     Return true if phone is in offline mode.
+     Return false if phone is not in offline mode.
+     */
+    bool isPhoneOffline() const;
+
+private:
+    /*!
+      Read cenrep value. 
+      */
+    QVariant readCenrepValue( const long int uid, const unsigned long int key) const;
+    
+    /*!
+      Read cenrep string. 
+      */
+    QString readCenrepString( const long int uid, const unsigned long int key) const;
+    
+    /*!
+      Write cenrep value or string. 
+      */
+    int writeCenrepValue( const long int uid, const unsigned long int key,
+        const QVariant &settingsKeyValue ) const;
+
+private: // Data
+    // Own
+    XQSettingsManager* m_Settings;
+};
+
+#endif // CPPLUGINCOMMON_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cppluginlogging.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 CPPHONESETTINGSPLUGINSLOGGING_H
+#define CPPHONESETTINGSPLUGINSLOGGING_H
+
+#include <QDebug>
+
+
+/*!
+  Define MSG_OUTPUT_RDEBUG 
+  for enabling RDebug prints in development tracing. 
+  Shouldn't be used in release code.
+  */
+#undef MSG_OUTPUT_RDEBUG
+
+
+
+#ifdef MSG_OUTPUT_RDEBUG
+#ifdef Q_OS_SYMBIAN
+#include <e32debug.h>
+
+static void cpPhoneSettingsPluginsMsgOutput(QtMsgType type, const char *msg)
+{
+    switch (type) {
+    
+    case QtDebugMsg:
+        RDebug::Printf("CpPhoneSettingsPlugins Debug: %s\n", msg);
+        break;
+        
+    case QtWarningMsg:
+        RDebug::Printf("CpPhoneSettingsPlugins Warning: %s\n", msg);
+        break;
+
+    case QtCriticalMsg:
+        RDebug::Printf("CpPhoneSettingsPlugins Critical: %s\n", msg);
+        break;
+        
+    case QtFatalMsg:
+        RDebug::Printf("CpPhoneSettingsPlugins Fatal: %s\n", msg);
+        abort();
+    }
+}
+
+    #define INSTALL_TRACE_MSG_HANDLER qInstallMsgHandler(cpPhoneSettingsPluginsMsgOutput)
+    #define UNINSTALL_TRACE_MSG_HANDLER qInstallMsgHandler(0)
+#else //Q_OS_SYMBIAN
+    #define INSTALL_TRACE_MSG_HANDLER
+    #define UNINSTALL_TRACE_MSG_HANDLER
+#endif
+#else 
+    #define INSTALL_TRACE_MSG_HANDLER 
+    #define UNINSTALL_TRACE_MSG_HANDLER 
+#endif //MSG_OUTPUT_RDEBUG
+
+/*!
+  Debug macros
+  */
+#define DPRINT qDebug() << __PRETTY_FUNCTION__
+
+
+#endif // CPPHONESETTINGSPLUGINSLOGGING_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/inc/cptelephonyutilsdefs.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 CPTELEPHONYUTILSDEFS_H_
+#define CPTELEPHONYUTILSDEFS_H_
+
+
+#ifdef BUILD_CPTELEPHONYUTILS
+#define CPTELEPHONYUTILS_EXPORT Q_DECL_EXPORT
+#else
+#define CPTELEPHONYUTILS_EXPORT Q_DECL_IMPORT
+#endif
+
+namespace CpTelephonyUtils {
+
+/*! Type of a call forwarding request. */
+enum CallDivertType
+    {
+    /*! Not a call forwarding request.                      */
+    NoCallDivert                    = 1,
+    /*! Call forwarding with number information.            */
+    CallDivertWithNumber,
+    /*! Call forwarding with number and timeout information.*/
+    CallDivertWithNumberAndTimeout,
+    };
+
+enum BasicServiceGroups
+{
+    Unknown = -1, //this is not part of GSM standard
+    // Phone settings updates this automatically to ETelephony or to EAltTele,
+    // depending on if ALS is supported, and which line is active.
+    AllTeleAndBearer = 0,
+    AllTele = 10,
+    Telephony = 11,
+    AllDataTele = 12,
+    Fax = 13,
+    Sms = 16,
+    AllDataExSms = 18, //voice broadcast in gsm 02.30 v. 7.1.0
+    AllTeleExcSms = 19,
+
+    AllPlmnTele = 50,
+    PlmnTele1 = 51,
+    PlmnTele2 = 52,
+    PlmnTele3 = 53,
+    PlmnTele4 = 54,
+    PlmnTele5 = 55,
+    PlmnTele6 = 56,
+    PlmnTele7 = 57,
+    PlmnTele8 = 58,
+    PlmnTele9 = 59,
+    PlmnTeleA = 60,
+    PlmnTeleB = 61,
+    PlmnTeleC = 62,
+    PlmnTeleD = 63,
+    PlmnTeleE = 64,
+    PlmnTeleF = 65,
+
+    AllBearer = 20,
+    AllAsync = 21,
+    AllSync = 22,
+    SyncData = 24,
+    AsyncData = 25,
+    PacketData = 26,
+    PadAccess = 27,
+    AllPlmnBearer = 70,
+    PlmnBearerServ1 = 71,
+    PlmnBearerServ2 = 72,
+    PlmnBearerServ3 = 73,
+    PlmnBearerServ4 = 74,
+    PlmnBearerServ5 = 75,
+    PlmnBearerServ6 = 76,
+    PlmnBearerServ7 = 77,
+    PlmnBearerServ8 = 78,
+    PlmnBearerServ9 = 79,
+    PlmnBearerServA = 80,
+    PlmnBearerServB = 81,
+    PlmnBearerServC = 82,
+    PlmnBearerServD = 83,
+    PlmnBearerServE = 84,
+    PlmnBearerServF = 85,
+
+    AltTele = 89
+// no ui note support
+};
+
+} // namespace 
+
+#endif /* CPTELEPHONYUTILSDEFS_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpphonenotes.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,527 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "cpphonenotes.h"
+#include "cpplugincommon.h"
+#include "cppluginlogging.h"
+#include <hbdevicemessagebox.h>
+#include <HbDeviceProgressDialog>
+#include <hblistview.h>
+#include <hbdialog.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <hbmessagebox.h>
+#include <QStandardItemModel>
+#include <QItemSelectionModel>
+#include <hbstringutil.h>
+#include <hbextendedlocale.h>
+
+/*!
+  CpPhoneNotes::instance.
+ */
+CpPhoneNotes* CpPhoneNotes::instance()
+{
+    DPRINT << ": IN";
+  
+    static CpPhoneNotes theInstance;
+    
+    DPRINT << ", instance address: " << reinterpret_cast<int>(&theInstance);
+    return &theInstance;
+}
+ 
+/*!
+  CpPhoneNotes::CpPhoneNotes.
+ */
+CpPhoneNotes::CpPhoneNotes(): 
+     QObject(NULL), 
+     m_notesQueue(NULL),
+     m_isNoteShowingOngoing(false)
+    {
+    DPRINT << ": IN";
+
+    m_notesQueue = new QQueue<QObject*>();
+    m_cpSettingsWrapper = new CpSettingsWrapper;
+    
+    DPRINT << ": OUT";
+    }
+
+/*!
+  CpPhoneNotes::~CpPhoneNotes.
+ */
+CpPhoneNotes::~CpPhoneNotes()
+{
+    DPRINT << ": IN";
+
+    delete m_cpSettingsWrapper;
+    QObject* note(NULL);
+    foreach (note, *m_notesQueue) {
+        delete note;
+    }
+    delete m_notesQueue;
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpPhoneNotes::showGlobalProgressNote.
+ */
+void CpPhoneNotes::showGlobalProgressNote(
+    int &noteId, const QString& text)
+{
+    DPRINT << ": IN";
+    
+    HbDeviceProgressDialog *note = 
+        new HbDeviceProgressDialog(HbProgressDialog::WaitDialog, this);
+    note->setText(text);
+    noteId = reinterpret_cast<int>(note);
+    DPRINT << ", NOTEID: " << noteId;
+    QObject::connect(
+        note, SIGNAL(aboutToClose()),
+        this, SLOT(activeNoteAboutToClose()));
+    QObject::connect(
+        note, SIGNAL(cancelled()),
+        this, SLOT(handleProgressNoteCanceled()));
+    m_notesQueue->enqueue(note);    
+    launchNextNoteIfReady();
+    
+    DPRINT << ": OUT";
+}
+    
+/*!
+  CpPhoneNotes::showGlobalNote.
+ */
+void CpPhoneNotes::showGlobalNote(int &noteId, const QString& text, 
+    HbMessageBox::MessageBoxType messageBoxType)
+{
+    DPRINT << ": IN";
+
+    HbDeviceMessageBox *note
+        = new HbDeviceMessageBox(text, messageBoxType, this);
+    if (messageBoxType == HbMessageBox::MessageTypeQuestion ||
+        messageBoxType == HbMessageBox::MessageTypeInformation) {
+        note->setTimeout(HbPopup::ConfirmationNoteTimeout);
+    }
+    else {
+        note->setTimeout(0);
+    }
+    noteId = reinterpret_cast<int>(note);
+    DPRINT << ", NOTEID: " << noteId;
+    
+    QObject::connect(
+        note, SIGNAL(aboutToClose()),
+        this, SLOT(activeNoteAboutToClose()));
+    
+    m_notesQueue->enqueue(note);
+    launchNextNoteIfReady();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpPhoneNotes::showBasicServiceList.
+ */
+void CpPhoneNotes::showBasicServiceList(
+    const QString &title, 
+    const QList<unsigned char> &basicServiceGroupIds)
+{
+    DPRINT << ": IN";
+    
+    Q_ASSERT(title != "");
+    Q_ASSERT(0 < basicServiceGroupIds.count());
+    
+    QScopedPointer<HbDialog> serviceListPopup(new HbDialog());
+    serviceListPopup->setDismissPolicy(HbDialog::NoDismiss);
+    serviceListPopup->setTimeout(HbPopup::NoTimeout);
+    
+    QScopedPointer<HbLabel> heading(
+        new HbLabel(title, serviceListPopup.data()));
+    heading->setAlignment(Qt::AlignLeft | Qt::AlignTop);
+    serviceListPopup->setHeadingWidget(heading.take());
+    
+    QScopedPointer<HbListView> serviceList(
+        new HbListView(serviceListPopup.data()));
+    QScopedPointer<QStandardItemModel> serviceListModel(
+        new QStandardItemModel(serviceList.data()));
+    for (int i = 0; i < basicServiceGroupIds.count(); i++) {
+        BasicServiceGroups groupId = 
+            static_cast<BasicServiceGroups>(basicServiceGroupIds.at(i));
+        QString groupName = basicServiceGroupName(groupId);
+        QScopedPointer<QStandardItem> listItem(new QStandardItem(groupName));
+        serviceListModel->appendRow(listItem.take());
+    }
+    serviceList->setModel(serviceListModel.take());
+    serviceList->setSelectionMode(HbAbstractItemView::NoSelection);
+    serviceListPopup->setContentWidget(serviceList.take());
+    
+    HbAction *backAction = 
+        new HbAction(hbTrId("Back"), serviceListPopup.data());
+    serviceListPopup->setPrimaryAction(backAction);
+    serviceListPopup->exec();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpPhoneNotes::showBasicServiceCallDivertList.
+ */
+void CpPhoneNotes::showBasicServiceCallDivertList(
+    const QString &title,
+    const QList<PSCallDivertingStatus*> &divertStatuses,
+    int &selectionIndex,
+    CallDivertType divertType,
+    CallDivertType &divertDetailType)
+{
+    DPRINT << ": IN";
+    
+    Q_ASSERT(title != "");
+    Q_ASSERT(0 < divertStatuses.size());
+    
+    HbDialog *serviceListPopup = new HbDialog();
+    serviceListPopup->setDismissPolicy(HbDialog::NoDismiss);
+    serviceListPopup->setTimeout(HbPopup::NoTimeout);
+    
+    HbLabel *heading = new HbLabel(title, serviceListPopup);
+    heading->setAlignment(Qt::AlignLeft | Qt::AlignTop);
+    serviceListPopup->setHeadingWidget(heading);
+    
+    HbListView *serviceList = new HbListView(serviceListPopup);
+    QStandardItemModel *serviceListModel = new QStandardItemModel(serviceList);
+    for (int i = 0; i < divertStatuses.size(); i++) {
+        PSCallDivertingStatus *divertStatus = divertStatuses.at(i);
+        QString groupName = 
+            basicServiceGroupName( 
+                convertEtelMobileServiceCode(divertStatus->iServiceGroup) );
+        QStandardItem *listItem = new QStandardItem(groupName);
+        serviceListModel->appendRow(listItem);
+    }
+    serviceList->setModel(serviceListModel);
+    serviceList->setSelectionMode(HbAbstractItemView::SingleSelection);
+    if (0 != serviceListModel->rowCount()) {
+        QModelIndex firstItem = serviceList->nextIndex(QModelIndex()); 
+        serviceList->setCurrentIndex(firstItem, QItemSelectionModel::Select);
+    }
+    serviceListPopup->setContentWidget(serviceList);
+    
+    HbAction *backAction = new HbAction(hbTrId("Back"), serviceListPopup);
+    HbAction *numberQueryAction = new HbAction(hbTrId("Number"), serviceListPopup);
+    HbAction *detailsAction = new HbAction(hbTrId("Details"), serviceListPopup);
+    serviceListPopup->setSecondaryAction(backAction);
+    
+    switch (divertType) {
+        case NoCallDivert:
+            break;
+        case CallDivertWithNumber:
+            serviceListPopup->setPrimaryAction(numberQueryAction);
+            break;
+        case CallDivertWithNumberAndTimeout:
+            serviceListPopup->setPrimaryAction(detailsAction);
+            break;
+        default:
+            DPRINT << ", DEFAULT";
+            Q_ASSERT(false);
+            break;
+    }
+    
+    HbAction *userAction = serviceListPopup->exec();
+    if (userAction == numberQueryAction) {
+        divertDetailType = CallDivertWithNumber;
+    } else if (userAction == detailsAction) {
+        divertDetailType = CallDivertWithNumberAndTimeout;
+    } else if (userAction == backAction) {
+        divertDetailType = NoCallDivert;
+    } else {
+        DPRINT << ", WEIRD ACTION";
+        Q_ASSERT(false);
+    }
+    
+    selectionIndex = serviceList->currentIndex().row();
+    delete serviceListPopup;
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpPhoneNotes::cancelNote.
+ */
+void CpPhoneNotes::cancelNote(int noteId)
+{
+    DPRINT << ": IN";
+    
+    if (!m_notesQueue->isEmpty()) {
+        QObject *note = m_notesQueue->head();
+        if(note == reinterpret_cast<QObject *>(noteId)) {
+            int index = m_notesQueue->indexOf(reinterpret_cast<QObject *>(noteId));
+            Q_ASSERT(-1 < index);
+            QObject *note = m_notesQueue->at(index);
+            DPRINT << ": NOTEID: " << noteId;
+            if (qobject_cast<HbDeviceProgressDialog *>(note)) {
+              //  QObject::disconnect(
+                //    note, SIGNAL(cancelled()),
+                  //  this, SLOT(ProgresNoteCanceled()));
+                static_cast<HbDeviceProgressDialog *>(note)->cancel();
+            } else if (qobject_cast<HbDeviceMessageBox *>(note)) {
+                static_cast<HbDeviceMessageBox *>(note)->close();
+            } else {
+                DPRINT << ", UNKNOWN NOTE";
+                Q_ASSERT(false);
+            }
+        }
+        else {
+            DPRINT << ": remove from queue, noteId: " << noteId;
+            m_notesQueue->removeOne(reinterpret_cast<QObject *>(noteId));
+        }
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpPhoneNotes::noteShowing.
+ */
+bool CpPhoneNotes::noteShowing()
+{
+    return !m_notesQueue->isEmpty();
+}
+
+/*!
+  CpPhoneNotes::activeNoteAboutToClose.
+ */
+void CpPhoneNotes::activeNoteAboutToClose()
+{
+    DPRINT << ": IN";
+    
+    if (m_isNoteShowingOngoing) {
+        m_isNoteShowingOngoing = false;
+        QObject* note(NULL);
+        if (!m_notesQueue->isEmpty()) {
+            note = m_notesQueue->dequeue();
+        }
+        if(note) {
+            launchNextNoteIfReady();
+            note->disconnect(this);
+            DPRINT << ", delete note: " << reinterpret_cast<int>(note);
+            note->deleteLater();
+        }
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpPhoneNotes::basicServiceGroupName.
+  Resolves basic service group name by group identifier.
+ */
+QString CpPhoneNotes::basicServiceGroupName(BasicServiceGroups basicServiceGroupId) const
+{
+    DPRINT << ": IN";
+    
+    QString string = "";
+    switch (basicServiceGroupId) {
+        case AllTeleAndBearer:
+            string = hbTrId("All services");
+            break;
+        case AllTele:
+            string = hbTrId("Voice, fax and messages");
+            break;
+        case Telephony:
+            string = hbTrId("Voice calls");
+            break;
+        case AllDataTele:
+            string = hbTrId("Fax and messages");
+            break;
+        case Fax:
+            string = hbTrId("Fax");
+            break;
+        case Sms:
+            string = hbTrId("Messages");
+            break;
+        case AllTeleExcSms:
+            string = hbTrId("Voice calls and fax");
+            break;
+        case AllBearer:
+            if (Tools::videoSupported()) {
+                string = hbTrId("Data and video services");
+            } else {
+                string = hbTrId("Data services");
+            }
+            break;
+        case AllAsync:
+            string = hbTrId("Asynchronous services");
+            break;
+        case AllSync:
+            string = hbTrId("Synchronous services");
+            break;
+        case SyncData:
+            string = hbTrId("Synchronous data services");
+            break;
+        case AsyncData:
+            string = hbTrId("Asynchronous data services");
+            break;
+        case PacketData:
+            string = hbTrId("Packet data");
+            break;
+        case PadAccess:
+            string = hbTrId("PAD access");
+            break;
+        case 30:
+            string = hbTrId("Video calls");
+            break;
+        case AltTele:
+            string = hbTrId("Alternate line services");
+            break;
+        default:
+            DPRINT << ", DEFAULT";
+            break;
+    }
+    
+    DPRINT << ": OUT";
+    return string;
+}
+
+/*!
+  CpPhoneNotes::convertEtelMobileServiceCode.
+*/
+BasicServiceGroups CpPhoneNotes::convertEtelMobileServiceCode(int serviceCode) const
+{
+    DPRINT << "serviceCode: " << serviceCode;
+    return Tools::convertEtelMobileServiceCode(serviceCode);
+}
+
+/*!
+  CpPhoneNotes::showGlobalErrorNote.
+ */
+void CpPhoneNotes::showGlobalErrorNote(int &noteId, int errorcode)
+{
+    DPRINT << ": IN";
+    
+    QString errorText = "";
+    Tools::errorCodeTextMapping(errorcode, errorText);
+
+    HbDeviceMessageBox *note 
+        = new HbDeviceMessageBox(errorText, HbMessageBox::MessageTypeWarning, this);
+    note->setTimeout(0);
+    noteId = reinterpret_cast<int>(note);
+    DPRINT << ", NOTEID: " << noteId;
+    QObject::connect(
+        note, SIGNAL(aboutToClose()),
+        this, SLOT(activeNoteAboutToClose()));
+    m_notesQueue->enqueue(note);
+    launchNextNoteIfReady();
+    
+    DPRINT << ": OUT";
+} 
+
+/*!
+  CpPhoneNotes::showCallDivertDetails.
+ */
+void CpPhoneNotes::showCallDivertDetails(
+    const PSCallDivertingStatus &divertStatus)
+{
+    DPRINT << ": IN";
+    
+    HbMessageBox *divertInfo = 
+            new HbMessageBox(HbMessageBox::MessageTypeInformation);
+    divertInfo->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+    
+    // TODO: Orbit layout support is insufficient currently and all text
+    // is not shown.
+    QString content = "";
+    content.append(hbTrId("To number: "));
+    content.append(formatPhoneNumber(divertStatus.iNumber));
+    if (0 < divertStatus.iTimeout) {
+        content.append(hbTrId(" Delay time: "));
+        content.append(QString::number(divertStatus.iTimeout));
+        content.append(hbTrId(" seconds"));
+    }
+    divertInfo->setText(content);
+    HbAction *backAction = new HbAction(hbTrId("Back"), divertInfo);
+    divertInfo->setPrimaryAction(backAction);
+    divertInfo->exec();
+    delete divertInfo;
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpPhoneNotes::formatPhoneNumber.
+  Formats phone number according to locale specific rules.
+ */
+QString CpPhoneNotes::formatPhoneNumber(QString number) const
+{
+    DPRINT << ": IN";
+    
+    QString formattedNumber = number;
+    
+    if (m_cpSettingsWrapper->numberGroupingSupported() == true) {
+        // TODO: utilize HbNumberGrouping API when available
+    }
+    
+    // TODO: digit conversion e.g. into arabic-indic
+//    HbExtendedLocale locale = HbExtendedLocale::system();
+//    HbStringUtil::convertDigitsTo(formattedNumber, ArabicIndicDigit);
+    
+    DPRINT << ": OUT";
+
+    return formattedNumber;
+}
+
+/*!
+  CpPhoneNotes::launchNextNoteIfReady.
+ */
+void CpPhoneNotes::launchNextNoteIfReady()
+{
+    DPRINT << ": IN";
+    
+    if (m_notesQueue->isEmpty()) {
+        DPRINT << ", QUEUE EMPTY";
+        return;
+    }
+    if (!m_isNoteShowingOngoing) {
+        m_isNoteShowingOngoing = true;
+        // note is left in the queue so that it can be cancelled at request
+        QObject *note = m_notesQueue->head();
+        DPRINT << ", note: " << reinterpret_cast<int>(note);
+        if (qobject_cast<HbDeviceProgressDialog *>(note)) {
+            DPRINT << ", show HbDeviceProgressDialog";
+            static_cast<HbDeviceProgressDialog *>(note)->show();
+        } else if (qobject_cast<HbDeviceMessageBox *>(note)) {
+            DPRINT << ", show HbDeviceMessageBox";    
+            static_cast<HbDeviceMessageBox *>(note)->exec();
+        } else {
+            DPRINT << ", UNKNOWN NOTE";
+            Q_ASSERT(false);
+        }
+    } else {
+        DPRINT << ", BUSY";
+    }
+    
+    DPRINT << ": OUT";
+}
+
+
+/*!
+  CpPhoneNotes::handleProgressNoteCanceled().
+ */
+void CpPhoneNotes::handleProgressNoteCanceled()
+{
+    DPRINT << ": IN";
+    
+    emit progressNoteCanceled();
+    
+    DPRINT << ": OUT";
+}
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,383 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <etelmm.h>
+#include <xqsysinfo.h>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+#include <e32base.h>
+#include <etelmm.h>
+#include <exterror.h>               
+#include <gsmerror.h>
+#include <settingsinternalcrkeys.h>
+#include <LogsDomainCRKeys.h>
+#include <BTSapDomainPSKeys.h>
+#include <NumberGroupingCRKeys.h>
+#include <QPluginLoader>
+#include <cppluginplatinterface.h>
+#include <hbglobal.h>
+#include <CoreApplicationUIsSDKCRKeys.h>
+#include "cptelephonyutilsdefs.h"
+#include "cpplugincommon.h"
+#include "cppluginlogging.h"
+
+const int CenrepKeyValueOff = 0;
+const int CenrepKeyValueOn = 1;
+
+const int SoftRejectTextDefault = 0; 
+const int SoftRejectTextUserDefined = 1; 
+
+/*!
+  Tools::loadCpPlugin
+*/
+CpPluginPlatInterface* Tools::loadCpPlugin(const QString& name)
+{
+    QPluginLoader loader("\\resource\\qt\\plugins\\controlpanel\\"+name+".qtplugin");
+    return qobject_cast<CpPluginPlatInterface*> (loader.instance());
+}
+
+/*!
+  Tools::unloadCpPlugin
+*/
+bool Tools::unloadCpPlugin(const QString& name)
+{
+    QPluginLoader loader("\\resource\\qt\\plugins\\controlpanel\\"+name+".qtplugin");
+    return loader.unload();
+}
+
+/*!
+  Tools::voipSupported
+*/
+bool Tools::voipSupported()
+{
+    return XQSysInfo::isSupported(KFeatureIdCommonVoip);
+}
+
+/*!
+  Tools::videoSupported
+*/
+bool Tools::videoSupported()
+{
+    return XQSysInfo::isSupported(KFeatureIdCsVideoTelephony);
+}
+
+/*!
+  Tools::convertEtelMobileServiceCode
+*/
+BasicServiceGroups Tools::convertEtelMobileServiceCode(int serviceCode)
+{
+    DPRINT;
+
+    switch (serviceCode) {
+        case RMobilePhone::EAllServices:
+            return AllTeleAndBearer;
+        case RMobilePhone::EAllTele:
+            return AllTele;
+        case RMobilePhone::EVoiceService:
+        case RMobilePhone::ETelephony:
+            return Telephony;
+        case RMobilePhone::EAllDataTele:
+            return AllDataTele;
+        case RMobilePhone::EFaxService:
+            return Fax;
+        case RMobilePhone::EShortMessageService:
+            return Sms;
+        case RMobilePhone::EAllDataExSms:
+            return AllDataExSms;
+        case RMobilePhone::EAllTeleExcSms:
+            return AllTeleExcSms;
+        case RMobilePhone::EAllPlmnTele:
+            return AllPlmnTele;
+        case RMobilePhone::EPlmnTele1:
+            return PlmnTele1;
+        case RMobilePhone::EPlmnTele2:
+            return PlmnTele2;
+        case RMobilePhone::EPlmnTele3:
+            return PlmnTele3;
+        case RMobilePhone::EPlmnTele4:
+            return PlmnTele4;
+        case RMobilePhone::EPlmnTele5:
+            return PlmnTele5;
+        case RMobilePhone::EPlmnTele6:
+            return PlmnTele6;
+        case RMobilePhone::EPlmnTele7:
+            return PlmnTele7;
+        case RMobilePhone::EPlmnTele8:
+            return PlmnTele8;
+        case RMobilePhone::EPlmnTele9:
+            return PlmnTele9;
+        case RMobilePhone::EPlmnTeleA:
+            return PlmnTeleA;
+        case RMobilePhone::EPlmnTeleB:
+            return PlmnTeleB;
+        case RMobilePhone::EPlmnTeleC:
+            return PlmnTeleC;
+        case RMobilePhone::EPlmnTeleD:
+            return PlmnTeleD;
+        case RMobilePhone::EPlmnTeleE:
+            return PlmnTeleE;
+        case RMobilePhone::EPlmnTeleF:
+            return PlmnTeleF;
+        case RMobilePhone::EAllBearer:
+            return AllBearer;
+        case RMobilePhone::EAllAsync:
+            return AllAsync;
+        case RMobilePhone::EAllSync:
+            return AllSync;
+        case RMobilePhone::ECircuitDataService:
+        case RMobilePhone::ESyncData:
+            return SyncData;
+        case RMobilePhone::EPacketDataService:
+        case RMobilePhone::EAsyncData:
+            return AsyncData;
+        case RMobilePhone::EPacketData:
+            return PacketData;
+        case RMobilePhone::EPadAccess:
+            return PadAccess;
+        case RMobilePhone::EAllPlmnBearer:
+            return AllPlmnBearer;
+        case RMobilePhone::EPlmnBearerServ1:
+            return PlmnBearerServ1;
+        case RMobilePhone::EPlmnBearerServ2:
+            return PlmnBearerServ2;
+        case RMobilePhone::EPlmnBearerServ3:
+            return PlmnBearerServ3;
+        case RMobilePhone::EPlmnBearerServ4:
+            return PlmnBearerServ4;
+        case RMobilePhone::EPlmnBearerServ5:
+            return PlmnBearerServ5;
+        case RMobilePhone::EPlmnBearerServ6:
+            return PlmnBearerServ6;
+        case RMobilePhone::EPlmnBearerServ7:
+            return PlmnBearerServ7;
+        case RMobilePhone::EPlmnBearerServ8:
+            return PlmnBearerServ8;
+        case RMobilePhone::EPlmnBearerServ9:
+            return PlmnBearerServ9;
+        case RMobilePhone::EPlmnBearerServA:
+            return PlmnBearerServA;
+        case RMobilePhone::EPlmnBearerServB:
+            return PlmnBearerServB;
+        case RMobilePhone::EPlmnBearerServC:
+            return PlmnBearerServC;
+        case RMobilePhone::EPlmnBearerServD:
+            return PlmnBearerServD;
+        case RMobilePhone::EPlmnBearerServE:
+            return PlmnBearerServE;
+        case RMobilePhone::EPlmnBearerServF:
+            return PlmnBearerServF;
+        case RMobilePhone::EAuxVoiceService:
+        case RMobilePhone::EAltTele:
+            return AltTele;
+        case RMobilePhone::EServiceUnspecified:
+        default:
+            qDebug() << "CpPhoneNotes::convertEtelMobileServiceCode, DEFAULT";
+            return Unknown;
+    }
+}
+
+/*!
+  Tools::errorCodeTextMapping.
+ */
+bool Tools::errorCodeTextMapping(const int errorcode, QString &errorText)
+{
+    DPRINT;
+    errorText.clear();
+    bool errorTextFound(true);
+
+    switch(errorcode){
+        case KErrGsmSSSubscriptionViolation:
+            errorText = hbTrId("Barring operation not successful. Contact your service provider");
+            break;
+        case KErrGsmSSUnknownSubscriber:
+        case KErrGsmSSAbsentSubscriber:
+        case KErrGsmSSIllegalOperation:
+        case KErrGsmSSIllegalSubscriber:
+        case KErrGsmSSIllegalEquipment:
+        case KErrGsmSSCallBarred:
+        case KErrGsmSSDataMissing:
+            errorText = hbTrId("Not allowed");
+            break;
+        case KErrGsmSSIncompatibility:
+            errorText = hbTrId("Services in conflict");
+            break;
+        case KErrGsmSSSystemFailure:
+            errorText = hbTrId("Result unknown");
+            break;
+        case KErrGsmSSUnexpectedDataValue:
+        case KErrGsmSSResourcesUnavailable:
+            errorText = hbTrId("Request rejected");
+            break;
+        case KErrGsmSSNegativePasswordCheck:
+        case KErrGsmSSPasswordRegistrationFailure:
+            errorText = hbTrId("Password error");
+            break;
+        case KErrGsmSSPasswordAttemptsViolation:
+            errorText = hbTrId("Password blocked");
+            break;
+        case KErrGsmSMSNoNetworkService:
+        case KErrGsmNoService:
+            errorText = hbTrId("No network coverage");
+            break;
+        case KErrSsActivationDataLost:
+            errorText = hbTrId("Check network services");
+            break;
+        case KErrGsmOfflineOpNotAllowed:
+            if(XQSysInfo::isSupported(KFeatureIdOfflineMode)){
+                XQSettingsManager *xqsettingsManager = new XQSettingsManager();
+                XQSettingsKey key(XQSettingsKey::TargetPublishAndSubscribe,
+                        KPSUidBluetoothSapConnectionState.iUid,
+                        KBTSapConnectionState);
+                QVariant startupValue = xqsettingsManager->readItemValue(key);
+                int value = startupValue.toInt();
+                delete xqsettingsManager;
+                xqsettingsManager = NULL;
+                if (value == EBTSapConnected){
+                    errorText = hbTrId("Operation not possible in SIM access profile mode");
+                } else {
+                    errorText = hbTrId("Operation not possible in Off-line mode");
+                }
+            } else {
+                errorText = hbTrId("Not done");
+            }
+            break;
+        case KErrGsmSSUnknownAlphabet:
+            errorText = hbTrId("Invalid phone number");
+            break;
+        default:
+            errorText = hbTrId("Not done");
+            break;
+    }
+
+    return errorTextFound;
+}
+
+CpSettingsWrapper::CpSettingsWrapper(QObject *parent): 
+    QObject(parent)
+{
+    m_Settings = new XQSettingsManager();
+}
+
+CpSettingsWrapper::~CpSettingsWrapper()
+{
+    delete m_Settings;
+}
+
+bool CpSettingsWrapper::showCallDuration()
+{
+    bool showDuration; 
+    if (CenrepKeyValueOn == readCenrepValue(KCRUidLogs.iUid, KLogsShowCallDuration).toInt()) {
+        showDuration = true; 
+    } else {
+        showDuration = false;
+    }
+    
+    DPRINT << "show call duration:" << showDuration;
+    return showDuration;
+}
+
+int CpSettingsWrapper::setShowCallDuration(bool value)
+{
+    int cenrepValue; 
+    DPRINT << "show call duration:" << value;
+
+    if (value) {
+        cenrepValue = CenrepKeyValueOn;
+    } else {
+        cenrepValue = CenrepKeyValueOff; 
+    }
+    return writeCenrepValue(KCRUidLogs.iUid, KLogsShowCallDuration, cenrepValue );
+}
+
+void CpSettingsWrapper::readSoftRejectText(QString &text, bool &userDefined )
+{
+    if (SoftRejectTextDefault ==
+        readCenrepValue(KCRUidTelephonySettings.iUid, KSettingsSoftRejectDefaultInUse ).toInt()) {
+        userDefined = false; 
+    } else {
+        userDefined = true; 
+    }
+        
+    text = readCenrepString(KCRUidTelephonySettings.iUid, KSettingsSoftRejectText);
+    DPRINT << "text:" << text << " ,userDefined:" << userDefined;
+}
+
+int CpSettingsWrapper::writeSoftRejectText(const QString &text, bool userDefined )
+{
+    int err = writeCenrepValue(KCRUidTelephonySettings.iUid, KSettingsSoftRejectText, text);
+    int cenrepValue; 
+    if (userDefined) {
+        cenrepValue = SoftRejectTextUserDefined; 
+    } else {
+        cenrepValue = SoftRejectTextDefault; 
+    }
+    err |= writeCenrepValue(KCRUidTelephonySettings.iUid, KSettingsSoftRejectDefaultInUse, cenrepValue);
+    DPRINT << "text:" << text << " ,userDefined:" << userDefined << " , err:" << err;
+    return err;
+}
+
+ bool CpSettingsWrapper::numberGroupingSupported() const
+ {
+     return readCenrepValue(KCRUidNumberGrouping.iUid, KNumberGrouping).toBool();
+ }
+
+QVariant CpSettingsWrapper::readCenrepValue(
+    const long int uid, const unsigned long int key) const
+{
+    XQSettingsKey settingsKey(XQSettingsKey::TargetCentralRepository, uid, key);
+    QVariant ret = m_Settings->readItemValue(settingsKey);
+    DPRINT << "ret: " << ret;
+    return ret;
+}
+
+QString CpSettingsWrapper::readCenrepString(
+    const long int uid, const unsigned long int key) const
+{
+    XQSettingsKey settingsKey(XQSettingsKey::TargetCentralRepository, uid, key);
+    QString text = m_Settings->readItemValue(settingsKey, XQSettingsManager::TypeString).toString();
+    DPRINT << "text: " << text;
+    return text;
+}
+
+int CpSettingsWrapper::writeCenrepValue(
+    const long int uid, const unsigned long int key, const QVariant &settingsKeyValue ) const
+{
+    DPRINT << "uid:" << uid << ", key:" << key << ", settingsKeyValue:" << settingsKeyValue;
+    XQSettingsKey settingsKey(XQSettingsKey::TargetCentralRepository, uid, key);
+    int err = m_Settings->writeItemValue(settingsKey, settingsKeyValue );
+    DPRINT << "err: " << err;
+    return err;
+}
+
+bool CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled()
+{
+    bool enabled = readCenrepValue(KCRUidPhoneSettings.iUid, KPSetCallWaiting).toBool();
+    DPRINT << "enabled: " << enabled;
+    return enabled;
+}
+
+bool CpSettingsWrapper::isPhoneOffline() const
+{
+    bool offLinesupport(false);
+    if (XQSysInfo::isSupported(KFeatureIdOfflineMode)) {
+        offLinesupport = !readCenrepValue(
+                KCRUidCoreApplicationUIs.iUid, 
+                KCoreAppUIsNetworkConnectionAllowed).toBool();
+    }
+    return offLinesupport;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/src/cpplugincommon_s.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "cpplugincommon.h"
+#include "cppluginlogging.h"
+#include <hbglobal.h>
+#include <cppluginplatinterface.h>
+#include <QPluginLoader>
+
+
+CpPluginPlatInterface* Tools::loadCpPlugin(const QString& name)
+{
+    QPluginLoader loader("C:/ControlPanel/debug/bin/"+name+".dll");
+    return qobject_cast<CpPluginPlatInterface*> (loader.instance());
+}
+
+bool Tools::unloadCpPlugin(const QString& name)
+{
+    QPluginLoader loader("C:/ControlPanel/debug/bin/"+name+".dll");
+    return loader.unload();
+}
+
+bool Tools::voipSupported()
+{
+    DPRINT << "DUMMY WRAPPER";
+    return true;
+}
+
+bool Tools::videoSupported()
+{
+    DPRINT << "DUMMY WRAPPER";
+    return true;
+}
+
+/*!
+  Tools::convertEtelMobileServiceCode.
+*/
+BasicServiceGroups Tools::convertEtelMobileServiceCode(int serviceCode)
+{
+    DPRINT << "DUMMY WRAPPER: DEFAULT code";
+    return Unknown;
+}
+
+
+/*!
+  Tools::errorCodeTextMapping.
+ */
+bool Tools::errorCodeTextMapping(const int errorcode, QString &errorText)
+{
+    DPRINT << "DUMMY WRAPPER";
+    errorText.clear();
+    bool errorTextFound(true);
+    errorText = hbTrId("Not done");
+    return errorTextFound;
+}
+
+
+CpSettingsWrapper::CpSettingsWrapper(QObject *parent): 
+    QObject(parent)
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+CpSettingsWrapper::~CpSettingsWrapper()
+{
+    DPRINT << "DUMMY WRAPPER";
+}
+
+bool CpSettingsWrapper::showCallDuration()
+{
+    DPRINT << "DUMMY WRAPPER";
+    return 0;
+}
+
+int CpSettingsWrapper::setShowCallDuration(bool value)
+{
+    DPRINT << "DUMMY WRAPPER: value:" << value;
+    return 0;
+}
+
+void CpSettingsWrapper::readSoftRejectText(QString &text, bool &userDefined)
+{
+    DPRINT << "DUMMY WRAPPER: text:" << text << " ,userDefined:" << userDefined;
+}
+
+int CpSettingsWrapper::writeSoftRejectText(const QString &text, bool userDefined)
+{
+    DPRINT << "DUMMY WRAPPER: text:" << text << " ,userDefined:" << userDefined;
+    return 0;
+}
+
+bool CpSettingsWrapper::numberGroupingSupported() const
+{
+    DPRINT << "DUMMY WRAPPER";
+    return true;
+}
+
+
+bool CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled()
+{
+    bool enabled = false;
+    DPRINT << "DUMMY WRAPPER: enabled: " << enabled;
+    return enabled;
+}
+
+
+bool CpSettingsWrapper::isPhoneOffline() const
+{
+    bool enabled = false;
+    DPRINT << "DUMMY WRAPPER: enabled: " << enabled;
+    return enabled;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/run_auto_tests_qt.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,187 @@
+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\*
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+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 INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL=abld build winscw udeb -keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+
+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
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=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
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+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
+call qmake
+call bldmake bldfiles
+call abld clean winscw udeb
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+for /f %%a in ('dir /b ut_*') do call %PATH_TO_DLL%\%%a.exe 
+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 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/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/qtestmains60ui.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef QTESTMAINS60
+#define QTESTMAINS60
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+char *new_argv[3];
+HbMainWindow *mainWindow;
+#define QTEST_MAIN_S60UI(TestObject) \
+int main(int argc, char *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(); \
+\
+HbApplication app(argc, argv); \
+TestObject tc; \
+QResource::registerResource("../hbcore.rcc"); \
+mainWindow = new HbMainWindow;\
+mainWindow->show(); \
+int ret = QTest::qExec(&tc, 3, new_argv); \
+delete mainWindow; \
+return ret; \
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,502 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_cpphonenotes.h"
+#include "qtestmains60ui.h"
+#include <hbmainwindow.h>
+#include <HbDeviceMessageBox.h>
+#include <HbMessageBox.h>
+#define private public
+#include "cpphonenotes.h"
+
+/*!
+  UT_CpPhoneNotes::UT_CpPhoneNotes
+ */
+UT_CpPhoneNotes::UT_CpPhoneNotes() 
+{
+    CpPhoneNotes::instance();
+}
+
+/*!
+  UT_CpPhoneNotes::~UT_CpPhoneNotes
+ */
+UT_CpPhoneNotes::~UT_CpPhoneNotes()
+{
+    //delete m_psui;
+}
+
+/*!
+  UT_CpPhoneNotes::timerEvent
+ */
+void UT_CpPhoneNotes::timerEvent( QTimerEvent* event )
+{
+    QString currentTest(QTest::currentTestFunction());
+    qDebug() << "timerEvent:" << currentTest;
+    
+    if (currentTest == "t_showGlobalErrorNote") {
+        verifyGlobalNote(wantedNoteText);
+    }
+    
+    if (m_noteid1) {
+        CpPhoneNotes::instance()->cancelNote(m_noteid1);
+        m_noteid1 = 0;
+    }
+    if (m_noteid2) {
+        CpPhoneNotes::instance()->cancelNote(m_noteid2);
+        m_noteid2 = 0;
+    }
+    if (m_noteid3) {
+        CpPhoneNotes::instance()->cancelNote(m_noteid3);
+        m_noteid3 = 0;
+    }
+    
+    if (visibleDialog()) {
+        visibleDialog()->close();
+        QTest::qWait(1);
+    }
+	
+}
+
+/*!
+  UT_CpPhoneNotes::visibleDialog
+ */
+HbDialog *UT_CpPhoneNotes::visibleDialog()
+{
+    QList<QGraphicsItem*> items = mainWindow->scene()->items();
+    foreach (QGraphicsItem* item, items) {
+        HbDialog *w = qobject_cast<HbDialog*>(item->parentWidget());
+        if (w && w->isVisible()) {
+            qDebug() << "visibleDialog: " << w->getStaticMetaObject().className() <<
+                    "contentWidget: " << w->contentWidget()->getStaticMetaObject().className();
+            return w;
+        }
+    }
+    
+    return 0;
+}
+
+/*!
+  UT_CpPhoneNotes::verifyGlobalNote
+ */
+void UT_CpPhoneNotes::verifyGlobalNote( const QString& noteText )
+{
+    qDebug() << "verifyGlobalNote:" << noteText;
+    HbDeviceMessageBox *note=0;
+    QObject* o=0;
+    QVERIFY(CpPhoneNotes::instance()->m_notesQueue->count());
+    QVERIFY(o = CpPhoneNotes::instance()->m_notesQueue->at(0));
+    QVERIFY(note = qobject_cast<HbDeviceMessageBox *>(o));
+    QCOMPARE(note->text(), noteText);
+    note->close();
+    QTest::qWait(1);
+}
+
+/*!
+  UT_CpPhoneNotes::appendAllEtelServices
+ */
+void UT_CpPhoneNotes::appendAllEtelServices(QList<PSCallDivertingStatus*>& list)
+{   
+    /** The call service has not been specified. */
+    appendService(list, RMobilePhone::EServiceUnspecified);
+    /** The API request applies to voice call services. */
+    appendService(list, RMobilePhone::EVoiceService);
+    /** The API request applies to auxiliary voice call services. */
+    appendService(list, RMobilePhone::EAuxVoiceService);
+    /** The API request applies to circuit switched data call services. */
+    appendService(list, RMobilePhone::ECircuitDataService);
+    /** The API request applies to packet data services. */
+    appendService(list, RMobilePhone::EPacketDataService);
+    /** The API request applies to fax call services. */
+    appendService(list, RMobilePhone::EFaxService);
+    /** The API request applies to short message services. */
+    appendService(list, RMobilePhone::EShortMessageService);
+    /** The API request applies to all mobile services. */
+    appendService(list, RMobilePhone::EAllServices);
+    /** All teleservices */
+    appendService(list, RMobilePhone::EAllTele);
+    /** Telephony */
+    appendService(list, RMobilePhone::ETelephony);
+    /** All data teleservices */
+    appendService(list, RMobilePhone::EAllDataTele);
+    /** Voice Broadcast Service (VBS) Bearer Service */
+    appendService(list, RMobilePhone::EAllDataExSms);
+    /** All teleservices except SMS */
+    appendService(list, RMobilePhone::EAllTeleExcSms);
+    /** All PLMN specific teleservices */
+    appendService(list, RMobilePhone::EAllPlmnTele);
+    /** PLMN specific teleservice 1 */
+    appendService(list, RMobilePhone::EPlmnTele1);
+    /** PLMN specific teleservice 2 */
+    appendService(list, RMobilePhone::EPlmnTele2);
+    /** PLMN specific teleservice 3 */
+    appendService(list, RMobilePhone::EPlmnTele3);
+    /** PLMN specific teleservice 4 */
+    appendService(list, RMobilePhone::EPlmnTele4);
+    /** PLMN specific teleservice 5 */
+    appendService(list, RMobilePhone::EPlmnTele5);
+    /** PLMN specific teleservice 6 */
+    appendService(list, RMobilePhone::EPlmnTele6);
+    /** PLMN specific teleservice 7 */
+    appendService(list, RMobilePhone::EPlmnTele7);
+    /** PLMN specific teleservice 8 */
+    appendService(list, RMobilePhone::EPlmnTele8);
+    /** PLMN specific teleservice 9 */
+    appendService(list, RMobilePhone::EPlmnTele9);
+    /** PLMN specific teleservice 10 */
+    appendService(list, RMobilePhone::EPlmnTeleA);
+    /** PLMN specific teleservice 11 */
+    appendService(list, RMobilePhone::EPlmnTeleB);
+    /** PLMN specific teleservice 12 */
+    appendService(list, RMobilePhone::EPlmnTeleC);
+    /** PLMN specific teleservice 13 */
+    appendService(list, RMobilePhone::EPlmnTeleD);
+    /** PLMN specific teleservice 14 */
+    appendService(list, RMobilePhone::EPlmnTeleE);
+    /** PLMN specific teleservice 15 */
+    appendService(list, RMobilePhone::EPlmnTeleF);
+    /** All bearer services */
+    appendService(list, RMobilePhone::EAllBearer);
+    /** All async services */
+    appendService(list, RMobilePhone::EAllAsync);
+    /** All sync services */
+    appendService(list, RMobilePhone::EAllSync);
+    /** All data circuit sync */
+    appendService(list, RMobilePhone::ESyncData);
+    /** All data circuit async */
+    appendService(list, RMobilePhone::EAsyncData);
+    /** All packet data services */
+    appendService(list, RMobilePhone::EPacketData);
+    /** All pad access services */
+    appendService(list, RMobilePhone::EPadAccess);
+    /** All PLMN specific bearer services */
+    appendService(list, RMobilePhone::EAllPlmnBearer);
+    /** PLMN specific bearer service 1 */
+    appendService(list, RMobilePhone::EPlmnBearerServ1);
+    /** PLMN specific bearer service 2 */
+    appendService(list, RMobilePhone::EPlmnBearerServ2);
+    /** PLMN specific bearer service 3 */
+    appendService(list, RMobilePhone::EPlmnBearerServ3);
+    /** PLMN specific bearer service 4 */
+    appendService(list, RMobilePhone::EPlmnBearerServ4);
+    /** PLMN specific bearer service 5 */
+    appendService(list, RMobilePhone::EPlmnBearerServ5);
+    /** PLMN specific bearer service 6 */
+    appendService(list, RMobilePhone::EPlmnBearerServ6);
+    /** PLMN specific bearer service 7 */
+    appendService(list, RMobilePhone::EPlmnBearerServ7);
+    /** PLMN specific bearer service 8 */
+    appendService(list, RMobilePhone::EPlmnBearerServ8);
+    /** PLMN specific bearer service 9 */
+    appendService(list, RMobilePhone::EPlmnBearerServ9);
+    /** PLMN specific bearer service 10 */
+    appendService(list, RMobilePhone::EPlmnBearerServA);
+    /** PLMN specific bearer service 11 */
+    appendService(list, RMobilePhone::EPlmnBearerServB);
+    /** PLMN specific bearer service 12 */
+    appendService(list, RMobilePhone::EPlmnBearerServC);
+    /** PLMN specific bearer service 13 */
+    appendService(list, RMobilePhone::EPlmnBearerServD);
+    /** PLMN specific bearer service 14 */
+    appendService(list, RMobilePhone::EPlmnBearerServE);
+    /** PLMN specific bearer service 15 */
+    appendService(list, RMobilePhone::EPlmnBearerServF);
+    /** Alternative tele services */
+    appendService(list, RMobilePhone::EAltTele);
+    /** Voice Group Call Service (VGCS) */
+    appendService(list, RMobilePhone::EVoiceGroupCall);
+    /** Voice Broadcast Service (VBS) */
+    appendService(list, RMobilePhone::EVoiceBroadcast);
+    /** All GPRS Bearer Services */
+    appendService(list, RMobilePhone::EAllGprsBearer);
+}
+
+/*!
+  UT_CpPhoneNotes::appendService
+ */
+void UT_CpPhoneNotes::appendService(
+        QList<PSCallDivertingStatus*>& list, RMobilePhone::TMobileService service )
+{
+    PSCallDivertingStatus* item = new PSCallDivertingStatus;
+    item->iServiceGroup = service;
+    list.append(item);
+}
+
+/*!
+  UT_CpPhoneNotes::init
+ */
+void UT_CpPhoneNotes::init()
+{
+    initialize();
+    timerid = startTimer(3000);
+    m_noteid1 = 0;
+    m_noteid2 = 0;
+    m_noteid3 = 0;
+}
+
+/*!
+  UT_CpPhoneNotes::cleanup
+ */
+void UT_CpPhoneNotes::cleanup()
+{
+    reset();
+    if (timerid) {
+        killTimer(timerid);
+        timerid = 0;
+    }
+}
+
+/*!
+  UT_CpPhoneNotes::t_memleak
+ */
+void UT_CpPhoneNotes::t_memleak()
+{
+    
+}
+
+/*!
+  UT_CpPhoneNotes::t_showProgressNote
+ */
+void UT_CpPhoneNotes::t_showProgressNote()
+{
+    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "test");
+    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid2, "test");
+    QTest::qWait(5000);
+}
+
+/*!
+  UT_CpPhoneNotes::t_showGlobalProgressNote
+ */
+void UT_CpPhoneNotes::t_showGlobalProgressNote()
+{
+    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "test");
+    QTest::qWait(5000);
+}
+
+/*!
+  UT_CpPhoneNotes::t_showGlobalNote
+ */
+void UT_CpPhoneNotes::t_showGlobalNote()
+{
+    CpPhoneNotes::instance()->showGlobalNote(m_noteid1, "MessageTypeQuestion",HbMessageBox::MessageTypeQuestion );
+    CpPhoneNotes::instance()->showGlobalNote(m_noteid2, "MessageTypeInformation",HbMessageBox::MessageTypeInformation);
+    CpPhoneNotes::instance()->showGlobalNote(m_noteid3, "MessageTypeWarning",HbMessageBox::MessageTypeWarning );
+    
+}
+
+/*!
+  UT_CpPhoneNotes::t_showGlobalErrorNote
+ */
+void UT_CpPhoneNotes::t_showGlobalErrorNote()
+{
+    int errorcode = -1;
+    wantedNoteText = "";
+    expect("Tools::errorCodeTextMapping").with(errorcode,wantedNoteText).returns(true);
+    CpPhoneNotes::instance()->showGlobalErrorNote(m_noteid1, errorcode );
+    QVERIFY( verify() );
+
+}
+
+/*!
+  UT_CpPhoneNotes::t_showBasicServiceList
+ */
+void UT_CpPhoneNotes::t_showBasicServiceList()
+{
+    QList<unsigned char> basicServiceGroupIds;
+    basicServiceGroupIds << Telephony;
+    basicServiceGroupIds << AllDataTele;
+    CpPhoneNotes::instance()->
+        showBasicServiceList("Basic Service List", basicServiceGroupIds );
+}
+
+/*!
+  UT_CpPhoneNotes::t_showBasicServiceCallDivertList
+ */
+void UT_CpPhoneNotes::t_showBasicServiceCallDivertList()
+{
+    QList<PSCallDivertingStatus*> statusList;
+    int selection = 0;
+    CallDivertType divertType = NoCallDivert;
+    CallDivertType divertDetailType = NoCallDivert;
+    CpPhoneNotes::instance()->showBasicServiceCallDivertList( 
+        "title", statusList, selection, divertType, divertDetailType );
+    
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllServices).returns(AllTeleAndBearer);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllTele).returns(AllTele);
+
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EVoiceService).returns(Telephony);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::ETelephony).returns(Telephony);
+    
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllDataTele).returns(AllDataTele);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EFaxService).returns(Fax);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EShortMessageService).returns(Sms);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllDataExSms).returns(AllDataExSms);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllTeleExcSms).returns(AllTeleExcSms);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllPlmnTele).returns(AllPlmnTele);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele1).returns(PlmnTele1);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele2).returns(PlmnTele2);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele3).returns(PlmnTele3);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele4).returns(PlmnTele4);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele5).returns(PlmnTele5);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele6).returns(PlmnTele6);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele7).returns(PlmnTele7);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele8).returns(PlmnTele8);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele9).returns(PlmnTele9);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleA).returns(PlmnTeleA);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleB).returns(PlmnTeleB);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleC).returns(PlmnTeleC);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleD).returns(PlmnTeleD);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleE).returns(PlmnTeleE);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleF).returns(PlmnTeleF);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllBearer).returns(AllBearer);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllAsync).returns(AllAsync);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllSync).returns(AllSync);
+    
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::ECircuitDataService).returns(SyncData);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::ESyncData).returns(SyncData);
+    
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPacketDataService).returns(AsyncData);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAsyncData).returns(AsyncData);
+    
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPacketData).returns(PacketData);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPadAccess).returns(PadAccess);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllPlmnBearer).returns(AllPlmnBearer);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ1).returns(PlmnBearerServ1);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ2).returns(PlmnBearerServ2);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ3).returns(PlmnBearerServ3);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ4).returns(PlmnBearerServ4);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ5).returns(PlmnBearerServ5);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ6).returns(PlmnBearerServ6);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ7).returns(PlmnBearerServ7);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ8).returns(PlmnBearerServ8);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ9).returns(PlmnBearerServ9);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServA).returns(PlmnBearerServA);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServB).returns(PlmnBearerServB);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServC).returns(PlmnBearerServC);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServD).returns(PlmnBearerServD);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServE).returns(PlmnBearerServE);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServF).returns(PlmnBearerServF);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAuxVoiceService).returns(AltTele);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAltTele).returns(AltTele);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EServiceUnspecified).returns(Unknown);
+    // ??
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EVoiceGroupCall).returns(Unknown);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EVoiceBroadcast).returns(Unknown);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllGprsBearer).returns(Unknown);
+
+    expect("Tools::videoSupported").returns(true);
+    appendAllEtelServices( statusList );
+    divertType = CallDivertWithNumber;
+    CpPhoneNotes::instance()->showBasicServiceCallDivertList( 
+        "title", statusList, selection, divertType, divertDetailType );
+    QVERIFY( verify() );
+
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllServices).returns(AllTeleAndBearer);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllTele).returns(AllTele);
+
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EVoiceService).returns(Telephony);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::ETelephony).returns(Telephony);
+    
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllDataTele).returns(AllDataTele);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EFaxService).returns(Fax);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EShortMessageService).returns(Sms);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllDataExSms).returns(AllDataExSms);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllTeleExcSms).returns(AllTeleExcSms);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllPlmnTele).returns(AllPlmnTele);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele1).returns(PlmnTele1);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele2).returns(PlmnTele2);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele3).returns(PlmnTele3);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele4).returns(PlmnTele4);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele5).returns(PlmnTele5);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele6).returns(PlmnTele6);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele7).returns(PlmnTele7);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele8).returns(PlmnTele8);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTele9).returns(PlmnTele9);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleA).returns(PlmnTeleA);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleB).returns(PlmnTeleB);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleC).returns(PlmnTeleC);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleD).returns(PlmnTeleD);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleE).returns(PlmnTeleE);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnTeleF).returns(PlmnTeleF);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllBearer).returns(AllBearer);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllAsync).returns(AllAsync);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllSync).returns(AllSync);
+    
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::ECircuitDataService).returns(SyncData);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::ESyncData).returns(SyncData);
+    
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPacketDataService).returns(AsyncData);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAsyncData).returns(AsyncData);
+    
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPacketData).returns(PacketData);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPadAccess).returns(PadAccess);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllPlmnBearer).returns(AllPlmnBearer);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ1).returns(PlmnBearerServ1);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ2).returns(PlmnBearerServ2);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ3).returns(PlmnBearerServ3);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ4).returns(PlmnBearerServ4);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ5).returns(PlmnBearerServ5);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ6).returns(PlmnBearerServ6);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ7).returns(PlmnBearerServ7);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ8).returns(PlmnBearerServ8);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServ9).returns(PlmnBearerServ9);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServA).returns(PlmnBearerServA);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServB).returns(PlmnBearerServB);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServC).returns(PlmnBearerServC);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServD).returns(PlmnBearerServD);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServE).returns(PlmnBearerServE);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EPlmnBearerServF).returns(PlmnBearerServF);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAuxVoiceService).returns(AltTele);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAltTele).returns(AltTele);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EServiceUnspecified).returns(Unknown);
+    // ??
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EVoiceGroupCall).returns(Unknown);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EVoiceBroadcast).returns(Unknown);
+    expect("Tools::convertEtelMobileServiceCode").with(RMobilePhone::EAllGprsBearer).returns(Unknown);
+
+    expect("Tools::videoSupported").returns(false);
+    divertType = CallDivertWithNumberAndTimeout;
+    CpPhoneNotes::instance()->showBasicServiceCallDivertList( 
+        "title", statusList, selection, divertType, divertDetailType );
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_CpPhoneNotes::t_showCallDivertDetails
+ */
+void UT_CpPhoneNotes::t_showCallDivertDetails()
+{
+    expect("CpSettingsWrapper::numberGroupingSupported").returns(QVariant(true));
+    PSCallDivertingStatus status;
+    CpPhoneNotes::instance()->showCallDivertDetails(status);
+    QVERIFY( verify() );
+
+    expect("CpSettingsWrapper::numberGroupingSupported").returns(QVariant(false));
+    status.iTimeout = 30;
+    CpPhoneNotes::instance()->showCallDivertDetails(status);
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_CpPhoneNotes::t_cancelNote
+ */
+void UT_CpPhoneNotes::t_cancelNote()
+{
+    CpPhoneNotes::instance()->showGlobalProgressNote(m_noteid1, "test");
+    QTest::qWait(5000);
+}
+
+QTEST_MAIN_S60UI(UT_CpPhoneNotes)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_PSUI2NOTECONTROLLER_H
+#define UT_PSUI2NOTECONTROLLER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+#include <etelmm.h>
+#include <psetcalldivertingwrapper.h>
+
+class CpPhoneNotes;
+class HbDialog;
+
+
+class UT_CpPhoneNotes : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpPhoneNotes();
+    ~UT_CpPhoneNotes();
+    
+private: // From QObject
+    void timerEvent( QTimerEvent* event );
+    
+private: // Tools
+    HbDialog *visibleDialog();
+    void verifyGlobalNote( const QString& noteText );
+    void appendAllEtelServices(QList<PSCallDivertingStatus*>& list);
+    void appendService(
+            QList<PSCallDivertingStatus*>& list, 
+            RMobilePhone::TMobileService service);
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_memleak();
+    
+    void t_showProgressNote();
+    void t_showGlobalProgressNote();
+    void t_showGlobalNote();
+    void t_showGlobalErrorNote();
+    void t_showBasicServiceList();
+    void t_showBasicServiceCallDivertList();
+    void t_showCallDivertDetails();
+    void t_cancelNote();
+
+private:
+    int m_noteid1;
+    int m_noteid2;
+    int m_noteid3;
+    int timerid;
+    QString wantedNoteText;
+
+};
+
+#endif // UT_PSUI2NOTECONTROLLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpphonenotes/ut_cpphonenotes.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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: 
+#
+
+
+CONFIG += hb qtestlib
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../inc/
+DEFINES += BUILD_CPTELEPHONYUTILS
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib -lsymbianmock
+}
+
+# test code
+HEADERS += ut_cpphonenotes.h
+SOURCES += ut_cpphonenotes.cpp
+
+# code to be tested
+HEADERS += ../../inc/cpphonenotes.h \
+           ../../inc/cptelephonyutilsdefs.h \
+           ../../inc/cpplugincommon.h
+           
+SOURCES += ../../src/cpphonenotes.cpp #    \
+#           ../../src/cpphonenotes_p.cpp
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cpplugincommon.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,398 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_cpplugincommon.h"
+#include "qtestmains60.h"
+#include <gsmerror.h>
+#include <exterror.h>
+#include <etelmm.h>
+#include <btsapdomainpskeys.h>
+#define private public
+#include "cpplugincommon.h"
+
+/*!
+  UT_CpPluginCommon::UT_CpPluginCommon
+ */
+UT_CpPluginCommon::UT_CpPluginCommon() 
+    : mWrapper(NULL)
+{
+}
+
+/*!
+  UT_CpPluginCommon::~UT_CpPluginCommon
+ */
+UT_CpPluginCommon::~UT_CpPluginCommon()
+{
+    delete mWrapper;
+}
+
+/*!
+  UT_CpPluginCommon::init
+ */
+void UT_CpPluginCommon::init()
+{
+    initialize();
+
+    mWrapper = new CpSettingsWrapper();
+}
+
+/*!
+  UT_CpPluginCommon::cleanup
+ */
+void UT_CpPluginCommon::cleanup()
+{
+    reset();
+    
+    delete mWrapper;
+    mWrapper = NULL;
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+void UT_CpPluginCommon::t_memleak()
+{
+    
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+void UT_CpPluginCommon::t_showCallDuration()
+{
+    expect("XQSettingsManager::readItemValue").
+        returns(QVariant(23324));
+    
+    mWrapper->showCallDuration();
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+void UT_CpPluginCommon::t_setShowCallDuration()
+{
+    mWrapper->setShowCallDuration(true);
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+void UT_CpPluginCommon::t_readSoftRejectText()
+{
+    QString text="";
+    bool userDefined=true;
+    expect("XQSettingsManager::readItemValue").
+            returns(QVariant(true));
+    
+    expect("XQSettingsManager::readItemValue").
+                returns(QVariant("text"));
+    
+    mWrapper->readSoftRejectText(text, userDefined);
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+void UT_CpPluginCommon::t_writeSoftRejectText()
+{
+    QString text="";
+    bool userDefined=true;
+    mWrapper->writeSoftRejectText(text, userDefined);
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+void UT_CpPluginCommon::t_numberGroupingSupported()
+{
+    expect("XQSettingsManager::readItemValue").
+            returns(QVariant(true));
+    
+    mWrapper->numberGroupingSupported();
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+
+void UT_CpPluginCommon::t_loadCpPlugin()
+{
+    CpPluginPlatInterface* p = Tools::loadCpPlugin("hello");
+    QVERIFY( !p );
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+void UT_CpPluginCommon::t_unloadCpPlugin()
+{
+    QVERIFY( !Tools::unloadCpPlugin("hello") );
+}
+
+/*!
+  UT_CpPluginCommon::t_voipSupported
+ */
+
+void UT_CpPluginCommon::t_voipSupported()
+{
+    expect("XQSysInfo::isSupported").with(
+            KFeatureIdCommonVoip).returns(false);
+    QCOMPARE( Tools::voipSupported(), false );
+    expect("XQSysInfo::isSupported").with(
+            KFeatureIdCommonVoip).returns(true);
+    QCOMPARE( Tools::voipSupported(), true );
+    
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_CpPluginCommon::t_videoSupported
+ */
+void UT_CpPluginCommon::t_videoSupported()
+{
+    expect("XQSysInfo::isSupported").with(
+            KFeatureIdCsVideoTelephony).returns(true);
+    QCOMPARE( Tools::videoSupported(), true );
+    expect("XQSysInfo::isSupported").with(
+            KFeatureIdCsVideoTelephony).returns(false);
+    QCOMPARE( Tools::videoSupported(), false );
+    
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+void UT_CpPluginCommon::t_convertEtelMobileServiceCode()
+{
+    //
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllServices), AllTeleAndBearer);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllTele), AllTele);
+
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EVoiceService), Telephony);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::ETelephony), Telephony);
+    
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllDataTele), AllDataTele);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EFaxService), Fax);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EShortMessageService), Sms);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllDataExSms), AllDataExSms);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllTeleExcSms), AllTeleExcSms);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllPlmnTele), AllPlmnTele);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTele1), PlmnTele1);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTele2), PlmnTele2);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTele3), PlmnTele3);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTele4), PlmnTele4);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTele5), PlmnTele5);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTele6), PlmnTele6);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTele7), PlmnTele7);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTele8), PlmnTele8);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTele9), PlmnTele9);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTeleA), PlmnTeleA);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTeleB), PlmnTeleB);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTeleC), PlmnTeleC);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTeleD), PlmnTeleD);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTeleE), PlmnTeleE);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnTeleF), PlmnTeleF);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllBearer), AllBearer);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllAsync), AllAsync);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllSync), AllSync);
+    
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::ECircuitDataService), SyncData);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::ESyncData), SyncData);
+    
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPacketDataService), AsyncData);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAsyncData), AsyncData);
+    
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPacketData), PacketData);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPadAccess), PadAccess);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllPlmnBearer), AllPlmnBearer);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServ1), PlmnBearerServ1);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServ2), PlmnBearerServ2);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServ3), PlmnBearerServ3);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServ4), PlmnBearerServ4);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServ5), PlmnBearerServ5);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServ6), PlmnBearerServ6);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServ7), PlmnBearerServ7);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServ8), PlmnBearerServ8);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServ9), PlmnBearerServ9);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServA), PlmnBearerServA);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServB), PlmnBearerServB);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServC), PlmnBearerServC);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServD), PlmnBearerServD);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServE), PlmnBearerServE);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EPlmnBearerServF), PlmnBearerServF);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAuxVoiceService), AltTele);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAltTele), AltTele);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EServiceUnspecified), Unknown);
+    // ??
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EVoiceGroupCall), Unknown);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EVoiceBroadcast), Unknown);
+    QCOMPARE(Tools::convertEtelMobileServiceCode(
+            RMobilePhone::EAllGprsBearer), Unknown);
+
+}
+
+/*!
+  UT_CpPluginCommon::t_memleak
+ */
+void UT_CpPluginCommon::t_errorCodeTextMapping()
+{
+    QString text = "";
+    Tools::errorCodeTextMapping(KErrGsmSSSubscriptionViolation, text);
+    QCOMPARE( text, QString(
+            "Barring operation not successful. Contact your service provider"));
+    Tools::errorCodeTextMapping(KErrGsmSSUnknownSubscriber, text);
+    QCOMPARE( text, QString(
+            "Not allowed"));
+    Tools::errorCodeTextMapping(KErrGsmSSAbsentSubscriber, text);
+    QCOMPARE( text, QString(
+            "Not allowed"));
+    Tools::errorCodeTextMapping(KErrGsmSSIllegalOperation, text);
+    QCOMPARE( text, QString(
+            "Not allowed"));
+    Tools::errorCodeTextMapping(KErrGsmSSIllegalSubscriber, text);
+    QCOMPARE( text, QString(
+            "Not allowed"));
+    Tools::errorCodeTextMapping(KErrGsmSSIllegalEquipment, text);
+    QCOMPARE( text, QString(
+            "Not allowed"));
+    Tools::errorCodeTextMapping(KErrGsmSSCallBarred, text);
+    QCOMPARE( text, QString(
+            "Not allowed"));
+    Tools::errorCodeTextMapping(KErrGsmSSDataMissing, text);
+    QCOMPARE( text, QString(
+            "Not allowed"));
+    Tools::errorCodeTextMapping(KErrGsmSSIncompatibility, text);
+    QCOMPARE( text, QString(
+            "Services in conflict"));
+    Tools::errorCodeTextMapping(KErrGsmSSSystemFailure, text);
+    QCOMPARE( text, QString(
+            "Result unknown"));
+    Tools::errorCodeTextMapping(KErrGsmSSUnexpectedDataValue, text);
+    QCOMPARE( text, QString(
+            "Request rejected"));
+    Tools::errorCodeTextMapping(KErrGsmSSResourcesUnavailable, text);
+    QCOMPARE( text, QString(
+            "Request rejected"));
+    Tools::errorCodeTextMapping(KErrGsmSSNegativePasswordCheck, text);
+    QCOMPARE( text, QString(
+            "Password error"));
+    Tools::errorCodeTextMapping(KErrGsmSSPasswordRegistrationFailure, text);
+    QCOMPARE( text, QString(
+            "Password error"));
+    Tools::errorCodeTextMapping(KErrGsmSSPasswordAttemptsViolation, text);
+    QCOMPARE( text, QString(
+            "Password blocked"));
+    Tools::errorCodeTextMapping(KErrGsmSMSNoNetworkService, text);
+    QCOMPARE( text, QString(
+            "No network coverage"));
+    Tools::errorCodeTextMapping(KErrGsmNoService, text);
+    QCOMPARE( text, QString(
+            "No network coverage"));
+    Tools::errorCodeTextMapping(KErrSsActivationDataLost, text);
+    QCOMPARE( text, QString(
+            "Check network services"));
+    Tools::errorCodeTextMapping(KErrGsmSSUnknownAlphabet, text);
+    QCOMPARE( text, QString("Invalid phone number"));
+    
+    expect("XQSysInfo::isSupported").returns(false);
+    Tools::errorCodeTextMapping(KErrGsmOfflineOpNotAllowed, text);
+    QCOMPARE( text, QString(
+            "Not done"));
+    QVERIFY( verify() );
+    
+    expect("XQSysInfo::isSupported").returns(true);
+    expect("XQSettingsManager::readItemValue").returns(QVariant(EBTSapConnected));
+    Tools::errorCodeTextMapping(KErrGsmOfflineOpNotAllowed, text);
+    QCOMPARE( text, QString(
+            "Operation not possible in SIM access profile mode"));
+    QVERIFY( verify() );
+    
+    expect("XQSysInfo::isSupported").returns(true);
+    expect("XQSettingsManager::readItemValue").returns(QVariant(EBTSapNotConnected));
+    Tools::errorCodeTextMapping(KErrGsmOfflineOpNotAllowed, text);
+    QCOMPARE( text, QString(
+            "Operation not possible in Off-line mode"));
+    
+    Tools::errorCodeTextMapping(-1, text);
+    QCOMPARE( text, QString(
+            "Not done"));
+    
+    QVERIFY( verify() );
+        
+}
+
+
+QTEST_MAIN_S60(UT_CpPluginCommon)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_SSSETTINGWRAPPER_H
+#define UT_SSSETTINGWRAPPER_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpSettingsWrapper;
+
+class UT_CpPluginCommon : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpPluginCommon();
+    ~UT_CpPluginCommon();
+    
+private slots:
+
+    void init();
+    void cleanup();
+    
+    void t_memleak();
+    
+    void t_showCallDuration();
+    void t_setShowCallDuration();
+    void t_readSoftRejectText();
+    void t_writeSoftRejectText();
+    void t_numberGroupingSupported();
+    
+    void t_loadCpPlugin();
+    void t_unloadCpPlugin();
+    
+    void t_voipSupported();
+    void t_videoSupported();
+    void t_convertEtelMobileServiceCode();
+    void t_errorCodeTextMapping();
+
+private:
+    CpSettingsWrapper *mWrapper;
+
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/cptelephonyutils/tsrc/ut_cpplugincommon/ut_cpplugincommon.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,52 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+CONFIG += qtestlib
+CONFIG += hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += . ../../inc/
+DEFINES += BUILD_CPTELEPHONYUTILS \
+    XQSETTINGSMANAGER_NO_LIBRARY \
+    XQSYSINFO_NO_LIBRARY
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+  LIBS += -lmocklib -lsymbianmock
+}
+
+# test code
+HEADERS += ut_cpplugincommon.h
+SOURCES += ut_cpplugincommon.cpp
+
+# code to be tested
+HEADERS += ../../inc/cpplugincommon.h \
+           /epoc32/include/mw/xqsettingskey.h \
+           /epoc32/include/mw/xqsettingsmanager.h \
+           /epoc32/include/mw/xqsysinfo.h
+           
+SOURCES += ../../src/cpplugincommon.cpp
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_xqsettingskey.cpp \
+           ../../../tsrc/mocks/mock_xqsettingsmanager.cpp \
+           ../../../tsrc/mocks/mock_xqsysinfo.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/divertplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = cpdivertplugin
+DEPENDPATH  += .
+INCLUDEPATH += .
+INCLUDEPATH += ../cptelephonyutils/inc
+CONFIG += hb plugin
+
+TRANSLATIONS = telephone_cp.ts
+
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+LIBS += -lcpframework \
+        -lpsetwrapper \
+        -lsssettingswrapper \
+        -lcptelephonyutils
+
+# Input
+SOURCES += src/cpdivertplugingroup.cpp \
+    src/cpdivertplugin.cpp \
+    src/cpdivertselectionitem.cpp \
+    src/cpdivertselectioncustomitem.cpp \
+    src/cpdivertitemdata.cpp
+    
+HEADERS += src/cpdivertplugingroup.h \
+    src/cpdivertplugin.h \
+    src/cpdivertselectionitem.h \
+    src/cpdivertselectioncustomitem.h \
+    src/cpdivertitemdata.h
+    
+include(../cpplugincommon.pri)
+
+symbian: {
+    TARGET.UID3 = 0X20029F25
+    LIBS += -lxqsysinfo \
+        -lxqsettingsmanager
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertitemdata.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include "cpdivertitemdata.h"
+#include "cpdivertselectionitem.h"
+
+
+CpDivertItemData::CpDivertItemData(
+                PsCallDivertingCondition condition,
+                PsServiceGroup serviceGroup,
+                const QString &label,
+                const QString &queryLabel,
+                bool needTimeoutInfo,
+                CpItemDataHelper &helper,
+                const HbDataFormModelItem *parent) :
+                CpSettingFormItemData(
+                        static_cast<HbDataFormModelItem::DataItemType>(
+                                CpDivertSelectionItem::CpDivertSelectionItemId),
+                        label, parent ),
+                m_serviceGroup(serviceGroup),
+                m_condition(condition),
+                m_queryLabel(queryLabel),
+                m_needTimeoutInfo(needTimeoutInfo),
+                m_helper(helper)
+{
+    m_helper.addConnection(
+        this, SIGNAL(clicked()),
+        this, SLOT(thisItemClicked()));
+}
+
+CpDivertItemData::~CpDivertItemData()
+{
+
+}
+
+PsServiceGroup CpDivertItemData::service()
+{
+    return m_serviceGroup;
+}
+
+PsCallDivertingCondition CpDivertItemData::condition()
+{
+    return m_condition;
+}
+
+QString CpDivertItemData::queryLabel()
+{
+    return m_queryLabel;
+}
+
+bool CpDivertItemData::needTimeoutInfo()
+{
+    return m_needTimeoutInfo;
+}
+
+void CpDivertItemData::thisItemClicked()
+{
+    emit itemClicked(*this);
+}
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertitemdata.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#ifndef DIVERTINGITEMDATA_H_
+#define DIVERTINGITEMDATA_H_
+
+#include <cpsettingformitemdata.h>
+#include <psetwrappertypes.h>
+#include <cpitemdatahelper.h>
+
+class CpDivertItemData : public CpSettingFormItemData
+{
+    Q_OBJECT
+public:
+    CpDivertItemData(
+        PsCallDivertingCondition condition,
+        PsServiceGroup serviceGroup,
+        const QString &label,
+        const QString &queryLabel,
+        bool needTimeoutInfo,
+        CpItemDataHelper &helper,
+        const HbDataFormModelItem *parent = 0);
+    
+    ~CpDivertItemData();
+    
+    PsServiceGroup service();
+    
+    PsCallDivertingCondition condition();
+    
+    QString queryLabel();
+    
+    bool needTimeoutInfo();
+
+public slots:
+    void thisItemClicked();
+
+signals:
+    void itemClicked(CpDivertItemData &item);
+
+private:
+    PsServiceGroup m_serviceGroup;
+    PsCallDivertingCondition m_condition;
+    QString m_queryLabel;
+    bool m_needTimeoutInfo;
+    CpItemDataHelper &m_helper;
+};
+
+#endif /* DIVERTINGITEMDATA_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include <cpsettingformentryitemdataimpl.h>
+#include "cpdivertplugin.h"
+#include "cpdivertplugingroup.h"
+#include "cppluginlogging.h"
+
+/*!
+    Constructor of CpDivertPlugin.
+ */
+CpDivertPlugin::CpDivertPlugin()
+{
+    // Install plugin specific msg handler
+    INSTALL_TRACE_MSG_HANDLER;
+    
+    DPRINT;
+}
+
+/*!
+    Destructor of CpDivertPlugin.
+ */
+CpDivertPlugin::~CpDivertPlugin()
+{
+    DPRINT;
+
+    // Uninstall plugin specific msg handler
+    UNINSTALL_TRACE_MSG_HANDLER;
+}
+
+/*!
+    CpDivertPlugin::createSettingFormItemData.
+ */
+CpSettingFormItemData *CpDivertPlugin::createSettingFormItemData(
+        CpItemDataHelper &itemDataHelper) const
+{
+    DPRINT;
+    return new CpDivertPluginGroup(itemDataHelper);
+}
+
+Q_EXPORT_PLUGIN2(cpdivertplugin, CpDivertPlugin);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  
+ *
+ */
+#ifndef CPDIVERTPLUGIN_H
+#define CPDIVERTPLUGIN_H
+
+#include <cppluginplatinterface.h>
+
+/*!
+    \class CpDivertPlugin
+    \brief The class CpDivertPlugin implements call divert functionality. 
+ */
+class CpDivertPlugin : public QObject, public CpPluginPlatInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(CpPluginPlatInterface)
+
+public:
+
+    CpDivertPlugin();
+    
+    ~CpDivertPlugin();
+    
+    /*!
+     From CpPluginPlatInterface.
+     @see CpPluginPlatInterface.
+     */
+    CpSettingFormItemData *createSettingFormItemData(
+            CpItemDataHelper &itemDataHelper) const;
+};
+
+#endif // CPDIVERTPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,969 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <hbdataformmodel.h>
+#include <hbdataformmodelitem.h>
+#include <hblineedit.h>
+#include <hbinputeditorinterface.h>
+#include <hbcombobox.h>
+#include <hbdeviceprogressdialog.h>
+#include <sssettingswrapper.h>
+#include <psetwrapper.h>
+#include <hbaction.h>
+#include <hblistwidget.h>
+#include <hblistwidgetitem.h>
+#include <hblabel.h>
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include <cpitemdatahelper.h>
+#include "cpdivertselectionitem.h"
+#include "cpdivertplugingroup.h"
+#include "cpplugincommon.h"
+#include "cpphonenotes.h"
+#include "cppluginlogging.h"
+#include "cpdivertitemdata.h"
+#include "cpdivertselectioncustomitem.h"
+
+/*!
+  CpDivertPluginGroup::CpDivertPluginGroup.
+ */
+CpDivertPluginGroup::CpDivertPluginGroup(CpItemDataHelper &helper)
+     : CpSettingFormItemData(HbDataFormModelItem::GroupItem, 
+                             hbTrId("txt_phone_subhead_call_divert"),0),
+       m_csVoiceCallPage(NULL),
+       m_DataItemAllVoiceCalls(NULL),
+       m_DataItemIfBusy(NULL),
+       m_DataItemIfNotAnswered(NULL),
+       m_DataItemIfOutOfReach(NULL),
+       m_DataItemIfNotAvailable(NULL),
+       m_activeNoteId(0),
+       m_helper(helper)
+{
+    DPRINT << ": IN";
+    
+    // Localization file loading
+    QTranslator translator; 
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    DPRINT << ": loading translation: " << QString(path + "telephone_cp_" + lang);
+    bool translatorLoaded = translator.load(path + "telephone_cp_" + lang);
+    DPRINT << ": translator loaded: " << translatorLoaded; 
+    if (translatorLoaded) {
+        qApp->installTranslator(&translator);
+        DPRINT << ": translator installed"; 
+    }
+    
+    m_pSetWrapper = new PSetWrapper; 
+    DPRINT << ": PSetWrapper created";
+    
+    m_ssSettingsWrapper = new SsSettingsWrapper; 
+    DPRINT << ": SsSettingsWrapper created";
+    
+    m_callDivertingWrapper = &m_pSetWrapper->callDivertingWrapper();
+    QObject::connect(
+        m_callDivertingWrapper, 
+        SIGNAL(handleDivertingChanged(const PSCallDivertingCommand&,bool)),
+        this, 
+        SLOT(handleDivertingChanged(const PSCallDivertingCommand&,bool)));
+    QObject::connect(
+        m_callDivertingWrapper, 
+        SIGNAL(handleDivertingStatus(QList<PSCallDivertingStatus*>&, bool)),
+        this, 
+        SLOT(handleDivertingStatus(QList<PSCallDivertingStatus*>&, bool)));
+    QObject::connect(
+        m_callDivertingWrapper, 
+        SIGNAL(handleDivertingError(int)),
+        this, 
+        SLOT(handleDivertingError(int)));
+    
+    QObject::connect(
+        m_callDivertingWrapper, 
+        SIGNAL(requestDone()),
+        this,
+        SLOT(divertRequestProcessed()));
+
+    // Create custom item prototype
+    m_helper.addItemPrototype(new CpDivertSelectionItem());
+    
+    // Create grouped setting items
+    createVoiceCallItems();
+    createVideoCallItems();
+    createVoIPCallItems();
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::~CpDivertPluginGroup.
+ */
+CpDivertPluginGroup::~CpDivertPluginGroup()
+{
+    DPRINT << ": IN";
+
+    delete m_pSetWrapper;
+    delete m_ssSettingsWrapper;
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+ CpDivertPluginGroup::createVoiceCallItems.
+ */
+void CpDivertPluginGroup::createVoiceCallItems()
+{
+    DPRINT << ": IN";
+    m_csVoiceCallPage = new CpSettingFormItemData(
+                HbDataFormModelItem::GroupPageItem,
+                hbTrId("txt_phone_setlabel_service_val_voice_divert"));
+    appendChild(m_csVoiceCallPage);
+
+    m_DataItemAllVoiceCalls = new CpDivertItemData(
+            DivertConditionUnconditional,
+            ServiceGroupVoice,
+            hbTrId("txt_phone_setlabel_all_calls"),
+            hbTrId("All voice calls:"), false,
+            m_helper,
+            m_csVoiceCallPage);
+    
+    addDivertDataItem(m_DataItemAllVoiceCalls, m_csVoiceCallPage);
+
+    m_DataItemIfBusy = new CpDivertItemData(
+            DivertConditionBusy,
+            ServiceGroupVoice,
+            hbTrId("txt_phone_setlabel_if_busy"),
+            hbTrId("If busy:"), false,
+            m_helper,
+            m_csVoiceCallPage);
+    
+    addDivertDataItem(m_DataItemIfBusy, m_csVoiceCallPage);
+
+    m_DataItemIfNotAnswered = new CpDivertItemData(
+            DivertConditionNoReply,
+            ServiceGroupVoice,
+            hbTrId("txt_phone_setlabel_if_not_answered"),
+            hbTrId("If not answered:"), true,
+            m_helper,
+            m_csVoiceCallPage);
+    
+    addDivertDataItem(m_DataItemIfNotAnswered, m_csVoiceCallPage);
+    m_DataItemIfNotAnswered->setContentWidgetData("timeoutText", hbTrId("txt_phone_setlabel_delay"));
+
+    m_DataItemIfOutOfReach = new CpDivertItemData(
+            DivertConditionNotReachable,
+            ServiceGroupVoice,
+            hbTrId("txt_phone_setlabel_if_out_of_reach"),
+            hbTrId("If out of reach:"), false,
+            m_helper,
+            m_csVoiceCallPage);
+    
+    addDivertDataItem(m_DataItemIfOutOfReach, m_csVoiceCallPage);
+
+    m_DataItemIfNotAvailable = new CpDivertItemData(
+            DivertConditionAllConditionalCases,
+            ServiceGroupVoice,
+            hbTrId("txt_phone_setlabel_if_not_available"),
+            hbTrId("If not available:"), true,
+            m_helper,
+            m_csVoiceCallPage);
+    
+    addDivertDataItem(m_DataItemIfNotAvailable, m_csVoiceCallPage);
+    DPRINT << ": OUT";
+}
+
+/*!
+ CpDivertPluginGroup::createVideoCallItems
+ */
+void CpDivertPluginGroup::createVideoCallItems()
+{
+    DPRINT << ": IN";
+    appendChild( new CpSettingFormItemData(
+        HbDataFormModelItem::GroupPageItem,
+        hbTrId("txt_phone_setlabel_service_val_video_divert")) );
+    DPRINT << ": OUT";
+}
+
+/*!
+ CpDivertPluginGroup::createVoIPCallItems
+ */
+void CpDivertPluginGroup::createVoIPCallItems()
+{
+    DPRINT << ": IN";
+    appendChild( new CpSettingFormItemData(
+        HbDataFormModelItem::GroupPageItem,
+        hbTrId("VoIP")) );
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::itemShown.
+ */
+void CpDivertPluginGroup::itemShown(const QModelIndex& item)
+{
+    DPRINT << ": IN";
+    DPRINT << "item:" << item;
+    HbDataFormModelItem* modelItem = 
+            qobject_cast<HbDataFormModel*>(model())->itemFromIndex(item);
+    
+    if (!modelItem->contentWidgetData("number").isValid()) {
+        if (modelItem==m_DataItemAllVoiceCalls) {
+            addToDivertingRequestQueue(CheckDivertStatus, *m_DataItemAllVoiceCalls);
+        } else if (modelItem==m_DataItemIfBusy) {
+            addToDivertingRequestQueue(CheckDivertStatus, *m_DataItemIfBusy);
+        } else if (modelItem==m_DataItemIfNotAnswered) {
+            addToDivertingRequestQueue(CheckDivertStatus, *m_DataItemIfNotAnswered);
+        } else if (modelItem==m_DataItemIfOutOfReach) {
+            addToDivertingRequestQueue(CheckDivertStatus, *m_DataItemIfOutOfReach);
+        } // do not update m_DataItemIfNotAvailable
+    }
+
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::addDivertDataItem.
+ */
+void CpDivertPluginGroup::addDivertDataItem(
+        CpDivertItemData *item, CpSettingFormItemData *parent)
+{
+    parent->appendChild(item);
+    QObject::connect(
+        item, SIGNAL(itemClicked(CpDivertItemData&)),
+        this, SLOT(changeDivertingStateRequested(CpDivertItemData&)));
+}
+
+/*!
+  CpDivertPluginGroup::addToDivertingRequestQueue.
+ */
+void CpDivertPluginGroup::addToDivertingRequestQueue(
+        DivertRequest request, CpDivertItemData &item)
+{
+    DPRINT << ": IN";
+    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
+        try {
+            processDivertingRequestQueue();
+        } catch(...) {
+            DPRINT << "error!!";
+        }
+    }
+
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::divertRequestProcessed.
+ */
+void CpDivertPluginGroup::divertRequestProcessed()
+{
+    DPRINT << ": IN";
+    // Remove previous request and process next one
+    if (!m_divertRequestQueue.isEmpty()) {
+        m_divertRequestQueue.dequeue();
+        processDivertingRequestQueue();
+    }
+
+    if (m_divertRequestQueue.isEmpty()) {
+        // Queue empty so cancel process note
+        CpPhoneNotes::instance()->cancelNote(m_activeProgressNoteId);
+    }
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::changeItemData.
+ */
+void CpDivertPluginGroup::changeItemData(
+        PsCallDivertingCondition condition, PsCallDivertingStatus status,
+        const QString& number, int timeout)
+{
+    DPRINT << ": IN";
+    
+    CpDivertSelectionCustomitem::State itemState = 
+        CpDivertSelectionCustomitem::Disabled;
+    if (status == DivertingStatusActive) {
+        itemState = CpDivertSelectionCustomitem::Enabled;
+    } else if (status == DivertingStatusInactive) {
+        itemState = CpDivertSelectionCustomitem::Deactivated;
+    } else {
+        itemState = CpDivertSelectionCustomitem::Disabled;
+    }
+    
+    switch (condition) {
+    case DivertConditionUnconditional:
+        m_DataItemAllVoiceCalls->setContentWidgetData("number", number);
+        m_DataItemAllVoiceCalls->setContentWidgetData("timeout", timeout);
+        m_DataItemAllVoiceCalls->setContentWidgetData("state", itemState);
+        break;
+    case DivertConditionBusy:
+        m_DataItemIfBusy->setContentWidgetData("number", number);
+        m_DataItemIfBusy->setContentWidgetData("timeout", timeout);
+        m_DataItemIfBusy->setContentWidgetData("state", itemState);
+        break;
+    case DivertConditionNoReply:
+        m_DataItemIfNotAnswered->setContentWidgetData("number", number);
+        m_DataItemIfNotAnswered->setContentWidgetData("timeout", timeout);
+        m_DataItemIfNotAnswered->setContentWidgetData("state", itemState);
+        break;
+    case DivertConditionNotReachable:
+        m_DataItemIfOutOfReach->setContentWidgetData("number", number);
+        m_DataItemIfOutOfReach->setContentWidgetData("timeout", timeout);
+        m_DataItemIfOutOfReach->setContentWidgetData("state", itemState);
+        break;
+    case DivertConditionAllConditionalCases:
+        DPRINT << ": DivertConditionAllConditionalCases";
+        
+        m_DataItemIfNotAvailable->setContentWidgetData("number", number);
+        m_DataItemIfNotAvailable->setContentWidgetData("timeout", timeout);
+        m_DataItemIfNotAvailable->setContentWidgetData("state", itemState);
+        
+        // If not available effects also conditions below
+        m_DataItemIfBusy->setContentWidgetData("number", number);
+        m_DataItemIfBusy->setContentWidgetData("timeout", timeout);
+        m_DataItemIfBusy->setContentWidgetData("state", itemState);
+        m_DataItemIfNotAnswered->setContentWidgetData("number", number);
+        m_DataItemIfNotAnswered->setContentWidgetData("timeout", timeout);
+        m_DataItemIfNotAnswered->setContentWidgetData("state", itemState);
+        m_DataItemIfOutOfReach->setContentWidgetData("number", number);
+        m_DataItemIfOutOfReach->setContentWidgetData("timeout", timeout);
+        m_DataItemIfOutOfReach->setContentWidgetData("state", itemState);
+        break;
+    case DivertConditionAllCalls:
+    case DivertConditionUnknown:
+    default:
+        break;
+    }
+}
+
+/*!
+  CpDivertPluginGroup::revertItemData.
+ */
+void CpDivertPluginGroup::revertItemData(PsCallDivertingCondition condition)
+{
+    DPRINT << ": IN";
+    
+    switch (condition) {
+        case DivertConditionUnconditional:
+            m_DataItemAllVoiceCalls->setContentWidgetData("state", 
+                m_DataItemAllVoiceCalls->contentWidgetData("state"));
+            break;
+        case DivertConditionBusy:
+            m_DataItemIfBusy->setContentWidgetData("state", 
+                m_DataItemIfBusy->contentWidgetData("state"));
+            break;
+        case DivertConditionNoReply:
+            m_DataItemIfNotAnswered->setContentWidgetData("state", 
+                m_DataItemIfNotAnswered->contentWidgetData("state"));
+            break;
+        case DivertConditionNotReachable:
+            m_DataItemIfOutOfReach->setContentWidgetData("state", 
+                m_DataItemIfOutOfReach->contentWidgetData("state"));
+            break;
+        case DivertConditionAllConditionalCases:
+            DPRINT << ": DivertConditionAllConditionalCases";
+            m_DataItemIfNotAvailable->setContentWidgetData("state", 
+                m_DataItemIfNotAvailable->contentWidgetData("state"));
+            break;
+        case DivertConditionAllCalls:
+        case DivertConditionUnknown:
+        default:
+            break;
+    }
+}
+
+/*!
+  CpDivertPluginGroup::processDivertingRequestQueue.
+ */
+void CpDivertPluginGroup::processDivertingRequestQueue()
+{
+    DPRINT << ": IN";
+    if (m_divertRequestQueue.isEmpty()) {
+        DPRINT << "queue empty : OUT";
+        return;
+    }
+    CpDivertRequestQueueItem request = m_divertRequestQueue.head();
+    // Command param
+    PSCallDivertingCommand divertCommand;
+    divertCommand.iServiceGroup = request.item->service();
+    divertCommand.iCondition = request.item->condition();
+    divertCommand.iStatus = DivertingStatusUnknown;
+    divertCommand.iNumber = hbTrId("");
+    divertCommand.iNoReplyTimer = 0;
+
+    switch (request.request) {
+        case ActivateDivert: {
+            DPRINT << "activate";
+            divertCommand.iSetting = RegisterDiverting;
+            if (popUpVoiceNumberListQuery(
+                    request.item->queryLabel(), divertCommand.iNumber)) {
+                if (request.item->needTimeoutInfo()) {
+                    if (popUpTimerQuery(divertCommand.iNoReplyTimer)) {
+                        setCallDiverting(divertCommand);
+                    } else {
+                        // Query was cancelled
+                        request.item->setContentWidgetData("number", 
+                                request.item->contentWidgetData("number").toString());
+                        request.item->setContentWidgetData("timeout", 
+                                request.item->contentWidgetData("timeout").toInt());
+                        m_divertRequestQueue.clear();
+                    }
+                } else {
+                    setCallDiverting(divertCommand);
+                }
+            } else {
+                // Query was cancelled
+                request.item->setContentWidgetData("number", 
+                        request.item->contentWidgetData("number").toString());
+                request.item->setContentWidgetData("timeout", 
+                        request.item->contentWidgetData("timeout").toInt());
+                m_divertRequestQueue.clear();
+            }
+        }
+            break;
+        case DeactivateDivert: {
+            DPRINT << "deactivate";
+            divertCommand.iSetting = EraseDiverting;
+            setCallDiverting(divertCommand);
+        }
+            break;
+        case CheckDivertStatus: {
+            DPRINT << "check status";
+            m_callDivertingWrapper->getCallDivertingStatus(
+                divertCommand.iServiceGroup,
+                divertCommand.iCondition,
+                bscParam() );
+            
+            if (!CpPhoneNotes::instance()->noteShowing()) {
+                CpPhoneNotes::instance()->showGlobalProgressNote(
+                        m_activeProgressNoteId, hbTrId("Requesting"));
+            }
+        }
+            break;
+        default:
+            DPRINT << "Error: unknown enum value";
+            break;
+    }
+
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::changeDivertingStateRequested.
+ */
+void CpDivertPluginGroup::changeDivertingStateRequested(
+        CpDivertItemData &item)
+{
+    DPRINT << ": IN";
+    
+    DivertRequest event=ActivateDivert;
+    if (CpDivertSelectionCustomitem::Enabled == 
+            item.contentWidgetData("state").toInt()) {
+        event = DeactivateDivert;
+    } else {
+        event = ActivateDivert;
+    }
+    
+    addToDivertingRequestQueue(event, item);
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::handleDivertingChanged.
+ */
+void CpDivertPluginGroup::handleDivertingChanged(
+        const PSCallDivertingCommand& aSetting, 
+        bool aPlural)
+{
+    DPRINT << ": IN";
+    
+    CpPhoneNotes::instance()->cancelNote(m_activeNoteId);
+    DPRINT << "aPlural:" << aPlural;
+    DPRINT << "iCondition:" << aSetting.iCondition;
+    DPRINT << "iNoReplyTimer:" << aSetting.iNoReplyTimer;
+    DPRINT << "iNumber:" << aSetting.iNumber;
+    DPRINT << "iServiceGroup:" << aSetting.iServiceGroup;
+    DPRINT << "iSetting:" << aSetting.iSetting;
+    DPRINT << "iStatus:" << aSetting.iStatus;
+
+    changeItemData(
+        aSetting.iCondition, aSetting.iStatus,
+        aSetting.iNumber, aSetting.iNoReplyTimer);
+    
+    updateDependentDivertOptions();
+    
+    switch(aSetting.iStatus) {
+        case DivertingStatusActive:
+            if (aPlural) {
+                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
+                    hbTrId("Diverts activated"), 
+                    HbMessageBox::MessageTypeInformation);
+            } else {
+                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
+                    hbTrId("Divert activated"), 
+                    HbMessageBox::MessageTypeInformation);
+            }
+            if (!m_divertToVoiceMailBox) {
+                // Number, except vmbx number, will be added to defaultnumber list
+                m_callDivertingWrapper->setNewDefaultNumber(aSetting.iNumber);
+            }
+            // Diverting calls does not affect Internet calls
+            if (Tools::voipSupported() &&
+                    aSetting.iServiceGroup == ServiceGroupVoice) {
+                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
+                    hbTrId("Diverting calls does not affect Internet calls"), 
+                    HbMessageBox::MessageTypeInformation);
+            }
+            break;
+        case DivertingStatusNotRegistered:
+        case DivertingStatusInactive:
+            if (aPlural) {
+                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
+                    hbTrId("Diverts cancelled"), 
+                    HbMessageBox::MessageTypeInformation);
+            } else {
+                CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
+                    hbTrId("Divert cancelled"), 
+                    HbMessageBox::MessageTypeInformation);
+            }
+            break;
+        case DivertingStatusNotProvisioned:
+        case DivertingStatusUnknown:
+        default:
+            CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId,
+                hbTrId("Not done"), 
+                HbMessageBox::MessageTypeInformation);
+    }
+    
+    if ((DivertConditionUnconditional == aSetting.iCondition) &&
+            (DivertingStatusActive != aSetting.iStatus)) {
+        // 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.
+        if (CpDivertSelectionCustomitem::Deactivated == 
+                m_DataItemIfBusy->contentWidgetData("state").toInt()) {
+            addToDivertingRequestQueue(
+                CheckDivertStatus, *m_DataItemIfBusy);
+        }
+        
+        if (CpDivertSelectionCustomitem::Deactivated == 
+                m_DataItemIfNotAnswered->contentWidgetData("state").toInt()) {
+            addToDivertingRequestQueue(
+                CheckDivertStatus, *m_DataItemIfNotAnswered);
+        }
+        
+        if (CpDivertSelectionCustomitem::Deactivated == 
+                m_DataItemIfOutOfReach->contentWidgetData("state").toInt()) {
+            addToDivertingRequestQueue(
+                CheckDivertStatus, *m_DataItemIfOutOfReach);
+        }
+    }
+    
+    DPRINT << ": OUT";
+}
+   
+/*!
+  CpDivertPluginGroup::handleDivertingStatus.
+ */
+void CpDivertPluginGroup::handleDivertingStatus(
+        QList<PSCallDivertingStatus*> &divertList, 
+        bool plural)
+{
+    DPRINT << ": IN";
+    DPRINT << "divertList.Size():" << divertList.size();
+    DPRINT << "plural:" << plural;
+
+    foreach(PSCallDivertingStatus* status, divertList) {
+        DPRINT << status->iCondition;
+        DPRINT << status->iNumber;
+        DPRINT << status->iServiceGroup;
+        DPRINT << status->iStatus;
+        DPRINT << status->iTimeout;
+        changeItemData(
+            status->iCondition, status->iStatus, 
+            status->iNumber, status->iTimeout);
+    }
+    
+    updateDependentDivertOptions();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::handleDivertingError.
+ */
+void CpDivertPluginGroup::handleDivertingError(int aReason)
+{
+    DPRINT << ": IN : aReason:" << aReason;
+    
+    // Update view item for failed request
+    revertItemData(m_divertRequestQueue.head().item->condition());
+    
+    // Clear queue
+    m_divertRequestQueue.clear();
+    
+    // Cancel previous note
+    CpPhoneNotes::instance()->cancelNote(m_activeNoteId);
+    
+    // Show error note
+    CpPhoneNotes::instance()->showGlobalErrorNote(m_activeNoteId, aReason);
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::popUpVoiceNumberListQuery.
+ */
+bool CpDivertPluginGroup::popUpVoiceNumberListQuery(
+        const QString& heading, QString& result)
+{
+    DPRINT << ": IN";
+    
+    bool requestOK(false);
+    m_divertToVoiceMailBox = false;
+    QStringList defNumbers;
+    HbDialog *dialog = createDialog(heading);
+    HbListWidget *list = new HbListWidget(dialog);
+    addItemToListWidget(
+        list, hbTrId("txt_phone_setlabel_voice_mbx"), hbTrId("txt_phone_setlabel_voice_mbx") );
+    // Add "old" divert number to list
+    m_callDivertingWrapper->getDefaultNumbers(defNumbers);
+    int count(defNumbers.count());
+    for (int i = 0; i < count; i++) {
+        addItemToListWidget(list, defNumbers[i], defNumbers[i]);
+    }
+    addItemToListWidget(list, hbTrId("Other number"), hbTrId("Other number") );
+    // Connect list item activation signal to close the popup
+    connect(
+        list, SIGNAL(activated(HbListWidgetItem*)), 
+        dialog, SLOT(close()));
+    // Sets the "Cancel"-action/button
+    HbAction *cancelAction = new HbAction("Cancel");
+    dialog->setPrimaryAction(cancelAction);
+    dialog->setContentWidget(list);
+    // Launch popup and handle the response
+    if (dialog->exec() != cancelAction) {
+        // Update the view with selected text
+        QString data = list->currentItem()->data().toString();
+        if (data == hbTrId("txt_phone_setlabel_voice_mbx")) {
+            m_callDivertingWrapper->getVoiceMailBoxNumber(result);
+            if (result.size()) {
+                // voicemailboxnumber found
+                m_divertToVoiceMailBox = true;
+                requestOK = true;
+            }
+        } else if (data == hbTrId("Other number")) {
+            requestOK = popUpNumberEditor(hbTrId("Number:"), result);
+        } else {
+            //TODO if matched contact name not work
+            result = data;
+            requestOK = true;
+        }
+    }
+    else {
+        DPRINT << ": Cancel";
+    }
+    disconnect(
+        list, SIGNAL(activated(HbListWidgetItem*)), 
+        dialog, SLOT(close()));
+    delete dialog;
+    
+    DPRINT << ": OUT : requestOK :" << requestOK;
+    return requestOK;
+}
+
+/*!
+  CpDivertPluginGroup::popUpNumberEditor.
+ */
+bool CpDivertPluginGroup::popUpNumberEditor(
+        const QString& heading, QString& result)
+{
+    DPRINT << ": IN";
+
+    bool requestOK(false);
+    HbDialog *dialog = createDialog(heading);
+    HbLineEdit *editor = new HbLineEdit(dialog);
+    HbEditorInterface editorInterface(editor);
+    editorInterface.setUpAsPhoneNumberEditor();
+    dialog->setContentWidget(editor);
+    HbAction *okAction = new HbAction(hbTrId("OK"));
+    dialog->addAction(okAction);
+    HbAction *cancelAction = new HbAction(hbTrId("Cancel"));
+    dialog->setSecondaryAction(cancelAction);
+    
+    HbAction *resultAction = dialog->exec();
+    if (resultAction == cancelAction) {
+        DPRINT << ": canceled";
+    }
+    else {
+        result = editor->text();
+        DPRINT << ": number "
+            << result;
+        if (result.count()) {
+            requestOK = true;
+        }
+        else {
+            CpPhoneNotes::instance()->showGlobalNote(m_activeNoteId, 
+                hbTrId("Enter number"), HbMessageBox::MessageTypeWarning);
+        }
+    }
+    delete dialog;
+    
+    DPRINT << ": OUT : requestOK :" << requestOK;
+    return requestOK;
+}
+
+/*!
+  CpDivertPluginGroup::setCallDiverting.
+ */
+void CpDivertPluginGroup::setCallDiverting(PSCallDivertingCommand& command)
+{
+    DPRINT << ": IN";
+    DPRINT << "iCondition:" << command.iCondition;
+    DPRINT << "iNoReplyTimer:" << command.iNoReplyTimer;
+    DPRINT << "iNumber:" << command.iNumber;
+    DPRINT << "iServiceGroup:" << command.iServiceGroup;
+    DPRINT << "iSetting:" << command.iSetting;
+    DPRINT << "iStatus:" << command.iStatus;
+    
+    int result = m_callDivertingWrapper->setCallDiverting(command, bscParam());
+    if (0 == result) {
+        if (!CpPhoneNotes::instance()->noteShowing()) {
+            CpPhoneNotes::instance()->showGlobalProgressNote(
+                    m_activeProgressNoteId, hbTrId("Requesting"));
+        }
+    } else {
+        handleDivertingError(result);
+    }
+    
+    DPRINT << ": OUT ";
+}
+
+/*!
+  CpDivertPluginGroup::popUpTimerQuery.
+ */
+bool CpDivertPluginGroup::popUpTimerQuery(int &timeout) const
+{
+    DPRINT << ": IN";
+    
+    bool requestOK(false);
+    HbDialog *dialog = createDialog(hbTrId("Time out"));
+    HbListWidget *list = new HbListWidget(dialog);
+    addItemToListWidget(list, hbTrId("5 second"), 5 );
+    addItemToListWidget(list, hbTrId("10 second"), 10);
+    addItemToListWidget(list, hbTrId("15 second"), 15);
+    addItemToListWidget(list, hbTrId("20 second"), 20);
+    addItemToListWidget(list, hbTrId("25 second"), 25);
+    addItemToListWidget(list, hbTrId("30 second"), 30);
+    // Connect list item activation signal to close the popup
+    connect(
+        list, SIGNAL(activated(HbListWidgetItem*)), 
+        dialog, SLOT(close()));
+    // Sets the "Cancel"-action/button
+    HbAction *cancelAction = new HbAction(hbTrId("Cancel"));
+    dialog->setPrimaryAction(cancelAction);
+    dialog->setContentWidget(list);
+    // Launch popup and handle the response
+    if (dialog->exec() != cancelAction) {
+        // Update the view with selected text
+        if (list->currentItem()) {
+            timeout = list->currentItem()->data().toInt();
+        }
+        requestOK = true;
+    }
+    else {
+        DPRINT << ": Cancel";
+    }
+
+    disconnect(
+        list, SIGNAL(activated(HbListWidgetItem*)), 
+        dialog, SLOT(close()));
+    delete dialog;
+    
+    DPRINT << ": OUT : requestOK :" << requestOK;
+    return requestOK;
+}
+
+/*!
+  CpDivertPluginGroup::setbscParam.
+ */
+int CpDivertPluginGroup::bscParam()
+{
+    DPRINT << ": IN";
+
+    int bsc = AllTeleAndBearer;
+    int alsLine(AlsNotSupported);
+    m_ssSettingsWrapper->get(Als,alsLine);
+    DPRINT << ": alsLine " << alsLine;
+    if ((alsLine == AlsNotSupported) || (alsLine == AlsPrimary)) {
+        // Etelephony only activates voice service nothing else or causes
+        // voice service status request.
+        bsc = Telephony;
+    }
+    else { // ESSSettingsAlsAlternate
+        // EAltTele only activates alternate service nothing else or causes
+        // alternate service status request.
+        bsc = AltTele;
+    }
+    
+    DPRINT << ": OUT : bsc :" << bsc;
+    return bsc;
+}
+
+/*!
+  CpDivertPluginGroup::createDialog.
+ */
+HbDialog* CpDivertPluginGroup::createDialog( const QString& heading ) const
+{
+    DPRINT << ": IN";
+ 
+    HbDialog *dialog = new HbDialog();
+    dialog->setDismissPolicy(HbDialog::NoDismiss);
+    dialog->setTimeout(HbDialog::NoTimeout);
+    dialog->setHeadingWidget(new HbLabel(heading));
+    
+    DPRINT << ": OUT";
+    return dialog;
+}
+
+/*!
+  CpDivertPluginGroup::addItemToListWidget.
+ */
+void CpDivertPluginGroup::addItemToListWidget(HbListWidget* w,
+        const QString& item, const QString& data) const
+{
+    DPRINT << ": IN";
+ 
+    HbListWidgetItem* o = new HbListWidgetItem();
+    o->setText(item);
+    o->setData(data);
+    w->addItem(o);
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::addItemToListWidget.
+ */
+void CpDivertPluginGroup::addItemToListWidget(HbListWidget* w,
+        const QString& item, const int& data) const
+{
+    DPRINT << ": IN";
+ 
+    HbListWidgetItem* o = new HbListWidgetItem();
+    o->setText(item);
+    o->setData(data);
+    w->addItem(o);
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::updateDependentDivertOptions.
+  Updates statuses of diverts which are dependent from the status of some
+  other divert. Logic for dependent changes are:
+  1. Activation of all calls divert deactivates other diverts/puts them 
+  into quiescent state.
+  2. Deactivation of all calls divert enables diverts in quiescent state.
+  3. Not available option is an abstraction of CFB, CFNry, CFNrc diverts.
+     Enabling/disabling that options changes all the aforementioned diverts 
+     at once.
+*/
+void CpDivertPluginGroup::updateDependentDivertOptions()
+{
+    DPRINT << ": IN";
+    
+    // all calls divert activation deactivates automatically other diverts
+    QVariant itemState = m_DataItemAllVoiceCalls->contentWidgetData("state");
+    if ((itemState.isValid()) && 
+        (itemState.toInt() == CpDivertSelectionCustomitem::Enabled)) {
+        itemState = m_DataItemIfBusy->contentWidgetData("state");
+        if ((itemState.isValid()) && 
+            (itemState == CpDivertSelectionCustomitem::Enabled)) {
+            m_DataItemIfBusy->setContentWidgetData(
+                "state", CpDivertSelectionCustomitem::Deactivated);
+        }
+        
+        itemState = m_DataItemIfNotAnswered->contentWidgetData("state");
+        if ((itemState.isValid()) &&
+            (itemState == CpDivertSelectionCustomitem::Enabled)) {
+            m_DataItemIfNotAnswered->setContentWidgetData(
+                "state", CpDivertSelectionCustomitem::Deactivated);
+        }
+        
+        itemState = m_DataItemIfOutOfReach->contentWidgetData("state");
+        if ((itemState.isValid()) &&
+            (itemState == CpDivertSelectionCustomitem::Enabled)) {
+            m_DataItemIfOutOfReach->setContentWidgetData(
+                "state", CpDivertSelectionCustomitem::Deactivated);
+        }
+    }
+    
+    // update not available divert option
+    updateNotAvailableDivertOption();
+    
+    DPRINT << ": OUT";
+}
+
+/*!
+  CpDivertPluginGroup::updateNotAvailableDivertOption.
+ */
+void CpDivertPluginGroup::updateNotAvailableDivertOption()
+{
+    DPRINT << ": IN";
+    
+    // We must check that both states & numbers match amongst CFB, CRNry and 
+    // CFNrc before concluding that not available divert is enabled, because
+    // some networks may not return divert number for inactive diverts.
+    int cfbState = 
+        m_DataItemIfBusy->contentWidgetData("state").toInt();
+    int cfnryState = 
+        m_DataItemIfNotAnswered->contentWidgetData("state").toInt();
+    int cfnrcState = 
+        m_DataItemIfOutOfReach->contentWidgetData("state").toInt();
+    QVariant cfbNumber = 
+        m_DataItemIfBusy->contentWidgetData("number");
+    QVariant cfnryNumber = 
+        m_DataItemIfNotAnswered->contentWidgetData("number");
+    QVariant cfnrcNumber = 
+        m_DataItemIfOutOfReach->contentWidgetData("number");
+    
+    if ((cfbNumber == cfnryNumber) && (cfbNumber == cfnrcNumber) &&
+        (cfbState == cfnryState) && (cfbState == cfnrcState)) {
+        m_DataItemIfNotAvailable->setContentWidgetData(
+            "number", m_DataItemIfBusy->contentWidgetData("number"));
+        m_DataItemIfNotAvailable->setContentWidgetData(
+            "timeout", m_DataItemIfNotAnswered->contentWidgetData("timeout"));
+        m_DataItemIfNotAvailable->setContentWidgetData(
+            "state", m_DataItemIfBusy->contentWidgetData("state"));
+    } else {
+        m_DataItemIfNotAvailable->setContentWidgetData("number", "");
+        m_DataItemIfNotAvailable->setContentWidgetData("timeout", 0);
+        m_DataItemIfNotAvailable->setContentWidgetData(
+            "state", CpDivertSelectionCustomitem::Disabled);
+    }
+    
+    DPRINT << ": OUT";
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertplugingroup.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,243 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 CPDIVERTPLUGINGROUP_H
+#define CPDIVERTPLUGINGROUP_H
+
+#include <QMap>
+#include <QString>
+#include <QQueue>
+#include <hbdevicemessagebox.h>
+#include <cpsettingformitemdata.h>
+#include <psetcalldivertingwrapper.h>
+#include "cptelephonyutilsdefs.h"
+#include "cppluginlogging.h"
+
+
+class HbDataFormViewItem; 
+class PSetWrapper;
+class SsSettingsWrapper;
+class HbComboBox;
+class PSCallDivertingCommand;
+class HbListWidget;
+class CpDivertItemData;
+
+using namespace CpTelephonyUtils;
+
+/*!
+    \class CpDivertPluginGroup
+    \brief The class CpDivertPluginGroup defines items shown on UI. 
+ */
+class CpDivertPluginGroup : public CpSettingFormItemData
+{
+    Q_OBJECT
+
+    enum DivertRequest{
+        ActivateDivert = 0, 
+        DeactivateDivert, 
+        CheckDivertStatus
+    };  
+
+    class CpDivertRequestQueueItem
+    {
+    public:
+        DivertRequest request;
+        CpDivertItemData *item;
+    };
+    
+    
+public:
+
+    explicit CpDivertPluginGroup(CpItemDataHelper &helper);
+    
+    ~CpDivertPluginGroup();
+
+public slots:
+    
+    // PSetCallDivertingWrapper signal handling
+    /**
+     Set info request results
+     */
+    void handleDivertingChanged(
+            const PSCallDivertingCommand& aSetting, 
+            bool aPlural);
+    
+    /**
+     Get info request results
+     */
+    void handleDivertingStatus(
+        QList<PSCallDivertingStatus*>& divertList, 
+        bool plural);
+    
+    /**
+     Request failed.
+     */
+    void handleDivertingError(int aReason);
+
+    /**
+     Adaptation has handled previous request.
+     */
+    void divertRequestProcessed();
+    
+    /**
+     Slot which handles change requests according UI.
+     */
+    void changeDivertingStateRequested(CpDivertItemData &item);
+
+    /**
+     Slot which handles item updating when it is needed.
+     */
+    void itemShown(const QModelIndex& item);
+private:     
+    
+    /**
+     Creates group items.
+     */
+    void createVoiceCallItems();
+
+    /**
+     Creates group items.
+     */
+    void createVideoCallItems();
+    
+    /**
+     Creates group items.
+     */
+    void createVoIPCallItems();
+    
+    /**
+     Show to user divert number query list.
+     */
+    bool popUpVoiceNumberListQuery(
+            const QString& heading, QString& result);
+    
+    /**
+     Show to user number query.
+     */
+    bool popUpNumberEditor(
+            const QString& heading, QString& result);
+    
+    
+    /**
+     Send comand to psetwrappercalldiverting.
+     */
+    void setCallDiverting(PSCallDivertingCommand& command);
+    
+    /**
+     Show to user divert time out query list.
+     */
+    bool popUpTimerQuery(int &timeout) const;
+    
+    /**
+     Desides which bsc parameters to use.
+     */
+    int bscParam();
+    
+    /**
+     Adds divert data item for wanted parent.
+     */
+    void addDivertDataItem(CpDivertItemData* item, CpSettingFormItemData *parent);
+
+    /**
+     Process next divert request.
+     */
+    void processDivertingRequestQueue();
+
+    /**
+     Add new request to divert queue.
+     */
+    void addToDivertingRequestQueue(
+            DivertRequest request, 
+            CpDivertItemData &item);
+    
+    /**
+     Changes divertItemData data.
+     */
+    void changeItemData(
+            PsCallDivertingCondition condition, 
+            PsCallDivertingStatus status,
+            const QString& number, 
+            int timeout);
+    
+    /**
+     Reverts divertItemData data to the last known valid values.
+     */
+    void revertItemData(PsCallDivertingCondition condition);
+
+private:
+    
+    /**
+     Creates dialog with default parameters
+     */
+    HbDialog* createDialog( const QString& heading ) const;
+
+    /**
+     Adds item to given list widget
+     */
+    void addItemToListWidget(HbListWidget* w,
+        const QString& item, const QString& data) const;
+
+    /**
+     Adds item to given list widget
+     */
+    void addItemToListWidget(HbListWidget* w,
+        const QString& item, const int& data) const;
+
+    /**
+     Synchronizes content and status of divert options dependent from the 
+     status of some other divert.
+     */
+    void updateDependentDivertOptions();
+    
+    /**
+     Synchronizes content and status of not available divert option based on
+     statuses of CFB, CFNry and CFNrc.
+     */
+    void updateNotAvailableDivertOption();
+    
+private:   // data
+
+    // Setting wrappers 
+    PSetWrapper *m_pSetWrapper;
+    SsSettingsWrapper *m_ssSettingsWrapper;
+    
+    // Not own
+    PSetCallDivertingWrapper* m_callDivertingWrapper;
+
+    // Not owned objects
+    CpSettingFormItemData *m_csVoiceCallPage;
+    CpDivertItemData *m_DataItemAllVoiceCalls;
+    CpDivertItemData *m_DataItemIfBusy;
+    CpDivertItemData *m_DataItemIfNotAnswered;
+    CpDivertItemData *m_DataItemIfOutOfReach;
+    CpDivertItemData *m_DataItemIfNotAvailable;
+    int m_activeNoteId;
+    int m_activeProgressNoteId;
+
+    // To prevent adding vmbx number to defaultlist
+    bool m_divertToVoiceMailBox;
+
+    /**
+     Divert request queue
+     */
+    QQueue<CpDivertRequestQueueItem> m_divertRequestQueue;
+
+    CpItemDataHelper &m_helper;
+};
+
+#endif // CPDIVERTPLUGINGROUP_H
+
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectioncustomitem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "cpdivertselectioncustomitem.h"
+#include <hblabel.h>
+#include <hbcheckbox.h>
+#include <qgraphicsgridlayout.h>
+#include <cppluginlogging.h>
+
+
+CpDivertSelectionCustomitem::CpDivertSelectionCustomitem(
+        QGraphicsItem *parent /**=0*/,
+        Qt::WindowFlags wFlags /**=0*/):
+        HbWidget(parent, wFlags),
+        layout(NULL),
+        checkbox(NULL),
+        //numberValueLabel(NULL),
+        timeoutLabel(NULL),
+        timeoutValueLabel(NULL),
+        m_state(Disabled)
+{
+    DPRINT;
+
+    layout = new QGraphicsGridLayout(this);
+    layout->setSpacing(0);
+    layout->setContentsMargins(0,0,0,0);
+    layout->setRowMaximumHeight(0,0);
+    layout->setRowMaximumHeight(1,0);
+
+    checkbox = new HbCheckBox(this);
+    checkbox->setBackgroundItem(HbStyle::P_DataItemContentWidget_background);
+
+    HbStyle::setItemName(checkbox, "dataItem_ContentWidget");
+
+    layout->addItem(checkbox, 0, 0, 1, 2);
+
+    connect(checkbox,SIGNAL(clicked()), this, SIGNAL(clicked()));
+
+    //numberValueLabel = new HbLabel(this);
+    //layout->addItem(numberValueLabel, 0, 1);
+    //connect(numberValueLabel,SIGNAL(clicked()), this, SIGNAL(clicked()));
+
+    timeoutLabel = new HbLabel(this);
+    HbStyle::setItemName(timeoutLabel, "dataItem_ContentWidget");
+    timeoutLabel->setAlignment(Qt::AlignRight);
+    layout->addItem(timeoutLabel, 1, 0);
+
+    timeoutLabel->hide();
+    timeoutValueLabel = new HbLabel(this);
+    timeoutValueLabel->setBackgroundItem(HbStyle::P_DataItemContentWidget_background);
+    HbStyle::setItemName(timeoutValueLabel, "dataItem_ContentWidget");
+    timeoutValueLabel->hide();
+    layout->addItem(timeoutValueLabel, 1, 1);
+
+    setLayout(layout);
+}
+
+CpDivertSelectionCustomitem::~CpDivertSelectionCustomitem()
+{
+    DPRINT;
+}
+
+const QString CpDivertSelectionCustomitem::number() const
+{
+    DPRINT;
+    return checkbox->text();
+}
+
+void CpDivertSelectionCustomitem::setNumber( const QString& number )
+{
+    DPRINT << number;
+    
+    checkbox->setText(number);
+}
+
+int CpDivertSelectionCustomitem::timeout() const
+{
+    DPRINT;
+    return timeoutValueLabel->plainText().toInt();
+}
+
+void CpDivertSelectionCustomitem::setTimeout( int timeout)
+{
+    DPRINT << timeout;
+    timeoutValueLabel->setPlainText(QString::number(timeout));
+}
+
+const QString CpDivertSelectionCustomitem::timeoutText() const
+{
+    DPRINT;
+    return timeoutLabel->plainText();
+}
+
+void CpDivertSelectionCustomitem::setTimeoutText( const QString& text )
+{
+    DPRINT << text;
+    timeoutLabel->setPlainText(text);
+
+    if (text != QString("")) {
+        timeoutLabel->show();
+        timeoutValueLabel->show();
+
+    } else {
+        timeoutLabel->hide();
+        timeoutValueLabel->hide();
+    }
+}
+
+int CpDivertSelectionCustomitem::state() const
+{
+    DPRINT << m_state;
+    
+    return m_state;
+}
+
+void CpDivertSelectionCustomitem::setState(int state)
+{
+    DPRINT << state;
+    
+    m_state = state;
+    
+    updateCheckState();
+}
+
+void CpDivertSelectionCustomitem::updateCheckState()
+{
+    DPRINT << m_state;
+    
+    switch (m_state) {
+        case Enabled:
+            checkbox->setCheckState(Qt::Checked);
+            break;
+        case Deactivated:
+            setNumber(QString(""));
+            setTimeout(0);
+			//intended fall-through
+        case Disabled:
+            checkbox->setCheckState(Qt::Unchecked);
+            break;
+        default:
+            break;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectioncustomitem.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 CPDIVERTSELECTIONCUSTOMITEM_H
+#define CPDIVERTSELECTIONCUSTOMITEM_H
+
+#include <hbwidget.h>
+
+class QGraphicsGridLayout;
+class HbCheckBox;
+class HbLabel;
+
+class CpDivertSelectionCustomitem : public HbWidget
+{
+    Q_OBJECT
+    Q_PROPERTY(QString number READ number WRITE setNumber)
+    Q_PROPERTY(QString timeoutText READ timeoutText WRITE setTimeoutText)
+    Q_PROPERTY(int timeout READ timeout WRITE setTimeout)
+    Q_PROPERTY(int state READ state WRITE setState)
+
+public:    
+    enum State {
+        /** Divert is registered and activated.*/
+        Enabled,
+        /** Divert is registered but inactive.*/
+        Deactivated,
+        /** Divert is not registered.*/
+        Disabled
+    };
+
+public:
+    CpDivertSelectionCustomitem(
+            QGraphicsItem *parent=0,
+            Qt::WindowFlags wFlags=0);
+
+    ~CpDivertSelectionCustomitem();
+
+    const QString number() const;
+
+    void setNumber( const QString& number );
+
+    int timeout() const;
+
+    void setTimeout( int timeout);
+
+    const QString timeoutText() const;
+
+    void setTimeoutText( const QString& text );
+    
+    int state() const;
+
+    void setState( int state);
+    
+signals:
+    void clicked();
+
+private:
+    void removeItemFromLayout( QGraphicsWidget* item );
+    void updateCheckState();
+
+private:
+    QGraphicsGridLayout *layout;
+    HbCheckBox *checkbox;
+    //HbLabel *numberValueLabel;
+    HbLabel *timeoutLabel;
+    HbLabel *timeoutValueLabel;
+    int m_state;
+};
+
+#endif // CPDIVERTSELECTIONCUSTOMITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectionitem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "cpdivertselectionitem.h"
+#include "cpdivertselectioncustomitem.h"
+#include <HbDataFormModel>
+#include <HbAbstractItemView>
+#include <cppluginlogging.h>
+#include <qmetaobject.h>
+
+
+
+CpDivertSelectionItem::CpDivertSelectionItem(QGraphicsItem *parent )
+: HbDataFormViewItem(parent)
+{
+    DPRINT;
+}
+
+CpDivertSelectionItem::~CpDivertSelectionItem()
+{
+    DPRINT;
+}
+
+HbAbstractViewItem* CpDivertSelectionItem::createItem()
+{
+    DPRINT;
+    return new CpDivertSelectionItem(*this);
+}
+
+bool CpDivertSelectionItem::canSetModelIndex(const QModelIndex &index) const
+{
+    DPRINT << "index:" << index;
+    int type = index.data(HbDataFormModelItem::ItemTypeRole).toInt();
+    return type == CpDivertSelectionItemId;
+}
+
+HbWidget *CpDivertSelectionItem::createCustomWidget()
+{
+    DPRINT << ": IN";
+
+    int type = modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt();
+
+    if (type == CpDivertSelectionItemId) {
+            CpDivertSelectionCustomitem *retWidget =
+                    new CpDivertSelectionCustomitem(this);
+
+            DPRINT << ": OUT, retWidget";
+            return retWidget;
+    }
+    DPRINT << ": OUT, 0";
+    return 0;
+}
+
+
+void CpDivertSelectionItem::restore()
+{
+    HbDataFormViewItem::restore();
+
+    if (dataItemContentWidget()) {
+        HbDataFormModelItem::DataItemType itemType = static_cast<HbDataFormModelItem::DataItemType>(
+            modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+        if (CpDivertSelectionItemId == itemType) {
+
+            QModelIndex itemIndex = modelIndex();
+            HbDataFormModel *model = static_cast<HbDataFormModel*>(itemView()->model());
+            HbDataFormModelItem *modelItem = static_cast<HbDataFormModelItem*>(
+                model->itemFromIndex(itemIndex));
+
+            const QMetaObject *metaObj = dataItemContentWidget()->metaObject();
+            int count = metaObj->propertyCount();
+            for (int i = 0; i < count; i++) {
+                QMetaProperty metaProperty = metaObj->property(i);
+                if (metaProperty.isValid() && metaProperty.isWritable()) {
+                    metaProperty.write(
+                            dataItemContentWidget(),
+                            modelItem->contentWidgetData(metaProperty.name()));
+                }
+            }
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertselectionitem.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 CPDIVERTSELECTIONITEM_H
+#define CPDIVERTSELECTIONITEM_H
+
+#include <hbdataformviewitem.h>
+#include <hbdataformmodelitem.h>
+
+
+class CpDivertSelectionItem : public HbDataFormViewItem
+{
+    Q_OBJECT
+public:
+    enum { CpDivertSelectionItemId = HbDataFormModelItem::CustomItemBase + 66 };
+
+    explicit CpDivertSelectionItem(QGraphicsItem *parent = 0);
+    virtual ~CpDivertSelectionItem();
+    virtual HbAbstractViewItem* createItem();
+    virtual bool canSetModelIndex(const QModelIndex &index) const;
+    void restore();
+protected:
+    virtual HbWidget* createCustomWidget();
+};
+
+#endif //CPDIVERTSELECTIONITEM_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/run_auto_tests_qt.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,195 @@
+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\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+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 INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL=abld build winscw udeb -keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+
+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
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=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
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+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
+call qmake
+call bldmake bldfiles
+call abld clean winscw udeb
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+echo Expected user interactions!
+echo 1) User cancels
+echo 2) User selects vmb and inserts number
+echo 3) User selects one of the default numbers
+echo 4) User selects other number, inserts number and cancels
+echo 5) User selects othernumber and find
+echo 6) User selects other number and inserts number and timeout
+echo 7) User selects default number and and cancels in timeout query
+for /f %%a in ('dir /b ut_*') do call %PATH_TO_DLL%\%%a.exe -- 
+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 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/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/qtestmains60ui.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+char *new_argv[3];
+HbMainWindow *mainWindow;
+#define QTEST_MAIN_S60UI(TestObject) \
+int main(int argc, char *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(); \
+\
+HbApplication *app = new HbApplication(argc, argv); \
+TestObject tc; \
+QResource::registerResource("../hbcore.rcc"); \
+mainWindow = new HbMainWindow;\
+mainWindow->show(); \
+int ret = QTest::qExec(&tc, 3, new_argv); \
+delete mainWindow; \
+delete app; \
+return ret; \
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,529 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_cpdivertplugin.h"
+#include "qtestmains60ui.h"
+#include <psetcalldivertingwrapper.h>
+#include <hbdialog.h>
+#include <qaction>
+#include <hblabel.h>
+#include <HbListWidgetItem>
+#include <HbListWidget>
+#include <HbDialog>
+#include <HbLineEdit>
+#include <HbAbstractViewItem>
+#include <HbDataFormModel>
+#include "cpitemdatahelper.h"
+#include "cpdivertitemdata.h"
+#include "psetwrappertypes.h"
+
+#define private public
+#include "cpdivertplugin.h"
+#include "cpdivertplugingroup.h"
+
+
+
+Q_EXTERN_C const char * qt_plugin_query_verification_data();
+Q_EXTERN_C ::QObject *  qt_plugin_instance();
+
+class CPsetContainer
+{
+public:
+    CPsetContainer(){};
+    ~CPsetContainer(){};
+};
+
+/*!
+  UT_CpDivertPlugin::UT_CpDivertPlugin
+ */
+UT_CpDivertPlugin::UT_CpDivertPlugin() 
+    : m_divertplugin(NULL)
+{
+    const char * verificationData = qt_plugin_query_verification_data();
+}
+
+/*!
+  UT_CpDivertPlugin::~UT_CpDivertPlugin
+ */
+UT_CpDivertPlugin::~UT_CpDivertPlugin()
+{
+    delete m_divertplugin;
+}
+
+/*!
+  UT_CpDivertPlugin::init
+ */
+void UT_CpDivertPlugin::init()
+{
+    initialize();
+
+    CPsetContainer tmpPsetContainer;
+    PSetCallDivertingWrapper *tmpDivWrapper = 
+            new PSetCallDivertingWrapper(tmpPsetContainer, this);
+    expect("PSetWrapper::callDivertingWrapper").returns(tmpDivWrapper); // FIXME to mock framework
+    m_divertplugin = (CpDivertPlugin*)qt_plugin_instance();
+    
+    QVERIFY(m_divertplugin);
+    
+    m_helper = new CpItemDataHelper;
+    m_divertpluginGroup = qobject_cast<CpDivertPluginGroup *>(
+            m_divertplugin->createSettingFormItemData(*m_helper));
+    QVERIFY(m_divertpluginGroup);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpDivertPlugin::cleanup
+ */
+void UT_CpDivertPlugin::cleanup()
+{
+    reset();
+    
+    delete m_divertplugin;
+    m_divertplugin = NULL;
+    
+    delete m_divertpluginGroup;
+    m_divertpluginGroup = NULL;
+    
+    delete m_helper;
+    m_helper = NULL;
+}
+
+/*!
+  UT_CpDivertPlugin::t_memleak
+ */
+void UT_CpDivertPlugin::t_memleak()
+{
+    
+}
+
+/*!
+  UT_CpDivertPlugin::t_createSettingFormItemData
+ */
+void UT_CpDivertPlugin::t_createSettingFormItemData()
+{
+    CpItemDataHelper itemDataHelper;
+    CPsetContainer tmpContainer;
+    PSetCallDivertingWrapper tmpDivWrapper(tmpContainer); 
+    
+    expect("PSetWrapper::callDivertingWrapper").returns(&tmpDivWrapper); 
+    
+    CpDivertPlugin* p = (CpDivertPlugin*)qt_plugin_instance();
+    CpSettingFormItemData *pSettingFormItemData = p->createSettingFormItemData(itemDataHelper);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpDivertPlugin::t_changeDivertingStateRequested
+ */
+void UT_CpDivertPlugin::t_changeDivertingStateRequested()
+{
+    //except user cancels
+    appendAction("All voice calls:", selectAction, "Cancel");
+    expect("PSetCallDivertingWrapper::getDefaultNumbers");
+    m_divertpluginGroup->m_DataItemAllVoiceCalls->setContentWidgetData("number", "");
+    m_divertpluginGroup->m_DataItemAllVoiceCalls->thisItemClicked();
+    QVERIFY(verify());
+    
+    //except user selects vmb and inserts number
+    appendAction("All voice calls:", selectItem, "Voice mail box");
+    appendAction("Voice mail box number:", insertText, "12345");
+    appendAction("Voice mail box number:", selectAction, "OK");
+     expect("PSetCallDivertingWrapper::getDefaultNumbers");
+    expect("SsSettingsWrapper::get");
+    expect("PSetCallDivertingWrapper::setCallDiverting");
+    expect("CpPhoneNotes::noteShowing").returns(false);
+    expect("CpPhoneNotes::showGlobalProgressNote");
+    m_divertpluginGroup->m_DataItemAllVoiceCalls->thisItemClicked();
+    PSCallDivertingCommand command;
+    command.iNumber = "12345";
+    command.iStatus = DivertingStatusActive;
+    command.iCondition = m_divertpluginGroup->m_DataItemAllVoiceCalls->condition();
+    expect("CpPhoneNotes::showGlobalNote");
+    m_divertpluginGroup->handleDivertingChanged(command, false);
+    expect("CpPhoneNotes::cancelNote");
+    m_divertpluginGroup->divertRequestProcessed();
+    QVERIFY(verify());
+
+    //except user selects one of the default numbers
+    m_divertpluginGroup->m_DataItemAllVoiceCalls->setContentWidgetData("number","");
+    appendAction("All voice calls:", selectItem, "0401234567");
+    expect("PSetCallDivertingWrapper::getDefaultNumbers");
+    expect("SsSettingsWrapper::get");
+    expect("PSetCallDivertingWrapper::setCallDiverting");
+    expect("CpPhoneNotes::noteShowing").returns(false);
+    expect("CpPhoneNotes::showGlobalProgressNote");
+    m_divertpluginGroup->m_DataItemAllVoiceCalls->thisItemClicked();
+    command.iNumber = "0401234567";
+    command.iStatus = DivertingStatusActive;
+    command.iCondition = m_divertpluginGroup->m_DataItemAllVoiceCalls->condition();
+    expect("CpPhoneNotes::cancelNote");
+    expect("CpPhoneNotes::showGlobalNote");
+    expect("PSetCallDivertingWrapper::setNewDefaultNumber").with(QString("0401234567"));
+    expect("Tools::voipSupported").returns(false);
+    m_divertpluginGroup->handleDivertingChanged(command, true);
+    expect("CpPhoneNotes::cancelNote");
+    m_divertpluginGroup->divertRequestProcessed();
+    QVERIFY(verify());
+    
+    // Divert is disabled
+    expect("SsSettingsWrapper::get");
+    expect("PSetCallDivertingWrapper::setCallDiverting"); // Disable divert
+    expect("CpPhoneNotes::noteShowing").returns(false);
+    expect("CpPhoneNotes::showGlobalProgressNote");
+    m_divertpluginGroup->m_DataItemAllVoiceCalls->thisItemClicked();
+    command.iNumber = "";
+    command.iStatus = DivertingStatusInactive;
+    command.iCondition = m_divertpluginGroup->m_DataItemAllVoiceCalls->condition();
+    expect("CpPhoneNotes::showGlobalNote");
+    m_divertpluginGroup->handleDivertingChanged(command, false);
+    expect("CpPhoneNotes::cancelNote");
+    m_divertpluginGroup->divertRequestProcessed();
+    QVERIFY(verify());
+    
+    //except user selects other number, inserts number and cancels
+    appendAction("All voice calls:", selectItem, "Other number");
+    appendAction("Number:", insertText, "12345");
+    appendAction("Number:", selectAction, "Cancel");
+    expect("PSetCallDivertingWrapper::getDefaultNumbers");
+    m_divertpluginGroup->m_DataItemAllVoiceCalls->thisItemClicked();
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpDivertPlugin::t_itemShown
+ */
+void UT_CpDivertPlugin::t_itemShown()
+{
+    HbDataFormModel* model = 
+            qobject_cast<HbDataFormModel*>(m_divertpluginGroup->model());
+    
+    expect("PSetCallDivertingWrapper::getCallDivertingStatus");
+    expect("CpPhoneNotes::noteShowing").returns(false);
+    expect("CpPhoneNotes::showGlobalProgressNote");
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemAllVoiceCalls));
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemIfBusy));
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemIfNotAnswered));
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemIfOutOfReach));
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemIfNotAvailable));
+    
+    QList<PSCallDivertingStatus*> list;
+    PSCallDivertingStatus divertStatus;
+    list.append(&divertStatus);
+    divertStatus.iCondition = m_divertpluginGroup->m_DataItemAllVoiceCalls->condition();
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    m_divertpluginGroup->divertRequestProcessed();
+    divertStatus.iCondition = m_divertpluginGroup->m_DataItemIfBusy->condition();
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    m_divertpluginGroup->divertRequestProcessed();
+    divertStatus.iCondition = m_divertpluginGroup->m_DataItemIfNotAnswered->condition();
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    m_divertpluginGroup->divertRequestProcessed();
+    divertStatus.iCondition = m_divertpluginGroup->m_DataItemIfOutOfReach->condition();
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    m_divertpluginGroup->divertRequestProcessed();
+    divertStatus.iCondition = m_divertpluginGroup->m_DataItemIfNotAvailable->condition();
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    m_divertpluginGroup->divertRequestProcessed();
+    
+    m_divertpluginGroup->divertRequestProcessed(); // Test overflow
+
+    // Test, Do not check status again
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemAllVoiceCalls));
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemIfBusy));
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemIfNotAnswered));
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemIfOutOfReach));
+    m_divertpluginGroup->itemShown(
+            model->indexFromItem(m_divertpluginGroup->m_DataItemIfNotAvailable));
+    
+
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpDivertPlugin::t_popUpTimerQuery
+ */
+void UT_CpDivertPlugin::t_popUpTimerQuery()
+{
+    appendAction("If not answered:", selectItem, "0401234567");
+    appendAction("Time out", selectAction, "Cancel");
+    expect("PSetCallDivertingWrapper::getDefaultNumbers");
+    m_divertpluginGroup->m_DataItemIfNotAnswered->thisItemClicked();
+    QVERIFY(verify());
+    
+    appendAction("If not answered:", selectItem, "Other number");
+    appendAction("Number:", insertText, "12345");
+    appendAction("Number:", selectAction, "OK");
+    appendAction("Time out", selectItem, "15 second");
+    //except user chooses other number and inserts number and timeout
+    expect("PSetCallDivertingWrapper::getDefaultNumbers");    
+    expect("SsSettingsWrapper::get");
+    expect("PSetCallDivertingWrapper::setCallDiverting");
+    m_divertpluginGroup->m_DataItemIfNotAnswered->thisItemClicked();
+    PSCallDivertingCommand command;
+    command.iNumber = "12345";
+    command.iNoReplyTimer = 15;
+    command.iStatus = DivertingStatusActive;
+    command.iCondition = m_divertpluginGroup->m_DataItemIfNotAnswered->condition();
+    expect("CpPhoneNotes::showGlobalNote");
+    m_divertpluginGroup->handleDivertingChanged(command, false);
+    expect("CpPhoneNotes::cancelNote");
+    m_divertpluginGroup->divertRequestProcessed();
+    QVERIFY(verify());
+    
+    expect("SsSettingsWrapper::get");
+    expect("PSetCallDivertingWrapper::setCallDiverting");
+    m_divertpluginGroup->m_DataItemIfNotAnswered->thisItemClicked();
+    command.iNumber = "";
+    command.iNoReplyTimer = 0;
+    command.iStatus = DivertingStatusInactive;
+    command.iCondition = m_divertpluginGroup->m_DataItemIfNotAnswered->condition();
+    expect("CpPhoneNotes::showGlobalNote");
+    m_divertpluginGroup->handleDivertingChanged(command, false);
+    expect("CpPhoneNotes::cancelNote");
+    m_divertpluginGroup->divertRequestProcessed();
+    QVERIFY(verify());
+
+}
+
+/*!
+  UT_CpDivertPlugin::t_handleDivertingChanged
+ */
+void UT_CpDivertPlugin::t_handleDivertingChanged()
+{
+    PSCallDivertingCommand c;
+    
+    c.iStatus = DivertingStatusActive;
+    bool bRet = false;
+    expect("PSetCallDivertingWrapper::setNewDefaultNumber");
+    expect("Tools::voipSupported").returns(bRet);
+    m_divertpluginGroup->handleDivertingChanged(c, true);
+    
+    expect("PSetCallDivertingWrapper::setNewDefaultNumber");
+    bRet = true;
+    c.iServiceGroup = ServiceGroupVoice;
+    expect("Tools::voipSupported").returns(bRet);
+    m_divertpluginGroup->handleDivertingChanged(c, false);
+    
+    c.iStatus = DivertingStatusInactive;
+    m_divertpluginGroup->handleDivertingChanged(c, true);
+    m_divertpluginGroup->handleDivertingChanged(c, false);
+    
+    c.iStatus = DivertingStatusNotRegistered;
+    m_divertpluginGroup->handleDivertingChanged(c, true);
+    
+    c.iStatus = DivertingStatusNotProvisioned;
+    m_divertpluginGroup->handleDivertingChanged(c, true);
+    
+    c.iStatus = DivertingStatusUnknown;
+    m_divertpluginGroup->handleDivertingChanged(c, true);
+    
+    c.iStatus = (PsCallDivertingStatus)5;
+    m_divertpluginGroup->handleDivertingChanged(c, true);
+    
+    QVERIFY(verify());
+}
+
+/*!
+  UT_CpDivertPlugin::t_handleDivertingStatus
+ */
+void UT_CpDivertPlugin::t_handleDivertingStatus()
+{
+    QList<PSCallDivertingStatus*> list;
+    PSCallDivertingStatus divertStatus;
+    
+    divertStatus.iTimeout =5;
+    divertStatus.iStatus = DivertingStatusActive;
+    list.append(&divertStatus);
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    divertStatus.iTimeout =0;
+    list.replace(0, &divertStatus);
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    
+    divertStatus.iStatus = DivertingStatusInactive;
+    list.replace(0, &divertStatus);
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    
+    divertStatus.iStatus = DivertingStatusNotRegistered;
+    list.replace(0, &divertStatus);
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    m_divertpluginGroup->handleDivertingStatus(list, false);
+    
+    divertStatus.iStatus = DivertingStatusNotProvisioned;
+    list.replace(0, &divertStatus);
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    
+    divertStatus.iStatus = DivertingStatusUnknown;
+    list.replace(0, &divertStatus);
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+    
+    divertStatus.iStatus = (PsCallDivertingStatus)5;
+    list.replace(0, &divertStatus);
+    m_divertpluginGroup->handleDivertingStatus(list, true);
+
+}
+
+/*!
+  UT_CpDivertPlugin::t_handleDivertingError
+ */
+void UT_CpDivertPlugin::t_handleDivertingError()
+{
+    m_divertpluginGroup->handleDivertingError(-1);
+}
+
+/*!
+  UT_CpDivertPlugin::appendAction
+ */
+void UT_CpDivertPlugin::appendAction(
+        const QString& dialog, actionType actionType, const QString& action)
+{
+    if (!actionQueue.count()) {
+        startTimer(2000);
+    }
+    actionQueue.append(new dialogAction(dialog, actionType, action));
+}
+
+/*!
+  UT_CpDivertPlugin::executeAction
+ */
+void UT_CpDivertPlugin::executeAction( const dialogAction &action )
+{
+    switch (action.type) {
+    case selectAction:
+        doAndVerifyAction(action.dialog, action.item);
+        break;
+    case selectItem:
+        selectItemFromListWidget(action.dialog, action.item);
+        break;
+    case insertText:
+        HbDialog *dialog = visibleDialog(action.dialog);
+        QVERIFY( dialog );
+        HbLineEdit* editor = qobject_cast<HbLineEdit*>(
+                dialog->contentWidget() );
+        QVERIFY( editor );
+        editor->setText(action.item);
+        break;
+    default:
+        break;
+    }
+}
+
+/*!
+  UT_CpDivertPlugin::visibleDialog
+ */
+HbDialog *UT_CpDivertPlugin::visibleDialog( const QString &heading )
+{
+    QList<QGraphicsItem*> items = mainWindow->scene()->items();
+    foreach (QGraphicsItem* item, items) {
+        HbDialog *w = qobject_cast<HbDialog*>(item->parentWidget());
+        if (w && w->isVisible() && ( qobject_cast<HbLabel*>(w->headingWidget())->plainText() == heading )) {
+            qDebug() << "visibleDialog: " << w->getStaticMetaObject().className() <<
+                    "contentWidget: " << w->contentWidget()->getStaticMetaObject().className();
+            return w;
+        }
+    }
+    
+    return 0;
+}
+
+/*!
+  UT_CpDivertPlugin::selectItemFromListWidget
+ */
+void UT_CpDivertPlugin::selectItemFromListWidget(
+        const QString& dialog, const QString& item )
+{
+    HbDialog* d = visibleDialog(dialog);
+    QVERIFY(d);
+    HbListWidget *list = qobject_cast<HbListWidget*>(d->contentWidget());
+    QVERIFY(list);
+    
+    bool ok=true;
+    HbListWidgetItem *itemObject = 0;
+    for (int i=0; i < list->count();i++) {
+        itemObject = list->item(i);
+        if (itemObject->text() == item) {
+            ok=true;
+            QSignalSpy spy( d, SIGNAL(aboutToClose()));
+            list->setCurrentItem(itemObject);
+            d->close();
+            qDebug() << "selectItemFromListWidget: " << itemObject->text();
+            while (!spy.count()) {
+                QTest::qWait(50);
+            }
+            QTest::qWait(50);
+        }
+        
+    }
+    
+    QVERIFY(ok);
+}
+
+/*!
+  UT_CpDivertPlugin::doAndVerifyAction
+ */
+void UT_CpDivertPlugin::doAndVerifyAction(
+        const QString& dialog, const QString& action )
+{
+    HbDialog* d = visibleDialog(dialog);
+    QVERIFY(d);
+    
+    QAction* o;
+    bool ok=false;
+    foreach (o, d->actions()) {
+        if (o->text() == action) {
+            ok=true;
+            QSignalSpy spy( d, SIGNAL(aboutToClose()));
+            o->trigger();
+            qDebug() << "doAndVerifyAction: " << o->text();
+            while (!spy.count()) {
+                QTest::qWait(50);
+            }
+            QTest::qWait(50);
+        }
+    }
+    QVERIFY(ok);
+}
+
+/*!
+  UT_CpDivertPlugin::timerEvent
+ */
+void UT_CpDivertPlugin::timerEvent(
+        QTimerEvent* event )
+{
+    QString currentTest(QTest::currentTestFunction());
+    qDebug() << "timerEvent:" << currentTest;
+    killTimer(event->timerId());
+    executeAction(*actionQueue.takeFirst());
+    if (actionQueue.count()) {
+        startTimer(1000);
+    }
+
+    qDebug() << "timerEvent, OUT";
+}
+
+QTEST_MAIN_S60UI(UT_CpDivertPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_CPTELEPHONYPLUGIN_H
+#define UT_CPTELEPHONYPLUGIN_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpDivertPlugin;
+class CpDivertPluginGroup;
+class CpItemDataHelper;
+class HbDialog;
+
+class UT_CpDivertPlugin : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpDivertPlugin();
+    ~UT_CpDivertPlugin();
+    
+private slots:
+
+    void init();
+    
+    void t_createSettingFormItemData();
+
+    void t_changeDivertingStateRequested();
+    
+    void t_itemShown();
+    void t_popUpTimerQuery();
+    
+    void t_handleDivertingChanged();
+    void t_handleDivertingStatus();
+    void t_handleDivertingError();
+    
+    void cleanup();
+    
+    void t_memleak();
+    
+private:
+    
+    enum actionType {
+        selectAction,
+        selectItem,
+        insertText
+    };
+    
+    class dialogAction {
+    public:
+        dialogAction( const QString& d, actionType t, const QString& i )
+        {
+            dialog = d;
+            type = t;
+            item = i;
+        }
+        
+        QString dialog;
+        actionType type;
+        QString item;
+    };
+    
+private:
+    void appendAction(const QString& dialog, actionType actionType, const QString& action);
+    void executeAction( const dialogAction &action );
+    HbDialog *visibleDialog( const QString &heading );
+    void doAndVerifyAction( const QString& dialog, const QString& action );
+    void selectItemFromListWidget( const QString& dialog, const QString& item );
+    void timerEvent( QTimerEvent* event );
+    
+private:
+
+    CpDivertPlugin *m_divertplugin;
+    CpDivertPluginGroup *m_divertpluginGroup;
+    CpItemDataHelper *m_helper;
+
+    QQueue<dialogAction*> actionQueue;
+    
+};
+
+#endif // UT_CPTELEPHONYPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertplugin/ut_cpdivertplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,65 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH +=../../../cptelephonyutils/inc
+DEFINES += BUILD_CPTELEPHONYUTILS BUILD_PSETWRAPPER BUILD_SSSETTINGSWRAPPER 
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  #CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  
+  LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework
+}
+
+# test code
+HEADERS += ut_cpdivertplugin.h
+SOURCES += ut_cpdivertplugin.cpp
+
+# code to be tested
+HEADERS += ../../src/cpdivertplugin.h \
+           ../../src/cpdivertplugingroup.h \
+           ../../src/cpdivertitemdata.h \
+           ../../src/cpdivertselectionitem.h \
+           ../../../cptelephonyutils/inc/cpphonenotes.h \
+           ../../../cptelephonyutils/inc/cpplugincommon.h \
+           /epoc32/include/platform/mw/psetwrapper.h \
+           /epoc32/include/platform/mw/psetcliwrapper.h \
+           /epoc32/include/platform/mw/psetcallwaitingwrapper.h \
+           /epoc32/include/platform/mw/psetcalldivertingwrapper.h \
+           /epoc32/include/platform/mw/psetnetworkwrapper.h \
+           /epoc32/include/platform/mw/sssettingswrapper.h 
+           
+SOURCES += ../../src/cpdivertplugin.cpp \
+           ../../src/cpdivertplugingroup.cpp \
+           ../../src/cpdivertitemdata.cpp
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cpdivertselectionitem.cpp \
+           ../../../tsrc/mocks/mock_psetcalldivertingwrapper.cpp \
+           ../../../tsrc/mocks/mock_sssettingswrapper.cpp \
+           ../../../tsrc/mocks/mock_cpplugincommon.cpp \
+           ../../../tsrc/mocks/mock_cpphonenotes.cpp \
+           ../../../tsrc/mocks/mock_psetwrapper.cpp 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/qtestmains60ui.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+char *new_argv[3];
+HbMainWindow *mainWindow;
+#define QTEST_MAIN_S60UI(TestObject) \
+int main(int argc, char *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(); \
+\
+HbApplication *app = new HbApplication(argc, argv); \
+TestObject tc; \
+QResource::registerResource("../hbcore.rcc"); \
+mainWindow = new HbMainWindow;\
+mainWindow->show(); \
+int ret = QTest::qExec(&tc, 3, new_argv); \
+delete mainWindow; \
+delete app; \
+return ret; \
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,158 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_cpdivertselectionitem.h"
+#include "qtestmains60ui.h"
+#include <HbDataFormModel>
+#include <HbWidget>
+#include <HbDataForm>
+#include "cpdivertselectioncustomitem.h"
+
+#define protected public
+#define private public
+#include "cpdivertselectionitem.h"
+
+
+
+/*!
+  UT_CpDivertSelectionItem::UT_CpDivertSelectionItem
+ */
+UT_CpDivertSelectionItem::UT_CpDivertSelectionItem() 
+    : m_item(NULL)
+{
+
+}
+
+/*!
+  UT_CpDivertSelectionItem::~UT_CpDivertSelectionItem
+ */
+UT_CpDivertSelectionItem::~UT_CpDivertSelectionItem()
+{
+
+}
+
+/*!
+  UT_CpDivertSelectionItem::init
+ */
+void UT_CpDivertSelectionItem::init()
+{
+    initialize();
+    m_item = new CpDivertSelectionItem();
+    m_form = new HbDataForm;
+    m_form->setModel(new HbDataFormModel);
+    
+    QList<HbAbstractViewItem *> prototypes = m_form->itemPrototypes();
+    prototypes.append(m_item);
+    m_form->setItemPrototypes(prototypes);
+}
+
+/*!
+  UT_CpDivertSelectionItem::cleanup
+ */
+void UT_CpDivertSelectionItem::cleanup()
+{
+    reset();
+    if (m_form) {
+        delete m_form->model();
+    }
+    delete m_form;
+    m_form = NULL;
+}
+
+/*!
+  UT_CpDivertSelectionItem::t_memleak
+ */
+void UT_CpDivertSelectionItem::t_memleak()
+{
+    
+}
+
+/*!
+  UT_CpDivertSelectionItem::t_createItem
+ */
+void UT_CpDivertSelectionItem::t_createItem()
+{
+    delete m_item->createItem();
+}
+
+/*!
+  UT_CpDivertSelectionItem::t_canSetModelIndex
+ */
+void UT_CpDivertSelectionItem::t_canSetModelIndex()
+{
+    QModelIndex index = qobject_cast<HbDataFormModel*>(m_form->model())->indexFromItem(
+            qobject_cast<HbDataFormModel*>(m_form->model())->appendDataFormItem(
+                    HbDataFormModelItem::TextItem, "test"));
+    
+    QVERIFY( !m_item->canSetModelIndex(index) );
+
+    index = qobject_cast<HbDataFormModel*>(m_form->model())->indexFromItem(
+                qobject_cast<HbDataFormModel*>(m_form->model())->appendDataFormItem(
+                    static_cast<HbDataFormModelItem::DataItemType>(
+                            CpDivertSelectionItem::CpDivertSelectionItemId), 
+                            "test2"));
+    
+    QVERIFY( m_item->canSetModelIndex(index) );
+}
+
+/*!
+  UT_CpDivertSelectionItem::t_restore
+ */
+void UT_CpDivertSelectionItem::t_restore()
+{
+    m_item->restore();
+}
+
+/*!
+  UT_CpDivertSelectionItem::t_createCustomWidget
+ */
+void UT_CpDivertSelectionItem::t_createCustomWidget()
+{
+    QVERIFY( !m_item->createCustomWidget() );
+    
+    QModelIndex index = qobject_cast<HbDataFormModel*>(m_form->model())->indexFromItem(
+            qobject_cast<HbDataFormModel*>(m_form->model())->appendDataFormItem(
+                    static_cast<HbDataFormModelItem::DataItemType>(
+                            CpDivertSelectionItem::CpDivertSelectionItemId), 
+                            "test3"));
+    
+    m_item->setModelIndex(index);
+    HbWidget *widget=NULL;
+    QVERIFY( widget = m_item->createCustomWidget() );
+    QVERIFY( widget->setProperty("number", "12345") );
+    QVERIFY( widget->property("number").toString() == QString("12345") );
+    
+    QVERIFY( widget->setProperty("timeoutText", "Delay:") );
+    QVERIFY( widget->property("timeoutText").toString() == QString("Delay:") );
+    
+    QVERIFY( widget->setProperty("timeout", "25") );
+    QVERIFY( widget->property("timeout").toInt() == 25 );
+    
+    QVERIFY( widget->setProperty("state", "0"));
+    QVERIFY( widget->property("state").toInt() 
+        == CpDivertSelectionCustomitem::Enabled);
+    QVERIFY( widget->setProperty("state", "1"));
+    QVERIFY( widget->property("state").toInt() 
+        == CpDivertSelectionCustomitem::Deactivated);
+    QVERIFY( widget->setProperty("state", "2"));
+    QVERIFY( widget->property("state").toInt() 
+        == CpDivertSelectionCustomitem::Disabled);
+    
+    delete widget;
+}
+
+QTEST_MAIN_S60UI(UT_CpDivertSelectionItem)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_CPDIVERTSELECTIONITEM_H
+#define UT_CPDIVERTSELECTIONITEM_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpDivertSelectionItem;
+class HbDataForm;
+
+class UT_CpDivertSelectionItem : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpDivertSelectionItem();
+    ~UT_CpDivertSelectionItem();
+    
+private slots:
+
+    void init();
+    
+    void cleanup();
+    
+    void t_memleak();
+    
+    void t_createItem();
+    void t_canSetModelIndex();
+    void t_restore();
+    void t_createCustomWidget();
+private:
+    // Not own
+    CpDivertSelectionItem *m_item;
+    
+    // Own
+    HbDataForm *m_form;
+    
+};
+
+#endif // UT_CPDIVERTSELECTIONITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/divertplugin/tsrc/ut_cpdivertselectionitem/ut_cpdivertselectionitem.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: Project file for building unit test component
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH +=../../../cptelephonyutils/inc
+DEFINES +=
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  #CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  
+  LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework
+}
+
+# test code
+HEADERS += ut_cpdivertselectionitem.h
+SOURCES += ut_cpdivertselectionitem.cpp
+
+# code to be tested
+HEADERS += ../../src/cpdivertselectioncustomitem.h \
+           ../../src/cpdivertselectionitem.h
+           
+SOURCES += ../../src/cpdivertselectioncustomitem.cpp \
+           ../../src/cpdivertselectionitem.cpp
+
+# mocks needed for testing
+SOURCES += 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/eabi/cptelephonyutilsu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,65 @@
+EXPORTS
+	_ZN12CpPhoneNotes10cancelNoteEi @ 1 NONAME
+	_ZN12CpPhoneNotes11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN12CpPhoneNotes11qt_metacastEPKc @ 3 NONAME
+	_ZN12CpPhoneNotes14showGlobalNoteERiRK7QStringN12HbMessageBox14MessageBoxTypeE @ 4 NONAME
+	_ZN12CpPhoneNotes16staticMetaObjectE @ 5 NONAME DATA 16
+	_ZN12CpPhoneNotes19getStaticMetaObjectEv @ 6 NONAME
+	_ZN12CpPhoneNotes19showGlobalErrorNoteERii @ 7 NONAME
+	_ZN12CpPhoneNotes20progressNoteCanceledEv @ 8 NONAME
+	_ZN12CpPhoneNotes20showBasicServiceListERK7QStringRK5QListIhE @ 9 NONAME
+	_ZN12CpPhoneNotes21launchNextNoteIfReadyEv @ 10 NONAME
+	_ZN12CpPhoneNotes21showCallDivertDetailsERK21PSCallDivertingStatus @ 11 NONAME
+	_ZN12CpPhoneNotes22activeNoteAboutToCloseEv @ 12 NONAME
+	_ZN12CpPhoneNotes22showGlobalProgressNoteERiRK7QString @ 13 NONAME
+	_ZN12CpPhoneNotes26handleProgressNoteCanceledEv @ 14 NONAME
+	_ZN12CpPhoneNotes30showBasicServiceCallDivertListERK7QStringRK5QListIP21PSCallDivertingStatusERiN16CpTelephonyUtils14CallDivertTypeERSB_ @ 15 NONAME
+	_ZN12CpPhoneNotes8instanceEv @ 16 NONAME
+	_ZN12CpPhoneNotesC1Ev @ 17 NONAME
+	_ZN12CpPhoneNotesC2Ev @ 18 NONAME
+	_ZN12CpPhoneNotesD0Ev @ 19 NONAME
+	_ZN12CpPhoneNotesD1Ev @ 20 NONAME
+	_ZN12CpPhoneNotesD2Ev @ 21 NONAME
+	_ZN17CpSettingsWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 22 NONAME
+	_ZN17CpSettingsWrapper11qt_metacastEPKc @ 23 NONAME
+	_ZN17CpSettingsWrapper16showCallDurationEv @ 24 NONAME
+	_ZN17CpSettingsWrapper16staticMetaObjectE @ 25 NONAME DATA 16
+	_ZN17CpSettingsWrapper18readSoftRejectTextER7QStringRb @ 26 NONAME
+	_ZN17CpSettingsWrapper19getStaticMetaObjectEv @ 27 NONAME
+	_ZN17CpSettingsWrapper19setShowCallDurationEb @ 28 NONAME
+	_ZN17CpSettingsWrapper19writeSoftRejectTextERK7QStringb @ 29 NONAME
+	_ZN17CpSettingsWrapper51isFeatureCallWaitingDistiquishNotProvisionedEnabledEv @ 30 NONAME
+	_ZN17CpSettingsWrapperC1EP7QObject @ 31 NONAME
+	_ZN17CpSettingsWrapperC2EP7QObject @ 32 NONAME
+	_ZN17CpSettingsWrapperD0Ev @ 33 NONAME
+	_ZN17CpSettingsWrapperD1Ev @ 34 NONAME
+	_ZN17CpSettingsWrapperD2Ev @ 35 NONAME
+	_ZN5Tools11qt_metacallEN11QMetaObject4CallEiPPv @ 36 NONAME
+	_ZN5Tools11qt_metacastEPKc @ 37 NONAME
+	_ZN5Tools12loadCpPluginERK7QString @ 38 NONAME
+	_ZN5Tools13voipSupportedEv @ 39 NONAME
+	_ZN5Tools14unloadCpPluginERK7QString @ 40 NONAME
+	_ZN5Tools14videoSupportedEv @ 41 NONAME
+	_ZN5Tools16staticMetaObjectE @ 42 NONAME DATA 16
+	_ZN5Tools19getStaticMetaObjectEv @ 43 NONAME
+	_ZN5Tools20errorCodeTextMappingEiR7QString @ 44 NONAME
+	_ZN5Tools28convertEtelMobileServiceCodeEi @ 45 NONAME
+	_ZNK12CpPhoneNotes10metaObjectEv @ 46 NONAME
+	_ZNK12CpPhoneNotes17formatPhoneNumberE7QString @ 47 NONAME
+	_ZNK12CpPhoneNotes21basicServiceGroupNameEN16CpTelephonyUtils18BasicServiceGroupsE @ 48 NONAME
+	_ZNK12CpPhoneNotes28convertEtelMobileServiceCodeEi @ 49 NONAME
+	_ZNK17CpSettingsWrapper10metaObjectEv @ 50 NONAME
+	_ZNK17CpSettingsWrapper14isPhoneOfflineEv @ 51 NONAME
+	_ZNK17CpSettingsWrapper15readCenrepValueElm @ 52 NONAME
+	_ZNK17CpSettingsWrapper16readCenrepStringElm @ 53 NONAME
+	_ZNK17CpSettingsWrapper16writeCenrepValueElmRK8QVariant @ 54 NONAME
+	_ZNK17CpSettingsWrapper23numberGroupingSupportedEv @ 55 NONAME
+	_ZNK5Tools10metaObjectEv @ 56 NONAME
+	_ZTI12CpPhoneNotes @ 57 NONAME
+	_ZTI17CpSettingsWrapper @ 58 NONAME
+	_ZTI5Tools @ 59 NONAME
+	_ZTV12CpPhoneNotes @ 60 NONAME
+	_ZTV17CpSettingsWrapper @ 61 NONAME
+	_ZTV5Tools @ 62 NONAME
+	_ZN12CpPhoneNotes11noteShowingEv @ 63 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/rom/cpphonesettingsplugins.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef __PHONESETTINGSPLUGINS_IBY__
+#define __PHONESETTINGSPLUGINS_IBY__
+
+#include <bldvariant.hrh>
+
+file=ABI_DIR/BUILD_DIR/cptelephonyutils.dll             SHARED_LIB_DIR/cptelephonyutils.dll
+file=ABI_DIR/BUILD_DIR/cptelephonyplugin.dll            SHARED_LIB_DIR/cptelephonyplugin.dll
+file=ABI_DIR/BUILD_DIR/cpcallsplugin.dll                SHARED_LIB_DIR/cpcallsplugin.dll
+file=ABI_DIR/BUILD_DIR/cpnetworkplugin.dll              SHARED_LIB_DIR/cpnetworkplugin.dll
+file=ABI_DIR/BUILD_DIR/cpdivertplugin.dll               SHARED_LIB_DIR/cpdivertplugin.dll
+file=ABI_DIR/BUILD_DIR/cpbarringplugin.dll              SHARED_LIB_DIR/cpbarringplugin.dll
+
+
+data=DATAZ_/resource/qt/plugins/controlpanel/cptelephonyplugin.qtplugin          resource/qt/plugins/controlpanel/cptelephonyplugin.qtplugin
+data=DATAZ_/resource/qt/plugins/controlpanel/cpcallsplugin.qtplugin              resource/qt/plugins/controlpanel/cpcallsplugin.qtplugin
+data=DATAZ_/resource/qt/plugins/controlpanel/cpnetworkplugin.qtplugin            resource/qt/plugins/controlpanel/cpnetworkplugin.qtplugin
+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
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/rom/cpphonesettingsplugins_resources.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 __PHONESETTINGSPLUGINS_RESOURCE_IBY__
+#define __PHONESETTINGSPLUGINS_RESOURCE_IBY__
+
+#include <data_caging_paths_for_iby.hrh>
+
+data=DATAZ_\QT_TRANSLATIONS_DIR\telephone_cp.qm QT_TRANSLATIONS_DIR\telephone_cp.qm 
+
+
+#endif 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 <cpsettingformentryitemdataimpl.h>
+#include <cpitemdatahelper.h>
+#include "cptelephonyplugin.h"
+#include "cptelephonypluginview.h"
+#include "cppluginlogging.h"
+
+CpTelephonyPlugin::CpTelephonyPlugin() : QObject(0)
+{
+    // Install plugin specific msg handler
+    INSTALL_TRACE_MSG_HANDLER;  
+
+    DPRINT; 
+}
+
+CpTelephonyPlugin::~CpTelephonyPlugin()
+{
+    DPRINT; 
+
+    // Uninstall plugin specific msg handler
+    UNINSTALL_TRACE_MSG_HANDLER; 
+}
+
+CpSettingFormItemData *CpTelephonyPlugin::createSettingFormItemData(
+    CpItemDataHelper &itemDataHelper) const
+{
+    DPRINT;
+    return new CpSettingFormEntryItemDataImpl<CpTelephonyPluginView>(
+            itemDataHelper, hbTrId("Telephony"), hbTrId(""));
+}
+
+Q_EXPORT_PLUGIN2(cptelephonyplugin, CpTelephonyPlugin);
+
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonyplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 CPTELEPHONYPLUGIN_H
+#define CPTELEPHONYPLUGIN_H
+
+#include <qobject.h>
+#include <cppluginplatinterface.h>
+
+/*!
+    \class CpTelephonyPlugin
+    \brief The class CpTelephonyPlugin implements telephony plugin functionality. 
+ */
+class CpTelephonyPlugin
+        : public QObject,
+          public CpPluginPlatInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(CpPluginPlatInterface)
+    
+public:
+ 
+    CpTelephonyPlugin();
+    ~CpTelephonyPlugin();
+    
+    /*!
+     From CpPluginPlatInterface.
+     @see CpPluginPlatInterface.
+     */
+    CpSettingFormItemData *createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
+};
+
+#endif /* CPTELEPHONYPLUGIN_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "cptelephonypluginview.h"
+#include "cpplugincommon.h"
+#include "cppluginlogging.h"
+#include <QPluginLoader>
+#include <QApplication>
+#include <QLocale>
+#include <QTranslator>
+#include <hbdataformmodel.h>
+#include <cppluginplatinterface.h>
+#include <cpsettingformitemdata.h>
+#include <cpitemdatahelper.h>
+
+CpTelephonyPluginView::CpTelephonyPluginView() : 
+    CpBaseSettingView(),
+    m_helper(NULL)
+{
+    DPRINT << ": IN";
+    
+    // Localization file loading
+    QTranslator translator; 
+    QString lang = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    DPRINT << ": loading translation: " << QString(path + "telephone_cp_" + lang);
+    bool translatorLoaded = translator.load(path + "telephone_cp_" + lang);
+    DPRINT << ": translator loaded: " << translatorLoaded; 
+    if (translatorLoaded) {
+        qApp->installTranslator(&translator);
+        DPRINT << ": translator installed"; 
+    }
+    
+    HbDataForm *form = settingForm();
+    if (form) {
+        HbDataFormModel *model = new HbDataFormModel;
+        form->setHeading(hbTrId("Telephone settings"));
+        // Create and initialize plugin's item data helper
+        m_helper = initializeItemDataHelper(); 
+        HbDataFormModelItem *item(NULL);
+        
+        DPRINT << ": Loading cpcallsplugin";
+        // Load calls plugin
+        item = groupItemFromPlugin("cpcallsplugin");
+        if (item) {
+            model->appendDataFormItem(item);
+        }
+        
+        // Load diverts plugin
+        DPRINT << ": Loading cpdivertsplugin";
+        item = groupItemFromPlugin("cpdivertplugin");
+        if (item) {
+            model->appendDataFormItem(item);
+        }
+
+        // Load call mailboxes plugin
+        DPRINT << ": Loading vmbxcpplugin";
+        item = groupItemFromPlugin("vmbxcpplugin");
+        if (item) {
+            model->appendDataFormItem(item);
+        }
+
+        form->setModel(model);
+    }
+    
+    DPRINT << ": OUT";
+}
+
+CpTelephonyPluginView::~CpTelephonyPluginView()
+{
+    DPRINT << ": IN";
+    
+    delete m_helper;
+    
+    DPRINT << ": OUT";
+}
+
+HbDataFormModelItem* CpTelephonyPluginView::groupItemFromPlugin( const QString& plugin )
+{
+    DPRINT << ": IN";
+ 
+    CpSettingFormItemData *item(NULL);
+    CpPluginPlatInterface *p(NULL);
+    try {
+        p = Tools::loadCpPlugin(plugin);
+        if (p && m_helper){
+            item = p->createSettingFormItemData(*m_helper);
+            if (item){
+                item->setType(HbDataFormModelItem::GroupItem);
+                QObject::connect(
+                        settingForm(), SIGNAL(itemShown(QModelIndex)),
+                        item, SLOT(itemShown(QModelIndex)));
+                DPRINT << "plugin:" << plugin;
+            }
+        }
+    } catch(...) {
+        DPRINT << "CATCH ERROR";
+        delete p;
+    }
+    
+    DPRINT << ": OUT";
+    return item;
+}
+
+void CpTelephonyPluginView::onConnectionAdded(HbDataFormModelItem *item,
+                                   const QString &signal,
+                                   QObject *receiver,
+                                   const QString &method)
+{
+    DPRINT << ": IN";
+    
+    if (HbDataForm *form = settingForm()) {
+        form->addConnection(item, signal.toAscii(), receiver, method.toAscii());
+    }
+    
+    DPRINT << ": OUT";
+}
+
+void CpTelephonyPluginView::onConnectionRemoved(HbDataFormModelItem *item,
+                                     const QString &signal,
+                                     QObject *receiver,
+                                     const QString &method)
+{
+    DPRINT << ": IN";
+    
+    if (HbDataForm *form = settingForm()) {
+        form->removeConnection(item, signal.toAscii(), receiver, method.toAscii());
+    }
+    
+    DPRINT << ": OUT";
+}
+
+void CpTelephonyPluginView::onPrototypeAdded(HbAbstractViewItem *prototype)
+{
+    DPRINT << ": IN";
+    
+    if (HbDataForm *form = settingForm()) {
+        QList<HbAbstractViewItem *> prototypes = form->itemPrototypes();
+        prototypes.append(prototype);
+        form->setItemPrototypes(prototypes);
+    }
+    
+    DPRINT << ": OUT";
+}
+
+CpItemDataHelper* CpTelephonyPluginView::initializeItemDataHelper()
+{
+    DPRINT << ": IN";
+    
+    CpItemDataHelper *itemDataHelper = new CpItemDataHelper;
+    DPRINT << "itemDataHelper:" << reinterpret_cast<int>(itemDataHelper);
+    itemDataHelper->bindToForm(settingForm());
+    connect(itemDataHelper, 
+        SIGNAL(connectionAdded(HbDataFormModelItem*, QString, QObject *, QString)),
+        this,
+        SLOT(onConnectionAdded(HbDataFormModelItem*, QString, QObject *, QString)));
+    connect(itemDataHelper,
+        SIGNAL(connectionRemoved(HbDataFormModelItem*, QString, QObject *, QString)),
+        this,
+        SLOT(onConnectionRemoved(HbDataFormModelItem*, QString, QObject *, QString)));
+    connect(itemDataHelper,
+        SIGNAL(prototypeAdded(HbAbstractViewItem *)),
+        this,
+        SLOT(onPrototypeAdded(HbAbstractViewItem *)));
+    
+    DPRINT << ": OUT : helper signals connected";
+    return itemDataHelper;
+}
+
+// End of File. 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/src/cptelephonypluginview.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 CPTELEPHONYPLUGINVIEW_H_
+#define CPTELEPHONYPLUGINVIEW_H_
+
+#include <QObject>
+#include <hbdataform.h>
+#include <cpbasesettingview.h>
+
+class HbDataFormModelItem;
+
+/*!
+    \class CpTelephonyPluginView
+    \brief The class CpTelephonyPluginView. 
+ */
+class CpTelephonyPluginView : public CpBaseSettingView
+{
+    Q_OBJECT
+
+public:
+    CpTelephonyPluginView();
+    ~CpTelephonyPluginView();
+
+private: 
+    
+    CpItemDataHelper* initializeItemDataHelper();
+    
+private slots: 
+
+    void onConnectionAdded(HbDataFormModelItem *item,
+            const QString &signal,
+            QObject *receiver,
+            const QString &method);
+    
+    void onConnectionRemoved(HbDataFormModelItem *item,
+            const QString &signal,
+            QObject *receiver,
+            const QString &method);
+    
+    void onPrototypeAdded(HbAbstractViewItem *prototype);
+
+private: 
+ 
+    HbDataFormModelItem* groupItemFromPlugin(const QString& plugin);
+    
+private:   // data
+ 
+    CpItemDataHelper *m_helper;
+};
+
+#endif /* CPTELEPHONYPLUGINVIEW_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/telephonyplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = cptelephonyplugin
+DEPENDPATH += . 
+INCLUDEPATH += .
+INCLUDEPATH += ../cptelephonyutils/inc
+CONFIG += hb plugin
+
+TRANSLATIONS = telephone_cp.ts
+
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+
+LIBS += -lcpframework \
+        -lcptelephonyutils
+
+
+# Input
+HEADERS += src/cptelephonyplugin.h  \
+			src/cptelephonypluginview.h
+SOURCES += src/cptelephonyplugin.cpp \
+		   src/cptelephonypluginview.cpp
+
+include(../cpplugincommon.pri)
+
+symbian: {
+    LIBS += -lxqsysinfo \
+        -lxqsettingsmanager
+        
+    TARGET.UID3 = 0X20029F23
+}
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/run_auto_tests_qt.bat	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,187 @@
+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\*.cpp
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+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 INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set ABLD_CALL=abld build winscw udeb -keepgoing
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_COVERAGE_DATA=\coverage_data
+
+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
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=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
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+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
+call qmake
+call bldmake bldfiles
+call abld clean winscw udeb
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL%
+) else (
+call %ABLD_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: NOTE! Function assumes that test binary is named according to test directory.
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+for /f %%a in ('dir /b ut_*') do call %PATH_TO_DLL%\%%a.exe
+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 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/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/qtestmains60ui.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 QTESTMAINS60
+#define QTESTMAINS60
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+char *new_argv[3];
+#define QTEST_MAIN_S60UI(TestObject) \
+int main(int argc, char *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(); \
+\
+HbApplication app(argc, argv); \
+TestObject tc; \
+QResource::registerResource("../hbcore.rcc"); \
+HbMainWindow mainWindow; \
+mainWindow.show(); \
+return  QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#include "ut_cptelephonyplugin.h"
+#include "qtestmains60ui.h"
+#define private public
+#include "cptelephonyplugin.h"
+#include "cpitemdatahelper.h"
+
+Q_EXTERN_C const char * qt_plugin_query_verification_data();
+Q_EXTERN_C ::QObject *  qt_plugin_instance();
+
+/*!
+  UT_CpTelephonyPlugin::UT_CpTelephonyPlugin
+ */
+UT_CpTelephonyPlugin::UT_CpTelephonyPlugin() 
+    : m_callsplugin(NULL)
+{
+    const char * verificationData = qt_plugin_query_verification_data();
+}
+
+/*!
+  UT_CpTelephonyPlugin::~UT_CpTelephonyPlugin
+ */
+UT_CpTelephonyPlugin::~UT_CpTelephonyPlugin()
+{
+    delete m_callsplugin;
+}
+
+/*!
+  UT_CpTelephonyPlugin::init
+ */
+void UT_CpTelephonyPlugin::init()
+{
+    initialize();
+
+    m_callsplugin = (CpTelephonyPlugin*)qt_plugin_instance();
+}
+
+/*!
+  UT_CpTelephonyPlugin::cleanup
+ */
+void UT_CpTelephonyPlugin::cleanup()
+{
+    reset();
+    
+    delete m_callsplugin;
+    m_callsplugin = NULL;
+}
+
+/*!
+  UT_CpTelephonyPlugin::t_memleak
+ */
+void UT_CpTelephonyPlugin::t_memleak()
+{
+    
+}
+
+/*!
+  UT_CpTelephonyPlugin::t_createSettingFormItemData
+ */
+void UT_CpTelephonyPlugin::t_createSettingFormItemData()
+{
+    CpItemDataHelper itemDataHelper;
+    CpSettingFormItemData *pSettingFormItemData = 
+            m_callsplugin->createSettingFormItemData(itemDataHelper);
+}
+
+
+QTEST_MAIN_S60UI(UT_CpTelephonyPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_CPTELEPHONYPLUGIN_H
+#define UT_CPTELEPHONYPLUGIN_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpTelephonyPlugin;
+
+class UT_CpTelephonyPlugin : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpTelephonyPlugin();
+    ~UT_CpTelephonyPlugin();
+    
+private slots:
+
+    void init();
+
+    void t_createSettingFormItemData();
+    
+    void cleanup();
+    
+    void t_memleak();
+private:
+    CpTelephonyPlugin *m_callsplugin;
+
+};
+
+#endif // UT_CPTELEPHONYPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonyplugin/ut_cptelephonyplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH +=../../../cptelephonyutils/inc
+DEFINES += 
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  #CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  
+  LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework
+}
+
+# test code
+HEADERS += ut_cptelephonyplugin.h
+SOURCES += ut_cptelephonyplugin.cpp
+
+# code to be tested
+HEADERS += ../../src/cptelephonyplugin.h \
+           ../../src/cptelephonypluginview.h
+           
+SOURCES += ../../src/cptelephonyplugin.cpp 
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cptelephonypluginview.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/qtestmains60ui.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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 QTESTMAINS60
+#define QTESTMAINS60
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+char *new_argv[3];
+#define QTEST_MAIN_S60UI(TestObject) \
+int main(int argc, char *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(); \
+\
+HbApplication app(argc, argv); \
+TestObject tc; \
+QResource::registerResource("../hbcore.rcc"); \
+HbMainWindow mainWindow; \
+mainWindow.show(); \
+return  QTest::qExec(&tc, 3, new_argv); \
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_cptelephonypluginview.h"
+#include "qtestmains60ui.h"
+#include <CpPluginPlatInterface.h>
+#include <cpitemdatahelper.h>
+#include <CpSettingFormItemData.h>
+#include <smcmockclassincludes.h>
+#include <HbDataForm.h>
+#include <HbDataFormModel.h>
+#include <hbsettingformitem.h>
+#define private public
+#include "cptelephonypluginview.h"
+
+
+class DummyPlugin : public CpPluginPlatInterface
+{
+public:
+    DummyPlugin(){}
+    ~DummyPlugin(){}
+    
+    CpSettingFormItemData *createSettingFormItemData(
+            CpItemDataHelper &itemDataHelper) const
+    {
+    SMC_MOCK_METHOD1( CpSettingFormItemData*, CpItemDataHelper &, itemDataHelper )
+    }
+    
+};
+
+/*!
+  UT_CpTelephonyPluginView::UT_CpTelephonyPluginView
+ */
+UT_CpTelephonyPluginView::UT_CpTelephonyPluginView() 
+    : m_callspluginview(NULL)
+{
+
+}
+
+/*!
+  UT_CpTelephonyPluginView::~UT_CpTelephonyPluginView
+ */
+UT_CpTelephonyPluginView::~UT_CpTelephonyPluginView()
+{
+    delete m_callspluginview;
+}
+
+
+
+/*!
+  UT_CpTelephonyPluginView::init
+ */
+void UT_CpTelephonyPluginView::init()
+{
+    initialize();
+    CpPluginPlatInterface *nullPlugin=0;
+    expect("Tools::loadCpPlugin").with(QString("cpcallsplugin")).returns(nullPlugin);
+    DummyPlugin *ret = new DummyPlugin;
+    //CpSettingFormItemData *nullItemData=0;
+    //expect("Tools::loadCpPlugin").with(QString("cpdivertplugin")).returns(ret);
+    //expect("DummyPlugin::createSettingFormItemData").returns(nullItemData);
+    
+    //ret = new DummyPlugin;
+    CpSettingFormItemData *itemData = new CpSettingFormItemData;
+    expect("Tools::loadCpPlugin").with(QString("cpdivertplugin")).returns(ret); // cpnetworkplugin
+    expect("DummyPlugin::createSettingFormItemData").returns(itemData);
+    
+    m_callspluginview = new CpTelephonyPluginView;
+    QVERIFY( verify() );
+}
+
+/*!
+  UT_CpTelephonyPluginView::cleanup
+ */
+void UT_CpTelephonyPluginView::cleanup()
+{
+    reset();
+    
+    delete m_callspluginview;
+    m_callspluginview = NULL;
+}
+
+/*!
+  UT_CpTelephonyPluginView::t_memleak
+ */
+void UT_CpTelephonyPluginView::t_memleak()
+{
+    CpSettingFormItemData *itemData = new CpSettingFormItemData;
+    DummyPlugin *ret = new DummyPlugin;
+    expect("Tools::loadCpPlugin").with(QString("cpcallsplugin")).returns(ret);
+    expect("DummyPlugin::createSettingFormItemData").returns(itemData);
+    
+    ret = new DummyPlugin;
+    expect("Tools::loadCpPlugin").with(QString("cpdivertplugin")).returns(ret);
+    expect("DummyPlugin::createSettingFormItemData").returns(itemData);
+    
+    //CpPluginPlatInterface *nullPlugin=0;
+    //expect("Tools::loadCpPlugin").with(QString("cpnetworkplugin")).returns(nullPlugin);
+    
+    CpTelephonyPluginView *tmp = new CpTelephonyPluginView;
+    QVERIFY( verify() );
+    delete tmp;
+}
+
+/*!
+  UT_CpTelephonyPluginView::t_onConnectionRemoved
+ */
+void UT_CpTelephonyPluginView::t_onConnectionRemoved()
+{
+    HbDataForm *w = m_callspluginview->settingForm();
+    HbDataFormModel *m = static_cast<HbDataFormModel *>(w->model());
+
+    m_callspluginview->m_helper->addConnection(
+            m->item(0),SIGNAL(currentIndexChanged(int)),
+            this, SLOT(tmp(int)));
+    
+    m_callspluginview->m_helper->removeConnection(
+            m->item(0),SIGNAL(currentIndexChanged(int)),
+            this, SLOT(tmp(int)));
+}
+
+/*!
+  UT_CpTelephonyPluginView::t_onPrototypeAdded
+ */
+void UT_CpTelephonyPluginView::t_onPrototypeAdded()
+{
+    HbSettingFormItem* item= new HbSettingFormItem;
+    m_callspluginview->m_helper->addItemPrototype(item);
+    QVERIFY( m_callspluginview->settingForm()->
+        itemPrototypes().contains(item) );
+    
+    delete item;
+}
+
+
+
+QTEST_MAIN_S60UI(UT_CpTelephonyPluginView)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef UT_CPTELEPHONYPLUGINVIEW_H
+#define UT_CPTELEPHONYPLUGINVIEW_H
+
+#include <QtTest/QtTest>
+#include <mockservice.h>
+
+class CpTelephonyPluginView;
+
+class UT_CpTelephonyPluginView : public QObject, MockService
+{
+    Q_OBJECT
+
+public:    
+    UT_CpTelephonyPluginView();
+    ~UT_CpTelephonyPluginView();
+    
+private slots:
+
+    void init();
+
+    void cleanup();
+    
+    void t_memleak();
+    
+    void t_onConnectionRemoved();
+    void t_onPrototypeAdded();
+private:
+    CpTelephonyPluginView *m_callspluginview;
+
+};
+
+#endif // UT_CPTELEPHONYPLUGINVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/telephonyplugin/tsrc/ut_cptelephonypluginview/ut_cptelephonypluginview.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../src/
+INCLUDEPATH += .
+INCLUDEPATH +=../../../cptelephonyutils/inc
+DEFINES += BUILD_CPTELEPHONYUTILS
+
+QT -= gui
+QT += testlib
+
+symbian: {
+  #CONFIG += no_icon
+  INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+  
+  LIBS += -lmocklib \
+        -lsymbianmock \
+        -lcpframework
+}
+
+# test code
+HEADERS += ut_cptelephonypluginview.h
+SOURCES += ut_cptelephonypluginview.cpp
+
+# code to be tested
+HEADERS += ../../src/cptelephonypluginview.h \
+           ../../../cptelephonyutils/inc/cpplugincommon.h
+           
+SOURCES += ../../src/cptelephonypluginview.cpp 
+
+# mocks needed for testing
+SOURCES += ../../../tsrc/mocks/mock_cpplugincommon.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbarringplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "cpbarringplugin.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpBarringPlugin::Q_INTERFACES
+// -----------------------------------------------------------------------------
+//
+CpBarringPlugin::CpBarringPlugin()
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpBarringPlugin::~CpBarringPlugin
+// -----------------------------------------------------------------------------
+//
+CpBarringPlugin::~CpBarringPlugin(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpBarringPlugin::createSettingFormItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormItemData * CpBarringPlugin::createSettingFormItemData( 
+        CpItemDataHelper & itemDataHelper ) const
+    {
+    Q_UNUSED( itemDataHelper )
+    return NULL;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbarringplugingroup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QDebug>
+#include "cpbarringplugingroup.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpBarringPluginGroup::CpBarringPluginGroup
+// -----------------------------------------------------------------------------
+//
+CpBarringPluginGroup::CpBarringPluginGroup( 
+        CpItemDataHelper & helper )
+    :CpSettingFormItemData(HbDataFormModelItem::GroupItem, hbTrId("Barring"),0),
+    m_helper(helper)
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpBarringPluginGroup::~CpBarringPluginGroup
+// -----------------------------------------------------------------------------
+//
+CpBarringPluginGroup::~CpBarringPluginGroup(  )
+    {
+    
+    }
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpbasesettingview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,67 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <cpbasesettingview.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpBaseSettingView::CpBaseSettingView
+// -----------------------------------------------------------------------------
+//
+CpBaseSettingView::CpBaseSettingView( 
+        HbDataForm *,
+        QGraphicsItem *)
+    //:
+    //HbView( /*settingForm, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpBaseSettingView::~CpBaseSettingView
+// -----------------------------------------------------------------------------
+//
+CpBaseSettingView::~CpBaseSettingView(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpBaseSettingView::setSettingForm
+// -----------------------------------------------------------------------------
+//
+void CpBaseSettingView::setSettingForm( 
+        HbDataForm * settingForm )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpBaseSettingView::settingForm
+// -----------------------------------------------------------------------------
+//
+HbDataForm * CpBaseSettingView::settingForm(  ) const
+    {
+    SMC_MOCK_METHOD0( HbDataForm * )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpcallsplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "cpcallsplugin.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpCallsPlugin::Q_INTERFACES
+// -----------------------------------------------------------------------------
+//
+CpCallsPlugin::CpCallsPlugin()
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPlugin::~CpCallsPlugin
+// -----------------------------------------------------------------------------
+//
+CpCallsPlugin::~CpCallsPlugin(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPlugin::createSettingFormItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormItemData * CpCallsPlugin::createSettingFormItemData( 
+        CpItemDataHelper & itemDataHelper ) const
+    {
+    Q_UNUSED( itemDataHelper )
+    return NULL;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpcallsplugingroup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QDebug>
+#include "cpcallsplugingroup.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::CpCallsPluginGroup
+// -----------------------------------------------------------------------------
+//
+CpCallsPluginGroup::CpCallsPluginGroup( 
+        CpItemDataHelper &helper )
+    :CpSettingFormItemData(HbDataFormModelItem::GroupItem, hbTrId("Calls"),0),
+    m_helper(helper)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::~CpCallsPluginGroup
+// -----------------------------------------------------------------------------
+//
+CpCallsPluginGroup::~CpCallsPluginGroup(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::showCallDurationStateChanged
+// -----------------------------------------------------------------------------
+//
+void CpCallsPluginGroup::showCallDurationStateChanged( int state )
+    {
+    Q_UNUSED( state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::softRejectTextChanged
+// -----------------------------------------------------------------------------
+//
+void CpCallsPluginGroup::softRejectTextChanged(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::callWaitingCurrentIndexChanged
+// -----------------------------------------------------------------------------
+//
+void CpCallsPluginGroup::callWaitingCurrentIndexChanged( int index )
+    {
+    Q_UNUSED( index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::cliCurrentIndexChanged
+// -----------------------------------------------------------------------------
+//
+void CpCallsPluginGroup::cliCurrentIndexChanged( int index )
+    {
+    Q_UNUSED( index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::handleCallWaitingGetStatus
+// -----------------------------------------------------------------------------
+//
+void CpCallsPluginGroup::handleCallWaitingGetStatus( 
+        const PSetCallWaitingWrapper::PsCallWaitingStatus status,
+        const QList<unsigned char> &basicServiceGroupIds )
+    {
+    Q_UNUSED( status )
+    Q_UNUSED( basicServiceGroupIds )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::handleCallWaitingChanged
+// -----------------------------------------------------------------------------
+//
+void CpCallsPluginGroup::handleCallWaitingChanged( 
+        const PSetCallWaitingWrapper::PsCallWaitingCommand setting,
+        const int aResult )
+    {
+    Q_UNUSED( setting )
+    Q_UNUSED( aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::handleCallWaitingRequesting
+// -----------------------------------------------------------------------------
+//
+void CpCallsPluginGroup::handleCallWaitingRequesting( 
+        bool ongoing,
+        bool interrupted )
+    {
+    Q_UNUSED( ongoing )
+    Q_UNUSED( interrupted )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpCallsPluginGroup::handleCallWaitingError
+// -----------------------------------------------------------------------------
+//
+void CpCallsPluginGroup::handleCallWaitingError( int aError )
+    {
+    Q_UNUSED( aError )
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpdivertselectionitem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "cpdivertselectionitem.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpDivertSelectionItem::CpDivertSelectionItem
+// -----------------------------------------------------------------------------
+//
+CpDivertSelectionItem::CpDivertSelectionItem( 
+        QGraphicsItem * parent )
+    //:
+    //HbDataFormViewItem( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpDivertSelectionItem::~CpDivertSelectionItem
+// -----------------------------------------------------------------------------
+//
+CpDivertSelectionItem::~CpDivertSelectionItem(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpDivertSelectionItem::createItem
+// -----------------------------------------------------------------------------
+//
+HbAbstractViewItem * CpDivertSelectionItem::createItem(  )
+    {
+    SMC_MOCK_METHOD0( HbAbstractViewItem * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpDivertSelectionItem::canSetModelIndex
+// -----------------------------------------------------------------------------
+//
+bool CpDivertSelectionItem::canSetModelIndex( 
+        const QModelIndex & index ) const
+    {
+    SMC_MOCK_METHOD1( bool, const QModelIndex &, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpDivertSelectionItem::restore
+// -----------------------------------------------------------------------------
+//
+void CpDivertSelectionItem::restore(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpDivertSelectionItem::createCustomWidget
+// -----------------------------------------------------------------------------
+//
+HbWidget * CpDivertSelectionItem::createCustomWidget(  )
+    {
+    SMC_MOCK_METHOD0( HbWidget * )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "cpnetworkplugin.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpNetworkPlugin::Q_INTERFACES
+// -----------------------------------------------------------------------------
+//
+CpNetworkPlugin::CpNetworkPlugin()
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPlugin::~CpNetworkPlugin
+// -----------------------------------------------------------------------------
+//
+CpNetworkPlugin::~CpNetworkPlugin(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPlugin::createSettingFormItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormItemData * CpNetworkPlugin::createSettingFormItemData( 
+        CpItemDataHelper & itemDataHelper ) const
+    {
+    Q_UNUSED( itemDataHelper )
+    return NULL;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginform.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,149 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <cpsettingformitemdata.h>
+#include <psetwrapper.h>
+#include "cpnetworkpluginform.h"
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::CpNetworkPluginForm
+// -----------------------------------------------------------------------------
+//
+CpNetworkPluginForm::CpNetworkPluginForm( 
+        QGraphicsItem * /*parent*/ )
+    //:
+    //HbDataForm( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::~CpNetworkPluginForm
+// -----------------------------------------------------------------------------
+//
+CpNetworkPluginForm::~CpNetworkPluginForm(  )
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::networkModeStateChanged
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::networkModeStateChanged( 
+        int index )
+    {
+    SMC_MOCK_METHOD1( void, int, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::operatorSelectionStateChanged
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::operatorSelectionStateChanged( 
+        bool index )
+    {
+    SMC_MOCK_METHOD1( void, bool, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::networkAccessModeGot
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::networkAccessModeGot( 
+        int mode )
+    {
+    SMC_MOCK_METHOD1( void, int, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::availableNetworksGot
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::availableNetworksGot( 
+        QList<PSetNetworkWrapper::NetworkInfo *> &  )
+    {
+//    SMC_MOCK_METHOD1( void, QList<PSetNetworkWrapper::NetworkInfo *> &, m_networkInfoList )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::networkReqestFailed
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::networkReqestFailed( 
+        PSetNetworkWrapper::ErrorCode ,
+        PSetNetworkWrapper::RequestType  )
+    {
+//    SMC_MOCK_METHOD2( void, PSetNetworkWrapper::ErrorCode, error, 
+//        PSetNetworkWrapper::RequestType, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::userCancel
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::userCancel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::handleSearchingNetworks
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::handleSearchingNetworks( 
+        PSetNetworkWrapper::RequestType &  )
+    {
+//    SMC_MOCK_METHOD1( void, PSetNetworkWrapper::RequestType &, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::handleRequestingSelectedNetwork
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::handleRequestingSelectedNetwork( 
+        bool ongoing )
+    {
+    SMC_MOCK_METHOD1( void, bool, ongoing )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginForm::handleNetworkChanged
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginForm::handleNetworkChanged( 
+        PSetNetworkWrapper::NetworkInfo & ,
+        PSetNetworkWrapper::RegistrationStatus &  )
+    {
+//    SMC_MOCK_METHOD2( void, PSetNetworkWrapper::NetworkInfo &, currentInfo, 
+//        PSetNetworkWrapper::RegistrationStatus &, status )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkplugingroup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,147 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "cpnetworkplugingroup.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::CpNetworkPluginGroup
+// -----------------------------------------------------------------------------
+//
+CpNetworkPluginGroup::CpNetworkPluginGroup( 
+        CpItemDataHelper & helper )
+    :
+    m_helper(helper)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::~CpNetworkPluginGroup
+// -----------------------------------------------------------------------------
+//
+CpNetworkPluginGroup::~CpNetworkPluginGroup(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::networkModeStateChanged
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginGroup::networkModeStateChanged( 
+        int index )
+    {
+    SMC_MOCK_METHOD1( void, int, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::operatorSelectionStateChanged
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginGroup::operatorSelectionStateChanged( 
+        int index )
+    {
+    SMC_MOCK_METHOD1( void, int, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::networkAccessModeGot
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginGroup::networkAccessModeGot( 
+        int mode )
+    {
+    SMC_MOCK_METHOD1( void, int, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::availableNetworksGot
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginGroup::availableNetworksGot( 
+        QList<PSetNetworkWrapper::NetworkInfo *> & m_networkInfoList )
+    {
+    SMC_MOCK_METHOD1( void, QList<PSetNetworkWrapper::NetworkInfo *> &, m_networkInfoList )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::networkReqestFailed
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginGroup::networkReqestFailed( 
+        PSetNetworkWrapper::ErrorCode error,
+        PSetNetworkWrapper::RequestType type )
+    {
+    SMC_MOCK_METHOD2( void, PSetNetworkWrapper::ErrorCode, error, 
+        PSetNetworkWrapper::RequestType, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::userCancel
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginGroup::userCancel(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::handleSearchingNetworks
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginGroup::handleSearchingNetworks( 
+        PSetNetworkWrapper::RequestType & type )
+    {
+    SMC_MOCK_METHOD1( void, PSetNetworkWrapper::RequestType &, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::handleRequestingSelectedNetwork
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginGroup::handleRequestingSelectedNetwork( 
+        bool ongoing )
+    {
+    SMC_MOCK_METHOD1( void, bool, ongoing )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginGroup::handleNetworkChanged
+// -----------------------------------------------------------------------------
+//
+void CpNetworkPluginGroup::handleNetworkChanged( 
+        PSetNetworkWrapper::NetworkInfo & currentInfo,
+        PSetNetworkWrapper::RegistrationStatus & status )
+    {
+    SMC_MOCK_METHOD2( void, PSetNetworkWrapper::NetworkInfo &, currentInfo, 
+        PSetNetworkWrapper::RegistrationStatus &, status )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpnetworkpluginview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  
+ *
+ */
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "cpnetworkpluginview.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginView::CpNetworkPluginView
+// -----------------------------------------------------------------------------
+//
+CpNetworkPluginView::CpNetworkPluginView( 
+        QGraphicsItem * parent )
+    :
+    CpBaseSettingView(0, parent),
+    m_networkSettingsForm(0)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpNetworkPluginView::~CpNetworkPluginView
+// -----------------------------------------------------------------------------
+//
+CpNetworkPluginView::~CpNetworkPluginView(  )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpphonenotes.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,164 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QString>
+#include <smcmockclassincludes.h>
+#include "cpphonenotes.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::CpPhoneNotes
+// -----------------------------------------------------------------------------
+//
+CpPhoneNotes::CpPhoneNotes( ): QObject(NULL) 
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::instance
+// -----------------------------------------------------------------------------
+//
+CpPhoneNotes * CpPhoneNotes::instance(  )
+    {
+    static CpPhoneNotes theInstance;
+    return &theInstance; 
+    }
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::~CpPhoneNotes
+// -----------------------------------------------------------------------------
+//
+CpPhoneNotes::~CpPhoneNotes(  )
+    {
+
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::showGlobalProgressNote
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::showGlobalProgressNote( int & noteId, const QString & text )
+    {
+    SMC_MOCK_METHOD2( void, int &, noteId, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::showGlobalNote
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::showGlobalNote( 
+        int & noteId,
+        const QString & text,
+        HbMessageBox::MessageBoxType noteType )
+    {
+    SMC_MOCK_METHOD3( void, int &, noteId, 
+        const QString &, text, 
+        HbMessageBox::MessageBoxType, noteType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::showGlobalErrorNote
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::showGlobalErrorNote( int & noteId, int errorCode )
+    {
+    SMC_MOCK_METHOD2( void, int &, noteId, int, errorCode )
+    }
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::showBasicServiceList
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::showBasicServiceList(
+    const QString &title, 
+    const QList<unsigned char> &basicServiceGroupIds)
+{
+    SMC_MOCK_METHOD2( void, const QString &, title, 
+        const QList<unsigned char> &, basicServiceGroupIds )
+}
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::showBasicServiceCallDivertList
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::showBasicServiceCallDivertList( 
+        const QString & title,
+        const QList<PSCallDivertingStatus *> & divertStatuses,
+        int & selectionIndex,
+        CallDivertType divertType,
+        CallDivertType & divertDetailType )
+    {
+    SMC_MOCK_METHOD5( void, const QString &, title, 
+        const QList<PSCallDivertingStatus *> &, divertStatuses, 
+        int &, selectionIndex, 
+        CallDivertType, divertType, 
+        CallDivertType &, divertDetailType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::showCallDivertDetails
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::showCallDivertDetails( 
+        const PSCallDivertingStatus & divertStatus )
+    {
+    SMC_MOCK_METHOD1( void, const PSCallDivertingStatus &, divertStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::cancelNote
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::cancelNote( int noteId )
+    {
+    SMC_MOCK_METHOD1( void, int, noteId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::activeNoteAboutToClose
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::activeNoteAboutToClose()
+{
+    SMC_MOCK_METHOD0( void )
+}
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::handleProgressNoteCanceled
+// -----------------------------------------------------------------------------
+//
+void CpPhoneNotes::handleProgressNoteCanceled()
+{
+    SMC_MOCK_METHOD0( void )
+}
+
+// -----------------------------------------------------------------------------
+// CpPhoneNotes::noteShowing
+// -----------------------------------------------------------------------------
+//
+bool CpPhoneNotes::noteShowing()
+{
+    SMC_MOCK_METHOD0( bool )
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpplugincommon.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,182 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "cpplugincommon.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::CpSettingsWrapper
+// -----------------------------------------------------------------------------
+//
+CpSettingsWrapper::CpSettingsWrapper( 
+        QObject * parent ) : QObject( parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::~CpSettingsWrapper
+// -----------------------------------------------------------------------------
+//
+CpSettingsWrapper::~CpSettingsWrapper(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::showCallDuration
+// -----------------------------------------------------------------------------
+//
+bool CpSettingsWrapper::showCallDuration(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::setShowCallDuration
+// -----------------------------------------------------------------------------
+//
+int CpSettingsWrapper::setShowCallDuration( bool value )
+    {
+    SMC_MOCK_METHOD1( int, bool, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::readSoftRejectText
+// -----------------------------------------------------------------------------
+//
+void CpSettingsWrapper::readSoftRejectText( 
+        QString & text, bool & userDefined )
+    {
+    //To improve coverage
+    static int i=0;
+    if(i==0){
+        text = "Soittelen myöhemmin...";
+        userDefined = true;
+        i=1;
+    }
+    SMC_MOCK_METHOD2( void, QString &, text, bool, userDefined )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::writeSoftRejectText
+// -----------------------------------------------------------------------------
+//
+int CpSettingsWrapper::writeSoftRejectText( 
+        const QString & text, bool userDefined )
+    {
+    SMC_MOCK_METHOD2( int, const QString &, text, bool, userDefined )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::numberGroupingSupported
+// -----------------------------------------------------------------------------
+//
+bool CpSettingsWrapper::numberGroupingSupported(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled
+// -----------------------------------------------------------------------------
+//
+bool CpSettingsWrapper::isFeatureCallWaitingDistiquishNotProvisionedEnabled()
+{
+    SMC_MOCK_METHOD0( bool )
+}
+
+// -----------------------------------------------------------------------------
+// CpSettingsWrapper::isPhoneOffline
+// -----------------------------------------------------------------------------
+//
+bool CpSettingsWrapper::isPhoneOffline() const
+{
+    SMC_MOCK_METHOD0( bool )
+}
+
+// -----------------------------------------------------------------------------
+// Tools::loadCpPlugin
+// -----------------------------------------------------------------------------
+//
+CpPluginPlatInterface * Tools::loadCpPlugin( 
+        const QString & name )
+    {
+    SMC_MOCK_METHOD1( CpPluginPlatInterface*, QString &, name )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Tools::unloadCpPlugin
+// -----------------------------------------------------------------------------
+//
+bool Tools::unloadCpPlugin( 
+        const QString & name )
+    {
+    SMC_MOCK_METHOD1( CpPluginPlatInterface*, QString &, name )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Tools::voipSupported
+// -----------------------------------------------------------------------------
+//
+bool Tools::voipSupported(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Tools::videoSupported
+// -----------------------------------------------------------------------------
+//
+bool Tools::videoSupported(  )
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Tools::convertEtelMobileServiceCode
+// -----------------------------------------------------------------------------
+//
+BasicServiceGroups Tools::convertEtelMobileServiceCode( 
+        int serviceCode )
+    {
+    SMC_MOCK_METHOD1( BasicServiceGroups, int, serviceCode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// Tools::errorCodeTextMapping
+// -----------------------------------------------------------------------------
+//
+bool Tools::errorCodeTextMapping( const int errorcode, QString & errorText )
+    {
+    SMC_MOCK_METHOD2( bool, int, errorcode, QString &, errorText )
+    }
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpsettingformentryitemdata.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,142 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <cpsettingformentryitemdata.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::CpSettingFormEntryItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormEntryItemData::CpSettingFormEntryItemData( 
+        const HbDataFormModelItem * parent )
+    //:
+    //CpSettingFormItemData( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::CpSettingFormEntryItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormEntryItemData::CpSettingFormEntryItemData( 
+        CpItemDataHelper & itemDataHelper,
+        const QString & text,
+        const QString & description,
+        const HbIcon & icon,
+        const HbDataFormModelItem * parent )
+    //:
+    //CpSettingFormItemData( /*itemDataHelper, text, description, icon, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::CpSettingFormEntryItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormEntryItemData::CpSettingFormEntryItemData( 
+        HbDataForm * dataForm,
+        const QString & text,
+        const QString & description,
+        const HbIcon & icon,
+        const HbDataFormModelItem * parent )
+    //:
+    //CpSettingFormItemData( /*dataForm, text, description, icon, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::~CpSettingFormEntryItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormEntryItemData::~CpSettingFormEntryItemData(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::text
+// -----------------------------------------------------------------------------
+//
+QString CpSettingFormEntryItemData::text(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::setText
+// -----------------------------------------------------------------------------
+//
+void CpSettingFormEntryItemData::setText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::description
+// -----------------------------------------------------------------------------
+//
+QString CpSettingFormEntryItemData::description(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::setDescription
+// -----------------------------------------------------------------------------
+//
+void CpSettingFormEntryItemData::setDescription( 
+        const QString & description )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, description )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::entryItemIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon CpSettingFormEntryItemData::entryItemIcon(  ) const
+    {
+//    SMC_MOCK_METHOD0( HbIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormEntryItemData::setEntryItemIcon
+// -----------------------------------------------------------------------------
+//
+void CpSettingFormEntryItemData::setEntryItemIcon( 
+        const HbIcon & icon )
+    {
+//    SMC_MOCK_METHOD1( void, const HbIcon &, icon )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cpsettingformitemdata.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,56 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <cpsettingformitemdata.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpSettingFormItemData::CpSettingFormItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormItemData::CpSettingFormItemData( 
+        HbDataFormModelItem::DataItemType type,
+        const QString & label,
+        const HbDataFormModelItem * parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormItemData::CpSettingFormItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormItemData::CpSettingFormItemData( 
+        const HbDataFormModelItem * parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpSettingFormItemData::~CpSettingFormItemData
+// -----------------------------------------------------------------------------
+//
+CpSettingFormItemData::~CpSettingFormItemData(  )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_cptelephonypluginview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+#include <QDebug>
+#include "cptelephonypluginview.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CpTelephonyPluginView::CpTelephonyPluginView
+// -----------------------------------------------------------------------------
+//
+CpTelephonyPluginView::CpTelephonyPluginView(  )
+    //: CpBaseSettingView( /**/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// CpTelephonyPluginView::~CpTelephonyPluginView
+// -----------------------------------------------------------------------------
+//
+CpTelephonyPluginView::~CpTelephonyPluginView(  )
+    {
+    
+    }
+
+void CpTelephonyPluginView::onConnectionAdded(HbDataFormModelItem *item,
+                                   const QString &signal,
+                                   QObject *receiver,
+                                   const QString &method)
+{
+
+}
+
+void CpTelephonyPluginView::onConnectionRemoved(HbDataFormModelItem *item,
+                                     const QString &signal,
+                                     QObject *receiver,
+                                     const QString &method)
+{
+
+}
+
+void CpTelephonyPluginView::onPrototypeAdded(HbAbstractViewItem *prototype)
+{
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbabstractitemview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,839 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hbabstractitemview.h>
+
+HbScrollAreaPrivate* pointerHbScrollAreaPrivate(NULL);
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::HbAbstractItemView
+// -----------------------------------------------------------------------------
+//
+HbAbstractItemView::HbAbstractItemView( 
+        HbAbstractItemViewPrivate & dd,
+        HbAbstractItemContainer * container,
+        QGraphicsItem * parent )
+    : HbScrollArea( *pointerHbScrollAreaPrivate, parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::~HbAbstractItemView
+// -----------------------------------------------------------------------------
+//
+HbAbstractItemView::~HbAbstractItemView(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::type
+// -----------------------------------------------------------------------------
+//
+/*
+int HbAbstractItemView::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setModel
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setModel( 
+        QAbstractItemModel * model,
+        HbAbstractViewItem * prototype )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::model
+// -----------------------------------------------------------------------------
+//
+QAbstractItemModel * HbAbstractItemView::model(  ) const
+    {
+  
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setItemPrototype
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setItemPrototype( 
+        HbAbstractViewItem * prototype )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setItemPrototypes
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setItemPrototypes( 
+        const QList<HbAbstractViewItem *> & prototypes )
+    {
+  
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::itemPrototypes
+// -----------------------------------------------------------------------------
+//
+QList <HbAbstractViewItem * > HbAbstractItemView::itemPrototypes(  ) const
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setSelectionModel
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setSelectionModel( 
+        QItemSelectionModel * selectionModel )
+    {
+  
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::selectionModel
+// -----------------------------------------------------------------------------
+//
+QItemSelectionModel * HbAbstractItemView::selectionModel(  ) const
+    {
+  
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::currentIndex
+// -----------------------------------------------------------------------------
+//
+QModelIndex HbAbstractItemView::currentIndex(  ) const
+    {
+   
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::rootIndex
+// -----------------------------------------------------------------------------
+//
+QModelIndex HbAbstractItemView::rootIndex(  ) const
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setSelectionMode
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setSelectionMode( 
+        SelectionMode newMode,
+        bool resetSelection )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::selectionMode
+// -----------------------------------------------------------------------------
+//
+HbAbstractItemView::SelectionMode HbAbstractItemView::selectionMode(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setItemRecycling
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setItemRecycling( 
+        bool enabled )
+    {
+    SMC_MOCK_METHOD1( void, bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::itemRecycling
+// -----------------------------------------------------------------------------
+//
+bool HbAbstractItemView::itemRecycling(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::isVisible
+// -----------------------------------------------------------------------------
+//
+bool HbAbstractItemView::isVisible( 
+        const QModelIndex & index ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::isVisible
+// -----------------------------------------------------------------------------
+//
+bool HbAbstractItemView::isVisible( 
+        HbAbstractViewItem * item ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::currentViewItem
+// -----------------------------------------------------------------------------
+//
+HbAbstractViewItem * HbAbstractItemView::currentViewItem(  ) const
+    {
+    SMC_MOCK_METHOD0( HbAbstractViewItem * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::itemByIndex
+// -----------------------------------------------------------------------------
+//
+HbAbstractViewItem * HbAbstractItemView::itemByIndex( 
+        const QModelIndex & index ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::scrollTo
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::scrollTo( 
+        const QModelIndex & index,
+        ScrollHint hint )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::visibleItems
+// -----------------------------------------------------------------------------
+//
+QList <HbAbstractViewItem * > HbAbstractItemView::visibleItems(  ) const
+    {
+ 
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::itemAtPosition
+// -----------------------------------------------------------------------------
+//
+HbAbstractViewItem * HbAbstractItemView::itemAtPosition( 
+        const QPointF & position ) const
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::indexCount
+// -----------------------------------------------------------------------------
+//
+int HbAbstractItemView::indexCount(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::indexPosition
+// -----------------------------------------------------------------------------
+//
+int HbAbstractItemView::indexPosition( 
+        const QModelIndex & index ) const
+    {
+   
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::nextIndex
+// -----------------------------------------------------------------------------
+//
+QModelIndex HbAbstractItemView::nextIndex( 
+        const QModelIndex & index ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::previousIndex
+// -----------------------------------------------------------------------------
+//
+QModelIndex HbAbstractItemView::previousIndex( 
+        const QModelIndex & index ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::layoutName
+// -----------------------------------------------------------------------------
+//
+QString HbAbstractItemView::layoutName(  ) const
+    {
+ 
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setLayoutName
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setLayoutName( 
+        const QString & layoutName )
+    {
+   
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setUniformItemSizes
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setUniformItemSizes( 
+        bool enable )
+    {
+    SMC_MOCK_METHOD1( void, bool, enable )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::uniformItemSizes
+// -----------------------------------------------------------------------------
+//
+bool HbAbstractItemView::uniformItemSizes(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setCurrentIndex
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setCurrentIndex( 
+        const QModelIndex & index,
+        QItemSelectionModel::SelectionFlags selectionFlag )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::setRootIndex
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::setRootIndex( 
+        const QModelIndex & index )
+    {
+   
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::reset
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::reset(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::selectAll
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::selectAll(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::clearSelection
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::clearSelection(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::pressed
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::pressed( 
+        const QModelIndex & index )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::released
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::released( 
+        const QModelIndex & index )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::activated
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::activated( 
+        const QModelIndex & index )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::longPressed
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::longPressed( 
+        HbAbstractViewItem * item,
+        const QPointF & coords )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::selectionCommand
+// -----------------------------------------------------------------------------
+//
+QItemSelectionModel::SelectionFlags HbAbstractItemView::selectionCommand( 
+        const HbAbstractViewItem * item,
+        const QEvent * event,
+        bool contiguousArea )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::event
+// -----------------------------------------------------------------------------
+//
+bool HbAbstractItemView::event( 
+        QEvent * e )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::keyPressEvent
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::keyPressEvent( 
+        QKeyEvent * event )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::keyReleaseEvent
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::keyReleaseEvent( 
+        QKeyEvent * event )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::mousePressEvent
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::mousePressEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::mouseReleaseEvent
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::mouseReleaseEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::mouseMoveEvent
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::mouseMoveEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::focusOutEvent
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::focusOutEvent( 
+        QFocusEvent * event )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::upGesture
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::upGesture( 
+        int value )
+    {
+    SMC_MOCK_METHOD1( void, int, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::downGesture
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::downGesture( 
+        int value )
+    {
+    SMC_MOCK_METHOD1( void, int, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::leftGesture
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::leftGesture( 
+        int value )
+    {
+    SMC_MOCK_METHOD1( void, int, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::rightGesture
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::rightGesture( 
+        int value )
+    {
+    SMC_MOCK_METHOD1( void, int, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::emitActivated
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::emitActivated( 
+        const QModelIndex & modelIndex )
+    {
+   
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::emitPressed
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::emitPressed( 
+        const QModelIndex & modelIndex )
+    {
+   
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::emitReleased
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::emitReleased( 
+        const QModelIndex & modelIndex )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::scrollByAmount
+// -----------------------------------------------------------------------------
+//
+bool HbAbstractItemView::scrollByAmount( 
+        const QPointF & delta )
+    {
+   
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::container
+// -----------------------------------------------------------------------------
+//
+HbAbstractItemContainer * HbAbstractItemView::container(  ) const
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::itemChange
+// -----------------------------------------------------------------------------
+//
+QVariant HbAbstractItemView::itemChange( 
+        GraphicsItemChange change,
+        const QVariant & value )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::dataChanged
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::dataChanged( 
+        const QModelIndex & topLeft,
+        const QModelIndex & bottomRight )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::orientationChanged
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::orientationChanged( 
+        Qt::Orientation newOrientation )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::orientationAboutToBeChanged
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::orientationAboutToBeChanged(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::currentIndexChanged
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::currentIndexChanged( 
+        const QModelIndex & current,
+        const QModelIndex & previous )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::currentSelectionChanged
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::currentSelectionChanged( 
+        const QItemSelection & selected,
+        const QItemSelection & deselected )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::rowsAboutToBeInserted
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::rowsAboutToBeInserted( 
+        const QModelIndex & index,
+        int start,
+        int end )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::rowsInserted
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::rowsInserted( 
+        const QModelIndex & parent,
+        int start,
+        int end )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::rowsAboutToBeRemoved
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::rowsAboutToBeRemoved( 
+        const QModelIndex & index,
+        int start,
+        int end )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::rowsRemoved
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::rowsRemoved( 
+        const QModelIndex & parent,
+        int start,
+        int end )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::columnsAboutToBeInserted
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::columnsAboutToBeInserted( 
+        const QModelIndex & index,
+        int start,
+        int end )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::columnsInserted
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::columnsInserted( 
+        const QModelIndex & parent,
+        int start,
+        int end )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::columnsAboutToBeRemoved
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::columnsAboutToBeRemoved( 
+        const QModelIndex & index,
+        int start,
+        int end )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::columnsRemoved
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::columnsRemoved( 
+        const QModelIndex & parent,
+        int start,
+        int end )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::panGesture
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::panGesture( 
+        const QPointF & point )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbAbstractItemView::longPressGesture
+// -----------------------------------------------------------------------------
+//
+void HbAbstractItemView::longPressGesture( 
+        const QPointF & point )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbaction.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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::SoftKeyAction 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/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbdataform.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "hbdataform.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbDataForm::HbDataForm
+// -----------------------------------------------------------------------------
+//
+HbAbstractItemViewPrivate* temp(NULL);
+HbAbstractItemContainer* temp2(NULL);
+
+HbDataForm::HbDataForm( 
+        HbDataFormPrivate & /*dd*/,
+        HbAbstractItemContainer * /*container*/,
+        QGraphicsItem * parent ) : HbAbstractItemView( *temp, temp2, parent)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::Q_PROPERTY
+// -----------------------------------------------------------------------------
+//
+/*
+void HbDataForm::Q_PROPERTY( 
+        QString heading READ heading WRITE setHeading ) Q_PROPERTY ( QString description READ description WRITE setDescription ):HbDataForm ( QGraphicsItem * parent )
+    {
+    SMC_MOCK_METHOD1( void, QString heading READ heading WRITE setHeading ) Q_PROPERTY ( QString description READ description WRITE setDescription ):HbDataForm ( QGraphicsItem *, parent )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// HbDataForm::~HbDataForm
+// -----------------------------------------------------------------------------
+//
+HbDataForm::~HbDataForm(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::type
+// -----------------------------------------------------------------------------
+//
+/*
+int HbDataForm::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }*/
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::scrollTo
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::scrollTo( 
+        const QModelIndex & index,
+        ScrollHint hint )
+    {
+  //  SMC_MOCK_METHOD2( void, const QModelIndex &, index, 
+    //    ScrollHint, hint )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::indexCount
+// -----------------------------------------------------------------------------
+//
+int HbDataForm::indexCount(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::nextIndex
+// -----------------------------------------------------------------------------
+//
+QModelIndex HbDataForm::nextIndex( 
+        const QModelIndex & index ) const
+    {
+//    SMC_MOCK_METHOD1( QModelIndex, const QModelIndex &, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::previousIndex
+// -----------------------------------------------------------------------------
+//
+QModelIndex HbDataForm::previousIndex( 
+        const QModelIndex & index ) const
+    {
+//    SMC_MOCK_METHOD1( QModelIndex, const QModelIndex &, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::setExpanded
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::setExpanded( 
+        const QModelIndex & index,
+        bool expanded )
+    {
+ //   SMC_MOCK_METHOD2( void, const QModelIndex &, index, 
+   //     bool, expanded )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::isExpanded
+// -----------------------------------------------------------------------------
+//
+bool HbDataForm::isExpanded( 
+        const QModelIndex & index ) const
+    {
+  //  SMC_MOCK_METHOD1( bool, const QModelIndex &, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::setHeading
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::setHeading( 
+        const QString & heading )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, heading )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::heading
+// -----------------------------------------------------------------------------
+//
+QString HbDataForm::heading(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::setDescription
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::setDescription( 
+        const QString & description )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, description )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::description
+// -----------------------------------------------------------------------------
+//
+QString HbDataForm::description(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::primitive
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbDataForm::primitive( 
+        HbStyle::Primitive primitive ) const
+    {
+ //   SMC_MOCK_METHOD1( QGraphicsItem *, HbStyle::Primitive, primitive )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::dataFormViewItem
+// -----------------------------------------------------------------------------
+//
+HbDataFormViewItem * HbDataForm::dataFormViewItem( 
+        const QModelIndex & index ) const
+    {
+  //  SMC_MOCK_METHOD1( HbDataFormViewItem *, const QModelIndex &, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::setModel
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::setModel( 
+        QAbstractItemModel * model,
+        HbAbstractViewItem * prototype )
+    {
+//    SMC_MOCK_METHOD2( void, QAbstractItemModel *, model, 
+  //      HbAbstractViewItem *, prototype )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::addConnection
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::addConnection( 
+        HbDataFormModelItem * item,
+        const char * signal,
+        QObject * receiver,
+        const char * slot )
+    {
+ /*   SMC_MOCK_METHOD4( void, HbDataFormModelItem *, item, 
+        const char *, signal, 
+        QObject *, receiver, 
+        const char *, slot )
+   */ }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::removeConnection
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::removeConnection( 
+        HbDataFormModelItem * item,
+        const char * signal,
+        QObject * receiver,
+        const char * slot )
+    {
+ /*   SMC_MOCK_METHOD4( void, HbDataFormModelItem *, item, 
+        const char *, signal, 
+        QObject *, receiver, 
+        const char *, slot )
+   */ }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::removeAllConnection
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::removeAllConnection(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::removeAllConnection
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::removeAllConnection( 
+        HbDataFormModelItem * item )
+    {
+//    SMC_MOCK_METHOD1( void, HbDataFormModelItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::loadSettings
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::loadSettings(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::storeSettings
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::storeSettings(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::itemShown
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::itemShown( 
+        const QModelIndex & index )
+    {
+   // SMC_MOCK_METHOD1( void, const QModelIndex &, index )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::rowsInserted
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::rowsInserted( 
+        const QModelIndex & parent,
+        int start,
+        int end )
+    {
+//    SMC_MOCK_METHOD3( void, const QModelIndex &, parent, 
+  //      int, start, 
+    //    int, end )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::rowsAboutToBeRemoved
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::rowsAboutToBeRemoved( 
+        const QModelIndex & index,
+        int start,
+        int end )
+    {
+//    SMC_MOCK_METHOD3( void, const QModelIndex &, index, 
+  //      int, start, 
+    //    int, end )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::dataChanged
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::dataChanged( 
+        const QModelIndex & topLeft,
+        const QModelIndex & bottomRight )
+    {
+  //  SMC_MOCK_METHOD2( void, const QModelIndex &, topLeft, 
+    //    const QModelIndex &, bottomRight )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDataForm::initStyleOption
+// -----------------------------------------------------------------------------
+//
+void HbDataForm::initStyleOption( 
+        HbStyleOptionDataForm * option )
+    {
+ //   SMC_MOCK_METHOD1( void, HbStyleOptionDataForm *, option )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbdialog.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include <hbdialog.h>
+#include <HbAction.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbDialog::HbDialog
+// -----------------------------------------------------------------------------
+//
+HbDialog::HbDialog( 
+        QGraphicsItem * parent )
+    //:
+    //HbPopup( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::~HbDialog
+// -----------------------------------------------------------------------------
+//
+HbDialog::~HbDialog(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::headingWidget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget * HbDialog::headingWidget(  ) const
+    {
+    SMC_MOCK_METHOD0( QGraphicsWidget * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::setHeadingWidget
+// -----------------------------------------------------------------------------
+//
+void HbDialog::setHeadingWidget( 
+        QGraphicsWidget * headingWidget )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsWidget *, headingWidget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::contentWidget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget * HbDialog::contentWidget(  ) const
+    {
+    SMC_MOCK_METHOD0( QGraphicsWidget * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::setContentWidget
+// -----------------------------------------------------------------------------
+//
+void HbDialog::setContentWidget( 
+        QGraphicsWidget * contentWidget )
+    {
+    SMC_MOCK_METHOD1( void, QGraphicsWidget *, contentWidget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::primaryAction
+// -----------------------------------------------------------------------------
+//
+HbAction * HbDialog::primaryAction(  ) const
+    {
+    SMC_MOCK_METHOD0( HbAction * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::setPrimaryAction
+// -----------------------------------------------------------------------------
+//
+void HbDialog::setPrimaryAction( 
+        HbAction * action )
+    {
+    //SMC_MOCK_METHOD1( void, HbAction *, action )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::secondaryAction
+// -----------------------------------------------------------------------------
+//
+HbAction * HbDialog::secondaryAction(  ) const
+    {
+ //   SMC_MOCK_METHOD0( HbAction * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::setSecondaryAction
+// -----------------------------------------------------------------------------
+//
+void HbDialog::setSecondaryAction( 
+        HbAction * action )
+    {
+  //  SMC_MOCK_METHOD1( void, HbAction *, action )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::type
+// -----------------------------------------------------------------------------
+//
+/*
+int HbDialog::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// HbDialog::exec
+// -----------------------------------------------------------------------------
+//
+HbAction * HbDialog::exec(  )
+    {
+  //  SMC_MOCK_METHOD0( HbAction * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::HbDialog
+// -----------------------------------------------------------------------------
+//
+HbDialog::HbDialog( 
+        HbDialogPrivate & dd,
+        QGraphicsItem * parent )
+    //:
+    //HbPopup( /*dd, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::focusInEvent
+// -----------------------------------------------------------------------------
+//
+void HbDialog::focusInEvent( 
+        QFocusEvent * event )
+    {
+  //  SMC_MOCK_METHOD1( void, QFocusEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::closeEvent
+// -----------------------------------------------------------------------------
+//
+void HbDialog::closeEvent( 
+        QCloseEvent * event )
+    {
+ //   SMC_MOCK_METHOD1( void, QCloseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::changeEvent
+// -----------------------------------------------------------------------------
+//
+void HbDialog::changeEvent( 
+        QEvent * event )
+    {
+   // SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbDialog::event
+// -----------------------------------------------------------------------------
+//
+bool HbDialog::event( 
+        QEvent * event )
+    {
+  //  SMC_MOCK_METHOD1( bool, QEvent *, event )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbicon.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,374 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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>
+
+// ============================ 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 & operator HbIcon::=( 
+        const HbIcon & other )
+    {
+//    SMC_MOCK_METHOD1( HbIcon & operator, const HbIcon &, other )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::=
+// -----------------------------------------------------------------------------
+//
+bool operator = HbIcon::=( 
+        const HbIcon & other ) const
+    {
+//    SMC_MOCK_METHOD1( bool operator =, const HbIcon &, other )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::=
+// -----------------------------------------------------------------------------
+//
+bool operator HbIcon::=( 
+        const HbIcon & other ) const
+    {
+//    SMC_MOCK_METHOD1( bool operator, const HbIcon &, other )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::~HbIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon::~HbIcon(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::isNull
+// -----------------------------------------------------------------------------
+//
+bool HbIcon::isNull(  ) 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
+// -----------------------------------------------------------------------------
+//
+MirroringMode HbIcon::mirroringMode(  ) const
+    {
+//    SMC_MOCK_METHOD0( MirroringMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::setMirroringMode
+// -----------------------------------------------------------------------------
+//
+void HbIcon::setMirroringMode( 
+        MirroringMode mode )
+    {
+//    SMC_MOCK_METHOD1( void, MirroringMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbIcon::flags
+// -----------------------------------------------------------------------------
+//
+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::animator
+// -----------------------------------------------------------------------------
+//
+HbIconAnimator & HbIcon::animator(  )
+    {
+ //   SMC_MOCK_METHOD0( HbIconAnimator & )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblabel.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,586 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hblabel.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbLabel::Q_PROPERTY
+// -----------------------------------------------------------------------------
+/*
+void HbLabel::Q_PROPERTY( 
+        QString plainText READ plainText WRITE setPlainText ) Q_PROPERTY ( QString html READ html WRITE setHtml ) Q_PROPERTY ( Qt::Alignment alignment READ alignment WRITE setAlignment ) Q_PROPERTY ( Qt::TextElideMode elideMode READ elideMode WRITE setElideMode ) Q_PROPERTY ( Hb::TextWrapping textWrapping READ textWrapping WRITE setTextWrapping ) Q_PROPERTY ( QColor textColor READ textColor WRITE setTextColor ) Q_PROPERTY ( HbIcon icon READ icon WRITE setIcon ) Q_PROPERTY ( Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode WRITE setAspectRatioMode ) Q_ENUMS ( QIcon::Mode QIcon::State ) Q_PROPERTY ( QString text READ text WRITE setText NOTIFY textChanged USER true ) Q_PROPERTY ( QColor color READ color WRITE setColor ) Q_PROPERTY ( int textFlags READ textFlags WRITE setTextFlags ) Q_PROPERTY ( Hb::LogicalFontName logicalFont READ logicalFont WRITE setLogicalFont ) Q_PROPERTY ( QIcon::Mode mode READ mode WRITE setMode ) Q_PROPERTY ( QIcon::State state READ state WRITE setState ) Q_PROPERTY ( Qt::TextFormat textFormat READ textFormat WRITE setTextFormat ):HbLabel ( QGraphicsItem * parent )
+    {
+    SMC_MOCK_METHOD1( void, QString plainText READ plainText WRITE setPlainText ) Q_PROPERTY ( QString html READ html WRITE setHtml ) Q_PROPERTY ( Qt::Alignment alignment READ alignment WRITE setAlignment ) Q_PROPERTY ( Qt::TextElideMode elideMode READ elideMode WRITE setElideMode ) Q_PROPERTY ( Hb::TextWrapping textWrapping READ textWrapping WRITE setTextWrapping ) Q_PROPERTY ( QColor textColor READ textColor WRITE setTextColor ) Q_PROPERTY ( HbIcon icon READ icon WRITE setIcon ) Q_PROPERTY ( Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode WRITE setAspectRatioMode ) Q_ENUMS ( QIcon::Mode QIcon::State ) Q_PROPERTY ( QString text READ text WRITE setText NOTIFY textChanged USER true ) Q_PROPERTY ( QColor color READ color WRITE setColor ) Q_PROPERTY ( int textFlags READ textFlags WRITE setTextFlags ) Q_PROPERTY ( Hb::LogicalFontName logicalFont READ logicalFont WRITE setLogicalFont ) Q_PROPERTY ( QIcon::Mode mode READ mode WRITE setMode ) Q_PROPERTY ( QIcon::State state READ state WRITE setState ) Q_PROPERTY ( Qt::TextFormat textFormat READ textFormat WRITE setTextFormat ):HbLabel ( QGraphicsItem *, parent )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// HbLabel::HbLabel
+// -----------------------------------------------------------------------------
+//
+HbLabel::HbLabel( 
+        QGraphicsItem * parent )
+    {
+
+    }
+    
+// -----------------------------------------------------------------------------
+// HbLabel::HbLabel
+// -----------------------------------------------------------------------------
+//
+HbLabel::HbLabel( 
+        const QString & displayText,
+        QGraphicsItem * parent )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::~HbLabel
+// -----------------------------------------------------------------------------
+//
+HbLabel::~HbLabel(  )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::plainText
+// -----------------------------------------------------------------------------
+//
+QString HbLabel::plainText(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::html
+// -----------------------------------------------------------------------------
+//
+QString HbLabel::html(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setElideMode
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setElideMode( 
+        Qt::TextElideMode elideMode )
+    {
+   // SMC_MOCK_METHOD1( void, Qt::TextElideMode, elideMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::elideMode
+// -----------------------------------------------------------------------------
+//
+Qt::TextElideMode HbLabel::elideMode(  ) const
+    {
+   // SMC_MOCK_METHOD0( Qt::TextElideMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setTextWrapping
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setTextWrapping( 
+        Hb::TextWrapping mode )
+    {
+  //  SMC_MOCK_METHOD1( void, Hb::TextWrapping, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::textWrapping
+// -----------------------------------------------------------------------------
+//
+Hb::TextWrapping HbLabel::textWrapping(  ) const
+    {
+   // SMC_MOCK_METHOD0( Hb::TextWrapping )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setIcon
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setIcon( 
+        const HbIcon & icon )
+    {
+  //  SMC_MOCK_METHOD1( void, const HbIcon &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::icon
+// -----------------------------------------------------------------------------
+//
+HbIcon HbLabel::icon(  ) const
+    {
+   // SMC_MOCK_METHOD0( HbIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setAspectRatioMode
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setAspectRatioMode( 
+        Qt::AspectRatioMode mode )
+    {
+    //SMC_MOCK_METHOD1( void, Qt::AspectRatioMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::aspectRatioMode
+// -----------------------------------------------------------------------------
+//
+Qt::AspectRatioMode HbLabel::aspectRatioMode(  ) const
+    {
+   // SMC_MOCK_METHOD0( Qt::AspectRatioMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setAlignment
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setAlignment( 
+        Qt::Alignment alignment )
+    {
+   // SMC_MOCK_METHOD1( void, Qt::Alignment, alignment )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::alignment
+// -----------------------------------------------------------------------------
+//
+Qt::Alignment HbLabel::alignment(  ) const
+    {
+   // SMC_MOCK_METHOD0( Qt::Alignment )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setTextColor
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setTextColor( 
+        const QColor & textColor )
+    {
+   // SMC_MOCK_METHOD1( void, const QColor &, textColor )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::textColor
+// -----------------------------------------------------------------------------
+//
+QColor HbLabel::textColor(  ) const
+    {
+  //  SMC_MOCK_METHOD0( QColor )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::isEmpty
+// -----------------------------------------------------------------------------
+//
+bool HbLabel::isEmpty(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setGeometry
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setGeometry( 
+        const QRectF & rect )
+    {
+  //  SMC_MOCK_METHOD1( void, const QRectF &, rect )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::primitive
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbLabel::primitive( 
+        HbStyle::Primitive primitive ) const
+    {
+ //   SMC_MOCK_METHOD1( QGraphicsItem *, HbStyle::Primitive, primitive )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::type
+// -----------------------------------------------------------------------------
+//
+/*
+int HbLabel::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+*/
+
+// -----------------------------------------------------------------------------
+// HbLabel::setColor
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setColor( 
+        const QColor & textColor )
+    {
+  //  SMC_MOCK_METHOD1( void, const QColor &, textColor )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::color
+// -----------------------------------------------------------------------------
+//
+QColor HbLabel::color(  ) const
+    {
+   // SMC_MOCK_METHOD0( QColor )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setLogicalFont
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setLogicalFont( 
+        Hb::LogicalFontName logicalFont )
+    {
+ //   SMC_MOCK_METHOD1( void, Hb::LogicalFontName, logicalFont )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::logicalFont
+// -----------------------------------------------------------------------------
+//
+Hb::LogicalFontName HbLabel::logicalFont(  ) const
+    {
+   // SMC_MOCK_METHOD0( Hb::LogicalFontName )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::text
+// -----------------------------------------------------------------------------
+//
+QString HbLabel::text(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setTextFlags
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setTextFlags( 
+        int flags )
+    {
+    SMC_MOCK_METHOD1( void, int, flags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::textFlags
+// -----------------------------------------------------------------------------
+//
+int HbLabel::textFlags(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::effectiveFont
+// -----------------------------------------------------------------------------
+//
+QFont HbLabel::effectiveFont(  ) const
+    {
+  //  SMC_MOCK_METHOD0( QFont )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setMode
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setMode( 
+        QIcon::Mode mode )
+    {
+   // SMC_MOCK_METHOD1( void, QIcon::Mode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::mode
+// -----------------------------------------------------------------------------
+//
+QIcon::Mode HbLabel::mode(  ) const
+    {
+   // SMC_MOCK_METHOD0( QIcon::Mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setState
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setState( 
+        QIcon::State state )
+    {
+  //  SMC_MOCK_METHOD1( void, QIcon::State, state )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::state
+// -----------------------------------------------------------------------------
+//
+QIcon::State HbLabel::state(  ) const
+    {
+  //  SMC_MOCK_METHOD0( QIcon::State )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setTextFormat
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setTextFormat( 
+        Qt::TextFormat textFormat )
+    {
+ //   SMC_MOCK_METHOD1( void, Qt::TextFormat, textFormat )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::textFormat
+// -----------------------------------------------------------------------------
+//
+Qt::TextFormat HbLabel::textFormat(  ) const
+    {
+ //   SMC_MOCK_METHOD0( Qt::TextFormat )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setMirroringMode
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setMirroringMode( 
+        HbIcon::MirroringMode mirroringMode )
+    {
+ //   SMC_MOCK_METHOD1( void, HbIcon::MirroringMode, mirroringMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setIconFlags
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setIconFlags( 
+        HbIcon::Flags flags )
+    {
+ //   SMC_MOCK_METHOD1( void, HbIcon::Flags, flags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::isNull
+// -----------------------------------------------------------------------------
+//
+bool HbLabel::isNull(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setPlainText
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setPlainText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setHtml
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setHtml( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setNumber
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setNumber( 
+        int number )
+    {
+    SMC_MOCK_METHOD1( void, int, number )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setNumber
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setNumber( 
+        qreal number )
+    {
+    SMC_MOCK_METHOD1( void, qreal, number )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::updatePrimitives
+// -----------------------------------------------------------------------------
+//
+void HbLabel::updatePrimitives(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::clear
+// -----------------------------------------------------------------------------
+//
+void HbLabel::clear(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setText
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setNum
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setNum( 
+        int num )
+    {
+    SMC_MOCK_METHOD1( void, int, num )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::setNum
+// -----------------------------------------------------------------------------
+//
+void HbLabel::setNum( 
+        qreal num )
+    {
+    SMC_MOCK_METHOD1( void, qreal, num )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::toggleState
+// -----------------------------------------------------------------------------
+//
+void HbLabel::toggleState(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::HbLabel
+// -----------------------------------------------------------------------------
+//
+HbLabel::HbLabel( 
+        HbLabelPrivate & dd,
+        QGraphicsItem * parent )
+    {
+ //   SMC_MOCK_METHOD2( void, HbLabelPrivate &, dd, 
+ //       QGraphicsItem *, parent )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::resizeEvent
+// -----------------------------------------------------------------------------
+//
+void HbLabel::resizeEvent( 
+        QGraphicsSceneResizeEvent * event )
+    {
+  //  SMC_MOCK_METHOD1( void, QGraphicsSceneResizeEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::changeEvent
+// -----------------------------------------------------------------------------
+//
+void HbLabel::changeEvent( 
+        QEvent * event )
+    {
+ //   SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbLabel::initStyleOption
+// -----------------------------------------------------------------------------
+//
+void HbLabel::initStyleOption( 
+        HbStyleOptionLabel * option ) const
+    {
+//    SMC_MOCK_METHOD1( void, HbStyleOptionLabel *, option )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblistview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,248 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hblistview.h>
+#include <hbabstractitemview.h>
+#include <hbabstractitemcontainer.h>
+
+HbAbstractItemViewPrivate *pointerHbAbstractItemViewPrivate(NULL);
+HbAbstractItemContainer *pointerHbAbstractItemContainer(NULL);
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbListView::HbListView
+// -----------------------------------------------------------------------------
+//
+HbListView::HbListView( 
+        HbListViewPrivate & dd,
+        HbAbstractItemContainer * container,
+        QGraphicsItem * parent )
+    : HbAbstractItemView( *pointerHbAbstractItemViewPrivate, pointerHbAbstractItemContainer, parent )
+    {
+    
+    }
+
+HbListView::HbListView(QGraphicsItem *parent)
+    : HbAbstractItemView( *pointerHbAbstractItemViewPrivate, pointerHbAbstractItemContainer, parent )
+		{
+		
+		}
+
+// -----------------------------------------------------------------------------
+// HbListView::~HbListView
+// -----------------------------------------------------------------------------
+//
+HbListView::~HbListView(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::type
+// -----------------------------------------------------------------------------
+//
+
+int HbListView::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::listItemPrototype
+// -----------------------------------------------------------------------------
+//
+HbListViewItem * HbListView::listItemPrototype(  ) const
+    {
+   //  SMC_MOCK_METHOD0( HbListViewItem * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::arrangeMode
+// -----------------------------------------------------------------------------
+//
+bool HbListView::arrangeMode(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::setArrangeMode
+// -----------------------------------------------------------------------------
+//
+bool HbListView::setArrangeMode( 
+        bool arrangeMode )
+    {
+    SMC_MOCK_METHOD1( bool, bool, arrangeMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::viewItem
+// -----------------------------------------------------------------------------
+//
+HbAbstractViewItem * HbListView::viewItem( 
+        int row ) const
+    {
+  //   SMC_MOCK_METHOD1( HbAbstractViewItem *, int, row )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::scrollTo
+// -----------------------------------------------------------------------------
+//
+void HbListView::scrollTo( 
+        const QModelIndex & index,
+        ScrollHint hint )
+    {
+   //  SMC_MOCK_METHOD2( void, const QModelIndex &, index, 
+  //       ScrollHint, hint )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::rowsInserted
+// -----------------------------------------------------------------------------
+//
+void HbListView::rowsInserted( 
+        const QModelIndex & parent,
+        int start,
+        int end )
+    {
+  //   SMC_MOCK_METHOD3( void, const QModelIndex &, parent, 
+  //       int, start, 
+  //       int, end )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::rowsAboutToBeRemoved
+// -----------------------------------------------------------------------------
+//
+void HbListView::rowsAboutToBeRemoved( 
+        const QModelIndex & parent,
+        int start,
+        int end )
+    {
+  //   SMC_MOCK_METHOD3( void, const QModelIndex &, parent, 
+ //        int, start, 
+ //        int, end )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::rowsRemoved
+// -----------------------------------------------------------------------------
+//
+void HbListView::rowsRemoved( 
+        const QModelIndex & parent,
+        int start,
+        int end )
+    {
+ //    SMC_MOCK_METHOD3( void, const QModelIndex &, parent, 
+ //        int, start, 
+  //       int, end )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::dataChanged
+// -----------------------------------------------------------------------------
+//
+void HbListView::dataChanged( 
+        const QModelIndex & topLeft,
+        const QModelIndex & bottomRight )
+    {
+ //    SMC_MOCK_METHOD2( void, const QModelIndex &, topLeft, 
+ //        const QModelIndex &, bottomRight )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::orientationChanged
+// -----------------------------------------------------------------------------
+//
+void HbListView::orientationChanged( 
+        Qt::Orientation newOrientation )
+    {
+  //   SMC_MOCK_METHOD1( void, Qt::Orientation, newOrientation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::mousePressEvent
+// -----------------------------------------------------------------------------
+//
+void HbListView::mousePressEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+  //   SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::mouseReleaseEvent
+// -----------------------------------------------------------------------------
+//
+void HbListView::mouseReleaseEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+  //   SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::mouseMoveEvent
+// -----------------------------------------------------------------------------
+//
+void HbListView::mouseMoveEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+  //   SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::move
+// -----------------------------------------------------------------------------
+//
+void HbListView::move( 
+        const QModelIndex & from,
+        const QModelIndex & to )
+    {
+   //  SMC_MOCK_METHOD2( void, const QModelIndex &, from, 
+  //       const QModelIndex &, to )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListView::scrolling
+// -----------------------------------------------------------------------------
+//
+void HbListView::scrolling( 
+        QPointF newPosition )
+    {
+   //  SMC_MOCK_METHOD1( void, QPointF, newPosition )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblistwidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,333 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hblistwidget.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbListWidget::HbListWidget
+// -----------------------------------------------------------------------------
+//
+HbListWidget::HbListWidget( 
+        HbListWidgetPrivate & dd,
+        HbAbstractItemContainer * container,
+        QGraphicsItem * parent )
+    :
+    HbListView( parent )
+    {
+    
+    }
+    
+HbListWidget::HbListWidget(QGraphicsItem *parent)
+    : HbListView( parent )
+		{
+		
+		}
+
+// -----------------------------------------------------------------------------
+// HbListWidget::~HbListWidget
+// -----------------------------------------------------------------------------
+//
+HbListWidget::~HbListWidget(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::count
+// -----------------------------------------------------------------------------
+//
+int HbListWidget::count(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::currentRow
+// -----------------------------------------------------------------------------
+//
+int HbListWidget::currentRow(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::setCurrentRow
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::setCurrentRow( 
+        int row )
+    {
+    SMC_MOCK_METHOD1( void, int, row )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::currentItem
+// -----------------------------------------------------------------------------
+//
+HbListWidgetItem * HbListWidget::currentItem(  ) const
+    {
+  //  SMC_MOCK_METHOD0( HbListWidgetItem * )
+    return NULL;
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::setCurrentItem
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::setCurrentItem( 
+        HbListWidgetItem * item )
+    {
+  //   SMC_MOCK_METHOD1( void, HbListWidgetItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::item
+// -----------------------------------------------------------------------------
+//
+HbListWidgetItem * HbListWidget::item( 
+        int row ) const
+    {
+  //   SMC_MOCK_METHOD1( HbListWidgetItem *, int, row )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::row
+// -----------------------------------------------------------------------------
+//
+int HbListWidget::row( 
+        const HbListWidgetItem * item ) const
+    {
+   //  SMC_MOCK_METHOD1( int, const HbListWidgetItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::addItem
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::addItem( 
+        const HbIcon & icon,
+        const QString & text )
+    {
+  //   SMC_MOCK_METHOD2( void, const HbIcon &, icon, 
+   //      const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::addItem
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::addItem( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::addItem
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::addItem( 
+        HbListWidgetItem * item )
+    {
+  //   SMC_MOCK_METHOD1( void, HbListWidgetItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::insertItem
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::insertItem( 
+        int row,
+        const HbIcon & icon,
+        const QString & text )
+    {
+ //    SMC_MOCK_METHOD3( void, int, row, 
+ //        const HbIcon &, icon, 
+ //        const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::insertItem
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::insertItem( 
+        int row,
+        const QString & text )
+    {
+    SMC_MOCK_METHOD2( void, int, row, 
+        const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::insertItem
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::insertItem( 
+        int row,
+        HbListWidgetItem * item )
+    {
+  //   SMC_MOCK_METHOD2( void, int, row, 
+  //       HbListWidgetItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::setText
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::setText( 
+        int row,
+        const QString & text )
+    {
+    SMC_MOCK_METHOD2( void, int, row, 
+        const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::setIcon
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::setIcon( 
+        int row,
+        const HbIcon & icon )
+    {
+ //    SMC_MOCK_METHOD2( void, int, row, 
+  //       const HbIcon &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::takeItem
+// -----------------------------------------------------------------------------
+//
+HbListWidgetItem * HbListWidget::takeItem( 
+        int row )
+    {
+  //   SMC_MOCK_METHOD1( HbListWidgetItem *, int, row )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::setArrangeMode
+// -----------------------------------------------------------------------------
+//
+bool HbListWidget::setArrangeMode( 
+        bool arrangeMode )
+    {
+    SMC_MOCK_METHOD1( bool, bool, arrangeMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::clear
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::clear(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::setModel
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::setModel( 
+        QAbstractItemModel * model,
+        HbAbstractViewItem * prototype )
+    {
+  //   SMC_MOCK_METHOD2( void, QAbstractItemModel *, model, 
+ //        HbAbstractViewItem *, prototype )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::activated
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::activated( 
+        HbListWidgetItem * item )
+    {
+ //    SMC_MOCK_METHOD1( void, HbListWidgetItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::pressed
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::pressed( 
+        HbListWidgetItem * item )
+    {
+  //   SMC_MOCK_METHOD1( void, HbListWidgetItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::released
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::released( 
+        HbListWidgetItem * item )
+    {
+  //   SMC_MOCK_METHOD1( void, HbListWidgetItem *, item )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::longPressed
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::longPressed( 
+        HbListWidgetItem * item,
+        const QPointF & coords )
+    {
+  //   SMC_MOCK_METHOD2( void, HbListWidgetItem *, item, 
+  //       const QPointF &, coords )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidget::move
+// -----------------------------------------------------------------------------
+//
+void HbListWidget::move( 
+        const QModelIndex & from,
+        const QModelIndex & to )
+    {
+  //   SMC_MOCK_METHOD2( void, const QModelIndex &, from, 
+   //      const QModelIndex &, to )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hblistwidgetitem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,224 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hblistwidgetitem.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::HbListWidgetItem
+// -----------------------------------------------------------------------------
+//
+HbListWidgetItem::HbListWidgetItem( 
+        int type )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::~HbListWidgetItem
+// -----------------------------------------------------------------------------
+//
+HbListWidgetItem::~HbListWidgetItem(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::data
+// -----------------------------------------------------------------------------
+//
+QVariant HbListWidgetItem::data( 
+        int role ) const
+    {
+ //   SMC_MOCK_METHOD1( QVariant, int, role )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::setData
+// -----------------------------------------------------------------------------
+//
+void HbListWidgetItem::setData( 
+        const QVariant & value,
+        int role )
+    {
+//    SMC_MOCK_METHOD2( void, const QVariant &, value, 
+//        int, role )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::text
+// -----------------------------------------------------------------------------
+//
+QString HbListWidgetItem::text(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::setText
+// -----------------------------------------------------------------------------
+//
+void HbListWidgetItem::setText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::secondaryText
+// -----------------------------------------------------------------------------
+//
+QString HbListWidgetItem::secondaryText(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::setSecondaryText
+// -----------------------------------------------------------------------------
+//
+void HbListWidgetItem::setSecondaryText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::decorationText
+// -----------------------------------------------------------------------------
+//
+QString HbListWidgetItem::decorationText(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::setDecorationText
+// -----------------------------------------------------------------------------
+//
+void HbListWidgetItem::setDecorationText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::decorationIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon HbListWidgetItem::decorationIcon(  ) const
+    {
+//    SMC_MOCK_METHOD0( HbIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::setDecorationIcon
+// -----------------------------------------------------------------------------
+//
+void HbListWidgetItem::setDecorationIcon( 
+        const HbIcon & icon )
+    {
+//    SMC_MOCK_METHOD1( void, const HbIcon &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::secondaryDecorationText
+// -----------------------------------------------------------------------------
+//
+QString HbListWidgetItem::secondaryDecorationText(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::setSecondaryDecorationText
+// -----------------------------------------------------------------------------
+//
+void HbListWidgetItem::setSecondaryDecorationText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::secondaryDecorationIcon
+// -----------------------------------------------------------------------------
+//
+HbIcon HbListWidgetItem::secondaryDecorationIcon(  ) const
+    {
+//    SMC_MOCK_METHOD0( HbIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::setSecondaryDecorationIcon
+// -----------------------------------------------------------------------------
+//
+void HbListWidgetItem::setSecondaryDecorationIcon( 
+        const HbIcon & icon )
+    {
+//    SMC_MOCK_METHOD1( void, const HbIcon &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::setEnabled
+// -----------------------------------------------------------------------------
+//
+void HbListWidgetItem::setEnabled( 
+        bool enabled )
+    {
+    SMC_MOCK_METHOD1( void, bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::isEnabled
+// -----------------------------------------------------------------------------
+//
+bool HbListWidgetItem::isEnabled(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbListWidgetItem::type
+// -----------------------------------------------------------------------------
+//
+int HbListWidgetItem::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbpopup.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,352 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hbpopup.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbPopup::HbPopup
+// -----------------------------------------------------------------------------
+//
+HbPopup::HbPopup( 
+        QGraphicsItem * parent )
+    //:
+    //HbWidget( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::Q_ENUMS
+// -----------------------------------------------------------------------------
+//
+/*
+void HbPopup::Q_ENUMS( 
+        DefaultTimeout DismissPolicy FrameType ) Q_PROPERTY ( int timeout READ timeout WRITE setTimeout ) Q_PROPERTY ( bool modal READ isModal WRITE setModal ) Q_PROPERTY ( bool backgroundFaded READ isBackgroundFaded WRITE setBackgroundFaded ) Q_PROPERTY ( DismissPolicy dismissPolicy READ dismissPolicy WRITE setDismissPolicy ) Q_PROPERTY ( FrameType frameType READ frameType WRITE setFrameType )
+    {
+    SMC_MOCK_METHOD1( void, DefaultTimeout DismissPolicy FrameType ) Q_PROPERTY ( int timeout READ timeout WRITE setTimeout ) Q_PROPERTY ( bool modal READ isModal WRITE setModal ) Q_PROPERTY ( bool backgroundFaded READ isBackgroundFaded WRITE setBackgroundFaded ) Q_PROPERTY ( DismissPolicy dismissPolicy READ dismissPolicy WRITE setDismissPolicy ) Q_PROPERTY ( FrameType frameType READ frameType WRITE, setFrameType )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// HbPopup::~HbPopup
+// -----------------------------------------------------------------------------
+//
+HbPopup::~HbPopup(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::timeout
+// -----------------------------------------------------------------------------
+//
+int HbPopup::timeout(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::setTimeout
+// -----------------------------------------------------------------------------
+//
+void HbPopup::setTimeout( 
+        int timeout )
+    {
+    SMC_MOCK_METHOD1( void, int, timeout )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::setTimeout
+// -----------------------------------------------------------------------------
+//
+void HbPopup::setTimeout( 
+        HbPopup::DefaultTimeout timeout )
+    {
+    SMC_MOCK_METHOD1( void, HbPopup::DefaultTimeout, timeout )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::isModal
+// -----------------------------------------------------------------------------
+//
+bool HbPopup::isModal(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::setModal
+// -----------------------------------------------------------------------------
+//
+void HbPopup::setModal( 
+        bool enabled )
+    {
+    SMC_MOCK_METHOD1( void, bool, enabled )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::setBackgroundFaded
+// -----------------------------------------------------------------------------
+//
+void HbPopup::setBackgroundFaded( 
+        bool fadeBackground )
+    {
+    SMC_MOCK_METHOD1( void, bool, fadeBackground )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::isBackgroundFaded
+// -----------------------------------------------------------------------------
+//
+bool HbPopup::isBackgroundFaded(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::dismissPolicy
+// -----------------------------------------------------------------------------
+//
+HbPopup::DismissPolicy HbPopup::dismissPolicy(  ) const
+    {
+    SMC_MOCK_METHOD0( DismissPolicy )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::setDismissPolicy
+// -----------------------------------------------------------------------------
+//
+void HbPopup::setDismissPolicy( 
+        HbPopup::DismissPolicy dismissPolicy )
+    {
+    SMC_MOCK_METHOD1( void, HbPopup::DismissPolicy, dismissPolicy )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::frameType
+// -----------------------------------------------------------------------------
+//
+HbPopup::FrameType HbPopup::frameType(  ) const
+    {
+    SMC_MOCK_METHOD0( FrameType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::setFrameType
+// -----------------------------------------------------------------------------
+//
+void HbPopup::setFrameType( 
+        HbPopup::FrameType frameType )
+    {
+    SMC_MOCK_METHOD1( void, HbPopup::FrameType, frameType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::type
+// -----------------------------------------------------------------------------
+//
+/*
+int HbPopup::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// HbPopup::setPreferredPos
+// -----------------------------------------------------------------------------
+//
+void HbPopup::setPreferredPos( 
+        const QPointF & position,
+        HbPopup::Placement placement )
+    {
+    //SMC_MOCK_METHOD2( void, const QPointF &, position, 
+      //  HbPopup::Placement, placement )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::exec
+// -----------------------------------------------------------------------------
+//
+void HbPopup::exec(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::aboutToShow
+// -----------------------------------------------------------------------------
+//
+void HbPopup::aboutToShow(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::aboutToHide
+// -----------------------------------------------------------------------------
+//
+void HbPopup::aboutToHide(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::aboutToClose
+// -----------------------------------------------------------------------------
+//
+void HbPopup::aboutToClose(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::HbPopup
+// -----------------------------------------------------------------------------
+//
+HbPopup::HbPopup( 
+        HbPopupPrivate & dd,
+        QGraphicsItem * parent )
+    //:
+    //HbWidget( /*dd, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::itemChange
+// -----------------------------------------------------------------------------
+//
+QVariant HbPopup::itemChange( 
+        GraphicsItemChange change,
+        const QVariant & value )
+    {
+  //  SMC_MOCK_METHOD2( QVariant, GraphicsItemChange, change, 
+    //    const QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::mousePressEvent
+// -----------------------------------------------------------------------------
+//
+void HbPopup::mousePressEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+ //   SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::mouseReleaseEvent
+// -----------------------------------------------------------------------------
+//
+void HbPopup::mouseReleaseEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+   // SMC_MOCK_METHOD1( void, QGraphicsSceneMouseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::keyPressEvent
+// -----------------------------------------------------------------------------
+//
+void HbPopup::keyPressEvent( 
+        QKeyEvent * event )
+    {
+    //SMC_MOCK_METHOD1( void, QKeyEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::showEvent
+// -----------------------------------------------------------------------------
+//
+void HbPopup::showEvent( 
+        QShowEvent * event )
+    {
+    //SMC_MOCK_METHOD1( void, QShowEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::hideEvent
+// -----------------------------------------------------------------------------
+//
+void HbPopup::hideEvent( 
+        QHideEvent * event )
+    {
+    //SMC_MOCK_METHOD1( void, QHideEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::resizeEvent
+// -----------------------------------------------------------------------------
+//
+void HbPopup::resizeEvent( 
+        QGraphicsSceneResizeEvent * event )
+    {
+  //  SMC_MOCK_METHOD1( void, QGraphicsSceneResizeEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::closeEvent
+// -----------------------------------------------------------------------------
+//
+void HbPopup::closeEvent( 
+        QCloseEvent * event )
+    {
+  //  SMC_MOCK_METHOD1( void, QCloseEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbPopup::event
+// -----------------------------------------------------------------------------
+//
+bool HbPopup::event( 
+        QEvent * event )
+    {
+  //  SMC_MOCK_METHOD1( bool, QEvent *, event )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbscrollarea.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,586 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hbscrollarea.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::HbScrollArea
+// -----------------------------------------------------------------------------
+//
+HbScrollArea::HbScrollArea( 
+        HbScrollAreaPrivate & dd,
+        QGraphicsItem * parent )
+    //:
+    //HbWidget( /*dd, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::Q_PROPERTY
+// -----------------------------------------------------------------------------
+//
+/*
+void HbScrollArea::Q_PROPERTY( 
+        Qt::Orientations scrollDirections READ scrollDirections WRITE setScrollDirections ) Q_PROPERTY ( ClampingStyle clampingStyle READ clampingStyle WRITE setClampingStyle ) Q_PROPERTY ( ScrollingStyle scrollingStyle READ scrollingStyle WRITE setScrollingStyle ) Q_PROPERTY ( bool frictionEnabled READ frictionEnabled WRITE setFrictionEnabled ) Q_PROPERTY ( bool longPressEnabled READ longPressEnabled WRITE setLongPressEnabled ) Q_PROPERTY ( ScrollBarPolicy verticalScrollBarPolicy READ verticalScrollBarPolicy WRITE setVerticalScrollBarPolicy ) Q_PROPERTY ( ScrollBarPolicy horizontalScrollBarPolicy READ horizontalScrollBarPolicy WRITE setHorizontalScrollBarPolicy ) Q_PROPERTY ( Qt::Alignment alignment READ alignment WRITE setAlignment ) Q_PROPERTY ( bool continuationIndicators READ continuationIndicators WRITE setContinuationIndicators ) Q_ENUMS ( ClampingStyle ) Q_ENUMS ( ScrollingStyle ) Q_ENUMS ( ScrollBarPolicy ):HbScrollArea ( QGraphicsItem * parent )
+    {
+    SMC_MOCK_METHOD1( void, Qt::Orientations scrollDirections READ scrollDirections WRITE setScrollDirections ) Q_PROPERTY ( ClampingStyle clampingStyle READ clampingStyle WRITE setClampingStyle ) Q_PROPERTY ( ScrollingStyle scrollingStyle READ scrollingStyle WRITE setScrollingStyle ) Q_PROPERTY ( bool frictionEnabled READ frictionEnabled WRITE setFrictionEnabled ) Q_PROPERTY ( bool longPressEnabled READ longPressEnabled WRITE setLongPressEnabled ) Q_PROPERTY ( ScrollBarPolicy verticalScrollBarPolicy READ verticalScrollBarPolicy WRITE setVerticalScrollBarPolicy ) Q_PROPERTY ( ScrollBarPolicy horizontalScrollBarPolicy READ horizontalScrollBarPolicy WRITE setHorizontalScrollBarPolicy ) Q_PROPERTY ( Qt::Alignment alignment READ alignment WRITE setAlignment ) Q_PROPERTY ( bool continuationIndicators READ continuationIndicators WRITE setContinuationIndicators ) Q_ENUMS ( ClampingStyle ) Q_ENUMS ( ScrollingStyle ) Q_ENUMS ( ScrollBarPolicy ):HbScrollArea ( QGraphicsItem *, parent )
+    }*/
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::~HbScrollArea
+// -----------------------------------------------------------------------------
+//
+HbScrollArea::~HbScrollArea(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::contentWidget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget * HbScrollArea::contentWidget(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setContentWidget
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setContentWidget( 
+        QGraphicsWidget * widget )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::takeContentWidget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget * HbScrollArea::takeContentWidget(  )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::clampingStyle
+// -----------------------------------------------------------------------------
+//
+HbScrollArea::ClampingStyle HbScrollArea::clampingStyle(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setClampingStyle
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setClampingStyle( 
+        ClampingStyle value )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::scrollingStyle
+// -----------------------------------------------------------------------------
+//
+HbScrollArea::ScrollingStyle HbScrollArea::scrollingStyle(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setScrollingStyle
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setScrollingStyle( 
+        ScrollingStyle value )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::scrollDirections
+// -----------------------------------------------------------------------------
+//
+Qt::Orientations HbScrollArea::scrollDirections(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setScrollDirections
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setScrollDirections( 
+        Qt::Orientations value )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::frictionEnabled
+// -----------------------------------------------------------------------------
+//
+bool HbScrollArea::frictionEnabled(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setFrictionEnabled
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setFrictionEnabled( 
+        bool value )
+    {
+    SMC_MOCK_METHOD1( void, bool, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::longPressEnabled
+// -----------------------------------------------------------------------------
+//
+bool HbScrollArea::longPressEnabled(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setLongPressEnabled
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setLongPressEnabled( 
+        bool value )
+    {
+    SMC_MOCK_METHOD1( void, bool, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::verticalScrollBarPolicy
+// -----------------------------------------------------------------------------
+//
+HbScrollArea::ScrollBarPolicy HbScrollArea::verticalScrollBarPolicy(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setVerticalScrollBarPolicy
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setVerticalScrollBarPolicy( 
+        HbScrollArea::ScrollBarPolicy policy )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::verticalScrollBar
+// -----------------------------------------------------------------------------
+//
+HbScrollBar * HbScrollArea::verticalScrollBar(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setVerticalScrollBar
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setVerticalScrollBar( 
+        HbScrollBar * scrollBar )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::horizontalScrollBarPolicy
+// -----------------------------------------------------------------------------
+//
+HbScrollArea::ScrollBarPolicy HbScrollArea::horizontalScrollBarPolicy(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setHorizontalScrollBarPolicy
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setHorizontalScrollBarPolicy( 
+        HbScrollArea::ScrollBarPolicy policy )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::horizontalScrollBar
+// -----------------------------------------------------------------------------
+//
+HbScrollBar * HbScrollArea::horizontalScrollBar(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setHorizontalScrollBar
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setHorizontalScrollBar( 
+        HbScrollBar * scrollBar )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::alignment
+// -----------------------------------------------------------------------------
+//
+Qt::Alignment HbScrollArea::alignment(  ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setAlignment
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setAlignment( 
+        Qt::Alignment alignment )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::continuationIndicators
+// -----------------------------------------------------------------------------
+//
+bool HbScrollArea::continuationIndicators(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::setContinuationIndicators
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::setContinuationIndicators( 
+        bool indication )
+    {
+    SMC_MOCK_METHOD1( void, bool, indication )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::isScrolling
+// -----------------------------------------------------------------------------
+//
+bool HbScrollArea::isScrolling(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::isDragging
+// -----------------------------------------------------------------------------
+//
+bool HbScrollArea::isDragging(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::ensureVisible
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::ensureVisible( 
+        const QPointF & position,
+        qreal xMargin,
+        qreal yMargin )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::scrollContentsTo
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::scrollContentsTo( 
+        const QPointF & newPosition,
+        int time )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::mousePressEvent
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::mousePressEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::mouseReleaseEvent
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::mouseReleaseEvent( 
+        QGraphicsSceneMouseEvent * event )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::sizeHint
+// -----------------------------------------------------------------------------
+//
+QSizeF HbScrollArea::sizeHint( 
+        Qt::SizeHint which,
+        const QSizeF & constraint ) const
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::itemChange
+// -----------------------------------------------------------------------------
+//
+QVariant HbScrollArea::itemChange( 
+        GraphicsItemChange change,
+        const QVariant & value )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::event
+// -----------------------------------------------------------------------------
+//
+bool HbScrollArea::event( 
+        QEvent * event )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::focusOutEvent
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::focusOutEvent( 
+        QFocusEvent * event )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::scrollByAmount
+// -----------------------------------------------------------------------------
+//
+bool HbScrollArea::scrollByAmount( 
+        const QPointF & delta )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::polish
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::polish( 
+        HbStyleParameters & params )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::eventFilter
+// -----------------------------------------------------------------------------
+//
+bool HbScrollArea::eventFilter( 
+        QObject * obj,
+        QEvent * event )
+    {
+  
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::scrollingStarted
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::scrollingStarted(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::scrollingEnded
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::scrollingEnded(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::scrollDirectionsChanged
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::scrollDirectionsChanged( 
+        Qt::Orientations newValue )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::gestureSceneFilterChanged
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::gestureSceneFilterChanged( 
+        HbGestureSceneFilter * newFilter )
+    {
+   
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::scrollPositionChanged
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::scrollPositionChanged( 
+        const QPointF & newPosition )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::upGesture
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::upGesture( 
+        int value )
+    {
+    SMC_MOCK_METHOD1( void, int, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::downGesture
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::downGesture( 
+        int value )
+    {
+    SMC_MOCK_METHOD1( void, int, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::leftGesture
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::leftGesture( 
+        int value )
+    {
+    SMC_MOCK_METHOD1( void, int, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::rightGesture
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::rightGesture( 
+        int value )
+    {
+    SMC_MOCK_METHOD1( void, int, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::panGesture
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::panGesture( 
+        const QPointF & point )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbScrollArea::longPressGesture
+// -----------------------------------------------------------------------------
+//
+void HbScrollArea::longPressGesture( 
+        const QPointF & point )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,335 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hbview.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbView::HbView
+// -----------------------------------------------------------------------------
+//
+HbView::HbView( 
+        QGraphicsItem * parent )
+    //:
+    //HbWidget( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::~HbView
+// -----------------------------------------------------------------------------
+//
+HbView::~HbView(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::title
+// -----------------------------------------------------------------------------
+//
+QString HbView::title(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::icon
+// -----------------------------------------------------------------------------
+//
+HbIcon HbView::icon(  ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setIcon
+// -----------------------------------------------------------------------------
+//
+void HbView::setIcon( 
+        const HbIcon & )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::menu
+// -----------------------------------------------------------------------------
+//
+HbMenu * HbView::menu(  ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setMenu
+// -----------------------------------------------------------------------------
+//
+void HbView::setMenu( 
+        HbMenu * )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::takeMenu
+// -----------------------------------------------------------------------------
+//
+HbMenu * HbView::takeMenu(  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::toolBar
+// -----------------------------------------------------------------------------
+//
+HbToolBar * HbView::toolBar(  ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setToolBar
+// -----------------------------------------------------------------------------
+//
+void HbView::setToolBar( 
+        HbToolBar *  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::takeToolBar
+// -----------------------------------------------------------------------------
+//
+HbToolBar * HbView::takeToolBar(  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::dockWidget
+// -----------------------------------------------------------------------------
+//
+HbDockWidget * HbView::dockWidget(  ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setDockWidget
+// -----------------------------------------------------------------------------
+//
+void HbView::setDockWidget( 
+        HbDockWidget *  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::widget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget * HbView::widget(  ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setWidget
+// -----------------------------------------------------------------------------
+//
+void HbView::setWidget( 
+        QGraphicsWidget *  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::takeWidget
+// -----------------------------------------------------------------------------
+//
+QGraphicsWidget * HbView::takeWidget(  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::showItems
+// -----------------------------------------------------------------------------
+//
+void HbView::showItems( 
+        Hb::SceneItems  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::hideItems
+// -----------------------------------------------------------------------------
+//
+void HbView::hideItems( 
+        Hb::SceneItems  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::visibleItems
+// -----------------------------------------------------------------------------
+//
+Hb::SceneItems HbView::visibleItems(  ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::isItemVisible
+// -----------------------------------------------------------------------------
+//
+bool HbView::isItemVisible( 
+        Hb::SceneItem  ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setItemVisible
+// -----------------------------------------------------------------------------
+//
+void HbView::setItemVisible( 
+        Hb::SceneItem ,
+        bool  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::unsetVisibleItems
+// -----------------------------------------------------------------------------
+//
+void HbView::unsetVisibleItems(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::isContentFullScreen
+// -----------------------------------------------------------------------------
+//
+bool HbView::isContentFullScreen(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::titleBarFlags
+// -----------------------------------------------------------------------------
+//
+HbView::HbTitleBarFlags HbView::titleBarFlags(  ) const
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setTitleBarVisible
+// -----------------------------------------------------------------------------
+//
+void HbView::setTitleBarVisible( 
+        bool visible )
+    {
+    SMC_MOCK_METHOD1( void, bool, visible )
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// HbView::addAction
+// -----------------------------------------------------------------------------
+//
+void HbView::addAction( 
+        HbAction * ,
+        ActionContainer  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setTitle
+// -----------------------------------------------------------------------------
+//
+void HbView::setTitle( 
+        const QString & title )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, title )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setContentFullScreen
+// -----------------------------------------------------------------------------
+//
+void HbView::setContentFullScreen( 
+        bool enable )
+    {
+    SMC_MOCK_METHOD1( void, bool, enable )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::setTitleBarFlags
+// -----------------------------------------------------------------------------
+//
+void HbView::setTitleBarFlags( 
+        HbView::HbTitleBarFlags  )
+    {
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::HbView
+// -----------------------------------------------------------------------------
+//
+HbView::HbView( 
+        HbViewPrivate & ,
+        QGraphicsItem *  )
+    //:
+    //HbWidget( /*dd, parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbView::event
+// -----------------------------------------------------------------------------
+//
+bool HbView::event( 
+        QEvent *  )
+    {
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,521 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <hbwidget.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbWidget::HbWidget
+// -----------------------------------------------------------------------------
+//
+HbWidget::HbWidget( 
+        QGraphicsItem * parent,
+        Qt::WindowFlags wFlags )
+    //:
+    //HbWidgetBase( /*parent, wFlags*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::Q_ENUMS
+// -----------------------------------------------------------------------------
+//
+/*
+void HbWidget::Q_ENUMS( 
+        FocusDelegation FocusMode ) Q_PROPERTY ( QString toolTipText READ toolTip WRITE setToolTip ) Q_PROPERTY ( HbWidget::FocusDelegation focusDelegation READ focusDelegation WRITE setFocusDelegation ) Q_PROPERTY ( bool focusLooping READ hasFocusLooping WRITE setFocusLooping ) Q_PROPERTY ( HbWidget::FocusMode focusMode READ focusMode WRITE setFocusMode )
+    {
+    SMC_MOCK_METHOD1( void, FocusDelegation FocusMode ) Q_PROPERTY ( QString toolTipText READ toolTip WRITE setToolTip ) Q_PROPERTY ( HbWidget::FocusDelegation focusDelegation READ focusDelegation WRITE setFocusDelegation ) Q_PROPERTY ( bool focusLooping READ hasFocusLooping WRITE setFocusLooping ) Q_PROPERTY ( HbWidget::FocusMode focusMode READ focusMode WRITE, setFocusMode )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// HbWidget::~HbWidget
+// -----------------------------------------------------------------------------
+//
+HbWidget::~HbWidget(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::event
+// -----------------------------------------------------------------------------
+//
+bool HbWidget::event( 
+        QEvent * e )
+    {
+  //  SMC_MOCK_METHOD1( bool, QEvent *, e )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setStyle
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setStyle( 
+        HbStyle * style )
+    {
+ //   SMC_MOCK_METHOD1( void, HbStyle *, style )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::style
+// -----------------------------------------------------------------------------
+//
+HbStyle * HbWidget::style(  ) const
+    {
+   // SMC_MOCK_METHOD0( HbStyle * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::clearActions
+// -----------------------------------------------------------------------------
+//
+void HbWidget::clearActions(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::type
+// -----------------------------------------------------------------------------
+/*
+int HbWidget::type(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// HbWidget::pluginBaseId
+// -----------------------------------------------------------------------------
+//
+int HbWidget::pluginBaseId(  ) const
+    {
+    SMC_MOCK_METHOD0( int )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::mainWindow
+// -----------------------------------------------------------------------------
+//
+HbMainWindow * HbWidget::mainWindow(  ) const
+    {
+   // SMC_MOCK_METHOD0( HbMainWindow * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::primitive
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbWidget::primitive( 
+        HbStyle::Primitive primitive ) const
+    {
+  //  SMC_MOCK_METHOD1( QGraphicsItem *, HbStyle::Primitive, primitive )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusOrientation
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusOrientation( 
+        Qt::Orientations previous,
+        Qt::Orientations next )
+    {
+   // SMC_MOCK_METHOD2( void, Qt::Orientations, previous, 
+     //   Qt::Orientations, next )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::keyForFocusNextChild
+// -----------------------------------------------------------------------------
+//
+QKeySequence HbWidget::keyForFocusNextChild(  ) const
+    {
+   // SMC_MOCK_METHOD0( QKeySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::keyForFocusPreviousChild
+// -----------------------------------------------------------------------------
+//
+QKeySequence HbWidget::keyForFocusPreviousChild(  ) const
+    {
+  //  SMC_MOCK_METHOD0( QKeySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setKeyFocusMode
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setKeyFocusMode( 
+        const QKeySequence & key )
+    {
+//    SMC_MOCK_METHOD1( void, const QKeySequence &, key )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::keyFocusMode
+// -----------------------------------------------------------------------------
+//
+QKeySequence HbWidget::keyFocusMode(  ) const
+    {
+//    SMC_MOCK_METHOD0( QKeySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::lastFocusedChild
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbWidget::lastFocusedChild(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QGraphicsItem * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusOrder
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusOrder( 
+        QGraphicsItem * first,
+        QGraphicsItem * second )
+    {
+   // SMC_MOCK_METHOD2( void, QGraphicsItem *, first, 
+     //   QGraphicsItem *, second )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusDelegation
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusDelegation( 
+        HbWidget::FocusDelegation focusDelegation )
+    {
+ //   SMC_MOCK_METHOD1( void, HbWidget::FocusDelegation, focusDelegation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusDelegation
+// -----------------------------------------------------------------------------
+//
+HbWidget::FocusDelegation HbWidget::focusDelegation(  ) const
+    {
+  //  SMC_MOCK_METHOD0( HbWidget::FocusDelegation )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusLooping
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusLooping( 
+        bool enable )
+    {
+    SMC_MOCK_METHOD1( void, bool, enable )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::hasFocusLooping
+// -----------------------------------------------------------------------------
+//
+bool HbWidget::hasFocusLooping(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusMode
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusMode( 
+        HbWidget:: FocusMode )
+    {
+   // SMC_MOCK_METHOD1( void, HbWidget::, FocusMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusMode
+// -----------------------------------------------------------------------------
+//
+HbWidget::FocusMode HbWidget::focusMode(  ) const
+    {
+  //  SMC_MOCK_METHOD0( HbWidget::FocusMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setFocusHighlight
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setFocusHighlight( 
+        HbStyle::Primitive type,
+        HbWidget::FocusHighlight focusHighlight )
+    {
+  //  SMC_MOCK_METHOD2( void, HbStyle::Primitive, type, 
+    //    HbWidget::FocusHighlight, focusHighlight )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusHighlight
+// -----------------------------------------------------------------------------
+//
+HbStyle::Primitive HbWidget::focusHighlight( 
+        HbWidget::FocusHighlight focusHighlight )
+    {
+ //   SMC_MOCK_METHOD1( HbStyle::Primitive, HbWidget::FocusHighlight, focusHighlight )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setBackgroundItem
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setBackgroundItem( 
+        HbStyle::Primitive type,
+        int zValue )
+    {
+  //  SMC_MOCK_METHOD2( void, HbStyle::Primitive, type, 
+    //    int, zValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setBackgroundItem
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setBackgroundItem( 
+        QGraphicsItem * item,
+        int zValue )
+    {
+   // SMC_MOCK_METHOD2( void, QGraphicsItem *, item, 
+     //   int, zValue )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::backgroundItem
+// -----------------------------------------------------------------------------
+//
+QGraphicsItem * HbWidget::backgroundItem(  ) const
+    {
+   // SMC_MOCK_METHOD0( QGraphicsItem * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::overrideFeedback
+// -----------------------------------------------------------------------------
+//
+HbFeedback::InstantEffect HbWidget::overrideFeedback( 
+        Hb::InstantInteraction interaction ) const
+    {
+  //  SMC_MOCK_METHOD1( HbFeedback::InstantEffect, Hb::InstantInteraction, interaction )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::overrideContinuousFeedback
+// -----------------------------------------------------------------------------
+//
+HbFeedback::ContinuousEffect HbWidget::overrideContinuousFeedback( 
+        Hb::ContinuousInteraction interaction,
+        int * intensity ) const
+    {
+  //  SMC_MOCK_METHOD2( HbFeedback::ContinuousEffect, Hb::ContinuousInteraction, interaction, 
+    //    int *, intensity )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::recreatePrimitives
+// -----------------------------------------------------------------------------
+//
+void HbWidget::recreatePrimitives(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::updatePrimitives
+// -----------------------------------------------------------------------------
+//
+void HbWidget::updatePrimitives(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusInEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::focusInEvent( 
+        QFocusEvent * event )
+    {
+ //   SMC_MOCK_METHOD1( void, QFocusEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::focusOutEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::focusOutEvent( 
+        QFocusEvent * event )
+    {
+  //  SMC_MOCK_METHOD1( void, QFocusEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::resizeEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::resizeEvent( 
+        QGraphicsSceneResizeEvent * event )
+    {
+  //  SMC_MOCK_METHOD1( void, QGraphicsSceneResizeEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::initStyleOption
+// -----------------------------------------------------------------------------
+//
+void HbWidget::initStyleOption( 
+        HbStyleOption * option ) const
+    {
+ //   SMC_MOCK_METHOD1( void, HbStyleOption *, option )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::changeEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::changeEvent( 
+        QEvent * event )
+    {
+   // SMC_MOCK_METHOD1( void, QEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::itemChange
+// -----------------------------------------------------------------------------
+//
+QVariant HbWidget::itemChange( 
+        GraphicsItemChange change,
+        const QVariant & value )
+    {
+ //   SMC_MOCK_METHOD2( QVariant, GraphicsItemChange, change, 
+   //     const QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::polishEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::polishEvent(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::polish
+// -----------------------------------------------------------------------------
+//
+void HbWidget::polish( 
+        HbStyleParameters & params )
+    {
+ //   SMC_MOCK_METHOD1( void, HbStyleParameters &, params )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::repolish
+// -----------------------------------------------------------------------------
+//
+void HbWidget::repolish(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::setPluginBaseId
+// -----------------------------------------------------------------------------
+//
+void HbWidget::setPluginBaseId( 
+        int baseId )
+    {
+    SMC_MOCK_METHOD1( void, int, baseId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::gestureEvent
+// -----------------------------------------------------------------------------
+//
+void HbWidget::gestureEvent( 
+        QGestureEvent * event )
+    {
+  //  SMC_MOCK_METHOD1( void, QGestureEvent *, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidget::HbWidget
+// -----------------------------------------------------------------------------
+//
+HbWidget::HbWidget( 
+        HbWidgetPrivate & dd,
+        QGraphicsItem * parent,
+        Qt::WindowFlags wFlags )
+    //:
+    //HbWidgetBase( /*dd, parent, wFlags*/ )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_hbwidgetbase.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,153 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "hbwidgetbase.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::HbWidgetBase
+// -----------------------------------------------------------------------------
+//
+HbWidgetBase::HbWidgetBase( 
+        HbWidgetBasePrivate & dd,
+        QGraphicsItem * parent,
+        Qt::WindowFlags wFlags )
+    //:
+    //HbAbstractItem( /*dd, parent, wFlags*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::Q_PROPERTY
+// -----------------------------------------------------------------------------
+//
+void HbWidgetBase::Q_PROPERTY( 
+        HbFontSpec fontSpec READ fontSpec WRITE setFontSpec ):HbWidgetBase ( QGraphicsItem * parent,
+        Qt::WindowFlags wFlags )
+    {
+    SMC_MOCK_METHOD2( void, HbFontSpec fontSpec READ fontSpec WRITE setFontSpec ):HbWidgetBase ( QGraphicsItem *, parent, 
+        Qt::WindowFlags, wFlags )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::~HbWidgetBase
+// -----------------------------------------------------------------------------
+//
+HbWidgetBase::~HbWidgetBase(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::event
+// -----------------------------------------------------------------------------
+//
+bool HbWidgetBase::event( 
+        QEvent * e )
+    {
+    SMC_MOCK_METHOD1( bool, QEvent *, e )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::fontSpec
+// -----------------------------------------------------------------------------
+//
+HbFontSpec HbWidgetBase::fontSpec(  ) const
+    {
+    SMC_MOCK_METHOD0( HbFontSpec )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::setFontSpec
+// -----------------------------------------------------------------------------
+//
+void HbWidgetBase::setFontSpec( 
+        const HbFontSpec & fontSpec )
+    {
+    SMC_MOCK_METHOD1( void, const HbFontSpec &, fontSpec )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::setAttribute
+// -----------------------------------------------------------------------------
+//
+void HbWidgetBase::setAttribute( 
+        Qt::WidgetAttribute att,
+        bool on )
+    {
+    SMC_MOCK_METHOD2( void, Qt::WidgetAttribute, att, 
+        bool, on )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::testAttribute
+// -----------------------------------------------------------------------------
+//
+bool HbWidgetBase::testAttribute( 
+        Qt::WidgetAttribute att ) const
+    {
+    SMC_MOCK_METHOD1( bool, Qt::WidgetAttribute, att )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::setAttribute
+// -----------------------------------------------------------------------------
+//
+void HbWidgetBase::setAttribute( 
+        Hb::WidgetAttribute att,
+        bool on )
+    {
+    SMC_MOCK_METHOD2( void, Hb::WidgetAttribute, att, 
+        bool, on )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::testAttribute
+// -----------------------------------------------------------------------------
+//
+bool HbWidgetBase::testAttribute( 
+        Hb::WidgetAttribute att ) const
+    {
+    SMC_MOCK_METHOD1( bool, Hb::WidgetAttribute, att )
+    }
+
+
+// -----------------------------------------------------------------------------
+// HbWidgetBase::itemChange
+// -----------------------------------------------------------------------------
+//
+QVariant HbWidgetBase::itemChange( 
+        GraphicsItemChange change,
+        const QVariant & value )
+    {
+    SMC_MOCK_METHOD2( QVariant, GraphicsItemChange, change, 
+        const QVariant &, value )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "psetcalldivertingwrapper.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::PSetCallDivertingWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallDivertingWrapper::PSetCallDivertingWrapper( 
+        CPsetContainer & psetContainer,
+        QObject * parent ) : QObject( parent )
+    {
+    Q_UNUSED(psetContainer);
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::~PSetCallDivertingWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallDivertingWrapper::~PSetCallDivertingWrapper(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::setCallDiverting
+// -----------------------------------------------------------------------------
+//
+int PSetCallDivertingWrapper::setCallDiverting( 
+        PSCallDivertingCommand & aSetting,
+        int aBasicServiceGroup )
+    {
+    SMC_MOCK_METHOD2( int, PSCallDivertingCommand &, aSetting, 
+        int, aBasicServiceGroup )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::getCallDivertingStatus
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapper::getCallDivertingStatus( 
+        const PsServiceGroup aServiceGroup,
+        const PsCallDivertingCondition aCondition,
+        int aBsc )
+    {
+    int iDummy = aServiceGroup;
+    SMC_MOCK_METHOD3( void, int, iDummy, 
+        const PsCallDivertingCondition, aCondition, 
+        int, aBsc )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::cancelProcess
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapper::cancelProcess(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::getDefaultNumbers
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapper::getDefaultNumbers( 
+        QStringList & aDefNumbers )
+    {
+    static int i =0;
+    if(i == 0){
+        QStringList list;
+        list << "0401234567" << "0501234567" << "0451234567";
+        aDefNumbers = list;
+        i=1;
+    }else{
+        i=0;
+    }
+    SMC_MOCK_METHOD1( void, QStringList &, aDefNumbers )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::setNewDefaultNumber
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapper::setNewDefaultNumber( 
+        QString aNumber )
+    {
+    SMC_MOCK_METHOD1( void, QString, aNumber )
+    }
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapper::getVoiceMailBoxNumber
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapper::getVoiceMailBoxNumber(QString &number)
+{
+    SMC_MOCK_METHOD1( void, QString, number )
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcalldivertingwrapper_p.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,165 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <MPsetDivertObs.h>
+#include <MPhCltEmergencyCallObserver.h>
+#include <mmlist.h>
+#include <smcmockclassincludes.h>
+#include "psetcalldivertingwrapper_p.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::PSetCallDivertingWrapperPrivate
+// -----------------------------------------------------------------------------
+//
+PSetCallDivertingWrapperPrivate::PSetCallDivertingWrapperPrivate( 
+        PSetCallDivertingWrapper & owner )
+    : m_Owner(owner)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::~PSetCallDivertingWrapperPrivate
+// -----------------------------------------------------------------------------
+//
+PSetCallDivertingWrapperPrivate::~PSetCallDivertingWrapperPrivate(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::HandleDivertingChangedL
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapperPrivate::HandleDivertingChangedL( 
+        const TCallDivertSetting & aSetting,
+        TBool aPlural )
+    {
+    SMC_MOCK_METHOD2( void, const TCallDivertSetting &, aSetting, 
+        TBool, aPlural )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::HandleDivertingStatusL
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapperPrivate::HandleDivertingStatusL( 
+        CMobilePhoneCFList & aSetting,
+        TBool aPlural )
+    {
+    SMC_MOCK_METHOD2( void, CMobilePhoneCFList &, aSetting, 
+        TBool, aPlural )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::HandleDivertingErrorL
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapperPrivate::HandleDivertingErrorL( 
+        TInt aReason )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aReason )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::HandleCFRequestingL
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapperPrivate::HandleCFRequestingL( 
+        TBool aOngoing,
+        TBool aInterrupted )
+    {
+    SMC_MOCK_METHOD2( void, TBool, aOngoing, 
+        TBool, aInterrupted )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::SetEngineContact
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapperPrivate::SetEngineContact( 
+        MPsetCallDiverting * aDivertEngine )
+    {
+    SMC_MOCK_METHOD1( void, MPsetCallDiverting *, aDivertEngine )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::HandleEmergencyDialL
+// -----------------------------------------------------------------------------
+//
+void PSetCallDivertingWrapperPrivate::HandleEmergencyDialL( 
+        const TInt aStatus )
+    {
+    SMC_MOCK_METHOD1( void, const TInt, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::convert
+// -----------------------------------------------------------------------------
+//
+TCallDivertingCondition PSetCallDivertingWrapperPrivate::convert( 
+        PsCallDivertingCondition type )
+    {
+    SMC_MOCK_METHOD1( TCallDivertingCondition, PsCallDivertingCondition, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::convert
+// -----------------------------------------------------------------------------
+//
+TDivertingStatus PSetCallDivertingWrapperPrivate::convert( 
+        PsCallDivertingStatus type )
+    {
+    SMC_MOCK_METHOD1( TDivertingStatus, PsCallDivertingStatus, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::convert
+// -----------------------------------------------------------------------------
+//
+TServiceGroup PSetCallDivertingWrapperPrivate::convert( 
+        PsServiceGroup type )
+    {
+    // TODO: QFlags does not compile with SymbianMock
+    // SMC_MOCK_METHOD1( TServiceGroup, PsServiceGroup, type )
+    Q_UNUSED(type)
+    SMC_MOCK_METHOD0( TServiceGroup )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallDivertingWrapperPrivate::convert
+// -----------------------------------------------------------------------------
+//
+TDivertingSetting PSetCallDivertingWrapperPrivate::convert( 
+        PsCallDivertingSetting type )
+    {
+    SMC_MOCK_METHOD1( TDivertingSetting, PsCallDivertingSetting, type )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcallwaitingwrapper.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,76 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "psetcallwaitingwrapper.h"
+#include "psetcallwaitingwrapper_p.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapper::PSetCallWaitingWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallWaitingWrapper::PSetCallWaitingWrapper( 
+        CPsetContainer & psetContainer,
+        QObject * parent ) : QObject( parent )
+    {
+    Q_UNUSED(psetContainer);
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapper::~PSetCallWaitingWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallWaitingWrapper::~PSetCallWaitingWrapper(  )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapper::setCallWaiting
+// -----------------------------------------------------------------------------
+//
+void PSetCallWaitingWrapper::setCallWaiting( 
+        PsCallWaitingCommand aSetting,
+        int aBasicServiceGroup )
+    {
+    SMC_MOCK_METHOD2( void, PsCallWaitingCommand, aSetting, 
+        int, aBasicServiceGroup )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapper::getCallWaitingStatus
+// -----------------------------------------------------------------------------
+//
+void PSetCallWaitingWrapper::getCallWaitingStatus(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapper::cancelProcess
+// -----------------------------------------------------------------------------
+//
+void PSetCallWaitingWrapper::cancelProcess(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcallwaitingwrapper_p.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QObject>
+#include <RSSSettings.h>
+#include <psetcontainer.h>
+#include <psetcallwaiting.h>
+#include <smcmockclassincludes.h>
+#include "psetcallwaitingwrapper_p.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapperPrivate::PSetCallWaitingWrapperPrivate
+// -----------------------------------------------------------------------------
+//
+PSetCallWaitingWrapperPrivate::PSetCallWaitingWrapperPrivate( 
+        PSetCallWaitingWrapper & owner )
+    : m_Owner(owner)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapperPrivate::~PSetCallWaitingWrapperPrivate
+// -----------------------------------------------------------------------------
+//
+PSetCallWaitingWrapperPrivate::~PSetCallWaitingWrapperPrivate(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapperPrivate::HandleCallWaitingGetStatusL
+// -----------------------------------------------------------------------------
+//
+void PSetCallWaitingWrapperPrivate::HandleCallWaitingGetStatusL( 
+        const MPsetCallWaiting::TGetCallWaitingStatus aStatus,
+        TUint8 aBsc[KPSetNumberOfBsc])
+    {
+    Q_UNUSED(aStatus)
+    Q_UNUSED(aBsc)
+    // TODO: make compile
+    //    SMC_MOCK_METHOD2( void, const MPsetCallWaiting::TGetCallWaitingStatus, aStatus, 
+    //        TUint8[KPSetNumberOfBsc], aBsc)
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapperPrivate::HandleCallWaitingChangedL
+// -----------------------------------------------------------------------------
+//
+void PSetCallWaitingWrapperPrivate::HandleCallWaitingChangedL( 
+        const MPsetCallWaiting::TSetCallWaiting aSetting,
+        const TInt aResult )
+    {
+    SMC_MOCK_METHOD2( void, const MPsetCallWaiting::TSetCallWaiting, aSetting, 
+        const TInt, aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapperPrivate::HandleCWRequestingL
+// -----------------------------------------------------------------------------
+//
+void PSetCallWaitingWrapperPrivate::HandleCWRequestingL( 
+        TBool aOngoing,
+        TBool aInterrupted )
+    {
+    SMC_MOCK_METHOD2( void, TBool, aOngoing, 
+        TBool, aInterrupted )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapperPrivate::HandleCWErrorL
+// -----------------------------------------------------------------------------
+//
+void PSetCallWaitingWrapperPrivate::HandleCWErrorL( 
+        TInt aReason )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aReason )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCallWaitingWrapperPrivate::SetEngineContact
+// -----------------------------------------------------------------------------
+//
+void PSetCallWaitingWrapperPrivate::SetEngineContact( 
+        MPsetCallWaiting & aEngineContact )
+    {
+    SMC_MOCK_METHOD1( void, MPsetCallWaiting &, aEngineContact )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcliwrapper.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "psetcliwrapper.h"
+#include "psetcliwrapper_p.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapper::PSetCliWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCliWrapper::PSetCliWrapper( 
+        CPsetContainer & psetContainer,
+        QObject * parent ) : QObject( parent )
+    {
+    Q_UNUSED(psetContainer);
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapper::~PSetCliWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCliWrapper::~PSetCliWrapper(  )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapper::getColpMode
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapper::getColpMode(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapper::getClipMode
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapper::getClipMode(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapper::getClirMode
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapper::getClirMode(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapper::getColrMode
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapper::getColrMode(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapper::getCnap
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapper::getCnap(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapper::cancelAll
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapper::cancelAll(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetcliwrapper_p.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QObject>
+#include <RSSSettings.h>
+#include <psetcontainer.h>
+#include <psetcli.h>
+#include <psuiconstants.h>
+#include <smcmockclassincludes.h>
+#include "psetcliwrapper_p.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapperPrivate::PSetCliWrapperPrivate
+// -----------------------------------------------------------------------------
+//
+PSetCliWrapperPrivate::PSetCliWrapperPrivate( 
+        PSetCliWrapper & owner )
+    : m_Owner(owner)
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapperPrivate::~PSetCliWrapperPrivate
+// -----------------------------------------------------------------------------
+//
+PSetCliWrapperPrivate::~PSetCliWrapperPrivate(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapperPrivate::SetEngineContact
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapperPrivate::SetEngineContact( 
+        MPsetCli * aEngine )
+    {
+    SMC_MOCK_METHOD1( void, MPsetCli *, aEngine )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapperPrivate::HandleCliRequestingL
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapperPrivate::HandleCliRequestingL( 
+        TBool aOngoing,
+        TBool aInterrupted )
+    {
+    SMC_MOCK_METHOD2( void, TBool, aOngoing, 
+        TBool, aInterrupted )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapperPrivate::CliInformationL
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapperPrivate::CliInformationL( 
+        TPsuiCli aType )
+    {
+    SMC_MOCK_METHOD1( void, TPsuiCli, aType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapperPrivate::HandleCliStatusL
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapperPrivate::HandleCliStatusL( 
+        TUint8 aBsc[KPSetNumberOfBsc],
+        TPsuiCli aMode )
+    {
+    // TODO: make compile
+    Q_UNUSED(aBsc)
+    Q_UNUSED(aMode)
+    //SMC_MOCK_METHOD2( void, TUint8[KPSetNumberOfBsc], aBsc, TPsuiCli, aMode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapperPrivate::HandleCnapStatusL
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapperPrivate::HandleCnapStatusL( 
+        TInt aStatus )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aStatus )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetCliWrapperPrivate::HandleCliErrorL
+// -----------------------------------------------------------------------------
+//
+void PSetCliWrapperPrivate::HandleCliErrorL( 
+        TInt aError )
+    {
+    SMC_MOCK_METHOD1( void, TInt, aError )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetnetworkwrapper.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "psetnetworkwrapper.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::PSetNetworkWrapper
+// -----------------------------------------------------------------------------
+//
+PSetNetworkWrapper::PSetNetworkWrapper( 
+        CPsetContainer & psetContainer,
+        QObject * parent ) : QObject( parent )
+    {
+    Q_UNUSED(psetContainer);
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::~PSetNetworkWrapper
+// -----------------------------------------------------------------------------
+//
+PSetNetworkWrapper::~PSetNetworkWrapper(  )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::getAvailableNetworks
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapper::getAvailableNetworks(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::getNetworkSelectionMode
+// -----------------------------------------------------------------------------
+//
+PSetNetworkWrapper::ErrorCode PSetNetworkWrapper::getNetworkSelectionMode( 
+        PSetNetworkWrapper::NetworkSelectionMode & mode ) const
+    {
+    SMC_MOCK_METHOD1( PSetNetworkWrapper::ErrorCode, PSetNetworkWrapper::NetworkSelectionMode &, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::selectNetwork
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapper::selectNetwork( 
+        const PSetNetworkWrapper::NetworkInfo & info )
+    {
+    Q_UNUSED(info);
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::cancelRequest
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapper::cancelRequest(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::getNetworkAccessMode
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapper::getNetworkAccessMode(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapper::setNetworkAccessMode
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapper::setNetworkAccessMode( 
+        PSetNetworkWrapper::NetworkAccessMode mode )
+    {
+    SMC_MOCK_METHOD1( void, PSetNetworkWrapper::NetworkAccessMode, mode )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetnetworkwrapper_p.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <rmmcustomapi.h>
+#include <PsetContainer.h>
+#include <PsetNetwork.h>
+#include <smcmockclassincludes.h>
+#include "psetnetworkwrapper_p.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::PSetNetworkWrapperPrivate
+// -----------------------------------------------------------------------------
+//
+PSetNetworkWrapperPrivate::PSetNetworkWrapperPrivate( 
+        PSetNetworkWrapper & owner,
+        CPsetContainer & psetContainer )
+    : m_owner(owner)
+    {
+    Q_UNUSED(psetContainer)
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::~PSetNetworkWrapperPrivate
+// -----------------------------------------------------------------------------
+//
+PSetNetworkWrapperPrivate::~PSetNetworkWrapperPrivate(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::getAvailableNetworks
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::getAvailableNetworks(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::getNetworkSelectionMode
+// -----------------------------------------------------------------------------
+//
+PSetNetworkWrapper::ErrorCode PSetNetworkWrapperPrivate::getNetworkSelectionMode( 
+        PSetNetworkWrapper::NetworkSelectionMode & mode ) const
+    {
+    SMC_MOCK_METHOD1( PSetNetworkWrapper::ErrorCode, PSetNetworkWrapper::NetworkSelectionMode &, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::selectNetwork
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::selectNetwork( 
+        const PSetNetworkWrapper::NetworkInfo & networkInfo )
+    {
+    SMC_MOCK_METHOD1( void, const PSetNetworkWrapper::NetworkInfo &, networkInfo )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::cancelRequest
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::cancelRequest(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::getNetworkAccessMode
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::getNetworkAccessMode(  ) const
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::setNetworkAccessMode
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::setNetworkAccessMode( 
+        PSetNetworkWrapper::NetworkAccessMode mode )
+    {
+    SMC_MOCK_METHOD1( void, PSetNetworkWrapper::NetworkAccessMode, mode )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleNetworkInfoReceivedL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleNetworkInfoReceivedL( 
+        const CNetworkInfoArray * aInfoArray,
+        const TInt aResult )
+    {
+    SMC_MOCK_METHOD2( void, const CNetworkInfoArray *, aInfoArray, 
+        const TInt, aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleCurrentNetworkInfoL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleCurrentNetworkInfoL( 
+        const MPsetNetworkSelect::TCurrentNetworkInfo & aCurrentInfo,
+        const TInt aResult )
+    {
+    SMC_MOCK_METHOD2( void, const MPsetNetworkSelect::TCurrentNetworkInfo &, aCurrentInfo, 
+        const TInt, aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleNetworkChangedL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleNetworkChangedL( 
+        const MPsetNetworkSelect::TNetworkInfo & aCurrentInfo,
+        const MPsetNetworkSelect::TCurrentNetworkStatus aStatus,
+        const TInt aResult )
+    {
+    SMC_MOCK_METHOD3( void, const MPsetNetworkSelect::TNetworkInfo &, aCurrentInfo, 
+        const MPsetNetworkSelect::TCurrentNetworkStatus, aStatus, 
+        const TInt, aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleNetworkChangedL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleNetworkChangedL( 
+        const MPsetNetworkSelect::TNetworkInfo & aCurrentInfo,
+        const RMobilePhone::TMobilePhoneRegistrationStatus & aStatus,
+        const TInt aResult )
+    {
+    SMC_MOCK_METHOD3( void, const MPsetNetworkSelect::TNetworkInfo &, aCurrentInfo, 
+        const RMobilePhone::TMobilePhoneRegistrationStatus &, aStatus, 
+        const TInt, aResult )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleSearchingNetworksL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleSearchingNetworksL( 
+        MPsetNetworkInfoObserver::TServiceRequest aRequest )
+    {
+    SMC_MOCK_METHOD1( void, MPsetNetworkInfoObserver::TServiceRequest, aRequest )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleRequestingSelectedNetworkL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleRequestingSelectedNetworkL( 
+        TBool aOngoing )
+    {
+    SMC_MOCK_METHOD1( void, TBool, aOngoing )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleCallActivatedL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleCallActivatedL(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleNetworkErrorL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleNetworkErrorL( 
+        const MPsetNetworkInfoObserver::TServiceRequest aRequest,
+        const TInt aError )
+    {
+    SMC_MOCK_METHOD2( void, const MPsetNetworkInfoObserver::TServiceRequest, aRequest, 
+        const TInt, aError )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleNetworkSystemModeEventsL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleNetworkSystemModeEventsL( 
+        const MPsetNetworkModeObserver::TServiceRequest aRequest,
+        const TUint32 aNetworkModeCaps )
+    {
+    SMC_MOCK_METHOD2( void, const MPsetNetworkModeObserver::TServiceRequest, aRequest, 
+        const TUint32, aNetworkModeCaps )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetNetworkWrapperPrivate::HandleNetworkErrorL
+// -----------------------------------------------------------------------------
+//
+void PSetNetworkWrapperPrivate::HandleNetworkErrorL( 
+        const MPsetNetworkModeObserver::TServiceRequest aRequest,
+        const TInt aError )
+    {
+    SMC_MOCK_METHOD2( void, const MPsetNetworkModeObserver::TServiceRequest, aRequest, 
+        const TInt, aError )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_psetwrapper.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "psetwrapper.h"
+#include <psetcliwrapper.h>
+#include <psetcallwaitingwrapper.h> 
+#include <psetcalldivertingwrapper.h>
+#include <psetnetworkwrapper.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// PSetWrapper::PSetWrapper
+// -----------------------------------------------------------------------------
+//
+PSetWrapper::PSetWrapper( 
+        QObject * parent ) : QObject( parent ) 
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetWrapper::~PSetWrapper
+// -----------------------------------------------------------------------------
+//
+PSetWrapper::~PSetWrapper(  )
+    {
+
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetWrapper::cliWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCliWrapper & PSetWrapper::cliWrapper(  )
+    {
+    SMC_MOCK_METHOD0( PSetCliWrapper & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetWrapper::callWaitingWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallWaitingWrapper & PSetWrapper::callWaitingWrapper(  )
+    {
+    SMC_MOCK_METHOD0( PSetCallWaitingWrapper & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetWrapper::callDivertingWrapper
+// -----------------------------------------------------------------------------
+//
+PSetCallDivertingWrapper & PSetWrapper::callDivertingWrapper(  )
+    {
+    SMC_MOCK_METHOD0( PSetCallDivertingWrapper & )
+    }
+
+
+// -----------------------------------------------------------------------------
+// PSetWrapper::networkWrapper
+// -----------------------------------------------------------------------------
+//
+PSetNetworkWrapper & PSetWrapper::networkWrapper(  )
+    {
+    SMC_MOCK_METHOD0( PSetNetworkWrapper & )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_qaction.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,737 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QAction>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QAction::QAction
+// -----------------------------------------------------------------------------
+//
+QAction::QAction( 
+        QObject * parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::QAction
+// -----------------------------------------------------------------------------
+//
+QAction::QAction( 
+        const QString & text,
+        QObject * parent )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::QAction
+// -----------------------------------------------------------------------------
+//
+QAction::QAction( 
+        const QIcon & icon,
+        const QString & text,
+        QObject * parent )
+    {
+    
+    }
+
+
+#ifdef QT3_SUPPORT
+// -----------------------------------------------------------------------------
+// QAction::QAction
+// -----------------------------------------------------------------------------
+//
+QAction::QAction( 
+        QObject * parent,
+        const char * name )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::QAction
+// -----------------------------------------------------------------------------
+//
+QAction::QAction( 
+        const QString & text,
+        const QKeySequence & shortcut,
+        QObject * parent,
+        const char * name )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::QAction
+// -----------------------------------------------------------------------------
+//
+QAction::QAction( 
+        const QIcon & icon,
+        const QString & text,
+        const QKeySequence & shortcut,
+        QObject * parent,
+        const char * name )
+    {
+    
+    }
+#endif
+
+// -----------------------------------------------------------------------------
+// QAction::~QAction
+// -----------------------------------------------------------------------------
+//
+QAction::~QAction(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setActionGroup
+// -----------------------------------------------------------------------------
+//
+void QAction::setActionGroup( 
+        QActionGroup * group )
+    {
+//    SMC_MOCK_METHOD1( void, QActionGroup *, group )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::actionGroup
+// -----------------------------------------------------------------------------
+//
+QActionGroup * QAction::actionGroup(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QActionGroup * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setIcon
+// -----------------------------------------------------------------------------
+//
+void QAction::setIcon( 
+        const QIcon & icon )
+    {
+//    SMC_MOCK_METHOD1( void, const QIcon &, icon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::icon
+// -----------------------------------------------------------------------------
+//
+QIcon QAction::icon(  ) const
+    {
+//    SMC_MOCK_METHOD0( QIcon )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setText
+// -----------------------------------------------------------------------------
+//
+void QAction::setText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::text
+// -----------------------------------------------------------------------------
+//
+QString QAction::text(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setIconText
+// -----------------------------------------------------------------------------
+//
+void QAction::setIconText( 
+        const QString & text )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, text )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::iconText
+// -----------------------------------------------------------------------------
+//
+QString QAction::iconText(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setToolTip
+// -----------------------------------------------------------------------------
+//
+void QAction::setToolTip( 
+        const QString & tip )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, tip )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::toolTip
+// -----------------------------------------------------------------------------
+//
+QString QAction::toolTip(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setStatusTip
+// -----------------------------------------------------------------------------
+//
+void QAction::setStatusTip( 
+        const QString & statusTip )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, statusTip )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::statusTip
+// -----------------------------------------------------------------------------
+//
+QString QAction::statusTip(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setWhatsThis
+// -----------------------------------------------------------------------------
+//
+void QAction::setWhatsThis( 
+        const QString & what )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, what )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::whatsThis
+// -----------------------------------------------------------------------------
+//
+QString QAction::whatsThis(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setPriority
+// -----------------------------------------------------------------------------
+//
+void QAction::setPriority( 
+        QAction::Priority priority )
+    {
+ //   SMC_MOCK_METHOD1( void, Priority, priority )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::priority
+// -----------------------------------------------------------------------------
+//
+QAction::Priority QAction::priority(  ) const
+    {
+ //   SMC_MOCK_METHOD0( Priority )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::menu
+// -----------------------------------------------------------------------------
+//
+QMenu * QAction::menu(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QMenu * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setMenu
+// -----------------------------------------------------------------------------
+//
+void QAction::setMenu( 
+        QMenu * menu )
+    {
+//    SMC_MOCK_METHOD1( void, QMenu *, menu )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setSeparator
+// -----------------------------------------------------------------------------
+//
+void QAction::setSeparator( 
+        bool b )
+    {
+    SMC_MOCK_METHOD1( void, bool, b )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::isSeparator
+// -----------------------------------------------------------------------------
+//
+bool QAction::isSeparator(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setShortcut
+// -----------------------------------------------------------------------------
+//
+void QAction::setShortcut( 
+        const QKeySequence & shortcut )
+    {
+//    SMC_MOCK_METHOD1( void, const QKeySequence &, shortcut )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::shortcut
+// -----------------------------------------------------------------------------
+//
+QKeySequence QAction::shortcut(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QKeySequence )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setShortcuts
+// -----------------------------------------------------------------------------
+//
+void QAction::setShortcuts( 
+        const QList<QKeySequence> & shortcuts )
+    {
+ //   SMC_MOCK_METHOD1( void, const QList<QKeySequence> &, shortcuts )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setShortcuts
+// -----------------------------------------------------------------------------
+//
+void QAction::setShortcuts( 
+        QKeySequence:: StandardKey )
+    {
+//    SMC_MOCK_METHOD1( void, QKeySequence::, StandardKey )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::shortcuts
+// -----------------------------------------------------------------------------
+//
+QList <QKeySequence > QAction::shortcuts(  ) const
+    {
+//    SMC_MOCK_METHOD0( QList <QKeySequence > )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setShortcutContext
+// -----------------------------------------------------------------------------
+//
+void QAction::setShortcutContext( 
+        Qt::ShortcutContext context )
+    {
+//    SMC_MOCK_METHOD1( void, Qt::ShortcutContext, context )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::shortcutContext
+// -----------------------------------------------------------------------------
+//
+Qt::ShortcutContext QAction::shortcutContext(  ) const
+    {
+ //   SMC_MOCK_METHOD0( Qt::ShortcutContext )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setAutoRepeat
+// -----------------------------------------------------------------------------
+//
+void QAction::setAutoRepeat( bool )
+    {
+   // SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::autoRepeat
+// -----------------------------------------------------------------------------
+//
+bool QAction::autoRepeat(  ) const
+    {
+  //  SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setFont
+// -----------------------------------------------------------------------------
+//
+void QAction::setFont( 
+        const QFont & font )
+    {
+ //   SMC_MOCK_METHOD1( void, const QFont &, font )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::font
+// -----------------------------------------------------------------------------
+//
+QFont QAction::font(  ) const
+    {
+//    SMC_MOCK_METHOD0( QFont )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setCheckable
+// -----------------------------------------------------------------------------
+//
+void QAction::setCheckable( bool  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::isCheckable
+// -----------------------------------------------------------------------------
+//
+bool QAction::isCheckable(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::data
+// -----------------------------------------------------------------------------
+//
+QVariant QAction::data(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QVariant )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setData
+// -----------------------------------------------------------------------------
+//
+void QAction::setData( 
+        const QVariant & var )
+    {
+ //   SMC_MOCK_METHOD1( void, const QVariant &, var )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::isChecked
+// -----------------------------------------------------------------------------
+//
+bool QAction::isChecked(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::isEnabled
+// -----------------------------------------------------------------------------
+//
+bool QAction::isEnabled(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::isVisible
+// -----------------------------------------------------------------------------
+//
+bool QAction::isVisible(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::activate
+// -----------------------------------------------------------------------------
+//
+void QAction::activate( 
+        ActionEvent event )
+    {
+ //   SMC_MOCK_METHOD1( void, ActionEvent, event )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::showStatusText
+// -----------------------------------------------------------------------------
+//
+bool QAction::showStatusText( 
+        QWidget * widget )
+    {
+ //   SMC_MOCK_METHOD1( bool, QWidget *, widget )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setMenuRole
+// -----------------------------------------------------------------------------
+//
+void QAction::setMenuRole( 
+        QAction::MenuRole menuRole )
+    {
+ //   SMC_MOCK_METHOD1( void, MenuRole, menuRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::menuRole
+// -----------------------------------------------------------------------------
+//
+QAction::MenuRole QAction::menuRole(  ) const
+    {
+ //   SMC_MOCK_METHOD0( MenuRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setSoftKeyRole
+// -----------------------------------------------------------------------------
+//
+void QAction::setSoftKeyRole( 
+        QAction::SoftKeyRole softKeyRole )
+    {
+  //  SMC_MOCK_METHOD1( void, SoftKeyRole, softKeyRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::softKeyRole
+// -----------------------------------------------------------------------------
+//
+QAction::SoftKeyRole QAction::softKeyRole(  ) const
+    {
+ //   SMC_MOCK_METHOD0( SoftKeyRole )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setIconVisibleInMenu
+// -----------------------------------------------------------------------------
+//
+void QAction::setIconVisibleInMenu( 
+        bool visible )
+    {
+    SMC_MOCK_METHOD1( void, bool, visible )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::isIconVisibleInMenu
+// -----------------------------------------------------------------------------
+//
+bool QAction::isIconVisibleInMenu(  ) const
+    {
+    SMC_MOCK_METHOD0( bool )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::parentWidget
+// -----------------------------------------------------------------------------
+//
+QWidget * QAction::parentWidget(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QWidget * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::associatedWidgets
+// -----------------------------------------------------------------------------
+//
+QList <QWidget * > QAction::associatedWidgets(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QList <QWidget * > )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::associatedGraphicsWidgets
+// -----------------------------------------------------------------------------
+//
+QList <QGraphicsWidget * > QAction::associatedGraphicsWidgets(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QList <QGraphicsWidget * > )
+    }
+
+// -----------------------------------------------------------------------------
+// QAction::setChecked
+// -----------------------------------------------------------------------------
+//
+void QAction::setChecked( bool )
+    {
+    //SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::toggle
+// -----------------------------------------------------------------------------
+//
+void QAction::toggle(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setEnabled
+// -----------------------------------------------------------------------------
+//
+void QAction::setEnabled( bool )
+    {
+   // SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::setVisible
+// -----------------------------------------------------------------------------
+//
+void QAction::setVisible( bool  )
+    {
+  //  SMC_MOCK_METHOD0( void )
+    }
+
+/*
+// -----------------------------------------------------------------------------
+// QAction::changed
+// -----------------------------------------------------------------------------
+//
+void QAction::changed(  )
+    {
+ //   SMC_MOCK_METHOD0( Q_SIGNALS : void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::triggered
+// -----------------------------------------------------------------------------
+//
+void QAction::triggered( 
+        bool checked )
+    {
+    SMC_MOCK_METHOD1( void, bool, checked )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::hovered
+// -----------------------------------------------------------------------------
+//
+void QAction::hovered(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::toggled
+// -----------------------------------------------------------------------------
+//
+void QAction::toggled(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::activated
+// -----------------------------------------------------------------------------
+//
+void QAction::activated( 
+         int )
+    {
+ //   SMC_MOCK_METHOD1( QT_MOC_COMPAT void, , int )
+    }
+*/
+
+// -----------------------------------------------------------------------------
+// QAction::event
+// -----------------------------------------------------------------------------
+//
+bool QAction::event( 
+        QEvent * )
+    {
+//    SMC_MOCK_METHOD1( bool, QEvent, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QAction::QAction
+// -----------------------------------------------------------------------------
+//
+QAction::QAction( 
+        QActionPrivate & dd,
+        QObject * parent )
+    //:
+    //QObject( /*dd, parent*/ )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_qobject.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,557 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QObject>
+#include <QVariant>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// QObjectUserData::~QObjectUserData
+// -----------------------------------------------------------------------------
+//
+QObjectUserData::~QObjectUserData(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObjectData::~QObjectData
+// -----------------------------------------------------------------------------
+//
+QObjectData::~QObjectData(  )
+    {
+    
+    }
+
+#ifdef QT3_SUPPORT
+// -----------------------------------------------------------------------------
+// QObject::QObject
+// -----------------------------------------------------------------------------
+//
+QT3_SUPPORT_CONSTRUCTOR QObject::QObject( 
+        QObject * parent,
+        const char * name )
+    {
+    
+    }
+#endif
+
+// -----------------------------------------------------------------------------
+// QObject::~QObject
+// -----------------------------------------------------------------------------
+//
+QObject::~QObject(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::event
+// -----------------------------------------------------------------------------
+//
+bool QObject::event( 
+        QEvent * )
+    {
+ //   SMC_MOCK_METHOD1( bool, QEvent, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::eventFilter
+// -----------------------------------------------------------------------------
+//
+bool QObject::eventFilter( 
+        QObject *,
+        QEvent * )
+    {
+ //   SMC_MOCK_METHOD2( bool, QObject, *, 
+//        QEvent, * )
+    }
+
+#ifdef qdoc
+// -----------------------------------------------------------------------------
+// QObject::tr
+// -----------------------------------------------------------------------------
+//
+QString QObject::tr( 
+        const char * sourceText,
+        const char * comment,
+        int n )
+    {
+    SMC_MOCK_METHOD3( QString, const char *, sourceText, 
+        const char *, comment, 
+        int, n )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::trUtf8
+// -----------------------------------------------------------------------------
+//
+QString QObject::trUtf8( 
+        const char * sourceText,
+        const char * comment,
+        int n )
+    {
+    SMC_MOCK_METHOD3( QString, const char *, sourceText, 
+        const char *, comment, 
+        int, n )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::metaObject
+// -----------------------------------------------------------------------------
+//
+const QMetaObject * QObject::metaObject(  ) const
+    {
+ //   SMC_MOCK_METHOD0( const QMetaObject * )
+    }
+
+#endif
+#ifdef QT_NO_TRANSLATION
+// -----------------------------------------------------------------------------
+// QObject::tr
+// -----------------------------------------------------------------------------
+//
+QString QObject::tr( 
+        const char * sourceText,
+        const char * )
+    {
+    SMC_MOCK_METHOD2( QString, const char *, sourceText, 
+        const char, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::tr
+// -----------------------------------------------------------------------------
+//
+QString QObject::tr( 
+        const char * sourceText,
+        const char * )
+    {
+    SMC_MOCK_METHOD2( QString, const char *, sourceText, 
+        const char, * )
+    }
+#ifndef QT_NO_TEXTCODEC
+
+// -----------------------------------------------------------------------------
+// QObject::trUtf8
+// -----------------------------------------------------------------------------
+//
+QString QObject::trUtf8( 
+        const char * sourceText,
+        const char * )
+    {
+    SMC_MOCK_METHOD2( QString, const char *, sourceText, 
+        const char, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::trUtf8
+// -----------------------------------------------------------------------------
+//
+QString QObject::trUtf8( 
+        const char * sourceText,
+        const char * )
+    {
+    SMC_MOCK_METHOD2( QString, const char *, sourceText, 
+        const char, * )
+    }
+#endif
+#endif //QT_NO_TRANSLATION
+
+// -----------------------------------------------------------------------------
+// QObject::objectName
+// -----------------------------------------------------------------------------
+//
+QString QObject::objectName(  ) const
+    {
+    SMC_MOCK_METHOD0( QString )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::setObjectName
+// -----------------------------------------------------------------------------
+//
+void QObject::setObjectName( 
+        const QString & name )
+    {
+    SMC_MOCK_METHOD1( void, const QString &, name )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::blockSignals
+// -----------------------------------------------------------------------------
+//
+bool QObject::blockSignals( 
+        bool b )
+    {
+    SMC_MOCK_METHOD1( bool, bool, b )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::thread
+// -----------------------------------------------------------------------------
+//
+QThread * QObject::thread(  ) const
+    {
+//    SMC_MOCK_METHOD0( QThread * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::moveToThread
+// -----------------------------------------------------------------------------
+//
+void QObject::moveToThread( 
+        QThread * thread )
+    {
+ //   SMC_MOCK_METHOD1( void, QThread *, thread )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::startTimer
+// -----------------------------------------------------------------------------
+//
+int QObject::startTimer( 
+        int interval )
+    {
+    SMC_MOCK_METHOD1( int, int, interval )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::killTimer
+// -----------------------------------------------------------------------------
+//
+void QObject::killTimer( 
+        int id )
+    {
+    SMC_MOCK_METHOD1( void, int, id )
+    }
+
+#ifdef QT3_SUPPORT
+// -----------------------------------------------------------------------------
+// QObject::child
+// -----------------------------------------------------------------------------
+//
+QT3_SUPPORT QObject * QObject::child( 
+        const char * objName,
+        const char * inheritsClass,
+        bool recursiveSearch ) const
+    {
+    SMC_MOCK_METHOD3( QT3_SUPPORT QObject *, const char *, objName, 
+        const char *, inheritsClass, 
+        bool, recursiveSearch )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::queryList
+// -----------------------------------------------------------------------------
+//
+QT3_SUPPORT QObjectList QObject::queryList( 
+        const char * inheritsClass,
+        const char * objName,
+        bool regexpMatch,
+        bool recursiveSearch ) const
+    {
+    SMC_MOCK_METHOD4( QT3_SUPPORT QObjectList, const char *, inheritsClass, 
+        const char *, objName, 
+        bool, regexpMatch, 
+        bool, recursiveSearch )
+    }
+#endif
+
+// -----------------------------------------------------------------------------
+// QObject::setParent
+// -----------------------------------------------------------------------------
+//
+void QObject::setParent( 
+        QObject * )
+    {
+ //   SMC_MOCK_METHOD1( void, QObject, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::installEventFilter
+// -----------------------------------------------------------------------------
+//
+void QObject::installEventFilter( 
+        QObject * )
+    {
+ //   SMC_MOCK_METHOD1( void, QObject, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::removeEventFilter
+// -----------------------------------------------------------------------------
+//
+void QObject::removeEventFilter( 
+        QObject * )
+    {
+ //   SMC_MOCK_METHOD1( void, QObject, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::connect
+// -----------------------------------------------------------------------------
+//
+bool QObject::connect( 
+        const QObject * sender,
+        const char * signal,
+        const QObject * receiver,
+        const char * member,
+        Qt:: ConnectionType )
+    {
+//    SMC_MOCK_METHOD5( bool, const QObject *, sender, 
+//        const char *, signal, 
+//        const QObject *, receiver, 
+//        const char *, member, 
+//        Qt::, ConnectionType )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::disconnect
+// -----------------------------------------------------------------------------
+//
+bool QObject::disconnect( 
+        const QObject * sender,
+        const char * signal,
+        const QObject * receiver,
+        const char * member )
+    {
+//    SMC_MOCK_METHOD4( bool, const QObject *, sender, 
+//        const char *, signal, 
+//        const QObject *, receiver, 
+//        const char *, member )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::dumpObjectTree
+// -----------------------------------------------------------------------------
+//
+void QObject::dumpObjectTree(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::dumpObjectInfo
+// -----------------------------------------------------------------------------
+//
+void QObject::dumpObjectInfo(  )
+    {
+    SMC_MOCK_METHOD0( void )
+    }
+
+#ifndef QT_NO_PROPERTIES
+// -----------------------------------------------------------------------------
+// QObject::setProperty
+// -----------------------------------------------------------------------------
+//
+bool QObject::setProperty( 
+        const char * name,
+        const QVariant & value )
+    {
+//    SMC_MOCK_METHOD2( bool, const char *, name, 
+//        const QVariant &, value )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::property
+// -----------------------------------------------------------------------------
+//
+QVariant QObject::property( 
+        const char * name ) const
+    {
+//    SMC_MOCK_METHOD1( QVariant, const char *, name )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::dynamicPropertyNames
+// -----------------------------------------------------------------------------
+//
+QList <QByteArray > QObject::dynamicPropertyNames(  ) const
+    {
+//    SMC_MOCK_METHOD0( QList <QByteArray > )
+    }
+#endif // QT_NO_PROPERTIES
+#ifndef QT_NO_USERDATA
+// -----------------------------------------------------------------------------
+// QObject::registerUserData
+// -----------------------------------------------------------------------------
+//
+uint QObject::registerUserData(  )
+    {
+    SMC_MOCK_METHOD0( uint )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::setUserData
+// -----------------------------------------------------------------------------
+//
+void QObject::setUserData( 
+        uint id,
+        QObjectUserData * data )
+    {
+//    SMC_MOCK_METHOD2( void, uint, id, 
+//        QObjectUserData *, data )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::userData
+// -----------------------------------------------------------------------------
+//
+QObjectUserData * QObject::userData( 
+        uint id ) const
+    {
+//    SMC_MOCK_METHOD1( QObjectUserData *, uint, id )
+    }
+#endif // QT_NO_USERDATA
+
+// -----------------------------------------------------------------------------
+// QObject::destroyed
+// -----------------------------------------------------------------------------
+//
+/*
+Q_SIGNALS : void QObject::destroyed( 
+        QObject * )
+    {
+    SMC_MOCK_METHOD1( Q_SIGNALS : void, QObject, * )
+    }*/
+
+
+// -----------------------------------------------------------------------------
+// QObject::deleteLater
+// -----------------------------------------------------------------------------
+//
+void QObject::deleteLater(  )
+    {
+  //  SMC_MOCK_METHOD0( Q_SLOTS : void )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::sender
+// -----------------------------------------------------------------------------
+//
+QObject * QObject::sender(  ) const
+    {
+ //   SMC_MOCK_METHOD0( QObject * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::receivers
+// -----------------------------------------------------------------------------
+//
+int QObject::receivers( 
+        const char * signal ) const
+    {
+    SMC_MOCK_METHOD1( int, const char *, signal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::timerEvent
+// -----------------------------------------------------------------------------
+//
+void QObject::timerEvent( 
+        QTimerEvent * )
+    {
+ //   SMC_MOCK_METHOD1( void, QTimerEvent, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::childEvent
+// -----------------------------------------------------------------------------
+//
+void QObject::childEvent( 
+        QChildEvent * )
+    {
+ //   SMC_MOCK_METHOD1( void, QChildEvent, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::customEvent
+// -----------------------------------------------------------------------------
+//
+void QObject::customEvent( 
+        QEvent * )
+    {
+ //   SMC_MOCK_METHOD1( void, QEvent, * )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::connectNotify
+// -----------------------------------------------------------------------------
+//
+void QObject::connectNotify( 
+        const char * signal )
+    {
+ //   SMC_MOCK_METHOD1( void, const char *, signal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::disconnectNotify
+// -----------------------------------------------------------------------------
+//
+void QObject::disconnectNotify( 
+        const char * signal )
+    {
+  //  SMC_MOCK_METHOD1( void, const char *, signal )
+    }
+
+
+// -----------------------------------------------------------------------------
+// QObject::QObject
+// -----------------------------------------------------------------------------
+//
+QObject::QObject( 
+        QObjectPrivate & dd,
+        QObject * parent )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_sssettingswrapper.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+#include <QDebug>
+#include <smcmockclassincludes.h>
+#include "sssettingswrapper.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// SsSettingsWrapper::SsSettingsWrapper
+// -----------------------------------------------------------------------------
+//
+SsSettingsWrapper::SsSettingsWrapper( 
+        QObject * parent ) : QObject( parent )
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// SsSettingsWrapper::~SsSettingsWrapper
+// -----------------------------------------------------------------------------
+//
+SsSettingsWrapper::~SsSettingsWrapper(  )
+    {
+
+    }
+
+// -----------------------------------------------------------------------------
+// SsSettingsWrapper::get
+// -----------------------------------------------------------------------------
+//
+int SsSettingsWrapper::get( 
+        SsSettingsWrapperSettings setting,
+        int & value )
+    {
+    static int tmpValue = 0;
+    if(tmpValue == 0){
+        value = 0;
+        tmpValue = 1;
+    }else{
+        value = 2;
+        tmpValue = 0;
+    }
+    SMC_MOCK_METHOD2( int, SsSettingsWrapperSettings, setting, int&, value )
+    }
+
+// -----------------------------------------------------------------------------
+// SsSettingsWrapper::set
+// -----------------------------------------------------------------------------
+//
+int SsSettingsWrapper::set( 
+        SsSettingsWrapperSettings setting,
+        int value )
+    {
+    SMC_MOCK_METHOD2( int, SsSettingsWrapperSettings, setting, int, value )
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_xqsettingskey.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QDebug>
+#include "xqsettingskey.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::XQSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::XQSettingsKey( 
+        XQSettingsKey::Target target,
+        long int uid,
+        unsigned long int key )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::~XQSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::~XQSettingsKey(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::target
+// -----------------------------------------------------------------------------
+//
+XQSettingsKey::Target XQSettingsKey::target(  ) const
+    {
+    
+    XQSettingsKey::Target variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::uid
+// -----------------------------------------------------------------------------
+//
+long int XQSettingsKey::uid(  ) const
+    {
+    
+    return 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsKey::key
+// -----------------------------------------------------------------------------
+//
+unsigned long int XQSettingsKey::key(  ) const
+    {
+    
+    return 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQPublishAndSubscribeSettingsKey::XQPublishAndSubscribeSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQPublishAndSubscribeSettingsKey::XQPublishAndSubscribeSettingsKey( 
+        long int categoryUid,
+        unsigned long int key ) : 
+        XQSettingsKey( XQSettingsKey::TargetPublishAndSubscribe, categoryUid, key )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQPublishAndSubscribeSettingsKey::~XQPublishAndSubscribeSettingsKey
+// -----------------------------------------------------------------------------
+//
+XQPublishAndSubscribeSettingsKey::~XQPublishAndSubscribeSettingsKey(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQCentralRepositorySettingsKey::XQCentralRepositorySettingsKey
+// -----------------------------------------------------------------------------
+//
+XQCentralRepositorySettingsKey::XQCentralRepositorySettingsKey( 
+        long int repositoryUid,
+        unsigned long int key ) : 
+        XQSettingsKey( XQSettingsKey::TargetCentralRepository, repositoryUid, key )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQCentralRepositorySettingsKey::~XQCentralRepositorySettingsKey
+// -----------------------------------------------------------------------------
+//
+XQCentralRepositorySettingsKey::~XQCentralRepositorySettingsKey(  )
+    {
+    
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_xqsettingsmanager.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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 <QDebug>
+#include <smcmockclassincludes.h>
+#include "xqsettingsmanager.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::XQSettingsManager
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::XQSettingsManager( 
+        QObject * parent )
+    : QObject( parent )
+    {
+    
+    }
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::~XQSettingsManager
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::~XQSettingsManager(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::readItemValue
+// -----------------------------------------------------------------------------
+//
+QVariant XQSettingsManager::readItemValue( 
+        const XQSettingsKey & key,
+        XQSettingsManager::Type type )
+    {
+    SMC_MOCK_METHOD2( QVariant, XQSettingsKey &, key, XQSettingsManager::Type, type )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::writeItemValue
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::writeItemValue( 
+        const XQSettingsKey & key,
+        const QVariant & value )
+    {
+    Q_UNUSED( key )
+    Q_UNUSED( value )
+    bool variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::startMonitoring
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::startMonitoring( 
+        const XQSettingsKey & key,
+        XQSettingsManager::Type type )
+    {
+    Q_UNUSED( key )
+    Q_UNUSED( type )
+    bool variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::stopMonitoring
+// -----------------------------------------------------------------------------
+//
+bool XQSettingsManager::stopMonitoring( 
+        const XQSettingsKey & key )
+    {
+    Q_UNUSED( key )
+    bool variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSettingsManager::error
+// -----------------------------------------------------------------------------
+//
+XQSettingsManager::Error XQSettingsManager::error(  ) const
+    {
+    
+    XQSettingsManager::Error variable;
+    return variable;
+    }
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/mock_xqsysinfo.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,222 @@
+/* 
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 "xqsysinfo.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::XQSysInfo
+// -----------------------------------------------------------------------------
+//
+XQSysInfo::XQSysInfo( 
+        QObject * parent )
+    //:
+    //QObject( /*parent*/ )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::~XQSysInfo
+// -----------------------------------------------------------------------------
+//
+XQSysInfo::~XQSysInfo(  )
+    {
+    
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::currentLanguage
+// -----------------------------------------------------------------------------
+//
+XQSysInfo::Language XQSysInfo::currentLanguage(  ) const
+    {
+    
+    XQSysInfo::Language variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::imei
+// -----------------------------------------------------------------------------
+//
+QString XQSysInfo::imei(  ) const
+    {
+    
+    QString variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::model
+// -----------------------------------------------------------------------------
+//
+QString XQSysInfo::model(  ) const
+    {
+    
+    QString variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::manufacturer
+// -----------------------------------------------------------------------------
+//
+QString XQSysInfo::manufacturer(  ) const
+    {
+    
+    QString variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::softwareVersion
+// -----------------------------------------------------------------------------
+//
+QString XQSysInfo::softwareVersion(  ) const
+    {
+    
+    QString variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::batteryLevel
+// -----------------------------------------------------------------------------
+//
+uint XQSysInfo::batteryLevel(  ) const
+    {
+    
+    return 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::imsi
+// -----------------------------------------------------------------------------
+//
+QString XQSysInfo::imsi(  ) const
+    {
+    
+    QString variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::signalStrength
+// -----------------------------------------------------------------------------
+//
+int XQSysInfo::signalStrength(  ) const
+    {
+    
+    return 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::diskSpace
+// -----------------------------------------------------------------------------
+//
+qlonglong XQSysInfo::diskSpace( 
+        XQSysInfo::Drive drive ) const
+    {
+    Q_UNUSED( drive )
+    qlonglong variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::isDiskSpaceCritical
+// -----------------------------------------------------------------------------
+//
+bool XQSysInfo::isDiskSpaceCritical( 
+        XQSysInfo::Drive drive ) const
+    {
+    Q_UNUSED( drive )
+    bool variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::isNetwork
+// -----------------------------------------------------------------------------
+//
+bool XQSysInfo::isNetwork(  ) const
+    {
+    
+    bool variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::memory
+// -----------------------------------------------------------------------------
+//
+int XQSysInfo::memory(  ) const
+    {
+    
+    return 0;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::browserVersion
+// -----------------------------------------------------------------------------
+//
+QString XQSysInfo::browserVersion(  ) const
+    {
+    
+    QString variable;
+    return variable;
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::isSupported
+// -----------------------------------------------------------------------------
+//
+bool XQSysInfo::isSupported( 
+        int featureId )
+    {
+    SMC_MOCK_METHOD1( bool, int, featureId )
+    }
+
+
+// -----------------------------------------------------------------------------
+// XQSysInfo::error
+// -----------------------------------------------------------------------------
+//
+XQSysInfo::Error XQSysInfo::error(  ) const
+    {
+    
+    XQSysInfo::Error variable;
+    return variable;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/qtestmains60.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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/phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_mockintegrity.h"
+#include "qtestmains60.h"
+
+/*!
+  UT_CpDivertPlugin::UT_MockIntegrity
+ */
+UT_MockIntegrity::UT_MockIntegrity()
+{
+    
+}
+
+/*!
+  UT_CpDivertPlugin::~UT_MockIntegrity
+ */
+UT_MockIntegrity::~UT_MockIntegrity()
+{
+    
+}
+
+/*!
+  UT_CpDivertPlugin::init
+ */
+void UT_MockIntegrity::init()
+{
+    
+}
+
+/*!
+  UT_CpDivertPlugin::cleanup
+ */
+void UT_MockIntegrity::cleanup()
+{
+    
+}
+
+QTEST_MAIN_S60(UT_MockIntegrity)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#ifndef UT_MOCKINTEGRITY_H
+#define UT_MOCKINTEGRITY_H
+
+#include <QObject>
+#include <QtTest/QtTest>
+
+class UT_MockIntegrity : public QObject
+{
+    Q_OBJECT
+    
+public:    
+    UT_MockIntegrity();
+    ~UT_MockIntegrity();
+    
+private slots:
+    
+    void init();
+    void cleanup();
+};
+
+#endif // UT_MOCKINTEGRITY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonesettings/cpphonesettingsplugins/tsrc/mocks/ut_mockintegrity.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,85 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies 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
+#
+
+CONFIG += qtestlib hb
+TEMPLATE = app
+TARGET = 
+
+INCLUDEPATH += .
+INCLUDEPATH += ../../barringplugin/inc
+INCLUDEPATH += ../../callsplugin/src
+INCLUDEPATH += ../../cptelephonyutils/inc
+INCLUDEPATH += ../../divertplugin/src
+INCLUDEPATH += ../../networkplugin/src
+INCLUDEPATH += ../../cpnetworkplugin/src
+INCLUDEPATH += ../../telephonyplugin/src
+INCLUDEPATH += /sf/mw/phonesrv/cellular/telephonysettings/xqbindings/psetwrapper/src
+
+DEFINES += BUILD_CPTELEPHONYUTILS BUILD_PSETWRAPPER BUILD_SSSETTINGSWRAPPER
+DEFINES += XQSYSINFO_LIBRARY XQSETTINGSMANAGER_LIBRARY
+
+QT -= gui
+QT += testlib
+
+symbian: { 
+    CONFIG += no_icon
+    INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+    LIBS += -lmocklib       \
+            -lsymbianmock   \
+            -lcpframework 
+}
+
+HEADERS += ut_mockintegrity.h
+SOURCES += ut_mockintegrity.cpp
+
+HEADERS += ../../callsplugin/src/cpcallsplugin.h                \
+           ../../cptelephonyutils/inc/cpphonenotes.h            \
+           ../../cptelephonyutils/inc/cpplugincommon.h          \
+           /epoc32/include/platform/mw/psetwrapper.h            \
+           /epoc32/include/platform/mw/psetcliwrapper.h         \
+           /epoc32/include/platform/mw/sssettingswrapper.h      \
+           /epoc32/include/platform/mw/psetcallwaitingwrapper.h \
+           /epoc32/include/platform/mw/psetcalldivertingwrapper.h \
+           /epoc32/include/platform/mw/psetnetworkwrapper.h     \
+           /epoc32/include/mw/xqsettingskey.h                   \
+           /epoc32/include/mw/xqsettingsmanager.h               \
+           /epoc32/include/mw/xqsysinfo.h
+
+SOURCES +=                                  \
+        mock_cpbarringplugin.cpp            \
+        mock_cpbarringplugingroup.cpp       \
+        mock_cpcallsplugin.cpp              \
+        mock_cpcallsplugingroup.cpp         \
+        mock_cpnetworkplugin.cpp            \
+        mock_cpnetworkpluginview.cpp        \
+        mock_cpnetworkplugingroup.cpp       \
+        mock_cpphonenotes.cpp               \
+        mock_cpplugincommon.cpp             \
+        mock_cptelephonypluginview.cpp      \
+        mock_psetcalldivertingwrapper.cpp   \
+        mock_psetcalldivertingwrapper_p.cpp \
+        mock_psetcallwaitingwrapper.cpp     \
+        mock_psetcallwaitingwrapper_p.cpp   \
+        mock_psetcliwrapper.cpp             \
+        mock_psetcliwrapper_p.cpp           \
+        mock_psetnetworkwrapper.cpp         \
+        mock_psetnetworkwrapper_p.cpp       \
+        mock_psetwrapper.cpp                \
+        mock_sssettingswrapper.cpp          \
+        mock_xqsettingskey.cpp              \
+        mock_xqsettingsmanager.cpp          \
+        mock_xqsysinfo.cpp
+  
\ No newline at end of file
--- a/phonesettings/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +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:  Telephony / phonesettings
-*
-*/
-
-
-#include "../aiwcallimageplugin/group/bld.inf"
-#include "../pslncallimageplugin/Group/bld.inf"
-
-// End of File
\ No newline at end of file
--- a/phonesettings/pslncallimageplugin/Data/102818EE.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 1028 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM plugin resource file for Call Image plugin.
-*
-*/
-
-#include <registryinfo.rh>
-
-
-RESOURCE REGISTRY_INFO theInfo
-    {
-    dll_uid     = 0x102818EE;
-    interfaces  = 
-        {
-        INTERFACE_INFO
-            {
-            interface_uid   = 0x102750A9; 
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid  = 0x102818EF;
-                    version_no          = 1;
-                    display_name        = "Call Image Plugin";
-                    default_data        = "0";
-                    opaque_data         = "0";
-                    }
-                };
-            }
-        };
-    }
-
-
-// End of File
--- a/phonesettings/pslncallimageplugin/Data/PslnCallImagePluginRsc.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource file for PslnCallImagePlugin
-*
-*/
-
-
-
-//  RESOURCE IDENTIFIER
-NAME    PCIP // 4 letter ID
-
-//  INCLUDES
-#include <avkon.loc> // Avkon localized strings
-#include <psln.hrh>
-#include <psln.loc>
-#include <PslnCommon.rsg>
-#include <avkon.mbg>
-#include <avkon.rsg>
-#include <EIKCORE.rsg>
-#include <uikon.rh>
-#include <avkon.rh>
-#include <eikon.rh>
-
-#include <pslncallimageplugin.loc>
-
-// CONSTANTS
-
-//  RESOURCE DEFINITIONS 
-
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-RESOURCE TBUF
-    {
-    buf="PSLC";
-    }
-
-//----------------------------------------------------
-//   
-//    EIK_APP_INFO
-//    It contains application information.
-//
-//----------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_psln_call_image_view
-//    Call Image application specific view.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_psln_call_image_view 
-    {
-    menubar = r_psln_ci_view_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_psln_as_view_menubar
-//    Options menu with 'Apply', 'Help' and 'Exit' items.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_psln_ci_view_menubar
-    {
-    titles =
-        {
-        MENU_TITLE { menu_pane = r_psln_ci_basic_menupane; },
-        MENU_TITLE { menu_pane = R_PSLN_GEN_VIEW_MENUPANE; }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-//    r_psln_ci_basic_menupane
-//    Call Image menu pane for view.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_psln_ci_basic_menupane
-    {
-    items =
-        {
-        MENU_ITEM 
-            {
-            command = EPslnCmdAppActivate;
-            txt = qtn_skins_option_activate;
-            },
-        MENU_ITEM 
-            {
-            command = EPslnCmdAppDownload;
-            txt = qtn_options_change;
-            },
-#ifdef __SERIES60_HELP
-        MENU_ITEM 
-            {
-            command = EPslnCmdAppHelp;
-            txt = qtn_options_help;
-            },
-#endif // __SERIES60_HELP
-        MENU_ITEM 
-            {
-            command = EAknCmdExit;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-    
-// -----------------------------------------------------------------------------
-//   
-//    r_psln_ci_list_view_title
-//    Call Image specific list view's title.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_psln_ci_list_view_title
-    {
-    txt = qtn_skins_title_call_image;
-    }
-
-//----------------------------------------------------
-//  r_psln_ci_list_view_caption
-// 
-// Shortcuts view caption for plugin
-//----------------------------------------------------
-//
-RESOURCE TBUF r_psln_ci_list_view_caption
-    {
-    buf = qtn_skins_title_call_image;
-    }
-
-// -----------------------------------------------------------------------------
-//    
-//    r_psln_ci_tab_name
-//    Call Image specific skin tab title.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_psln_ci_tab_name
-    {
-    buf = qtn_skins_tabs_call_image;
-    }   
-
-// -----------------------------------------------------------------------------
-//    
-//    r_psln_ci_view_lbx
-//    Listbox of call image setting page.
-//    "0\tTextLabel\t1\t2"
-//    Note that icons need to be added in source code.
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_psln_ci_view_lbx
-    {
-    items =
-        {
-        LBUF { txt = qtn_skins_default_call_image"\t\t"; },
-        LBUF { txt = qtn_skins_settings_none"\t\t";      },
-        LBUF { txt = qtn_skins_settings_browse"\t\t";  }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_psln_title_pane_callimage
-//    Text for title pane text in menu view.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_psln_title_pane_callimage
-    {
-    buf = qtn_skins_title_pane_callimage;
-    }
-
-//End of File
--- a/phonesettings/pslncallimageplugin/Data/pslncallimageplugin.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /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 pslncallimage plugin.
-;
-; Languages
-&EN
-
-; Header
-#{"pslncallimageplugin"}, (0x102818EE), 10, 1, 0, TYPE=PU
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-"\epoc32\RELEASE\armv5\UREL\PslnCallImagePlugin.dll"-"z:\sys\bin\PslnCallImagePlugin.dll"
-"\epoc32\data\z\resource\apps\pslncallimageplugin.mif"-"z:\resource\apps\pslncallimageplugin.mif"
-"\epoc32\data\z\resource\PslnCallImagePluginRsc.rsc"-"z:\resource\PslnCallImagePluginRsc.rsc"
-"\epoc32\data\z\resource\plugins\PslnCallImagePlugin.rsc"-"z:\resource\plugins\PslnCallImagePlugin.rsc"
Binary file phonesettings/pslncallimageplugin/Data/pslncallimageplugin_stub.SIS has changed
--- a/phonesettings/pslncallimageplugin/Data/pslncallimageplugin_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /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 pslncallimage plugin stub.
-;
-; Languages
-&EN
-
-; Header
-#{"pslncallimageplugin"}, (0x102818EE), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\PslnCallImagePlugin.dll"
-""-"z:\resource\apps\pslncallimageplugin.mif"
-""-"z:\resource\PslnCallImagePluginRsc.rsc"
-""-"z:\resource\plugins\PslnCallImagePlugin.rsc"
--- a/phonesettings/pslncallimageplugin/Group/PslnCallImagePlugin.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* 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:  Project specification file.
-*
-*/
-
-#include  <platform_paths.hrh>
-#include  <data_caging_paths.hrh>    // For RESOURCE_FILES_DIR
-
-CAPABILITY          CAP_ECOM_PLUGIN DRM WriteDeviceData
-TARGET              pslncallimageplugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x102818EE
-VENDORID            VID_DEFAULT
-
-
-SOURCEPATH  ../src
-SOURCE      PslnCallImagePluginImplementationTable.cpp
-SOURCE      PslnCallImagePluginContainer.cpp
-SOURCE      PslnCallImagePlugin.cpp
-SOURCE      PslnCallImagePluginDRM.cpp
-
-//User include paths
-USERINCLUDE     ../inc
-USERINCLUDE     ../Data
-USERINCLUDE     ../Logger
-
-//System include paths
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   /epoc32/include/cshelp
-
-SOURCEPATH      ../Data
-
-START RESOURCE  102818EE.rss
-TARGET          pslncallimageplugin.rsc
-END
-
-START RESOURCE  PslnCallImagePluginRsc.rss
-DEPENDS pslncommon.rsg
-TARGETPATH      RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END
-
-LIBRARY   euser.lib
-LIBRARY   ecom.lib
-LIBRARY   efsrv.lib
-LIBRARY   avkon.lib
-LIBRARY   bafl.lib 
-LIBRARY   cone.lib 
-LIBRARY   eikcoctl.lib          // for CTextListBoxModel
-LIBRARY   eikcore.lib 
-LIBRARY   drmhelper.lib 		// for DRM functionality
-LIBRARY   mgfetch.lib			// for Media fetch
-LIBRARY   centralrepository.lib // for CenRep usage
-LIBRARY   commonengine.lib      // For RConeResourceLoader
-LIBRARY   aknskins.lib          // for icon creation.
-LIBRARY   featmgr.lib           // for feature manager
-LIBRARY   pslnframework.lib     // For base classes
-LIBRARY   flogger.lib      		// logging
-LIBRARY   drmutility.lib
-LIBRARY   aknskinsrv.lib		//skinServer
-
-// End of File
\ No newline at end of file
--- a/phonesettings/pslncallimageplugin/Group/PslnCallImagePluginIcons.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#
-# Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: Make PslnCallImagePluginIcons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\pslncallimageplugin.mif
-HEADERFILENAME=$(HEADERDIR)\pslncallimageplugin.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-		/c8,8 qgn_prop_psln_cimage_sub.svg
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phonesettings/pslncallimageplugin/Group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file provides the information required for building 
-*                PslnCallImagePlugin.
-*
-*/
-
-#ifdef  __CALL_IMAGETEXT
-#include  <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../Data/pslncallimageplugin_stub.SIS\
-    /epoc32/data/z/system/install/pslncallimageplugin_stub.SIS
-
-../rom/PslnCallImagePlugin.iby\
-    CORE_APP_LAYER_IBY_EXPORT_PATH(PslnCallImagePlugin.iby)
-
-../rom/PslnCallImagePluginResources.iby\
-    LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(PslnCallImagePluginResources.iby)
-    
-../loc/pslncallimageplugin.loc\
-    APP_LAYER_LOC_EXPORT_PATH(pslncallimageplugin.loc)
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE pslncallimageplugin.mif
-  OPTION HEADERFILE pslncallimageplugin.mbg
-  OPTION SOURCES -c8,8 qgn_prop_psln_cimage_sub
-END
-
-PRJ_MMPFILES
-//gnumakefile PslnCallImagePluginIcons.mk
-PslnCallImagePlugin.mmp
-
-PRJ_TESTMMPFILES
-#endif // __CALL_IMAGETEXT
-
-//  End of File  
--- a/phonesettings/pslncallimageplugin/Logger/PslnCallImagePluginLogger.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*       Macro definition file for logging.
-*
-*
-*/
-
-
-
-#ifndef PSLNCALLIMAGEPLUGINLOGGER_H
-#define PSLNCALLIMAGEPLUGINLOGGER_H
-
-#include "PslnCallImagePluginLoggingConf.h"
-#include <e32std.h>
-#include <flogger.h>
-#include <e32svr.h>
-
-_LIT( KLogsDir,                  "CALLIMAGE");
-_LIT( KLogFileName,              "CALLIMAGE.log");
-
-/*
- We have 3 possible logging methods:
-
- set CALL_LOGGING_METHOD to 0 to get no logging at all
- set CALL_LOGGING_METHOD to 1 to get logging via RDebug::Print
- set CALL_LOGGING_METHOD to 2 to get logging to log file
-
- Switching on/off is done in the Configuration file (PslnCallImagePluginLoggingConf.h)
- */
-
-#if ( defined (_CALLLOGGING) )
-    #if ( defined (_CALL_LOGGING_TO_FILE))
-        #define CALL_LOGGING_METHOD 2 
-    #else
-        #define CALL_LOGGING_METHOD 1
-    #endif
-#else
-    #define CALL_LOGGING_METHOD 0
-#endif
-
-
-#if (CALL_LOGGING_METHOD==0)
-    #define __CALLLOGSTRING(C)
-    #define __CALLLOGSTRING1(C, X)
-    #define __CALLLOGSTRING2(C, X, Y)
-    #define __CALLLOGSTRING3(C, X, Y, Z)
-#endif
-#if (CALL_LOGGING_METHOD==1)
-    #define __CALLLOGSTRING(C)            RDebug::Print(_L(C));
-    #define __CALLLOGSTRING1(C, X)        RDebug::Print(_L(C),X);
-    #define __CALLLOGSTRING2(C, X, Y)     RDebug::Print(_L(C),X, Y);
-    #define __CALLLOGSTRING3(C, X, Y, Z)  RDebug::Print(_L(C),X, Y, Z);
-#endif
-#if (CALL_LOGGING_METHOD==2)
-    #define __CALLLOGSTRING(C)            {_LIT(tempLogDes,C);RFileLogger::WriteFormat(KLogsDir(),KLogFileName(), EFileLoggingModeAppend, tempLogDes());}
-    #define __CALLLOGSTRING1(C, X)        {_LIT(tempLogDes,C);RFileLogger::WriteFormat(KLogsDir(),KLogFileName(), EFileLoggingModeAppend, TRefByValue<const TDesC>(tempLogDes()),X);}
-    #define __CALLLOGSTRING2(C, X, Y)     {_LIT(tempLogDes,C);RFileLogger::WriteFormat(KLogsDir(),KLogFileName(), EFileLoggingModeAppend, TRefByValue<const TDesC>(tempLogDes()),X,Y);}
-    #define __CALLLOGSTRING3(C, X, Y, Z)  {_LIT(tempLogDes,C);RFileLogger::WriteFormat(KLogsDir(),KLogFileName(), EFileLoggingModeAppend, TRefByValue<const TDesC>(tempLogDes()),X,Y,Z);}
-#endif
-
-#endif // PSLNCALLIMAGEPLUGINLOGGER_H
--- a/phonesettings/pslncallimageplugin/Logger/PslnCallImagePluginLoggingConf.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        Macro definition file for logging configuration.
-*       (Note:This file has to be separate from the logging header file 
-*             to be able to include it in mmp file. If not we will get warning about not used 
-*             flogger.lib in other logging cases where flogger.lib is not used.)
-*
-*/
-
-
-
-#ifndef CALLIMAGECONFIGURATION_H
-#define CALLIMAGECONFIGURATION_H
-
-
-#ifdef _DEBUG // logging to file in debug only
-
-/**
-* - Have this line active if you want to have logging for this component
-* - Comment this line out if you don't want any logging for this component
-*/
-#define _CALLLOGGING
-
-/**
-* - Have this line active if you want to have logging to file
-* - Comment this line out if you want to have logging via RDebug::Print 
-*/
-#define _CALL_LOGGING_TO_FILE
-
-#endif // _DEBUG
-
-#endif // CALLIMAGECONFIGURATION_H
--- a/phonesettings/pslncallimageplugin/inc/PslnCallImagePlugin.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  View for setting call image.
-*
-*/
-
-
-#ifndef PSLNCALLIMAGEPLUGIN_H
-#define PSLNCALLIMAGEPLUGIN_H
-
-// INCLUDES
-#include <aknsettingpage.h>
-#include <pslnfwbaseview.h>
-#include <ConeResLoader.h>
-#include <pslnfwplugininterface.h>
-#include <centralrepository.h> 
-#include <mpslnfwmsklabelobserver.h>
-
-//CONSTANTS
-const TUid KPslnCallImagePluginUid = { 0x102818EF };
-
-// FORWARD DECLARATIONS
-class CAknViewAppUi;
-class CPslnCallImagePluginContainer;
-class CPslnCallImagePluginDRM;
-
-// CLASS DEFINITION
-/**
-*  CPslnCallImagePlugin view class for call image settings
-*  @since Series 60_3.2
-* 
-*/
-class CPslnCallImagePlugin : public CPslnFWBaseView,
-                             public MPslnFWMSKObserver
-    {            
-    public: // Constructors and destructor
-
-        /**
-        * Symbian OS two-phased constructor
-        * @return Psln AI skinning view.
-        */
-        static CPslnCallImagePlugin* NewL( TAny* aAppUi );
-        
-        /**
-        * Destructor
-        */
-        ~CPslnCallImagePlugin();
-        
-    public: // From CPslnFWnInterface
-
-        /**
-        * @see CPslnFWPluginInterface.
-        */
-        void GetCaptionL( TDes& aCaption ) const;
-        
-
-        /**
-        * @see CPslnFWPluginInterface.
-        */
-        void GetTabTextL( TDes& aCaption ) const;
-        
-        /**
-        * @see CPslnFWPluginInterface.
-        */
-        CGulIcon* CreateIconL();
-
-        /**
-        * @see CPslnFWPluginInterface.
-        */
-        void GetLocationTypeAndIndex( 
-            TPslnFWLocationType& aType, 
-            TInt& aIndex ) const;
-                
-    public: // from AknView
-        
-        /**
-        * Returns view id.
-        * @return TUid
-        */
-        TUid Id() const;
-
-        /**
-        * Handles commands.
-        * @param aCommand Command to be handled.
-        * 
-        */
-        void HandleCommandL( TInt aCommand );
-
-    public: // new
-        
-        /**
-        * Get CPslnCallImagePlugin's container.
-        * @return pointer to container.
-        */
-        CPslnCallImagePluginContainer* Container();
-        
-        /**
-        * From MPslnFWMSKObserver.
-        * Checks if the MSK label needs to be adjusted.
-        */    
-        void CheckMiddleSoftkeyLabelL();
-    
-    protected: // From CAknView 
-    
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-        void DoDeactivate();
-
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-    
-    protected:
-
-        /**
-        * C++ default constructor.
-        */
-        CPslnCallImagePlugin( CAknViewAppUi* aAppUi );
-
-        /**
-        * Symbian OS default constructor.
-        * 
-        */
-        void ConstructL();
-
-    private: // from CPslnFWBaseView
-        
-        /**
-        * @see CPslnFWBaseView.
-        */
-        void NewContainerL();
-
-        /**
-        * @see CPslnFWBaseView.
-        */
-        void HandleListBoxSelectionL();
-        
-        /**
-        * @see CPslnFWBaseView.
-        */
-        void SetTitlePaneL( TInt& aResourceId );
-        
-    private:
-    
-    	void HandleImageErrorsL( TInt aError );
-    
-    	void SetCallImageL();
-
-        TInt SetCallImagePath( const TDesC& aImagePath );
-        
-        void SetCallImageSettingL( const TInt aValue );
-        
-        TInt SetPathL( const TDesC& aPath );
-        
-        void RemoveCommandFromMSK();
-                
-    private:
-	    
-        // Resource loader.
-        RConeResourceLoader iResourceLoader;
-        
-        // Resource loader for common psln resources.
-	    RConeResourceLoader iResourceLoaderCommon;  
-        
-        // Resource loader for Psln app resources.
-        RConeResourceLoader iResourceLoaderPsln;
-                
-        // Application UI pointer (not owned)
-        CAknViewAppUi* iAppUi;
-        
-        // Call Image Plugin 
-        CPslnCallImagePluginDRM* iVerifier;
-    };
-
-#endif //PSLNCALLIMAGEPLUGIN_H
-
-// End of File
--- a/phonesettings/pslncallimageplugin/inc/PslnCallImagePluginContainer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +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:  Container for Call Image settings view.
-*
-*/
-
-
-#ifndef PSLNCALLIMAGEPLUGINCONTAINER_H
-#define PSLNCALLIMAGEPLUGINCONTAINER_H
-
-// INCLUDES
-#include <pslnfwbasecontainer.h>
-#include <centralrepository.h> 
-
-// CONSTANTS
-// Central repository values for key KThemesCallImageSupport
-enum TPslnCRCallImageValues
-    {
-    EPlsnCRCallImageNone = 0,
-    EPlsnCRUserDefinedImage,
-    EPlsnCRThemeImage
-    };
-    
-// Setting values, order must be same than in R_PSLN_CI_VIEW_LBX
-enum TPslnCallImageSetting
-    {
-    EPlsnCallImageThemeImage,
-    EPlsnCallImageNone,
-    EPlsnCallImageUserDefinedImage
-    };
-
-// FORWARD DECLARATION
-// CLASS DECLARATION
-
-/**
-*  CPslnCallImagePluginContainer container class.
-*  @since Series 60_3.1
-* 
-*/
-class CPslnCallImagePluginContainer : 
-    public CPslnFWBaseContainer
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Symbian OS constructor.
-        * @param aRect Listbox's rect.
-        * 
-        */
-        void ConstructL( const TRect& aRect );
-
-        /**
-        * Destructor.
-        */
-        ~CPslnCallImagePluginContainer();
-
-    public: //new
-
-        /**
-        * Updates listbox's item's value.
-        * @param aItemId specific item ID (ignored).
-        */
-        void UpdateListBoxL();
-                
-        /**
-        * Gets currently active index of given property.
-        * @return index of currently active property, or error code.
-        */
-        TInt CurrentSelectionIndexL();
-
-    protected:
-    
-        void ConstructListBoxL( TInt aResLbxId );
-
-    private: // new
-    
-        void CreateListBoxItemsL();
-        
-        /**
-        * From CCoeControl. Gets help context.
-        */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-    
-    private: // data
-    
-        // Listbox array for items.
-        CDesCArray* iItemArray;
-        
-        // List of items from resources.
-        CDesCArrayFlat* iItems;
-        
-        // One setting item.
-        HBufC* iItemBuf; 
-    };
-
-#endif //PSLNCALLIMAGEPLUGINCONTAINER_H
-
-// End of File
--- a/phonesettings/pslncallimageplugin/inc/PslnCallImagePluginDRM.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* 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:  Implementation for DRM functionality.
-*
-*/
-
-
-#ifndef PSLNCALLIMAGEPLUGINDRM_H
-#define PSLNCALLIMAGEPLUGINDRM_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <MMGFetchVerifier.h>
-
-// FORWARD DECLARATIONS
-class CDRMHelper;
-
-// CLASS DECLARATION
-
-/**
-* Implementation for DRM functionality.
-*
-* @since 3.1
-*
-* @internal
-*/
-class CPslnCallImagePluginDRM : public CBase, public MMGFetchVerifier
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CPslnCallImagePluginDRM* NewL();
-        
-        /**
-        * Destructor.
-        */
-        ~CPslnCallImagePluginDRM();
-
-    public: // Functions from base classes
-
-        /**
-        * From MFLDFileObserver. Verifies that the selected image can be set.
-        */
-        TBool VerifySelectionL( const MDesCArray* aSelectedFiles );
-     
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CPslnCallImagePluginDRM();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        void CPslnCallImagePluginDRM::ShowErrorNoteL( TInt  aResourceId  ) const;
-
-    private:    // Data
-    
-        // Own: DRM helper
-        CDRMHelper* iDRMHelper;
-        
-    };
-
-#endif // PSLNCALLIMAGEPLUGINDRM_H
-            
-// End of File
--- a/phonesettings/pslncallimageplugin/loc/pslncallimageplugin.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for PslnCallImagePlugin
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-// d:Text of a list item in Main state's folder list.
-// d:Item opens Call Image folder.
-// l:list_single_large_graphic_pane_t1_cp2
-// w:
-// r:3.1
-//
-#define qtn_skins_title_call_image "Call image"
-
-
-// d:Text of a tab group item Call Image in Personalisation app's tab group.
-// d:Shown in tabgroup when a folder has been activated from Main state.
-// l:tabs_3_long_active_pane_t1
-// w:
-// r:3.1
-//
-#define qtn_skins_tabs_call_image "Call image"
-
-// d:Title pane text in Call image view.
-// l:title_pane_t2/opt9
-// w:
-// r:5.0
-//
-#define qtn_skins_title_pane_callimage "Call image"
-
-// d:List item in Call image view list. Shown as first item in the list.
-// d:Selects theme image used as call image. 
-// l:list_set_graphic_pane_t1
-// w:
-// r:3.2
-//
-#define qtn_skins_default_call_image "Theme image"
-
-// d:List item in Call image view list.
-// d:Selects user defined image used as call image. 
-// l:list_set_graphic_pane_t1
-// w:
-// r:3.2
-//
-#define qtn_skins_settings_browse "User defined"
-           
-// End of File
-
-
--- a/phonesettings/pslncallimageplugin/rom/PslnCallImagePlugin.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PslnCallImagePlugin dll.
-*
-*/
-
-
-#ifndef PSLNCALLIMAGEPLUGIN_IBY
-#define PSLNCALLIMAGEPLUGIN_IBY
-
-#ifdef __CALL_IMAGETEXT
-
-data=DATAZ_\BITMAP_DIR\PslnCallImagePlugin.mif       BITMAP_DIR\PslnCallImagePlugin.mif
-data=ZSYSTEM\install\pslncallimageplugin_stub.SIS    System\Install\pslncallimageplugin_stub.SIS
-ECOM_PLUGIN( PslnCallImagePlugin.dll, 102818EE.rsc )
-
-#endif	// __CALL_IMAGETEXT
-
-#endif // PSLNCALLIMAGEPLUGIN_IBY
--- a/phonesettings/pslncallimageplugin/rom/PslnCallImagePluginResources.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PslnCallImagePlugin ROM resources.
-*
-*/
-
-#ifndef PSLNCALLIMAGEPLUGINRESOURCES_IBY
-#define PSLNCALLIMAGEPLUGINRESOURCES_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-#ifdef __CALL_IMAGETEXT
-
-data=DATAZ_\RESOURCE_FILES_DIR\PslnCallImagePluginRsc.rsc   RESOURCE_FILES_DIR\PslnCallImagePluginRsc.rsc
-
-#endif	// __CALL_IMAGETEXT
-
-#endif // PSLNCALLIMAGEPLUGINRESOURCES_IBY
-//  End of File
--- a/phonesettings/pslncallimageplugin/src/PslnCallImagePlugin.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,689 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  View for Phone Application skinning.
-*
-*/
-
-
-// INCLUDE FILES
-
-// This plugin specific.
-#include <PslnCallImagePluginRsc.rsg>
-#include <pslncallimageplugin.mbg>
-#include "PslnCallImagePlugin.h"
-#include "PslnCallImagePluginContainer.h"
-#include "PslnCallImagePluginDRM.h"
-
-// General services.
-#include <gulicon.h>
-#include <bautils.h>
-#include <eikfrlbd.h>
-#include <StringLoader.h>
-#include <aknViewAppUi.h>
-#include <featmgr.h>
-#include <ConeResLoader.h>
-#include <pslninternalcrkeys.h>
-#include <AknsSrvClient.h>
-#include <aknnotewrappers.h>
-#include <AknsWallpaperUtils.h>
-
-// Psln Framework specific.
-#include <pslnfwviewuids.h>
-#include <psln.hrh>
-#include <pslncommon.rsg>
-
-// General services
-#include <MGFetch.h>
-
-// Resources
-#include <psln.rsg>
-
-// Logging
-#include "PslnCallImagePluginLogger.h"
-
-// CONSTANTS
-
-// Path to mbm file.
-_LIT( KPslnPhoneApplicationIconFileName, "z:PslnCallImagePlugin.mbm");
-
-// Path to compiled resource file.
-_LIT( KPslnCallImagePluginResourceFileName, "z:PslnCallImagePluginRsc.rsc" );
-
-// Path to common personalization resources. This resource file is meant for 
-// shared resources between application and plugins.
-_LIT( KPslnCommonResourceFileName, "z:pslncommon.rsc" );
-
-// Path to Psln application resource file. Plugin uses some localized texts from Psln's
-// resources,
-_LIT( KPslnApplicationResourceFileName, "z:Psln.rsc" );
-
-// Extension for scalable vector graphics file.
-_LIT( KAknsSkinSrvSvgFileExt, ".svg" );
-
-// Selected file.
-const TInt KPslnSelectedFile = 0;
-
-// Location of this plugin view within Psln's tab group.
-const TInt KPslnApplicationPhonePluginLocation = 5;
-
-const TInt KPslnFileArrayGranularity = 3;
-
-// Middle Softkey control ID.
-const TInt KPslnMSKControlId = 3;
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ----------------------------------------------------------------------------
-// CPslnCallImagePlugin::CPslnCallImagePlugin()
-// 
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CPslnCallImagePlugin::CPslnCallImagePlugin( CAknViewAppUi* aAppUi )
-  : iResourceLoader( *iCoeEnv ), iResourceLoaderCommon( *iCoeEnv ), 
-    iResourceLoaderPsln( *iCoeEnv ), iAppUi ( aAppUi )
-    {
-    }    
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::NewL()
-// 
-// Symbian OS default constructor
-// ---------------------------------------------------------------------------
-CPslnCallImagePlugin* CPslnCallImagePlugin::NewL( TAny* aAppUi )
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::NewL");
-    CAknViewAppUi* appUi = reinterpret_cast<CAknViewAppUi*>( aAppUi );
-    CPslnCallImagePlugin* self = new( ELeave ) CPslnCallImagePlugin ( appUi );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();    
-    CleanupStack::Pop();
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::ConstructL()
-// 
-// Symbian OS two-phased constructor
-// ---------------------------------------------------------------------------
-void CPslnCallImagePlugin::ConstructL()
-    {
-    // Find the resource file:
-    TParse parse;
-    parse.Set( KPslnCommonResourceFileName, &KDC_APP_RESOURCE_DIR, NULL );      
-    TFileName* fileName = new (ELeave) TFileName( parse.FullName() );
-    CleanupStack::PushL( fileName );
-	
-    // Open resource file:
-    iResourceLoaderCommon.OpenL( *fileName );
-    
-    // Find the resource file:
-    parse.Set( KPslnApplicationResourceFileName, &KDC_APP_RESOURCE_DIR, NULL );
-    
-	OpenLocalizedResourceFileL( 
-        KPslnCallImagePluginResourceFileName, 
-        iResourceLoader );
-
-    CleanupStack::PopAndDestroy( fileName );
-
-    BaseConstructL( R_PSLN_CALL_IMAGE_VIEW );    
-    
-    __CALLLOGSTRING("CPslnCallImagePlugin::ConstructL -> METHOD COMPLETED");
-    }
-
-// ----------------------------------------------------------------------------
-// CPslnCallImagePlugin::~CPslnCallImagePlugin
-// 
-// Destructor
-// ----------------------------------------------------------------------------
-CPslnCallImagePlugin::~CPslnCallImagePlugin()
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::~CPslnCallImagePlugin -> START");
-    iResourceLoaderCommon.Close();
-    iResourceLoaderPsln.Close();
-    iResourceLoader.Close();
-    __CALLLOGSTRING("CPslnCallImagePlugin::~CPslnCallImagePlugin -> METHOD COMPLETED");
-    }
-
-// ---------------------------------------------------------------------------
-// TUid CPslnCallImagePlugin::Id()
-// 
-// Returns view's ID.
-// ---------------------------------------------------------------------------
-TUid CPslnCallImagePlugin::Id() const
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::Id");
-    return KPslnCallImagePluginUid;
-    }
-
-// ----------------------------------------------------------------------------
-// CPslnCallImagePlugin::GetCaption
-// 
-// Return application/view caption.
-// ----------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::GetCaptionL");
-    
-       // the resource file is already opened.
-    HBufC* result = StringLoader::LoadL( R_PSLN_CI_LIST_VIEW_CAPTION );
-    if ( aCaption.MaxLength() >= result->Length() )
-        {
-        aCaption.Copy( *result );
-        }
-    delete result;
-    }    
-
-// ----------------------------------------------------------------------------
-// CPslnCallImagePlugin::GetTabTextL
-// 
-// Return application/view caption.
-// ----------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::GetTabTextL( TDes& aCaption ) const
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::GetTabTextL");
-    
-    // the resource file is already opened.
-    HBufC* result = StringLoader::LoadL( R_PSLN_CI_TAB_NAME );
-    if ( aCaption.MaxLength() >= result->Length() )
-        {
-        aCaption.Copy( *result );
-        }
-    delete result;
-    }
-
-// ----------------------------------------------------------------------------
-// CPslnCallImagePlugin::CreateIconL
-// 
-// Creates Main view icon.
-// ----------------------------------------------------------------------------
-//    
-CGulIcon* CPslnCallImagePlugin::CreateIconL()
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::CreateIconL");
-
-    // Find the resource file:
-    TParse parse;
-    parse.Set( KPslnPhoneApplicationIconFileName, &KDC_APP_BITMAP_DIR, NULL );
-    TFileName fileName( parse.FullName() );
-    
-    CGulIcon* icon = AknsUtils::CreateGulIconL(
-        AknsUtils::SkinInstance(), 
-        KAknsIIDQgnPropPslnCimageSub, 
-        fileName,
-        EMbmPslncallimagepluginQgn_prop_psln_cimage_sub,
-        EMbmPslncallimagepluginQgn_prop_psln_cimage_sub_mask
-        );
-
-    return icon;
-    }
-
-// -----------------------------------------------------------------------------
-// CPslnCallImagePlugin::GetLocationTypeAndIndex()
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::GetLocationTypeAndIndex( 
-            TPslnFWLocationType& aType, 
-            TInt& aIndex ) const
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::GetLocationTypeAndIndex");
-    aType = CPslnFWPluginInterface::EPslnFWSpecified;
-    aIndex = KPslnApplicationPhonePluginLocation;
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::HandleCommandL(TInt aCommand)
-// 
-// Handles commands directed to this class.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::HandleCommandL( TInt aCommand )
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::HandleCommandL -> START");
-    switch ( aCommand )
-        {
-        case EPslnCmdAppDownload:
-        case EPslnCmdAppActivate:
-        case EAknSoftkeyOk:
-            if ( iContainer->iListBox->CurrentItemIndex() == 
-                 EPlsnCallImageThemeImage )
-                {
-                SetCallImageSettingL( EPlsnCRThemeImage );
-                }
-        	else if ( iContainer->iListBox->CurrentItemIndex() == 
-        	          EPlsnCallImageUserDefinedImage )
-            	{
-            	// Don't launch more than one image selection at time
-            	if ( !iVerifier )
-            	    {
-            	    __CALLLOGSTRING("CPslnCallImagePlugin::HandleCommandL -> SetCallImage");
-                    SetCallImageL();
-            	    }
-           		}
-           	else // EPlsnCallImageNone
-           		{
-           		TInt imageError = SetCallImagePath( KNullDesC );
-	            if ( imageError != KErrNone )
-	                {
-	                __CALLLOGSTRING1("CPslnCallImagePlugin::HandleCommandL -> SetCallImagePath error: %d", imageError);
-	        		HandleImageErrorsL( imageError );
-	                }
-	            SetCallImageSettingL( EPlsnCRCallImageNone );
-           		}           		 	
-           	// Update container.
-        	static_cast<CPslnCallImagePluginContainer*>
-        		(iContainer)->UpdateListBoxL();
-        	CheckMiddleSoftkeyLabelL();
-        	break;
-        case EAknSoftkeyBack:
-            if ( iAppUi->View( KPslnMainViewUid ) )
-                {
-                __CALLLOGSTRING("CPslnCallImagePlugin::HandleCommandL -> Activate PSLN");
-                iAppUi->ActivateLocalViewL( KPslnMainViewUid );
-                }
-            else
-                {
-                iAppUi->HandleCommandL( aCommand );
-                }
-            break;
-        case EPslnCmdAppHelp:
-        case EAknCmdHelp:
-            CPslnFWBaseView::HandleCommandL( aCommand );
-            break;
-        default:
-            // Help and Exit are handled by AppUi.
-            iAppUi->HandleCommandL( aCommand );
-            break;
-        }
-    __CALLLOGSTRING("CPslnCallImagePlugin::HandleCommandL -> METHOD COMPLETED");
-    }
-
-// ----------------------------------------------------------------------------
-// CPslnCallImagePlugin::DynInitMenuPaneL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::DynInitMenuPaneL(  
-			TInt aResourceId, CEikMenuPane* aMenuPane  )
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::DynInitMenuPaneL -> START");
-    if ( aResourceId == R_PSLN_GEN_VIEW_MENUPANE )
-    	{
-        // Since this is common resource it contains download - set it off.
-        aMenuPane->SetItemDimmed( EPslnCmdAppDownload, ETrue );
-        // Since this is common resource it contains activate - set it off.
-        aMenuPane->SetItemDimmed( EPslnCmdAppActivate, ETrue );      	         
-    	}
-   else if ( aResourceId == R_PSLN_CI_BASIC_MENUPANE )
-    	{
-    	TInt active = static_cast<CPslnCallImagePluginContainer*>
-                    (iContainer)->CurrentSelectionIndexL();
-        // Set menu item is used when inactive item is focused and it 
-		// activates the focused item.
-    	if ( active != iContainer->iListBox->CurrentItemIndex() )
-    		{
-        	aMenuPane->SetItemDimmed( EPslnCmdAppActivate, EFalse );
-        	aMenuPane->SetItemDimmed( EPslnCmdAppDownload, ETrue );
-        	}
-        else if ( ( active == iContainer->iListBox->CurrentItemIndex() ) && 
-            ( active == EPlsnCallImageNone ||
-              active == EPlsnCallImageThemeImage ) )
-        	{
-        	aMenuPane->SetItemDimmed( EPslnCmdAppActivate, ETrue );
-        	aMenuPane->SetItemDimmed( EPslnCmdAppDownload, ETrue );
-        	}
-        else
-        	{
-        	aMenuPane->SetItemDimmed( EPslnCmdAppActivate, ETrue );
-        	aMenuPane->SetItemDimmed( EPslnCmdAppDownload, EFalse );
-        	}	
-	
-    	if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
-            // Disable help if not supported
-            aMenuPane->SetItemDimmed( EPslnCmdAppHelp, ETrue );
-            }
-    	}
-    __CALLLOGSTRING("CPslnCallImagePlugin::DynInitMenuPaneL <- END");
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::SetBoolL
-// 
-// Sets boolean to KCRUidThemes key.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::SetCallImageSettingL( const TInt aValue )
-	{
-	CRepository* setting = CRepository::NewL ( KCRUidThemes ); 
-	CleanupStack::PushL( setting );     
-	setting->Set( KThemesCallImageSetting, aValue );
-	CleanupStack::PopAndDestroy( setting );
-	}
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::SetPathL
-// 
-// Sets path to KCRUidThemes key.
-// ---------------------------------------------------------------------------
-//
-TInt CPslnCallImagePlugin::SetPathL( const TDesC& aPath )
-	{
-	CRepository* pathCen = CRepository::NewL ( KCRUidThemes ); 
-	CleanupStack::PushL( pathCen );    
-	TInt error = pathCen->Set( KThemesCallImagePath, aPath );
-	CleanupStack::PopAndDestroy( pathCen );
-	return error;
-	}
-	
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::SetCallImageL
-// 
-// Sets call image.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::SetCallImageL()
-	{
-	__CALLLOGSTRING("CPslnCallImagePlugin::SetCallImage -> START");
-	
-	TInt retVal( KErrNone );
-	CDesCArrayFlat* files = 
-    	new (ELeave) CDesCArrayFlat( KPslnFileArrayGranularity );
-	CleanupStack::PushL( files );
-	// Create DRM verifier
-	iVerifier = CPslnCallImagePluginDRM::NewL();
-	// Show images to user to select one	
-
-	TBool selectedItem = MGFetch::RunL( *files, EImageFile, EFalse, iVerifier );
-
-	if ( !iVerifier )
-		{
-        __CALLLOGSTRING("CPslnCallImagePlugin::SetCallImage DRM Error");
-		retVal = KErrCancel;
-	    }	    
-	else if( selectedItem && ( files->MdcaCount() > 0 ) )
-		{
-	    __CALLLOGSTRING("CPslnCallImagePlugin::SetCallImage Fetch successful");
-	    retVal = SetCallImagePath( files->MdcaPoint( KPslnSelectedFile ) );
-	    if ( retVal != KErrNone )
-	    	{
-	    	__CALLLOGSTRING1("CPslnCallImagePlugin::SetCallImage -> SetCallImagePath error: %d", retVal );
-	        HandleImageErrorsL( retVal );
-	        }
-	    }
-	else
-	   {
-       __CALLLOGSTRING("CPslnCallImagePlugin::SetCallImage Fetch cancelled");
-	   retVal = KErrCancel;
-	   }
-	   
-	if ( retVal == KErrNone )
-	    {
-	    // no way currently of checking corrupted svg:s
-	    if ( ( files->MdcaPoint( KPslnSelectedFile ).Right( 4 ) ).CompareF( KAknsSkinSrvSvgFileExt ) )
-	    	{
-	    	//Before setting image, check is the image corrputed
-	    	RAknsSrvSession skinsrv;
-	    	User::LeaveIfError( skinsrv.Connect() );
-	    	CleanupClosePushL( skinsrv );
-	    	CFbsBitmap* bmp = NULL;
-	    	CFbsBitmap* mask = NULL;
-			// (-1, -1) means that image is just decoded, not used    	
-	   	 	TRAP( retVal, skinsrv.DecodeWallpaperImageL( files->MdcaPoint( KPslnSelectedFile ), TSize(-1,-1), bmp, mask ) );
-	        CleanupStack::PopAndDestroy(); // skinsrv
-	    	}
-
-	    if( retVal == KErrNone )
-	        {
-	        // If image set without problems update setting.
-	        SetCallImageSettingL( EPlsnCRUserDefinedImage );
-	        }
-	   	else
-	   	     {
-             //File is corrupted
-             HandleImageErrorsL( retVal );
-	   	     }
-		}
-	
-	CleanupStack::PopAndDestroy( files );
-	
-	if ( iVerifier )
-	    {
-	    delete iVerifier;
-	    iVerifier = NULL;
-	    }
-	__CALLLOGSTRING("CPslnCallImagePlugin::SetCallImage -> METHOD COMPLETED");
-	}
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::HandleImageErrorsL
-// 
-// Handles image setting errors.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::HandleImageErrorsL( TInt aError )
-    {
-    __CALLLOGSTRING1("CPslnCallImagePlugin::HandleImageError aError: %d -> START", aError );    
-    TInt resourceId = KErrNone;
-    if ( aError == KErrNoMemory )
-        {
-        // Out of memory when handling the image,
-        User::Leave( aError );
-        }    
-    else
-        {
-        // Image is corrupted or in wrong format
-        resourceId = R_PSLN_IMAGE_CORRUPTED;        
-        }
-
-    // Show information note
-    HBufC* prompt = iCoeEnv->AllocReadResourceLC( resourceId );
-    CAknInformationNote* note = new (ELeave) CAknInformationNote( ETrue );
-    note->ExecuteLD( *prompt );
-    CleanupStack::PopAndDestroy( prompt );
-    __CALLLOGSTRING("CPslnCallImagePlugin::HandleImageError -> METHOD COMPLETED");
-    }
-
-// -----------------------------------------------------------------------------
-// CPslnCallImagePlugin::SetCallImagePath
-// Set call image path.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPslnCallImagePlugin::SetCallImagePath( const TDesC& aImagePath )
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::SetCallImagePath -> START");
-    TInt retVal(KErrNone);
-    // If CentralRepository set fails caller will handle the error code.
-    if( aImagePath.Length() >= 0 )
-        {
-        retVal = SetPathL( aImagePath );    
-        }
-    else
-    	{
-    	retVal = KErrPathNotFound;
-    	}
-    	
-	__CALLLOGSTRING("CPslnCallImagePlugin::SetCallImage -> METHOD COMPLETED");
-    return retVal;
-    }
-
-// ----------------------------------------------------------------------------
-// CPslnCallImagePlugin::Container
-// 
-// Return handle to container class.
-// ----------------------------------------------------------------------------
-//
-CPslnCallImagePluginContainer* CPslnCallImagePlugin::Container()
-    {
-    return static_cast<CPslnCallImagePluginContainer*>( iContainer );
-    }
-
-// ----------------------------------------------------------------------------
-// CPslnCallImagePlugin::DoActivateL
-// 
-// First method called by the Avkon framwork to invoke a view.
-// ----------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::DoActivateL( const TVwsViewId& aPrevViewId,
-                                     TUid aCustomMessageId,
-                                     const TDesC8& aCustomMessage )
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::DoActivateL");
-    CPslnFWBaseView::DoActivateL( aPrevViewId, aCustomMessageId, aCustomMessage );    
-
-    // If called from Psln - set tab group location.
-    if ( iAppUi->View( KPslnMainViewUid ) )
-        {
-        // This tries to set the plugin to the given location in Tab.
-        CPslnFWBaseView::SetTabIndex( KPslnApplicationPhonePluginLocation );
-        // This is the location that PslnFW actually put the plugin into. 
-        TInt ciRealLocation = CPslnFWBaseView::GetTabIndex();
-        CPslnFWBaseView::SetNaviPaneL( ciRealLocation );
-        }
-    else
-        {
-        CPslnFWBaseView::SetNaviPaneL();
-        }
-        
-    if ( iContainer )
-        {
-        TInt currentItem = static_cast<CPslnCallImagePluginContainer*>
-                    (iContainer)->CurrentSelectionIndexL();
-        // Set highlight to selected item.
-        iContainer->iListBox->SetCurrentItemIndexAndDraw( currentItem );
-        }
-    // Check middle softkey.    
-    CheckMiddleSoftkeyLabelL();
-    }
-                                
-// ----------------------------------------------------------------------------
-// CPslnCallImagePlugin::DoDeactivate
-// 
-// Called by the Avkon view framework when closing.
-// ----------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::DoDeactivate()
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::DoDeactivate");
-    CPslnFWBaseView::DoDeactivate();
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::NewContainerL()
-// 
-// Creates new iContainer.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::NewContainerL()
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::NewContainerL");
-    iContainer = new( ELeave ) CPslnCallImagePluginContainer;
-    iContainer->SetMiddleSoftkeyObserver( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::HandleListBoxSelectionL()
-// 
-// Handles events raised through a rocker key.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::HandleListBoxSelectionL()
-    {
-    __CALLLOGSTRING("CPslnCallImagePlugin::HandleListBoxSelectionL");
-    HandleCommandL( EAknSoftkeyOk );
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::CheckMiddleSoftkeyLabelL()
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::CheckMiddleSoftkeyLabelL()
-    {  
-    // First remove any prevous commands.
-    RemoveCommandFromMSK();
-
-    if ( iContainer )
-        {
-        TInt currentlyActive = static_cast<CPslnCallImagePluginContainer*>
-                    (iContainer)->CurrentSelectionIndexL();
-        TInt currentItem = iContainer->iListBox->CurrentItemIndex();
-        // Set MSK label.
-        if ( currentlyActive != currentItem && 
-             ( currentItem == EPlsnCallImageNone ||
-               currentItem == EPlsnCallImageThemeImage ) )  
-            {
-            // Set middle softkey as Apply, if:
-            // a) 'None' is selected
-            // b) highlight is on inactive selection
-            CPslnFWBaseView::SetMiddleSoftKeyLabelL( 
-                R_PSLN_MSK_ACTIVATE,
-                EPslnCmdAppActivate );
-            }
-        else if( ( currentlyActive == currentItem ) && 
-            ( currentlyActive == EPlsnCallImageNone ||
-                currentlyActive == EPlsnCallImageThemeImage ) )
-            {
-            CPslnFWBaseView::SetMiddleSoftKeyLabelL( 
-                R_TEXT_SOFTKEY_EMPTY, 
-                EPslnCmdEmptyCommand );
-            }
-        else
-            {
-            // Otherwise set middle softkey as Change. 
-            CPslnFWBaseView::SetMiddleSoftKeyLabelL( 
-                R_PSLN_MSK_CHANGE,
-                EPslnCmdAppDownload );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::RemoveCommandFromMSK()
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePlugin::RemoveCommandFromMSK()
-    {
-    CEikButtonGroupContainer* cbaGroup = Cba();
-    if ( cbaGroup )
-        {
-        cbaGroup->RemoveCommandFromStack( KPslnMSKControlId, EPslnCmdAppActivate );
-        cbaGroup->RemoveCommandFromStack( KPslnMSKControlId, EPslnCmdAppDownload );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CPslnCallImagePlugin::SetTitlePaneL()
-// 
-// Gives resource ID to be used as plugin view title.
-// ---------------------------------------------------------------------------
-//  
-void CPslnCallImagePlugin::SetTitlePaneL( TInt& aResourceId )
-    {
-#ifdef RD_CONTROL_PANEL
-    aResourceId = R_PSLN_TITLE_PANE_CALLIMAGE;
-#endif // RD_CONTROL_PANEL
-    }
-    
-// End of File
--- a/phonesettings/pslncallimageplugin/src/PslnCallImagePluginContainer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Container for the Data sub-folder
-*
-*/
-
-
-// INCLUDE FILES
-
-// From this plugin.
-#include "PslnCallImagePluginContainer.h"
-
-// From PSLN framework
-#include <pslnfwbaseview.h>
-#include <pslnfwiconhelper.h>
-#include <csxhelp/skins.hlp.hrh>
-
-// Resources
-#include <PslnCallImagePluginRsc.rsg>
-
-// General services
-#include <aknlists.h>
-#include <featmgr.h>
-#include <AknUtils.h>
-#include <pslninternalcrkeys.h>
-#include <bautils.h>
-
-// Logging
-#include "PslnCallImagePluginLogger.h"
-
-// CONSTANTS
-// Number of Call Image plugin items.
-const TInt KPslnCallImageItems = 3;
-
-// PSLN application UID.
-const TUid KUidPslnApp = { 0x10005A32 };
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePluginContainer::ConstructL()
-// 
-// Symbian OS two phased constructor
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePluginContainer::ConstructL( const TRect& aRect )
-    {
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::ConstructL -> START");
-    iListBox = new( ELeave ) CAknSingleGraphicStyleListBox;
-   					 
-    BaseConstructL( aRect, 0, R_PSLN_CI_VIEW_LBX );
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::ConstructL -> COMPLETED");
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePluginContainer::~CPslnCallImagePluginContainer()
-// 
-// Destructor 
-// ---------------------------------------------------------------------------
-//
-CPslnCallImagePluginContainer::~CPslnCallImagePluginContainer()
-    {
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::~CPslnCallImagePluginContainer -> START");
-    delete iItemBuf;
-    delete iItems;  
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::~CPslnCallImagePluginContainer -> COMPLETED");
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePluginContainer::UpdateListBoxL()
-// 
-// Update listbox item.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePluginContainer::UpdateListBoxL()
-    {
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::UpdateListBoxL -> START");
-    iItemArray->Reset();
-    CreateListBoxItemsL();
-    iListBox->HandleItemRemovalL();
-    iListBox->DrawDeferred();
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::UpdateListBoxL -> COMPLETED");
-    }
-// ---------------------------------------------------------------------------
-// CPslnCallImagePluginContainer::CurrentSelectionIndex
-// 
-// Sets tap for the selection.
-// ---------------------------------------------------------------------------
-//
-TInt CPslnCallImagePluginContainer::CurrentSelectionIndexL()
-	{
-	__CALLLOGSTRING("CPslnCallImagePluginContainer::CurrentSelectionIndexL-> START");
-	TInt itemIndex(KErrNotFound);
-    TInt error(KErrNone);
-    TInt currentSetting(0);
-
-    CRepository* callImageSupp = CRepository::NewL ( KCRUidThemes ); 
-	CleanupStack::PushL( callImageSupp );     
-	error = callImageSupp->Get( KThemesCallImageSetting, currentSetting );
-       
-    // Verify that the image exists.
-    TFileName callImagePath;
-    error = callImageSupp->Get( KThemesCallImagePath, callImagePath );
-    TBool imageExists = ( callImagePath.Length() && 
-        BaflUtils::FileExists( CCoeEnv::Static()->FsSession(), 
-        callImagePath ) ); 
-    
-    if( error != KErrNone ) 
-    	{
-        return error;
-        }
-        
-    // Map CR value to list box index.
-    switch ( currentSetting )
-        {
-        case EPlsnCRCallImageNone:
-            itemIndex = EPlsnCallImageNone;
-            break;
-        case EPlsnCRUserDefinedImage:
-            if ( !imageExists )
-                {
-                itemIndex = EPlsnCallImageNone;
-                }
-            else
-                {
-                itemIndex = EPlsnCallImageUserDefinedImage;
-                }            
-            break;
-        case EPlsnCRThemeImage:
-        default:
-            itemIndex = EPlsnCallImageThemeImage;
-            break;
-        }
-    CleanupStack::PopAndDestroy( callImageSupp );
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::CurrentSelectionIndexL -> COMPLETED");
-    return itemIndex;
-	}
-    
-// ---------------------------------------------------------------------------
-// CPslnCallImagePluginContainer::ConstructListBoxL()
-// 
-// Construct the listbox from resource array.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePluginContainer::ConstructListBoxL( TInt aResLbxId )
-    {
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::ConstructListBoxL-> START");
-    iListBox->ConstructL( this, EAknListBoxSelectionList );
-
-    iItemArray = static_cast<CDesCArray*>
-        ( iListBox->Model()->ItemTextArray() );
-        
-    iItems = iCoeEnv->ReadDesC16ArrayResourceL( aResLbxId );
-    
-    CreateListBoxItemsL();  
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::ConstructListBoxL -> COMPLETED");
-    }
-
-// ---------------------------------------------------------------------------
-// CPslnCallImagePluginContainer::CreateListBoxItemsL()
-// 
-// Create listbox items.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePluginContainer::CreateListBoxItemsL()
-    {
-    __CALLLOGSTRING("CPslnCallImagePluginContainer::CreateListBoxItemsL -> START");
-    TInt selectedItem = CurrentSelectionIndexL();
-    if ( selectedItem < 0 )
-        {
-        selectedItem = 0;
-        } 
-        
-        for( TInt i = 0; i < KPslnCallImageItems; i++ )
-        {
-        if ( i > iItems->Count() )
-            {
-            User::Leave( KErrOverflow );
-            }
-        iItemBuf = (*iItems)[i].AllocL();
-        if ( iItemBuf )
-            {            
-            iItemBuf = iItemBuf->ReAllocL( iItemBuf->Length() + 4 );
-            TPtr ptr = iItemBuf->Des();
-            if ( selectedItem == i )
-                {
-                ptr.Insert( 0, KPslnFWActiveListItemFormat );
-                }
-            else
-                {            
-                ptr.Insert( 0, KPslnFWNonActiveListItemFormat );
-                }
-            iItemArray->InsertL( i, ptr );
-            delete iItemBuf;
-            iItemBuf = NULL;
-            }
-        }        
-    // Create pre- and post-text icons.
-    CPslnFWIconHelper* iconHelper = CPslnFWIconHelper::NewL();
-    CleanupStack::PushL( iconHelper );   
-    iconHelper->AddIconsToSettingItemsL( 
-        ETrue, 
-        1,
-        iListBox );
-    CleanupStack::PopAndDestroy( iconHelper );
-    
-    iListBox->HandleItemAdditionL();
-    __CALLLOGSTRING("CCPslnCallImagePluginContainer::CreateListBoxItemsL -> COMPLETED");
-    }
-    
-// ---------------------------------------------------------------------------
-// CPslnCallImagePluginContainer::GetHelpContext()
-// 
-// Gets Help context.
-// ---------------------------------------------------------------------------
-//
-void CPslnCallImagePluginContainer::GetHelpContext(
-    TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = KUidPslnApp;
-    aContext.iContext = KSKINS_HLP_CIMAGE_SETTINGS;
-    }
-
-// End of File
--- a/phonesettings/pslncallimageplugin/src/PslnCallImagePluginDRM.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 2004-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 CPslnCallImagePluginDRM class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "PslnCallImagePluginDRM.h"
-
-#include    <DRMHelper.h>
-#include    <coemain.h>
-#include    <aknnotewrappers.h>
-#include    <psln.rsg>
-#include    <drmutility.h>
-
-// Logging
-#include    "PslnCallImagePluginLogger.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCPslnCallImagePluginDRM::CPslnCallImagePluginDRM
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-CPslnCallImagePluginDRM::CPslnCallImagePluginDRM()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CPslnCallImagePluginDRM::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPslnCallImagePluginDRM::ConstructL()
-    {
-    __CALLLOGSTRING("CPslnCallImagePluginDRM::ConstructL");
-    iDRMHelper = CDRMHelper::NewL( *CCoeEnv::Static() );
-    }
-
-// -----------------------------------------------------------------------------
-// CPslnCallImagePluginDRM::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPslnCallImagePluginDRM* CPslnCallImagePluginDRM::NewL()
-    {
-    CPslnCallImagePluginDRM* self = new( ELeave ) CPslnCallImagePluginDRM();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPslnCallImagePluginDRM::~CPslnCallImagePluginDRM
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CPslnCallImagePluginDRM::~CPslnCallImagePluginDRM()
-    {
-    __CALLLOGSTRING("CPslnCallImagePluginDRM::~CPslnCallImagePluginDRM");
-    delete iDRMHelper;
-    iDRMHelper = NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CPslnCallImagePluginDRM::IsFileValidL
-// Empty implementation.
-// -----------------------------------------------------------------------------
-//
-TBool CPslnCallImagePluginDRM::VerifySelectionL(const MDesCArray* aSelectedFiles)
-    {
-    __CALLLOGSTRING("CPslnCallImagePluginDRM::VerifySelectionL START");
-
-    TBool canbeautomated( EFalse );
-    TBool iDrmProtected( EFalse );
-    TInt res( KErrNone );
-    RFile fileHandle;
-    TUint fileMode = EFileShareReadersOrWriters | EFileStream | EFileRead;
-    RFs fs = CCoeEnv::Static()->FsSession();
-    
-    if( aSelectedFiles->MdcaCount()<1 )
-        {
-        __CALLLOGSTRING("CPslnCallImagePluginDRM::VerifySelectionL zero items");
-        __CALLLOGSTRING("CPslnCallImagePluginDRM::VerifySelectionL RETURN TRUE");
-        // Download item
-        return ETrue;
-        }
- 
-    User::LeaveIfError(fileHandle.Open(fs, aSelectedFiles->MdcaPoint(0), fileMode));
-    CleanupClosePushL(fileHandle);
-     
-    DRM::CDrmUtility* drmUtil = DRM::CDrmUtility::NewLC();
-    iDrmProtected = drmUtil->IsProtectedL(fileHandle);
-     
-    CleanupStack::PopAndDestroy(2); // fileHandle, drmUtil
-    
-    if( !iDrmProtected )
-        {
-        res = iDRMHelper->SetAutomatedType( CDRMHelper::EAutomatedTypeWallpaper );
-        __CALLLOGSTRING1("CPslnCallImagePluginDRM::VerifySelectionL SetAutomatedType called, result=%d", res );
-        if ( res == KErrNone )
-            {        
-            res = iDRMHelper->CanSetAutomated(
-                aSelectedFiles->MdcaPoint(0), 
-                canbeautomated );
-            }
-        }
-        
-    __CALLLOGSTRING1("CPslnCallImagePluginDRM::VerifySelectionL Automated called, value=%d", canbeautomated);
-    __CALLLOGSTRING1("CPslnCallImagePluginDRM::VerifySelectionL Automated called, result=%d", res);
-    if (!res && !canbeautomated)
-        {
-        ShowErrorNoteL( R_PSLN_QTN_DRM_PREV_RIGHTS_SET );
-        }
-    else if (res || !canbeautomated)
-        {
-        iDRMHelper->HandleErrorL(res, aSelectedFiles->MdcaPoint(0) );
-        }
-    
-    __CALLLOGSTRING("CPslnCallImagePluginDRM::VerifySelectionL RETURNING");
-    return canbeautomated;
-    }
-    
-// -----------------------------------------------------------------------------
-// CPslnCallImagePluginDRM::ShowErrorNoteL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPslnCallImagePluginDRM::ShowErrorNoteL( TInt  aResourceId  ) const
-    {
-    HBufC* errorText = 
-        CCoeEnv::Static()->AllocReadResourceLC( aResourceId );
-    CAknInformationNote* note = new( ELeave ) CAknInformationNote( EFalse );
-    note->ExecuteLD( *errorText );
-    CleanupStack::PopAndDestroy( errorText );
-    }
-
-// End of File
--- a/phonesettings/pslncallimageplugin/src/PslnCallImagePluginImplementationTable.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM proxy table for PslnCallImagePlugin
-*
-*/
-
-
-// INCLUDES
-#include "PslnCallImagePlugin.h"
-
-#include <e32std.h>
-#include <implementationproxy.h>
-
-
-// CONSTANTS
-const TImplementationProxy PslnCallImagePluginImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY( 0x102818EF,    CPslnCallImagePlugin::NewL )
-    };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// 
-// Gate/factory function
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
-                                                  TInt& aTableCount )
-    {
-    aTableCount = sizeof( PslnCallImagePluginImplementationTable ) 
-        / sizeof( TImplementationProxy );
-    return PslnCallImagePluginImplementationTable;
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/BMARM/BUBBLEMANAGERU.DEF	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-EXPORTS
-	"_._14CBubbleManager" @ 1 NONAME R3UNUSED ; CBubbleManager::~CBubbleManager(void)
-	ConferenceRowCount__C14CBubbleManager @ 2 NONAME R3UNUSED ; CBubbleManager::ConferenceRowCount(void) const
-	CreateCallHeader__14CBubbleManager @ 3 NONAME R3UNUSED ; CBubbleManager::CreateCallHeader(void)
-	CreateConference__14CBubbleManagerRCiT1 @ 4 NONAME R3UNUSED ; CBubbleManager::CreateConference(int const &, int const &)
-	CreateNumberEntry__14CBubbleManager @ 5 NONAME R3UNUSED ; CBubbleManager::CreateNumberEntry(void)
-	EndChanges__14CBubbleManager @ 6 NONAME R3UNUSED ; CBubbleManager::EndChanges(void)
-	GetNumberEntry__C14CBubbleManager @ 7 NONAME R3UNUSED ; CBubbleManager::GetNumberEntry(void) const
-	GetTextFromNumberEntry__14CBubbleManagerR6TDes16 @ 8 NONAME R3UNUSED ; CBubbleManager::GetTextFromNumberEntry(TDes16 &)
-	IsConferenceExpanded__C14CBubbleManager @ 9 NONAME R3UNUSED ; CBubbleManager::IsConferenceExpanded(void) const
-	IsNumberEntryUsed__C14CBubbleManager @ 10 NONAME R3UNUSED ; CBubbleManager::IsNumberEntryUsed(void) const
-	MoveHighlightOneDownInConference__14CBubbleManager @ 11 NONAME R3UNUSED ; CBubbleManager::MoveHighlightOneDownInConference(void)
-	MoveHighlightOneUpInConference__14CBubbleManager @ 12 NONAME R3UNUSED ; CBubbleManager::MoveHighlightOneUpInConference(void)
-	NewL__14CBubbleManagerRC11CCoeControlRC5TRect @ 13 NONAME R3UNUSED ; CBubbleManager::NewL(CCoeControl const &, TRect const &)
-	NewL__14CBubbleManagerRC11CCoeControlRC5TRecti @ 14 NONAME R3UNUSED ; CBubbleManager::NewL(CCoeControl const &, TRect const &, int)
-	RemoveCallHeader__14CBubbleManagerRCi @ 15 NONAME R3UNUSED ; CBubbleManager::RemoveCallHeader(int const &)
-	RemoveConference__14CBubbleManager @ 16 NONAME R3UNUSED ; CBubbleManager::RemoveConference(void)
-	RemoveNumberEntry__14CBubbleManager @ 17 NONAME R3UNUSED ; CBubbleManager::RemoveNumberEntry(void)
-	RemoveRowFromConference__14CBubbleManagerRCi @ 18 NONAME R3UNUSED ; CBubbleManager::RemoveRowFromConference(int const &)
-	SelectionIdInConference__C14CBubbleManager @ 19 NONAME R3UNUSED ; CBubbleManager::SelectionIdInConference(void) const
-	SelectionInConference__C14CBubbleManager @ 20 NONAME R3UNUSED ; CBubbleManager::SelectionInConference(void) const
-	SetCLI__14CBubbleManagerRCiRC7TDesC16RCQ214CBubbleManager23TPhoneClippingDirection @ 21 NONAME ; CBubbleManager::SetCLI(int const &, TDesC16 const &, CBubbleManager::TPhoneClippingDirection const &)
-	SetCNAP__14CBubbleManagerRCiRC7TDesC16RCQ214CBubbleManager23TPhoneClippingDirection @ 22 NONAME ; CBubbleManager::SetCNAP(int const &, TDesC16 const &, CBubbleManager::TPhoneClippingDirection const &)
-	SetCallFlag__14CBubbleManagerRCiRCQ214CBubbleManager19TPhoneCallTypeFlagsT1 @ 23 NONAME ; CBubbleManager::SetCallFlag(int const &, CBubbleManager::TPhoneCallTypeFlags const &, int const &)
-	SetCallFlags__14CBubbleManagerRCiRCUc @ 24 NONAME R3UNUSED ; CBubbleManager::SetCallFlags(int const &, unsigned char const &)
-	SetCallTime__14CBubbleManagerRCiRC7TDesC16 @ 25 NONAME R3UNUSED ; CBubbleManager::SetCallTime(int const &, TDesC16 const &)
-	SetExpandedConferenceCallHeader__14CBubbleManagerRCi @ 26 NONAME R3UNUSED ; CBubbleManager::SetExpandedConferenceCallHeader(int const &)
-	SetLabel__14CBubbleManagerRCiRC7TDesC16RCQ214CBubbleManager23TPhoneClippingDirection @ 27 NONAME ; CBubbleManager::SetLabel(int const &, TDesC16 const &, CBubbleManager::TPhoneClippingDirection const &)
-	SetLabel__14CBubbleManagerRCiRC7TDesC16T2RCQ214CBubbleManager23TPhoneClippingDirection @ 28 NONAME ; CBubbleManager::SetLabel(int const &, TDesC16 const &, TDesC16 const &, CBubbleManager::TPhoneClippingDirection const &)
-	SetNumberEntryVisible__14CBubbleManagerRCi @ 29 NONAME R3UNUSED ; CBubbleManager::SetNumberEntryVisible(int const &)
-	SetNumberType__14CBubbleManagerRCiRCQ214CBubbleManager16TPhoneNumberType @ 30 NONAME R3UNUSED ; CBubbleManager::SetNumberType(int const &, CBubbleManager::TPhoneNumberType const &)
-	SetPbkNumberType__14CBubbleManagerRCii @ 31 NONAME R3UNUSED ; CBubbleManager::SetPbkNumberType(int const &, int)
-	SetPhoneMuted__14CBubbleManagerRCi @ 32 NONAME R3UNUSED ; CBubbleManager::SetPhoneMuted(int const &)
-	SetSelectionIdInConference__14CBubbleManagerRCi @ 33 NONAME R3UNUSED ; CBubbleManager::SetSelectionIdInConference(int const &)
-	SetSelectionInConference__14CBubbleManagerRCUc @ 34 NONAME R3UNUSED ; CBubbleManager::SetSelectionInConference(unsigned char const &)
-	SetState__14CBubbleManagerRCiRCQ214CBubbleManager15TPhoneCallState @ 35 NONAME R3UNUSED ; CBubbleManager::SetState(int const &, CBubbleManager::TPhoneCallState const &)
-	SetTextToNumberEntry__14CBubbleManagerRC7TDesC16 @ 36 NONAME R3UNUSED ; CBubbleManager::SetTextToNumberEntry(TDesC16 const &)
-	SetThumbnail__14CBubbleManagerRCiP10CFbsBitmapT2 @ 37 NONAME ; CBubbleManager::SetThumbnail(int const &, CFbsBitmap *, CFbsBitmap *)
-	StartChanges__14CBubbleManager @ 38 NONAME R3UNUSED ; CBubbleManager::StartChanges(void)
-	UpdateCLI__14CBubbleManagerRCiRC7TDesC16RCQ214CBubbleManager23TPhoneClippingDirection @ 39 NONAME ; CBubbleManager::UpdateCLI(int const &, TDesC16 const &, CBubbleManager::TPhoneClippingDirection const &)
-	UpdateCallHeaderText__14CBubbleManagerRCiRC7TDesC16T2RCQ214CBubbleManager23TPhoneClippingDirection @ 40 NONAME ; CBubbleManager::UpdateCallHeaderText(int const &, TDesC16 const &, TDesC16 const &, CBubbleManager::TPhoneClippingDirection const &)
-	UpdateCallTime__14CBubbleManagerRCiRC7TDesC16 @ 41 NONAME R3UNUSED ; CBubbleManager::UpdateCallTime(int const &, TDesC16 const &)
-	AddRowToConference__14CBubbleManagerRCi @ 42 NONAME R3UNUSED ; CBubbleManager::AddRowToConference(int const &)
-
--- a/phoneuis/BubbleManager/BWINS/BUBBLEMANAGERU.DEF	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-EXPORTS
-	??1CBubbleManager@@UAE@XZ @ 1 NONAME ; CBubbleManager::~CBubbleManager(void)
-	?AddRowToConference@CBubbleManager@@QAEXABH@Z @ 2 NONAME ; void CBubbleManager::AddRowToConference(int const &)
-	?CancelVideoRingTone@CBubbleManager@@QAEXXZ @ 3 NONAME ; void CBubbleManager::CancelVideoRingTone(void)
-	?ChangeEditorMode@CBubbleManager@@QAEHH@Z @ 4 NONAME ; int CBubbleManager::ChangeEditorMode(int)
-	?ConferenceRowCount@CBubbleManager@@QBEEXZ @ 5 NONAME ; unsigned char CBubbleManager::ConferenceRowCount(void) const
-	?CreateCallHeader@CBubbleManager@@QAEHXZ @ 6 NONAME ; int CBubbleManager::CreateCallHeader(void)
-	?CreateConference@CBubbleManager@@QAEHABH0@Z @ 7 NONAME ; int CBubbleManager::CreateConference(int const &, int const &)
-	?CreateNumberEntry@CBubbleManager@@QAEXXZ @ 8 NONAME ; void CBubbleManager::CreateNumberEntry(void)
-	?EndChanges@CBubbleManager@@QAEXXZ @ 9 NONAME ; void CBubbleManager::EndChanges(void)
-	?GetEditorMode@CBubbleManager@@QBEHXZ @ 10 NONAME ; int CBubbleManager::GetEditorMode(void) const
-	?GetNumberEntry@CBubbleManager@@QBEPAVCCoeControl@@XZ @ 11 NONAME ; class CCoeControl * CBubbleManager::GetNumberEntry(void) const
-	?GetTextFromNumberEntry@CBubbleManager@@QAEXAAVTDes16@@@Z @ 12 NONAME ; void CBubbleManager::GetTextFromNumberEntry(class TDes16 &)
-	?HandleBackgroundImageChange@CBubbleManager@@QAEXXZ @ 13 NONAME ; void CBubbleManager::HandleBackgroundImageChange(void)
-	?IsConferenceExpanded@CBubbleManager@@QBEHXZ @ 14 NONAME ; int CBubbleManager::IsConferenceExpanded(void) const
-	?IsNumberEntryUsed@CBubbleManager@@QBEHXZ @ 15 NONAME ; int CBubbleManager::IsNumberEntryUsed(void) const
-	?MoveHighlightOneDownInConference@CBubbleManager@@QAEXXZ @ 16 NONAME ; void CBubbleManager::MoveHighlightOneDownInConference(void)
-	?MoveHighlightOneUpInConference@CBubbleManager@@QAEXXZ @ 17 NONAME ; void CBubbleManager::MoveHighlightOneUpInConference(void)
-	?MuteVideoRingTone@CBubbleManager@@QAEXXZ @ 18 NONAME ; void CBubbleManager::MuteVideoRingTone(void)
-	?NewL@CBubbleManager@@SAPAV1@ABVCCoeControl@@ABVTRect@@@Z @ 19 NONAME ; class CBubbleManager * CBubbleManager::NewL(class CCoeControl const &, class TRect const &)
-	?NewL@CBubbleManager@@SAPAV1@ABVCCoeControl@@ABVTRect@@H@Z @ 20 NONAME ; class CBubbleManager * CBubbleManager::NewL(class CCoeControl const &, class TRect const &, int)
-	?PrepareIcons@CBubbleManager@@QAEXXZ @ 21 NONAME ; void CBubbleManager::PrepareIcons(void)
-	?RemoveCallHeader@CBubbleManager@@QAEXABH@Z @ 22 NONAME ; void CBubbleManager::RemoveCallHeader(int const &)
-	?RemoveConference@CBubbleManager@@QAEXXZ @ 23 NONAME ; void CBubbleManager::RemoveConference(void)
-	?RemoveNumberEntry@CBubbleManager@@QAEXXZ @ 24 NONAME ; void CBubbleManager::RemoveNumberEntry(void)
-	?RemoveRowFromConference@CBubbleManager@@QAEXABH@Z @ 25 NONAME ; void CBubbleManager::RemoveRowFromConference(int const &)
-	?ResetEditorToDefaultValues@CBubbleManager@@QAEXXZ @ 26 NONAME ; void CBubbleManager::ResetEditorToDefaultValues(void)
-	?SelectionIdInConference@CBubbleManager@@QBEHXZ @ 27 NONAME ; int CBubbleManager::SelectionIdInConference(void) const
-	?SelectionInConference@CBubbleManager@@QBEEXZ @ 28 NONAME ; unsigned char CBubbleManager::SelectionInConference(void) const
-	?SetCLI@CBubbleManager@@QAEXABHABVTDesC16@@ABW4TPhoneClippingDirection@1@@Z @ 29 NONAME ; void CBubbleManager::SetCLI(int const &, class TDesC16 const &, enum CBubbleManager::TPhoneClippingDirection const &)
-	?SetCNAP@CBubbleManager@@QAEXABHABVTDesC16@@ABW4TPhoneClippingDirection@1@@Z @ 30 NONAME ; void CBubbleManager::SetCNAP(int const &, class TDesC16 const &, enum CBubbleManager::TPhoneClippingDirection const &)
-	?SetCallFlag@CBubbleManager@@QAEXABHABW4TPhoneCallTypeFlags@1@0@Z @ 31 NONAME ; void CBubbleManager::SetCallFlag(int const &, enum CBubbleManager::TPhoneCallTypeFlags const &, int const &)
-	?SetCallFlags@CBubbleManager@@QAEXABHABK@Z @ 32 NONAME ; void CBubbleManager::SetCallFlags(int const &, unsigned long const &)
-	?SetCallObjectFromTheme@CBubbleManager@@QAEXABH@Z @ 33 NONAME ; void CBubbleManager::SetCallObjectFromTheme(int const &)
-	?SetCallObjectImage@CBubbleManager@@QAEXABHABVTDesC16@@@Z @ 34 NONAME ; void CBubbleManager::SetCallObjectImage(int const &, class TDesC16 const &)
-	?SetCallObjectImage@CBubbleManager@@QAEXABHPAVCFbsBitmap@@1H@Z @ 35 NONAME ; void CBubbleManager::SetCallObjectImage(int const &, class CFbsBitmap *, class CFbsBitmap *, int)
-	?SetCallObjectText@CBubbleManager@@QAEXABHABVTDesC16@@@Z @ 36 NONAME ; void CBubbleManager::SetCallObjectText(int const &, class TDesC16 const &)
-	?SetCallTime@CBubbleManager@@QAEXABHABVTDesC16@@@Z @ 37 NONAME ; void CBubbleManager::SetCallTime(int const &, class TDesC16 const &)
-	?SetExpandedConferenceCallHeader@CBubbleManager@@QAEXABH@Z @ 38 NONAME ; void CBubbleManager::SetExpandedConferenceCallHeader(int const &)
-	?SetLabel@CBubbleManager@@QAEXABHABVTDesC16@@1ABW4TPhoneClippingDirection@1@@Z @ 39 NONAME ; void CBubbleManager::SetLabel(int const &, class TDesC16 const &, class TDesC16 const &, enum CBubbleManager::TPhoneClippingDirection const &)
-	?SetLabel@CBubbleManager@@QAEXABHABVTDesC16@@ABW4TPhoneClippingDirection@1@@Z @ 40 NONAME ; void CBubbleManager::SetLabel(int const &, class TDesC16 const &, enum CBubbleManager::TPhoneClippingDirection const &)
-	?SetNumberEntryVisible@CBubbleManager@@QAEXABH@Z @ 41 NONAME ; void CBubbleManager::SetNumberEntryVisible(int const &)
-	?SetNumberType@CBubbleManager@@QAEXABHABW4TPhoneNumberType@1@@Z @ 42 NONAME ; void CBubbleManager::SetNumberType(int const &, enum CBubbleManager::TPhoneNumberType const &)
-	?SetParticipantListCLI@CBubbleManager@@QAEXABHW4TBubbleParticipantListCLI@1@@Z @ 43 NONAME ; void CBubbleManager::SetParticipantListCLI(int const &, enum CBubbleManager::TBubbleParticipantListCLI)
-	?SetPbkNumberType@CBubbleManager@@QAEXABHH@Z @ 44 NONAME ; void CBubbleManager::SetPbkNumberType(int const &, int)
-	?SetPhCntNumberType@CBubbleManager@@QAEXABHW4TNumberType@MPhCntMatch@@@Z @ 45 NONAME ; void CBubbleManager::SetPhCntNumberType(int const &, enum MPhCntMatch::TNumberType)
-	?SetPhoneMuted@CBubbleManager@@QAEXABH@Z @ 46 NONAME ; void CBubbleManager::SetPhoneMuted(int const &)
-	?SetSelectionIdInConference@CBubbleManager@@QAEXABH@Z @ 47 NONAME ; void CBubbleManager::SetSelectionIdInConference(int const &)
-	?SetSelectionInConference@CBubbleManager@@QAEXABE@Z @ 48 NONAME ; void CBubbleManager::SetSelectionInConference(unsigned char const &)
-	?SetState@CBubbleManager@@QAEXABHABW4TPhoneCallState@1@@Z @ 49 NONAME ; void CBubbleManager::SetState(int const &, enum CBubbleManager::TPhoneCallState const &)
-	?SetTextToNumberEntry@CBubbleManager@@QAEXABVTDesC16@@@Z @ 50 NONAME ; void CBubbleManager::SetTextToNumberEntry(class TDesC16 const &)
-	?SetThumbnail@CBubbleManager@@QAEXABHPAVCFbsBitmap@@1H@Z @ 51 NONAME ; void CBubbleManager::SetThumbnail(int const &, class CFbsBitmap *, class CFbsBitmap *, int)
-	?SetVideoRingTone@CBubbleManager@@QAEXABVTDesC16@@W4TBubbleVideoPlayMode@1@HHPAVMBubbleVideoPlaybackObserver@@@Z @ 52 NONAME ; void CBubbleManager::SetVideoRingTone(class TDesC16 const &, enum CBubbleManager::TBubbleVideoPlayMode, int, int, class MBubbleVideoPlaybackObserver *)
-	?ShownHeaderCount@CBubbleManager@@QBEEXZ @ 53 NONAME ; unsigned char CBubbleManager::ShownHeaderCount(void) const
-	?StartChanges@CBubbleManager@@QAEXXZ @ 54 NONAME ; void CBubbleManager::StartChanges(void)
-	?StopVideoRingTone@CBubbleManager@@QAEXXZ @ 55 NONAME ; void CBubbleManager::StopVideoRingTone(void)
-	?UpdateCLI@CBubbleManager@@QAEXABHABVTDesC16@@ABW4TPhoneClippingDirection@1@@Z @ 56 NONAME ; void CBubbleManager::UpdateCLI(int const &, class TDesC16 const &, enum CBubbleManager::TPhoneClippingDirection const &)
-	?UpdateCallHeaderText@CBubbleManager@@QAEXABHABVTDesC16@@1ABW4TPhoneClippingDirection@1@@Z @ 57 NONAME ; void CBubbleManager::UpdateCallHeaderText(int const &, class TDesC16 const &, class TDesC16 const &, enum CBubbleManager::TPhoneClippingDirection const &)
-	?UpdateCallTime@CBubbleManager@@QAEXABHABVTDesC16@@@Z @ 58 NONAME ; void CBubbleManager::UpdateCallTime(int const &, class TDesC16 const &)
-	?SetTouchPaneVisible@CBubbleManager@@QAEXH@Z @ 59 NONAME ; void CBubbleManager::SetTouchPaneVisible(int)
-	?TouchPane@CBubbleManager@@QAEPAVMBubbleTouchPaneInterface@@XZ @ 60 NONAME ; class MBubbleTouchPaneInterface * CBubbleManager::TouchPane(void)
-	?PreloadCallThemeImage@CBubbleManager@@QAEXH@Z @ 61 NONAME ; void CBubbleManager::PreloadCallThemeImage(int)
-	?RemoveCustomElement@CBubbleManager@@QAEXABHPAVCTelBubbleCustomElement@@@Z @ 62 NONAME ; void CBubbleManager::RemoveCustomElement(int const &, class CTelBubbleCustomElement *)
-	?AddCustomElement@CBubbleManager@@QAEXABHPAVCTelBubbleCustomElement@@H@Z @ 63 NONAME ; void CBubbleManager::AddCustomElement(int const &, class CTelBubbleCustomElement *, int)
-
--- a/phoneuis/BubbleManager/Data/BubbleManager.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +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 file contains all the resources for the module.
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME BMAN // 4 letter ID
-
-// INCLUDES
-#include <eikon.rh>
-#include <bubblemanager.mbg>
-#include <callstatus.mbg>
-#include <avkon.rh>
-#include <data_caging_paths_strings.hrh>
-
-// CONSTANTS 
-#define KBMResBitmapFile            "z:"APP_BITMAP_DIR"\\bubblemanager.mbm"
-#define KBMResCallStatusBitmapFile  "z:"APP_BITMAP_DIR"\\callstatus.mbm"
-
-// RESOURCE DEFINITIONS 
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf="BubbleManager"; }
-
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_big_waiting_anim
-// Big animation data
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BMPANIM_DATA r_bubblemanager_big_waiting_anim
-    {
-    frameinterval = 500;
-    playmode = EAknBitmapAnimationPlayModeCycle;
-    frames = r_bubblemanager_big_waiting_image_array;
-    bmpfile = KBMResBitmapFile;
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_big_waiting_image_array
-// Big animation images
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_bubblemanager_big_waiting_image_array
-    {
-    items=
-        {
-        BMPANIM_FRAME 
-            { 
-            bmpid=EMbmBubblemanagerQgn_indi_call_waiting_1; 
-            maskid=EMbmBubblemanagerQgn_indi_call_waiting_1_mask;
-            },
-        BMPANIM_FRAME 
-            { 
-            bmpid=EMbmBubblemanagerQgn_indi_call_waiting_2; 
-            maskid=EMbmBubblemanagerQgn_indi_call_waiting_2_mask;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_small_waiting_anim
-// Small animation data
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BMPANIM_DATA r_bubblemanager_small_waiting_anim
-    {
-    frameinterval = 500;
-    playmode = EAknBitmapAnimationPlayModeCycle;
-    frames = r_bubblemanager_small_waiting_image_array;
-    bmpfile = KBMResCallStatusBitmapFile;
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_small_waiting_image_array
-// Small animation images
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_bubblemanager_small_waiting_image_array
-    {
-    items=
-        {
-        BMPANIM_FRAME 
-            { 
-            bmpid=EMbmCallstatusQgn_indi_call_active; 
-            maskid=EMbmCallstatusQgn_indi_call_active_mask;
-            },
-        BMPANIM_FRAME 
-            { 
-            bmpid=EMbmCallstatusQgn_indi_call_active_2; 
-            maskid=EMbmCallstatusQgn_indi_call_active_2_mask;
-            }
-        };
-    }
-
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_editor
-// Number entry definion
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE PHONE_NUMBER_EDITOR r_bubblemanager_editor
-    {
-    maxChars = 100;
-    maxLines = 2;
-    truncation = <0x2026>; // three dots: ...
-    formats =
-        {
-        PHONE_NUMBER_EDITOR_FORMAT // 1 line, full width
-            {
-            top=112;
-            left=11;
-            bottom=130;
-            right=165;
-            lines=1;
-            bottomBaselineOffset=3;
-            baselineSeparation=18;
-            font=ELatinBold17;
-            },
-        PHONE_NUMBER_EDITOR_FORMAT // 2 lines, full width
-            {
-            top=94;
-            left=11;
-            bottom=130;
-            right=165;
-            lines=2;
-            bottomBaselineOffset=3;
-            baselineSeparation=18;
-            font=ELatinBold13;
-            },
-        PHONE_NUMBER_EDITOR_FORMAT // 1 line, narrowed width
-            {
-            top=112;
-            left=21;
-            bottom=130;
-            right=165;
-            lines=1;
-            bottomBaselineOffset=3;
-            baselineSeparation=18;
-            font=ELatinBold17;
-            },
-        PHONE_NUMBER_EDITOR_FORMAT // 2 lines, narrowed width
-            {
-            top=94;
-            left=21;
-            bottom=130;
-            right=165;
-            lines=2;
-            bottomBaselineOffset=3;
-            baselineSeparation=18;
-            font=ELatinBold13;
-            },
-        PHONE_NUMBER_EDITOR_FORMAT // 2 lines, full width, large font
-            {
-            top=0; // layout values read from layout API
-            left=0;
-            bottom=0;
-            right=0;
-            lines=2;
-            bottomBaselineOffset=0;
-            baselineSeparation=0;
-            font=ELatinBold17;
-            },                     
-// without status pane
-        PHONE_NUMBER_EDITOR_FORMAT // 1 line, full width
-            {
-            top=112+44;
-            left=11;
-            bottom=130+44;
-            right=165;
-            lines=1;
-            bottomBaselineOffset=3;
-            baselineSeparation=18;
-            font=ELatinBold17;
-            },
-        PHONE_NUMBER_EDITOR_FORMAT // 2 lines, full width
-            {
-            top=94+44;
-            left=11;
-            bottom=130+44;
-            right=165;
-            lines=2;
-            bottomBaselineOffset=3;
-            baselineSeparation=18;
-            font=ELatinBold13;
-            },
-        PHONE_NUMBER_EDITOR_FORMAT // 1 line, narrowed width
-            {
-            top=112+44;
-            left=21;
-            bottom=130+44;
-            right=165;
-            lines=1;
-            bottomBaselineOffset=3;
-            baselineSeparation=18;
-            font=ELatinBold17;
-            },
-        PHONE_NUMBER_EDITOR_FORMAT // 2 lines, narrowed width
-            {
-            top=94+44;
-            left=21;
-            bottom=130+44;
-            right=165;
-            lines=2;
-            bottomBaselineOffset=3;
-            baselineSeparation=18;
-            font=ELatinBold13;
-            },
-        PHONE_NUMBER_EDITOR_FORMAT // 2 lines, full width, large font
-            {
-            top=0; // layout values read from layout API
-            left=0;
-            bottom=0;
-            right=0;
-            lines=2;
-            bottomBaselineOffset=0;
-            baselineSeparation=0;
-            font=ELatinBold17;
-            }            
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_big_video_waiting_anim
-// Big animation data for video call
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BMPANIM_DATA r_bubblemanager_big_video_waiting_anim
-    {
-    frameinterval = 500;
-    playmode = EAknBitmapAnimationPlayModeCycle;
-    frames = r_bubblemanager_big_video_waiting_image_array;
-    bmpfile = KBMResCallStatusBitmapFile;
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_big_video_waiting_image_array
-// Big animation images for video call
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_bubblemanager_big_video_waiting_image_array
-    {
-    items=
-        {
-        BMPANIM_FRAME
-            {
-            bmpid = EMbmCallstatusQgn_indi_call_video_1;
-            maskid = EMbmCallstatusQgn_indi_call_video_1_mask;
-            },
-        BMPANIM_FRAME
-            {
-            bmpid = EMbmCallstatusQgn_indi_call_video_2;
-            maskid = EMbmCallstatusQgn_indi_call_video_2_mask;
-            }
-        };
-    }
-
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_small_video_waiting_anim
-// Small animation data for video call
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BMPANIM_DATA r_bubblemanager_small_video_waiting_anim
-    {
-    frameinterval = 500;
-    playmode = EAknBitmapAnimationPlayModeCycle;
-    frames = r_bubblemanager_small_video_waiting_image_array;
-    bmpfile = KBMResCallStatusBitmapFile;
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_small_video_waiting_image_array
-// Small animation images
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_bubblemanager_small_video_waiting_image_array
-    {
-    items=
-        {
-        BMPANIM_FRAME
-            {
-            bmpid = EMbmCallstatusQgn_indi_call_video_callsta_1;
-            maskid = EMbmCallstatusQgn_indi_call_video_callsta_1_mask;
-            },
-        BMPANIM_FRAME 
-            {
-            bmpid = EMbmCallstatusQgn_indi_call_video_callsta_2;
-            maskid = EMbmCallstatusQgn_indi_call_video_callsta_2_mask;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_big_voip_waiting_anim
-// Big animation data
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BMPANIM_DATA r_bubblemanager_big_voip_waiting_anim
-    {
-    frameinterval = 500;
-    playmode = EAknBitmapAnimationPlayModeCycle;
-    frames = r_bubblemanager_big_voip_waiting_image_array;
-    bmpfile = KBMResBitmapFile;
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_big_voip_waiting_image_array
-// Big animation images
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_bubblemanager_big_voip_waiting_image_array
-    {
-    items=
-        {
-	BMPANIM_FRAME 
-            { 
-            bmpid=EMbmBubblemanagerQgn_indi_call_voip_waiting_1; 
-            maskid=EMbmBubblemanagerQgn_indi_call_voip_waiting_1_mask;
-			},
-        BMPANIM_FRAME 
-            { 
-            bmpid=EMbmBubblemanagerQgn_indi_call_voip_waiting_2; 
-            maskid=EMbmBubblemanagerQgn_indi_call_voip_waiting_2_mask;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_small_voip_waiting_anim
-// Small animation data
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE BMPANIM_DATA r_bubblemanager_small_voip_waiting_anim
-    {
-    frameinterval = 500;
-    playmode = EAknBitmapAnimationPlayModeCycle;
-    frames = r_bubblemanager_small_voip_waiting_image_array;
-    bmpfile = KBMResCallStatusBitmapFile;
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_bubblemanager_small_voip_waiting_image_array
-// Small animation images
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_bubblemanager_small_voip_waiting_image_array
-    {
-    items=
-        {
-        BMPANIM_FRAME 
-            { 
-            bmpid=EMbmCallstatusQgn_indi_call_voip_active; 
-            maskid=EMbmCallstatusQgn_indi_call_voip_active_mask;
-            },
-        BMPANIM_FRAME 
-            { 
-            bmpid=EMbmCallstatusQgn_indi_call_voip_active_2; 
-            maskid=EMbmCallstatusQgn_indi_call_voip_active_2_mask;
-            }
-        };
-    }    
Binary file phoneuis/BubbleManager/Data/bubblemanager_stub.SIS has changed
--- a/phoneuis/BubbleManager/Group/Bubblemanager.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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 project specification file for the Bubblemanager. 
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-// Assign Vendor ID.
-VENDORID VID_DEFAULT
-
-TARGET      bubblemanager.dll
-TARGETTYPE  dll
-UID         0x1000008d 0x100058FF 
-
-START RESOURCE ../Data/BubbleManager.rss
-HEADER
-TARGETPATH   RESOURCE_FILES_DIR 
-LANGUAGE_IDS
-END  // RESOURCE
-
-sourcepath  ../Src
-source  BMBubbleManager.cpp
-source  BMCallHeader.cpp
-source  BMBubblePlace.cpp
-source  BMBubbleOutlookBottom.cpp
-source  BMBubbleImageManager.cpp
-source  BMConfHeader.cpp
-source  BMBubbleHeader.cpp
-source  BMBubbleOutlook.cpp
-source  BMConfPane.cpp
-source  BMBubbleOutlookBottomRight.cpp
-source  BMBubbleOutlookMiddle.cpp
-source  BMBubbleOutlookTopLeft.cpp
-source  BMBubbleOutlookTopRight.cpp
-source  BMBubbleOutlookConference.cpp
-source  BMBubbleOutlookNE.cpp
-source  BMBubbleOutlookHide.cpp
-source  BMUtils.cpp
-source  BMPanic.cpp
-source  BMResourceManager.cpp
-source  BMBubbleOutlookTwoLined.cpp
-source  BMBubbleOutlookOneLined.cpp
-source  BMBubbleOutlookThreeLined.cpp
-source  BMBubbleOutlookMiddleCnap.cpp
-source  BMBubbleOutlookBottomCnap.cpp
-source  BMBubbleImage.cpp
-source  BMBubbleSkinBitmap.cpp
-source  BMBubbleOutlookFiveLined.cpp
-source  BMBubbleOutlookBottomText.cpp
-source  BMBubbleOutlookBottomImage.cpp
-source  BMCallObjectManager.cpp
-source  BMCallObjectUtils.cpp
-source  BMMediaReaderFactory.cpp
-source  BMMediaReader.cpp
-source  BMImageReader.cpp
-source  BMBubbleOutlookVideo.cpp
-source  BMBubbleOutlookVideoCnap.cpp
-source  BMVideoController.cpp
-source  BMBubbleVideoContainer.cpp    
-source  BMVideoPlayer.cpp
-source  BMBubbleOutlookBottomRiCnap.cpp
-source  BMBubbleOutlookBottomImCnap.cpp
-source  BMTouchPane.cpp
-source  BMCustomManager.cpp
-source  BMDefaultManager.cpp
-source  BMCallStatusIndi.cpp
-source  BMCallStatusIndiBig.cpp
-source  BMCallStatusIndiSmall.cpp
-source  BMCallStatusAnim.cpp
-source  BMCallStatusAnimBig.cpp
-source  BMCallStatusAnimSmall.cpp
-source  BMNumberTypeIcon.cpp
-source  BMMainPaneControl.cpp
-source  BMTouchPaneButton.cpp
-
-sourcepath ../laf
-source  BMLayout.cpp
-source  BMLayout2.cpp
-source  BMLayout3.cpp
-source  BMLayout4.cpp 
-source  BMLayout6.cpp
-
-USERINCLUDE . ../Inc ../Data ../laf ../bmcustomization/inc
-
-SYSTEMINCLUDE ../../../inc  // s60/app/telephony/inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib cone.lib ws32.lib bmpanim.lib eikcore.lib
-LIBRARY eikcoctl.lib fbscli.lib bafl.lib 
-LIBRARY commonengine.lib
-LIBRARY aknskins.lib aknicon.lib avkon.lib
-LIBRARY numbergrouping.lib
-LIBRARY featmgr.lib
-LIBRARY cdlengine.lib
-LIBRARY aknlayout2scalable.lib
-LIBRARY gdi.lib
-LIBRARY bitgdi.lib
-LIBRARY egul.lib
-LIBRARY ihl.lib
-LIBRARY mediaclientvideo.lib
-LIBRARY efsrv.lib
-LIBRARY centralrepository.lib
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-LIBRARY gfxtrans.lib
-LIBRARY akntransitionutils.lib
-#endif
-LIBRARY bmcustomization.lib
-
-// End of File
--- a/phoneuis/BubbleManager/Group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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:  Build file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../bmcustomization/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-../Inc/BMBubbleManager.h |../../../inc/bmbubblemanager.h
-../Inc/BMBubblePlace.h |../../../inc/bmbubbleplace.h
-../Inc/BMVideoPlaybackObserver.h |../../../inc/bmvideoplaybackobserver.h
-../Inc/BMTouchPaneInterface.h |../../../inc/bmtouchpaneinterface.h
-../Inc/BMTouchPane.rh |../../../inc/bmtouchpane.rh
-../Data/bubblemanager_stub.SIS /epoc32/data/z/system/install/bubblemanager_stub.sis
-
-../rom/Bubblemanager.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(bubblemanager.iby)
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE bubblemanager.mif
-  OPTION HEADERFILE bubblemanager.mbg
-  OPTION SOURCEFILE iconlist.txt		  
-END
-
-PRJ_MMPFILES
-Bubblemanager.mmp
-
-// End of File
--- a/phoneuis/BubbleManager/Group/iconlist.txt	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
--c8,8 qgn_graf_call_first_one_active
--c8,8 qgn_graf_call_first_one_disconn
--c8,8 qgn_graf_call_first_one_held
--c8,8 qgn_graf_call_rec_big
--c8,8 qgn_graf_call_rec_big_disconn
--c8,8 qgn_graf_call_rec_big_right
--c8,8 qgn_graf_call_rec_big_right_disconn
--c8,8 qgn_indi_call_waiting_1
--c8,8 qgn_indi_call_waiting_disconn
--c8,1 qgn_indi_call_waiting_cyph_off_1
--c8,1 qgn_indi_call_waiting_disconn_cyph_off
--c8,8 qgn_graf_call_first_one_active_emergency
--c8,8 qgn_graf_call_two_active_emergency
--c8,8 qgn_graf_call_conf_five
--c8,8 qgn_graf_call_conf_four
--c8,8 qgn_graf_call_conf_three
--c8,8 qgn_graf_call_conf_two
--c8,8 qgn_graf_call_first_three_active
--c8,8 qgn_graf_call_first_three_disconn
--c8,8 qgn_graf_call_first_three_held
--c8,8 qgn_graf_call_first_two_active
--c8,8 qgn_graf_call_first_two_disconn
--c8,8 qgn_graf_call_first_two_held
--c8,8 qgn_graf_call_first_wait_active
--c8,8 qgn_graf_call_first_wait_disconn
--c8,8 qgn_graf_call_hidden_held
--c8,8 qgn_graf_call_rec_big_left
--c8,8 qgn_graf_call_rec_big_left_disconn
--c8,8 qgn_graf_call_rec_small_left
--c8,8 qgn_graf_call_rec_small_right
--c8,8 qgn_graf_call_rec_small_right_disconn
--c8,8 qgn_graf_call_rec_bigger
--c8,8 qgn_graf_call_second_three_active
--c8,8 qgn_graf_call_second_three_disconn
--c8,8 qgn_graf_call_second_three_held
--c8,8 qgn_graf_call_second_two_active
--c8,8 qgn_graf_call_second_two_disconn
--c8,8 qgn_graf_call_second_two_held
--c8,8 qgn_indi_call_active_conf
--c8,8 qgn_indi_call_disconn_conf
--c8,1 qgn_indi_call_diverted
--c8,8 qgn_indi_call_held_conf
--c8,8 qgn_indi_call_muted
--c8,8 qgn_indi_call_waiting_2
--c8,1 qgn_prop_nrtyp_mobile_div
--c8,1 qgn_prop_nrtyp_phone_div
--c8,8 qgn_indi_call_video_callsta_disconn
--c8,1 qgn_indi_call_active_conf_cyph_off
--c8,1 qgn_indi_call_active_cyph_off_2
--c8,1 qgn_indi_call_disconn_conf_cyph_off
--c8,1 qgn_indi_call_held_conf_cyph_off
--c8,1 qgn_indi_call_waiting_cyph_off_2
--c8,1 qgn_prop_nrtyp_home_div
--c8,1 qgn_prop_nrtyp_work_div
--c8,8 qgn_indi_call_voip_waiting_1
--c8,8 qgn_indi_call_voip_callsta_disconn
--c8,8 qgn_indi_call_voip_waiting_2
--c8,8 qgn_graf_call_image_1
--8 qgn_indi_call4_image_mask_prt
--8 qgn_indi_call4_image_mask_lsc
\ No newline at end of file
--- a/phoneuis/BubbleManager/Inc/BMBubbleDebug.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:  Macro definitions for tracing and debugging purposes.
-*
-*/
-
-
-#ifndef BM_DEBUG_H
-#define BM_DEBUG_H
-
-//#ifdef _DEBUG 
-
-// INCLUDES
-#include <e32svr.h>
-
-// CONSTANTS
-_LIT( KComponent, "[BUBBLEMANAGER]" );
-_LIT( KThisFile,  "[BUBBLEMANAGER] - Trace this file: %s, line: %d, compiled: %s %s" );
-_LIT( KAssertion, "[BUBBLEMANAGER] - Assertion failed: File: %s, line: %d, compiled: %s %s" );
-_LIT( KPanic,     "[BUBBLEMANAGER] - Panic occurred: File: %s, line: %d, compiled: %s %s" );
-_LIT( KMystic,    "[BUBBLEMANAGER] - Mystic failure: File: %s, line: %d, compiled: %s %s" );
-_LIT8( KDATE, __DATE__ );
-_LIT8( KTIME, __TIME__ );
-
-const TInt KTraceMaxSize = 256;
-
-// DATA TYPES
-enum TTraceType
-    {
-    ETraceInit,
-    ETraceAssert,
-    ETracePanic
-    };
-
-// INLINE FUNCTIONS
- 
- 
-
-    #define BM_TRACE_( AAA ) do\
-        { _LIT( logStr, AAA ); RDebug::Print( logStr ); } while ( 0 )
-    
-    #define BM_TRACE_1( AAA, BBB ) do\
-         { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB ); } while ( 0 )
-    
-    #define BM_TRACE_2( AAA, BBB, CCC ) do\
-         { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC ); } while ( 0 )
-    
-    #define BM_TRACE_3( AAA, BBB, CCC, DDD ) do\
-         { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD ); } while ( 0 )
-    
-    #define BM_TRACE_4( AAA, BBB, CCC, DDD, EEE ) do\
-         { _LIT( logStr, AAA ); RDebug::Print( logStr, BBB, CCC, DDD, EEE ); } while ( 0 )
-    
-    #define BM_TRACE_RAW_( AAA ) do\
-        { RDebug::RawPrint( AAA ); } while ( 0 )
-        
-    #define BM_TRACE_RAW_1( AAA, BBB ) do\
-         { _LIT( logStr, AAA ); TBuf<KTraceMaxSize> buffer; buffer.Append( logStr ); buffer.Append( BBB );\
-         RDebug::RawPrint( buffer ); } while ( 0 )
-       
-
-    
-
-    
-/*
-#else // _DEBUG
-
-    #define TRACE_ASSERT( a )
-    #define TRACE_ASSERT_RETURN( a ) a
-    #define TRACE_ASSERT_ALWAYS
-
-    #define BM_TRACE_( AAA )
-    #define BM_TRACE_1( AAA, BBB )
-    #define BM_TRACE_2( AAA, BBB, CCC )
-    #define BM_TRACE_3( AAA, BBB, CCC, DDD )
-    #define BM_TRACE_4( AAA, BBB, CCC, DDD, EEE )
-    #define BM_TRACE_RAW_( AAA )
-    #define BM_TRACE_RAW_1( AAA, BBB )
-
-    #define API_TRACE_( AAA )
-    #define API_TRACE_1( AAA, BBB )
-    #define API_TRACE_2( AAA, BBB, CCC )
-    #define API_TRACE_3( AAA, BBB, CCC, DDD )
-    #define API_TRACE_4( AAA, BBB, CCC, DDD, EEE )
-    #define API_TRACE_RAW_1( AAA, BBB )
-
-    #define COMPONENT_TRACE_THIS_FILE
-
-    #define PANIC_IF_FALSE( a )
-    #define PANIC_IF_TRUE( a )
-    #define PANIC_ALWAYS
-
-#endif // _DEBUG
-*/
-#endif // BM_DEBUG_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleHeader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,448 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Abstract base class for headers
-*
-*/
-
-
-#ifndef BUBBLEHEADER_H
-#define BUBBLEHEADER_H
-
-// INCLUDES
-#include  "BMBubbleManager.h"
-   
-// CLASS DECLARATION
-
-/**
-*  CBubbleHeader class
-*
-*  Abstract base class for headers.
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-
-class CBubbleHeader : public CBase
-    {
-    public:
-        // Different call image types
-        enum TBMCallObjectImageType
-            {
-            ENotDefined,
-            EThemeImage,
-            EGalleryImage,
-            ETextBasedImage    
-            };
-
-    public: // Constructors and destructor    
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleHeader();
-
-    public: // Member functions
-
-        /**
-        * To put everything in initial state.
-        */
-        virtual void Reset( ) = 0;
-
-        /**
-        * Next functions are for CBubbleManager to set current state
-        */
-
-        /**
-        * Set header in use/unuse.
-        * @param aIsUsed ETrue if header is take into use.
-        */
-        virtual void SetIsUsed( const TBool& aIsUsed ) = 0;
-
-        /**
-        * Set header to conference.
-        * @param aIsInConference ETrue if set in conference call.
-        *                        Panics if this is a conf header.
-        */
-        void SetIsInConference( const TBool& aIsInConference );
-
-        /**
-        * Set thumbnail image. Ownership is not tranferred.
-        * @param aThumbnailBitmap The bitmap. NULL means no thumbnail.
-        */
-        void SetTnBitmap( CFbsBitmap* aThumbnailBitmap );
-
-        /**
-        * Set thumbnail mask. Ownership is not tranferred.
-        * @param aThumbnailBitmapMask The bitmap. NULL means no mask.
-        */
-        void SetTnBitmapMask( CFbsBitmap* aThumbnailBitmapMask );
-        
-        /**
-        * Set thumbnail ownership. By default thumbnail bitmaps (image and mask) 
-        * are owned externally.
-        * @param aOwnership ETrue if ownership is transferred to header.
-        */
-        void SetTnDataOwnership( TBool aOwnership );
-
-        /**
-        * Set call object image. Ownership is not tranferred.
-        * @param aCOImageBitmap Pointer to bitmap. NULL means no image.
-        */
-        void SetCallObjectImage( CFbsBitmap* aCOImageBitmap );
-        
-        /**
-        * Set call object image mask. Ownership is not tranferred.
-        * @param aCOImageBitmapMask Pointer to mask. NULL means no mask.
-        */
-        void SetCallObjectImageMask( CFbsBitmap* aCOImageBitmapMask );
-
-        /**
-        * Set call object file name. Ownership is tranferred.
-        * @param aCOImageFileName Pointer to buffer holding the file name.
-        */
-        void SetCallObjectFileName( const HBufC* aCOFileName );
-        
-        /**
-        * Set call object text. Ownership is  tranferred.
-        * @param aCOText Pointer to buffer holding the text.
-        */
-        void SetCallObjectText( const HBufC* aCOText );
-        
-        /**
-        * Set call object image data ownership. By default image
-        * data (image and mask) is owned externally.
-        * @param aOwnership ETrue if ownership is transferred to header.
-        */
-        void SetCallObjectImageDataOwnership( TBool aOwnership );
-        
-        
-        /**
-        * Set type of assigned call image.
-        * @param aType The type.
-        */
-        void SetCallObjectImageType( 
-            TBMCallObjectImageType aType );
-        
-        /**
-        * Switches call image to thumbnail version, if available. 
-        * Bigger version is released. 
-        */
-        void SwitchToThumbnailImage();
-
-        /**
-        * Set call state.
-        * @param aPhoneCallState The state.
-        */
-        void SetCallState( 
-            const CBubbleManager::TPhoneCallState& aPhoneCallState );
-
-        /**
-        * Set number type.
-        * @param aNumberType The number type enum (see CBubbleManaher.h).
-        */
-        void SetNumberType( 
-            const CBubbleManager::TPhoneNumberType& aNumberType );
-
-        /**
-        * Set call flags.
-        * @param aCallFlags Call flags (see CBubbleManaher.h).
-        */
-        void SetCallFlags( const TUint32& aCallFlags ); 
-
-        /**
-        * Set current flag on.
-        * @param aFlag The flag.
-        */
-        void SetCallFlag( const CBubbleManager::TPhoneCallTypeFlags& aFlag );
-
-        /**
-        * Remove flag
-        * @param aFlag The flag.
-        */
-        void RemoveCallFlag( const CBubbleManager::TPhoneCallTypeFlags& aFlag );
-
-        /**
-        * Set bubble id for header.
-        * @param aBubbleId The id.
-        */
-        void SetBubbleId( const CBubbleManager::TBubbleId& aBubbleId );
-
-        /**
-        * Set text label to header.
-        * @param aText The label text.
-        * @param aClipDirection Text clipping direction.
-        */
-        void SetText( 
-            const TDesC16& aText,
-            const CBubbleManager::TPhoneClippingDirection& aClipDirection );
-
-        /**
-        * Set caller line identification to header.
-        * @param aCLI The CLI.
-        * @param aClipDirection Text clipping direction.
-        */
-        void SetCLI( 
-            const CBubbleManager::TBubbleLabelString& aCLI, 
-            const CBubbleManager::TPhoneClippingDirection& aClipDirection );
-
-        /**
-        * Set timer/cost value to header.
-        * @param aTimerCost Timer or cost value.
-        */
-        void SetTimerCost( 
-            const CBubbleManager::TBubbleLabelString& aTimerCost );
-
-        /**
-        * Set caller name presentation to header.
-        * @param aCNAP The CNAP.
-        * @param aClipDirection Text clipping direction.
-        * @since Series60 2.6
-        */
-        void SetCNAP( 
-            const CBubbleManager::TBubbleLabelString& aCNAP, 
-            const CBubbleManager::TPhoneClippingDirection& aClipDirection );
-            
-        /**
-        * Set CLI used in conference call participant list.
-        * @since S60 5.0.
-        * @param aParticipantCLI Participant list CLI type.
-        */
-        void SetParticipantListCLI(
-            CBubbleManager::TBubbleParticipantListCLI aParticipantCLI );            
-
-        /**
-        * Next functions are for CBubbleOutlook:s to fetch information
-        */
-
-        /**
-        * Is header in use?
-        * @return ETrue if in use.
-        */
-        virtual TBool IsUsed( ) const = 0;
-
-        /**
-        * Is header in conference call?
-        * @return ETrue if header is in conf.
-        */
-        TBool IsInConference( ) const;
-
-        /**
-        * Is this header conference header?
-        * @return ETrue if this in conference header.
-        */
-        virtual TBool IsConference( ) const = 0;
-        
-        /**
-        * Get the thumbnail icon bitmap.
-        * @return The icon bitmap.
-        */
-        CFbsBitmap* TnIconBitmap( ) const;
-
-        /**
-        * Get bitmap.
-        * @return The bitmap.
-        */
-        CFbsBitmap* TnBitmap( ) const;
-
-        /**
-        * Get bitmap mask.
-        * @return The mask.
-        */
-        CFbsBitmap* TnBitmapMask( ) const;
-
-        /**
-        * Get call object image bitmap.
-        * @return The bitmap.
-        */
-        CFbsBitmap* CallObjectImage( ) const;
-
-        /**
-        * Get call object image mask.
-        * @return The mask.
-        */
-        CFbsBitmap* CallObjectImageMask( ) const;
-        
-        /**
-        * Get call object file name.
-        * @return The file name.
-        */
-        const TDesC& CallObjectFileName( ) const;
-
-        /**
-        * Get call object text.
-        * @return The text.
-        */
-        const TDesC& CallObjectText( ) const;
-        
-        /**
-        * Get call image type. This is valid only, if call image
-        * bitmap exists.
-        * @return The type.
-        */
-        TBMCallObjectImageType CallObjectImageType() const;
-
-        /**
-        * Get call state.
-        * @return The state.
-        */
-        CBubbleManager::TPhoneCallState CallState( ) const;
-        
-        /**
-        * Get previous call state.
-        * @return The previous state.
-        */
-        CBubbleManager::TPhoneCallState PreviousCallState( ) const;
-
-        /**
-        * Get number type.
-        * @return The number type.
-        */
-        CBubbleManager::TPhoneNumberType NumberType( ) const;
-
-        /**
-        * Get call flags.
-        * @return The flags.
-        */
-        TUint32 CallFlags( ) const;     
-
-        /**
-        * Get bubble id.
-        * @return The id.
-        */
-        CBubbleManager::TBubbleId BubbleId( ) const;
-
-        /**
-        * Get label text.
-        * @return The text.
-        */
-        const TDesC16& Text( ) const;
-
-        /**
-        * Get label's clipping direction.
-        * @return The clip dir.
-        */
-        CBubbleManager::TPhoneClippingDirection TextClipDirection( ) const;
-
-        /**
-        * Get caller line identificatoin.
-        * @return The CLI.
-        */
-        const CBubbleManager::TBubbleLabelString& CLI( ) const;
-
-        /**
-        * Get CLI's clip direction.
-        * @return The dir.
-        */
-        CBubbleManager::TPhoneClippingDirection CLIClipDirection( ) const;
-
-        /**
-        * Get timer/cost text.
-        * @return The text.
-        */
-        const CBubbleManager::TBubbleLabelString& TimerCost( ) const;
-
-        /**
-        * Get caller name presentation.
-        * @since Series60 2.6
-        * @return The CNAP.
-        */
-        const CBubbleManager::TBubbleLabelString& CNAP( ) const;
-
-        /**
-        * Get CNAP's clip direction.
-        * @since Series60 2.6
-        * @return The dir.
-        */
-        CBubbleManager::TPhoneClippingDirection CNAPClipDirection( ) const;
-        
-        /**
-        * Get CLI used in conference call participant list.
-        * @since S60 5.0.
-        * @return aParticipantCLI CLI type.
-        */
-        CBubbleManager::TBubbleParticipantListCLI ParticipantListCLI() const;
-
-    protected:
-
-        /**
-        * Base's 1st phase constructor.
-        */
-        CBubbleHeader();
-
-        /**
-        * Base's 2nd phase constructor.
-        */
-        void ConstructL(const CBubbleManager::TBubbleId& aBubbleId);
-        
-        /**
-        * For resetting the values.
-        */
-        void ResetParent();
-
-    private: //data
-        // Call state
-        CBubbleManager::TPhoneCallState iPhoneCallState;
-        // Previous call state
-        CBubbleManager::TPhoneCallState iPreviousCallState;
-        // Number tyoe
-        CBubbleManager::TPhoneNumberType iNumberType;
-        // Call flags
-        TUint32 iCallFlags; 
-        // Internal flags
-        TUint8 iInternalFlags;
-
-        // Thumbnail icon bitmap
-        CFbsBitmap* iThumbnailIconBitmap;
-
-        // Thumbnail image
-        CFbsBitmap* iThumbnailBitmap;
-        // TN mask
-        CFbsBitmap* iThumbnailBitmapMask;
-        // Identifier
-        CBubbleManager::TBubbleId iBubbleId;
-        // Label text
-        HBufC16* iText;
-        // CLI text
-        CBubbleManager::TBubbleLabelString iCLI;
-        // Timer/cost value
-        CBubbleManager::TBubbleLabelString iTimerCost;
-        // Cnap text
-        CBubbleManager::TBubbleLabelString iCNAP; 
-        // Call object image
-        CFbsBitmap* iCOImageBitmap;
-        // Call object image mask
-        CFbsBitmap* iCOImageBitmapMask;
-        // Call object file name
-        const HBufC* iCOFileName;
-        // Call object text
-        const HBufC* iCOText;
-        // Call object image data ownership
-        enum TBMCOImageDataOwnership
-            {
-            EBubbleCallImageOwned = 1,
-            EBubbleThumbnailImageOwned = 2    
-            };
-        TBool iCOImageDataOwnership;
-        // Call object image type
-        TBMCallObjectImageType iCOImageType;
-        // CLI for participant list.
-        CBubbleManager::TBubbleParticipantListCLI iParticipantCLI;
-    private:
-        friend class CT_CBubbleHeader;
-
-    };
-
-#endif //BUBBLEHEADER_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleIconIndex.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Icon index table
-*
-*/
-
-#include    <e32base.h>
-#include    <bubblemanager.mbg>
-#include    <avkon.mbg>
-#include    <callstatus.mbg>
-
-struct BMIconIndex
-    {
-    TInt iconIndex;
-    TInt fileIndex;
-    };
-
-enum TBMIconsfile
-    {   
-    ECallstatusIconfile = 0,
-    EBubblemanagerIconfile,
-    EAvkonIconfile
-    };
-
-const BMIconIndex KBMIconIndex[] = 
-    {
-        { EMbmCallstatusQgn_indi_call_active, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_active_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_active_2, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_active_2_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_disconn, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_disconn_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_held, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_held_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_video_callsta_1, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_video_callsta_1_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_video_callsta_2, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_video_callsta_2_mask, ECallstatusIconfile },
-        { EMbmBubblemanagerQgn_indi_call_video_callsta_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_video_callsta_disconn_mask, EBubblemanagerIconfile },
-        { EMbmCallstatusQgn_indi_call_voip_active, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_voip_active_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_voip_active_2, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_voip_active_2_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_voip_held, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_voip_held_mask, ECallstatusIconfile },
-        { EMbmBubblemanagerQgn_indi_call_voip_callsta_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_voip_callsta_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_1, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_1_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_2, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_2_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_disconn_mask, EBubblemanagerIconfile },
-        { EMbmCallstatusQgn_indi_call_video_1, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_video_1, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_video_2, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_video_2_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_video_disconn, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_video_disconn_mask, ECallstatusIconfile },
-        { EMbmBubblemanagerQgn_indi_call_voip_waiting_1, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_voip_waiting_1_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_voip_waiting_2, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_voip_waiting_2_mask, EBubblemanagerIconfile },
-        { EMbmCallstatusQgn_indi_call_voip_disconn, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_voip_disconn_mask, ECallstatusIconfile },   
-        { EMbmBubblemanagerQgn_graf_call_rec_big, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_one_active, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_one_active_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_one_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_one_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_one_held, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_one_held_mask, EBubblemanagerIconfile },
-        { EMbmCallstatusQgn_indi_call_active_cyph_off, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_active_cyph_off_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_disconn_cyph_off, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_disconn_cyph_off_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_held_cyph_off, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_held_cyph_off_mask, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_cyphering_off, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_cyphering_off, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_line2, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_line2, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_active_emergency, ECallstatusIconfile },
-        { EMbmCallstatusQgn_indi_call_active_emergency_mask, ECallstatusIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_cyph_off_1, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_cyph_off_1_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_disconn_cyph_off, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_disconn_cyph_off_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_one_active_emergency, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_one_active_emergency_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_two_active_emergency, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_two_active_emergency_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_right, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_right_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_right_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_right_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_conf_five, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_conf_five_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_conf_four, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_conf_four_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_conf_three, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_conf_three_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_conf_two, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_conf_two_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_three_active, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_three_active_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_three_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_three_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_three_held, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_three_held_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_two_active, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_two_active_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_two_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_two_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_two_held, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_two_held_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_wait_active, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_wait_active_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_wait_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_first_wait_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_hidden_held, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_hidden_held_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_left, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_left_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_left_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_big_left_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_small_left, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_small_left_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_small_right, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_small_right_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_small_right_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_small_right_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_bigger, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_rec_bigger_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_three_active, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_three_active_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_three_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_three_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_three_held, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_three_held_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_two_active, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_two_active_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_two_disconn, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_two_disconn_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_two_held, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_second_two_held_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_active_conf, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_active_conf_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_disconn_conf, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_disconn_conf_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_diverted, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_diverted_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_held_conf, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_held_conf_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_muted, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_muted_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_prop_nrtyp_mobile_div, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_prop_nrtyp_mobile_div_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_prop_nrtyp_phone_div, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_prop_nrtyp_phone_div_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_active_conf_cyph_off, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_active_conf_cyph_off_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_active_cyph_off_2, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_active_cyph_off_2_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_disconn_conf_cyph_off, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_disconn_conf_cyph_off_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_held_conf_cyph_off, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_held_conf_cyph_off_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_cyph_off_2, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call_waiting_cyph_off_2_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_prop_nrtyp_home_div, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_prop_nrtyp_home_div_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_prop_nrtyp_work_div, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_prop_nrtyp_work_div_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_image_1, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_graf_call_image_1_mask, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call4_image_mask_prt, EBubblemanagerIconfile },
-        { EMbmBubblemanagerQgn_indi_call4_image_mask_lsc, EBubblemanagerIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_fax, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_fax_mask, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_home, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_home_mask, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_mobile, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_mobile_mask, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_pager, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_pager_mask, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_phone, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_phone_mask, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_work, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_work_mask, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_voip, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_voip_mask, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_car, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_car_mask, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_assistant, EAvkonIconfile },
-        { EMbmAvkonQgn_prop_nrtyp_assistant_mask, EAvkonIconfile }
-    };
-
-// End of File
\ No newline at end of file
--- a/phoneuis/BubbleManager/Inc/BMBubbleImage.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2003-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: 
-*       Thin wrapper over CEikImage to make sure that 
-*       AknsUtils::RegisterControlPosition is called.
-*
-*/
-
-
-#ifndef BMBUBBLEIMAGE_H
-#define BMBUBBLEIMAGE_H
-
-// INCLUDES  
-#include    <eikimage.h>
-
-// FORWARD DECLARATIONS
-// CLASS DECLARATION
-
-/**
-*  CBubbleImage control class
-*
-*  @lib bubblemanager
-*  @since 2.0
-*/
-class CBubbleImage : public CEikImage
-    {    
-    public: // Constructors and destructor
-        
-        /**
-        * Constructor.
-        */
-        CBubbleImage();
-
-        /**
-        * Destructor.
-        */
-        ~CBubbleImage();
-
-    public: // New functions
-        void SetAsBackgroundImage( TBool aIsBackground );
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-    private: // Data
-        TBool iIsBackgroundImage;
-    
-    };
-
-#endif // BUBBLEPLACE_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleImageManager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,374 +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 class handles all bitmaps
-*
-*/
-
-
-
-#ifndef BUBBLEIMAGEMANAGER_H
-#define BUBBLEIMAGEMANAGER_H
-
-// INCLUDES
-
-#include    <e32base.h>
-#include    <bldvariant.hrh>
-#include    <AknsItemID.h>
-#include    <AknsConstants.h>
-#include    <AknsItemData.h>
-
-// CONSTANTS
-const TInt KBMMaxFileNameLength = 100;
-
-// FORWARD DECLARATIONS
-class CBubbleSkinBitmap;
-class CEikImage;
-class CFbsBitmap;
-
-// DATA TYPES
-
-// Do NOT change order or numbering!!
-enum TBMIcons
-    {
-    ///////////////////////////////////////////////////////////////////////////
-    // Cached icons
-    ///////////////////////////////////////////////////////////////////////////
-    EQgn_indi_call_active = 0,
-    EQgn_indi_call_active_mask,
-    EQgn_indi_call_active_2,
-    EQgn_indi_call_active_2_mask,
-    EQgn_indi_call_disconn,
-    EQgn_indi_call_disconn_mask,
-    EQgn_indi_call_held,
-    EQgn_indi_call_held_mask,
-    EQgn_indi_call_video_callsta_1,
-    EQgn_indi_call_video_callsta_1_mask,
-    EQgn_indi_call_video_callsta_2,
-    EQgn_indi_call_video_callsta_2_mask,
-    EQgn_indi_call_video_callsta_disconn,
-    EQgn_indi_call_video_callsta_disconn_mask,
-    EQgn_indi_call_voip_active,
-    EQgn_indi_call_voip_active_mask,
-    EQgn_indi_call_voip_active_2,
-    EQgn_indi_call_voip_active_2_mask,
-    EQgn_indi_call_voip_held,
-    EQgn_indi_call_voip_held_mask,
-    EQgn_indi_call_voip_callsta_disconn,
-    EQgn_indi_call_voip_callsta_disconn_mask,
-    // Animated call icons
-    EQgn_indi_call_waiting_1,
-    EQgn_indi_call_waiting_1_mask,
-    EQgn_indi_call_waiting_2,
-    EQgn_indi_call_waiting_2_mask,
-    EQgn_indi_call_waiting_disconn,
-    EQgn_indi_call_waiting_disconn_mask,
-    EQgn_indi_call_video_1,
-    EQgn_indi_call_video_1_mask,
-    EQgn_indi_call_video_2,
-    EQgn_indi_call_video_2_mask,
-    EQgn_indi_call_video_disconn,
-    EQgn_indi_call_video_disconn_mask,
-    EQgn_indi_call_voip_waiting_1,
-    EQgn_indi_call_voip_waiting_1_mask,
-    EQgn_indi_call_voip_waiting_2,
-    EQgn_indi_call_voip_waiting_2_mask,
-    EQgn_indi_call_voip_disconn,
-    EQgn_indi_call_voip_disconn_mask,    
-    // Background for NE + single call (not cached, if frame icons in use)
-    EQgn_graf_call_rec_big,
-    EQgn_graf_call_rec_big_mask, 
-    EQgn_graf_call_rec_big_disconn,
-    EQgn_graf_call_rec_big_disconn_mask,
-    EQgn_graf_call_first_one_active,
-    EQgn_graf_call_first_one_active_mask,
-    EQgn_graf_call_first_one_disconn,
-    EQgn_graf_call_first_one_disconn_mask,
-    ///////////////////////////////////////////////////////////////////////////
-    // Non-cached icons
-    ///////////////////////////////////////////////////////////////////////////
-    EQgn_graf_call_first_one_held,
-    EQgn_graf_call_first_one_held_mask,
-    EQgn_indi_call_active_cyph_off,
-    EQgn_indi_call_active_cyph_off_mask,
-    EQgn_indi_call_disconn_cyph_off,
-    EQgn_indi_call_disconn_cyph_off_mask,
-    EQgn_indi_call_held_cyph_off,
-    EQgn_indi_call_held_cyph_off_mask,
-    EQgn_indi_call_cyphering_off,
-    EQgn_indi_call_cyphering_off_mask,
-    EQgn_indi_call_line2,
-    EQgn_indi_call_line2_mask,
-    EQgn_indi_call_active_emergency,
-    EQgn_indi_call_active_emergency_mask,
-    EQgn_indi_call_waiting_cyph_off_1,
-    EQgn_indi_call_waiting_cyph_off_1_mask,
-    EQgn_indi_call_waiting_disconn_cyph_off,
-    EQgn_indi_call_waiting_disconn_cyph_off_mask,
-    EQgn_graf_call_first_one_active_emergency,
-    EQgn_graf_call_first_one_active_emergency_mask,
-    EQgn_graf_call_two_active_emergency,
-    EQgn_graf_call_two_active_emergency_mask,
-    EQgn_graf_call_rec_big_right,
-    EQgn_graf_call_rec_big_right_mask,
-    EQgn_graf_call_rec_big_right_disconn,
-    EQgn_graf_call_rec_big_right_disconn_mask,
-    EQgn_graf_call_conf_five,
-    EQgn_graf_call_conf_five_mask,
-    EQgn_graf_call_conf_four,
-    EQgn_graf_call_conf_four_mask,
-    EQgn_graf_call_conf_three,
-    EQgn_graf_call_conf_three_mask,
-    EQgn_graf_call_conf_two,
-    EQgn_graf_call_conf_two_mask,
-    EQgn_graf_call_first_three_active,
-    EQgn_graf_call_first_three_active_mask,
-    EQgn_graf_call_first_three_disconn,
-    EQgn_graf_call_first_three_disconn_mask,
-    EQgn_graf_call_first_three_held,
-    EQgn_graf_call_first_three_held_mask,
-    EQgn_graf_call_first_two_active,
-    EQgn_graf_call_first_two_active_mask,
-    EQgn_graf_call_first_two_disconn,
-    EQgn_graf_call_first_two_disconn_mask,
-    EQgn_graf_call_first_two_held,
-    EQgn_graf_call_first_two_held_mask,
-    EQgn_graf_call_first_wait_active,
-    EQgn_graf_call_first_wait_active_mask,
-    EQgn_graf_call_first_wait_disconn,
-    EQgn_graf_call_first_wait_disconn_mask,
-    EQgn_graf_call_hidden_held,
-    EQgn_graf_call_hidden_held_mask,
-    EQgn_graf_call_rec_big_left,
-    EQgn_graf_call_rec_big_left_mask,
-    EQgn_graf_call_rec_big_left_disconn,
-    EQgn_graf_call_rec_big_left_disconn_mask,
-    EQgn_graf_call_rec_small_left,
-    EQgn_graf_call_rec_small_left_mask,
-    EQgn_graf_call_rec_small_right,
-    EQgn_graf_call_rec_small_right_mask,
-    EQgn_graf_call_rec_small_right_disconn,
-    EQgn_graf_call_rec_small_right_disconn_mask,
-    EQgn_graf_call_rec_bigger,
-    EQgn_graf_call_rec_bigger_mask,
-    EQgn_graf_call_second_three_active,
-    EQgn_graf_call_second_three_active_mask,
-    EQgn_graf_call_second_three_disconn,
-    EQgn_graf_call_second_three_disconn_mask,
-    EQgn_graf_call_second_three_held,
-    EQgn_graf_call_second_three_held_mask,
-    EQgn_graf_call_second_two_active,
-    EQgn_graf_call_second_two_active_mask,
-    EQgn_graf_call_second_two_disconn,
-    EQgn_graf_call_second_two_disconn_mask,
-    EQgn_graf_call_second_two_held,
-    EQgn_graf_call_second_two_held_mask,
-    EQgn_indi_call_active_conf,
-    EQgn_indi_call_active_conf_mask,
-    EQgn_indi_call_disconn_conf,
-    EQgn_indi_call_disconn_conf_mask,
-    EQgn_indi_call_diverted,
-    EQgn_indi_call_diverted_mask,
-    EQgn_indi_call_held_conf,
-    EQgn_indi_call_held_conf_mask,
-    EQgn_indi_call_muted,
-    EQgn_indi_call_muted_mask,
-    EQgn_prop_nrtyp_mobile_div,
-    EQgn_prop_nrtyp_mobile_div_mask,
-    EQgn_prop_nrtyp_phone_div,
-    EQgn_prop_nrtyp_phone_div_mask,
-    EQgn_indi_call_active_conf_cyph_off,
-    EQgn_indi_call_active_conf_cyph_off_mask,
-    EQgn_indi_call_active_cyph_off_2,
-    EQgn_indi_call_active_cyph_off_2_mask,
-    EQgn_indi_call_disconn_conf_cyph_off,
-    EQgn_indi_call_disconn_conf_cyph_off_mask,
-    EQgn_indi_call_held_conf_cyph_off,
-    EQgn_indi_call_held_conf_cyph_off_mask,
-    EQgn_indi_call_waiting_cyph_off_2,
-    EQgn_indi_call_waiting_cyph_off_2_mask,
-    EQgn_prop_nrtyp_home_div,
-    EQgn_prop_nrtyp_home_div_mask,
-    EQgn_prop_nrtyp_work_div,
-    EQgn_prop_nrtyp_work_div_mask,
-    EQgn_graf_call_image_1,
-    EQgn_graf_call_image_1_mask,
-    EQgn_indi_call4_image_mask_prt, 
-    EQgn_indi_call4_image_mask_lsc, 
-    // From avkon.mbm
-    EQgn_prop_nrtyp_fax,
-    EQgn_prop_nrtyp_fax_mask,
-    EQgn_prop_nrtyp_home,
-    EQgn_prop_nrtyp_home_mask,
-    EQgn_prop_nrtyp_mobile,
-    EQgn_prop_nrtyp_mobile_mask,
-    EQgn_prop_nrtyp_pager,
-    EQgn_prop_nrtyp_pager_mask,
-    EQgn_prop_nrtyp_phone,
-    EQgn_prop_nrtyp_phone_mask,
-    EQgn_prop_nrtyp_work,
-    EQgn_prop_nrtyp_work_mask,
-    EQgn_prop_nrtyp_voip,
-    EQgn_prop_nrtyp_voip_mask,
-    EQgn_prop_nrtyp_car,
-    EQgn_prop_nrtyp_car_mask,
-    EQgn_prop_nrtyp_assistant,
-    EQgn_prop_nrtyp_assistant_mask
-    };
-
-
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleImageManager class
-*  This class handles all bitmaps
-*
-*  @lib bubblemanager
-*  @since Series60_1.0
-*/
-class CBubbleImageManager : public CBase
-    {
-
-    public: // Constructors and destructor
-
-        /**
-        * Two phase constructor
-        * @param aFrameIcons ETrue if 9-piece bubbles are used.
-        * @return New instance
-        */
-        static CBubbleImageManager* NewL( TBool aFrameIcons );
-
-        /**
-        * Destructor.
-        */
-        ~CBubbleImageManager();
-
-    public: // New functions
-
-        /**
-        * Set given bitmap to CEikImage object.
-        * @param aImage Image which the bitmap is set to.
-        * @param aPicture Bitmap enum.
-        */
-        void SetBitmapToImage( CEikImage*& aImage , 
-                               const TBMIcons& aPicture );
-
-        /**
-        * Set given bitmap to CEikImage object.
-        * @param aImage Image which the bitmap is set to.
-        * @param aPicture Bitmap enum.
-        * @param aPictureMask Bitmap mask enum.
-        */
-        void SetBitmapToImage( CEikImage*& aImage , 
-                               const TBMIcons& aPicture, 
-                               const TBMIcons& aPictureMask );
-
-        /**
-        * Clears skinned bitmaps. Call only between StartChanges() and
-        * EndChanges()!!!
-        * @since 2.0
-        */
-        void ClearSkinsCache();
-        
-        /**
-        * This method prepares cached bitmaps. SVG icons cannot be
-        * used before they are initialized. Using this method ensures 
-        * validity of most essentials icons in OOM situation.  
-        * @since 3.1
-        */
-        void PrepareCachedBitmaps();
-
-    protected:
-        /**
-        * Constructor.
-        */
-        CBubbleImageManager( TBool aFrameIcons );
-
-        // From CTimer
-        void RunL();
-
-        // Set bitmap+mask to given image
-        void SetBitmapToImage( CEikImage& aImage , 
-                               const TBMIcons& aPicture, 
-                               const TBMIcons& aPictureMask );
-
-        // Maps enumeration to mbm file
-        void MapEnumToMbmFile( const TBMIcons aBmIcon,
-                               TInt& aMbm,
-                               TDes& aFileName ) const;
-
-        // Maps emumeration to skin id
-        void MapEnumToSkin( const TBMIcons aBmIcon, 
-                            TAknsItemID& aItemId, 
-                            TInt& aColorGroupId ) const;
-
-        // Finds skin for given enumeration
-        TBool GetSkin( CEikImage&     aImage, 
-                       const TBMIcons aBmIcon, 
-                       const TBMIcons aBmIconMask );
-
-        // Loads new skin image into cache
-        void LoadAndAppendSkinL( const TBMIcons aBmIcon,
-                                 const TBMIcons aBmIconMask,
-                                 CFbsBitmap*&   aBitmap, 
-                                 CFbsBitmap*&   aMask );
-                                 
-        // Initialize bitmaps
-        TBool DoInitializeBitmaps();
-        
-        // Callback function for CIdle
-        static TInt InitializeBitmaps( TAny* aThis );
-        
-        // Load cached bitmaps
-        void LoadCachedBitmapsL();
-    
-    private:
-        // Returns id for last icon kept in cache
-        inline TInt LastCachedIcon();
-
-    private: // private functions
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-
-    private: //data
-
-        // MBM file name
-        TBuf<KBMMaxFileNameLength> iMbmFileBuffer;
-
-        // Cached skin bitmaps
-        RPointerArray<CBubbleSkinBitmap> iSkinnedBitmaps;
-        // Ordering function pointer.
-        TLinearOrder<CBubbleSkinBitmap> iOrder;
-
-        // Compares two different skin images
-        static TInt CompareSkinnedData(
-            const CBubbleSkinBitmap& aSkinnedBitmap1, 
-            const CBubbleSkinBitmap& aSkinnedBitmap2 );
-            
-        // Bitmap initialization
-        CIdle* iBitmapInitializer;
-        TInt   iBitmapInitIndex;
-        
-        // 9-piece background icons used 
-        TBool iFrameIcons;
-
-    private:
-        friend class CT_CBubbleImageManager;
-    };
-
-#endif //BUBBLEIMAGEMANAGER_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleManager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1018 +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:  CBubbleManager class provides API for phone to draw current calls
-*                on the screen. 
-*
-*/
-
-
-
-#ifndef BUBBLEMANAGER_H
-#define BUBBLEMANAGER_H
-
-//  INCLUDES
-#include    <coemain.h>
-#include    <bmbubbleplace.h>
-#include    <bldvariant.hrh>
-#include    <mphcntmatch.h>
-
-// CONSTANTS
-_LIT( KBubbleTextSeparator ,"\t");
-const TUint8 KBubbleShortLabelMaxLength = 25;
-const TUint8 KBubbleLongLabelMaxLength = 35;
-const TUint8 KBubbleLabelMaxLength = 
-    KBubbleShortLabelMaxLength + KBubbleLongLabelMaxLength;
-//const TUint8 KBubbleMaxCharsInNE = 48;
-const TUint8 KBubbleCallMaxAmount = 7;
-const TUint8 KBubblePlaceMaxAmount = 20;
-const TUint8 KBubblePlaceMaxAmountTouch = 23;
-const TUint8 KBubblePlaceMaxVisible = 4;
-const TUint8 KBubbleMaxCallsInConf = 5;
-const TInt KBubbleConferenceId = -1; // differs from 0-6 which 
-                                     //are reserved for calls.
-const TInt KBubbleInvalidId = -2;
-const TInt KBubbleNoHighlightRow = 0; // 1-5 are conference rows
-
-// FORWARD DECLARATIONS
-class CBubbleOutlook;
-class CBubbleImageManager;
-class CBubbleCallHeader;
-class CBubbleHeader;
-class CBubbleConfHeader;
-class CBubbleOutlookNumberEntry;
-class CBubbleOutlookTopRight;
-class CEikImage;
-class CBubbleResourceManager;
-class CPNGNumberGrouping;
-class CBubbleCallObjectManager;
-class CBubbleVideoController;
-class MBubbleVideoPlaybackObserver;
-class CBubbleTouchPane;
-class MBubbleTouchPaneInterface;
-class CTelBubbleCustomElement;
-class CBubbleCustomManager;
-class CBubbleMainPaneControl;
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleManager container class
-*
-*  @lib bubblemanager.lib
-*  @since Series60_1.0
-*/
-NONSHARABLE_CLASS(CBubbleManager) : public CCoeControl
-    {
-    public:     // Data
-        typedef TInt TBubbleId;
-        typedef TBuf<KBubbleLabelMaxLength> TBubbleLabelString;
-        typedef TUint8 TRowNumber; // 1-5 allowed (for conf)
-        
- 
-        // Different call states
-        enum TPhoneCallState // Set the order for drawing too
-            { 
-            ENone           = 0, // Default on creation
-            EOnHold,
-            EDisconnected,
-            EActive,
-            EIncoming,
-            EWaiting,
-            EAlertToDisconnected,
-            EOutgoing,
-            EAlerting,
-            };
-        
-        // Call Flags
-        enum TPhoneCallTypeFlags 
-            {
-            ENormal         = 0x00,     // Default
-            ENoCiphering    = 0x08,     // open lock icon
-            ELine2          = 0x10,     // is call on line 2 
-            EMuted          = 0x20,     // not implemented for a single call
-            EDiverted       = 0x40,     // is call diverted
-            EVideo          = 0x80,     // video call
-            EVoIPCall       = 0x100     // VoIP call.  
-            };
-        
-        // Number types
-        enum TPhoneNumberType
-            {
-            ENotSet    = 0, // Default
-            EHome,
-            EMobile,
-            EWork,
-            EPhone,
-            EFaxNumber,
-            EPager,
-            ECar,
-            EAssistant
-            };
-        
-        // Where the text is clipped.
-        enum TPhoneClippingDirection
-            {
-            ELeft,  // Default on numbers
-            ERight  // Default on texts/names
-            };
-
-        enum TPhoneCallAnimationTypes
-            {
-            EAnimVoiceCall = 0,
-            EAnimVideoCall,
-            EAnimVoIPCall
-            };
-            
-        // Popup bubble type
-        enum TPhonePopupBubbleType
-            {
-            EVideoRingingToneQCIF,
-            EVideoRingingToneSubQCIF    
-            };
-            
-        // Video play
-        enum TBubbleVideoPlayMode
-            {
-            EPlayInLoop,
-            EPlayOnce,
-            EPlayAscending    
-            };
-            
-        // Conference participant CLI
-        enum TBubbleParticipantListCLI
-            {
-            EParticipantListCLIText,
-            EParticipantListCNAP    
-            };                        
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two phase constructor
-        * @param aContainer Parent container
-        * @param aRect Area to use
-        * @return New instance
-        */
-        IMPORT_C static CBubbleManager* NewL( const CCoeControl& aContainer , 
-                                              const TRect& aRect );
-        
-        /**
-        * Two phase constructor
-        * @param aContainer Parent container
-        * @param aRect Area to use
-        * @param aBigNEInIdle Bigger number entry used in idle state.
-        * @return New instance
-        */
-        IMPORT_C static CBubbleManager* NewL( const CCoeControl& aContainer , 
-                                              const TRect& aRect,
-                                              TBool aBigNEInIdle );
-        
-        /**
-        * Destructor.
-        */
-        IMPORT_C ~CBubbleManager();
-
-    public: // New functions
-        
-        // ====================================================
-        // Must surround all the changes:
-        // ====================================================
-        //
-        
-        /**
-        * Before making any changes to bubble headers, call this function so
-        * manager can prapare for them properly.
-        */
-        IMPORT_C void StartChanges();
-        
-        /**
-        * After the changes to bubble headers call this function so manager 
-        * can prepare bubbles to right places and check the drawing order. 
-        * Memory for arrays has been allocated beforehand.
-        */
-        IMPORT_C void EndChanges();
-        
-        
-        // ====================================================
-        // For number entry:
-        // ====================================================
-        //
-        
-        /**
-        * Sets number entry active.
-        */
-        IMPORT_C void CreateNumberEntry();
-        
-        /**
-        * Return pointer to number entry
-        * @return The NE.
-        */
-        IMPORT_C CCoeControl* GetNumberEntry( ) const;
-        
-        /**
-        * Query, is number entry used.
-        * @return ETrue is NE is used.
-        */
-        IMPORT_C TBool IsNumberEntryUsed( ) const;
-        
-        /**
-        * This disables NE drawing but doesn't empty the component.
-        * @param aVisibility NE visible or not.
-        */
-        IMPORT_C void SetNumberEntryVisible( 
-            const TBool& aVisibility = ETrue );
-        
-        /**
-        * Set Number Entry text.
-        * @param aDesC The text.
-        */
-        IMPORT_C void SetTextToNumberEntry( const TDesC& aDesC );
-        
-        /**
-        * Get Number Entry Text.
-        * @param aDesC The text.
-        */
-        IMPORT_C void GetTextFromNumberEntry( TDes& aDesC );
-        
-        /**
-        * Removes NE and empties the buffer.
-        */
-        IMPORT_C void RemoveNumberEntry( );
-        
-        
-        // ====================================================
-        // For call headers and some for conference call
-        // ====================================================
-        //
-        
-        /**
-        * Takes a new call header in use.
-        * @return Bubble idenfication number
-        */
-        IMPORT_C TBubbleId CreateCallHeader();
-        
-        /**
-        * Removes call header from use
-        * @param aBubbleId Indentifies call header
-        */
-        IMPORT_C void RemoveCallHeader( const TBubbleId& aBubbleId );
-        
-        /**
-        * Sets call state to header.
-        * @param aBubbleId Identifies header
-        * @param aState Call state ( e.g. incoming,.. ), for conf also 
-        *               (active/on hold/ none)
-        */
-        IMPORT_C void SetState( const TBubbleId& aBubbleId, 
-            const TPhoneCallState& aState );
-        
-        /**
-        * Sets text label to header. For conf also.
-        * @param aBubbleId Identifies header
-        * @param aText Text to be seen in bubble ( e.g. 'on hold' )
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void SetLabel( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aText, 
-            const TPhoneClippingDirection& aClipDirection = ERight );
-        
-        /**
-        * Sets text label to header. For conf also.
-        * @param aBubbleId Identifies header
-        * @param aLongText Text to be seen in bubble ( e.g. 'disconnected' )
-        * @param aShortText Text to be seen in bubble ( e.g. 'disconn' )
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void SetLabel( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aLongText, 
-            const TDesC& aShortText, 
-            const TPhoneClippingDirection& aClipDirection = ERight );
-        
-        /**
-        * Sets caller's line identification ( name or number) to header. 
-        * For conf also.
-        * @param aBubbleId Identifies header
-        * @param aCLIText Caller's CLI ( e.g. 'Mother' )
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void SetCLI( const TBubbleId& aBubbleId, 
-                              const TDesC& aCLIText, 
-                              const TPhoneClippingDirection& aClipDirection );
-        
-        /**
-        * Updates caller's line identification ( name or number) to header. 
-        * For conf also.
-        * @param aBubbleId Identifies header
-        * @param aCLIText Caller's CLI ( e.g. 'Daddy' )
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void UpdateCLI( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aCLIText, 
-            const TPhoneClippingDirection& aClipDirection );
-        
-        
-        /**
-        * Sets call time or cost text to header. For conf also.
-        * @param aBubbleId Identifies header
-        * @param aCallTime Timer or cost text ( e.g. '00:12:34' or '£01.23' ). 
-        *                  If this parameter is too long 
-        *                  (> KBubbleLabelMaxLength) it discards the end.
-        */
-        IMPORT_C void SetCallTime( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aCallTime );
-        
-        /**
-        * Updates call time or cost text to header.  For conf also.
-        * @param aBubbleId Identifies header
-        * @param aCallTime Timer or cost text ( e.g. '00:12:34' or '£01.23' ). 
-        *                  If this parameter is too long 
-        *                  (> KBubbleLabelMaxLength) it discards the end.
-        */
-        IMPORT_C void UpdateCallTime( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aCallTime ); 
-        
-        /**
-        * Attach a thumbnail image to header. Bitmap parameters can be NULL.
-        * Ownership is not transferred.
-        * @param aBubbleId Identifies header
-        * @param aTnBitmap A Pointer to wanted thumbnail bitmap.
-        * @param aTnBitmapMask A Pointer to thumbnail bitmap mask.
-        * @param aDataOwnershipTransferred Set ETrue if ownership is transferred.
-        */
-        IMPORT_C void SetThumbnail( const TBubbleId& aBubbleId, 
-                                    CFbsBitmap* aTnBitmap, 
-                                    CFbsBitmap* aTnBitmapMask,
-                                    TBool aDataOwnershipTransferred 
-                                          = EFalse ); 
-
-        /**
-        * Attach a call object image to header.
-        * @param aBubbleId Identifies header
-        * @param aImageFile.
-        */
-        IMPORT_C void SetCallObjectImage( const TBubbleId& aBubbleId,
-                                          const TDesC& aImageFileName );            
-                                            
-        /**
-        * Attach a call object image to header.
-        * Ownership is not transferred.
-        * @param aBubbleId Identifies header
-        * @param aCOBitmap A Pointer to wanted call object image bitmap.
-        * @param aCOBitmapMask A Pointer to call object bitmap mask.
-        * @param aDataOwnershipTransferred Set ETrue if ownership is transferred.
-        */
-        IMPORT_C void SetCallObjectImage( const TBubbleId& aBubbleId, 
-                                          CFbsBitmap* aCOBitmap, 
-                                          CFbsBitmap* aCOBitmapMask = NULL,
-                                          TBool aDataOwnershipTransferred 
-                                                = EFalse  );
-
-        /**
-        * Attach a call object image to header. Image is taken from
-        * active theme.   
-        * @param aBubbleId Identifies header.
-        */
-        IMPORT_C void SetCallObjectFromTheme( const TBubbleId& aBubbleId );
-                                    
-        /**
-        * Attach a call object text to header.
-        * Ownership is not transferred.
-        * @param aBubbleId Identifies header
-        * @param aCOText Pointer to buffer holding the text. 
-        */
-        IMPORT_C void SetCallObjectText( const TBubbleId& aBubbleId, 
-                                         const TDesC& aCOText );                                                                        
-                                            
-        
-        /**
-        * Sets call flags to header.
-        * @param aBubbleId Identifies header
-        * @param aFlags Call flags
-        */
-        IMPORT_C void SetCallFlags( 
-            const TBubbleId& aBubbleId, 
-            const TUint32& aFlags ); 
-        
-        /**
-        * Sets call flags to header.
-        * @param aBubbleId Identifies header
-        * @param aFlag One call flag
-        * @param aSet ETrue sets flag and EFalse clears flag
-        */
-        IMPORT_C void SetCallFlag( const TBubbleId& aBubbleId, 
-                                   const TPhoneCallTypeFlags& aFlag, 
-                                   const TBool& aSet );
-        
-        /**
-        * Sets number type.
-        * @param aBubbleId Identifies header
-        * @param aNumType Number type enumeration ( e.g. mobile )
-        */
-        IMPORT_C void SetNumberType( const TBubbleId& aBubbleId, 
-                                     const TPhoneNumberType& aNumType );
-
-        /**
-        * Sets number type.
-        * @param aBubbleId Identifies header
-        * @param aNumType Number type id.
-        */
-        IMPORT_C void SetPbkNumberType( const TBubbleId& aBubbleId, 
-                                        const TInt aNumType );
-
-        IMPORT_C void SetPhCntNumberType( const TBubbleId& aBubbleId,
-                                     const MPhCntMatch::TNumberType aNumType );
-        
-        /**
-        * Updates video call header text for animation
-        * @param aBubbleId Identifies header
-        * @param aHeaderText video call header animation text 
-        */
-        IMPORT_C void UpdateCallHeaderText( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aLongText, 
-            const TDesC& aShortText, 
-            const TPhoneClippingDirection& aClipDirection );
-
-        // ====================================================
-        // For all bubbles
-        // ====================================================
-        //
-        
-        /**
-        * Sets phone muted/unmuted.
-        * @param aIsMuted ETrue if phone is muted.
-        */
-        IMPORT_C void SetPhoneMuted( const TBool& aIsMuted = ETrue );
-        
-        
-        // ====================================================
-        // For conference call
-        // ====================================================
-        //
-        
-        /**
-        * Creates a conference call based upon two calls. Bubbles must be 
-        * created first.
-        * @param aBubble1 Identifies first header to set in conference call.
-        * @param aBubble2 Identifies second header to set in conference call
-        * @return Conference bubble idenfication.
-        */
-        IMPORT_C TBubbleId CreateConference( const TBubbleId& aBubble1, 
-                                             const TBubbleId& aBubble2 );
-        
-        /**
-        * Splits conference call into invidual two calls. Call headers stays 
-        * in use. Headers' state will not be changed.
-        */
-        IMPORT_C void RemoveConference();
-        
-        /**
-        * Adds new call to conference call.
-        * @param aBubbleId Identifies header
-        */
-        IMPORT_C void AddRowToConference( const TBubbleId& aBubbleId );
-        
-        /**
-        * 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).
-        * @param aBubbleId Identifies header
-        */
-        IMPORT_C void RemoveRowFromConference( const TBubbleId& aBubbleId );
-        
-        /**
-        * Counts calls in conference call.
-        * @return Call amount in conference.
-        */
-        IMPORT_C TUint8 ConferenceRowCount( ) const;
-        
-        /**
-        * Sets highlight to specified line in conference.
-        * @param aRowNumber Line number in conference bubble. 
-        *                   0 means no highlight.
-        */
-        IMPORT_C void SetSelectionInConference( const TRowNumber& aRowNumber );
-        
-        /**
-        * Sets highlight to specified bubble id in conference.
-        * @param aBubbleId Id for wanted selection. 
-        *                  KBubbleInvalidId means no hihgtlight. 
-        */
-        IMPORT_C void SetSelectionIdInConference( const TBubbleId& aBubbleId );
-        
-        /**
-        * Gets highlighted item in conference.
-        * @return Row number of the call. 0 if no highlight
-        */
-        IMPORT_C TRowNumber SelectionInConference() const;
-        
-        /**
-        * Gets highlighted item in conference.
-        * @return Id of the call. Returns KBubbleInvalidId if no highlight
-        */
-        IMPORT_C TBubbleId SelectionIdInConference() const;
-        
-        /**
-        * Moves highligh one up if possible
-        */
-        IMPORT_C void MoveHighlightOneUpInConference();
-        
-        /**
-        * Moves highligh one down if possible
-        */
-        IMPORT_C void MoveHighlightOneDownInConference();
-        
-        /**
-        * Use this function to expand or shrink conference bubble.
-        * @param aIsExpanded ETrue=expanded, EFalse=shrink.
-        */
-        IMPORT_C void SetExpandedConferenceCallHeader( 
-            const TBool& aIsExpanded = ETrue );
-        
-        /**
-        * Query: is conference expanded?
-        * @return ETrue, if conference is expanded
-        */
-        IMPORT_C TBool IsConferenceExpanded( ) const;
-
-        // ====================================================
-        // Use only if __SERIES60_PHONE_CNAP if defined:
-        // ====================================================
-        //
-        /**
-        * Sets CNAP information to the call header. CLI is used for the CNAP 
-        * name got from the network. In addition, the phone number is stored 
-        * here to show it also.
-        * @since 1.2
-        * @param aBubbleId Identifies header
-        * @param aCNAPText Caller's CNAP information.
-        * @param aClipDirection Text clipping end
-        */
-        IMPORT_C void SetCNAP( 
-            const TBubbleId& aBubbleId, 
-            const TDesC& aCNAPText, 
-            const TPhoneClippingDirection& aClipDirection = ELeft );
-
-        
-        /**
-        * Set number entry's editor mode.
-        * @param aMode for number editor input mode.
-        * @return Input mode of the editor.
-        * @since 3.0
-        */
-        IMPORT_C TInt ChangeEditorMode( TBool aDefaultMode = EFalse );
-        
-        /**
-        * Get number entry's editor mode.
-        * @return Input mode of the editor.
-        * @since 3.0
-        */
-        IMPORT_C TInt GetEditorMode() const;
-
-        /**
-        * Resets number entry editor to default values.
-        * @since 3.0
-        */
-        IMPORT_C void ResetEditorToDefaultValues();
-
-        /**
-        * Starts initialization of most essential icons. This method can 
-        * be used to ensure correct LAF in OOM situation (to be called
-        * before OOM).
-        */
-        IMPORT_C void PrepareIcons();
-        
-        /**
-        * Preloads/Releases call theme image.  
-        * @param aPreload ETrue to preload the image.
-        *                 EFalse to release the image.
-        */
-        IMPORT_C void PreloadCallThemeImage( TBool aPreload );
-        
-        /**
-        * Number of headers shown on the screen.
-        * @return Shown header count.
-        */
-        IMPORT_C TUint8 ShownHeaderCount() const;
-        
-        /**
-        * Client should call this method when the background context
-        * changes after EndChanges() call. This method updates animation
-        * frames that are created by drawing part of application view 
-        * off-screen (updates here cannot be based on redraw events). 
-        */
-        IMPORT_C void HandleBackgroundImageChange();
-
-        /**
-        * Sets video ringing tone. Video is played when the next call 
-        * enters incoming state and stopped when the call exits the
-        * incoming call state.
-        * @param aFileName File name with path.
-        * @param aPlayMode Play mode.
-        * @param aVolumeLevel Volume level (0-10).
-        * @param aUseArbitraryScaling Set ETrue for arbitrary video scaling.
-        * @param aObserver Playback observer.
-        */
-        IMPORT_C void SetVideoRingTone(
-            const TDesC& aFileName,
-            TBubbleVideoPlayMode aPlayMode,
-            TInt aVolumeLevel,
-            TBool aUseArbitraryScaling,
-            MBubbleVideoPlaybackObserver* aObserver );
-        
-        /**
-        * Stops video playback. Call bubble for video ringtone stays
-        * active.   
-        */
-        IMPORT_C void StopVideoRingTone();
-        
-        /**
-        * Mutes video playback.
-        */
-        IMPORT_C void MuteVideoRingTone();
-        
-        /**
-        * Cancels video ringing tone. Video playback is stopped and call
-        * bubble layout is changed to normal. This is meant to be used in 
-        * error situations, where client needs to abort video state and
-        * play default ringtone instead.    
-        */
-        IMPORT_C void CancelVideoRingTone();
-        
-        /**
-        * Set CLI used in participant list (text or phonenumber).
-        * @param aBubbleId Bubble identifier.
-        * @param aParticipantCLI CLI type.
-        * @since S60 5.0   
-        */        
-        IMPORT_C void SetParticipantListCLI(
-            const TBubbleId& aBubbleId,
-            TBubbleParticipantListCLI aParticipantCLI );
-        
-        /**
-        * Returns touchpane interface.
-        * @return Pointer to touchpane interface.
-        */
-        IMPORT_C MBubbleTouchPaneInterface* TouchPane();
-        
-        /**
-        * Sets touchpane visibility.
-        * @param Set ETrue if touchpane is shown otherwise EFalse.
-        */
-        IMPORT_C void SetTouchPaneVisible( TBool aVisible );
-        
-        /**
-        * Adds custom ui element to call bubble. Onwership of the element
-        * is not transferred, caller shall remove the element before deleting
-        * the instance.
-        * @since S60 5.0
-        * @param aBubbleId Bubble identifier.
-        * @param aElement  Custom element.
-        * @param aPriority Priotity 0(high) - 255(low). 
-        *                  Used when multiple instances in same position.
-        */
-        IMPORT_C void AddCustomElement( const TBubbleId& aBubbleId,
-                                        CTelBubbleCustomElement* aElement,
-                                        TInt aPriority );
-        
-        /**
-        * Removes custom ui element from call bubble.
-        * @since S60 5.0
-        * @param aBubbleId Bubble identifier.
-        * @param aElement Custom element.
-        */
-        IMPORT_C void RemoveCustomElement( const TBubbleId& aBubbleId,
-                                           CTelBubbleCustomElement* aElement );
-
-    public: // non-imported functions
-
-        /**
-        * Focus changed
-        * @param aDrawNow Needs redraw?
-        */
-        void FocusChanged( TDrawNow aDrawNow );
-
-        /**
-        * For getting image manager
-        * @return Reference
-        */
-        CBubbleImageManager& ImageManager();
-
-        /**
-        * For getting resource manager
-        * @return Reference
-        */
-        CBubbleResourceManager& ResourceManager();
-        
-        /**
-        * For getting customization manager
-        * @return Reference
-        */
-        CBubbleCustomManager& CustomManager();
-
-        /**
-        * Uses number grouping to change the phone number
-        * @since 1.2
-        * @param aNumber original number
-        * @return grouped number
-        **/
-        const TDesC& NumberGroup( const TDesC& aNumber );
-        
-        /**
-        * To test if this call state is such that end key
-        * press terminates the call.
-        * end key is pressed.
-        * @return ETrue if call is dropped by end key. Otherwise EFalse.
-        */
-        TBool IsCallDroppedByEndKey( const TPhoneCallState& aState ) const;
-        
-        /**
-        * To get number of ongoing calls.
-        * @return Active call count.
-        */
-        TUint8 ActiveCallCount() const;
-        
-        /**
-        * For getting video controller.
-        * @return Video controller reference.
-        */
-        CBubbleVideoController& VideoController() const;
-        
-        /**
-        * To get call state of the bubble.
-        * @return Call state.
-        */
-        TPhoneCallState CallState( const TBubbleId& aBubbleId );
-        
-        /**
-        * Get size for call object image for incall situations. 
-        * @param aIncall Set ETrue for incall states.
-        * @param aBigBubble Set ETrue for big call bubble.
-        * @return The Size.
-        */
-        TSize CallObjectImageIncallSize( TBool aBigBubble = EFalse );
-        
-        /**
-        * Returns touch feature status.
-        * @return ETrue if touch call handling enabled, otherwise EFalse.
-        */
-        TBool IsTouchCallHandling() const;
-        
-        /**
-        * Returns main pane image rect
-        */
-        const TRect MainPaneImageRect( 
-            TBool aTinyImage = EFalse,
-            TBool aThreeLinesShown = EFalse ) const;
-        
-    private:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-        
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-        /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * From CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        void Draw( const TRect& aRect ) const;
-
-        /**
-        * From CCoeControl
-        */
-        void HandleResourceChange( TInt aType );
-        
-        /**
-        * From CCoeControl
-        */
-        void MakeVisible( TBool aVisible );
-
-    private:
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL( const CCoeControl& aContainer, 
-            const TRect& aRect,
-            TBool aBigNEInIdle );
-
-        /**
-        * Activates current place. Place's outlook will read info from header.
-        */
-        void SetActivePlace( const CBubblePlace::TPhoneBubblePlace& aPlace , 
-                             CBubbleHeader& aHeader );
-        
-        /**
-        * Finds header from call headers array.
-        */
-        TBool FindHeader( 
-            const TBubbleId& aBubbleID, 
-            CBubbleHeader*& aHeader ) const;
-        
-        /*
-        * Find header from active headers array
-        */
-        TBool FindActiveHeader( 
-            const TBubbleId& aBubbleID, 
-            CBubbleHeader*& aHeader ) const;
-        
-        /**
-        * Builds up expanded conference call
-        */
-        void BuildExpandedConference();
-        
-        /**
-        * Buils bubbles without NE
-        */
-        void BuildBubbles();
-        
-        /**
-        * Builds bubbles with NE
-        */
-        void BuildBubblesWithNE();
-        
-        /**
-        * Builds bubbles for touch call handling.
-        */
-        void BuildBubblesForTouch();
-        
-        /**
-        * Uses index to navigate through active headers. 
-        */
-        void FindNextDrawableHeader( TUint8& aIndex );
-        
-        /*
-        * Draw lines in expanded conference again.
-        */
-        void UpdateConferenceRows( TRowNumber aRow1, TRowNumber aRow2 );
-
-        /**
-        * Finds header by call state.
-        */            
-        TBool FindHeader( const TPhoneCallState& aCallState,
-                          CBubbleHeader*& aHeader ) const;
-
-        /**
-        * Builds main pane image from call object data.
-        */
-        void BuildMainPaneImage();
-        
-        /**
-        * Reloads call object image.
-        */
-        void ReloadCallObjectImage();
-        
-        /**
-        * DoLayoutCall1 (legacy)
-        */
-        void DoLayoutCall1Bubbles();
-        
-        /**
-        * DoLayoutCall2 (call object bubbles)
-        */
-        void DoLayoutCall2Bubbles();
-        
-        /**
-        * DoLayoutCall4 (touch)
-        */
-        void DoLayoutCall4Bubbles( const TRect& aWindowPane );
-        
-        /**
-        * Start animations
-        */
-        void StartAnimations();
-        
-        /**
-        * Creates video player and starts video playback.
-        */
-        void CreateVideoPlayerAndPlay();
-        
-        /**
-        * Stops video playback and deletes video player.
-        */
-        void StopAndDeleteVideoPlayer();
-        
-        /**
-        * Checks if initializing call exist. Returns ETrue if
-        * initializing call exist otherwise EFalse.
-        */                             
-        TBool InitializingCall() const;                         
-
-    protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
-
-    private:    // Data
-        // Is phone muted?
-        TBool iIsMuted;
-        // Muted icon (component control).
-        CEikImage* iMutedImage;
-        
-        // Counter for Start-/EndChanges()
-        TUint8 iIsReadyToDraw;
-        
-        // Array for the call infos
-        CArrayPtrFlat<CBubbleCallHeader>* iCallHeaders;
-        // Array for currently used calls
-        CArrayPtrFlat<CBubbleHeader>* iActiveHeaders;
-        // Info object for conference call.
-        CBubbleConfHeader* iConfHeader;
-        
-        // Array for bubble places
-        CArrayPtrFlat<CBubblePlace>* iBubblePlaces;
-        // Shown bubbles (component control)
-        CArrayPtrFlat<CBubblePlace>* iActivePlaces;
-        
-        // Number Entry (component control)
-        CBubbleOutlookNumberEntry* iNumberEntry;
-        
-        // For getting the images.
-        CBubbleImageManager* iImageManager;
-        // For component pool
-        CBubbleResourceManager* iResourceManager;
-        // For customizable UI controls
-        CBubbleCustomManager* iCustomManager;
-
-        // Parent container
-        const CCoeControl* iParentControl;
-
-        // Pointer to the label buffer
-        HBufC* iLabelBuf;
-
-        // Handles number grouping
-        CPNGNumberGrouping* iNumberGrouping;
-
-        // Call object manager
-        CBubbleCallObjectManager* iCallObjectManager;
-        
-        // Main pane control
-        CBubbleMainPaneControl* iMainPaneControl;
-        
-        // Flag indicating change in call object
-        TBool iCallObjectChanged;
-        
-        // Video control.
-        CBubbleVideoController* iVideoController;
-        enum TVideoFlags
-            {
-            EBMVideoSetAsRingTone = 1,
-            EBMVideoBubbleActive = 2,
-            EBMVideoPlayingVideo = 4,
-            };
-        TInt iVideoFlags;
-        
-        // Configuration flags
-        enum TConfigurationFlags
-            {
-            EBMCallObjectDisplay = 1,
-            EBMBigNEInIdleState  = 2,
-            EBMTouchCallhandling = 4
-            };
-        TInt iConfigFlags;
-        
-        // Touchpane object.
-        CBubbleTouchPane* iTouchPane;        
-        
-        // Touchpane visibility.
-        TBool iTouchPaneSetVisible;
-        
-        // Layout variety that depend's on image size.
-        TInt iBottomImageVariety;
-        
-        TBool* iReserved2;
-    };
-
-#endif      // BUBBLEMANAGER_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlook.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +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: 
-*     Abstract base class fror bubble outlooks
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOK_H
-#define BUBBLEOUTLOOK_H
-
-// INCLUDES
-#include <coecntrl.h>
-#include <AknsUtils.h>
-
-// CONSTANT
-
-// FORWARD DECLARATIONS
-class CBubbleHeader;
-class CBubbleManager;
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlook container class
-*
-*  Abstract base class fror bubble outlooks
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlook : public CCoeControl 
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlook();
-        
-    protected:
-        
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL( );
-        
-        /**
-        * Default constructor.
-        * @param aBubbleManager Reference to the main component.
-        */
-        CBubbleOutlook( CBubbleManager& aBubbleManager );
-        
-    public: //member functions
-        
-        /**
-        * To reset the outlook.
-        */
-        virtual void Reset( ) = 0;
-        
-        /**
-        * Give header from which the outlook should read it's info.
-        * @param aHeader The header.
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader ) = 0;
-        
-        /**
-        * Update timer/cost value and redraw it.
-        */
-        virtual void DrawTimerCostNow() = 0;
-        
-        /**
-        * Update CLI string and redraw it.
-        */
-        virtual void DrawCLINow() = 0;
-
-        /**
-        * Draw bitmaps to given context
-        * @param aGc Context to draw to.
-        */
-        virtual void DrawBitmaps( CBitmapContext& aGc ) const = 0;
-
-        /**
-        * Start animation.
-        */
-        virtual void HandleAnimationStartL() const = 0;
-
-        /**
-        * Release anim
-        * @since 2.0
-        */
-        virtual void ReleaseBitmaps();
-
-        /**
-        * Recreate the animation
-        * @since 2.0
-        */
-        virtual void RebuildBitmaps();
-
-        /**
-        * Update call header text and redraw it.
-        */
-        virtual void DrawCallHeaderText() = 0;
-        
-        /**
-        * Call object display on/off.
-        * @since 3.1
-        */
-        void SetCallObjectDisplay( TBool aActive );
-        
-    protected: // New functions
-
-        // Draws label
-        void DrawLabelNow( const CCoeControl& aLabel );
-        // Draws label if pointer is != NULL.
-        void DrawLabelNow( const CCoeControl* aLabel );
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void SizeChanged( ) = 0;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void PositionChanged();
-
-        /**
-        * From CCoeControl
-        */
-        virtual TInt CountComponentControls( ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void Draw( const TRect& aRect ) const;
-            
-              
-    protected: //data
-
-        // Reference to the main control
-        CBubbleManager& iBubbleManager;
-        
-        // Feature settings
-        TBool iCallObjectDisplay;
-        
-        // Frame settings for Call2 layouts
-        TAknsItemID iFrameId;
-        TRect       iOuterRect;
-        TRect       iInnerRect;
-        
-    };
-
-
-
-#endif // BUBBLEOUTLOOK_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookBottom.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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: 
-*     Class draws the biggest bubble on the bottom of the screen
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKBOTTOM_H
-#define BUBBLEOUTLOOKBOTTOM_H
-
-// INCLUDES
-#include    "BMBubbleOutlookTwoLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookBottom container class
-*
-*  Class draws the biggest bubble on the bottom of the screen
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookBottom : public CBubbleOutlookTwoLined
-    {
-    public: // Constructors and destructor       
-
-        /**
-        * Default constructor.
-        * @param aBubbleManager The main container.
-        */
-        CBubbleOutlookBottom( CBubbleManager& aBubbleManager );
-
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookBottom();
-        
-    public: // Functions from base classes
-          
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );   
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();
-        
-    };
-
-#endif // BUBBLEOUTLOOKBOTTOM_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomCnap.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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: 
-*     Outlook class for Cnap bubble on bottom.
-*
-*/
-
-
-#ifndef CBUBBLEOUTLOOKBOTTOMCNAP_H
-#define CBUBBLEOUTLOOKBOTTOMCNAP_H
-
-//  INCLUDES
-#include "BMBubbleOutlookThreeLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  Outlook class for Cnap bubble on bottom.
-*
-*  @lib bubblemanager
-*  @since 1.2
-*/
-class CBubbleOutlookBottomCnap :public CBubbleOutlookThreeLined
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        * @param aBubbleManager Main container.
-        */
-        CBubbleOutlookBottomCnap( CBubbleManager& aBubbleManager );
-
-        /**
-        * 2nd phase constructor
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookBottomCnap();
-
-
-    public: // Functions from base classes
-          
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );   
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();
-        
-    };
-
-#endif      // CBUBBLEOUTLOOKBOTTOMCNAP_H  
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomImCnap.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Bottom outlook with 3 lines and call image
-*
-*/
-
-
-#ifndef CBUBBLEOUTLOOKBOTTOMIMAGECNAP_H
-#define CBUBBLEOUTLOOKBOTTOMIMAGECNAP_H
-
-
-#include "BMBubbleOutlookThreeLined.h"
-
-/**
- *  Bottom outlook with 3 lines and call image
- *
- *
- *  @lib BubbleManager
- *  @since S60 v5.0
- */
-class CBubbleOutlookBottomImageCnap : public CBubbleOutlookThreeLined
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        * @param aBubbleManager Main container.
-        */
-        CBubbleOutlookBottomImageCnap( CBubbleManager& aBubbleManager );
-
-        /**
-        * 2nd phase constructor
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookBottomImageCnap();
-
-
-    public: // Functions from base classes
-          
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );   
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();
-    };
-        
-#endif // CBUBBLEOUTLOOKBOTTOMIMAGECNAP_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomImage.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +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: 
-*     Class draws the large call image bubble on the bottom of the screen
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKBOTTOMIMAGE_H
-#define BUBBLEOUTLOOKBOTTOMIMAGE_H
-
-// INCLUDES
-#include    "BMBubbleOutlookTwoLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookBottomImage container class
-*
-*  Class draws the large call image bubble on the bottom of the screen
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookBottomImage : public CBubbleOutlookTwoLined
-    {
-    public: // Constructors and destructor       
-
-        /**
-        * Default constructor.
-        * @param aBubbleManager The main container.
-        */
-        CBubbleOutlookBottomImage( CBubbleManager& aBubbleManager );
-
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookBottomImage();
-        
-    public: // Functions from base classes
-          
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );   
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-    
-    private:
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-    };
-
-#endif // BUBBLEOUTLOOKBOTTOMIMAGE_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomRiCnap.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +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:  Bottom right outlook with 3 lines
-*
-*/
-
-
-#ifndef CBUBBLEOUTLOOKBOTTOMRIGHTCNAP_H
-#define CBUBBLEOUTLOOKBOTTOMRIGHTCNAP_H
-
-//  INCLUDES
-#include "BMBubbleOutlookThreeLined.h"
-
-// CLASS DECLARATION
-
-/**
- *  Bottom right outlook with 3-lines.
- *
- *
- *  @lib BubbleManager
- *  @since S60 v5.0
- */
-class CBubbleOutlookBottomRightCnap :public CBubbleOutlookThreeLined
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        * @param aBubbleManager Main container.
-        */
-        CBubbleOutlookBottomRightCnap( CBubbleManager& aBubbleManager );
-
-        /**
-        * 2nd phase constructor
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookBottomRightCnap();
-
-
-    public: // Functions from base classes
-          
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );   
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();
-        
-    };
-
-#endif // CBUBBLEOUTLOOKBOTTOMRIGHTCNAP_H  
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomRight.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +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: 
-*     Draws bubble at bottom right i.e. in two call situation the second call
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKBOTTOMRIGHT_H
-#define BUBBLEOUTLOOKBOTTOMRIGHT_H
-
-// INCLUDES
-#include    "BMBubbleOutlookTwoLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookBottomRight container class
-*
-*  Draws bubble at bottom right i.e. in two call situation the second call
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-
-class CBubbleOutlookBottomRight : public CBubbleOutlookTwoLined
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Default constructor.
-        * @param aBubbleManager Main container
-        */
-        CBubbleOutlookBottomRight( CBubbleManager& aBubbleManager );
-        
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookBottomRight();
-
-    public: // Functions from base classes
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-    private: // Functions from base classes
-          
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-        
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();        
-        
-    };
-
-#endif // BUBBLEOUTLOOKBOTTOMRIGHT_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookBottomText.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Class draws the textual CLI bubble on the bottom of the screen
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKBOTTOMTEXT_H
-#define BUBBLEOUTLOOKBOTTOMTEXT_H
-
-// INCLUDES
-#include    "BMBubbleOutlookFiveLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookBottomText container class
-*
-*  Class draws the textual CLI bubble on the bottom of the screen
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookBottomText : public CBubbleOutlookFiveLined
-    {
-    public: // Constructors and destructor       
-
-        /**
-        * Default constructor.
-        * @param aBubbleManager The main container.
-        */
-        CBubbleOutlookBottomText( CBubbleManager& aBubbleManager );
-
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookBottomText();
-        
-    public: // Functions from base classes
-          
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );   
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-    
-    private:
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * SetCallObjectTextToLabelsL
-        */
-        void SetCallObjectTextToLabelsL( const TDesC& aText,
-                                         TInt aLabelCount,
-                                         CEikLabel* aLabels[] );
-    };
-
-#endif // BUBBLEOUTLOOKBOTTOMTEXT_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookConference.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +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: 
-*     Draws expanded conference call
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKCONFERENCE_H
-#define BUBBLEOUTLOOKCONFERENCE_H
-
-// INCLUDES
-#include    <calslbs.h>
-   
-#include    "BMBubbleOutlook.h"
-#include    "BMCallHeader.h"
-#include    "BMConfPane.h"
-
-// FORWARD DECLARATIONS
-class CEikLabel;       
-class CEikImage;
-class CBubbleImageManager;
-class CConfHeader;
-
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookConference container class
-*
-*  Object handles expanded conference call.
-*
-*  @lib bubblemanager 
-*  @since 1.0
-*/
-class CBubbleOutlookConference : public CBubbleOutlook
-{
-
-    public: // Constructors and destructor
-       
-        /**
-        * Symbian OS default constructor.
-        * @param aBubbleManager Main container
-        */
-        CBubbleOutlookConference( CBubbleManager& aBubbleManager );
-
-        /**
-        * Symbian OS 2nd phase constructor.
-        * @param aCallAmount Amount of panes allocated.
-        */
-        void ConstructL( const TUint8& aCallAmount );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookConference();
-
-    public: // New functions
-    
-        /**
-        * Draws given row
-        * @param aRow Row number to be drawn.
-        */
-        void DrawRowNow( CBubbleManager::TRowNumber aRow );
-
-
-    public:// Functions from base classes
-
-        /**
-        * From CBubbleOutlook 
-        */
-        void Reset();
-
-        /**
-        * From CBubbleOutlook 
-        */
-        void ReadBubbleHeader( CBubbleHeader& aHeader );
-
-        /**
-        * From CBubbleOutlook 
-        */
-        virtual void DrawTimerCostNow();
-
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void DrawCLINow();
-
-        /**
-        * From CBubbleOutlook
-        */
-        void DrawBitmaps( CBitmapContext& aGc ) const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void HandleAnimationStartL() const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCallHeaderText();
-
-    private: // Functions from base classes
-
-       /**
-        * From CCoeControl Called when rect changes
-        */
-        void SizeChanged();
-
-       /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-
-       /**
-        * From CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-       /**
-        * From CCoeControl
-        */
-        void Draw( const TRect& aRect ) const;
-
-       /**
-        * From CCoeControl
-        */ 
-        void CBubbleOutlookConference::HandlePointerEventL
-            ( const TPointerEvent& aPointerEvent );
-
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * DoCall4Layout
-        */            
-        void DoCall4LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();
-
-    private: //data
-
-        // call amount in conference
-        TUint8 iPaneAmount; 
-
-        // all the information
-        CBubbleConfHeader* iHeader; 
-
-        // speech bubble image
-        CEikImage* iBubble; 
-        // Timer control
-        CEikLabel* iTimerCost; 
-
-        // for drawing
-        CArrayPtrFlat<CBubbleConfPane>* iConfPanes; 
-        // for fetching info
-        CArrayPtrFlat<CBubbleCallHeader>* iCalls; 
-        
-    private:
-
-        friend class CT_CBubbleOutlookConference;
-    
-};
-
-#endif // BUBBLEOUTLOOKCONFERENCE_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookFiveLined.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +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:  Outlook base class for five lined bubbles
-*
-*/
-
-
-
-#ifndef CBUBBLEOUTLOOKFIVELINED_H
-#define CBUBBLEOUTLOOKFIVELINED_H
-
-//  INCLUDES
-#include <calslbs.h>
-#include "BMBubbleOutlook.h"
-#include "BMBubbleManager.h"
-#include "BMUtils.h"
-
-// FORWARD DECLARATIONS
-class CEikImage;
-class CEikLabel;
-class CBubbleImageManager;
-class CBubbleHeader;
-class CTelBubbleCustomElement;
-
-
-// CLASS DECLARATION
-
-/**
-*  Outlook base class for five lined bubbles
-*
-*  @lib bubblemanager
-*  @since Series60_1.2
-*/
-class CBubbleOutlookFiveLined :public CBubbleOutlook
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookFiveLined();
-
-    public: // Functions from base classes
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void Reset();
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawTimerCostNow();
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCLINow();
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawBitmaps( CBitmapContext& aGc ) const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void HandleAnimationStartL() const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCallHeaderText();
-
-    private:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void SizeChanged() = 0;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual TInt CountComponentControls( ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void Draw( const TRect& aRect ) const;
-        
-    protected:
-
-        /**
-        * C++ default constructor.
-        * @param aBubbleManager Main container
-        */
-        CBubbleOutlookFiveLined( CBubbleManager& aBubbleManager );
-
-        /**
-        * 2nd phase constructor
-        */
-        void ConstructL();
-        
-    protected:    // Data
-        // Current header
-        CBubbleHeader* iHeader;
-        // Text line number
-        TUint8 iTextLineNumber;
-        
-        // Bubble image
-        CEikImage* iBubble;
-        
-        // Big call indication / customized
-        CTelBubbleCustomElement* iBigCallIndicator;
-        // Small call indication
-        CTelBubbleCustomElement* iSmallCallIndication;
-        // Number type
-        CTelBubbleCustomElement* iNumberType;
-        // Call type indicator #1
-        CEikImage* iTypeIndication1;
-        // Call type indicator #2
-        CEikImage* iTypeIndication2;
-        // Cyph off
-        CEikImage* iCyphOffImage;
-                
-        // tn shadow
-        TBubbleLayoutRect iTnImageShadow;
-
-        // tn
-        CEikImage* iTnImage;
-        
-        // 1st line label
-        mutable CEikLabel* iTextLine1; // Text will be clipped and placed in 
-        // 2nd line label
-        mutable CEikLabel* iTextLine2; // Draw() const method.
-        // 3rd line label
-        mutable CEikLabel* iTextLine3;
-        // 3rd line label
-        mutable CEikLabel* iTextLine4;
-        // 3rd line label
-        mutable CEikLabel* iTextLine5;
-        // Original buffer
-        TPtrC iFullText1; 
-        // Original buffer
-        TPtrC iFullText2;
-        // Original buffer
-        TPtrC iFullText3;
-        // Original buffer
-        TPtrC iFullText4;
-        // Original buffer
-        TPtrC iFullText5;
-        // clip dir
-        CBubbleManager::TPhoneClippingDirection iText1ClipDirection;
-        // clip dir
-        CBubbleManager::TPhoneClippingDirection iText2ClipDirection;
-        // clip dir
-        CBubbleManager::TPhoneClippingDirection iText3ClipDirection;
-        // Timer/cost label
-        CEikLabel* iTimerCost;
-        // Three lines of call text layout
-        TBool iThreeLinedLayout;                                         
-    
-    };
-
-#endif      // CBUBBLEOUTLOOKFIVELINED_H
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookHide.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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: 
-*     Draws hiding bubble on top
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKTOPHIDE_H
-#define BUBBLEOUTLOOKTOPHIDE_H
-
-// INCLUDES
-#include    <calslbs.h>
-#include    "BMBubbleOutlook.h"
-
-// FORWARD DECLARATIONS
-class CEikLabel; 
-class CEikImage;
-class CBubbleImageManager;
-class CBubbleHeader;
-
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookHide container class
-*
-*  Draws hiding bubble on top
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookHide : public CBubbleOutlook  
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Default constructor.
-        * @param aBubbleManager Main container
-        */
-        CBubbleOutlookHide( CBubbleManager& aBubbleManager );
-        
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookHide();
-
-    public: // Functions from base classes
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void Reset( );
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void DrawTimerCostNow();
-        
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void DrawCLINow();
-
-        /**
-        * From CBubbleOutlook
-        */
-        void DrawBitmaps( CBitmapContext& aGc ) const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void HandleAnimationStartL() const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCallHeaderText();
-        
-    private: // Functions from base classes
-             
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-        
-        
-    private: //data
-        
-        // Bubble image
-        CEikImage* iBubble;
-    };
-
-#endif // BUBBLEOUTLOOKTOPHIDE_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookMiddle.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +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: 
-*     Draws bubble in middle i.e. in two call situation the first call
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKMIDDLE_H
-#define BUBBLEOUTLOOKMIDDLE_H
-
-// INCLUDES
-#include    "BMBubbleOutlookTwoLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookMiddle container class
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookMiddle : public CBubbleOutlookTwoLined
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Default constructor.
-        * @param aBubbleManager Main container
-        */
-        CBubbleOutlookMiddle( CBubbleManager& aBubbleManager );
-        
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookMiddle();
-
-    public: //member functions
-        
-        /**
-        * Set bubble go under. For example active bubble can be under or on top 
-        * of bottom right bubble. There is only one line shadow in 'under bubble'.
-        * @param aIsUnder ETrue puts bubble under the second call.
-        */
-        void SetIsUnder( const TBool& aIsUnder );
-
-    public: // Functions from base classes
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void Reset( );
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-        
-    private: // Functions from base classes
-                
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-        
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2Layout (may leave!)
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();        
-        
-    private: //data
-        
-        // Is under or on top of bottom right bubble
-        TBool iIsUnder;
-
-    };
-
-#endif // BUBBLEOUTLOOKMIDDLE_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookMiddleCnap.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +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: 
-*     Outlook class for Cnap bubble on bottom.
-*
-*/
-
-
-#ifndef CBUBBLEOUTLOOKMIDDLECNAP_H
-#define CBUBBLEOUTLOOKMIDDLECNAP_H
-
-//  INCLUDES
-#include "BMBubbleOutlookThreeLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  Outlook class for Cnap bubble on bottom.
-*
-*  @lib bubblemanager
-*  @since 1.2
-*/
-class CBubbleOutlookMiddleCnap :public CBubbleOutlookThreeLined
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * C++ default constructor.
-        * @param aBubbleManager Main container.
-        */
-        CBubbleOutlookMiddleCnap( CBubbleManager& aBubbleManager );
-
-        /**
-        * 2nd phanse constructor
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookMiddleCnap();
-
-
-    public: // Functions from base classes
-          
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );   
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();
-        
-    };
-
-#endif      // CBUBBLEOUTLOOKMIDDLECNAP_H  
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookNE.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,329 +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: 
-*     Handles number entry component
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKNE_H
-#define BUBBLEOUTLOOKNE_H
-
-// INCLUDES
-#include    <calslbs.h>
-#include    "BMBubbleOutlook.h"
-
-// FORWARD DECLARATIONS
-class CEikLabel; 
-class CEikImage;
-class CBubbleImageManager;
-class CBubbleHeader;
-class CAknPhoneNumberEditor;
-class CAknsBasicBackgroundControlContext;
-class CEikStatusPane;
-class CAknsFrameBackgroundControlContext;
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookNumberEntry container class
-*
-*  Handles number entry component
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookNumberEntry : public CBubbleOutlook, 
-                                  public MCoeControlObserver
-    {
-    public:
-        
-        // Place on the screen
-        enum TPhoneNumberEntryPlace
-            {
-            ENENone,
-            ENEBottom,         // NE + multiple calls
-            ENEBottomRight,    // NE + single call
-            ENEIdleState       // NE in idle state
-            };
-        
-    public: // Constructors and destructor
-        
-        /**
-        * Default constructor.
-        * @param aBubbleManager Main container
-        * @param aMutedImage Muted image pointer. This needs refresh when row
-        *                    amount is changed.
-        */
-        CBubbleOutlookNumberEntry( CBubbleManager& aBubbleManager,
-                                   const CCoeControl& aMutedImage );
-
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookNumberEntry();
-
-    public: // New functions
-
-        /**
-        * Set number entry in use.
-        * @param aIsUsed ETrue if put to use.
-        */
-        void SetIsUsed( const TBool& aIsUsed );
-
-        /**
-        * Is number entry in use.
-        * @return ETrue if in use.
-        */
-        TBool IsUsed() const;
-
-        /**
-        * Set number entry place.
-        * @param aPlace Palce enumeration.
-        */
-        void SetPlace( const TPhoneNumberEntryPlace& aPlace );
-
-        /**
-        * Get number entry place
-        * @return Place enumeration.
-        */
-        TPhoneNumberEntryPlace Place() const;
-
-        /**
-        * Get editor component.
-        * @return The editor.
-        */
-        CCoeControl* GetEditor( ) const;
-
-        /**
-        * Set text in number entry.
-        * @param aDesC Text to in.
-        */
-        void SetText( const TDesC& aDesC );
-        
-        /**
-        * Get number entry text string.
-        * @param aDesC Descriptor where the text is set to.
-        */
-        void GetText( TDes& aDesC ); 
-        
-        /**
-        * Set number entry's editor mode.
-        * @since 3.0
-        * @param aMode for number editor input mode.
-        * @return Input mode of the editor.
-        */
-        TInt ChangeEditorMode( TBool aDefaultMode = EFalse );
-        
-        /**
-        * Get number entry's editor mode.
-        * @since 3.0
-        * @return Input mode of the editor.
-        */
-        TInt GetEditorMode() const;
-        
-        /**
-        * Resets number entry editor to default values.
-        * @since 3.0
-        */
-        void ResetEditorToDefaultValues();
-        
-    public: // Functions from base classes
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void Reset( );
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void DrawTimerCostNow();
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void DrawCLINow();
-
-        /**
-        * From CBubbleOutlook
-        */
-        void DrawBitmaps( CBitmapContext& aGc ) const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void HandleAnimationStartL() const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void ReleaseBitmaps();
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void RebuildBitmaps();
-
-         /**
-        * Update call header text and redraw it.
-        */
-        virtual void DrawCallHeaderText();
-
-    private: // Functions from base classes
-          
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-        
-        /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * From CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From MCoeControlObserver
-        */
-        void HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType );
-       
-        /**
-        * From CCoeControl
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                     TEventCode aType );
-          
-        /**
-        * From CCoeControl
-        */
-        void FocusChanged( TDrawNow aDrawNow );
-
-        /**
-        * From CCoeControl
-        */
-        TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-
-        /**
-        * From CCoeControl
-        */
-        virtual void Draw( const TRect& aRect ) const;
-
-    private: // New functions
-
-        /**
-        * Construct and layout the editor.
-        * @param aReader a resource reader.
-        * @since Series60_2.8
-        * @return None.
-        */
-        void ConstructEditorFromResourceAndLayoutL( TResourceReader& aReader );
-
-        /**
-        * Get number entry rect.
-        * @param aIndex a layout index.
-        * @param aColor number entry text color value.
-        * @return the rect of the number entry.
-        * @since Series60_2.8
-        */
-        TRect NumberEntryRect( TInt aIndex, TRgb& aColor );
-
-        /**
-        * Update existing formats.
-        */
-        void UpdateEditorFormats( TPhoneNumberEntryPlace aPlace );
-
-        /**
-        * Update phone number editor skin color.
-        */
-        void UpdateEditorColor( const TRgb aColor );
-        
-        /**
-        * SetPlace for 1-piece graphics
-        */
-        void SetPlace1( const TPhoneNumberEntryPlace& aPlace );
-        
-        /**
-        * SetPlace for 9-piece graphics
-        */
-        void SetPlace2( const TPhoneNumberEntryPlace& aPlace );
-        
-        /**
-        * SizeChanged for 1-piece graphics
-        */
-        void SizeChanged1();
-        
-        /**
-        * SizeChanged for 9-piece graphics
-        */
-        void SizeChanged2();
-             
-        /**
-         * Updates editor
-         * 
-         */
-        void UpdateAndDrawEditor();
-        
-    private: //data
-        
-        // The editor component
-        CAknPhoneNumberEditor* iEditor;
-        
-        // Muted image
-        const CCoeControl& iMutedImage;
-
-        // Current place
-        TPhoneNumberEntryPlace iPlace;
-        // Is NE used
-        TBool iIsUsed;
-        
-        // Bubble graphics
-        CEikImage* iBubble;
-
-        // Last event
-        TInt iLastEvent;
-        // Was NE focused before
-        TInt iWasFocused;
-
-        // Skin control context for the editor (1-piece)
-        CAknsBasicBackgroundControlContext* iSkinContext;
-        
-        // Skin control context for the editor (9-piece)
-        CAknsFrameBackgroundControlContext* iFrameContext;
-
-        // Amount of formats for updating.
-        TInt iFormatCount;
-
-        // Pointer to status pane.
-        CEikStatusPane* iStatusPane; 
-        
-    };
-
-#endif // BUBBLEOUTLOOKNE_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookOneLined.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +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: 
-*     Base class for big bubbles (bottom, bottom right, middle).
-*
-*/
-
-
-#ifndef CBUBBLEOUTLOOKONELINED_H
-#define CBUBBLEOUTLOOKONELINED_H
-
-//  INCLUDES
-#include <calslbs.h>
-#include "BMBubbleOutlook.h"
-#include "BMBubbleManager.h"
-
-// FORWARD DECLARATIONS
-class CBubbleHeader;
-class CEikLabel; 
-class CEikImage;
-class CBubbleImageManager;
-class CBubbleAnimationControl;
-class CTelBubbleCustomElement;
-// CLASS DECLARATION
-
-/**
-*  Base class for big bubbles (bottom, bottom right, middle).
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookOneLined : public CBubbleOutlook
-    {
-    public:  // Destructor
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookOneLined();
-        
-    protected: // Constructors
-
-        /**
-        * C++ default constructor.
-        * @param aBubbleManager Main container
-        */
-        CBubbleOutlookOneLined( CBubbleManager& aBubbleManager );
-
-        /**
-        * 2nd phase constructor
-        */
-        void ConstructL();
-
-    public: // Functions from base classes
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void Reset();
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawTimerCostNow();
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCLINow();
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawBitmaps( CBitmapContext& aGc ) const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void HandleAnimationStartL() const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void ReleaseBitmaps();
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void RebuildBitmaps();
-
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCallHeaderText();
-
-    private:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void SizeChanged( ) = 0;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual TInt CountComponentControls( ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void Draw( const TRect& aRect ) const;
-        
-    private: // New functions
-
-        /**
-        * Draw Call1 bitmaps
-        */
-        void DrawCall1Bitmaps( CBitmapContext& aGc ) const;
-
-        /**
-        * Draw Call2 bitmaps
-        */
-        void DrawCall2Bitmaps( CBitmapContext& aGc ) const;
-
-    protected:  // Data
-
-        // Current call header
-        CBubbleHeader* iHeader;
-        
-        // Bubble image
-        CEikImage* iBubble;
-
-        // Small call indication
-        CTelBubbleCustomElement* iSmallCallIndication;
-        
-        // Type indication #1
-        CEikImage* iTypeIndication1;
-        // Type indication #2
-        CEikImage* iTypeIndication2;
-        // Cyphering off indication
-        CEikImage* iCyphOffImage;
-        
-        // Text label
-        mutable CEikLabel* iTextLine1;
-        // Pointer to original text.
-        TPtrC iFullText1;
-        // Clipping direction
-        CBubbleManager::TPhoneClippingDirection iText1ClipDirection;
-    };
-
-#endif      // CBUBBLEOUTLOOKONELINED_H
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookThreeLined.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +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:  Outlook base class for three lined bubbles
-*
-*/
-
-
-
-#ifndef CBUBBLEOUTLOOKTHREELINED_H
-#define CBUBBLEOUTLOOKTHREELINED_H
-
-//  INCLUDES
-#include <calslbs.h>
-#include "BMBubbleOutlook.h"
-#include "BMBubbleManager.h"
-#include "BMUtils.h"
-
-// FORWARD DECLARATIONS
-class CEikImage;
-class CEikLabel;
-class CBubbleImageManager;
-class CBubbleHeader;
-class CTelBubbleCustomElement;
-
-// CLASS DECLARATION
-
-/**
-*  Outlook base class for three lined bubbles
-*
-*  @lib bubblemanager
-*  @since Series60_1.2
-*/
-class CBubbleOutlookThreeLined :public CBubbleOutlook
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookThreeLined();
-
-    public: // Functions from base classes
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void Reset();
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawTimerCostNow();
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCLINow();
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawBitmaps( CBitmapContext& aGc ) const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void HandleAnimationStartL() const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCallHeaderText();
-
-    private:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void SizeChanged() = 0;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual TInt CountComponentControls( ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void Draw( const TRect& aRect ) const;
-        
-    protected:
-
-        /**
-        * C++ default constructor.
-        * @param aBubbleManager Main container
-        */
-        CBubbleOutlookThreeLined( CBubbleManager& aBubbleManager );
-
-        /**
-        * 2nd phase constructor
-        */
-        void ConstructL();
-        
-    private: // New functions
-
-        /**
-        * Draw Call1 bitmaps
-        */
-        void DrawCall1Bitmaps( CBitmapContext& aGc ) const;
-        
-        /**
-        * Draw Call2 bitmaps
-        */
-        void DrawCall2Bitmaps( CBitmapContext& aGc ) const;
-
-
-    protected:    // Data
-        // Current header
-        CBubbleHeader* iHeader;
-        // Text line number
-        TUint8 iTextLineNumber;
-        
-        // Bubble image
-        CEikImage* iBubble;
-        
-        // Big call indication / customized
-        CTelBubbleCustomElement* iBigCallIndicator;
-        // Small call indication
-        CTelBubbleCustomElement* iSmallCallIndication;
-        // Number type
-        CTelBubbleCustomElement* iNumberType;
-        // Call type indicator #1
-        CEikImage* iTypeIndication1;
-        // Call type indicator #2
-        CEikImage* iTypeIndication2;
-        // Cyph off
-        CEikImage* iCyphOffImage;
-                
-        // tn shadow
-        TBubbleLayoutRect iTnImageShadow;
-
-        // tn
-        CEikImage* iTnImage;
-        
-        // 1st line label
-        mutable CEikLabel* iTextLine1; // Text will be clipped and placed in 
-        // 2nd line label
-        mutable CEikLabel* iTextLine2; // Draw() const method.
-        // 3rd line label
-        mutable CEikLabel* iTextLine3;
-        // Original buffer
-        TPtrC iFullText1; 
-        // Original buffer
-        TPtrC iFullText2;
-        // Original buffer
-        TPtrC iFullText3;
-        // clip dir
-        CBubbleManager::TPhoneClippingDirection iText1ClipDirection;
-        // clip dir
-        CBubbleManager::TPhoneClippingDirection iText2ClipDirection;
-        // clip dir
-        CBubbleManager::TPhoneClippingDirection iText3ClipDirection;
-
-        // Timer/cost label
-        CEikLabel* iTimerCost;
-        // Brand image
-        CTelBubbleCustomElement* iBrandImage;
-    };
-
-#endif      // CBUBBLEOUTLOOKTHREELINED_H
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookTopLeft.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Draw bubble on top i.e. in three call situation the first call
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKTOPLEFT_H
-#define BUBBLEOUTLOOKTOPLEFT_H
-
-// INCLUDES
-#include    "BMBubbleOutlookOneLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookTopLeft container class
-*
-*  Draw bubble on top i.e. in three call situation the first call
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookTopLeft : public CBubbleOutlookOneLined
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Default constructor.
-        * @param aBubbleManager Main container.
-        */
-        CBubbleOutlookTopLeft( CBubbleManager& aBubbleManager);
-        
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookTopLeft();
-
-    public: // Functions from base classes
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-        
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();        
-        
-    };
-
-#endif // BUBBLEOUTLOOKTOPLEFT_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookTopRight.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     Handle the bubble in top rigth i.e. in three call situation the second call
-*
-*/
-
-
-#ifndef BUBBLEOUTLOOKTIORIGHT_H
-#define BUBBLEOUTLOOKTIORIGHT_H
-
-// INCLUDES
-#include    "BMBubbleOutlookOneLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookTopRight container class
-*
-*  Handle the bubble in top rigth i.e. in three call situation the second call
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookTopRight : public CBubbleOutlookOneLined
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Default constructor.
-        * @param aBubbleManager Main container
-        */
-        CBubbleOutlookTopRight( CBubbleManager& aBubbleManager );
-        
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookTopRight();
-
-    public: // Functions from base classes
-
-        /**
-        * From CBubbleOutlook
-        */
-        void ReadBubbleHeader( CBubbleHeader& aHeader );
-           
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-        
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2LayoutL
-        */            
-        void DoCall2LayoutL();
-        
-        /**
-        * GetCall1BubbleBitmaps
-        */
-        void GetCall1BubbleBitmaps();        
-        
-    };
-
-#endif // BUBBLEOUTLOOKTIORIGHT_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookTwoLined.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +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: 
-*     Base class for big bubbles (bottom, bottom right, middle).
-*
-*/
-
-
-#ifndef CBUBBLEOUTLOOKTWOLINED_H
-#define CBUBBLEOUTLOOKTWOLINED_H
-
-//  INCLUDES
-#include <calslbs.h>
-#include "BMBubbleOutlook.h"
-#include "BMBubbleManager.h"
-#include "BMUtils.h"
-
-// FORWARD DECLARATIONS
-class CBubbleHeader;
-class CEikLabel; 
-class CEikImage;
-class CBubbleImageManager;
-class CBubbleAnimationControl;
-class CTelBubbleCustomElement;
-
-// CLASS DECLARATION
-
-/**
-*  Base class for big bubbles (bottom, bottom right, middle).
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleOutlookTwoLined : public CBubbleOutlook
-    {
-    public:  // Destructor
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookTwoLined();
-        
-    protected: // Constructors
-
-        /**
-        * C++ default constructor.
-        * @param aBubbleManager Main container
-        */
-        CBubbleOutlookTwoLined( CBubbleManager& aBubbleManager );
-
-        /**
-        * By default Symbian OS constructor is private.
-        */
-        void ConstructL();
-        
-    public: // Functions from base classes
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void Reset( );
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawTimerCostNow();
-        
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCLINow();
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawBitmaps( CBitmapContext& aGc ) const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void HandleAnimationStartL() const;
-
-        /**
-        * From CBubbleOutlook.
-        */
-        virtual void DrawCallHeaderText();
-        
-    private:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void SizeChanged( ) = 0;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual TInt CountComponentControls( ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From CCoeControl
-        */
-        virtual void Draw( const TRect& aRect ) const;
-        
-    private: // New functions
-
-        /**
-        * Draw Call1 bitmaps
-        */
-        void DrawCall1Bitmaps( CBitmapContext& aGc ) const;
-        
-        /**
-        * Draw Call2 bitmaps
-        */
-        void DrawCall2Bitmaps( CBitmapContext& aGc ) const;
-
-    protected:  // Data
-
-        // Current header
-        CBubbleHeader* iHeader;
-        // Line number where the label is set
-        TUint8 iTextLineNumber;
-        
-        // Bubble image
-        CEikImage* iBubble;
-        
-        // Big call indication / customized
-        CTelBubbleCustomElement* iBigCallIndicator;
-        // Small call indication
-        CTelBubbleCustomElement* iSmallCallIndication;
-        // Number type
-        CTelBubbleCustomElement* iNumberType;
-        // Call type indicator #1
-        CEikImage* iTypeIndication1;
-        // Call type indicator #2
-        CEikImage* iTypeIndication2;
-        // Cyphering off
-        CEikImage* iCyphOffImage;
-
-        // tn shadow
-        TBubbleLayoutRect iTnImageShadow;
-        
-        // Thumbnail image
-        CEikImage* iTnImage;
-
-        // 1st line label
-        mutable CEikLabel* iTextLine1; // Text will be clipped and placed in 
-        // 2nd line text
-        mutable CEikLabel* iTextLine2; // Draw() const method.
-        // Original buffer
-        TPtrC iFullText1; 
-        // Original buffer
-        TPtrC iFullText2;
-        // Clip dir
-        CBubbleManager::TPhoneClippingDirection iText1ClipDirection;
-        // Clip dir
-        CBubbleManager::TPhoneClippingDirection iText2ClipDirection;
-        
-        // Timer cost
-        CEikLabel* iTimerCost;
-        // Brand image.
-        CTelBubbleCustomElement* iBrandImage;
-    };
-
-#endif      // CBUBBLEOUTLOOKTWOLINED_H
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookVideo.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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:  Bubble outlook video ringtone.
-*
-*/
-
-
-#ifndef C_BUBBLEOUTLOOKVIDEO_H
-#define C_BUBBLEOUTLOOKVIDEO_H
-
-#include    "BMBubbleOutlookTwoLined.h"
-
-/**
- *  Bubble outlook video ringtone.
- *
- *  @lib BubbleManager
- *  @since S60 v3.2
- */
- class CBubbleOutlookVideo : public CBubbleOutlookTwoLined
-    {
-    public: // Constructors and destructor       
-        /**
-        * Default constructor.
-        * @param aBubbleManager The main container.
-        */
-        CBubbleOutlookVideo( CBubbleManager& aBubbleManager );
-
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookVideo();
-        
-    public: // Functions from base classes
-          
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void DrawBitmaps( CBitmapContext& aGc ) const;
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-    private:
-        void LayoutVideoPanes( const TRect& aParentRect );        
-        
-    private:
-        TRect iLineRect;
-    };
- 
-#endif // C_BUBBLEOUTLOOKVIDEO_H
--- a/phoneuis/BubbleManager/Inc/BMBubbleOutlookVideoCnap.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Bubble outlook video ringtone.
-*
-*/
-
-
-#ifndef C_BUBBLEOUTLOOKVIDEOCNAP_H
-#define C_BUBBLEOUTLOOKVIDEOCNAP_H
-
-// INCLUDES
-#include    "BMBubbleOutlookThreeLined.h"
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleOutlookVideo container class
-*
-*  Class draws the video ringtone bubble.
-*
-*  @lib bubblemanager
-*  @since 3.2
-*/
-class CBubbleOutlookVideoCnap : public CBubbleOutlookThreeLined
-    {
-    public: // Constructors and destructor       
-        /**
-        * Default constructor.
-        * @param aBubbleManager The main container.
-        */
-        CBubbleOutlookVideoCnap( CBubbleManager& aBubbleManager );
-
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleOutlookVideoCnap();
-        
-    public: // Functions from base classes
-          
-        /**
-        * From CBubbleOutlook
-        */
-        virtual void ReadBubbleHeader( CBubbleHeader& aHeader );
-        
-        /**
-        * From CBubbleOutlook
-        */
-        void DrawBitmaps( CBitmapContext& aGc ) const;
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-        
-    private:
-        void LayoutVideoPanes( const TRect& aParentRect );        
-
-    private:
-        TRect iLineRect;
-    };
-
-#endif // C_BUBBLEOUTLOOKVIDEOCNAP_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubblePlace.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +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: 
-*     Handles single place on screen.
-*     One place may contain several popup windows from LAF
-*
-*/
- 
-
-#ifndef BUBBLEPLACE_H
-#define BUBBLEPLACE_H
-
-// INCLUDES  
-#include <coecntrl.h>
-#include <bldvariant.hrh>
-
-// FORWARD DECLARATIONS
-class CBubbleManager;
-class CBubbleImageManager;
-class CBubbleOutlook;
-
-
-// CLASS DECLARATION
-
-/**
-*  CBubblePlace container class
-*
-*  Handles single place on screen.
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubblePlace : public CCoeControl 
-    {
-    public:
-        
-        // Place enums
-        enum TPhoneBubblePlace
-            {
-            EBottom = 0,
-            EBottomRightActive, 
-            EBottomRightHeld,
-            EMiddleActive,
-            EMiddleHeld,
-            ETopLeft,
-            ETopRight,
-            EHide,
-            E2InConf,
-            E3InConf,
-            E4InConf,
-            E5InConf,
-            EBottomText, // Call object text
-            EBottomImage, // Call object image
-            EVideo,
-            EBottomCnap,
-            EMiddleCnap,
-            EVideoCnap,
-            EBottomRightCnap,
-            EBottomImageCnap, // 19
-            EBottomRightActiveTouch,
-            EBottomRightActiveCnapTouch,
-            EMiddleHeldTouch // 22
-            };
-        
-    public: // Constructors and destructor
-        
-        /**
-        * Symbian OS 2nd phase constructor.
-        * @param aBubblePlace Current place
-        * @param aBubbleManager Main container
-        */
-        void ConstructL( const TPhoneBubblePlace& aBubblePlace,
-                          CBubbleManager& aBubbleManager );
-        
-        /**
-        * Destructor.
-        */
-        ~CBubblePlace();
-        
-    public: //member functions
-        
-        /**
-        * Set current place in use.
-        * @param aIsUsed ETrue if set in use.
-        */
-        void SetIsUsed( const TBool& aIsUsed );
-        
-        /**
-        * Query is used?
-        * @return is used.
-        */
-        TBool IsUsed( ) const;
-        
-        /**
-        * Get current place.
-        * @return The place enumeration.
-        */
-        TPhoneBubblePlace GetBubblePlace( ) const;
-        
-        /**
-        * Get current outlook component. Abstraction!
-        * @return BubbleOutlook, not always in use!
-        */
-        CBubbleOutlook& GetBubbleOutlook( ) const;
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-        /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * From CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        
-    private: //data
-        
-        // Current place
-        TPhoneBubblePlace iBubblePlace;
-        // Current outlook
-        CBubbleOutlook* iBubbleOutlook;
-        // Is place in use?
-        TBool iIsUsed;
-
-    private:
-
-        friend class CT_CBubblePlace;
-        
-    };
-
-#endif // BUBBLEPLACE_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleSkinBitmap.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* 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:  This class handles skinned bitmaps
-*
-*/
-
-
-
-#ifndef BUBBLESKINBITMAP_H
-#define BUBBLESKINBITMAP_H
-
-// INCLUDES
-#include    <e32base.h>
-#include    <AknsItemID.h>
-#include    <AknsConstants.h>
-
-// FORWARD DECLARATIONS
-class CEikImage;   
-class CFbsBitmap;
-
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleSkinBitmap class
-*  This class stores bitmap information.
-*
-*  @since Series60_2.8
-*/
-class CBubbleSkinBitmap : public CBase
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Constructor.
-        */
-        CBubbleSkinBitmap();
-
-        /**
-        * Destructor.
-        */
-        ~CBubbleSkinBitmap();
-
-    public: // New functions
-
-        /**
-        * Set skinned bitmap.
-        * @param aSkinnedBitmap Pointer to the skinned bitmap.
-        * @return None.
-        */
-        void SetSkinnedBitmap( CFbsBitmap* aSkinnedBitmap );
-
-        /**
-        * Get skinned bitmap.
-        * @return the pointer to the skinned bitmap.
-        */
-        CFbsBitmap* SkinnedBitmap() const;
-        
-        /**
-        * Set skinned bitmap mask.
-        * @param aSkinnedBitmapMask Pointer to the skinned bitmap mask.
-        * @return None.
-        */
-        void SetSkinnedMask( CFbsBitmap* aSkinnedMask );
-
-        /**
-        * Get skinned bitmap mask.
-        * @return the pointer to the skinned bitmap mask.
-        */
-        CFbsBitmap* SkinnedMask() const;
-
-        /**
-        * Set bitmap skin item ID.
-        * @param aItemID Bitmap skin item ID.
-        * @return None.
-        */
-        // void SetBitmapSkinItemID( const TAknsItemID& aItemID );
-
-        /**
-        * Get bitmap skin item ID.
-        * @return bitmap skin item ID.
-        */
-        // TAknsItemID BitmapSkinItemID() const;
-
-        /**
-        * Set bitmap index in the mbm file.
-        * @param aBitmapIndex Bitmap index.
-        * @return None.
-        */
-        void SetBitmapIndex( const TInt& aBitmapIndex );
-
-        /**
-        * Get bitmap index in the mbm file.        
-        * @return bitmap index.
-        */
-        TInt BitmapIndex() const;
-
-    private: // Data     
-
-        // Reference bitmap skin item ID.
-        // TAknsItemID iItemId;
-
-        // Reference bitmap index in mbm file.
-        TInt iBitmapIndex;
-
-        // Pointer to the skinned bitmap.
-        CFbsBitmap* iSkinnedBitmap;
-
-        // Pointer to the skinned bitmap mask.
-        CFbsBitmap* iSkinnedMask;               
-    };
-
-#endif // BUBBLESKINBITMAP_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMBubbleVideoContainer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:  Video Ringing Tone / Video window (DSA)
-*
-*/
-
-
-
-#ifndef CBUBBLEVIDEOCONTAINER_H
-#define CBUBBLEVIDEOCONTAINER_H
-
-//  INCLUDES
-#include <coecntrl.h>
-#include <AknsDrawUtils.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  Video Ringing Tone / Video window (DSA)
-*
-*  @lib BubbleManager
-*  @since Series 60 3.1
-*/
-class CBubbleVideoContainer : public CCoeControl
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CBubbleVideoContainer* NewL( const CCoeControl* aParent );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleVideoContainer();
-
-    public: // New functions
-        
-        /**
-        * Get window handle.
-        * @since Series 60 3.1
-        * @return Window handle
-        */
-        RWindow& GetWindow() const;
-        
-        /**
-        * Set parameters needed to draw this control.
-        * @since Series 60 3.1
-        * @param aFrameId Skin id of the frame.
-        * @param aOuterRect Outer frame rectangle.
-        * @param aInnerRect Inner frame rectangle.
-        */
-        void SetBackgroundFrame( const TAknsItemID& aFrameId,
-                                 TRect& aOuterRect,
-                                 TRect& aInnerRect );
-                                 
-        /**
-        * Sets redraw disabled/enabled.
-        * Video player draws this area, when video is playing.
-        * @since Series 60 3.2
-        * @param aDisabled ETrue if redrawing is set disabled.
-        */
-        void SetRedrawDisabled( TBool aDisabled );
-
-    private: // From CCoeControl
-        /**
-        * Draw
-        */
-        void Draw( const TRect& aRect ) const;
-       
-        /**
-        * SizeChanged
-        */
-        void SizeChanged();
-        
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CBubbleVideoContainer();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-        
-        /**
-        * C++ constructor
-        */
-        CBubbleVideoContainer(  const CCoeControl* aParent );
-
-    private:    // Data
-        // Parent control
-        const CCoeControl* iParent;
-        // Background frame parameters.
-        TAknsItemID iFrameId;
-        TRect iFrameOuterRect;
-        TRect iFrameInnerRect; 
-        // Redrawing flag
-        TBool iRedrawDisabled;
-    };
-
-#endif      // CBUBBLEVIDEOCONTAINER_H   
-            
-// End of File
-
--- a/phoneuis/BubbleManager/Inc/BMCallHeader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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: 
-*     Concrete class which helds all the info about single call
-*
-*/
-
-
-#ifndef CALLHEADER_H
-#define CALLHEADER_H
-
-// INCLUDES
-#include  "BMBubbleHeader.h"
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleCallHeader class
-*
-*  Concrete class which helds all the info about single call.
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-
-class CBubbleCallHeader : public CBubbleHeader
-    {
-    
-    public: // Constructors and destructor
-        
-        /**
-        * two phase constructor
-        * @param aBubbleId Id of the call header.
-        * @return New instance.
-        */
-        static CBubbleCallHeader* NewL( 
-            const CBubbleManager::TBubbleId& aBubbleId );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleCallHeader();
-        
-    public: // Functions from base classes
-
-        /**
-        * From CBubbleHeader.
-        */
-        virtual TBool IsUsed() const;
-
-        /**
-        * From CBubbleHeader
-        */
-        virtual void SetIsUsed( const TBool& aIsUsed );
-
-        /**
-        * From CBubbleHeader
-        */
-        virtual TBool IsConference() const;
-
-        /**
-        * From CBubbleHeader
-        */
-        virtual void Reset();
-        
-    private: // private functions
-
-        /**
-        * Default constructor.
-        */
-        CBubbleCallHeader();
-
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL( const CBubbleManager::TBubbleId& aBubbleId );
-        
-    private: //data
-        // Is header in use?
-        TBool iIsUsed;
-
-    private:
-        friend class CT_CBubbleCallHeader;
-               
-    };
-
-#endif //CALLHEADER_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMCallObjectManager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +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:  Controls call object loading.
-*
-*/
-
-
-
-#ifndef CBUBBLECALLOBJECTMANAGER_H
-#define CBUBBLECALLOBJECTMANAGER_H
-
-//  INCLUDES
-#include <gdi.h>
-#include <gulicon.h>
-#include <avkon.hrh>
-
-#include "BMBubbleManager.h"
-#include "BMMediaReaderObserver.h"
-
-// CONSTANTS
-
-// DATA TYPES
-
-// FORWARD DECLARATIONS
-class CIdle;
-class MBubbleMediaReader;
-class CImageManager;
-
-// CLASS DECLARATION
-
-/**
-*  Controls call object loading.
-*
-*  @lib BubbleManager.lib
-*  @since Series 60 3.0
-*/
-class CBubbleCallObjectManager : public CBase,
-                                 public MBubbleMediaReaderObserver
-    {
-    public:
-        class TImageLoadingParams
-            {
-            public:
-                // Source fills the main pane.
-                TSize iPreferredSize;
-                // Source image is smaller than main pane.
-                TSize iTinyImageSize;
-                // Size used in incall bubble clips.
-                TSize iThumbnailSize;
-                // Display mode
-                TDisplayMode iDisplayMode;
-            };
-
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor. 
-        * @param aBubbleManager Bubble manager reference.
-        * @return New instance
-        */
-        static CBubbleCallObjectManager* NewL( 
-            CBubbleManager& aBubbleManager );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleCallObjectManager();
-
-    public: // New functions
-
-        // Call object loading
-
-        /**
-        * Start loading image from given file. 
-        * @param aBubbleId Bubble id which image belongs.
-        * @param aFileName Image file name.
-        * @param aParams Image loading parameters.
-        */            
-        void LoadImageFromFile(
-            const CBubbleManager::TBubbleId& aBubbleId,
-            const TDesC& aFileName,
-            const TImageLoadingParams& aParams );
-            
-        /**
-        * Start loading image from given text. 
-        * @param aBubbleId Bubble id which image belongs.
-        * @param aText Text for image generation.
-        * @param aParams Image loading parameters.
-        */            
-        void LoadImageFromText(
-            const CBubbleManager::TBubbleId& aBubbleId,
-            const TDesC& aText,
-            const TImageLoadingParams& aParams );            
-            
-        /**
-        * Cancel call object loading.
-        * @param aBubbleId Bubble id.
-        */
-        void CancelCallObjectLoading( 
-                    const CBubbleManager::TBubbleId& aBubbleId );
-                    
-        /**
-        * Sets image loading to suspended state. Loading can
-        * be continued by calling Resume().
-        */
-        void Suspend();
-        
-        /**
-        * Resumes image loading that has been set to suspended
-        * state by calling Suspend(). 
-        */
-        TInt Resume();
-        
-        /**
-        * Load call theme image. 
-        * @param aImageManager Image manager.
-        * @param aSize Image size.
-        */            
-        void LoadCallThemeImage(
-            CBubbleImageManager& aImageManager,    
-            const TSize& aSize );
-        
-        /**
-        * Release call theme image. 
-        */
-        void ReleaseCallThemeImage();
-        
-        /**
-        * Resizes call theme image.  
-        * @param aSize New image size.
-        */
-        void ResizeCallThemeImage( const TSize& aSize );
-                
-        /**
-        * Returns call theme icon.
-        * @return Call theme image icon. 
-        */
-        CGulIcon* CallThemeImageIcon();
-        
-    private: // Constructors
-        
-        /**
-        * C++ default constructor.
-        */
-        CBubbleCallObjectManager( CBubbleManager& aBubbleManager );
-        
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( );
-        
-    private: // From MBubbleMediaReaderObserver        
-        void FrameBufferDataChanged();
-        void ReaderError( TInt aError );                            
-        
-    private:
-        void Reset();
-        void ReadFromFileL( const TDesC& aFileName,
-                            const TSize& aPreferredImageSize,
-                            const TSize& aTinyImageSize ); 
-        static TInt IdleProcessorCallback( TAny* aThis );
-        void DoLoadImageInIdleL();
-        void DoDeleteReaderInIdle();        
-        void DoHandleFrameBufferDataL();
-        void DoResumeL();
-        TBool LoadThumbnailVersion();
-        void AllocateCallThemeImageIconL( CBubbleImageManager& aImageManager );
-        void DoInitializeIcons();
-    
-    private: // Private type definition               
-        enum TLoadingState
-            {
-            EBMLoaderReady,
-            EBMLoadingImage,
-            EBMLoadingThumbnail,
-            EBMLoadingText,
-            EBMAnimating,
-            EBMDeleting,
-            EBMSuspended,
-            EBMInitializingIcon
-            };
-
-    private: // Data
-        // Bubble manager reference
-        CBubbleManager& iBubbleManager;
-        
-        // Loading state
-        TLoadingState iLoadingState;
-        TInt iBubbleId;
-        TImageLoadingParams iImageLoadParams;
-        MBubbleMediaReader* iMediaReader; // Owned
-        CIdle* iIdleProcessor; // Owned
-        HBufC* iCallText; // Owned
-        HBufC* iCallImage; // Owned
-        CGulIcon* iCallThemeImageIcon; // Owned
-        TSize     iCallThemeImageSize;
-    };
-
-#endif // CBUBBLECALLOBJECTMANAGER_H   
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMCallObjectUtils.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +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:  Utility methods for call object handling.
-*
-*/
-
-
-
-#ifndef BUBBLECALLOBJECTTUTILS_H
-#define BUBBLECALLOBJECTTUTILS_H
-
-//  INCLUDES
-#include <gdi.h>
-#include "BMBubbleManager.h"
-#include <avkon.hrh>
-
-// CONSTANTS
-
-// DATA TYPES
-
-// FORWARD DECLARATIONS
-class CBubbleCallObjectImage;
-class CBubbleImageReader;
-
-// CLASS DECLARATION
-
-/**
-*  Utility methods for call object handling.
-*
-*  @lib BubbleManager
-*  @since Series 60 3.1
-*/
-class BubbleCallObjectUtils
-    {
-    public:
-        // Tiling mode
-        enum TTileMode
-            {
-            ETileTopLeft,    // Tiling begin from top left corner
-            ETileTopRight,   // Tiling begin from top right corner
-            ETileCenterLeft, // Tiling begin from left, vertically centered
-            ETileCenterRight // Tiling begin from right, vertically centered   
-            };
-            
-        // Scale mode. Aspect ratio is always preserved.
-        enum TScaleMode
-            {
-            EFillTarget,
-            EMaximumFit    
-            };
-    
-    public: // New functions
-        ///////////////////////////////////////////////////////////////////////
-        //
-        // Construction and manipulation of CFbsBitmap objects.
-        //
-        ///////////////////////////////////////////////////////////////////////
-        
-        /**
-        * Creates a new bitmap from the given bitmap by scaling it to the
-        * given size. Proportions of the source bitmap are maintained so
-        * cropping may be applied. If the given bitmap is very small it
-        * is duplicated, not scaled, to fill the created bitmap.
-        * @param aBitmap Source bitmap
-        * @param aTargetSize Size of bitmap to be created.
-        * @param aDisplayMode Display mode for bitmap created.
-        * @param aTileMode Tiling mode.
-        * @return New bitmap instance.
-        */
-        static CFbsBitmap* CreateBitmapL( 
-            const CFbsBitmap* aBitmap, 
-            const TSize& aTargetSize,
-            TDisplayMode aDisplayMode,
-            TTileMode aTileMode = ETileTopLeft );
-            
-        /**
-        * Creates a new bitmap by cropping given bitmap to given size.
-        * @param aBitmap Bitmap to be cropped.
-        * @param aTargetSize Target size.
-        * @param aDisplayMode Display mode for bitmap created.
-        * @return New bitmap instance.
-        */
-        static CFbsBitmap* CreateCroppedBitmapL( 
-            const CFbsBitmap* aBitmap, 
-            const TSize& aTargetSize,
-            TDisplayMode aDisplayMode );
-
-        /**
-        * Creates a new bitmap by tiling given bitmap to given size.
-        * @param aBitmap Bitmap to be tiled.
-        * @param aTargetSize Target size.
-        * @param aDisplayMode Display mode for bitmap created.
-        * @param aTileMode Tiling mode.
-        * @return New bitmap instance.
-        */            
-        static CFbsBitmap* CreateTiledBitmapL( 
-            const CFbsBitmap* aBitmap, 
-            const TSize& aTargetSize,
-            TDisplayMode aDisplayMode,
-            TTileMode aTileMode );
-
-        /**
-        * Creates a new bitmap and renders given text given on it.
-        * Text is rendered according to call2_cli_visual_text_pane
-        * layout. Creates also mask bitmap. 
-        * @param aText Text to be rendered.
-        * @param aMainPaneRect Main pane rectangle.
-        * @param aSize Size for created bitmap.
-        * @param aTextColor Text color.
-        * @param aAlpha Transparency of text: 0-255.
-        * @param aDisplayMode Display mode for bitmap created.
-        * @param aBitmap Created bitmap on return.
-        * @param aMask Created mask on return.
-        */            
-        static void CreateImageBitmapsFromTextLC( 
-            const TDesC& aText, 
-            const TRect& aMainPaneRect,
-            const TSize& aSize,
-            const TRgb&  aTextColor,
-            TUint aAlpha,
-            TDisplayMode aDisplayMode,
-            CFbsBitmap*& aBitmap,
-            CFbsBitmap*& aMask );            
-            
-        /**
-        * Calculates scaling factor for source size to fill target size. 
-        * @param aSourceSize Source size.
-        * @param aTargetSize Target size.
-        * @param aScaleMode Scaling mode.
-        * @return Scaling factor.
-        */    
-        static TReal ScalingFactor( 
-            const TSize& aSourceSize,
-            const TSize& aTargetSize,
-            TScaleMode aScaleMode );
-            
-        /**
-        * Calculates scale factor and clipping rectangle based on
-        * source and target size. Clip rect is relative to source.
-        * @param aSourceSize Source size.
-        * @param aTargetSize Target size.
-        * @param aScaleMode Scaling mode.
-        * @param aScaleFactor Target size.
-        * @param aClipRect Target size.
-        * @return ETrue if source is tiny image i.e. not possible
-        *         to scale it to fill target. 
-        */    
-        static TBool GetScaleFactorAndClipRect( 
-            const TSize& aSourceSize,
-            const TSize& aTargetSize,
-            TScaleMode aScaleMode,
-            TReal& aScaleFactor,
-            TRect& aClipRect );
-    };
-
-#endif // BUBBLECALLOBJECTTUTILS_H   
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMCallStatusAnim.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 status animation
-*
-*/
-
-
-#ifndef C_BUBBLECALLSTATUSANIM_H
-#define C_BUBBLECALLSTATUSANIM_H
-
-#include "BMBubbleManager.h"
-#include "telbubbleanim.h"
-
-/**
- *  Call status animation.
- *
- *
- *  @lib BubbleManager.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CBubbleCallStatusAnim ) : public CTelBubbleAnim
-    {
-protected:
-    /**
-    * C`tor.
-    */
-    CBubbleCallStatusAnim( CBubbleImageManager& aImageManager );
-    
-    /**
-    * 2nd C`tor.
-    */
-    void ConstructL();
-
-public:
-    /**
-     * Read bubble header.
-     *
-     * @since S60 5.0
-     * @param aHeader Bubble header.
-     */
-    void ReadBubbleHeader( const CBubbleHeader& aHeader );
-
-    /**
-     * Set container window.
-     *
-     * @since S60 5.0
-     * @param aCallFlags Call flags.
-     */
-    void SetContainerWindowL( const CCoeControl& aControl );
-    
-private:
-    void MakeVisible(TBool aVisible);
-    
-private: // From CTelBubbleAnim
-    /**
-     * Includes animation logic when it is shown
-     */
-    virtual void SetAnimationContentL() = 0;
-
-protected: // data
-    CBubbleImageManager& iImageManager;
-    TUint32 iCallFlags;
-    };
-
-#endif // C_BUBBLECALLSTATUSANIM_H
-
-// End of file
--- a/phoneuis/BubbleManager/Inc/BMCallStatusAnimBig.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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:  Big call status animation
-*
-*/
-
-
-#ifndef C_BUBBLECALLSTATUSANIMBIG_H
-#define C_BUBBLECALLSTATUSANIMBIG_H
-
-#include "BMCallStatusAnim.h"
-#include "BMBubbleManager.h"
-#include "telbubbleanim.h"
-
-/**
- *  Call status animation.
- *
- *
- *  @lib BubbleManager.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CBubbleCallStatusAnimBig ) : public CBubbleCallStatusAnim
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aBubbleManager Bubble manager.
-     */
-    static CBubbleCallStatusAnimBig* NewL( CBubbleImageManager& aImageManager );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CBubbleCallStatusAnimBig();
-
-private:    
-    CBubbleCallStatusAnimBig( CBubbleImageManager& aImageManager );
-    
-private: // From CTelBubbleAnim
-    /**
-     * Includes animation logic when it is shown
-     */
-    void SetAnimationContentL();
-
-    };
-
-#endif // C_BUBBLECALLSTATUSANIMBIG_H
-
-// End of file
--- a/phoneuis/BubbleManager/Inc/BMCallStatusAnimSmall.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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:  Small call status animation
-*
-*/
-
-
-#ifndef C_BUBBLECALLSTATUSANIMSMALL_H
-#define C_BUBBLECALLSTATUSANIMSMALL_H
-
-#include "BMCallStatusAnim.h"
-#include "BMBubbleManager.h"
-#include "telbubbleanim.h"
-
-/**
- *  Call status animation.
- *
- *
- *  @lib BubbleManager.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CBubbleCallStatusAnimSmall ) : public CBubbleCallStatusAnim
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aBubbleManager Bubble manager.
-     */
-    static CBubbleCallStatusAnimSmall* NewL( CBubbleImageManager& aImageManager );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CBubbleCallStatusAnimSmall();
- 
-private:    
-    CBubbleCallStatusAnimSmall( CBubbleImageManager& aImageManager );
-
-private: // From CTelBubbleAnim
-    /**
-     * Includes animation logic when it is shown
-     */
-    void SetAnimationContentL();
-
-    };
-
-#endif // C_BUBBLECALLSTATUSANIMSMALL_H
-
-// End of file
--- a/phoneuis/BubbleManager/Inc/BMCallStatusIndi.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  Call status indicator
-*
-*/
-
-
-#ifndef C_BUBBLECALLSTATUSINDI_H
-#define C_BUBBLECALLSTATUSINDI_H
-
-#include "BMBubbleManager.h"
-#include "telbubbleimage.h"
-
-/**
- *  Call indicator
- *
- *
- *  @lib BubbleManager.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CBubbleCallStatusIndi ) : public CTelBubbleImage
-    {
-public:
-    /**
-     * Read bubble header.
-     *
-     * @since S60 5.0
-     * @param aHeader Bubble header.
-     */
-    void ReadBubbleHeader( const CBubbleHeader& aHeader );
-    
-protected:
-    /**
-     * C´tor
-     */
-    CBubbleCallStatusIndi( CBubbleImageManager& aImageManager );
-    
-private: // From CCoeControl
-    virtual void MakeVisible( TBool aVisible );
-    
-    /**
-     * Includes logic for CallStatusIndicator image 
-     * when image is shown
-     */
-    virtual void SetImageAndMask() = 0;
-protected: // data
-    CBubbleImageManager& iImageManager;
-    CBubbleManager::TPhoneCallState iCallState;
-    TUint32 iCallFlags;
-    };
-
-#endif // C_BUBBLECALLSTATUSINDI_H
-
-// End of file
-
--- a/phoneuis/BubbleManager/Inc/BMCallStatusIndiBig.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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:  Big call status indicator
-*
-*/
-
-
-#ifndef C_BUBBLECALLSTATUSINDIBIG_H
-#define C_BUBBLECALLSTATUSINDIBIG_H
-
-#include "BMCallStatusIndi.h"
-#include "BMBubbleManager.h"
-#include "telbubbleimage.h"
-
-/**
- *  Call indicator
- *
- *
- *  @lib BubbleManager.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CBubbleCallStatusIndiBig ) : public CBubbleCallStatusIndi
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aBubbleManager Bubble manager.
-     */
-    static CBubbleCallStatusIndiBig* NewL( CBubbleImageManager& aImageManager );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CBubbleCallStatusIndiBig();
-    
-private:    
-    CBubbleCallStatusIndiBig( CBubbleImageManager& aImageManager );
-    
-private: // From CBubbleCallStatusIndi
-    /**
-     * Includes logic for CallStatusIndicator image 
-     * when image is shown
-     */
-    void SetImageAndMask();
-
-    };
-
-#endif // C_BUBBLECALLSTATUSINDIBIG_H
-
-// End of file
--- a/phoneuis/BubbleManager/Inc/BMCallStatusIndiSmall.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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:  Small call status indicator
-*
-*/
-
-#ifndef C_BUBBLECALLSTATUSINDISMALL_H
-#define C_BUBBLECALLSTATUSINDISMALL_H
-
-#include "BMCallStatusIndi.h"
-#include "BMBubbleManager.h"
-#include "telbubbleimage.h"
-
-/**
- *  Call indicator
- *
- *
- *  @lib BubbleManager.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CBubbleCallStatusIndiSmall ) : public CBubbleCallStatusIndi
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aBubbleManager Bubble manager.
-     */
-    static CBubbleCallStatusIndiSmall* NewL( CBubbleImageManager& aImageManager );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CBubbleCallStatusIndiSmall();
-
-    
-private:    
-    CBubbleCallStatusIndiSmall( CBubbleImageManager& aImageManager );
-    
-private: // From CBubbleCallStatusIndi
-    /**
-     * Includes logic for CallStatusIndicator image 
-     * when image is shown
-     */
-    void SetImageAndMask();
-    };
-
-#endif // C_BUBBLECALLSTATUSINDISMALL_H
-
-// End of file
--- a/phoneuis/BubbleManager/Inc/BMConfHeader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +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: 
-*     Concrete class which holds info about conference call
-*
-*/
-
-
-#ifndef CONFHEADER_H
-#define CONFHEADER_H
-
-// INCLUDES
-#include  "BMBubbleHeader.h"
-
-// FORWARD DECLARATIONS
-class CBubbleCallHeader;
-
-// CLASS DECLARATION
-
-/**
-*  CBubbleConfHeader class
-*
-*  Concrete class which holds info about conference call
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-
-class CBubbleConfHeader : public CBubbleHeader
-    {    
-    public: // Constructors and destructor
-        
-        /**
-        * two phase constructor
-        * @param aBubbleId Id of the call header
-        * @return New instance
-        */
-        static CBubbleConfHeader* NewL( 
-            const CBubbleManager::TBubbleId& aBubbleId);
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleConfHeader();
-        
-    public: // Member functions
-              
-        /**
-        * Add call to conference call.
-        * @param aCall Added call.
-        */
-        void AddRow( CBubbleCallHeader& aCall );
-
-        /**
-        * Remove call from conferece.
-        * @param aCallId Bubble id of removed call.
-        */
-        void RemoveRow( const CBubbleManager::TBubbleId& aCallId );
-
-        /**
-        * Get headers in conference call.
-        * @param aCalls Reference where item are put to.
-        */
-        void GetRows( CArrayPtrFlat<CBubbleCallHeader>& aCalls ) const;
-
-        /**
-        * Get amount of calls in conference call.
-        * @return Amount of calls in conf.
-        */
-        TUint8 RowCount() const;
-
-        /**
-        * Set highlight row.
-        * @param aRow The row number 1-n. KBubbleNoHighlightRow no highlight.
-        */
-        void SetHighlight( const CBubbleManager::TRowNumber& aRow );
-
-        /**
-        * Set highlight header.
-        * @param aBubbleId Id of highlighted item.
-        */
-        void SetHighlightId( const CBubbleManager::TBubbleId& aBubbleId );
-
-        /**
-        * Get bubble id of highlighted item.
-        * @return Id of highlighted item. KBubbleInvalidId if no highlight.
-        */
-        CBubbleManager::TBubbleId HighlightId() const;
-
-        /**
-        * Move highlight one item upwards. If already at upmost, no change.
-        */
-        void MoveHighlightOneUp();
-
-        /**
-        * Move highlight one item downwards. If already at lowest, no change.
-        */
-        void MoveHighlightOneDown();
-
-        /**
-        * Get the highlight row number.
-        * @return The row number 1-n. KBubbleNoHighlightRow no highlight.
-        */
-        CBubbleManager::TRowNumber Highlight() const;
-
-        /**
-        * Set conference call expanded.
-        * @param aIsExpanded ETrue expands the conf call.
-        */
-        void SetIsExpanded( TBool aIsExpanded );
-
-        /**
-        * Is conference expanded.
-        * @return ETrue if expanded.
-        */
-        TBool IsExpanded( ) const;
-
-    public: // Functions form base classes
-
-        /**
-        * From CBubbleHeader.
-        */
-        virtual void Reset();
-
-        /**
-        * From CBubbleHeader.
-        */
-        virtual void SetIsUsed( const TBool& aIsUsed );
-
-        /**
-        * From CBubbleHeader.
-        */
-        virtual TBool IsUsed() const;
-
-        /**
-        * From CBubbleHeader. 
-        */
-        virtual TBool IsConference() const;
-        
-    protected:
-
-        /**
-        * Default constructor.
-        */
-        CBubbleConfHeader();
-        
-    private: // private functions
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL( const CBubbleManager::TBubbleId& aBubbleId );
-        
-    private: //data
-        // Is header used?
-        TBool iIsUsed;
-        // Is conference expanded?
-        TBool iIsExpanded;
-        //1-5 , KBubbleNoHighlightRow no highlight
-        CBubbleManager::TRowNumber iSelection;
-        // Current calls in conference call
-        CArrayPtrFlat<CBubbleCallHeader>* iCalls;
-
-    private:
-        friend class CT_CBubbleConfHeader;
-    };
-
-#endif //CONFHEADER_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMConfPane.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +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: 
-*     Container class for single line in expanded conference call
-*
-*/
-
-
-#ifndef CONFPANE_H
-#define CONFPANE_H
-
-// INCLUDES
-#include    <calslbs.h>
-#include    "BMBubbleManager.h"
-
-// FORWARD DECLARATIONS
-class CEikLabel;     
-class CEikImage;
-
-// CLASS DECLARATION
-
-/**
-*  CConfPane container class
-*
-*  Object represents single line in conference call.
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleConfPane : public CCoeControl
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Symbian OS 2nd phase constructor.
-        */
-        void ConstructL( TBool aTouchCallHandling );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleConfPane();
-
-    public: //member functions
-        
-        /**
-        * Sets data members to initial state.
-        */
-        void Reset( );
-          
-        /**
-        * Sets is pane highlighted.
-        * @param aIsHighlighted ETrue means highlight is on.
-        */
-        void SetHighlight( const TBool& aIsHighlighted );
-        
-        /**
-        * Returns pointer to Call indication image. Use to set the bitmap 
-        * to it.
-        * @return The image.
-        */
-        CEikImage*& CallIndicationHandle( );
-        
-        /**
-        * Set CLI
-        * @param aText The text
-        * @param aDir Clipping direction
-        */
-        void SetText( TPtrC aText , 
-                      const CBubbleManager::TPhoneClippingDirection& aDir );
-        
-    private: // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl
-        */
-        void PositionChanged();
-
-        /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * From CCoeControl 
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From CCoeControl 
-        */
-        void Draw( const TRect& aRect ) const;
-        
-    private:
-    
-        /**
-        * DoCall1Layout
-        */
-        void DoCall1Layout();
-
-        /**
-        * DoCall2Layout
-        */            
-        void DoCall2Layout();
-        
-        /**
-        * DoCall4Layout
-        */            
-        void DoCall4Layout();
-      
-    private: //data
-        // Is this pane highlighted
-        TBool iIsHighlighted; 
-        
-        // Phone image.
-        CEikImage* iCallIndication; 
-        // Cyphering off
-        CEikImage* iCyphOffImage;
-        
-        // Text line; full text is clipped to fit
-        mutable CEikLabel* iTextLine; 
-        // Contains full text 
-        TPtrC iFullText; 
-        // Text's clip direction
-        CBubbleManager::TPhoneClippingDirection iTextClipDirection; 
-        
-        // Highlight's Shadow
-        TAknLayoutRect iShadow;
-        // Highlight
-        TAknLayoutRect iHighlight;
-        
-        // Call object setting
-        TBool iCallObjectDisplay;
-        
-        // Feature flag
-        TBool iTouchCallHandling;
-
-    private:
-        friend class CBubbleOutlookConference; // Handles texts
-        friend class CT_CBubbleConfPane;
-    };
-
-#endif // CONFPANE_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMCustomManager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +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:  Customization manager
-*
-*/
-
-
-#ifndef C_BUBBLECUSTOMMANAGER_H
-#define C_BUBBLECUSTOMMANAGER_H
-
-#include <e32base.h>
-#include "BMBubbleManager.h"
-#include "telbubblecustomelement.h"
-
-class CBubbleHeader;
-class CBubbleDefaultManager;
-class TArrayItem;
-
-/**
- *  Customization manager.
- *
- *  @lib BubbleManager.lib
- *  @since S60 5.0
- */
-NONSHARABLE_CLASS( CBubbleCustomManager ) : public CBase
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aBubbleManager Bubble manager.
-     */
-    static CBubbleCustomManager* NewL( CBubbleManager& aBubbleManager );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CBubbleCustomManager();
-
-    /**
-     * Adds custom element to call bubble. Ownership is not transferred.
-     *
-     * @since S60 5.0
-     * @param aBubbleId Bubble identifier.
-     * @param aElement Custom element.
-     * @param aPriority Priority 0(high) - 255(low). 
-     */
-    void AddCustomElement( 
-        const CBubbleManager::TBubbleId& aBubbleId,
-        CTelBubbleCustomElement* aElement,
-        TInt aPriority );
-    
-    /**
-     * Removes custom element from call bubble.
-     *
-     * @since S60 5.0
-     * @param aBubbleId Bubble identifier.
-     * @param aElement Custom element.
-     */
-    void RemoveCustomElement(
-        const CBubbleManager::TBubbleId& aBubbleId,
-        CTelBubbleCustomElement* aElement );
-    
-    /**
-     * Removes all custom elements related to given bubble.
-     *
-     * @since S60 5.0
-     * @param aBubbleId Bubble identifier.
-     */
-    void RemoveCustomElements( const CBubbleManager::TBubbleId& aBubbleId );
-    
-    /**
-     * Reserves custom element. Default elements are
-     * shared between call bubbles.
-     *
-     * @since S60 5.0
-     * @param aBubbleId Bubble identifier.
-     * @param aElement Element type.
-     * return Element instance.
-     */
-    CTelBubbleCustomElement* ReserveCustomElement( 
-        const CBubbleHeader& aBubbleHeader,
-        CTelBubbleCustomElement::TElementType aElement );
-    
-    /**
-     * Reserves custom element. Default elements are
-     * shared between call bubbles.
-     *
-     * @since S60 5.0
-     * @param aBubbleId Bubble identifier.
-     * @param aElement Element type.
-     * @param aIsDefault Is ETrue, when default implementation is used.
-     * return Element instance.
-     */
-    CTelBubbleCustomElement* ReserveCustomElement( 
-        const CBubbleHeader& aBubbleHeader,
-        CTelBubbleCustomElement::TElementType aElement,
-        TBool& aIsDefault );
-    
-    /**
-     * Releases custom element.
-     *
-     * @since S60 5.0
-     * @param aElement Released custom element.
-     */
-    void ReleaseCustomElement( CTelBubbleCustomElement*& aCustomElement );
-    
-private:
-    CTelBubbleCustomElement* DefaultElement( 
-        const CBubbleHeader& aBubbleHeader,
-        CTelBubbleCustomElement::TElementType aElement );
-
-private:
-    CBubbleCustomManager( CBubbleManager& aBubbleManager );
-    void ConstructL();
-
-private: // data
-    CBubbleManager&       iBubbleManager;
-
-    TFixedArray< TFixedArray< RArray<TArrayItem>, 
-                              CTelBubbleCustomElement::ECustomElementCount >, 
-                 KBubbleCallMaxAmount > iCustomizations;
-    
-    CBubbleDefaultManager* iDefaultManager; // owned
-    };
-
-#endif // C_BUBBLECUSTOMMANAGER_H
--- a/phoneuis/BubbleManager/Inc/BMDefaultManager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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:  Manages default implementations for customizable elements. 
-*
-*/
-
-
-#ifndef C_BUBBLEDEFAULTMANAGER_H
-#define C_BUBBLEDEFAULTMANAGER_H
-
-#include <e32base.h>
-#include "BMBubbleManager.h"
-#include "telbubblecustomelement.h"
-
-class CBubbleHeader;
-
-/**
- *  Customization manager.
- *
- *  @lib BubbleManager.lib
- *  @since S60 5.0
- */
-NONSHARABLE_CLASS( CBubbleDefaultManager ) : public CBase
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param ?arg1 ?description
-     * @param ?arg2 ?description
-     */
-    static CBubbleDefaultManager* NewL( CBubbleManager& aBubbleManager );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CBubbleDefaultManager();
-
-    /**
-     * Reserves big call indicator element.
-     *
-     * @since S60 5.0
-     * @param aHeader Bubble header.
-     * @return Element instance.
-     */
-    CTelBubbleCustomElement* ReserveBigCallIndicatorElement(
-        const CBubbleHeader& aHeader );
-    
-    /**
-     * Reserves number type icon element.
-     *
-     * @since S60 5.0
-     * @param aHeader Bubble header.
-     * @return Element instance.
-     */
-    CTelBubbleCustomElement* ReserveNumberTypeIconElement(
-        const CBubbleHeader& aHeader );
-    
-    /**
-     * Reserves small call indicator element.
-     *
-     * @since S60 5.0
-     * @param aHeader Bubble header.
-     * @return Element instance.
-     */
-    CTelBubbleCustomElement* ReserveSmallCallIndicatorElement(
-        const CBubbleHeader& aHeader );
-    
-    /**
-     * Reserves call image element.
-     *
-     * @since S60 5.0
-     * @param aHeader Bubble header.
-     * @return Element instance.
-     */
-    CTelBubbleCustomElement* ReserveCallImageElement(
-         const CBubbleHeader& aHeader );
-    
-    /**
-     * Releases default element.
-     *
-     * @since S60 5.0
-     * @param aElement Released element.
-     */
-    void ReleaseElement( CTelBubbleCustomElement*& aElement );    
-
-private:
-    // Default implementations
-    enum TBubbleDefaultElements
-        {
-        EBMDefaultCallStatusIndiBig,
-        EBMDefaultCallStatusIndiSmall,
-        EBMDefaultCallStatusAnimBig,
-        EBMDefaultCallStatusAnimSmall,
-        EBMDefaultNumberTypeIcon,
-        EBMDefaultCallImageControl
-        };    
-
-private:
-    CBubbleDefaultManager( CBubbleManager& aBubbleManager );
-    void ConstructL();
-    CTelBubbleCustomElement* ReserveElement( TBubbleDefaultElements aType );
-    
-private: // data
-    CBubbleManager&       iBubbleManager;
-
-    // default elements
-    typedef CArrayPtrFlat<CTelBubbleCustomElement> CSingleElement;
-    // array of max elements
-    RArray<TUint> iMaxAmounts;       
-    // array of resource arrays
-    CArrayPtrFlat<CSingleElement>* iElements; 
-    // array of info about usage
-    RArray<TUint> iAvailabilities;
-    };
-
-#endif // C_BUBBLEDEFAULTMANAGER_H
--- a/phoneuis/BubbleManager/Inc/BMImageReader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +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:  Reader for JPEG/GIF/BMP images (ImageHandlingLib wrapper)
-*
-*/
-
-
-#ifndef BMIMAGEREADER_H
-#define BMIMAGEREADER_H
-
-#include <MIHLViewerObserver.h>
-
-#include "BMMediaReader.h"
-
-class MIHLFileImage;
-class MIHLBitmap;
-class MIHLImageViewer;
-
-/**
- *  Reader for JPEG/GIF/BMP images (ImageHandlingLib wrapper)
- *
- *  @lib BubbleManager
- *  @since S60 v3.2
- */
-class CBubbleImageReader : public CBubbleMediaReader,
-                           public MIHLViewerObserver
-    {
-public:    
-
-    static CBubbleImageReader* NewL( 
-        const TDesC& aFileName );
-	
-    virtual ~CBubbleImageReader();
-
-private: // from CBubbleMediaReader
-    
-    void  StartReadingL(
-        const TSize& aTargetSize,
-        const TReal& aScaleFactor,
-        const TRect& aClipRect, 
-        MBubbleMediaReaderObserver* aObserver );
-        
-    TInt SetScaleAndClip(
-        const TSize& aTargetSize,
-        const TReal& aScaleFactor,
-        const TRect& aClipRect );        
-    
-    void  CancelReading();
-    
-    const TSize SourceSize() const;
-    
-    TBool IsAnimation() const;
-    
-    void  Play();
-    
-    void  Stop();
-    
-private: // from MIHLViewerObserver
-    
-    void ViewerBitmapChangedL();
-    
-    void ViewerError( TInt aError );     
-    
-
-private:
-    
-    CBubbleImageReader();
-
-    void ConstructL( const TDesC& aFileName );
-
-private: // data
-    
-    // Owned
-    MIHLFileImage* iSourceImage;
-    // Owned
-    MIHLBitmap* iDestinationBitmap;
-    // Owned
-    MIHLImageViewer* iViewerEngine;
-    
-    };
-
-#endif // BMIMAGEREADER_H
--- a/phoneuis/BubbleManager/Inc/BMImageReaderObserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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: 
-*     ???
-*
-*/
-
-
-#ifndef MMBIMAGEREADEROBSERVER_H
-#define MMBIMAGEREADEROBSERVER_H
-
-//  INCLUDES
-#include <e32def.h>
-#include "BMImageReader.h"
-
-// FORWARD DECLARATIONS
-class CBubbleImageReader;
-
-// CLASS DECLARATION
-
-/**
- * Observer interface for CBMThumbnailReader.
- */
-class MBubbleImageReaderObserver
-  {
-    public:
-        /**
-         * Called by CBubbleImageReader when image read is complete.
-         *
-         * @param aReader   the completed reader.
-         * @param aBitmap   the read image.
-         */
-        virtual void ImageReadComplete
-            ( CBubbleImageReader& aReader, CFbsBitmap* aBitmap ) = 0;
-
-        /**
-         * Called by CBubbleImageReader if image reading fails.
-         *
-         * @param aReader   the failed reader.
-         * @param aError    error code of the failure.
-         */
-        virtual void ImageReadFailed( CBubbleImageReader& aReader, TInt aError ) = 0;
-
-        /**
-         * Called by CBubbleImageReader when image open is complete.
-         * After this event CBubbleImageReader functions FrameCount() and 
-         * FrameInfo() can be called.
-         * Default implementation is empty as most clients are interested of 
-         * ImageReadComplete/Failed events only.
-         *
-         * @param aReader   the completed reader.
-         */
-        virtual void ImageOpenComplete( CBubbleImageReader& aReader ) = 0;
-    };
-
-#endif // MMBIMAGEREADEROBSERVER_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMMainPaneControl.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +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:  Call status indicator
-*
-*/
-
-
-#ifndef C_BUBBLEMAINPANECONTROL_H
-#define C_BUBBLEMAINPANECONTROL_H
-
-#include "BMBubbleManager.h"
-#include <coecntrl.h>
-
-class CBubbleCallObjectManager;
-class CTelBubbleCustomElement;
-class CBubbleCustomManager;
-class CFbsBitmap;
-
-/**
- *  Displays caller image in main pane.
- *
- *
- *  @lib BubbleManager.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CBubbleMainPaneControl ) : public CCoeControl
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aBubbleManager Bubble manager.
-     * @param aCallObjectManager Call object manager.
-     */
-    static CBubbleMainPaneControl* NewL(
-            CBubbleManager& aBubbleManager, 
-            CBubbleCallObjectManager& aCallObjectManager );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CBubbleMainPaneControl();
-    
-    /**
-     * Read bubble header.
-     * @param aHeader Bubble header.
-     */
-    void ReadBubbleHeader( const CBubbleHeader& aHeader );
-    
-    /**
-     * Reset.
-     */
-    void Reset();
-    
-    /**
-     * Draw bitmaps.
-     * @param aRect Rectangle to be redrawn.
-     */
-    void DrawBitmaps( const TRect& aRect ) const;
-    
-    /**
-     * Returns bubble id that image is related to.
-     */
-    CBubbleManager::TBubbleId BubbleId() const;
-    
-    /**
-     * Returns ETrue when image is being displayed.
-     */
-    TBool IsUsed() const;
-        
-private:    
-    CBubbleMainPaneControl( CBubbleManager& aCustomManager, 
-                            CBubbleCallObjectManager& aCallObjectManager );
-    void ConstructL();
-    void SizeChanged();
-    void PrepareBitmapsL( CFbsBitmap*& aBitmap,
-                          TBool& aBitmapOwnership, 
-                          CFbsBitmap*& aMask,
-                          TBool& aMaskOwnership,
-                          TBool aIsScalable ); 
-
-private: // data
-    CBubbleManager& iBubbleManager;
-    CBubbleCallObjectManager& iCallObjectManager;
-    CBubbleManager::TBubbleId iBubble;
-    TBool iThreeLinedBubble;
-    CTelBubbleCustomElement* iCallImage;
-    TBool iIsUsed;
-    CFbsBitmap* iBitmap; // not owned
-    CFbsBitmap* iMask; // not owned
-    };
-
-#endif // C_BUBBLEMAINPANECONTROL_H
--- a/phoneuis/BubbleManager/Inc/BMMediaReader.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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:  Base class for media readers.
-*
-*/
-
-
-#ifndef BMMEDIAREADER_H
-#define BMMEDIAREADER_H
-
-#include <e32base.h>
-#include "BMMediaReaderInterface.h"
-
-class MBubbleMediaReaderObserver;
-
-/**
- *  Base class for media readers.
- *
- *  @lib BubbleManager
- *  @since S60 v3.2
- */
-class CBubbleMediaReader : public CBase,
-                           public MBubbleMediaReader
-    {
-public:    
-    virtual ~CBubbleMediaReader();
-
-    /**
-     * Derived class should call this when image or new 
-     * animation frame has been read to frame buffer.
-     *
-     * @since S60 v3.2
-     */
-    void HandleReadingComplete();
-    
-    /**
-     * Derived class should call this in error situation.
-     *
-     * @since S60 v3.2
-     * @param aError System wide error code.
-     */
-    void HandleReadingError( TInt aError );
-    
-    
-protected: // from MBubbleMediaReader
-    
-    virtual void StartReadingL( 
-        const TSize& aTargetSize, 
-        const TReal& aScaleFactor,
-        const TRect& aClipRect, 
-        MBubbleMediaReaderObserver* aObserver ) = 0;
-
-    virtual TInt SetScaleAndClip(
-        const TSize& aTargetSize,
-        const TReal& aScaleFactor,
-        const TRect& aClipRect ) = 0;        
-    
-    virtual void CancelReading() = 0;
-    
-    virtual const TSize SourceSize() const = 0;
-    
-    virtual TBool IsAnimation() const = 0;
-    
-    virtual const CFbsBitmap* FrameBuffer() const;
-    
-    virtual const CFbsBitmap* Mask() const;
-    
-    virtual void Play() = 0;
-    
-    virtual void Stop() = 0;
-
-public:
-    CBubbleMediaReader();
-
-protected: // data
-    // Not owned
-    const CFbsBitmap* iFrameBuffer;
-    // Not owned
-    const CFbsBitmap* iMask;
-    // Not owned
-    MBubbleMediaReaderObserver* iObserver;
-    };
-
-
-#endif // BMMEDIAREADER_H
--- a/phoneuis/BubbleManager/Inc/BMMediaReaderFactory.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  Creator of media readers.
-*
-*/
-
-
-#ifndef BUBBLEMEDIAREADERFACTORY_H
-#define BUBBLEMEDIAREADERFACTORY_H
-
-#include <e32base.h>
-
-class MBubbleMediaReader;
-
-/**
- *  Creator of media readers.
- *
- *  ?more_complete_description
- *
- *  @lib BubbleManager
- *  @since S60 3.2
- */
-class BubbleMediaReaderFactory
-    {
-public:    	
-
-    /**
-     * Factory method to create a reader for given file.
-     *
-     * @since S60 v3.2
-     * @param aFileName File name with path.
-     * @return Media reader instance.
-     */
-    static MBubbleMediaReader* CreateReaderL( 
-        const TDesC& aFileName );
-    };
-
-
-#endif // BUBBLEMEDIAREADERFACTORY_H
--- a/phoneuis/BubbleManager/Inc/BMMediaReaderInterface.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +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:  Media reader interface.
-*
-*/
-
-
-#ifndef MBUBBLEMEDIAREADER_H
-#define MBUBBLEMEDIAREADER_H
-
-class CFbsBitmap;
-class MBubbleMediaReaderObserver;
-
-/**
- *  Media reader interface.
- *
- *  @lib BubbleManager
- *  @since S60 v3.2
- */
-class MBubbleMediaReader
-    {
-
-public:
-    // === LOADING CONTROL ====================================================
-    
-    /**
-     * Factory method to create a reader for given file.
-     *
-     * @since S60 v3.2
-     * @param aTargetSize Image/frame is loaded to this size.
-     * @param aScaleFactor Scaling factor (normally the ratio 
-     *                     between target size and clip rect).
-     * @param aClipRect Clip rect, relative to source dimensions.
-     * @param aObserver Observer for reader events.
-     */
-    virtual void StartReadingL(
-        const TSize& aTargetSize,
-        const TReal& aScaleFactor,
-        const TRect& aClipRect, 
-        MBubbleMediaReaderObserver* aObserver  ) = 0;
-    
-    /**
-     * Update scale and clip parameters for currently viewed bitmap.
-     *
-     * @since S60 v3.2
-     * @param aTargetSize  Maximum size for destination bitmap.
-     * @param aScaleFactor Scaling factor (normally the ratio between target
-                           size and clip rect).
-     * @param aClipRect    Clip rect, relative to source dimensions.
-     * @return System wide error code.
-     */
-    virtual TInt SetScaleAndClip(
-        const TSize& aTargetSize,
-        const TReal& aScaleFactor,
-        const TRect& aClipRect ) = 0;
-    
-    /**
-     * Cancels reading in progress.
-     *
-     * @since S60 v3.2
-     */
-    virtual void CancelReading() = 0;
-    
-    // === DATA ACCESS ========================================================
-    /**
-     * Gets size of source image/frame.
-     *
-     * @since S60 v3.2
-     * @return Size of source image.
-     */
-    virtual const TSize SourceSize() const = 0;
-    
-    /**
-     * Checks if source is animation.
-     *
-     * @since S60 v3.2
-     * @return ETrue if source is animation.
-     */
-    virtual TBool IsAnimation() const = 0;
-    
-    /**
-     * Gets pointer to frame buffer.
-     *
-     * @since S60 v3.2
-     * @return Pointer to frame buffer.
-     */
-    virtual const CFbsBitmap* FrameBuffer() const = 0;
-    
-    /**
-     * Gets mask for the current frame in frame buffer.
-     *
-     * @since S60 v3.2
-     * @return Pointer to mask frame.
-     */
-    virtual const CFbsBitmap* Mask() const = 0;
-    
-    // === ANIMATION CONTROL ==================================================
-    /**
-     * Starts animation.
-     *
-     * @since S60 v3.2
-     */
-    virtual void Play() = 0;
-    
-    /**
-     * Stops animation.
-     *
-     * @since S60 v3.2
-     */
-    virtual void Stop() = 0;
-    
-    // Virtual destructor
-    virtual ~MBubbleMediaReader() {};
-    };
-
-
-#endif // MBUBBLEMEDIAREADER_H
--- a/phoneuis/BubbleManager/Inc/BMMediaReaderObserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  CBubbleMediaReader observer interface.
-*
-*/
-
-
-#ifndef MBUBBLEMEDIAREADEROBSERVER_H
-#define MBUBBLEMEDIAREADEROBSERVER_H
-
-/**
- *  CBubbleMediaReader observer interface
- *
- *  @lib BubbleManager
- *  @since S60 v3.2
- */
-class MBubbleMediaReaderObserver
-    {
-
-public:     
-    /**
-     * Image or animation frame has been read and is available 
-     * in the framebuffer. Client should update the screen. 
-     *
-     * @since S60 v3.2
-     */
-    virtual void FrameBufferDataChanged() = 0;
-    
-    /**
-     * Reports an error in reading procedure.  
-     *
-     * @since S60 v3.2
-     * @param aError System wide error code.
-     */
-    virtual void ReaderError( TInt aError ) = 0;
-    };
-
-#endif // MBUBBLEMEDIAREADEROBSERVER_H
--- a/phoneuis/BubbleManager/Inc/BMNumberTypeIcon.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  Number type icon. 
-*
-*/
-
-#ifndef C_BUBBLENUMBERTYPEICON_H
-#define C_BUBBLENUMBERTYPEICON_H
-
-#include "BMBubbleManager.h"
-#include "telbubbleimage.h"
-
-/**
- *  Number type icon
- *
- *
- *  @lib BubbleManager.lib
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CBubbleNumberTypeIcon ) : public CTelBubbleImage
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * @param aBubbleManager Bubble manager.
-     */
-    static CBubbleNumberTypeIcon* NewL( CBubbleImageManager& aImageManager );
-    
-    /**
-    * Destructor.
-    */
-    virtual ~CBubbleNumberTypeIcon();
-    
-    /**
-     * Read bubble header.
-     *
-     * @since S60 5.0
-     * @param aHeader Bubble header.
-     */
-    void ReadBubbleHeader( const CBubbleHeader& aHeader );
-    
-private:    
-    CBubbleNumberTypeIcon( CBubbleImageManager& aImageManager );
-    void ConstructL();
-    void MakeVisible(TBool aVisible);
-
-private: // data
-    CBubbleImageManager& iImageManager;
-    CBubbleManager::TPhoneNumberType iNumberType;
-    TUint32 iCallFlags;
-    };
-
-#endif // C_BUBBLENUMBERTYPEICON_H
-
-// End of file
--- a/phoneuis/BubbleManager/Inc/BMPanic.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +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: 
-*     Panic Function
-*
-*/
-
-
-#ifndef BMPANIC_H
-#define BMPANIC_H
-
-//  INCLUDES
-#include <e32std.h>
-
-// DATA TYPES
-enum TBMPanic // panics
-    {
-    EBMPanicConferenceIsUsed = 6000,
-    EBMPanicConferenceNotUsed,
-    EBMPanicReferredHeaderIsConferenceHeader,
-    EBMPanicReferredCallHeaderIsInConferenceCall,
-    EBMPanicTooManyCallsInConference,
-    EBMPanicConferenceCallEmpty,
-    EBMPanicInvalidConfRowNumber,
-
-    EBMPanicInvalidNumberOfHeaders,
-    EBMPanicErrorInStartAndEndChanges,
-    EBMPanicPlaceEnumerationDoesNotExist,
-
-    EBMPanicBubbleIdDoesNotExist,
-    EBMPanicBubbleIdIsNotInUse,
-
-    EBMPanicNumberEntryNotInUse,
-    EBMPanicNumberEntryInUse,
-    EBMPanicInvalidNumberEntry,
-
-    EBMPanicLAF,
-    EBMPanicImages,
-    EBMPanicUnhandledSwitchCase,
-    EBMPanicTooLongText,
-
-    EBMPanicFeatureNotSupported,
-
-    EBMPanicErrorInResourceManager,
-    
-    EBMPanicCallObjectManager,
-    
-    EBMPanicVideoPlayer,
-        
-    EBMPanicTouchPane,
-    
-    EBMPanicCustomization
-    };
-
-// FUNCTION PROTOTYPES
-
-/**
-* Panic function
-* @since 1.0
-* @param aPanic Panic enumeration
-*/
-GLREF_C void Panic( TBMPanic aPanic );
-
-#endif
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMResourceManager.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +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: 
-*     Resource pool for CCoeControls.
-*
-*/
-
-
-#ifndef CBUBBLERESOURCEMANAGER_H
-#define CBUBBLERESOURCEMANAGER_H
-
-//  INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CEikImage;
-class CEikLabel;
-class CBubbleAnimationControl;
-class CCoeControl;
-class CBubbleManager;
-
-// CLASS DECLARATION
-
-/**
-*  Resource pool for CCoeControls.
-*
-*  @lib bubblemanager
-*  @since 1.0
-*/
-class CBubbleResourceManager :public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @param aParentWindow Main container
-        * @return New instance
-        */
-        static CBubbleResourceManager* NewL( CBubbleManager& aParentWindow );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleResourceManager();
-
-    public: // New functions
-        
-        /**
-        * Reserves CEikLabel object. Object must be released after use.
-        * @return CEikLabel object.
-        */
-        CEikLabel* ReserveEikLabel();
-
-        /**
-        * Releases CEikLabel object. 
-        * @param aLabel Object to be release. Pointer will be set to NULL.
-        */
-        void ReleaseEikLabel( CEikLabel*& aLabel );
-
-        /**
-        * Reserves CEikImage object. Object must be released after use.
-        * @return CEikImage object.
-        */
-        CEikImage* ReserveEikImage( TBool aIsBackgroundImage = EFalse );
-
-        /**
-        * Releases CEikImage object. 
-        * @param aImage Object to be release. Pointer will be set to NULL.
-        */
-        void ReleaseEikImage( CEikImage*& aImage );
-
-        /**
-        * Activates all the controls.
-        * @since 2.0
-        */
-        void ActivateL();
-
-    private:
-
-        // Enumeration for different resources
-        enum TBubbleResource
-            {
-            EBMEikImage = 0,
-            EBMEikLabel
-            };
-
-        /**
-        * C++ default constructor.
-        */
-        CBubbleResourceManager( CBubbleManager& aParentWindow );
-
-        /**
-        * 2nd phase constructor
-        */
-        void ConstructL();
-
-        /**
-        * Reserves one resource object.
-        */
-        void ReserveResource( 
-            CCoeControl*& aResource , 
-            TBubbleResource aType );
-
-        /**
-        * Releases current resource.
-        */
-        void ReleaseResource( 
-            CCoeControl*& aResource , 
-            TBubbleResource aType );
-
-    private:    // Data
-
-        typedef CArrayPtrFlat<CCoeControl> CSingleResource;
-
-        // array of max elements
-        RArray<TUint> iMaxAmounts;       
-        // array of resource arrays
-        CArrayPtrFlat<CSingleResource>* iResources; 
-        // array of info about usage
-        RArray<TUint> iAvailabilities; 
-
-        // Parent window for controls
-        CBubbleManager& iParentWindow;     
-
-    };
-
-#endif      // CBUBBLERESOURCEMANAGER_H 
-            
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMTouchPane.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +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:  Container control for touch controls.
-*
-*/
-
-
-#ifndef C_BUBBLECTOUCHPANE_H
-#define C_BUBBLECTOUCHPANE_H
-
-#include <coecntrl.h>
-#include "BMTouchPaneInterface.h"
-
-class CBubbleTouchPaneButton;
-class CAknButton;
-class TResourceReader;
-
-/**
- *  Container control for touch buttons.
- *
- *
- *  @lib bubblemanager.lib
- *  @since S60 v5.0
- */
-class CBubbleTouchPane : public CCoeControl,
-                         public MBubbleTouchPaneInterface,
-                         public MCoeControlObserver
-    {
-    public:
-    
-        /**
-        * Two phase constructor.
-        * @return New instance
-        */
-        static CBubbleTouchPane* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleTouchPane();
-        
-        /**
-        * To be called when skin is changed and icons
-        * should be reloaded from skin server.
-        */
-        void HandleResourceChange( TInt aType );
-        
-        /**
-        * To be called when BubbleManager is within start and end 
-        * changes block. TouchPane doesn't draw itself during
-        * update.
-        * @param aUpdating ETrue when ui update is in progress
-        *                  otherwise EFalse.
-        */
-        void SetUpdating( TBool aUpdating ); 
-
-    protected: // From MBubbleTouchPaneInterface.
-    
-        /**
-        * From MBubbleTouchPaneInterface.
-        */    
-        TInt SetButtonSet( TInt aResourceId );
-        
-        /**
-        * From MBubbleTouchPaneInterface.
-        */
-        void SetButtonState( TInt aCommand );
-        
-        /**
-        * From MBubbleTouchPaneInterface.
-        */
-        void SetButtonDimmed( TInt aCommand, TBool aDimmed );
-        
-        /**
-        * From MBubbleTouchPaneInterface.
-        */
-        TInt NumberOfButtonsInPane()  const;
-        
-        /**
-        * From MBubbleTouchPaneInterface.
-        */
-        TInt ButtonCommandId( TInt aButtonIndex ) const;
-        
-        /**
-        * From MBubbleTouchPaneInterface.
-        */
-        TInt ReplaceButton( TInt aButtonIndex, TInt aResourceId );
-        
-        /**
-        * From MBubbleTouchPaneInterface.
-        */
-        TBool ButtonHasState( TInt aButtonIndex, TInt aCommand ) const;
-        
-        /**
-        * From MBubbleTouchPaneInterface.
-        */
-        void SetIconProvider(
-            MBubbleTouchPaneIconProvider* aIconProvider );
-
-    protected: // From CCoeControl
-    
-        /**
-        * From CCoeControl.
-        */
-        void SizeChanged();
-        
-        /**
-        * From CCoeControl.
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * From CCoeControl.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * From CCoeControl.
-        */
-        void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-
-    protected: // MCoeControlObserver
-    
-        /**
-        * From MCoeControlObserver.
-        */
-        void HandleControlEventL(CCoeControl *aControl, TCoeEvent aEventType);    
-
-    private:
-    
-        /**
-        * Handles callback.
-        */
-        static TInt IdleCallback( TAny* aThis );
-        
-        /**
-        * Resets and destroyes touch pane buttons.
-        */
-        void DoDeleteButtonsInIdle();
-        
-        /**
-        * Creates buttons.
-        */
-        void LoadButtonsFromResourceL( TResourceReader& aReader );
-        
-        /**
-        * Sets used button resource.
-        */
-        void SetButtonSetL( TInt aResourceId );
-        
-        /**
-        * Replaces button with other.
-        */
-        void ReplaceButtonL( TInt aButtonIndex, TInt aResourceId );
-        
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CBubbleTouchPane();
-        
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL();
-        
-        
-    private: // data
-    
-        // Array of buttons.
-        RPointerArray<CBubbleTouchPaneButton> iButtons;
-        
-        // Owned.
-        CIdle* iIdleProcessor;
-        
-        // Async delete information.
-        TBool iDeleteButtonsAsync;
-        
-        // Button set id.
-        TInt iCurrentButtonSetId;
-        
-        // Array of buttons to be deleted.
-        RPointerArray<CBubbleTouchPaneButton> iButtonsToBeDeleted;
-        
-        // Icon provider.
-        MBubbleTouchPaneIconProvider* iIconProvider;
-        
-        // UI updating status flag.
-        TBool iUpdating;
-    };
-
-#endif // C_BUBBLECTOUCHPANE_H
--- a/phoneuis/BubbleManager/Inc/BMTouchPane.rh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +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:  Resource headers for project BubbleManager
-*
-*/
-
-
-#ifndef BMTOUCHPANE_RH
-#define BMTOUCHPANE_RH
-
-// ---------------------------------------------------------------------------
-// Touch pane button
-// ---------------------------------------------------------------------------
-//    
-STRUCT BUBBLE_TOUCH_PANE_BUTTON
-    {
-    WORD   commands[]; // command per button state
-    STRUCT button[];   // AVKON_BUTTON
-    }
-    
-// ---------------------------------------------------------------------------
-// Touch pane
-// ---------------------------------------------------------------------------
-//
-STRUCT BUBBLE_TOUCH_PANE
-    {
-    WORD flags=0;
-    LLINK buttons[]; // BUBBLE_TOUCH_PANE_BUTTON
-    }
-
-#endif // BMTOUCHPANE_RH
--- a/phoneuis/BubbleManager/Inc/BMTouchPaneButton.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,208 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Button for touch pane.
-*
-*/
-
-
-#ifndef BMTOUCHPANEBUTTON_H_
-#define BMTOUCHPANEBUTTON_H_
-
-#include <aknbutton.h>
-
-class MBubbleTouchPaneIconProvider;
-
-/**
- *  Contains touch button data.
- *  
- *  @code
- *   CBubbleTouchPaneButton* button = CBubbleTouchPaneButton::NewL( 
- *                                     iIconProvider);
- *   CleanupStack::PushL( button );
- *   button->ConstructFromResouceL( reader ); 
- *       
- *   CleanupStack::Pop( button );
- *   CleanupStack::PopAndDestroy(); // reader
- *       
- *   button->SetContainerWindowL( *this );
- *   button->SetObserver( this );    
- *   button->ActivateL();
- *  @endcode
- *
- *  @lib bubblemanager.lib
- *  @since S60 S60 v5.0
- */
-
-NONSHARABLE_CLASS( CBubbleTouchPaneButton ) : public CAknButton
-    {
-    public:
-        /**
-         * Two-phased constructor.
-         * @param aIconProvider the pointer to the icon provider
-         * @param aFlags The flags for the button
-         */
-        static CBubbleTouchPaneButton* NewL
-                    ( MBubbleTouchPaneIconProvider* aIconProvider,
-                      const TInt aFlags = 0 ); 
-        
-       
-
-        /**
-        * Destructor.
-        */
-        ~CBubbleTouchPaneButton();
-    
-    public:
-        /**
-         * Returns command id of the button
-         *
-         * @since S60 ?S60_version
-         * @param aPreviousState ?description
-         */
-        TInt CommandId( TBool aPreviousState = EFalse ) const;
-        
-        /**
-         * Checks does the button has the given command. 
-         *
-         * @since S60 v5.0
-         * @param aCommand the command 
-         * @return The ETrue if command can be found from iCommands array
-         */
-        TBool HasState( TInt aCommand ) const;
-        
-        /**
-         * Constructs controls from a resource file.
-         *
-         * @param aReader The resource reader, with which to access the 
-         *      control's resource values.
-         */      
-        void ConstructFromResouceL( TResourceReader& aReader );
-        
-        /**
-         * Sets the current state of the button.
-         *
-         * @since S60 v5.0
-         * @param aCommand the command
-         * @param aDrawNow ETrue to redraw the button.
-         */
-        void SetState( TInt aCommand, TBool aDrawNow );
-        
-        /**
-         * Sets button dimmed.
-         *
-         * @since S60 v5.0
-         * @param ?arg1 ?description
-         */
-        void SetDimmed( TBool aDimmed );
-        
-        /**
-         * Handles a change to the control's resources.
-         *
-         * @param aType is a message UID value.
-         */
-        void HandleResourceChange( TInt aType );
-        
-        /**
-         * Sets layout text and icon rectanble of the button. 
-         *
-         * @param aLayoutText the layout text
-         * @param aIconRect the rectangle of the button
-         */
-        void SetLayout( const TAknLayoutText aLayoutText,
-                        const TRect aIconRect);
-        
-        /**
-         * Sets correct graphics frame for button. 
-         *
-         * @param frameId the button which is pressed
-         */
-         TAknsItemID SelectPressedButton( TAknsItemID frameId )const; 
-    
-        /**
-         * Sets correct graphics frame for button. 
-         *
-         * @param frameId the button which is dimmed
-         */
-         TAknsItemID SelectDimmedButton( TAknsItemID frameId )const; 
-    protected:
-        
-        /**
-         * C++ constructor for the one state button.
-         *
-         * @param aIconProvider the pointer to the icon provider
-         * @param aFlags The flags for the button
-         */
-        CBubbleTouchPaneButton( 
-                   MBubbleTouchPaneIconProvider* aIconProvider,
-                   const TInt aFlags );
-        
-    protected: 
-        //from base class CCoeControl
-        /**
-         * From CCoeControl. 
-         * Draws the control. Called by window server.
-        */
-        void Draw(const TRect& aRect) const;
-        
-    private:
-        /**
-         * Symbian 2nd phase constructor.
-         */
-        void ConstructL();
-        
-        /**
-         * Loads icons using the given icon provider
-         * 
-         * @param aIconProvider the icon provider
-         */
-        void LoadCustomIcons( MBubbleTouchPaneIconProvider& aIconProvider );
-              
-        /**
-         * Draw text and icon according to the layout.
-         * 
-         * @param aGc the window graphics context
-         */ 
-        void LayoutIconAndText( CWindowGc& aGc ) const;
-        
-        /**
-         * Gets the correct text color.
-         * 
-         * @param aPenColor the RGB colour value
-         */
-        void GetTextColors( TRgb& aPenColor ) const; 
-        
-    private: // data
-        /**
-         * Array of the button commands.
-         */
-        RArray<TInt> iCommands;
-       
-        /**
-         * Touch pane icon provider.
-         * Not own.
-         */
-        MBubbleTouchPaneIconProvider* iIconProvider;
-        
-        /**
-         * Layout text
-         */
-        TAknLayoutText iLayoutText;
-        
-        /**
-         * Rectangle of the icon of the button.
-         */
-        TRect iIconRect;
-    };
-
-#endif /*BMTOUCHPANEBUTTON_H_*/
--- a/phoneuis/BubbleManager/Inc/BMTouchPaneInterface.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface to add bubble touch pane buttons.
-*
-*/
-
-
-#ifndef M_BUBBLETOUCHPANEINTERFACE_H
-#define M_BUBBLETOUCHPANEINTERFACE_H
-
-#include <e32std.h>
-
-class CGulIcon;
-class TAknsItemID;
-
-/**
- *  Interface for obtaining icon from skin, the icon is shown in touch pane 
- *  button. The client using MBubbleTouchPaneInterface must implement this
- *  to support skinning.
- */
-class MBubbleTouchPaneIconProvider
-    {
-public:        
-    /**
-     * Gets icon for command.
-     *
-     * @since S60 v5.0
-     * @param aCommandId The command id.
-     * @return Icon instance. NULL if icon doesn't exist for command.
-     */
-    virtual CGulIcon* GetIconForCommandL( TInt aCommandId ) = 0;
-
-    /**
-    * Gets button for command.
-    *
-    * @since TB 9.2
-    * @param aCommandId The command id.
-    * @return frameId. Normal if special button doesn't exist for command.
-    */
-    virtual TAknsItemID GetButtonForCommandL( TInt aCommandId ) = 0;
-
-    };
-
-/**
- *  Interface to add bubble touch pane buttons.
- *
- *
- *  @lib bubblemanager.lib
- *  @since S60 v5.0
- */
-class MBubbleTouchPaneInterface
-    {
-public:
-    /**
-     * Constructs touch pane buttons from resource.
-     *
-     * @since S60 v5.0
-     * @param aResourceId Resource id. 0 = empty set.
-     * @return Error code.
-     */
-    virtual TInt SetButtonSet( TInt aResourceId ) = 0;
-    
-    /**
-     * Sets toggling button to the state, which triggers
-     * the given command, when pressed.
-     *
-     * @since S60 v5.0
-     * @param aCommand Command id.
-     */
-    virtual void SetButtonState( TInt aCommand ) = 0;
-    
-    /**
-     * Sets button dimmed.
-     *
-     * Toggling buttons should be set to a state, where aCommand
-     * is the active command before applying this method.
-     *
-     * @since S60 v5.0
-     * @param aCommand Command id.
-     * @param aDimmed  ETrue to set dimmed, EFalse to undim.
-     */
-    virtual void SetButtonDimmed( TInt aCommand, TBool aDimmed ) = 0;
-    
-    /**
-     * Returns number of buttons in touch pane.
-     *
-     * @since S60 v5.0
-     * @return Button count.
-     */
-    virtual TInt NumberOfButtonsInPane()  const = 0;
-    
-    /**
-     * Returns command id assinged to button in given position.
-     * If button is toggling, currently active command is 
-     * returned.
-     *
-     * @since S60 v5.0
-     * @param aButtonIndex Button index starting 0.
-     * @return Command id assigned to given position.
-     */
-    virtual TInt ButtonCommandId( TInt aButtonIndex )  const = 0;
-    
-    /**
-     * Checks if button has state that generates given command.
-     *
-     * @since S60 v5.0
-     * @param aButtonIndex Button index starting 0.
-     * @param aCommand Command id.
-     * @return ETrue if button has this state, otherwise EFalse.
-     */
-    virtual TBool ButtonHasState( TInt aButtonIndex, TInt aCommand )  const = 0;
-    
-    /**
-     * Replaces button in given position. 
-     *
-     * @since S60 v5.0
-     * @param aButtonIndex Button to be replaced.
-     * @param aResourceId Resource definiton of replacing button.
-     * @return Error code.
-     */
-    virtual TInt ReplaceButton( TInt aButtonIndex,
-                                TInt aResourceId ) = 0;
-                                
-    /**
-     * Set icon provider.
-     *
-     * @since S60 v5.0
-     * @param aIconProvider Provider interface.
-     */
-    virtual void SetIconProvider(
-        MBubbleTouchPaneIconProvider* aIconProvider ) = 0;                                
-    };
-
-#endif // M_BUBBLETOUCHPANEINTERFACE_H
--- a/phoneuis/BubbleManager/Inc/BMTrace.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Macros for tracing.
-*
-*/
-
-
-
-#ifndef BUBBLETRACE_H
-#define BUBBLETRACE_H
-
-#ifdef _DEBUG
-
-// INCLUDES
-#include <e32svr.h>
-
-// CONSTANTS
-
-const TInt KBubbleDebugBufferSize = 60;
-
-// MACROS
-
-typedef TBuf<KBubbleDebugBufferSize> TBubbleDebBuf;
-
-#define BUBBLE_PRINT(x) { _LIT( KBubbleDebugPrintPrefix, "BM: ");\
-    TBubbleDebBuf buf( KBubbleDebugPrintPrefix);\
-    if ((_L(x).Length()) + buf.Length() <= KBubbleDebugBufferSize )\
-        buf.Append(_L(x)); RDebug::Print(buf); }
-
-#define BUBBLE_PRINTF(x,y) { _LIT( KBubbleDebugPrintPrefix, "BM: ");\
-    TBubbleDebBuf buf( KBubbleDebugPrintPrefix);\
-    if ((_L(x).Length()) + buf.Length() <= KBubbleDebugBufferSize )\
-        buf.Append(_L(x)); RDebug::Print(buf,y);}
-
-#define BUBBLE_PRINTF2(x,y,z) { _LIT( KBubbleDebugPrintPrefix, "BM: ");\
-    TBubbleDebBuf buf( KBubbleDebugPrintPrefix);\
-    if ((_L(x).Length()) + buf.Length() <= KBubbleDebugBufferSize )\
-        buf.Append(_L(x)); RDebug::Print(buf,y,z); }
-
-#else // !_DEBUG
-
-#define BUBBLE_PRINT(x)
-#define BUBBLE_PRINTF(x,y)
-#define BUBBLE_PRINTF2(x,y,z)
-
-#endif      // _DEBUG
-
-#endif      // BUBBLETRACE_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMUtils.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,523 +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: 
-*     Some utility functions to other classes
-*
-*/
-
-
-#ifndef BUBBLEUTILS_H
-#define BUBBLEUTILS_H
-
-// INCLUDES
-#include "BMBubbleManager.h"
-#include <calslbs.h>
-
-// FORWARD DECLARATIONS
-class CBubbleHeader;
-class CEikImage;
-class CEikLabel;
-class CBubbleImageManager;
-class TAknLayoutRect;
-class CBubbleCallObjectImage;
-class CTelBubbleCustomElement;
-
-// CLASS DECLARATION
-
-class TBubbleLayoutRect
-    {    
-public:
-    TBubbleLayoutRect();
-    void SetRect( const TPoint& aPoint, const TSize& aSize );    
-    void SetColor( const TRgb aColor );
-    TRgb Color() const;
-    TRect Rect() const;
-private:
-    TRgb iColor;
-    TRect iRect;
-    };
-
-
-/**
-*  CBubbleUtils class
-*  Some utility functions to other classes
-*
-*  @lib bubblemanager.lib
-*  @since 1.0
-*/
-class BubbleUtils
-    {
-    public: // Data types
-
-        // Text place enumeration 
-        enum KBubbleUtilsHeaderTextPlace
-            {
-            EBubbleHeaderCLI,
-            EBubbleHeaderLabel,
-            EBubbleHeaderTimerCost,
-            EBubbleHeaderCNAP
-            };
-
-    public: // Member functions
-        
-        /**
-        * Sets call type indicators in type pane
-        * @param aHeader Header which contains the information
-        * @param aTypeImage1 The selected (left one) bitmap is attached to 
-        *                    this image
-        * @param aTypeImage2 The selected (right one) bitmap is attached to 
-        *                    this image
-        * @param aBubbleManager Reference to BubbleManager
-        * @return Is at least one image set?
-        */   
-        static TBool SetCallTypePane( const CBubbleHeader& aHeader, 
-                                      CEikImage*& aTypeImage1, 
-                                      CEikImage*& aTypeImage2, 
-                                      CBubbleManager& aBubbleManager );
-
-        /**
-        * Sets ciphering off icon to image
-        * @param aHeader Header which contains the information
-        * @param aCypfOffImage The selected bitmap is attached to this image
-        * @param aBubbleManager Reference to BubbleManager
-        * @return Is image set?
-        */
-        static TBool SetCyphOffImage( const CBubbleHeader& aHeader, 
-                                      CEikImage*& aCypfOffImage, 
-                                      CBubbleManager& aBubbleManager );
-
-        
-        /**
-        * Selects text to lines ( for bottom, bottom right and middle bubbles)
-        * @param aHeader Header which contains the information
-        * @param aFirstLineText Text which goes to line 1 in the bubble
-        * @param aSecondLineText Text which goes to line 2 in the bubble
-        * @param aTimerCost Text which goes to timer/cost in the bubble
-        * @param aTextLine1 Component for resource allocation.
-        * @param aTextLine2 Component for resource allocation.
-        * @param aBubbleManager Bubblemanager reference.
-        * @param aFirstLineDir First line text clipping direction
-        * @param aSecondLineDir Second line text clipping direction
-        * @param aTextLineNumber On return contains the text-part line number 
-        */
-        static void ChooseTextsToTwoLines( const CBubbleHeader& aHeader,
-            TPtrC& aFirstLineText,
-            TPtrC& aSecondLineText,
-            CEikLabel*& aTimerCost,
-            CEikLabel*& aTextLine1,
-            CEikLabel*& aTextLine2,
-            CBubbleManager& aBubbleManager,
-            CBubbleManager::TPhoneClippingDirection& aFirstLineDir,
-            CBubbleManager::TPhoneClippingDirection& aSecondLineDir,
-            TUint8& aTextLineNumber );
-        
-        /**
-        * Selects text to lines ( for bottom, bottom right and middle bubbles)
-        * @param aHeader Header which contains the information
-        * @param aFirstLineText Text which goes to line 1 in the bubble
-        * @param aSecondLineText Text which goes to line 2 in the bubble
-        * @param aThirdLineText Text which goes to line 2 in the bubble
-        * @param aTimerCost Text which goes to timer/cost in the bubble
-        * @param aTextLine1 Component for resource allocation.
-        * @param aTextLine2 Component for resource allocation.
-        * @param aTextLine3 Component for resource allocation.
-        * @param aBubbleManager Bubblemanager reference.
-        * @param aFirstLineDir First line text clipping direction
-        * @param aSecondLineDir Second line text clipping direction
-        * @param aThirdLineDir Third line text clipping direction
-        * @param aTextLineNumber On return contains the text-part line number 
-        * @since Series60 2.6
-        */
-        static void ChooseTextsToThreeLines( const CBubbleHeader& aHeader,
-            TPtrC& aFirstLineText,
-            TPtrC& aSecondLineText,
-            TPtrC& aThirdLineText,
-            CEikLabel*& aTimerCost,
-            CEikLabel*& aTextLine1,
-            CEikLabel*& aTextLine2,
-            CEikLabel*& aTextLine3,
-            CBubbleManager& aBubbleManager,
-            CBubbleManager::TPhoneClippingDirection& aFirstLineDir,
-            CBubbleManager::TPhoneClippingDirection& aSecondLineDir,
-            CBubbleManager::TPhoneClippingDirection& aThirdLineDir,
-            TUint8& aTextLineNumber );
-            
-        /**
-        * Selects text to lines
-        * @param aHeader Header which contains the information
-        * @param aFirstLineText Text which goes to line 1 in the bubble
-        * @param aSecondLineText Text which goes to line 2 in the bubble
-        * @param aThirdLineText Text which goes to line 2 in the bubble
-        * @param aTimerCost Text which goes to timer/cost in the bubble
-        * @param aTextLine1 Component for resource allocation.
-        * @param aTextLine2 Component for resource allocation.
-        * @param aTextLine3 Component for resource allocation.
-        * @param aTextLine4 Component for resource allocation.
-        * @param aTextLine5 Component for resource allocation.
-        * @param aBubbleManager Bubblemanager reference.
-        * @param aFirstLineDir First line text clipping direction
-        * @param aSecondLineDir Second line text clipping direction
-        * @param aThirdLineDir Third line text clipping direction
-        * @param aTextLineNumber On return contains the text-part line number 
-        * @param aThreeLinesOfText Three lines of call text.
-        * @since Series60 2.6
-        */
-        static void ChooseTextsToFiveLines( const CBubbleHeader& aHeader,
-            TPtrC& aFirstLineText,
-            TPtrC& aSecondLineText,
-            TPtrC& aThirdLineText,
-            CEikLabel*& aTextLine1,
-            CEikLabel*& aTextLine2,
-            CEikLabel*& aTextLine3,
-            CEikLabel*& aTextLine4,
-            CEikLabel*& aTextLine5,
-            CBubbleManager& aBubbleManager,
-            CBubbleManager::TPhoneClippingDirection& aFirstLineDir,
-            CBubbleManager::TPhoneClippingDirection& aSecondLineDir,
-            CBubbleManager::TPhoneClippingDirection& aThirdLineDir,
-            TUint8& aTextLineNumber,
-            TBool aThreeLinesOfText );            
-
-        /**
-        * Selects from longer text (format: "longone\tshort") which one to use
-        * @param aText String containing at least long version of the text
-        * @param aLabel Label which width has been set and the text will be 
-        *               clipped to.
-        * @param aClipDir Text's clipping direction
-        */
-        static void SetTextInLabel( 
-                     const TDesC16& aText, 
-                     CEikLabel*& aLabel ,
-                     const CBubbleManager::TPhoneClippingDirection& aClipDir );
-        
-        /**
-        * Sets given text to label - clips if needed.
-        * @param aText String containing the used text
-        * @param aLabel Label which width has been set and the text will be 
-        *               clipped to.
-        * @param aClipDir Text's clipping end
-        */    
-        static void ClipToLabel ( 
-                    const TDesC16& aText, 
-                    CEikLabel*& aLabel ,
-                    const CBubbleManager::TPhoneClippingDirection& aClipDir );
-        
-
-        /**
-        * Draws image to screen. Pointer check added to previos function.
-        * @param aGc Context to draw to
-        * @param aImage Drawable image - with mask!
-        * @return EFalse if image was not drawn.
-        */
-        static TBool DrawMaskedImage( CBitmapContext& aGc , CEikImage* aImage );
-        
-        /**
-        * Tries to set text to label.
-        * @param aLabel Label to set the text to
-        * @param aText The text.
-        */
-        static void AddTextToEikLabel( 
-            CEikLabel*& aLabel , 
-            const TDesC& aText);
-        
-        /**
-        * Adds text to call header. Cuts the text if not fit.
-        * @param aHeader The header
-        * @param aTextPlace Enum for text position
-        * @param aTextToSet Original text.
-        * @param aMaxLength Text max length
-        * @param aClipDirection If text is too long, then cnut it.
-        */
-        static void AddTextToHeader( CBubbleHeader& aHeader,
-            const KBubbleUtilsHeaderTextPlace aTextPlace,
-            const TDesC& aTextToSet,
-            const TInt aMaxLength,
-            const CBubbleManager::TPhoneClippingDirection aClipDirection );
-
-        
-        /**
-        * The next three calls AknLayoutUtils's functions after they have 
-        * checked the pointer.
-        */ 
-        static void LayoutControl( 
-            CCoeControl* aControl, 
-            const TRect& aControlParent, 
-            const TAknWindowLineLayout& aLayout );
-        
-        static void LayoutBackgroundImage( 
-            CEikImage* aImage, 
-            const TRect& aParent, 
-            const TAknWindowLineLayout& aLayout);
-
-        static void LayoutImage( 
-            CEikImage* aImage, 
-            const TRect& aParent, 
-            const TAknWindowLineLayout& aLayout);
-
-        static void LayoutLabel( 
-            CEikLabel* aLabel, 
-            const TRect& aLabelParent, 
-            const TAknTextLineLayout& aLayout );
-        
-        static void LayoutImage( 
-            CEikImage* aImage, 
-            const TRect& aParent, 
-            const AknLayoutUtils::SAknLayoutControl& aLayout );
-        
-        static void LayoutCustomElement(
-            CTelBubbleCustomElement* aElement, 
-            const TRect& aParent, 
-            const TAknWindowLineLayout& aLayout); 
-        
-        /**
-        * Converts western number string to Arabic-Indic if needed.
-        * @since 2.0
-        * @param aResult Result buffer. aResult.MaxLength() must be greater 
-                                        or equal to aSource.Length().
-        * @param aSource Original string.
-        */
-        static void ConvertToArabicIndic( 
-            TDes& aResult , 
-            const TDesC& aSource );
-
-        /**
-        * Converts western number string to Arabic-Indic if needed.
-        * @since 2.0
-        * @param aDes Source and destination
-        */
-        static void ConvertToArabicIndic( TDes& aDes );
-
-        /**
-        * Converts western number string to Arabic-Indic if needed.
-        * @since 2.0
-        * @param aResult Original string.
-        * @return Result buffer. NULL in OOM case. Ownership transferred.
-        */
-        static HBufC* ConvertToArabicIndic( const TDesC& aDes );
-
-
-        /**
-        * Set call type pane
-        * @since 2.0
-        * @param aBubblePlace Bubble place from CBubblePlace.
-        * @param aParent Parent control
-        * @param aTypeIndication1 Left indicator.
-        * @param aTypeIndication2 Rigth indicator.
-        */
-        static void SetLayoutForCellTypePane( 
-            const CBubblePlace::TPhoneBubblePlace& aBubblePlace,
-            const TRect& aParent,
-            CEikImage* aTypeIndication1,
-            CEikImage* aTypeIndication2 );
-
-        /**
-        * Set cyphering off icon place
-        * @since 2.0
-        * @param aHeader Call information.
-        * @param aBubblePlace Bubble place from CBubblePlace.
-        * @param aParent Parent control
-        * @param aCyphOffImage The image.
-        */
-        static void SetLayoutFofCypheringOffIcon(
-            const CBubbleHeader& aHeader,
-            const CBubblePlace::TPhoneBubblePlace& aBubblePlace,
-            const TRect& aParent,
-            CEikImage* aCyphOffImage );
-
-        /**
-        * Places thumbnail image
-        * @param aBubblePlace Bubble place from CBubblePlace
-        * @param aImage The thumbnail image
-        * @param aClippingRect Clipping rectangle.
-        * @param aShadow Thumbnail shadow
-        * @param aParentRect Parent control.
-        */
-        static void PlaceThumbnail(
-            const CBubblePlace::TPhoneBubblePlace& aBubblePlace,
-            CEikImage* aImage , 
-            TBubbleLayoutRect& aShadow,
-            const TRect& aParentRect,
-            CFbsBitmap* aThumbNailBitmap );
-
-
-        /**
-        * 
-        * @param aParent Parent control.
-        * @param aWidth Width of the thumbnail image.
-        * @return ETrue if customized image, else EFalse.
-        */
-        static TBool IsCustomizedImage( const TRect& aParent, const TInt aWidth );
-
-        /**
-        * 
-        * @param aParent Parent control.
-        * @param aWidth Width of the thumbnail image.
-        * @return TInt Internal type of the image used.
-        */
-        static TInt GetThumbnailImageType( const TRect& aParent, const TInt aWidth );
-        /**
-        * @param aLabel Label control to be resized.
-        * @param aParent Parent control.
-        * @param aWidth Width of the thumbnail image.
-        */
-        static void LabelExtent( CEikLabel* aLabel, 
-                                 const TRect& aParent, 
-                                 const TInt aWidth );
-        
-        /**
-        * @param aFileName Icon file name.
-        */
-        static void BubbleIconFileName( TDes& aFileName );
-
-        /**
-        * @param aFileName Resource file name.
-        */
-        static void BubbleResourceFileName( TDes& aFileName );
-
-        /**
-        * Selects from longer text (format: "longone\tshort") which one to use
-        * @param aText String containing at least long version of the text
-        * @param aLabel Label which width has been set and the text will be 
-        *               clipped to.
-        * @param aClipDir Text's clipping direction
-        */
-        static void SetTextInLabel( 
-                     const TDesC16& aText, 
-                     CEikLabel& aLabel ,
-                     const CBubbleManager::TPhoneClippingDirection& aClipDir );
-                     
-        /**
-        * Sets given text to label - clips if needed.
-        * @param aText String containing the used text
-        * @param aLabel Label which width has been set and the text will be 
-        *               clipped to.
-        * @param aClipDir Text's clipping end
-        */
-        static void ClipToLabel ( 
-                    const TDesC16& aText, 
-                    CEikLabel& aLabel ,
-                    const CBubbleManager::TPhoneClippingDirection& aClipDir );
-
-        /**
-        * Tries to set text to label.
-        * @param aLabel Label to set the text to
-        * @param aText The text.
-        */                    
-        static void AddTextToEikLabel( CEikLabel& aLabel , const TDesC& aText);
-        
-        /**
-        * Creates bubble image from 9-pieceframe.
-        * @since 3.1
-        * @param aFrameID Skin id for frame.
-        * @param aOuterRect Outer rectangle.
-        * @param aInnerRect Inner rectangle.
-        * @param aBubble Bubble image.
-        */
-        static void PrepareBubbleImageL(
-            const TAknsItemID& aFrameID,
-            const TRect& aOuterRect,
-            const TRect& aInnerRect,    
-            CEikImage*& aBubble );
-            
-        /**
-        * Makes bubble image transparent based on given 
-        * 9-piece mask frame.
-        * @since 3.1
-        * @param aFrameID Skin id for frame.
-        * @param aOuterRect Outer rectangle.
-        * @param aInnerRect Inner rectangle.
-        * @param aBubble Bubble image.
-        */
-        static void AddTransparencyToBubbleImageL(
-            const TAknsItemID& aFrameID,
-            const TRect& aOuterRect,
-            const TRect& aInnerRect,    
-            CEikImage*& aBubble );
-            
-        /**
-        * Adds call object image to bubble image.
-        * @since 3.1
-        * @param aCOImage Image.
-        * @param aCOImageMask Image mask.
-        * @param aCallObjectRect Call object location in bubble.
-        * @param aFrameID Mask frame for image fading.
-        * @param aOuterRect Frame outer rectangle.
-        * @param aInnerRect Frame inner rectangle.
-        * @param aBubble Bubble image.
-        * @param aDimmed ETrue if image is shown dimmed.
-        */
-        static void PrepareCallObjectToBubbleImageL(
-            const CFbsBitmap* aCOImage,
-            const CFbsBitmap* aCOImageMask,
-            const TRect& aCallObjectRect,
-            const TAknsItemID& aFrameID,
-            const TRect& aOuterRect,
-            const TRect& aInnerRect,
-            CEikImage*& aBubble,
-            TBool aDimmed = EFalse );                                    
-
-        /**
-        * Fallback background drawing. This method can be used to draw background,
-        * if skin/bitmap graphichs cannot be used (e.g. due to OOM).
-        * @param aRect Rectangle.
-        */                    
-        static void DrawBackgroundRect( CBitmapContext& aGc,
-                                        const TRect& aRect );
-
-        /**
-        * Layouts call type indicators in call type pane.
-        * @since S60 3.2
-        * @param aParent Parent rectangle.
-        * @param aCallTypePane Call type pane.
-        * @param aTypeIndication1 First indicator.
-        * @param aTypeIndication2 Second indicator.
-        */                                        
-        static void LayoutCallTypeIndicators(
-            const TRect& aParent,
-            const TAknWindowLineLayout& aCallTypePane,
-            CEikImage* aTypeIndication1,
-            CEikImage* aTypeIndication2 );                                         
-        
-        
-        /**
-        * Prepares call image attached to call header to be
-        * ready for drawing.
-        * @since S60 3.2
-        * @param aHeader Call header.
-        * @param aSize Displayable size for call image.
-        */
-        static void PrepareCallObjectImageL( 
-            CBubbleHeader& aHeader, 
-            const TSize& aSize );
-            
-        /**
-        * Combines given masks to new mask bitmap.
-        * @since S60 5.0
-        * @param aPrimaryMask Mask treated as primary mask.
-        * @param aSecondaryMask Mask treated as secondary mask.
-        * @return The combined mask.
-        */
-        static CFbsBitmap* CreateCombinedMaskL(
-           const CFbsBitmap* aPrimaryMask,
-           const CFbsBitmap* aSecondaryMask );            
-
-    private:
-        static void DrawMaskedImage( CBitmapContext& aGc , CEikImage& aImage );
-
-
-};
-
-#endif //BUBBLEUTILS_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMVideoController.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +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:  Video player controller.
-*
-*/
-
-
-#ifndef C_BUBBLEVIDEOCONTROLLER_H
-#define C_BUBBLEVIDEOCONTROLLER_H
-
-#include "BMVideoPlayerObserver.h"
-#include "BMVideoPlaybackObserver.h"
-#include "BMBubbleManager.h"
-#include <AknsItemID.h>
-
-// FORWARD DECLARATIONS
-class CBubbleVideoPlayer;
-class CBubbleVideoContainer;
-
-/**
- *  Video player controller.
- *
- *
- *  @lib BubbleManager
- *  @since S60 3.2
- */
-class CBubbleVideoController : public CActive,
-                               private MBubbleVideoPlayerObserver
-    {
-public:
-    // State
-    enum TVideoControllerState
-        {
-        EIdle,
-        EReportingError,
-        EReportingEvent    
-        };
-
-public:
-    /**
-     * Two phased constructor.
-     *
-     * @since S60 3.2
-     * @param aBubbleManager Bubble manager reference.
-     */
-    static CBubbleVideoController* NewL( 
-        CBubbleManager& aBubbleManager );
-        
-    // Destructor
-    virtual ~CBubbleVideoController();
-
-    /**
-     * Sets playing parameters.
-     *
-     * @since S60 3.2
-     * @param aFileName Video clip to be played.
-     * @param aPlayMode Play mode.
-     * @param aVolumeLevel Volume level.
-     * @param aArbitraryScaling Set ETrue if free video scaling.
-     * @param aObserver Observer for playback events.
-     */
-    void PrepareToPlayVideo( 
-        const TDesC& aFileName,
-        CBubbleManager::TBubbleVideoPlayMode aPlayMode,
-        TInt aVolumeLevel,
-        TBool aArbitraryScaling,
-        MBubbleVideoPlaybackObserver* aObserver );
-
-    /**
-     * Starts video playing.
-     *
-     * @since S60 3.2
-     */
-    void CreatePlayerAndPlay();
-    
-    /**
-     * Stops video playing deletes player.
-     *
-     * @since S60 3.2
-     */
-    void StopAndDeletePlayer();
-    
-    /**
-     * Stops video playing.
-     *
-     * @since S60 3.2
-     */
-    void StopPlaying();
-    
-    /**
-     * Mutes video playing.
-     *
-     * @since S60 3.2
-     */
-    void MutePlaying();
-    
-    /**
-     * To be called when screen orientation changes.
-     *
-     * @since S60 3.2
-     */
-    void HandleLayoutChange();
-    
-    /**
-     * Set panes for qcif sized video. 
-     *
-     * @since S60 3.2
-     */
-    void SetQcifVideoPaneRects( const TRect& aVideoPane,
-                                const TRect& aUncropPane );
-                            
-    /**
-     * Set panes for subqcif sized video. 
-     *
-     * @since S60 3.2
-     */
-    void SetSubQcifVideoPaneRects( const TRect& aVideoPane,
-                                   const TRect& aUncropPane );                            
-                              
-    /**
-     * Set parameters needed to draw video pane.
-     *
-     * @since Series 60 3.2
-     * @param aFrameId Skin id of the frame.
-     * @param aOuterRect Outer frame rectangle.
-     * @param aInnerRect Inner frame rectangle.
-     */
-    void SetVideoPaneBackgroundFrame( const TAknsItemID& aFrameId,
-                                      const TRect& aOuterRect,
-                                      const TRect& aInnerRect );                                                             
-
-private: // From MBubbleVideoPlayerObserver
-    void HandleVideoPlayerError( 
-        TBubbleVideoPlayerErrorEvent aEvent,
-        TInt aError );
-    
-    void HandleVideoPlayerInitComplete();
-
-    void HandleVideoPlayerPlayingComplete(); 
-    
-    void HandleVideoPlayerBlittingAreaDefined( const TRect& aBlitRect );
-    
-private: // From CActive
-    void RunL();
-        
-    void DoCancel();
-    
-private:
-    void DoPlayL();
-    void ReportErrorAsync( 
-        MBubbleVideoPlaybackObserver::TBubbleVideoPlaybackError aErrorType,
-        TInt aErrorCode );
-    void ReportEventAsync( 
-        MBubbleVideoPlaybackObserver::TBubbleVideoPlaybackEvent aEvent);
-    void LayoutContainer();
-    void UpdateContainerBackground();
-    void Reset();
-    inline void EnableRedraws();
-    inline void DisableRedraws();
-    
-private:
-    CBubbleVideoController( 
-        CBubbleManager& aBubbleManager );
-
-    void ConstructL();
-
-private: // data
-    CBubbleManager& iBubbleManager;
-    
-    // Playback parameters
-    HBufC* iFileName; // Owned
-    CBubbleManager::TBubbleVideoPlayMode iPlayMode;
-    TInt iVolumeLevel;
-    TBool iArbitraryScaling;
-    MBubbleVideoPlaybackObserver* iObserver;
-        
-    // Player and ui controls
-    CBubbleVideoPlayer*    iPlayer; // Owned
-    CBubbleVideoContainer* iContainer; // Owned
-    TRect                  iUncropPane; // Video cropping
-
-    // Active object state
-    TVideoControllerState iState;
-    MBubbleVideoPlaybackObserver::TBubbleVideoPlaybackError iErrorType;
-    TInt iErrorCode;
-    MBubbleVideoPlaybackObserver::TBubbleVideoPlaybackEvent iEventCode;
-    
-    // Video layouts, set from video outlooks
-    TRect iVideoPaneRectQcif;
-    TRect iUncropPaneRectQcif;
-    TRect iVideoPaneRectSubQcif;
-    TRect iUncropPaneRectSubQcif;
-    
-    // Data for container window.
-    TAknsItemID iBgFrameId;
-    TRect iBgFrameOuterRect;
-    TRect iBgFrameInnerRect;
-    };
-
-#endif // C_BUBBLEVIDEOCONTROLLER_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BMVideoPlaybackObserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Video playback observer interface
-*
-*/
-
-
-#ifndef M_BUBBLEVIDEOPLAYBACKOBSERVER_H
-#define M_BUBBLEVIDEOPLAYBACKOBSERVER_H
-
-
-/**
- *  Video playback observer interface
- *
- *
- *  @lib BubbleManager
- *  @since S60 v3.2
- */
-class MBubbleVideoPlaybackObserver
-    {
-public:
-
-    /**  Playback events */
-    enum TBubbleVideoPlaybackEvent
-        {
-        EPlayerInitComplete,
-        EPlaying,
-        EPlayingComplete    
-        };
-
-    /**  Playback error types */        
-    enum TBubbleVideoPlaybackError
-        {
-        EPlayerInitFailure,
-        EPlaybackFailure    
-        };        
-
-    /**
-     * HandleBubbleVideoPlaybackEvent
-     *
-     * @since S60 v3.2
-     * @param aEvent Playback event.
-     */
-    virtual void HandleBubbleVideoPlaybackEvent( 
-        TBubbleVideoPlaybackEvent aEvent ) = 0;        
-
-    /**
-     * HandleBubbleVideoPlaybackError
-     *
-     * @since S60 v3.2
-     * @param aErrorType Playback error type.
-     * @param aErrorCode System wide error code.
-     */            
-    virtual void HandleBubbleVideoPlaybackError(
-        TBubbleVideoPlaybackError aErrorType, TInt aErrorCode ) = 0;
-    };
-
-#endif // M_BUBBLEVIDEOPLAYBACKOBSERVER_H
--- a/phoneuis/BubbleManager/Inc/BMVideoPlayer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +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:  Video player implementaion.
-*
-*/
-
-
-#ifndef C_BUBBLEVIDEOPLAYER_H
-#define C_BUBBLEVIDEOPLAYER_H
-
-#include <videoplayer.h>
-
-// FORWARD DECLARATIONS
-class MBubbleVideoPlayerObserver;
-
-/**
- *  Video ringing tone player
- *
- *  Uses CVideoPlayerUtility to play video clips.
- *
- *  @lib BubbleManager.lib
- *  @since S60 v3.2
- */
-class CBubbleVideoPlayer : public CBase,
-                           public MVideoPlayerUtilityObserver
-    {
-    public:
-        enum TVideoPlayerState // from MMF-VideoPlayer IF spec.
-            {
-            EVideoError = -1,
-            EVideoClosed,
-            EVideoOpening,
-            EVideoOpen,
-            EVideoPreparing,
-            EVideoReady, // player's stopped state
-            EVideoPlaying,
-            EVideoPaused
-            };
-
-        enum TRingingType
-            {
-            ETypeRinging,
-            ETypeRingingOnce,
-            ETypeAscending
-            };
-
-        enum TVideoResolution
-            {
-            EVideoOther = -1,
-            EVideoQCIF,
-            EVideoSubQCIF
-            };
-
-    public:  // Constructor and destructor
-
-        /**
-        * Two-phased constructor.
-        * @param aRingingTone The ringing tone
-        * @param aPriority The priority for the playing
-        * @param aPreference The preference value
-        * @param aObserver Video player observer
-        * @param aVideo Window for video
-        * @return The instance of the video player.
-        */
-        static CBubbleVideoPlayer* NewL( 
-            const TDesC& aRingingTone, 
-            TInt aPriority, 
-            TUint aPreference,
-            MBubbleVideoPlayerObserver& aObserver, 
-            RWindow& aVideoTarget );
-
-        /**
-        * Two-phased constructor (non leaving).
-        * @param aFileName The ringing tone
-        * @param aPriority The priority for the playing
-        * @param aPreference The preference value
-        * @param aObserver Video player observer
-        * @param aVideo Window for video
-        * @return The instance of the video player. NULL is
-        *         returned if creation failed.
-        */
-        static CBubbleVideoPlayer* New( 
-            const TDesC& aRingingTone, 
-            TInt aPriority, 
-            TUint aPreference,
-            MBubbleVideoPlayerObserver& aObserver, 
-            RWindow& aVideoTarget );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBubbleVideoPlayer();
-
-    public:
-        /**
-        * Plays the loaded video.
-        * @since Series 60 v3.2
-        * @param aRingingType Ringing type.
-        * @param aVolume take value from 1 to 10
-        */
-        void Play( TRingingType aRingType, TInt aVolume );
-
-        /**
-        * Stops video playback.
-        * @since Series 60 v3.2
-        */
-        void StopPlaying();
-        
-        /**
-        * Pauses video playback.
-        * @since Series 60 v3.2
-        * @return KErrNone is successful.
-        */
-        TInt PausePlaying();
-        
-        /**
-        * Resumes video playback.
-        * @since Series 60 v3.2
-        */
-        void ResumePlaying();
-        
-        /**
-        * Make video to play silent.
-        * @since Series 60 v3.2
-        */
-        void MuteAudio();
-
-        /**
-        * Get the state of the phone video player.
-        * @since Series 60 v3.2
-        * @return The status of video player
-        */
-        TVideoPlayerState State() const;
-
-        /**
-        * Get the resolution of the loaded video.
-        * @since Series 60 v3.2
-        * @return The resolution.
-        */
-        TVideoResolution VideoResolution() const;
-
-        /**
-        * Scales and crops video to cover target window.
-        * @since Series 60 v3.2
-        * @param aDisplayWindow Window for video.
-        * @param aUncropPane Rectangle for cropping control.
-        * @param aArbitaryScalingSupported Scaling capability of the device.
-        */
-        void AdjustToWindow( RWindow& aDisplayWindow,
-                             const TRect& aUncropPane,
-                             TBool aArbitaryScalingSupported = EFalse );
-        
-        /**
-        * Scales and crops video to cover target window. This method
-        * doens't use uncrop pane and crops video only when needed.
-        * Allowed cropping can be set via KPhoneMaxVideoCrop.
-        * Cropped video is centered to video pane.
-        * This metdod should be used only when video player supports
-        * arbitrary scaling of video image.
-        * @since Series 60 v3.2
-        * @param aDisplayWindow Window for video playback.
-        */
-        void AdjustToWindow2( RWindow& aDisplayWindow );                             
-
-    private: // Functions from MVideoPlayerUtilityObserver
-        /** 
-        * MvpuoOpenComplete
-        */
-        void MvpuoOpenComplete( TInt aError );
-
-        /** 
-        * MvpuoPrepareComplete
-        */
-        void MvpuoPrepareComplete( TInt aError );
-
-        /** 
-        * MvpuoFrameReady
-        */
-        void MvpuoFrameReady( CFbsBitmap& aFrame ,TInt aError );
-
-        /** 
-        * MvpuoPlayComplete
-        */
-        void MvpuoPlayComplete( TInt aError );
-        
-        /** 
-        * MvpuoEvent
-        */
-        void MvpuoEvent( const TMMFEvent& aEvent );
-    
-    private: // Constructors
-
-        /**
-        * C++ default constructor.
-        */
-        CBubbleVideoPlayer();
-        
-        /**
-        * C++ constructor.
-        */
-        CBubbleVideoPlayer( MBubbleVideoPlayerObserver& aObserver );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL( const TDesC& aFileName, 
-                         TInt aPriority, 
-                         TUint aPreference,
-                         RWindow& aVideoTarget );
-
-    private:
-        /**
-        * SetRingingType
-        */
-        void SetRingingType( TRingingType aRingingType );
-
-        /**
-        * SetVolume
-        */
-        void SetVolume( TInt aVolume );
-
-        /**
-        * VolumeRampTimerCallback
-        */
-        static TInt VolumeRampTimerCallback( TAny* aObj );
-
-        /**
-        * DoVolumeRamp
-        */
-        TInt DoVolumeRamp();
-        
-        /**
-        * RepeatsTrailPauseTimerCallback
-        */
-        static TInt RepeatsTrailPauseTimerCallback( TAny* aObj );
-        
-        /**
-        * DoRingingRepeat
-        */
-        TInt DoRingingRepeat();
-        
-        /**
-        * Frame size
-        */
-        TSize VideoFrameSize() const;
-        
-        /**
-        * Calculates size for video player screen rectangle based on
-        * canvas and video dimensions.   
-        */
-        static TSize CalculateScreenRectSize( 
-            const TSize& aCanvasSize,
-            const TSize& aVideoFrameSize,
-            TBool aArbitraryScalingSupported );
-            
-        /**
-        * Calculates aClipSize and aScreenSize based on aWindowSize
-        * and aVideoFrameSize. aScreenSize is set to maximum without
-        * exceeding the crop limit (KPhoneMaxVideoCrop). aClipSize 
-        * is set match to scaled video image to prevent black stripes
-        * around video.   
-        */
-        static void CalculateClipAndScreenRectSize( 
-            const TSize& aWindowSize,
-            const TSize& aVideoFrameSize,
-            TSize& aClipSize,
-            TSize& aScreenSize );            
-
-    private: //Data
-
-        MBubbleVideoPlayerObserver&  iObserver;
-        CVideoPlayerUtility*         iVideoPlayer; // Owned
-        TVideoPlayerState            iPlayerState;
-        TBool                        iToBePlayed;
-
-        // Ringing properties
-        TInt                         iVolume;
-        TRingingType                 iRingingType;
-
-        // Ascending volume
-        TInt                         iRampedVolume;
-        CPeriodic*                   iVolumeRampTimer; // Owned
-        
-        // Pause between repeats
-        CPeriodic*                   iRepeatsTrailPauseTimer; // Owned
-        
-        // Ringing tone
-        RFile                        iFileHandle;
-        
-    };
-    
-#endif // C_BUBBLEVIDEOPLAYER_H
--- a/phoneuis/BubbleManager/Inc/BMVideoPlayerObserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Video player observer interface.
-*
-*/
-
-
-#ifndef M_BUBBLEVIDEOPLAYEROBSERVER_H
-#define M_BUBBLEVIDEOPLAYEROBSERVER_H
-
-/**
- *  Video player observer interface.
- *
- *
- *  @lib BubbleManager
- *  @since S60 v3.2
- */
-class MBubbleVideoPlayerObserver  
-    {
-    public:
-        // Enumerates different failure events.
-        //
-        enum TBubbleVideoPlayerErrorEvent
-            {
-            EVideoPlayerInitializingFailure, // Failure during initialization
-            EVideoPlayerPlayingFailure // Failure during playback
-            };
-        
-        /**
-        * This method is called when playing error occurs.
-        *
-        * @since S60 v3.2
-        * @param aEvent Error event.
-        * @param aError Error code.
-        */
-        virtual void HandleVideoPlayerError( 
-            TBubbleVideoPlayerErrorEvent aEvent,
-            TInt aError ) = 0;
-
-        /**
-        * This method is called when player initialization is complete.
-        *
-        * @since S60 v3.2
-        */
-        virtual void HandleVideoPlayerInitComplete() = 0;
-
-        /**
-        * This method is called when video clip has played to end.
-        *
-        * @since S60 v3.2
-        */
-        virtual void HandleVideoPlayerPlayingComplete() = 0;
-        
-        /**
-        * This method is called when player knows exact blitting
-        * area, the screen area that will be covered by video image.
-        * Observer may relayout the container window accordingly.
-        *
-        * @since S60 v3.2
-        * @param aBlitRect Blit rectangle relative to screen.
-        */
-        virtual void HandleVideoPlayerBlittingAreaDefined( 
-            const TRect& aBlitRect ) = 0;
-    };
-
-#endif // M_BUBBLEVIDEOPLAYEROBSERVER_H
-
-// End of File
--- a/phoneuis/BubbleManager/Inc/BubbleManagerPaths.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Common path defines for BubbleManager.
-*
-*/
-
-
-#ifndef BUBBLEMANAGER_HRH
-#define BUBBLEMANAGER_HRH
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <data_caging_path_literals.hrh>
-
-
-// CONSTANTS 
-
-_LIT( KBMMbmZDrive, "z:" );
-_LIT( KBMMbmCDrive, "c:" );
-_LIT( KBMBitmapFile,            "bubblemanager.mbm" );
-_LIT( KBMCallStatusBitmapFile,  "callstatus.mbm" );
-_LIT( KBMResourcesFile,         "BubbleManager.rsc" );
-
-#endif  // BUBBLEMANAGER_HRH
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleHeader.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,760 +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:  Header
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleHeader.h"
-#include    "BMPanic.h"
-
-#include    <AknsUtils.h>
-
-// CONSTANTS
-const TUint8 KBubbleHeaderIsInConf = 0x01;          // 1 if is in conf
-const TUint8 KBubbleHeaderCLIClipDirLeft = 0x02;    // 1 if clipped from left
-const TUint8 KBubbleHeaderLabelClipDirLeft = 0x04;
-const TUint8 KBubbleHeaderCNAPClipDirLeft = 0x08;    // 1 if clipped from left
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// Constructor
-CBubbleHeader::CBubbleHeader( )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::ConstructL
-// Symbian OS two phased constructor called by inherited classes
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::ConstructL( const CBubbleManager::TBubbleId& aBubbleId )
-    {
-    iBubbleId = aBubbleId;
-    }
-
-// Destructor
-CBubbleHeader::~CBubbleHeader()
-    {
-    delete iThumbnailIconBitmap;
-    if ( iCOImageDataOwnership & EBubbleThumbnailImageOwned )
-        {
-        delete iThumbnailBitmap;
-        delete iThumbnailBitmapMask;
-        }
-        
-    if ( iCOImageDataOwnership & EBubbleCallImageOwned )
-        {
-        delete iCOImageBitmap;
-        delete iCOImageBitmapMask;
-        }
-    delete iText;
-    delete iCOFileName;
-    delete iCOText;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetIsInConference
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetIsInConference( const TBool& aIsInConference )
-    {
-    // can't put conference in conference
-    if ( IsConference( ) )
-        {
-        __ASSERT_ALWAYS( !aIsInConference, 
-                         Panic( EBMPanicReferredHeaderIsConferenceHeader ) );
-        }
-    
-    if ( aIsInConference )
-        {
-        iInternalFlags |= iInternalFlags|KBubbleHeaderIsInConf;
-        return;
-        }
-
-    iInternalFlags &= iInternalFlags&~KBubbleHeaderIsInConf;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetTnBitmap
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetTnBitmap( CFbsBitmap* aThumbnailBitmap )
-    {
-    // can't set thumbnail for conference call
-    if ( IsConference( ) )
-        {
-        __ASSERT_DEBUG( aThumbnailBitmap == NULL, 
-                        Panic( EBMPanicReferredHeaderIsConferenceHeader ) );
-        }
-    
-    if ( iCOImageDataOwnership & EBubbleThumbnailImageOwned )
-        {
-        delete iThumbnailBitmap;
-            
-        }
-    iThumbnailBitmap = aThumbnailBitmap;
-    if ( aThumbnailBitmap != NULL &&
-         !(iCOImageDataOwnership & EBubbleThumbnailImageOwned ) )
-        {
-        CFbsBitmap* bitmap = new CFbsBitmap;
-        if ( bitmap != NULL )
-           {
-           bitmap->Duplicate( aThumbnailBitmap->Handle() );
-           delete iThumbnailIconBitmap;
-           iThumbnailIconBitmap = NULL;
-           TRAP_IGNORE( 
-               iThumbnailIconBitmap = AknIconUtils::CreateIconL( bitmap ));
-           }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetTnBitmapMask
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetTnBitmapMask( CFbsBitmap* aThumbnailBitmapMask )
-    {
-    // can't set thumbnail for conference call
-    if ( IsConference( ) )
-        {
-        __ASSERT_DEBUG( aThumbnailBitmapMask == NULL, 
-                        Panic( EBMPanicReferredHeaderIsConferenceHeader ) );
-        }
-    
-    if ( iCOImageDataOwnership & EBubbleThumbnailImageOwned )
-        {
-        delete iThumbnailBitmapMask;
-            
-        }
-    iThumbnailBitmapMask = aThumbnailBitmapMask;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetTnDataOwnership
-// ---------------------------------------------------------------------------
-//    
-void CBubbleHeader::SetTnDataOwnership( TBool aOwnership )
-    {
-    if ( aOwnership )
-        {
-        iCOImageDataOwnership |= EBubbleThumbnailImageOwned; 
-        }
-    else
-        {
-        iCOImageDataOwnership &= ~EBubbleThumbnailImageOwned;     
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCallObjectImage
-// ---------------------------------------------------------------------------
-//    
-void CBubbleHeader::SetCallObjectImage( CFbsBitmap* aCOImageBitmap )
-    {
-    if ( iCOImageDataOwnership & EBubbleCallImageOwned )
-        {
-        delete iCOImageBitmap;    
-        }
-
-    iCOImageBitmap = aCOImageBitmap;
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCallObjectImageMask
-// ---------------------------------------------------------------------------
-//    
-void CBubbleHeader::SetCallObjectImageMask( CFbsBitmap* aCOImageBitmapMask )
-    {
-    if ( iCOImageDataOwnership & EBubbleCallImageOwned )
-        {
-        delete iCOImageBitmapMask;    
-        }        
-        
-    iCOImageBitmapMask = aCOImageBitmapMask;            
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCallObjectFileName
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetCallObjectFileName( const HBufC* aCOFileName )
-    {
-    delete iCOFileName;    
-    iCOFileName = aCOFileName;                
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCallObjectText
-// ---------------------------------------------------------------------------
-//    
-void CBubbleHeader::SetCallObjectText( const HBufC* aCOText )
-    {
-    // can't set text for conference call
-    if ( IsConference( ) )
-        {
-        __ASSERT_DEBUG( aCOText == NULL, 
-                        Panic( EBMPanicReferredHeaderIsConferenceHeader ) );
-        }
-    
-    delete iCOText;    
-    iCOText = aCOText;            
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCallObjectImageDataOwnership
-// ---------------------------------------------------------------------------
-//    
-void CBubbleHeader::SetCallObjectImageDataOwnership( TBool aOwnership )        
-    {
-    if ( aOwnership )
-        {
-        iCOImageDataOwnership |= EBubbleCallImageOwned;
-        }
-    else
-        {
-        iCOImageDataOwnership &= ~EBubbleCallImageOwned;     
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCallObjectImageType()
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetCallObjectImageType( TBMCallObjectImageType aType ) 
-    {
-    iCOImageType = aType;    
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SwitchToThumbnailImage
-// ---------------------------------------------------------------------------
-//    
-void CBubbleHeader::SwitchToThumbnailImage()
-    {
-    if ( iThumbnailBitmap )
-        {
-        // Release big image
-        if ( iCOImageDataOwnership & EBubbleCallImageOwned )
-            {
-            delete iCOImageBitmap;
-            delete iCOImageBitmapMask;        
-            }
-        
-        // Switch bitmaps
-        iCOImageBitmap = iThumbnailBitmap;
-        iThumbnailBitmap = NULL;
-        iCOImageBitmapMask = iThumbnailBitmapMask;
-        iThumbnailBitmapMask = NULL;
-        
-        // Update ownerships
-        if ( iCOImageDataOwnership & EBubbleThumbnailImageOwned )
-            {
-            iCOImageDataOwnership |= EBubbleCallImageOwned;    
-            }
-        else
-            {
-            iCOImageDataOwnership &= ~EBubbleCallImageOwned;    
-            }            
-        iCOImageDataOwnership &= ~EBubbleThumbnailImageOwned;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCallState
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetCallState( 
-                      const CBubbleManager::TPhoneCallState& aPhoneCallState )
-    {
-    // can't set conference to incoming, outgoing or waiting state
-    if ( IsConference( ) )
-        {
-        __ASSERT_ALWAYS( aPhoneCallState!=CBubbleManager::EWaiting &&
-            aPhoneCallState!=CBubbleManager::EIncoming &&
-            aPhoneCallState!=CBubbleManager::EAlerting &&
-            aPhoneCallState!=CBubbleManager::EOutgoing,
-            Panic( EBMPanicReferredHeaderIsConferenceHeader ) );
-        }
-    
-    // if state is changed to disconnected, previous stage must be checked
-    // to get the correct disconnect mode.
-    if ( aPhoneCallState == CBubbleManager::EDisconnected )
-        {
-        if ( iPhoneCallState == CBubbleManager::EWaiting ||
-            iPhoneCallState == CBubbleManager::EIncoming ||
-            iPhoneCallState == CBubbleManager::EAlerting ||
-            iPhoneCallState == CBubbleManager::EOutgoing ||
-            iPhoneCallState == CBubbleManager::EAlertToDisconnected )
-            {
-            // changes the bubbles to be rectangles
-            if ( aPhoneCallState != iPhoneCallState )
-                {
-                iPreviousCallState = iPhoneCallState;
-                }
-            iPhoneCallState = CBubbleManager::EAlertToDisconnected;
-            return;
-            }
-        }
-    // else put normal disconnected or what ever the new state is
-    if ( aPhoneCallState != iPhoneCallState )
-        {
-        iPreviousCallState = iPhoneCallState;
-        }
-    iPhoneCallState = aPhoneCallState;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetNumberType
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetNumberType( 
-    const CBubbleManager::TPhoneNumberType& aNumberType )
-    {
-    // can't set the number type else than ENotSet for conference
-    if ( IsConference( ) )
-        {
-        __ASSERT_DEBUG( aNumberType==CBubbleManager::ENotSet, 
-                        Panic( EBMPanicReferredHeaderIsConferenceHeader ) );
-        }
-    
-    iNumberType = aNumberType;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCallFlags 
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetCallFlags( const TUint32& aCallFlags ) 
-    {
-    iCallFlags = aCallFlags;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCallFlag
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetCallFlag( 
-    const CBubbleManager::TPhoneCallTypeFlags& aFlag )
-    {
-    if ( aFlag == CBubbleManager::ENormal )
-        {
-        iCallFlags = 0;
-        return;
-        }
-    
-    iCallFlags |= aFlag;    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::RemoveCallFlag
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::RemoveCallFlag( 
-    const CBubbleManager::TPhoneCallTypeFlags& aFlag )
-    {
-    if ( aFlag == CBubbleManager::ENormal )
-        {
-        return;
-        }
-    iCallFlags &= ~aFlag;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetBubbleId
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetBubbleId( const CBubbleManager::TBubbleId& aBubbleId )
-    {
-    iBubbleId = aBubbleId;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetText
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetText(
-    const TDesC16& aText,
-    const CBubbleManager::TPhoneClippingDirection& aClipDirection )
-    {
-    if ( iText )
-        {
-        delete iText;
-        iText = NULL;
-        }
-
-    iText = aText.Alloc();
-
-    if ( aClipDirection == CBubbleManager::ELeft )
-        {
-        iInternalFlags |= iInternalFlags|KBubbleHeaderLabelClipDirLeft;
-        return;
-        }
-    iInternalFlags &= iInternalFlags&~KBubbleHeaderLabelClipDirLeft;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCLI
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetCLI( 
-    const CBubbleManager::TBubbleLabelString& aCLI, 
-    const CBubbleManager::TPhoneClippingDirection& aClipDirection )
-    {
-    iCLI = aCLI;
-
-    if ( aClipDirection == CBubbleManager::ELeft )
-        {
-        iInternalFlags |= iInternalFlags|KBubbleHeaderCLIClipDirLeft;
-        return;
-        }
-    iInternalFlags &= iInternalFlags&~KBubbleHeaderCLIClipDirLeft;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetTimerCost
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetTimerCost( 
-    const CBubbleManager::TBubbleLabelString& aTimerCost )
-    {
-    iTimerCost = aTimerCost;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetCNAP
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::SetCNAP( 
-    const CBubbleManager::TBubbleLabelString& aCNAP, 
-    const CBubbleManager::TPhoneClippingDirection& aClipDirection )
-    {
-    iCNAP = aCNAP;
-
-    if ( aClipDirection == CBubbleManager::ELeft )
-        {
-        iInternalFlags |= iInternalFlags|KBubbleHeaderCNAPClipDirLeft;
-        return;
-        }
-    iInternalFlags &= iInternalFlags&~KBubbleHeaderCNAPClipDirLeft;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::SetParticipantListCLI
-// ---------------------------------------------------------------------------
-//    
-void CBubbleHeader::SetParticipantListCLI( 
-    CBubbleManager::TBubbleParticipantListCLI aParticipantCLI )
-    {
-    iParticipantCLI = aParticipantCLI;    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::IsInConference 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleHeader::IsInConference( ) const
-    {
-    if ( iInternalFlags&KBubbleHeaderIsInConf )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::TnIconBitmap
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CBubbleHeader::TnIconBitmap( ) const
-    {
-    return iThumbnailIconBitmap;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::TnBitmap
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CBubbleHeader::TnBitmap( ) const
-    {
-    return iThumbnailBitmap;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::TnBitmapMask 
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CBubbleHeader::TnBitmapMask( ) const
-    {
-    return iThumbnailBitmapMask;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CallObjectImage
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CBubbleHeader::CallObjectImage( ) const
-    {
-    return iCOImageBitmap;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CallObjectImageMask 
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CBubbleHeader::CallObjectImageMask( ) const
-    {
-    return iCOImageBitmapMask;
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CallObjectFileName 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CBubbleHeader::CallObjectFileName( ) const
-    {
-    if ( iCOFileName && iCOFileName->Length() )
-        {
-        return *iCOFileName;    
-        }
-    else
-        {
-        return KNullDesC;    
-        }    
-    }    
-    
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CallObjectText 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CBubbleHeader::CallObjectText( ) const
-    {
-    if ( iCOText && iCOText->Length() )
-        {
-        return *iCOText;    
-        }
-    else
-        {
-        return KNullDesC;    
-        }
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CallObjectImageType()
-// ---------------------------------------------------------------------------
-//
-CBubbleHeader::TBMCallObjectImageType CBubbleHeader::CallObjectImageType()
-    const
-    {
-    return iCOImageType;    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CallState 
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TPhoneCallState CBubbleHeader::CallState( ) const
-    {
-    return iPhoneCallState;
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleHeader::PreviousCallState 
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TPhoneCallState CBubbleHeader::PreviousCallState( ) const
-    {
-    return iPreviousCallState;
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::NumberType 
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TPhoneNumberType CBubbleHeader::NumberType( ) const
-    {
-    return iNumberType;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CallFlags
-// ---------------------------------------------------------------------------
-//
-TUint32 CBubbleHeader::CallFlags( ) const    
-    {
-    return iCallFlags;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::Text 
-// ---------------------------------------------------------------------------
-//
-const TDesC16& CBubbleHeader::Text() const
-    {
-    if ( iText )
-        {
-        return *iText;        
-        }
-    
-    return KNullDesC;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::TextClipDirection 
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TPhoneClippingDirection 
-    CBubbleHeader::TextClipDirection( ) const
-    {
-    if ( iInternalFlags&KBubbleHeaderLabelClipDirLeft )
-        {
-        return CBubbleManager::ELeft;
-        }
-    return CBubbleManager::ERight;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CLI 
-// ---------------------------------------------------------------------------
-//
-const CBubbleManager::TBubbleLabelString& CBubbleHeader::CLI() const
-    {
-    return iCLI;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CLIClipDirection  
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TPhoneClippingDirection 
-    CBubbleHeader::CLIClipDirection( ) const
-    {
-    if ( iInternalFlags&KBubbleHeaderCLIClipDirLeft )
-        {
-        return CBubbleManager::ELeft;
-        }
-    return CBubbleManager::ERight;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::TimerCost 
-// ---------------------------------------------------------------------------
-//
-const CBubbleManager::TBubbleLabelString& CBubbleHeader::TimerCost() const
-    {
-    return iTimerCost;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CNAP 
-// ---------------------------------------------------------------------------
-//
-const CBubbleManager::TBubbleLabelString& CBubbleHeader::CNAP() const
-    {
-    return iCNAP;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::CNAPClipDirection  
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TPhoneClippingDirection 
-    CBubbleHeader::CNAPClipDirection( ) const
-    {
-    if ( iInternalFlags&KBubbleHeaderCNAPClipDirLeft )
-        {
-        return CBubbleManager::ELeft;
-        }
-    return CBubbleManager::ERight;
-    }
-// ---------------------------------------------------------------------------
-// CBubbleHeader::BubbleId 
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TBubbleId CBubbleHeader::BubbleId() const
-    {
-    return iBubbleId;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::ParticipantListCLI 
-// ---------------------------------------------------------------------------
-//    
-CBubbleManager::TBubbleParticipantListCLI 
-    CBubbleHeader::ParticipantListCLI() const
-    {
-    return iParticipantCLI;    
-    }    
-
-
-// ---------------------------------------------------------------------------
-// CBubbleHeader::ResetParent
-//
-//  Puts everything in initial state
-// ---------------------------------------------------------------------------
-//
-void CBubbleHeader::ResetParent()
-    {
-    iPhoneCallState = CBubbleManager::ENone;
-    iNumberType = CBubbleManager::ENotSet;
-    iCallFlags = 0; //normal
-    delete iThumbnailIconBitmap;
-    iThumbnailIconBitmap = NULL;
-    
-    if ( iCOImageDataOwnership & EBubbleThumbnailImageOwned )
-        {
-        delete iThumbnailBitmap;    
-        delete iThumbnailBitmapMask;
-        }
-    
-    iThumbnailBitmap = NULL;
-    iThumbnailBitmapMask = NULL;
-
-    if ( iCOImageDataOwnership & EBubbleCallImageOwned )
-        {
-        delete iCOImageBitmap;
-        delete iCOImageBitmapMask;            
-        }
-        
-    iCOImageBitmap = NULL;
-    iCOImageBitmapMask = NULL;
-    delete iCOText; 
-    iCOText = NULL;
-    delete iCOFileName;
-    iCOFileName = NULL;
-    
-    iCOImageDataOwnership = 0;
-    iCOImageType = ENotDefined;
-
-    if ( iText )
-        {
-        delete iText;
-        iText = NULL;
-        }
-    
-    iCLI.Zero();
-    iTimerCost.Zero();
-    iCNAP.Zero();
-    iInternalFlags = 0; //normal
-    iParticipantCLI = CBubbleManager::EParticipantListCLIText;
-    }
-
-// End of Fíle
--- a/phoneuis/BubbleManager/Src/BMBubbleImage.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2003-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:  CEikImage wrapper.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleImage.h"  //definition
-#include    <AknsUtils.h>
-#include    <AknIconUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleImage::CBubbleImage
-// ---------------------------------------------------------------------------
-//
-CBubbleImage::CBubbleImage()
-: iIsBackgroundImage ( EFalse )
-    {
-    }
-
-// Destructor
-CBubbleImage::~CBubbleImage()
-    {
-    AknsUtils::DeregisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImage::SetAsBackgroundImage
-// Set the image as background image
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleImage::SetAsBackgroundImage( TBool aIsBackground )
-    {
-    iIsBackgroundImage = aIsBackground;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImage::SizeChanged
-// called by framework when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleImage::SizeChanged()
-    { 
-    AknsUtils::RegisterControlPosition( this );
-
-    if ( this->Bitmap() )
-        {
-        if ( iIsBackgroundImage )
-            {
-            // For background call bubble graphic, 
-            // aspect ratio can not be preserved.
-            AknIconUtils::SetSize( 
-                const_cast<CFbsBitmap*> ( this->Bitmap() ), 
-                Rect().Size(), EAspectRatioNotPreserved );
-            }
-        else
-            {
-            AknIconUtils::SetSize( 
-                const_cast<CFbsBitmap*> ( this->Bitmap() ), 
-                Rect().Size() );
-            }
-        }
-
-    CEikImage::SizeChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImage::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleImage::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    CEikImage::PositionChanged();
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleImageManager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,776 +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:  Image Manager
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleImageManager.h"
-#include    "BMBubbleSkinBitmap.h"
-#include    "BubbleManagerPaths.h"
-#include    "BMPanic.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMBubbleIconIndex.h"
-
-#include    <eikimage.h> 
-#include    <AknsUtils.h>
-#include    <aknconsts.h>
-#include    <AknIconUtils.h>
-
-// CONSTANTS
-// 1-piece backgrounds
-const TInt KBMLastCachedBitmap1 = EQgn_graf_call_first_one_disconn_mask;
-// 9-piece backgrounds
-const TInt KBMLastCachedBitmap2 = EQgn_indi_call_voip_disconn_mask; 
-const TInt KBMLastAvkonBitmap = EQgn_prop_nrtyp_assistant_mask; 
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::CBubbleImageManager()
-// Default constructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleImageManager::CBubbleImageManager( TBool aFrameIcons ) : 
-    iOrder( CompareSkinnedData ), iFrameIcons( aFrameIcons )
-    {    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::NewL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleImageManager* CBubbleImageManager::NewL( TBool aFrameIcons )
-    {
-    CBubbleImageManager* self = new( ELeave ) CBubbleImageManager( 
-        aFrameIcons );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::ConstructL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageManager::ConstructL()
-    {
-    LoadCachedBitmapsL();
-    
-    iBitmapInitializer = CIdle::NewL( CActive::EPriorityIdle );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::~CBubbleImageManager()
-// Destructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleImageManager::~CBubbleImageManager()
-    {
-    iSkinnedBitmaps.ResetAndDestroy();
-    
-    if ( iBitmapInitializer ) 
-        {
-        iBitmapInitializer->Cancel();                
-        }
-    delete iBitmapInitializer;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::SetBitmapToImage
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageManager::SetBitmapToImage( CEikImage*& aImage , 
-                                            const TBMIcons& aPicture )
-    {
-    // Check the paramater is valid.
-    if ( aImage == NULL )
-        {
-        return;
-        }
-    SetBitmapToImage( *aImage , aPicture, (TBMIcons) KErrNotFound );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::SetBitmapToImage
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageManager::SetBitmapToImage( CEikImage*& aImage , 
-                                            const TBMIcons& aPicture, 
-                                            const TBMIcons& aPictureMask 
-                                           )
-    {
-    // Check that paramaters are valid and bitmaps exist.
-    if ( aImage == NULL )
-        {
-        return;
-        }
-    SetBitmapToImage( *aImage , aPicture, aPictureMask );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::SetBitmapToImage
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageManager::SetBitmapToImage( CEikImage& aImage , 
-                                            const TBMIcons& aPicture, 
-                                            const TBMIcons& aPictureMask 
-                                           ) 
-    {
-    // Check parameter range and load the bitmaps.
-    if ( !GetSkin( aImage, aPicture, aPictureMask ) )
-        {
-        // Failed, make image not visible
-        aImage.SetPicture( NULL , NULL );
-        aImage.MakeVisible( EFalse );
-        return;
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::MapEnumToMbmFile
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageManager::MapEnumToMbmFile( const TBMIcons aBmIcon,
-                                            TInt& aMbm,
-                                            TDes& aFileName ) const
-    {   
-    aMbm = KBMIconIndex[aBmIcon].iconIndex;
-    switch ( KBMIconIndex[aBmIcon].fileIndex )
-        {
-        case ECallstatusIconfile:
-            aFileName = KBMMbmZDrive;
-            aFileName.Append( KDC_APP_BITMAP_DIR );
-            aFileName.Append( KBMCallStatusBitmapFile );
-            aFileName.ZeroTerminate();
-            break;
-        case EBubblemanagerIconfile:
-            BubbleUtils::BubbleIconFileName( aFileName );
-            break;
-        case EAvkonIconfile:
-            aFileName = AknIconUtils::AvkonIconFileName();
-            break;
-        default:
-            Panic( EBMPanicImages );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::MapEnumToSkin
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageManager::MapEnumToSkin( const TBMIcons aBmIcon, 
-                                         TAknsItemID& aItemId, 
-                                         TInt& aColorTableIndex ) const
-    {    
-    switch ( aBmIcon )
-        {
-        case EQgn_indi_call_active:
-            aItemId = KAknsIIDQgnIndiCallActive;
-            break;
-        case EQgn_indi_call_active_cyph_off:
-            aItemId = KAknsIIDQgnIndiCallActiveCyphOff;
-            break;
-        case EQgn_indi_call_disconn:
-            aItemId = KAknsIIDQgnIndiCallDisconn;
-            break;
-        case EQgn_indi_call_disconn_cyph_off:
-            aItemId = KAknsIIDQgnIndiCallDisconnCyphOff;
-            break;
-        case EQgn_indi_call_held:
-            aItemId = KAknsIIDQgnIndiCallHeld;
-            break;
-        case EQgn_indi_call_held_cyph_off:
-            aItemId = KAknsIIDQgnIndiCallHeldCyphOff;
-            break;
-        case EQgn_indi_call_active_2:
-            aItemId = KAknsIIDQgnIndiCallActive2;
-            break;    
-        case EQgn_indi_call_video_1:
-            aItemId = KAknsIIDQgnIndiCallVideo1;
-            break;
-        case EQgn_indi_call_video_callsta_1:
-            aItemId = KAknsIIDQgnIndiCallVideoCallsta1;
-            break;
-        case EQgn_indi_call_video_disconn:
-            aItemId = KAknsIIDQgnIndiCallVideoDisconn;
-            break;
-        case EQgn_indi_call_active_emergency:
-            aItemId = KAknsIIDQgnIndiCallActiveEmergency;
-            break;
-        case EQgn_graf_call_first_one_active:
-            aItemId = KAknsIIDQgnGrafCallFirstOneActive;
-            break;
-        case EQgn_graf_call_first_one_disconn:
-            aItemId = KAknsIIDQgnGrafCallFirstOneDisconn;
-            break;
-        case EQgn_graf_call_first_one_held:
-            aItemId = KAknsIIDQgnGrafCallFirstOneHeld;
-            break;
-        case EQgn_graf_call_rec_big:
-            aItemId = KAknsIIDQgnGrafCallRecBig;
-            break;
-        case EQgn_graf_call_rec_big_disconn:
-            aItemId = KAknsIIDQgnGrafCallRecBigDisconn;
-            break;
-        case EQgn_graf_call_rec_big_right:
-            aItemId = KAknsIIDQgnGrafCallRecBigRight;
-            break;
-        case EQgn_graf_call_rec_big_right_disconn:
-            aItemId = KAknsIIDQgnGrafCallRecBigRightDisconn;
-            break;
-        case EQgn_indi_call_waiting_1:
-            aItemId = KAknsIIDQgnIndiCallWaiting1;
-            break;
-        case EQgn_indi_call_waiting_cyph_off_1:
-            aItemId = KAknsIIDQgnIndiCallWaitingCyphOff;
-            break;
-        case EQgn_indi_call_waiting_disconn:
-            aItemId = KAknsIIDQgnIndiCallWaitingDisconn;
-            break;
-        case EQgn_indi_call_waiting_disconn_cyph_off:
-            aItemId = KAknsIIDQgnIndiCallWaitingDisconnCyphOff;
-            break;
-        case EQgn_graf_call_first_one_active_emergency:
-            aItemId = KAknsIIDQgnGrafCallFirstOneActiveEmergency;
-            break;  
-        case EQgn_graf_call_two_active_emergency:
-            aItemId = KAknsIIDQgnGrafCallTwoActiveEmergency;
-            break;
-        case EQgn_graf_call_conf_five:
-            aItemId = KAknsIIDQgnGrafCallConfFive;
-            break;
-        case EQgn_graf_call_conf_four:
-            aItemId = KAknsIIDQgnGrafCallConfFour;
-            break;
-        case EQgn_graf_call_conf_three:
-            aItemId = KAknsIIDQgnGrafCallConfThree;
-            break;
-        case EQgn_graf_call_conf_two:
-            aItemId = KAknsIIDQgnGrafCallConfTwo;
-            break;
-        case EQgn_graf_call_first_three_active:
-            aItemId = KAknsIIDQgnGrafCallFirstThreeActive;
-            break;
-        case EQgn_graf_call_first_three_disconn:
-            aItemId = KAknsIIDQgnGrafCallFirstThreeDisconn;
-            break;
-        case EQgn_graf_call_first_three_held:
-            aItemId = KAknsIIDQgnGrafCallFirstThreeHeld;
-            break;
-        case EQgn_graf_call_first_two_active:
-            aItemId = KAknsIIDQgnGrafCallFirstTwoActive;
-            break;
-        case EQgn_graf_call_first_two_disconn:
-            aItemId = KAknsIIDQgnGrafCallFirstTwoDisconn;
-            break;
-        case EQgn_graf_call_first_two_held:
-            aItemId = KAknsIIDQgnGrafCallFirstTwoHeld;
-            break;
-        case EQgn_graf_call_first_wait_active:
-            aItemId = KAknsIIDQgnGrafCallFirstWaitActive;
-            break;
-        case EQgn_graf_call_first_wait_disconn:
-            aItemId = KAknsIIDQgnGrafCallFirstWaitDisconn;
-            break;
-        case EQgn_graf_call_hidden_held:
-            aItemId = KAknsIIDQgnGrafCallHiddenHeld;
-            break;
-        case EQgn_graf_call_rec_big_left:
-            aItemId = KAknsIIDQgnGrafCallRecBigLeft;
-            break;
-        case EQgn_graf_call_rec_big_left_disconn:
-            aItemId = KAknsIIDQgnGrafCallRecBigLeftDisconn;
-            break;
-        case EQgn_graf_call_rec_small_left:
-            aItemId = KAknsIIDQgnGrafCallRecSmallLeft;
-            break;
-        case EQgn_graf_call_rec_small_right:
-            aItemId = KAknsIIDQgnGrafCallRecSmallRight;
-            break;
-        case EQgn_graf_call_rec_small_right_disconn:
-            aItemId = KAknsIIDQgnGrafCallRecSmallRightDisconn;
-            break;
-        case EQgn_graf_call_rec_bigger:
-            aItemId = KAknsIIDQgnGrafCallRecBigger;
-            break;
-        case EQgn_graf_call_second_three_active:
-            aItemId = KAknsIIDQgnGrafCallSecondThreeActive;
-            break;
-        case EQgn_graf_call_second_three_disconn:
-            aItemId = KAknsIIDQgnGrafCallSecondThreeDisconn;
-            break;
-        case EQgn_graf_call_second_three_held:
-            aItemId = KAknsIIDQgnGrafCallSecondThreeHeld;
-            break;
-        case EQgn_graf_call_second_two_active:
-            aItemId = KAknsIIDQgnGrafCallSecondTwoActive;
-            break;
-        case EQgn_graf_call_second_two_disconn:
-            aItemId = KAknsIIDQgnGrafCallSecondTwoDisconn;
-            break;
-        case EQgn_graf_call_second_two_held:
-            aItemId = KAknsIIDQgnGrafCallSecondTwoHeld;
-            break;
-        case EQgn_indi_call_active_conf:
-            aItemId = KAknsIIDQgnIndiCallActiveConf;
-            break;
-        case EQgn_indi_call_active_conf_cyph_off:
-            aItemId = KAknsIIDQgnIndiCallActiveConfCyphOff;
-            break;
-        case EQgn_indi_call_active_cyph_off_2:
-            aItemId = KAknsIIDQgnIndiCallActiveCyphOff2;
-            break;
-        case EQgn_indi_call_disconn_conf:
-            aItemId = KAknsIIDQgnIndiCallDisconnConf;
-            break;
-        case EQgn_indi_call_disconn_conf_cyph_off:
-            aItemId = KAknsIIDQgnIndiCallDisconnConfCyphOff;
-            break;
-        case EQgn_indi_call_held_conf:
-            aItemId = KAknsIIDQgnIndiCallHeldConf;
-            break;
-        case EQgn_indi_call_held_conf_cyph_off:
-            aItemId = KAknsIIDQgnIndiCallHeldConfCyphOff;
-            break;
-        case EQgn_indi_call_muted:
-            aItemId = KAknsIIDQgnIndiCallMuted;
-            break;
-        case EQgn_indi_call_waiting_2:
-            aItemId = KAknsIIDQgnIndiCallWaiting2;
-            break;
-        case EQgn_indi_call_waiting_cyph_off_2:
-            aItemId = KAknsIIDQgnIndiCallWaitingCyphOff2;
-            break;
-        case EQgn_indi_call_video_2:
-            aItemId = KAknsIIDQgnIndiCallVideo2;
-            break;
-        case EQgn_indi_call_video_callsta_2:
-            aItemId = KAknsIIDQgnIndiCallVideoCallsta2;
-            break;            
-        case EQgn_indi_call_video_callsta_disconn:
-            aItemId = KAknsIIDQgnIndiCallVideoCallstaDisconn; 
-            break;
-        case EQgn_indi_call_voip_active:
-            aItemId = KAknsIIDQgnIndiCallVoipActive;
-            break;
-        case EQgn_indi_call_voip_active_2:
-            aItemId = KAknsIIDQgnIndiCallVoipActive2;
-            break;    
-        case EQgn_indi_call_voip_disconn:
-            aItemId = KAknsIIDQgnIndiCallVoipDisconn;
-            break;
-        case EQgn_indi_call_voip_held:
-            aItemId = KAknsIIDQgnIndiCallVoipHeld;
-            break;
-        case EQgn_indi_call_voip_waiting_1:
-            aItemId = KAknsIIDQgnIndiCallVoipWaiting1;
-            break;
-        case EQgn_indi_call_voip_waiting_2:
-            aItemId = KAknsIIDQgnIndiCallVoipWaiting2;
-            break;
-        case EQgn_indi_call_voip_callsta_disconn:
-            aItemId = KAknsIIDQgnIndiCallVoipCallstaDisconn;
-            break; 
-        case EQgn_graf_call_image_1:
-            aItemId = KAknsIIDQgnGrafCallImage1;
-            break;
-        case EQgn_indi_call4_image_mask_prt:
-            aItemId = KAknsIIDNone;
-            break;
-        case EQgn_indi_call4_image_mask_lsc:
-            aItemId = KAknsIIDNone;
-            break;
-
-// Colour changes
-        case EQgn_indi_call_line2:
-            aItemId = KAknsIIDQgnIndiCallLine2;
-            aColorTableIndex = EAknsCIQsnIconColorsCG11;
-            break;
-        case EQgn_indi_call_cyphering_off:
-            aItemId = KAknsIIDQgnIndiCallCypheringOff;
-            aColorTableIndex = EAknsCIQsnIconColorsCG11;
-            break;
-        case EQgn_indi_call_diverted:
-            aItemId = KAknsIIDQgnIndiCallDiverted;
-            aColorTableIndex = EAknsCIQsnIconColorsCG11;
-            break;
-
-        // Not skinned
-        case EQgn_prop_nrtyp_home_div:
-            aItemId = KAknsIIDQgnPropNrtypHomeDiv;
-            break;
-        case EQgn_prop_nrtyp_mobile_div:
-            aItemId = KAknsIIDQgnPropNrtypMobileDiv;
-            break;
-        case EQgn_prop_nrtyp_phone_div:
-            aItemId = KAknsIIDQgnPropNrtypPhoneDiv;
-            break;
-        case EQgn_prop_nrtyp_work_div:
-            aItemId = KAknsIIDQgnPropNrtypWorkDiv;
-            break;
-
-            // From avkon.mbm
-        case EQgn_prop_nrtyp_fax:
-            aItemId = KAknsIIDQgnPropNrtypFax;
-            break;
-        case EQgn_prop_nrtyp_home:
-            aItemId = KAknsIIDQgnPropNrtypPhone;
-            break;
-        case EQgn_prop_nrtyp_mobile:
-            aItemId = KAknsIIDQgnPropNrtypMobile;
-            break;
-        case EQgn_prop_nrtyp_pager:
-            aItemId = KAknsIIDQgnPropNrtypPager;
-            break;
-        case EQgn_prop_nrtyp_phone:
-            aItemId = KAknsIIDQgnPropNrtypPhone;
-            break;
-        case EQgn_prop_nrtyp_work:
-            aItemId = KAknsIIDQgnPropNrtypPhone;
-            break;
-        case EQgn_prop_nrtyp_voip:
-            aItemId = KAknsIIDQgnPropNrtypVoip;
-            break;
-        case EQgn_prop_nrtyp_car:
-            aItemId = KAknsIIDQgnPropNrtypCar;
-            break;            
-        case EQgn_prop_nrtyp_assistant:
-            aItemId = KAknsIIDQgnPropNrtypAssistant;
-            break;            
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::ClearSkinsCache
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageManager::ClearSkinsCache()
-    {
-    iSkinnedBitmaps.ResetAndDestroy();
-    
-    TRAP_IGNORE( LoadCachedBitmapsL() );
-    
-    PrepareCachedBitmaps();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::CompareSkinnedData
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleImageManager::CompareSkinnedData( 
-    const CBubbleSkinBitmap& aSkinnedBitmap1, 
-    const CBubbleSkinBitmap& aSkinnedBitmap2 )
-    {
-    if ( aSkinnedBitmap1.BitmapIndex() > aSkinnedBitmap2.BitmapIndex() )
-        {
-        return 1;
-        }
-    if ( aSkinnedBitmap1.BitmapIndex() < aSkinnedBitmap2.BitmapIndex() )
-        {
-        return -1;
-        }
-    return 0;    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::GetSkin
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleImageManager::GetSkin( CEikImage&      aImage, 
-                                    const TBMIcons  aBmIcon, 
-                                    const TBMIcons  aBmIconMask )
-    {
-    if ( aBmIcon < 0 || aBmIcon > KBMLastAvkonBitmap )
-        {        
-        return EFalse;
-        }
-
-    CBubbleSkinBitmap skinnedBitmap;
-    skinnedBitmap.SetBitmapIndex( aBmIcon );
-    skinnedBitmap.SetSkinnedBitmap( NULL );
-    skinnedBitmap.SetSkinnedMask( NULL );
-    TInt index = iSkinnedBitmaps.FindInOrder( &skinnedBitmap, iOrder );
-    
-    CFbsBitmap* bitmap = NULL;
-    CFbsBitmap* mask = NULL;
-    if ( index != KErrNotFound )
-        {
-        bitmap = iSkinnedBitmaps[ index ]->SkinnedBitmap();
-        mask = iSkinnedBitmaps[ index ]->SkinnedMask();
-        }
-                                                     
-    if ( bitmap == NULL )
-        {
-        TRAP_IGNORE(
-            LoadAndAppendSkinL( aBmIcon, aBmIconMask, bitmap, mask ) );
-        }
-
-    if ( bitmap )
-        {
-        aImage.SetPicture( bitmap, mask ); // Mask might be NULL
-        aImage.SetPictureOwnedExternally( ( aBmIcon <= LastCachedIcon() ) ); // cached bitmaps are owned here
-        return ETrue;
-        }
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::LoadAndAppendSkinL
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageManager::LoadAndAppendSkinL( const TBMIcons aBmIcon,
-                                              const TBMIcons aBmIconMask,
-                                              CFbsBitmap*&   aBitmap, 
-                                              CFbsBitmap*&   aMask )
-
-    {
-    TInt mbmBitmapIndex = 0;
-    TInt mbmMaskIndex = KErrNotFound;
-    TInt colorTableIndex( 0 );
-    TAknsItemID skinItemId( KAknsIIDNone );    
-    MapEnumToMbmFile( aBmIcon , mbmBitmapIndex , iMbmFileBuffer );    
-    
-    if ( mbmBitmapIndex == KErrNotFound )
-        {        
-        User::Leave( KErrNotFound );
-        }
-    
-    if ( aBmIconMask >= 0 && aBmIconMask <= KBMLastAvkonBitmap )
-        {        
-        MapEnumToMbmFile( aBmIconMask , mbmMaskIndex , iMbmFileBuffer );
-        }
-    MapEnumToSkin( aBmIcon, skinItemId, colorTableIndex );    
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    if( colorTableIndex != 0 )
-        {
-        AknsUtils::CreateColorIconLC( skin, skinItemId, 
-                                      KAknsIIDQsnIconColors, 
-                                      colorTableIndex, 
-                                      aBitmap, aMask, 
-                                      iMbmFileBuffer, 
-                                      mbmBitmapIndex, mbmMaskIndex, 
-                                      KRgbBlack );
-        }
-    else
-        {
-        if ( mbmMaskIndex != KErrNotFound )
-            {
-            AknsUtils::CreateIconLC( skin, skinItemId, 
-                                 aBitmap, aMask, iMbmFileBuffer, 
-                                 mbmBitmapIndex, mbmMaskIndex );
-            }
-        else
-            {
-            AknsUtils::CreateIconLC( skin, skinItemId, 
-                                 aBitmap, iMbmFileBuffer, mbmBitmapIndex );
-            }
-        }
-
-    
-    if ( aBmIcon <= LastCachedIcon() )
-        {
-        CBubbleSkinBitmap* skinnedBitmap = new (ELeave) CBubbleSkinBitmap();
-        CleanupStack::PushL( skinnedBitmap );
-        skinnedBitmap->SetBitmapIndex( aBmIcon );
-        //skinnedBitmap->SetBitmapSkinItemID( skinItemId );
-        skinnedBitmap->SetSkinnedBitmap( aBitmap );
-        skinnedBitmap->SetSkinnedMask( aMask );
-        User::LeaveIfError( 
-            iSkinnedBitmaps.InsertInOrder( skinnedBitmap, iOrder ) );                
-        CleanupStack::Pop( skinnedBitmap ); // Ownership was given to iSkinnedBitmaps
-        }
-
-
-    if ( colorTableIndex != 0 )
-        {
-        CleanupStack::Pop( 2 ); // aBitmap, aMask
-        }
-    else
-        {        
-        if ( mbmMaskIndex != KErrNotFound )
-            {
-            CleanupStack::Pop(); // aMask
-            }
-        CleanupStack::Pop(); // aBitmap
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::DoInitializeBitmaps
-// ---------------------------------------------------------------------------
-//    
-TBool CBubbleImageManager::DoInitializeBitmaps()
-    {
-    // Bubble rect for single call or number entry
-    TAknWindowLineLayout bottomBubble = 
-    BubbleLayout::popup_call_audio_in_window( 1 );
-    TAknLayoutRect bottomBubbleRect;
-    bottomBubbleRect.LayoutRect( BubbleLayout::MainPaneRect(), 
-                                 bottomBubble );
-    
-    TInt iconCount = iSkinnedBitmaps.Count();
-    if ( iBitmapInitIndex < iconCount )
-        {
-        CBubbleSkinBitmap* skinnedBitmap = iSkinnedBitmaps[ iBitmapInitIndex ];    
-        
-        switch ( skinnedBitmap->BitmapIndex() )
-            {
-            // Small call status icon
-            case EQgn_indi_call_active:
-            case EQgn_indi_call_active_2:
-            case EQgn_indi_call_disconn:
-            case EQgn_indi_call_held:
-            case EQgn_indi_call_video_callsta_1:
-            case EQgn_indi_call_video_callsta_2:
-            case EQgn_indi_call_video_callsta_disconn:
-            case EQgn_indi_call_voip_active:
-            case EQgn_indi_call_voip_active_2:
-            case EQgn_indi_call_voip_held:
-            case EQgn_indi_call_voip_callsta_disconn:
-                {
-                TAknWindowLineLayout smallCallStatusIcon = 
-                    BubbleLayout::popup_call_audio_first_window_1_elements_1();
-                TAknLayoutRect smallCallStatusIconRect;
-                smallCallStatusIconRect.LayoutRect( bottomBubbleRect.Rect(),
-                                                    smallCallStatusIcon );                                        
-                                             
-                AknIconUtils::SetSize( skinnedBitmap->SkinnedBitmap(), 
-                                       smallCallStatusIconRect.Rect().Size() );                                             
-                break;    
-                }
-            
-            // Big call status icon
-            case EQgn_indi_call_waiting_1:
-            case EQgn_indi_call_waiting_2:
-            case EQgn_indi_call_waiting_disconn:
-            case EQgn_indi_call_video_1:
-            case EQgn_indi_call_video_2:
-            case EQgn_indi_call_video_disconn:
-            case EQgn_indi_call_voip_waiting_1:
-            case EQgn_indi_call_voip_waiting_2:
-            case EQgn_indi_call_voip_disconn:
-                {
-                TAknWindowLineLayout bigCallStatusIcon = 
-                    BubbleLayout::popup_call_audio_in_window_1_elements_1();
-                TAknLayoutRect bigCallStatusIconRect;
-                bigCallStatusIconRect.LayoutRect( bottomBubbleRect.Rect(),
-                                                  bigCallStatusIcon );                                        
-                                             
-                AknIconUtils::SetSize( skinnedBitmap->SkinnedBitmap(), 
-                                       bigCallStatusIconRect.Rect().Size() ); 
-                break;    
-                }
-            
-            // Bubble graphics
-            case EQgn_graf_call_rec_big: 
-            case EQgn_graf_call_rec_big_disconn:
-            case EQgn_graf_call_first_one_active:
-            case EQgn_graf_call_first_one_disconn:
-            case EQgn_graf_call_first_one_held:
-                {
-                AknIconUtils::SetSize( skinnedBitmap->SkinnedBitmap(), 
-                                       bottomBubbleRect.Rect().Size(),
-                                       EAspectRatioNotPreserved );  
-                break;    
-                }
-            default:
-                // do nothing
-                break;
-            }
-        
-        iBitmapInitIndex++;
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::InitializeBitmap
-// ---------------------------------------------------------------------------
-// 
-TInt CBubbleImageManager::InitializeBitmaps( TAny* aThis )
-    {
-    return static_cast<CBubbleImageManager*>( aThis )->DoInitializeBitmaps();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::PrepareCachedBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleImageManager::PrepareCachedBitmaps()
-    {
-    iBitmapInitIndex = 0;
-    iBitmapInitializer->Cancel();
-    iBitmapInitializer->Start( TCallBack( InitializeBitmaps, this ) );            
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::LoadCachedBitmapsL
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageManager::LoadCachedBitmapsL()
-    {
-    // Load essential bitmaps right away
-    CFbsBitmap* newBitmap = NULL;
-    CFbsBitmap* newMask = NULL;
-    TInt lastIcon = LastCachedIcon();
-    for ( TInt i = 0 ; i < lastIcon ; i++ )
-        {
-        LoadAndAppendSkinL( (TBMIcons) i, // icon
-                            (TBMIcons) (i+1), // mask
-                            newBitmap, 
-                            newMask );
-        newBitmap = NULL;
-        newMask = NULL;
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleImageManager::LastCachedIcon
-// ---------------------------------------------------------------------------
-//    
-TInt CBubbleImageManager::LastCachedIcon()
-    {
-    if ( iFrameIcons )    
-        {
-        return KBMLastCachedBitmap2;    
-        }
-    else
-        {
-        return KBMLastCachedBitmap1;    
-        }        
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleManager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3842 +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:  Manager for the whole subsystem
-*
-*/
-
-
-// INCLUDE FILES
-
-#include    "BMBubbleManager.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMCustomManager.h"
-#include    "BMBubbleOutlook.h"
-#include    "BMBubbleOutlookMiddle.h"
-#include    "BMBubbleOutlookConference.h"
-#include    "BMBubbleOutlookNE.h"
-#include    "BMCallHeader.h"
-#include    "BMConfHeader.h"
-#include    "BMPanic.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMBubbleImage.h"
-#include    "BubbleManagerPaths.h"
-#include    "BMCallObjectManager.h"
-#include    "BMLayout2.h"
-#include    "BMLayout3.h"
-#include    "BMLayout4.h"
-#include    "BMLayout6.h"
-#include    "BMCallObjectUtils.h"
-#include    "BMVideoController.h"
-#include    "BMTouchPane.h"
-#include    "BMTouchPaneInterface.h"
-#include    "BMMainPaneControl.h"
-#include    <eikimage.h>    // for muted-image
-#include    <coemain.h>
-#include    <PbkFields.hrh> // for field id
-#include    <ConeResLoader.h> 
-#include    <AknsUtils.h>
-#include    <NumberGrouping.h>
-#include    <AknDef.h>
-#include    <layoutmetadata.cdl.h>
-
-#include    <featmgr.h> 
-#include    <telephonyvariant.hrh>
-
-#include <centralrepository.h>
-#include    <NumberGroupingCRKeys.h>
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-#include <gfxtranseffect/gfxtranseffect.h> 
-#include <akntransitionutils.h>
-#endif
-
-#include    "BMBubbleDebug.h"
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::NewL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CBubbleManager* CBubbleManager::NewL( const CCoeControl& aContainer, 
-                                               const TRect& aRect )
-    {
-    CBubbleManager* self = new( ELeave )CBubbleManager;    
-    CleanupStack::PushL( self );
-    self->ConstructL( aContainer , aRect, EFalse );
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::NewL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CBubbleManager* CBubbleManager::NewL( const CCoeControl& aContainer, 
-                                               const TRect& aRect,
-                                               TBool aBigNEInIdle )
-    {
-    CBubbleManager* self = new( ELeave )CBubbleManager;    
-    CleanupStack::PushL( self );
-    self->ConstructL( aContainer , aRect, aBigNEInIdle );
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::ConstructL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-
-void CBubbleManager::ConstructL( 
-    const CCoeControl& aContainer, 
-    const TRect& aRect,
-    TBool aBigNEInIdle )
-    {    
-    // Call object display
-    if ( FeatureManager::FeatureSupported( KFeatureIdCallImagetext ) )
-        {
-        iConfigFlags |= EBMCallObjectDisplay;    
-        }
-    
-    // Bigger number entry window in idle    
-    if ( aBigNEInIdle )
-        {
-        iConfigFlags |= EBMBigNEInIdleState;    
-        }
-   
-     // Touch CallHandling.
-    if ( FeatureManager::FeatureSupported( KFeatureIdTouchCallHandling ) )
-        {
-        iConfigFlags |= EBMTouchCallhandling;    
-        }
-               
-    // set window
-    SetContainerWindowL( aContainer );
-    SetParent( const_cast<CCoeControl*>(&aContainer) );
-    iParentControl = &aContainer;
-    
-    // load resource file for animation and number entry component.
-    RConeResourceLoader resourceLoader( *iCoeEnv ); 
-    TFileName fileName; 
-    BubbleUtils::BubbleResourceFileName( fileName ); 
-    resourceLoader.OpenL(fileName); 
-    CleanupClosePushL( resourceLoader );
-    
-    // create image manager
-    iImageManager = CBubbleImageManager::NewL(
-        iConfigFlags & EBMCallObjectDisplay );
-
-    // create resource pool
-    iResourceManager = CBubbleResourceManager::NewL( *this );
-    
-    // create custom manager
-    iCustomManager = CBubbleCustomManager::NewL(*this);
-    
-    // muted image
-    iIsMuted = EFalse;
-    iMutedImage = new( ELeave ) CBubbleImage;
-    iMutedImage->SetContainerWindowL( *this );
-    iMutedImage->SetParent( this );
-    iMutedImage->SetPictureOwnedExternally( ETrue );
-    iMutedImage->MakeVisible( iIsMuted );
-    
-    // create array of call headers
-    CBubbleCallHeader* header;
-    iCallHeaders = new( ELeave ) CArrayPtrFlat<CBubbleCallHeader>( 1 );
-    iCallHeaders->SetReserveL( KBubbleCallMaxAmount );
-    for ( TUint8 i = 0 ; i < KBubbleCallMaxAmount ; i++ )
-        {
-        header = CBubbleCallHeader::NewL( i );
-        iCallHeaders->InsertL( i , header );    // can't leave
-        }
-    
-    // set reserve for active headers
-    iActiveHeaders = new ( ELeave ) CArrayPtrFlat<CBubbleHeader>( 1 );
-    // 1 is for conference
-    iActiveHeaders->SetReserveL( KBubbleCallMaxAmount + 1 ); 
-        
-    // create conference header
-    iConfHeader = CBubbleConfHeader::NewL( KBubbleConferenceId );
-    
-    // create number entry
-    iNumberEntry = new ( ELeave ) CBubbleOutlookNumberEntry( *this, 
-                                                             *iMutedImage );
-    iNumberEntry->SetCallObjectDisplay( 
-        iConfigFlags & EBMCallObjectDisplay );
-    iNumberEntry->SetContainerWindowL( *this );
-    iNumberEntry->SetParent( this );
-    iNumberEntry->ConstructL();
-    iNumberEntry->MakeVisible( EFalse ); //add
-    
-    // create places and their contents ( outlooks )
-    TInt maxAmount = (iConfigFlags & EBMTouchCallhandling) ?
-        KBubblePlaceMaxAmountTouch : KBubblePlaceMaxAmount;
-    CBubblePlace* place;
-    iBubblePlaces = new ( ELeave ) CArrayPtrFlat<CBubblePlace>( 1 );
-    iBubblePlaces->SetReserveL( maxAmount );
-    for ( TUint8 e = 0 ; e < maxAmount ; e++  )
-        {
-        place = new ( ELeave ) CBubblePlace;
-        CleanupStack::PushL( place );
-        place->SetContainerWindowL( *this );
-        place->SetParent( this );
-        place->ConstructL( CBubblePlace::TPhoneBubblePlace ( e ) , *this );
-        place->GetBubbleOutlook().SetCallObjectDisplay( 
-            iConfigFlags & EBMCallObjectDisplay );
-        iBubblePlaces->InsertL( e , place );
-        CleanupStack::Pop(); //place
-        }
-    
-    // reserve space for active places
-    iActivePlaces = 
-        new (ELeave) CArrayPtrFlat<CBubblePlace>( KBubblePlaceMaxVisible );
-    iActivePlaces->SetReserveL( KBubblePlaceMaxVisible );
-    
-    // reserve space for label text
-    iLabelBuf = HBufC::NewMaxL ( KBubbleLabelMaxLength );
-
-    // call object manager
-    if ( iConfigFlags & EBMCallObjectDisplay )
-        {
-        iCallObjectManager = CBubbleCallObjectManager::NewL( *this );
-        
-        // Main pane control is not set as component control,
-        // it just controls the drawing of the call image to
-        // the main pane.
-        iMainPaneControl = CBubbleMainPaneControl::NewL(
-                *this,
-                *iCallObjectManager );
-        iMainPaneControl->ActivateL();
-        iMainPaneControl->SetContainerWindowL( *this );
-        iMainPaneControl->MakeVisible( EFalse );
-        }
-        
-    // Video ringtone
-    iVideoController = CBubbleVideoController::NewL( *this );
-    
-    // Touch pane
-    if ( iConfigFlags & EBMTouchCallhandling )
-        {
-        iTouchPane = CBubbleTouchPane::NewL();
-        iTouchPane->SetContainerWindowL( *this );
-        iTouchPane->SetParent( this );
-        iTouchPane->MakeVisible( EFalse );
-        iTouchPane->ActivateL();
-        }   
-    
-    SetRect( aRect );
-    ActivateL();
-    iResourceManager->ActivateL();
-    iIsReadyToDraw = 0;
-
-    // Resource file isn't needed anymore so it can be closed.
-    CleanupStack::PopAndDestroy(); // resourceLoader   
-    
-    TInt pngErr( KErrNone );
-    TInt pngSupported( 0 );
-    CRepository* repository = CRepository::NewL( KCRUidNumberGrouping );
-    pngErr = repository->Get( KNumberGrouping, pngSupported );
-    delete repository;
-
-    if ( KErrNone == pngErr && pngSupported != 0 )
-        {
-        iNumberGrouping = CPNGNumberGrouping::NewL(KBubbleLabelMaxLength);
-        }
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-    // Register the number entry popup in the transition server
-    GfxTransEffect::Register( iNumberEntry, KGfxNumberEntryPopupUid, EFalse );
-
-    CAknTransitionUtils::SetData( (TInt) this, 0 );
-#endif
-    }
-
-// Destructor
-EXPORT_C CBubbleManager::~CBubbleManager()
-    {
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-    CAknTransitionUtils::RemoveData( (TInt) this );
-    GfxTransEffect::Deregister( iNumberEntry );
-#endif
-    AknsUtils::DeregisterControlPosition( this );
-    
-    delete iMutedImage;
-    
-    if ( iActiveHeaders )
-        {
-        iActiveHeaders->Reset( );
-        delete iActiveHeaders;
-        }
-
-    delete iLabelBuf;
-    
-    if ( iActivePlaces )
-        {
-        iActivePlaces->Reset( );
-        delete iActivePlaces;
-        }
-    
-    if ( iBubblePlaces )
-        {
-        iBubblePlaces->ResetAndDestroy() ;
-        delete iBubblePlaces;
-        }
-    
-    delete iNumberEntry;
-    
-    delete iConfHeader;
-    
-    
-    if ( iCallHeaders )
-        {
-        iCallHeaders->ResetAndDestroy() ;
-        delete iCallHeaders;
-        }
-
-    delete iResourceManager;
-    
-    delete iImageManager;
-    
-    delete iCustomManager;
-    
-    delete iNumberGrouping;
-
-    delete iCallObjectManager;
-    
-    delete iMainPaneControl;
-
-    delete iVideoController;
-    
-    delete iTouchPane;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::SizeChanged()
-// called by framework when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::SizeChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( iConfigFlags & EBMTouchCallhandling )
-        {
-        MBubbleTouchPaneInterface* touchPaneIf =
-            static_cast<MBubbleTouchPaneInterface*> (iTouchPane);             
-        
-        if ( iTouchPane->IsVisible() )
-            {
-            TInt variety = 0;
-            // Popups
-            TAknLayoutRect windowsPane;        
-            windowsPane.LayoutRect( 
-                Rect(), 
-                BubbleLayout6::call6_windows_pane(variety));
-
-            iMainPaneControl->SetRect( windowsPane.Rect() );
-            
-            DoLayoutCall4Bubbles( windowsPane.Rect() );    
-            }
-        else
-            {
-            iMainPaneControl->SetRect( Rect() );
-            
-            DoLayoutCall4Bubbles( Rect() );    
-            }            
-            
-                    
-        // Muted icon
-        AknLayoutUtils::LayoutImage( 
-            iMutedImage, Rect(), 
-            BubbleLayout::main_pane_elements_muted( EFalse ) );    
-        
-        // Touch pane
-
-        TInt variety = 0;
-        AknLayoutUtils::LayoutControl( 
-            iTouchPane, 
-            Rect(), 
-            BubbleLayout6::call6_button_grp_pane(variety) );
-        
-        }
-    else if ( iConfigFlags & EBMCallObjectDisplay )
-        {
-        // call object layout
-        iMainPaneControl->SetRect( Rect() );
-        DoLayoutCall2Bubbles();    
-        }        
-    else
-        {
-        // old thumbnail layout
-        DoLayoutCall1Bubbles();    
-        }
-    
-    // Layout number entry
-    TInt neIndex;
-    switch ( iNumberEntry->Place() )
-        {
-        case CBubbleOutlookNumberEntry::ENEBottomRight:
-            neIndex = 1;
-            break;
-        case CBubbleOutlookNumberEntry::ENEIdleState:
-            neIndex = 4;
-            break;
-        default: // CBubbleOutlookNumberEntry::ENEBottom
-            neIndex = 0;
-            break;                        
-        }
-
-    AknLayoutUtils::LayoutControl( 
-        iNumberEntry, Rect( ), 
-        BubbleLayout::popup_number_entry_window( neIndex ) );        
-    
-    // Layout muted icon
-    if ( !(iConfigFlags & EBMTouchCallhandling) )
-        {
-        AknLayoutUtils::LayoutImage( 
-            iMutedImage, Rect(), 
-            BubbleLayout::main_pane_elements_muted( iNumberEntry->IsUsed() ) );        
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::DoLayoutCall1Bubbles
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::DoLayoutCall1Bubbles()
-    {
-    CBubblePlace* tempBubblePlace = NULL;
-    TUint8 placeCount( TUint8( iBubblePlaces->Count( ) ) );
-    TAknWindowLineLayout placeLayout;
-    
-    for ( TUint8 index = 0 ; index < placeCount ; index++  ) 
-        {
-        tempBubblePlace = iBubblePlaces->At( index );
-        CBubblePlace::TPhoneBubblePlace place = 
-            tempBubblePlace->GetBubblePlace();
-                    
-        switch ( place )
-            {
-            case CBubblePlace::EBottom:
-                placeLayout = BubbleLayout::popup_call_audio_in_window(1);    
-                break;
-                
-            case CBubblePlace::EBottomRightActive:
-                placeLayout = BubbleLayout::popup_call_audio_second_window(1);
-                break;
-                
-            case CBubblePlace::EBottomRightHeld:
-                placeLayout = BubbleLayout::popup_call_audio_second_window(2);
-                break;
-                
-            case CBubblePlace::EMiddleActive:
-                placeLayout = BubbleLayout::popup_call_audio_first_window(3);
-                break;
-                
-            case CBubblePlace::EMiddleHeld:
-                if ( iBubblePlaces->At( CBubblePlace::EBottomCnap )->IsUsed() )
-                    {
-                    placeLayout = BubbleLayout::popup_call_audio_first_window(7);
-                    }
-                else
-                    {
-                    placeLayout = BubbleLayout::popup_call_audio_first_window(2);
-                    }
-                break;
-                
-            case CBubblePlace::ETopLeft:
-                placeLayout = BubbleLayout::popup_call_audio_first_window(4);
-                break;
-                
-            case CBubblePlace::ETopRight:
-                placeLayout = BubbleLayout::popup_call_audio_second_window(3);
-                break;
-                
-            case CBubblePlace::EHide:
-                {
-                TInt v = AknLayoutUtils::ScalableLayoutInterfaceAvailable() ?
-                         5 : 6;
-                placeLayout = BubbleLayout::popup_call_audio_first_window(v);
-                }
-                break;
-                
-            case CBubblePlace::E2InConf:
-                placeLayout = BubbleLayout::popup_call_audio_conf_window(1);
-                break;
-                
-            case CBubblePlace::E3InConf:
-                placeLayout = BubbleLayout::popup_call_audio_conf_window(2);
-                break;
-                
-            case CBubblePlace::E4InConf:
-                placeLayout = BubbleLayout::popup_call_audio_conf_window(3);
-                break;
-                
-            case CBubblePlace::E5InConf:
-                placeLayout = BubbleLayout::popup_call_audio_conf_window(4);
-                break;
-                
-            case CBubblePlace::EBottomCnap:
-                placeLayout = BubbleLayout::popup_call_audio_in_window(3);
-                break;
-                
-            case CBubblePlace::EMiddleCnap:
-                placeLayout = BubbleLayout::popup_call_audio_in_window(4);
-                break;
-                
-            case CBubblePlace::EVideo:
-                placeLayout = BubbleLayout3::popup_call3_audio_in_window(0);
-                break;
-
-            case CBubblePlace::EVideoCnap:
-                placeLayout = BubbleLayout3::popup_call3_audio_in_window(0);
-                break;                                                 
-
-            case CBubblePlace::EBottomText: // not active
-            case CBubblePlace::EBottomImage: // not active
-            case CBubblePlace::EBottomRightCnap: // not active
-            case CBubblePlace::EBottomImageCnap: // not active
-                placeLayout = BubbleLayout::popup_call_audio_in_window(1);
-                break;                 
-                
-            default:
-                Panic( EBMPanicPlaceEnumerationDoesNotExist );
-                break;
-            }
-        
-        AknLayoutUtils::LayoutControl( tempBubblePlace , Rect() , placeLayout );
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleManager::DoLayoutCall2Bubbles
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::DoLayoutCall2Bubbles()
-    {
-    CBubblePlace* tempBubblePlace = NULL;
-    TUint8 placeCount( TUint8( iBubblePlaces->Count( ) ) );
-    TAknWindowLineLayout placeLayout;
-    
-    for ( TUint8 index = 0 ; index < placeCount ; index++  ) 
-        {
-        tempBubblePlace = iBubblePlaces->At( index );
-        CBubblePlace::TPhoneBubblePlace place = 
-            tempBubblePlace->GetBubblePlace();
-        
-        switch ( place )
-            {
-            case CBubblePlace::EBottom:
-                placeLayout = BubbleLayout2::popup_call2_audio_in_window(0);
-                break;
-                
-            case CBubblePlace::EBottomRightActive:
-                placeLayout = BubbleLayout2::popup_call2_audio_second_window(0);
-                break;
-                
-            case CBubblePlace::EBottomRightHeld:
-                placeLayout = BubbleLayout2::popup_call2_audio_second_window(1);    
-                break;
-                
-            case CBubblePlace::EMiddleActive:
-                placeLayout = BubbleLayout2::popup_call2_audio_first_window(2);    
-                break;
-                
-            case CBubblePlace::EMiddleHeld:
-                if ( iBubblePlaces->At( CBubblePlace::EBottomRightCnap )->IsUsed() )
-                    {
-                    placeLayout = BubbleLayout2::popup_call2_audio_first_window(18);
-                    }
-                else
-                    {
-                    placeLayout = BubbleLayout2::popup_call2_audio_first_window(1);    
-                    }                    
-                break;
-                
-            case CBubblePlace::ETopLeft:
-                placeLayout = BubbleLayout2::popup_call2_audio_first_window(3);    
-                break;
-                
-            case CBubblePlace::ETopRight:
-                placeLayout = BubbleLayout2::popup_call2_audio_second_window(2);    
-                break;
-                
-            case CBubblePlace::EHide:
-                placeLayout = BubbleLayout2::popup_call2_audio_first_window(4);    
-                break;
-                
-            case CBubblePlace::E2InConf:
-                placeLayout = BubbleLayout2::popup_call2_audio_conf_window(0);    
-                break;
-                
-            case CBubblePlace::E3InConf:
-                placeLayout = BubbleLayout2::popup_call2_audio_conf_window(1);       
-                break;
-                
-            case CBubblePlace::E4InConf:
-                placeLayout = BubbleLayout2::popup_call2_audio_conf_window(2);        
-                break;
-                
-            case CBubblePlace::E5InConf:
-                placeLayout = BubbleLayout2::popup_call2_audio_conf_window(3);        
-                break;
-                
-            case CBubblePlace::EBottomCnap:
-                placeLayout = BubbleLayout2::popup_call2_audio_in_window(2);    
-                break;
-                
-            case CBubblePlace::EMiddleCnap:
-                placeLayout = BubbleLayout2::popup_call2_audio_in_window(3);    
-                break;
-                
-            case CBubblePlace::EBottomText:
-                placeLayout = BubbleLayout2::popup_call2_audio_in_window(8);
-                break;                
-
-            case CBubblePlace::EBottomImage:
-                placeLayout = BubbleLayout2::popup_call2_audio_first_window(0);
-                break;                
-                
-            case CBubblePlace::EVideo:
-                placeLayout = BubbleLayout3::popup_call3_audio_in_window(0);
-                break;
-
-            case CBubblePlace::EVideoCnap:
-                placeLayout = BubbleLayout3::popup_call3_audio_in_window(0);
-                break;
-
-            case CBubblePlace::EBottomRightCnap:
-                placeLayout = BubbleLayout2::popup_call2_audio_wait_window(9);    
-                break;
-                
-            case CBubblePlace::EBottomImageCnap:
-                placeLayout = BubbleLayout2::popup_call2_audio_first_window(0);    
-                break;                
-                
-            default:
-                Panic( EBMPanicPlaceEnumerationDoesNotExist );
-                break;
-            }
-       
-        AknLayoutUtils::LayoutControl( tempBubblePlace , Rect() , placeLayout );
-        }    
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::DoLayoutCall4Bubbles
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::DoLayoutCall4Bubbles( const TRect& aWindowPane )
-    {
-    CBubblePlace* tempBubblePlace = NULL;
-    TUint8 placeCount( TUint8( iBubblePlaces->Count( ) ) );
-    TAknWindowLineLayout placeLayout;
-    TBool initCall = InitializingCall();
-    
-    for ( TUint8 index = 0 ; index < placeCount ; index++  ) 
-        {
-        tempBubblePlace = iBubblePlaces->At( index );
-        CBubblePlace::TPhoneBubblePlace place = 
-            tempBubblePlace->GetBubblePlace();
-        
-        switch ( place )
-            {
-            case CBubblePlace::EBottom:
-            case CBubblePlace::EBottomCnap:
-                if ( initCall )
-                    {
-                    // in / out
-                    placeLayout = 
-                        BubbleLayout4::popup_call4_audio_in_window(4);
-                    }
-                else
-                    {
-                    // incall
-                    placeLayout =
-                        BubbleLayout6::popup_call6_audio_first_window(0);    
-                    }
-                
-                break;
-                
-            // in / out with text
-            case CBubblePlace::EBottomText:
-                placeLayout = BubbleLayout2::popup_call2_audio_in_window(8);
-                break;                
-
-            // in with video                
-            case CBubblePlace::EVideo:
-            case CBubblePlace::EVideoCnap:
-                placeLayout = BubbleLayout3::popup_call3_audio_in_window(0);
-                break;
-
-            // first
-            case CBubblePlace::EBottomImage:
-            case CBubblePlace::EBottomImageCnap:
-                placeLayout = BubbleLayout6::popup_call6_audio_first_window(0);
-                break;                
-
-            // two calls - active
-            case CBubblePlace::EBottomRightActiveTouch:
-            case CBubblePlace::EBottomRightActiveCnapTouch:                
-                placeLayout = BubbleLayout4::popup_call4_audio_second_window(0);
-                break;
-            // two calls - active                
-            case CBubblePlace::EMiddleHeldTouch:                
-                placeLayout = BubbleLayout4::popup_call4_audio_first_window(1);          
-                break;                
-            
-            // three calls - held
-            case CBubblePlace::ETopRight:
-                placeLayout = BubbleLayout4::popup_call4_audio_second_window(1);    
-                break;
-            // two or three calls - active
-            case CBubblePlace::ETopLeft:
-                placeLayout = BubbleLayout4::popup_call4_audio_first_window(2);    
-                break;
-            // two or three calls - waiting    
-            case CBubblePlace::EBottomRightActive:
-            case CBubblePlace::EBottomRightCnap:
-            case CBubblePlace::EBottomRightHeld:
-                placeLayout = BubbleLayout4::popup_call4_audio_wait_window(0);    
-                break;
-            
-            // conference
-            case CBubblePlace::E2InConf:
-                placeLayout = BubbleLayout4::popup_call4_audio_conference_window(3);    
-                break;
-                
-            case CBubblePlace::E3InConf:
-                placeLayout = BubbleLayout4::popup_call4_audio_conference_window(2);       
-                break;
-                
-            case CBubblePlace::E4InConf:
-                placeLayout = BubbleLayout4::popup_call4_audio_conference_window(1);        
-                break;
-                
-            case CBubblePlace::E5InConf:
-                placeLayout = BubbleLayout4::popup_call4_audio_conference_window(0);        
-                break;
-
-            // not used in touch
-            case CBubblePlace::EMiddleActive:
-            case CBubblePlace::EMiddleHeld:
-            case CBubblePlace::EMiddleCnap:
-            case CBubblePlace::EHide:
-                continue;
-                
-            default:
-                Panic( EBMPanicPlaceEnumerationDoesNotExist );
-                break;
-            }
-       
-        AknLayoutUtils::LayoutControl( tempBubblePlace , aWindowPane , placeLayout );
-        }    
-    }    
-
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::CountComponentControls() const
-//
-//  Controls: NumberEntry, MutedImage and ActivePlaces
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleManager::CountComponentControls() const
-    {
-    if ( ( iConfigFlags & EBMTouchCallhandling ) && 
-         ( iTouchPane->IsVisible() ) )
-        {
-        return 3 + iActivePlaces->Count(); // ne + muted + touchpane + places
-        }
-    else
-        {
-        return 2 + iActivePlaces->Count(); // ne + muted + places
-        }       
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::ComponentControl(TInt aIndex) const
-//
-//  First give active places. Then possible NE, muted-image and AnimStarter
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleManager::ComponentControl( TInt aIndex ) const
-    {
-    TInt activePlacesCount = iActivePlaces->Count();
-
-    // If too high value, return NULL
-    if ( aIndex >= activePlacesCount + 3 )
-        {
-        return NULL;
-        }
-
-    if ( aIndex < activePlacesCount )
-        {
-        return iActivePlaces->At( aIndex  );
-        }
-
-    if ( aIndex == activePlacesCount )
-        {
-        return iNumberEntry;
-        }
-
-    if ( iConfigFlags & EBMTouchCallhandling )
-        {
-        if ( aIndex == ( activePlacesCount + 1 ) )
-            {
-            return iMutedImage;    
-            }
-
-        return iTouchPane;
-        }
-    else
-        {
-        return iMutedImage;    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::Draw
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::Draw( const TRect& aRect ) const
-    {
-    // clear the backround area.
-    CWindowGc& gc = SystemGc();
-    gc.SetBrushColor( AKN_LAF_COLOR( BubbleLayout::LayoutColourWhite() ) );
-
-    // Draw just the bitmaps
-    if ( iMainPaneControl &&
-         iMainPaneControl->IsVisible() )
-        {
-        // main pane image
-        iMainPaneControl->DrawBitmaps( aRect );
-        }
-    
-    for ( TInt i = 0 ; i < iActivePlaces->Count() ; i++ )
-        {
-        iActivePlaces->At(i)->GetBubbleOutlook().DrawBitmaps( gc );
-        }
-    
-    if ( iNumberEntry->IsUsed() )
-        {
-        iNumberEntry->DrawBitmaps(  gc );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::MakeVisible
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::MakeVisible( TBool aVisible )
-    {
-    CCoeControl::MakeVisible( aVisible );
-    
-    if ( aVisible )    
-        {
-        StartAnimations();    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::StartChanges
-//  
-//  Reset all places so there won't be anything wrong left.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::StartChanges( )
-    {
-    BM_TRACE_( "[BUBBLEMANAGER] CBubbleManager::StartChanges" );
-    iIsReadyToDraw++;
-    if ( iIsReadyToDraw > 1 ) // is this called already?
-        {
-        return;
-        }
-    
-    // clear all used areas
-    CBubblePlace* tempBubblePlace = NULL;
-    TInt placeCount = iBubblePlaces->Count();
-    for ( TUint8 index = 0 ; index < placeCount ; index++  ) 
-        {
-        tempBubblePlace = iBubblePlaces->At( index );
-        if ( tempBubblePlace->IsUsed() )
-            {
-            Window().Invalidate( tempBubblePlace->Rect() );
-            tempBubblePlace->SetIsUsed( EFalse );
-            }
-        }
-    
-    iActivePlaces->Delete( 0 , iActivePlaces->Count() ); // do not compress!!
-
-    if ( iTouchPane )
-        {
-        iTouchPane->SetUpdating( ETrue );                
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleManager::EndChanges
-//  
-//  Check the situation and decide which outlook to take. 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::EndChanges( )
-    {
-    BM_TRACE_( "[BUBBLEMANAGER] CBubbleManager::EndChanges" );
-     
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0 , Panic( EBMPanicErrorInStartAndEndChanges ) );
-
-    iIsReadyToDraw--;
-    if ( iIsReadyToDraw != 0 )
-        {
-        return;
-        }
-
-    if ( iConfHeader->IsExpanded() )
-        {
-        BuildExpandedConference();
-        }
-    else if ( iNumberEntry->IsUsed() && iNumberEntry->IsVisible() )
-        {
-        BuildBubblesWithNE();
-        }
-    else if ( ( iConfigFlags & EBMTouchCallhandling ) )
-        {
-        BuildBubblesForTouch();    
-        }
-    else
-        {
-        BuildBubbles();
-        }
-
-    // Stop video if playing and video bubble is not active.
-    if ( ( iVideoFlags & EBMVideoPlayingVideo ) &&
-         !( iVideoFlags & EBMVideoBubbleActive ) )
-        {
-        StopAndDeleteVideoPlayer();
-        }                
-
-    // Touch pane        
-    if ( iConfigFlags & EBMTouchCallhandling )
-        {
-        if ( iTouchPaneSetVisible &&        // Client sets
-             iActiveHeaders->Count() > 0 && // Incall situation                   
-             !iNumberEntry->IsVisible() )   
-            {
-            iTouchPane->MakeVisible( ETrue );
-            }
-        else
-            {
-            iTouchPane->MakeVisible( EFalse );    
-            }    
-        }
-
-    if ( ( iConfigFlags & EBMCallObjectDisplay ) && 
-         iActiveHeaders->Count() > 0 &&
-         !( iVideoFlags & EBMVideoBubbleActive ) )
-        {
-        // Image is created only for incoming & outgoing
-        // calls, check is inside method.
-        BuildMainPaneImage();
-        }
-    
-    SizeChanged();
-    
-    // Invalidate the new areas.
-    for ( TInt i = 0 ; i < iActivePlaces->Count() ; i++ )
-        {
-        iActivePlaces->At(i)->GetBubbleOutlook().DrawDeferred();
-        }
-    if ( iNumberEntry->IsUsed() )
-        {
-        iNumberEntry->DrawDeferred();
-        iNumberEntry->GetEditor()->DrawDeferred();
-        }
-        
-    if ( iTouchPane )
-        {
-        iTouchPane->SetUpdating( EFalse );
-        }
-            
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-    TBool calledBegin = (TBool) CAknTransitionUtils::GetData( ( TInt ) this );
-    // Only draw parent control if no number entry exists, the number entry is
-    // used or if begin has not been called.
-    if ( !iNumberEntry || iNumberEntry->IsUsed() || !calledBegin )
-        {
-        // Do redraw. Do not use DrawDeferred() here!
-        iParentControl->DrawNow();
-        }
-#else
-    // Do redraw. Do not use DrawDeferred() here!
-    iParentControl->DrawNow();
-#endif
-    // Start animations. 
-    StartAnimations();
-    
-    // Start video if video bubble is active.
-    if ( ( iVideoFlags & EBMVideoBubbleActive ) &&
-         !( iVideoFlags & EBMVideoPlayingVideo ) )
-        {
-        CreateVideoPlayerAndPlay();
-        }
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-    if ( calledBegin )
-        {
-        // Initialize transition effect
-        CAknTransitionUtils::SetAllParents( iNumberEntry );
-        GfxTransEffect::SetDemarcation( iNumberEntry, iNumberEntry->Rect() );
-        GfxTransEffect::End( iNumberEntry );
-
-        // Reset begin call reminder
-        CAknTransitionUtils::SetData( (TInt) this, 0 );
-        }
-    // SetFocus here instead of in SetNumberEntryVisible
-    if ( iNumberEntry->IsVisible() )
-        {
-        iNumberEntry->SetFocus( ETrue );
-        }
-#endif
-    return;
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetActivePlace
-//  
-//  This helps the EndChanges() to make bubble places active.
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::SetActivePlace( 
-    const CBubblePlace::TPhoneBubblePlace& aPlace , 
-    CBubbleHeader& aHeader )
-    {
-    CBubblePlace* place = iBubblePlaces->At( aPlace );
-    place->SetIsUsed( ETrue );
-    CBubbleOutlook& bubbleOutlook = place->GetBubbleOutlook( );
-    bubbleOutlook.ReadBubbleHeader( aHeader );
-    iActivePlaces->InsertL( iActivePlaces->Count( ), place ); // Can't leave
-    }
-
-
-void CBubbleManager::BuildExpandedConference()
-    {
-    iNumberEntry->SetPlace( CBubbleOutlookNumberEntry::ENENone );
-    switch ( iConfHeader->RowCount() )
-        {
-        // Cases mean number of calls in conference.
-        case 2:
-            SetActivePlace( CBubblePlace::E2InConf , *iConfHeader );
-            break;
-        case 3:
-            SetActivePlace( CBubblePlace::E3InConf , *iConfHeader );
-            break;
-        case 4:
-            SetActivePlace( CBubblePlace::E4InConf , *iConfHeader );
-            break;
-        case 5:
-            SetActivePlace( CBubblePlace::E5InConf , *iConfHeader );
-            break;
-        default:
-            Panic( EBMPanicPlaceEnumerationDoesNotExist );
-            break;
-        }
-    return;
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::FindNextDrawableHeader
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::FindNextDrawableHeader( TUint8& aIndex )
-    {
-    while( iActiveHeaders->At( aIndex )->IsInConference() ) 
-        {
-        aIndex++;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::ShownHeaderCount
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint8 CBubbleManager::ShownHeaderCount() const
-    {
-    // We have to find headers that are really shown. 
-    // That means headers which are 
-    // used and are NOT in conference. 
-    TUint8 bubbleAmount = 0;
-    TUint activeCount = iActiveHeaders->Count();
-    for (TUint8 i = 0 ; i < activeCount ; i++ )
-        {
-        if ( !iActiveHeaders->At(i)->IsInConference() )
-            {
-            bubbleAmount++;
-            }
-        }
-    return bubbleAmount;
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::BuildBubbles
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::BuildBubbles()
-    { 
-    const TUint8 bubbleAmount = ShownHeaderCount();
-    iVideoFlags &= ~EBMVideoBubbleActive;
-    
-    // Without number entry.
-    switch ( bubbleAmount )
-        {
-        case 0:
-            break;
-        case 1:
-            {
-            TUint8 index = 0;
-            FindNextDrawableHeader( index );
-            CBubbleHeader* header = iActiveHeaders->At( index );
-            TPhoneCallState callState = header->CallState();
-            TBool callObjectText( 
-                  ( iConfigFlags & EBMCallObjectDisplay ) && 
-                  ( header->CallObjectText().Length() > 0) );
-            TBool callObjectImage( 
-                  ( iConfigFlags & EBMCallObjectDisplay ) && 
-                  header->CallObjectImage() );                  
-            
-            TInt cnapLength = header->CNAP().Length();
-
-            // Video
-            if ( callState == EIncoming && 
-                 iVideoFlags & EBMVideoSetAsRingTone )
-                {
-                if ( cnapLength ) // 3-lines
-                    {
-                    SetActivePlace( CBubblePlace::EVideoCnap, 
-                                    *header );
-                                    iVideoFlags |= EBMVideoBubbleActive;
-                    }
-                else
-                    {
-                    SetActivePlace( CBubblePlace::EVideo, 
-                                    *header );
-                                    iVideoFlags |= EBMVideoBubbleActive;    
-                    }                            
-                }
-            // Caller text                    
-            else if ( callObjectText && ( callState == EIncoming || 
-                                          callState == EOutgoing ||
-                                          callState == EAlerting ||
-                                          callState == EAlertToDisconnected ) )
-                {
-                SetActivePlace( CBubblePlace::EBottomText,
-                                *header );                            
-                }
-            // Caller image
-            else if ( callObjectImage && ( callState == EActive ||
-                                           callState == EOnHold ||
-                                           callState == EDisconnected ) )
-                {
-                CBubbleHeader::TBMCallObjectImageType imageType = 
-                    header->CallObjectImageType();
-
-                // Theme image -> use normal bubble                        
-                if ( imageType == CBubbleHeader::EThemeImage ||
-                     imageType == CBubbleHeader::ETextBasedImage )
-                    {
-                    if ( cnapLength ) // 3-lines
-                        {
-                        SetActivePlace( CBubblePlace::EBottomCnap,
-                                        *header );    
-                        }
-                    else
-                        {
-                        SetActivePlace( CBubblePlace::EBottom,
-                                        *header );    
-                        }                                
-                    }
-                // Caller image -> use bigger bubble                                                    
-                else
-                    {
-                    TSize imageSize = header->CallObjectImage()->SizeInPixels();
-                    TSize tinySize = CallObjectImageIncallSize( ETrue );
-                    TBool tiny = imageSize.iHeight < tinySize.iHeight;
-                    iBottomImageVariety = tiny ? 0 : 4;
-                    
-                    if ( cnapLength ) // 3-lines
-                        {
-                        CBubblePlace::TPhoneBubblePlace place = tiny ?
-                            CBubblePlace::EBottomCnap : CBubblePlace::EBottomImageCnap;
-                        
-                        SetActivePlace( place,
-                                        *header );                        
-                        }
-                    else 
-                        {
-                        CBubblePlace::TPhoneBubblePlace place = tiny ?
-                            CBubblePlace::EBottom : CBubblePlace::EBottomImage;
-                        
-                        SetActivePlace( place,
-                                        *header );                        
-                        }                           
-                    }
-                }
-            // Basic
-            else
-                {
-                if ( cnapLength ) // 3-lines
-                    {
-                    SetActivePlace( CBubblePlace::EBottomCnap,
-                                    *header );
-                    }
-                else
-                    {
-                    SetActivePlace( CBubblePlace::EBottom ,
-                                    *header );
-                    }    
-                }
-            break;
-            }
-        case 2:
-            {
-            // first call: middle held/active
-            TUint8 index = 0;
-            FindNextDrawableHeader( index );
-            TPhoneCallState callState = 
-                iActiveHeaders->At( index )->CallState();
-            TInt cnapLength = iActiveHeaders->At( index )->CNAP().Length();                
-
-            // second call: bottom held/active
-            TUint8 index2 = TUint8(index + 1);
-            FindNextDrawableHeader( index2 );
-            TInt cnapLength2 = iActiveHeaders->At( index2 )->CNAP().Length();
-            TPhoneCallState callState2 = 
-                iActiveHeaders->At( index2 )->CallState();
-
-            
-            CBubblePlace::TPhoneBubblePlace place;
-            
-            if ( callState == EOnHold  )
-                {
-                place = CBubblePlace::EMiddleHeld;
-                }
-            else if ( cnapLength  ) // and not held
-                {
-                place = CBubblePlace::EMiddleCnap;    
-                }
-            else
-                {
-                place = CBubblePlace::EMiddleActive;
-                }                
-            
-            CBubblePlace::TPhoneBubblePlace place2 = 
-                CBubblePlace::EBottomRightActive;
-            
-            if ( callState2 == EOnHold )
-                {
-                place2 = CBubblePlace::EBottomRightHeld;
-                }
-            else if ( cnapLength2 ) // and not held
-                {
-                if ( cnapLength == 0 ||
-                     callState2 == EOutgoing ||
-                     callState2 == EAlerting || 
-                     callState2 == EAlertToDisconnected ||
-                     callState2 == EWaiting ||
-                     callState2 == EActive )                
-                    {
-                    // bottom shows 3-lines
-                    place = CBubblePlace::EMiddleHeld;
-                    place2 = CBubblePlace::EBottomRightCnap;
-                    }
-                else
-                    {
-                    place2 = CBubblePlace::EBottomRightHeld;
-                    }                    
-                }
-            else
-                {
-                place2 = CBubblePlace::EBottomRightActive;    
-                }                
-            
-            // set drawing order
-            if ( callState2 > callState )
-                {
-                SetActivePlace( place , *iActiveHeaders->At( index ) );
-                SetActivePlace( place2 , *iActiveHeaders->At( index2 ) );
-                }
-            else
-                {
-                SetActivePlace( place2 , *iActiveHeaders->At( index2 ) );
-                SetActivePlace( place , *iActiveHeaders->At( index ) );
-                }                    
-            }
-            break;
-        case 3:
-            {
-            TUint8 index = 0;
-            FindNextDrawableHeader( index );
-            
-            TUint8 index2 = TUint8( index + 1 );
-            FindNextDrawableHeader( index2 );
-            
-            if ( iActiveHeaders->At( index2 )->CallState( ) 
-                > iActiveHeaders->At( index )->CallState( ) )
-                {
-                SetActivePlace( 
-                    CBubblePlace::ETopLeft , *iActiveHeaders->At( index ) );
-                SetActivePlace( 
-                    CBubblePlace::ETopRight , *iActiveHeaders->At( index2 ) );
-                }
-            else
-                {
-                SetActivePlace( 
-                    CBubblePlace::ETopRight , *iActiveHeaders->At( index2 ) );
-                SetActivePlace( 
-                    CBubblePlace::ETopLeft , *iActiveHeaders->At( index ) );
-                }
-            
-            
-            index = TUint8( index2 + 1 );
-            FindNextDrawableHeader( index );
-            SetActivePlace( 
-                CBubblePlace::EBottom , *iActiveHeaders->At( index ) );
-            break;
-            }
-        default:
-            Panic( EBMPanicInvalidNumberOfHeaders );
-            break;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::BuildBubblesWithNE
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::BuildBubblesWithNE()
-    { 
-    const TUint8 bubbleAmount = ShownHeaderCount();
-    iVideoFlags &= ~EBMVideoBubbleActive;
-    
-    switch ( bubbleAmount )
-        {
-        case 0:
-            if ( iConfigFlags & EBMBigNEInIdleState )
-                {
-                iNumberEntry->SetPlace(
-                    CBubbleOutlookNumberEntry::ENEIdleState );
-                }
-            else
-                {
-                iNumberEntry->SetPlace(
-                    CBubbleOutlookNumberEntry::ENEBottom );
-                }                
-            break;
-        case 1:
-            {
-            // NE is placed according to it's activation time compared 
-            // to call's activation.
-            TUint8 index = 0;
-            FindNextDrawableHeader( index );
-            TInt cnapLength = iActiveHeaders->At( index )->CNAP().Length();
-            TPhoneCallState callState = 
-                iActiveHeaders->At( index )->CallState();
-
-            CBubbleOutlook& bubbleOutlook = 
-                iBubblePlaces->
-                    At( CBubblePlace::EMiddleHeld )->GetBubbleOutlook( );
-            CBubbleOutlookMiddle& bubbleMiddle =  
-                static_cast< CBubbleOutlookMiddle& >( bubbleOutlook ) ;
-            bubbleMiddle.SetIsUnder( ETrue );
-
-            if ( cnapLength )
-                {
-                SetActivePlace( CBubblePlace::EMiddleCnap ,
-                                *iActiveHeaders->At( index ) );
-                }
-            else
-                {
-                SetActivePlace( CBubblePlace::EMiddleHeld ,
-                                *iActiveHeaders->At( index ) );
-                }
-            iNumberEntry->SetPlace( CBubbleOutlookNumberEntry::ENEBottomRight );
-            break;
-            }
-        case 2:
-            {
-            // NE goes top left. Calls go like second and waiting 
-            // call when there are three calls.
-            iNumberEntry->SetPlace( CBubbleOutlookNumberEntry::ENEBottom );
-                        
-            // first call: middle held/active
-            TUint8 index = 0;
-            FindNextDrawableHeader( index );
-            CBubblePlace::TPhoneBubblePlace place = CBubblePlace::ETopLeft;
-            
-            // second call: bottom held/active
-            TUint8 index2 = TUint8(index + 1);
-            FindNextDrawableHeader( index2 );
-            CBubblePlace::TPhoneBubblePlace place2 = CBubblePlace::ETopRight;
-                        
-            // set drawing order
-            if ( iActiveHeaders->At( index2 )->CallState( ) 
-                > iActiveHeaders->At( index )->CallState( ) )
-                {
-                SetActivePlace( place , *iActiveHeaders->At( index ) );
-                SetActivePlace( place2 , *iActiveHeaders->At( index2 ) );
-                }
-            else
-                {
-                SetActivePlace( place2 , *iActiveHeaders->At( index2 ) );
-                SetActivePlace( place , *iActiveHeaders->At( index ) );
-                }                    
-            
-            break;
-            }
-        case 3:
-            {
-            iNumberEntry->SetPlace( CBubbleOutlookNumberEntry::ENEBottom );
-            
-            TUint8 index = 0;
-            FindNextDrawableHeader( index );
-            
-            TUint8 index2 = TUint8( index + 1 );
-            FindNextDrawableHeader( index2 );
-                        
-            if ( iActiveHeaders->At( index2 )->CallState( ) 
-                > iActiveHeaders->At( index )->CallState( ) )
-                {
-                SetActivePlace( 
-                    CBubblePlace::EHide , *iActiveHeaders->At( index ) );
-                SetActivePlace( 
-                    CBubblePlace::ETopLeft , *iActiveHeaders->At( index2 ) );
-                }
-            else
-                {
-                SetActivePlace( 
-                    CBubblePlace::EHide , *iActiveHeaders->At( index2 ) );
-                SetActivePlace( 
-                    CBubblePlace::ETopLeft , *iActiveHeaders->At( index ) );
-                }
-            
-            index = TUint8( index2 + 1 );
-            FindNextDrawableHeader( index );
-            SetActivePlace( 
-                CBubblePlace::ETopRight , *iActiveHeaders->At( index ) );
-            break;
-            }
-        default:
-            Panic( EBMPanicInvalidNumberOfHeaders );
-            break;
-        }
-    return;           
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::BuildBubblesForTouch
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::BuildBubblesForTouch()
-    {
-    const TUint8 bubbleAmount = ShownHeaderCount();
-    iVideoFlags &= ~EBMVideoBubbleActive;
-    
-    // Without number entry.
-    switch ( bubbleAmount )
-        {
-        case 0:
-            break;
-        case 1:
-            {
-            TUint8 index = 0;
-            FindNextDrawableHeader( index );
-            CBubbleHeader* header = iActiveHeaders->At( index );
-            TPhoneCallState callState = header->CallState();
-            TBool callObjectText( 
-                  ( iConfigFlags & EBMCallObjectDisplay ) && 
-                  ( header->CallObjectText().Length() > 0) );
-            TBool callObjectImage( 
-                  ( iConfigFlags & EBMCallObjectDisplay ) && 
-                  header->CallObjectImage() );                  
-            
-            TInt cnapLength = header->CNAP().Length();
-
-            // Video
-            if ( iVideoFlags & EBMVideoSetAsRingTone &&
-                 ( callState == EIncoming || callState == EAlertToDisconnected ) )
-                {
-                if ( cnapLength ) // 3-lines
-                    {
-                    SetActivePlace( CBubblePlace::EVideoCnap, 
-                                    *header );
-                                    iVideoFlags |= EBMVideoBubbleActive;
-                    }
-                else
-                    {
-                    SetActivePlace( CBubblePlace::EVideo, 
-                                    *header );
-                                    iVideoFlags |= EBMVideoBubbleActive;    
-                    }                            
-                }
-            // Caller text                    
-            else if ( callObjectText && ( callState == EIncoming || 
-                                          callState == EOutgoing ||
-                                          callState == EAlerting ||
-                                          callState == EAlertToDisconnected ) )
-                {
-                SetActivePlace( CBubblePlace::EBottomText,
-                                *header );                            
-                }
-            // Incall
-            else if ( ( callState == EActive ||
-                        callState == EOnHold ||
-                        callState == EDisconnected ) )                
-                {
-                CBubbleHeader::TBMCallObjectImageType imageType = 
-                    header->CallObjectImageType();
-                
-                if ( callObjectImage && 
-                     ( imageType == CBubbleHeader::EGalleryImage ) )
-                    {
-                    TSize imageSize = header->CallObjectImage()->SizeInPixels();
-                    TSize tinySize = CallObjectImageIncallSize( ETrue );
-                    TBool tiny = imageSize.iHeight < tinySize.iHeight;
-                    iBottomImageVariety = tiny ? 0 : 4;
-                    
-                    CBubblePlace::TPhoneBubblePlace place;
-                    place = cnapLength ? CBubblePlace::EBottomImageCnap :
-                                         CBubblePlace::EBottomImage;
-                    
-                    SetActivePlace( place,
-                                    *header );                        
-                    }
-                else
-                    {
-                    CBubblePlace::TPhoneBubblePlace place =
-                        cnapLength ? CBubblePlace::EBottomCnap :
-                                     CBubblePlace::EBottom;
-                    
-                    SetActivePlace( place,
-                                    *header );
-                    }
-                }
-            // Initializing call
-            else
-                {
-                if ( cnapLength ) // 3-lines
-                    {
-                    SetActivePlace( CBubblePlace::EBottomCnap,
-                                    *header );
-                    }
-                else
-                    {
-                    SetActivePlace( CBubblePlace::EBottom ,
-                                    *header );
-                    }    
-                }                
-            break;
-            }
-        case 2:
-            {
-            // first call: middle held/active
-            TUint8 index = 0;
-            FindNextDrawableHeader( index );
-            TPhoneCallState callState = 
-                iActiveHeaders->At( index )->CallState();
-            TInt cnapLength = iActiveHeaders->At( index )->CNAP().Length();                
-
-            // second call: bottom held/active
-            TUint8 index2 = TUint8(index + 1);
-            FindNextDrawableHeader( index2 );
-            TInt cnapLength2 = iActiveHeaders->At( index2 )->CNAP().Length();
-            TPhoneCallState callState2 = 
-                iActiveHeaders->At( index2 )->CallState();
-            TPhoneCallState previousState = 
-                iActiveHeaders->At( index )->PreviousCallState();                
-            TPhoneCallState previousState2 = 
-                iActiveHeaders->At( index2 )->PreviousCallState();                
-
-            CBubblePlace::TPhoneBubblePlace place;
-            CBubblePlace::TPhoneBubblePlace place2;
-            
-            if ( !InitializingCall() ) // Incall
-                {
-                if ( ( callState == EActive  ) ||
-                     ( callState == EDisconnected &&
-                       previousState == EActive ) )
-                    {
-                    // First call shown on bottom
-                    place = cnapLength ? 
-                            CBubblePlace::EBottomRightActiveCnapTouch :
-                            CBubblePlace::EBottomRightActiveTouch;
-                    place2 = CBubblePlace::EMiddleHeldTouch;    
-                    }
-                else if ( ( callState2 == EActive )  ||
-                          ( callState2 == EDisconnected &&
-                            previousState2 == EActive ) )
-                    {
-                    // Second call is shown on bottom
-                    place = CBubblePlace::EMiddleHeldTouch;
-                    place2 = cnapLength2 ? 
-                             CBubblePlace::EBottomRightActiveCnapTouch :
-                             CBubblePlace::EBottomRightActiveTouch;    
-                    }
-                else 
-                    {
-                    // The call that was shown in the held call position
-                    // keeps that position.
-                    if ( previousState == EOnHold )
-                        {
-                        place = CBubblePlace::EMiddleHeldTouch;
-                        place2 = cnapLength2 ? 
-                                 CBubblePlace::EBottomRightActiveCnapTouch :
-                                 CBubblePlace::EBottomRightActiveTouch;    
-                        }
-                    else
-                        {
-                        place = cnapLength ? 
-                                CBubblePlace::EBottomRightActiveCnapTouch :
-                                CBubblePlace::EBottomRightActiveTouch;
-                        place2 = CBubblePlace::EMiddleHeldTouch;    
-                        }
-                    }
-                }
-            else // Initializing call
-                {
-                // the call that is in initializing state is shown in
-                // primary position.
-                place = CBubblePlace::ETopLeft;
-                place2 =  cnapLength2 ? CBubblePlace::EBottomRightCnap :
-                                        CBubblePlace::EBottomRightActive;
-                }                
-            
-            // set drawing order
-            if ( callState2 > callState )
-                {
-                SetActivePlace( place , *iActiveHeaders->At( index ) );
-                SetActivePlace( place2 , *iActiveHeaders->At( index2 ) );
-                }
-            else
-                {
-                SetActivePlace( place2 , *iActiveHeaders->At( index2 ) );
-                SetActivePlace( place , *iActiveHeaders->At( index ) );
-                }                    
-            }
-            break;
-        case 3:
-            {
-            TUint8 index = 0;
-            FindNextDrawableHeader( index );
-            
-            TUint8 index2 = TUint8( index + 1 );
-            FindNextDrawableHeader( index2 );
-            
-            if ( iActiveHeaders->At( index2 )->CallState( ) 
-                > iActiveHeaders->At( index )->CallState( ) )
-                {
-                SetActivePlace( 
-                    CBubblePlace::ETopRight , *iActiveHeaders->At( index ) );
-                SetActivePlace( 
-                    CBubblePlace::ETopLeft , *iActiveHeaders->At( index2 ) );
-                }
-            else
-                {
-                SetActivePlace( 
-                    CBubblePlace::ETopRight , *iActiveHeaders->At( index2 ) );
-                SetActivePlace( 
-                    CBubblePlace::ETopLeft , *iActiveHeaders->At( index ) );
-                }
-            
-            
-            index = TUint8( index2 + 1 );
-            FindNextDrawableHeader( index );
-            SetActivePlace( 
-                CBubblePlace::EBottomRightActive , *iActiveHeaders->At( index ) );
-            break;
-            }
-        default:
-            Panic( EBMPanicInvalidNumberOfHeaders );
-            break;
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetPhoneMuted
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetPhoneMuted( const TBool& aIsMuted )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-
-    if ( aIsMuted && iMutedImage->Bitmap() == NULL )
-        {
-        iImageManager->SetBitmapToImage( iMutedImage , 
-                                     EQgn_indi_call_muted , 
-                                     EQgn_indi_call_muted_mask );
-        }
-
-    iIsMuted = aIsMuted;
-    iMutedImage->MakeVisible( iIsMuted );
-    if ( !iIsMuted )
-        {
-        iMutedImage->DrawDeferred();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::CreateCallHeader
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CBubbleManager::TBubbleId CBubbleManager::CreateCallHeader( )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find unused call header for use.
-    
-    TUint8 index = 0;
-    while ( iCallHeaders->At( index )->IsUsed( ) )
-        {
-        index++;
-        __ASSERT_ALWAYS( index < iCallHeaders->Count( ), 
-                         Panic( EBMPanicInvalidNumberOfHeaders ) );
-        }
-
-    CBubbleCallHeader* header = iCallHeaders->At( index );
-    
-    header->SetIsUsed( ETrue );
-    iActiveHeaders->InsertL( iActiveHeaders->Count( ), header );// Can't leave
-    
-    return header->BubbleId( );
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::RemoveCallHeader
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::RemoveCallHeader( const TBubbleId& aBubbleId )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    if ( header->IsConference() )
-        {
-        __ASSERT_DEBUG( 
-            EFalse , Panic( EBMPanicReferredHeaderIsConferenceHeader ) );
-        return;
-        }
-    
-    if ( header->IsInConference() )
-        {
-        __ASSERT_DEBUG( 
-            EFalse , Panic( EBMPanicReferredCallHeaderIsInConferenceCall ) );
-        return;
-        }
-    
-    header->Reset();
-    
-    
-    // find the active header from array
-    TUint8 index = 0;
-    while ( iActiveHeaders->At( index )->BubbleId( ) != aBubbleId )
-        {
-        index++;
-        }
-        
-    iActiveHeaders->Delete( index );
-    
-    iCustomManager->RemoveCustomElements( aBubbleId );
-    
-    // remove main pane call object
-    if ( iMainPaneControl && 
-         iMainPaneControl->BubbleId() == aBubbleId )
-        {
-        iMainPaneControl->Reset();
-        }
-        
-    if ( ( iConfigFlags & EBMCallObjectDisplay ) && iCallObjectManager )
-        {
-        iCallObjectManager->CancelCallObjectLoading( aBubbleId );            
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetState
-//  
-//  for conf also (active/on hold/ none)
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetState( const TBubbleId& aBubbleId, 
-                                        const TPhoneCallState& aState )
-    {    
-    
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    TPhoneCallState oldstate = header->CallState();
-    header->SetCallState( aState );
-
-    TUint activeCount = iActiveHeaders->Count();
-    
-    //check if we have to change the bubble order
-    if ( (oldstate == EAlerting || oldstate == EOutgoing 
-        || oldstate == EWaiting || oldstate == EIncoming ) 
-        && aState == EActive 
-        && iActiveHeaders->At( activeCount - 1 )->BubbleId() == aBubbleId)
-        {
-        //so we know that the connected call was the last
-        if ( activeCount > 1 )
-            {
-            //we know that there is another call
-            TPhoneCallState previouscallstate = 
-                iActiveHeaders->At( activeCount - 2 )->CallState();
-            
-            if ( previouscallstate == EAlerting 
-                || previouscallstate == EOutgoing 
-                || previouscallstate == EWaiting 
-                || previouscallstate == EIncoming 
-                || previouscallstate == EAlertToDisconnected )
-                {
-                //we know that it's too about to get connection
-                
-                // now we must change the bubble order so active bubble
-                // don't stay under rectangular bubble.
-                
-                CBubbleHeader* tempBubble = 
-                    iActiveHeaders->At( activeCount-2 );
-                iActiveHeaders->At( activeCount-2 ) = 
-                                    iActiveHeaders->At(activeCount-1 );
-                iActiveHeaders->At( activeCount-1 ) = tempBubble;
-                }
-            
-            }
-        
-        }
-
-    // Call collision exception cases:
-
-    // Case: AlertToDisconnected + Waiting
-    // We have change the drawing order:
-    if ( activeCount == 2 )
-        {
-        if ( iActiveHeaders->At(0)->CallState() == EAlertToDisconnected
-            && iActiveHeaders->At(1)->CallState() == EWaiting )
-            {
-            // now we must change the bubble order so waiting bubble
-            // don't stay under alerttodisconnected bubble.
-            CBubbleHeader* tempBubble = iActiveHeaders->At(0);
-            iActiveHeaders->At(0) = iActiveHeaders->At(1);
-            iActiveHeaders->At(1) = tempBubble;
-            }
-        }
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetLabel
-//  
-//  for conf also 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetLabel( 
-    const TBubbleId& aBubbleId, 
-    const TDesC& aText, 
-    const TPhoneClippingDirection& aClipDirection)
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,
-        Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    BubbleUtils::AddTextToHeader( *header, 
-                                  BubbleUtils::EBubbleHeaderLabel , 
-                                  aText , 
-                                  KBubbleLabelMaxLength ,
-                                  aClipDirection ); 
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetLabel
-//  
-//  for conf also 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetLabel( 
-    const TBubbleId& aBubbleId, 
-    const TDesC& aLongText, 
-    const TDesC& aShortText, 
-    const TPhoneClippingDirection& aClipDirection)
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-        Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    // set both text to single buffer. text are cut from the end.
-    TInt shortLength = aShortText.Length();
-    TInt longLength = aLongText.Length();
-    TInt textLength = longLength + shortLength + 1;
-
-    TPtr16 textPtr = iLabelBuf->Des();
-    textPtr.Zero();
-    if ( textPtr.MaxLength() < textLength )
-        {        
-        TRAPD ( err, iLabelBuf = iLabelBuf->ReAllocL( textLength ) );
-        textPtr.Set( iLabelBuf->Des() );
-        textPtr.Zero();
-        if ( longLength > 0 )
-            {
-            if ( err != KErrNone )
-                {
-                longLength = textPtr.MaxLength() - shortLength - 1;
-                textPtr.Append( aLongText.Left( longLength ) );
-                }
-            else
-                {
-                textPtr.Append( aLongText );
-                }
-            }
-        else
-            {
-            textPtr.Append( KNullDesC );
-            }
-        }
-    else
-        {
-        if ( longLength > 0 )
-            {
-            textPtr.Append( aLongText );
-            }
-        else
-            {
-            textPtr.Append( KNullDesC );
-            }
-        }
-
-    textPtr.Append( KBubbleTextSeparator );
-
-    if ( shortLength > 0 )
-        {
-        textPtr.Append( aShortText );
-        }
-    else
-        {
-        textPtr.Append( KNullDesC );
-        }
-
-    header->SetText( textPtr , aClipDirection );
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetCLI
-//  
-//  for conf also 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetCLI( 
-    const TBubbleId& aBubbleId, 
-    const TDesC& aCLIText, 
-    const TPhoneClippingDirection& aClipDirection  )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-        Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-
-    // We have a number
-    if ( aClipDirection == ELeft )
-        {
-        BubbleUtils::AddTextToHeader( *header, 
-                                  BubbleUtils::EBubbleHeaderCLI , 
-                                  NumberGroup( aCLIText ), 
-                                  KBubbleLabelMaxLength ,
-                                  aClipDirection ); 
-        }
-    else
-        {
-        BubbleUtils::AddTextToHeader( *header, 
-                                  BubbleUtils::EBubbleHeaderCLI , 
-                                  aCLIText , 
-                                  KBubbleLabelMaxLength ,
-                                  aClipDirection ); 
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::UpdateCLI
-//  
-//  for conf also 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::UpdateCLI( 
-    const TBubbleId& aBubbleId, 
-    const TDesC& aCLIText, 
-    const TPhoneClippingDirection& aClipDirection )
-    {
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    BubbleUtils::AddTextToHeader( *header, 
-                                  BubbleUtils::EBubbleHeaderCLI , 
-                                  aCLIText , 
-                                  KBubbleLabelMaxLength ,
-                                  aClipDirection );
-    
-    
-    // Tell active bubbles to update their CLI if it's visible.
-    CBubbleOutlook* outlook = NULL;
-    TInt placeCount = iActivePlaces->Count();
-    for ( TUint8 index = 0 ; index < placeCount ; index++ )
-        {
-        outlook = &iActivePlaces->At( index )->GetBubbleOutlook( );
-        outlook->DrawCLINow();
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetCallTime
-//  
-//  for conf also 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetCallTime( const TBubbleId& aBubbleId, 
-                                           const TDesC& aCallTime )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-        Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-
-    BubbleUtils::AddTextToHeader( *header, 
-                                  BubbleUtils::EBubbleHeaderTimerCost , 
-                                  aCallTime , 
-                                  KBubbleLabelMaxLength ,
-                                  CBubbleManager::ERight );
-
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::UpdateCallTime
-//  
-//  for conf also 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::UpdateCallTime( const TBubbleId& aBubbleId, 
-                                              const TDesC& aCallTime )
-    {
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    BubbleUtils::AddTextToHeader( *header, 
-                                  BubbleUtils::EBubbleHeaderTimerCost , 
-                                  aCallTime , 
-                                  KBubbleLabelMaxLength ,
-                                  CBubbleManager::ERight );
-    
-    // Tell active bubbles to update their timer/cost text if it's visible.
-    CBubbleOutlook* outlook = NULL;
-    TInt placeCount = iActivePlaces->Count();
-    for ( TUint8 index = 0 ; index < placeCount ; index++ )
-        {
-        outlook = &iActivePlaces->At( index )->GetBubbleOutlook( );
-        outlook->DrawTimerCostNow();
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::UpdateCallHeaderText
-//  
-//  for conf also 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::UpdateCallHeaderText( const TBubbleId& aBubbleId, 
-                                            const TDesC& aLongText, 
-                                            const TDesC& aShortText, 
-                                            const TPhoneClippingDirection& aClipDirection )
-    {
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    iIsReadyToDraw++;
-    SetLabel( aBubbleId, aLongText, aShortText, aClipDirection);
-    iIsReadyToDraw--;
-
-    // Tell active bubbles to update call header text if it's visible.
-    CBubbleOutlook* outlook = NULL;
-    TInt placeCount = iActivePlaces->Count();
-    for ( TUint8 index = 0 ; index < placeCount ; index++ )
-        {
-        outlook = &iActivePlaces->At( index )->GetBubbleOutlook( );        
-        outlook->DrawCallHeaderText();
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetThumbnail
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetThumbnail( const TBubbleId& aBubbleId, 
-                                            CFbsBitmap* aTnBitmap, 
-                                            CFbsBitmap* aTnBitmapMask,
-                                            TBool aDataOwnershipTransferred )
-    {
-    if ( !(iConfigFlags & EBMCallObjectDisplay) )
-        {
-        __ASSERT_ALWAYS( 
-            iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-        }
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    header->SetTnBitmap( aTnBitmap );
-    header->SetTnBitmapMask( aTnBitmapMask );
-    header->SetTnDataOwnership( aDataOwnershipTransferred );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetCallFlags
-//  
-//  for conf also 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetCallFlags( const TBubbleId& aBubbleId, 
-                                            const TUint32& aFlags ) 
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    header->SetCallFlags( aFlags );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetCallFlag
-//  
-//  for conf also 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetCallFlag( const TBubbleId& aBubbleId, 
-                                           const TPhoneCallTypeFlags& aFlag, 
-                                           const TBool& aSet )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                                       Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    if ( aSet )
-        {
-        header->SetCallFlag( aFlag );
-        }
-    else 
-        {
-        header->RemoveCallFlag( aFlag );
-        } 
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetNumberType
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetNumberType( const TBubbleId& aBubbleId, 
-                                             const TPhoneNumberType& aNumType )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    header->SetNumberType( aNumType );
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetPbkNumberType
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetPbkNumberType( const TBubbleId& aBubbleId, 
-                                                const TInt aNumType )
-    {
-    TPhoneNumberType numType = ENotSet;
-    switch ( aNumType )
-        {  
-        case EPbkFieldIdPhoneNumberMobile:
-            numType = EMobile;
-            break;
-        case EPbkFieldIdPhoneNumberStandard:
-        case EPbkFieldIdPhoneNumberHome:
-        case EPbkFieldIdPhoneNumberWork:
-            numType = EPhone;
-            break;
-        case EPbkFieldIdFaxNumber:
-            numType = EFaxNumber;
-            break;
-        case EPbkFieldIdPagerNumber:
-            numType = EPager;
-            break;
-        case EPbkFieldIdCarNumber:
-            numType = ECar;
-            break;            
-        case EPbkFieldIdAssistantNumber:
-            numType = EAssistant;
-            break;            
-        case EPbkFieldIdNone:       // flow through
-        default:
-            numType = ENotSet;
-            break;
-        }
-    SetNumberType( aBubbleId , numType );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetPhCntNumberType
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetPhCntNumberType( 
-    const TBubbleId& aBubbleId,
-    const MPhCntMatch::TNumberType aNumberType )    
-    {
-#ifdef RD_VIRTUAL_PHONEBOOK
-    TPhoneNumberType numType = ENotSet;
-    switch( aNumberType ) 
-        {
-        case MPhCntMatch::EMobileNumber:
-            numType = EMobile;
-            break;
-
-        case MPhCntMatch::EVoipNumber:            
-        case MPhCntMatch::EStandardNumber:
-            numType = EPhone;
-            break;
-            
-        case MPhCntMatch::EFaxNumber:
-            numType = EFaxNumber;
-            break;
-            
-        case MPhCntMatch::EPagerNumber:
-            numType = EPager;
-            break;
-        case MPhCntMatch::EAssistantNumber:
-        	numType = EAssistant;
-        	break;
-        case MPhCntMatch::ECarNumber:
-        	numType = ECar;
-        	break;
-        default:
-            break;
-        }
-    SetNumberType( aBubbleId, numType );
-#else
-    (void) aBubbleId;
-    (void) aNumberType;	    
-#endif // RD_VIRTUAL_PHONEBOOK
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::CreateConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CBubbleManager::TBubbleId CBubbleManager::CreateConference( 
-                                                const TBubbleId& aBubble1, 
-                                                const TBubbleId& aBubble2 )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    __ASSERT_ALWAYS( iActiveHeaders->Count() < KBubblePlaceMaxVisible, 
-                     Panic( EBMPanicInvalidNumberOfHeaders ) );
-    __ASSERT_DEBUG( !iConfHeader->IsUsed() , Panic( EBMPanicConferenceIsUsed ) );
-    
-    iConfHeader->SetIsUsed( ETrue );
-    
-    AddRowToConference( aBubble1 );
-    AddRowToConference( aBubble2 );
-    
-    // Put conference header to first so it will be drawn always on top.
-    iActiveHeaders->InsertL( 0 , iConfHeader ); //Can't leave
-    
-    return iConfHeader->BubbleId( );    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::RemoveConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::RemoveConference( )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    __ASSERT_ALWAYS( iConfHeader->IsUsed( ), Panic( EBMPanicConferenceNotUsed ) );
-    
-    iConfHeader->Reset();
-    
-    
-    // find the active element
-    TUint8 index = 0;
-    __ASSERT_ALWAYS( 
-        iActiveHeaders->Count( ) > 0, Panic( EBMPanicInvalidNumberOfHeaders ) );
-    while ( iActiveHeaders->At( index )->BubbleId( ) != KBubbleConferenceId )
-        {
-        index++;
-        __ASSERT_ALWAYS( index != iActiveHeaders->Count( ), 
-            Panic( EBMPanicInvalidNumberOfHeaders ) );
-        }
-    
-    iActiveHeaders->Delete( index );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::AddRowToConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::AddRowToConference( const TBubbleId& aBubbleId )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    __ASSERT_ALWAYS( header->IsUsed(), Panic( EBMPanicBubbleIdIsNotInUse ) );
-    __ASSERT_ALWAYS( !header->IsConference(), 
-                     Panic( EBMPanicReferredHeaderIsConferenceHeader ) );
-    __ASSERT_ALWAYS( !header->IsInConference(), 
-                     Panic( EBMPanicReferredCallHeaderIsInConferenceCall ) );
-    
-    iConfHeader->AddRow( static_cast<CBubbleCallHeader&>( *header ) ); // type cast downwards
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::RemoveRowFromConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::RemoveRowFromConference( const TBubbleId& aBubbleId )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    iConfHeader->RemoveRow( aBubbleId );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::ConferenceRowCount
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint8 CBubbleManager::ConferenceRowCount( ) const
-    {
-    return iConfHeader->RowCount();
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetExpandedConferenceCallHeader
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetExpandedConferenceCallHeader( 
-    const TBool& aIsExpanded )
-    {
-    iConfHeader->SetIsExpanded( aIsExpanded );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::IsConferenceExpanded
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CBubbleManager::IsConferenceExpanded( ) const
-    {
-    return iConfHeader->IsExpanded();
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetSelectionInConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetSelectionInConference( 
-    const TRowNumber& aRowNumber )
-    {
-    CBubbleManager::TRowNumber oldrow = iConfHeader->Highlight();
-    iConfHeader->SetHighlight( aRowNumber );
-    CBubbleManager::TRowNumber newrow = iConfHeader->Highlight();
-    
-    UpdateConferenceRows( oldrow , newrow );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetSelectionIdInConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetSelectionIdInConference( 
-    const TBubbleId& aBubbleId )
-    {
-    CBubbleManager::TRowNumber oldrow = iConfHeader->Highlight();
-    iConfHeader->SetHighlightId( aBubbleId );
-    CBubbleManager::TRowNumber newrow = iConfHeader->Highlight();
-    
-    UpdateConferenceRows( oldrow , newrow );
-    }
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SelectionInConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CBubbleManager::TRowNumber 
-    CBubbleManager::SelectionInConference() const
-    {
-    return iConfHeader->Highlight();
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SelectionIdInConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CBubbleManager::TBubbleId 
-    CBubbleManager::SelectionIdInConference() const
-    {
-    return iConfHeader->HighlightId();
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::MoveHighlightOneUpInConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::MoveHighlightOneUpInConference()
-    {
-    CBubbleManager::TRowNumber oldrow = iConfHeader->Highlight();
-    iConfHeader->MoveHighlightOneUp();
-    CBubbleManager::TRowNumber newrow = iConfHeader->Highlight();
-    
-    UpdateConferenceRows( oldrow , newrow );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::MoveHighlightOneDownInConference
-//  
-//  For conference calls only
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::MoveHighlightOneDownInConference()
-    {
-    CBubbleManager::TRowNumber oldrow = iConfHeader->Highlight();
-    iConfHeader->MoveHighlightOneDown();
-    CBubbleManager::TRowNumber newrow = iConfHeader->Highlight();
-    
-    UpdateConferenceRows( oldrow , newrow );
-    }
-
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::CreateNumberEntry
-//  
-//  For number entry
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::CreateNumberEntry()
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    __ASSERT_ALWAYS( !iNumberEntry->IsUsed(), Panic( EBMPanicNumberEntryInUse ) );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-    if ( !ShownHeaderCount() ) // Only effects in number entry
-        {
-        // Capture transition begin state
-        GfxTransEffect::Begin( iNumberEntry, KGfxControlAppearAction );
-        // Set reminder that Begin has been called.
-        CAknTransitionUtils::SetData( (TInt) this, (TAny*) 1 );
-        }
-#endif //NOT_RD_UI_TRANSITION_EFFECTS_PHASE2
-    
-    iNumberEntry->SetIsUsed( ETrue );
-    iNumberEntry->MakeVisible( ETrue );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::GetNumberEntry
-//  
-//  For number entry
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CCoeControl* CBubbleManager::GetNumberEntry( ) const
-    {
-    return iNumberEntry->GetEditor();
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::IsNumberEntryUsed
-//  
-//  For number entry
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CBubbleManager::IsNumberEntryUsed( ) const
-    {
-    return iNumberEntry->IsUsed();
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetNumberEntryVisible
-//  
-//  For number entry
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetNumberEntryVisible( const TBool& aVisibility )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-
-    iNumberEntry->SetPlace( CBubbleOutlookNumberEntry::ENENone );
-    iNumberEntry->MakeVisible( aVisibility );
-    CCoeControl* editor = iNumberEntry->GetEditor();
-    if ( !aVisibility )
-        {
-        editor->SetFocus( EFalse );
-        }
-    else
-        {
-// Don't set focus now ( wait until the screen is redirected )
-// We don't want the cursor to be shown until the transition is finished
-#ifndef RD_UI_TRANSITION_EFFECTS_PHASE2
-        editor->SetFocus( ETrue );
-#endif
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetTextToNumberEntry
-//  
-//  For number entry
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetTextToNumberEntry( const TDesC& aDesC )
-    {
-    iNumberEntry->SetText( aDesC );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::GetTextFromNumberEntry
-//  
-//  For number entry
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::GetTextFromNumberEntry( TDes& aDesC )
-    {
-    iNumberEntry->GetText( aDesC );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::RemoveNumberEntry
-//  
-//  For number entry
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::RemoveNumberEntry( )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    __ASSERT_ALWAYS( 
-        iNumberEntry->IsUsed(), Panic( EBMPanicNumberEntryNotInUse ) );
-    
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-    if ( !ShownHeaderCount() ) // Only effects in number entry
-        {
-        // Capture transition begin state
-        GfxTransEffect::Begin( iNumberEntry, KGfxControlDisappearAction );
-        // Set reminder that Begin has been called.
-        CAknTransitionUtils::SetData( (TInt) this, (TAny*) 1 );
-        }
-#endif
-
-    iNumberEntry->Reset();
-    iNumberEntry->MakeVisible( EFalse );
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::FindHeader
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleManager::FindHeader( 
-    const TBubbleId& aBubbleID, 
-    CBubbleHeader*& aHeader ) const
-    {
-    TUint count( TUint8( iCallHeaders->Count() ) );
-    CBubbleHeader* tempHeader = NULL;
-    for ( TUint8 i = 0 ; i < count ; i++ )
-        {
-        tempHeader = iCallHeaders->At( i );
-        if ( aBubbleID == tempHeader->BubbleId() )
-            {
-            aHeader = tempHeader;
-            return ETrue;
-            }
-        }
-    aHeader = NULL;
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::FindActiveHeader
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleManager::FindActiveHeader( 
-    const TBubbleId& aBubbleID, 
-    CBubbleHeader*& aHeader ) const
-    {
-    TUint count( TUint8( iActiveHeaders->Count() ) );
-    CBubbleHeader* tempHeader = NULL;
-    for ( TUint8 i = 0 ; i < count ; i++ )
-        {
-        tempHeader = iActiveHeaders->At( i );
-        if ( aBubbleID == tempHeader->BubbleId() )
-            {
-            aHeader = tempHeader;
-            return ETrue;
-            }
-        }
-    aHeader = NULL;
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::UpdateConferenceRows
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::UpdateConferenceRows( CBubbleManager::TRowNumber aRow1, 
-                                          CBubbleManager::TRowNumber aRow2 )
-    {
-    // if the rows are the same or conf is not expanded - nothing to do.
-    if ( aRow1 == aRow2 || !iConfHeader->IsExpanded() )
-        {
-        return;
-        }
-    
-    // if we are surrounded by start-/endchanges, we don't have to
-    // worry about drawing.
-    if ( iIsReadyToDraw > 0 )
-        {
-        return;
-        }
-    
-    // find current control:
-    
-    // There should be only one active place: the expanded conference place
-    if ( iActivePlaces->Count() != 1 )
-        {
-        __ASSERT_DEBUG( EFalse, User::Invariant() );
-        return;
-        }
-    
-    CBubbleOutlookConference* control = 
-        static_cast< CBubbleOutlookConference* >
-            ( &iActivePlaces->At(0)->GetBubbleOutlook() );
-    
-    // make sure it's what we want
-    if ( control == NULL )
-        {
-        __ASSERT_DEBUG( EFalse, User::Invariant() );
-        return;
-        }
-    
-    
-    // Draw row1 first:
-    control->DrawRowNow( aRow1 );
-    
-    // Then second row:
-    control->DrawRowNow( aRow2 );
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::FocusChanged
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::FocusChanged( TDrawNow aDrawNow )
-    {
-    if ( iNumberEntry->IsUsed() && iNumberEntry->IsVisible() )
-        {
-        iNumberEntry->SetFocus( IsFocused(), aDrawNow );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::ImageManager
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleImageManager& CBubbleManager::ImageManager()
-    {
-    return *iImageManager;
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::ResourceManager
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleResourceManager& CBubbleManager::ResourceManager()
-    {
-    return *iResourceManager;
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::CustomManager
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleCustomManager& CBubbleManager::CustomManager()
-    {
-    return *iCustomManager;
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::HandleResourceChange
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::HandleResourceChange(TInt aType)
-    {
-    if ( aType ==  KEikMessageUnfadeWindows )
-        {
-        if ( iIsReadyToDraw == 0 )
-            {
-            if ( iActivePlaces->Count() > 0 )
-                {
-                iParentControl->DrawNow();
-                }
-            }
-        }
-
-    if ( aType == KAknsMessageSkinChange || 
-         aType == KEikDynamicLayoutVariantSwitch )
-        {
-        StartChanges();
-        
-        if ( aType == KAknsMessageSkinChange )
-            {
-            // Remove muted image. It will be reloaded when 
-            // needed for the next time.
-            iMutedImage->SetPicture( NULL , NULL );
-            iMutedImage->MakeVisible( EFalse );
-
-            // Release all bitmaps from the animations
-            for ( TInt i = 0; i < iBubblePlaces->Count() ; i++ )
-                {
-                iBubblePlaces->At( i )->GetBubbleOutlook().ReleaseBitmaps();
-                }
-
-            // Number entry
-            iNumberEntry->ReleaseBitmaps();
-
-            // Clear all the skinned images from own cache
-            iImageManager->ClearSkinsCache();
-
-            // Set the image back if it was there...
-            SetPhoneMuted( iIsMuted );
-
-            // Recreate all bitmaps from the animations
-            for ( TInt a = 0; a < iBubblePlaces->Count() ; a++ )
-                {
-                iBubblePlaces->At( a )->GetBubbleOutlook().RebuildBitmaps();
-                }
-            
-            // Number entry
-            iNumberEntry->RebuildBitmaps();
-            
-            // Touch pane
-            if ( iTouchPane )
-                {
-                iTouchPane->HandleResourceChange( aType );                    
-                }
-            
-            // Update preloaded theme image
-            if ( iCallObjectManager && 
-                 iCallObjectManager->CallThemeImageIcon() )
-                {
-                iMainPaneControl->Reset();
-                
-                iCallObjectManager->ReleaseCallThemeImage();
-                iCallObjectManager->LoadCallThemeImage( 
-                        *iImageManager, 
-                        MainPaneImageRect().Size() );
-                }
-            }
-        else if ( aType == KEikDynamicLayoutVariantSwitch )
-            {
-            iImageManager->PrepareCachedBitmaps();
-            }            
-        
-        // Call object
-        if ( aType == KEikDynamicLayoutVariantSwitch )
-            {
-            if ( iCallObjectManager && 
-                 iCallObjectManager->CallThemeImageIcon() )
-                {
-                iCallObjectManager->ResizeCallThemeImage( MainPaneImageRect().Size() );
-                }
-                        
-            if ( iMainPaneControl &&
-                 iMainPaneControl->IsUsed() )
-                {
-                ReloadCallObjectImage();
-                }
-            }
-        
-        EndChanges();
-
-        // Relayout video
-        if ( iVideoFlags & EBMVideoPlayingVideo )
-            {
-            iVideoController->HandleLayoutChange();    
-            }
-
-        return;
-        }
-
-    CCoeControl::HandleResourceChange(aType);
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetCNAP
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetCNAP( 
-    const TBubbleId& aBubbleId, 
-    const TDesC& aCNAPText, 
-    const TPhoneClippingDirection& aClipDirection )
-    {
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-
-    if ( aCNAPText.Length() == 0 )
-        {
-        return;
-        }
-
-    // We have a number        
-    if ( aClipDirection == ELeft )
-        {
-        BubbleUtils::AddTextToHeader( 
-            *header, 
-            BubbleUtils::EBubbleHeaderCNAP, 
-            NumberGroup( aCNAPText ), 
-            KBubbleLabelMaxLength ,
-            aClipDirection );
-        }
-    else
-        {
-        BubbleUtils::AddTextToHeader(
-            *header, 
-            BubbleUtils::EBubbleHeaderCNAP, 
-            aCNAPText, 
-            KBubbleLabelMaxLength ,
-            aClipDirection );    
-        }            
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::NumberGroup
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CBubbleManager::NumberGroup( const TDesC& aNumber )
-    {
-    if ( iNumberGrouping )
-        {
-        iNumberGrouping->Set( aNumber );
-        return iNumberGrouping->FormattedNumber();
-        }
-    else
-        {
-        return aNumber;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetCallObjectImage
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetCallObjectImage( 
-    const TBubbleId& aBubbleId,
-    const TDesC& aImageFileName )
-    {
-    __ASSERT_ALWAYS( iCallObjectManager, 
-                     Panic( EBMPanicFeatureNotSupported ) );
-        
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    if ( !header->CallObjectImage() )
-        {
-        if ( !header->IsConference() )        
-            {
-            // load image from file
-            TBool threeLines( header->CNAP().Length() > 0 );
-            CBubbleCallObjectManager::TImageLoadingParams params;
-            params.iPreferredSize = MainPaneImageRect().Size();
-            params.iTinyImageSize = MainPaneImageRect( ETrue, 
-                                                       threeLines ).Size();
-            params.iDisplayMode = Window().DisplayMode();
-            params.iThumbnailSize = CallObjectImageIncallSize( ETrue );
-            iCallObjectManager->LoadImageFromFile( aBubbleId,
-                                                   aImageFileName,
-                                                   params );
-            }
-        else // conference
-            {
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( Rect(),
-                BubbleLayout2::popup_call2_audio_conf_window(3) );
-            
-            TSize imageSize( 
-                CallObjectImageIncallSize().iWidth,
-                bubbleRect.Rect().Size().iHeight );
-            
-            // load image from file
-            CBubbleCallObjectManager::TImageLoadingParams params;
-            params.iPreferredSize = imageSize;
-            params.iDisplayMode = Window().DisplayMode();
-            params.iTinyImageSize = TSize(0,0);
-            params.iThumbnailSize = TSize(0,0);
-            iCallObjectManager->LoadImageFromFile( aBubbleId,
-                                                   aImageFileName,
-                                                   params );    
-            }            
-
-        header->SetCallObjectFileName( aImageFileName.Alloc() );
-        header->SetCallObjectImageType(
-           CBubbleHeader::EGalleryImage );
-        }
-    
-    return;            
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetCallObjectImage
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CBubbleManager::SetCallObjectImage( const TBubbleId& aBubbleId,
-                                                  CFbsBitmap* aCOBitmap, 
-                                                  CFbsBitmap* aCOBitmapMask,
-                                                  TBool aDataOwnershipTrasferred )
-    {
-    __ASSERT_ALWAYS( ( iConfigFlags & EBMCallObjectDisplay ), 
-                     Panic( EBMPanicFeatureNotSupported ) );
-        
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    header->SetCallObjectImage( aCOBitmap );
-    header->SetCallObjectImageMask( aCOBitmapMask );
-    header->SetCallObjectImageDataOwnership( aDataOwnershipTrasferred );
-    iCallObjectChanged = ETrue;    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetCallObjectTheme
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::SetCallObjectFromTheme( 
-    const TBubbleId& aBubbleId )
-    {
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    if ( !header->CallObjectImage()  )
-        {
-        CEikImage* themeImage = new CEikImage;
-        if ( themeImage != NULL )
-            {
-            iImageManager->SetBitmapToImage( themeImage,
-                                             EQgn_graf_call_image_1,
-                                             EQgn_graf_call_image_1_mask );
-            SetCallObjectImage( 
-                aBubbleId,
-                const_cast<CFbsBitmap*> ( themeImage->Bitmap() ),
-                const_cast<CFbsBitmap*> ( themeImage->Mask() ),
-                ETrue );
-    
-            themeImage->SetPictureOwnedExternally( ETrue );
-            delete themeImage;
-            header->SetCallObjectImageType( CBubbleHeader::EThemeImage );                
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetCallObjectText
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CBubbleManager::SetCallObjectText( const TBubbleId& aBubbleId, 
-                                                 const TDesC& aCOText )
-    {
-    __ASSERT_ALWAYS( iCallObjectManager, 
-                     Panic( EBMPanicFeatureNotSupported ) );
-        
-    __ASSERT_ALWAYS( 
-        iIsReadyToDraw > 0, Panic( EBMPanicErrorInStartAndEndChanges ) );
-    
-    // find header
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    
-    if ( !header->CallObjectText().Length() &&
-         !header->IsConference() )
-        {
-        HBufC* text = aCOText.Alloc();    
-        header->SetCallObjectText( text ); // takes ownership
-        iCallObjectChanged = ETrue;
-    
-        CBubbleCallObjectManager::TImageLoadingParams params;
-        params.iPreferredSize = CallObjectImageIncallSize();
-        params.iTinyImageSize = TSize(0,0);
-        params.iThumbnailSize = TSize(0,0);
-        params.iDisplayMode = Window().DisplayMode();
-        iCallObjectManager->LoadImageFromText( aBubbleId,
-                                               aCOText,
-                                               params );
-        header->SetCallObjectImageType(
-           CBubbleHeader::ETextBasedImage );                                               
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::ChangeEditorMode
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CBubbleManager::ChangeEditorMode( TBool aDefaultMode )
-    {
-    return iNumberEntry->ChangeEditorMode( aDefaultMode );
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::GetEditorMode
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CBubbleManager::GetEditorMode() const
-    {
-    return iNumberEntry->GetEditorMode();
-    }    
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::ResetEditorToDefaultValues
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::ResetEditorToDefaultValues()
-    {
-    iNumberEntry->ResetEditorToDefaultValues();
-    }        
-                                                   
-// ---------------------------------------------------------------------------
-//  CBubbleManager::DeactivatepPopupDisplay
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleManager::FindHeader( const TPhoneCallState& aCallState,
-                                  CBubbleHeader*& aHeader ) const
-    {
-    // lookup outgoing and incoming call headers
-    TInt activeHeaderCount( iActiveHeaders->Count() );
-    for ( TInt i(0); i < activeHeaderCount; i++ )
-        {
-        CBubbleHeader* header = iActiveHeaders->At( i );
-        TPhoneCallState callState( header->CallState() );    
-        if ( callState == aCallState )
-            {
-            aHeader = header;
-            return ETrue;
-            }
-        }
-
-    return EFalse;
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::BuildMainPaneCallObjectL
-//  
-// 
-// ---------------------------------------------------------------------------
-//     
-void CBubbleManager::BuildMainPaneImage()
-    {
-    BM_TRACE_( "[BUBBLEMANAGER] CBubbleManager::BuildMainPaneImage" );
-    
-    CBubbleHeader* incomingHeader = NULL;
-    CBubbleHeader* outgoingHeader = NULL;
-    CBubbleHeader* activeHeader = NULL;
-    CBubbleHeader* holdHeader = NULL;
-    CBubbleHeader* activeConfHeader = NULL;
-    
-    // get incoming and outgoing call headers
-    TInt activeHeaderCount( iActiveHeaders->Count() );
-    for ( TInt i(0); i < activeHeaderCount; i++ )
-        {
-        CBubbleHeader* header = iActiveHeaders->At( i );
-        TPhoneCallState callState( header->CallState() );    
-        if ( callState == EIncoming || callState == EWaiting )
-            {
-            incomingHeader = header;
-            activeHeader = NULL;
-            holdHeader = NULL;
-            activeConfHeader = NULL;
-            break;
-            }
-        else if ( callState == EOutgoing || callState == EAlerting )
-            {
-            outgoingHeader = header;
-            activeHeader = NULL;
-            holdHeader = NULL;
-            activeConfHeader = NULL;
-            break;
-            }
-        else if ( callState == EActive )
-            {
-            holdHeader = NULL;
-            if( header->IsConference() )
-                {
-                // active conference founded, no image to show
-                activeConfHeader = header;
-                activeHeader = NULL;
-                }
-            else if ( !activeConfHeader )
-                {
-                // no conference, single active
-                activeHeader = header;
-                }
-            }
-        else if ( callState == EOnHold )
-            {
-            if( !activeHeader && !activeConfHeader )
-                {                
-                // none active headers, hold need to handle
-                holdHeader = header;
-                }
-            }
-        BM_TRACE_1( "[BUBBLEMANAGER] CBubbleManager::BuildMainPaneImage - callState = %d", callState );
-        }
-    
-   if ( holdHeader && iMainPaneControl->IsUsed() )
-        {
-        // Keep image in mainpane displayed
-        return;
-        }
-    else if ( activeConfHeader || ( !incomingHeader && !outgoingHeader && !activeHeader && !holdHeader ) )
-        {
-        // there are conference call or no incoming, outgoing, active, hold calls , no image
-        // in mainpane is displayed
-        iMainPaneControl->Reset();
-        return;
-        }
-    
-    CBubbleHeader* header = incomingHeader;
-    if ( outgoingHeader )
-        {
-        header = outgoingHeader;
-        }
-    else if ( activeHeader )
-        {
-        // single active
-        header = activeHeader;
-        iCallObjectChanged = ETrue;
-        }
-    else if ( holdHeader )
-        {
-        // single hold and no image yet
-        header = holdHeader;
-        iCallObjectChanged = ETrue;
-        }
-                
-    if ( header->IsInConference() || header->CallObjectText().Length() )
-        {
-        // Conference item or Text is not shown in mainpane.
-        return;            
-        }
-
-    if ( !iMainPaneControl->IsUsed() || iCallObjectChanged )
-        {
-        iMainPaneControl->Reset();
-        iMainPaneControl->ReadBubbleHeader( *header );
-        iCallObjectChanged = EFalse;    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::ReloadCallObjectImage
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::ReloadCallObjectImage()
-    {
-    const TBubbleId bubble = iMainPaneControl->BubbleId();
-
-    iMainPaneControl->Reset();
-    
-    CBubbleHeader* header = NULL;
-    FindActiveHeader( bubble , header );
-
-    if ( header && header->CallObjectFileName().Length() )        
-        {
-        TBool threeLines( header->CNAP().Length() > 0 );
-        
-        CBubbleCallObjectManager::TImageLoadingParams params;
-        params.iPreferredSize = MainPaneImageRect().Size();
-        params.iTinyImageSize = MainPaneImageRect( ETrue, threeLines ).Size();
-        params.iThumbnailSize = CallObjectImageIncallSize( ETrue );
-        params.iDisplayMode = Window().DisplayMode();    
-
-        iCallObjectManager->CancelCallObjectLoading( bubble );
-        
-        iCallObjectManager->LoadImageFromFile( 
-            bubble,
-            header->CallObjectFileName(),
-            params );
-        
-        header->SetCallObjectImage( NULL );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::CallIsDroppedByEndKey
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleManager::IsCallDroppedByEndKey( 
-    const TPhoneCallState& aState ) const
-    {
-    TUint activeCallCount( iActiveHeaders->Count() );
-    
-    if ( activeCallCount == 1 )
-        {
-        // just one call, it is always dropped by end key
-        return ETrue;            
-        }
-        
-    // Dropping order in multicall state
-    // 1. Disconnected call
-    // 2. Initialising or alerting call
-    // 3. Active call
-    // 4. Held call
-    // 5. Waiting call
-    
-    if ( aState == EWaiting )
-        {
-        // never dropped by end key
-        return EFalse;                
-        }
-    
-    // go through ongoing calls and check if there is a call with
-    // higher dropping priority
-    TBool dropped( ETrue );
-    for ( TInt i(0); i < activeCallCount; i++ )
-        {
-        TPhoneCallState callState = iActiveHeaders->At( i )->CallState();
-        
-        if ( aState == EOnHold && ( callState == EDisconnected ||
-             callState == EOutgoing || callState == EAlerting ||
-             callState == EActive ) )
-            {
-            dropped = EFalse;
-            break;    
-            }
-        else if ( aState == EActive && ( callState == EDisconnected ||
-             callState == EOutgoing || callState == EAlerting ) )
-            {
-            dropped = EFalse;
-            break;        
-            }
-        else if ( ( aState == EOutgoing || aState == EAlerting ) &&
-            ( callState == EDisconnected ) )
-            {
-            dropped = EFalse;
-            break;            
-            }
-        else
-            {
-            // do nothing    
-            }
-        } // for
-    
-    return dropped;       
-    }    
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::ActiveCallCount
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-TUint8 CBubbleManager::ActiveCallCount() const
-    {
-    return iActiveHeaders->Count();    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::MainPaneImageRect
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-const TRect CBubbleManager::MainPaneImageRect( 
-    TBool aTinyImage,
-    TBool aThreeLinesShown ) const
-    {
-    TRect imageRect; // whole main
-    
-    if ( aTinyImage )
-        {
-        TInt variety = aThreeLinesShown ? 1 : 0;
-        
-        if ( iConfigFlags & EBMTouchCallhandling )
-            {
-            // requires call2_image_placing_area to LAF data.
-            TAknLayoutRect callPane;
-            callPane.LayoutRect(
-                Rect(), 
-                BubbleLayout4::call4_windows_pane(2) );    
-            
-            TAknLayoutRect image;
-            image.LayoutRect(
-                callPane.Rect(), 
-                BubbleLayout2::call2_image_placing_area( variety ) );                
-            imageRect = image.Rect();                
-            }
-        else
-            {
-            TAknLayoutRect image;
-            image.LayoutRect(
-                Rect(), 
-                BubbleLayout2::call2_image_placing_area( variety ) );    
-            imageRect = image.Rect();    
-            }
-        }
-    else
-        {
-        if ( iConfigFlags & EBMTouchCallhandling )
-            {
-            TAknLayoutRect image;
-            image.LayoutRect(
-                Rect(), 
-                BubbleLayout4::call4_image_pane( 2 ) );    
-            imageRect = image.Rect();                
-            }
-        else
-            {
-            // mainpane
-            imageRect = Rect();    
-            }            
-        }        
-    
-    return imageRect;
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::PrepareIcons
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CBubbleManager::PrepareIcons()
-    {
-    iImageManager->PrepareCachedBitmaps();
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::PreloadCallThemeImage
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::PreloadCallThemeImage( TBool aPreload )
-    {
-    __ASSERT_ALWAYS( ( iConfigFlags & EBMCallObjectDisplay ), 
-                       Panic( EBMPanicFeatureNotSupported ) );
-    if ( aPreload )
-        {
-        iCallObjectManager->LoadCallThemeImage( 
-                *iImageManager,
-                MainPaneImageRect().Size() ); 
-        }
-    else
-        {
-        iCallObjectManager->ReleaseCallThemeImage();
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::StartAnimations
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-void CBubbleManager::StartAnimations()
-    {
-    if ( !IsVisible() )
-        {
-        // Animation will be started when this control becomes visible.
-        return;            
-        }
-    
-    for ( TInt i = 0 ; i < iActivePlaces->Count() ; i++ )
-        {
-        TRAP_IGNORE( 
-            iActivePlaces->At(i)->GetBubbleOutlook().HandleAnimationStartL() );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::HandleBackgroundImageChange
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CBubbleManager::HandleBackgroundImageChange()
-    {
-    // Restart animations to update background frames.
-    StartAnimations();    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetVideoRingTone
-//  
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CBubbleManager::SetVideoRingTone(
-    const TDesC& aFileName,
-    TBubbleVideoPlayMode aPlayMode,
-    TInt aVolumeLevel,
-    TBool aUseArbitraryScaling,
-    MBubbleVideoPlaybackObserver* aObserver )
-    {
-    iVideoController->StopAndDeletePlayer();
-    iVideoController->PrepareToPlayVideo( aFileName,
-                                          aPlayMode,
-                                          aVolumeLevel,
-                                          aUseArbitraryScaling,
-                                          aObserver );
-    
-    iVideoFlags |=  EBMVideoSetAsRingTone;
-    
-    if ( iCallObjectManager )
-        {
-        iCallObjectManager->Suspend();            
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::StopVideoRingTone
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::StopVideoRingTone()
-    {
-    iVideoController->StopPlaying();                
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::MuteVideoRingTone
-//  
-// 
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C void CBubbleManager::MuteVideoRingTone()
-    {
-    iVideoController->MutePlaying();                
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::StopVideoRingTone
-//  
-// 
-// ---------------------------------------------------------------------------
-//        
-EXPORT_C void CBubbleManager::CancelVideoRingTone()
-    {
-    StopAndDeleteVideoPlayer();
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::CreateVideoPlayerAndPlay
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::CreateVideoPlayerAndPlay()
-    { 
-    iVideoController->CreatePlayerAndPlay();
-    iVideoFlags |= EBMVideoPlayingVideo;
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::StopAndDeleteVideoPlayer
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleManager::StopAndDeleteVideoPlayer()
-    {
-    iVideoController->StopAndDeletePlayer();
-    iVideoFlags &= ~EBMVideoPlayingVideo;
-    iVideoFlags &= ~EBMVideoSetAsRingTone;
-    if ( iCallObjectManager )
-        {
-        iCallObjectManager->Resume();            
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleManager::VideoController
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleVideoController& CBubbleManager::VideoController() const
-    {
-    return *iVideoController;    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::CallState
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TPhoneCallState CBubbleManager::CallState( 
-    const TBubbleId& aBubbleId )
-    {
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    return header->CallState();                         
-    }
-    
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::CallObjectImageIncallSize
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-TSize CBubbleManager::CallObjectImageIncallSize( TBool aBigBubble )
-    {
-    TAknLayoutRect bubbleRect;
-
-    if ( iConfigFlags & EBMTouchCallhandling )
-        {
-        TInt variety = aBigBubble ? 4 : 0;
-        
-        bubbleRect.LayoutRect( Rect(),
-            BubbleLayout4::popup_call4_audio_first_window(variety) );
-        }
-    else
-        {
-        if ( aBigBubble )    
-            {
-            bubbleRect.LayoutRect( Rect(),
-                BubbleLayout2::popup_call2_audio_first_window(0) );
-            }
-        else
-            {
-            bubbleRect.LayoutRect( Rect(),
-               BubbleLayout2::popup_call2_audio_in_window(0) );    
-            }
-        }
-            
-    // image size is half from bubble size
-    TSize imageSize( bubbleRect.Rect().Size() );
-    // Opaque part in bubble approx. 45%.
-    imageSize.iWidth -= (45 * imageSize.iWidth) / 100;
-    return imageSize;  
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetParticipantListCLI
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CBubbleManager::SetParticipantListCLI(
-    const TBubbleId& aBubbleId,
-    TBubbleParticipantListCLI aParticipantCLI )
-    {
-    CBubbleHeader* header = NULL;
-    __ASSERT_ALWAYS( FindActiveHeader( aBubbleId , header ) ,  
-                     Panic( EBMPanicBubbleIdIsNotInUse ) );
-    header->SetParticipantListCLI( aParticipantCLI );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::TouchPane
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MBubbleTouchPaneInterface* CBubbleManager::TouchPane()
-    {
-    return iTouchPane;    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::SetTouchPaneVisible
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CBubbleManager::SetTouchPaneVisible( TBool aVisible )
-    {
-    iTouchPaneSetVisible = aVisible;   
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::InitializingCall
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-TBool CBubbleManager::InitializingCall() const
-    {
-    TBool initializingCall = EFalse;
-    
-    TInt activeHeaderCount( iActiveHeaders->Count() );
-    for ( TInt i(0); i < activeHeaderCount; i++ )
-        {
-        CBubbleHeader* header = iActiveHeaders->At( i );
-        TPhoneCallState callState( header->CallState() );    
-        if ( callState == EIncoming || callState == EWaiting ||
-             callState == EAlerting || callState == EOutgoing ||
-             callState == EAlertToDisconnected )
-            {
-            initializingCall = ETrue;
-            break;
-            }
-        }
-        
-    return initializingCall;
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::IsTouchCallHandling
-//  
-// 
-// ---------------------------------------------------------------------------
-//    
-TBool CBubbleManager::IsTouchCallHandling() const
-    {
-    return (iConfigFlags & EBMTouchCallhandling);    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleManager::AddCustomElement
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::AddCustomElement( 
-    const TBubbleId& aBubbleId,
-    CTelBubbleCustomElement* aElement,
-    TInt aPriority )
-    {
-    if ( aElement->ElementType() == CTelBubbleCustomElement::ECallImage &&
-         aBubbleId == iMainPaneControl->BubbleId() )
-        {
-        // reset control to get it replaced with this custom element
-        iMainPaneControl->Reset();
-        }
-    
-    iCustomManager->AddCustomElement( aBubbleId, aElement, aPriority );
-    }
-        
-// ---------------------------------------------------------------------------
-//  CBubbleManager::RemoveCustomElement
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CBubbleManager::RemoveCustomElement( 
-    const TBubbleId& aBubbleId,
-    CTelBubbleCustomElement* aElement )
-    {
-    if ( aElement->ElementType() == CTelBubbleCustomElement::ECallImage &&
-         aBubbleId == iMainPaneControl->BubbleId() )
-        {
-        // aElement is being used; release it, before removing
-        // it from custom manager.
-        iMainPaneControl->Reset();
-        }
-    
-    iCustomManager->RemoveCustomElement( aBubbleId, aElement );
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlook.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +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:  Outlook
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleOutlook.h"
-#include    "BMLayout.h"
-#include    <eiklabel.h> 
-#include    <eikenv.h>
-
-#include    <AknsBasicBackgroundControlContext.h>
-#include    <AknsDrawUtils.h>
-#include    <AknsUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-CBubbleOutlook::CBubbleOutlook( CBubbleManager& aBubbleManager )
-: iBubbleManager( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlook::ConstructL(const TRect& aRect)
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlook::ConstructL( )
-    {
-    }
-
-// Destructor
-CBubbleOutlook::~CBubbleOutlook()
-    {
-    AknsUtils::DeregisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlook::PositionChanged
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlook::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlook::CountComponentControls
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleOutlook::CountComponentControls( ) const
-    {
-    return 0; // Default. Child class may override.
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlook::ComponentControl
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleOutlook::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return NULL; // Default. Child class may override.
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlook::Draw
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlook::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Empty. Child class may override.
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlook::DrawLabelNow
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlook::DrawLabelNow( const CCoeControl* aLabel )
-    {
-    if ( aLabel == NULL )
-        {
-        return;
-        }
-    DrawLabelNow( *aLabel );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlook::DrawLabelNow
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlook::DrawLabelNow( const CCoeControl& aLabel )
-    {
-    // Clears also the label background. If CCoeControl::DrawNow() would
-    // be used then background drawing should be provided. However,
-    // CCoeControl::DrawDeferred() serves the purpose here.
-    aLabel.DrawDeferred();
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlook::ReleaseBitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlook::ReleaseBitmaps()
-    {
-    // default: do nothing. Derived class may override.
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlook::RebuildBitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlook::RebuildBitmaps()
-    {
-    // default: do nothing. Derived class may override.
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlook::SetCallObjectDisplay
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlook::SetCallObjectDisplay( TBool aActive )
-    {
-    iCallObjectDisplay = aActive;    
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookBottom.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,451 +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:  Outlook Bottom
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookBottom.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottom::CBubbleOutlookBottom
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookBottom::CBubbleOutlookBottom( CBubbleManager& aBubbleManager )
-: CBubbleOutlookTwoLined( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottom::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottom::ConstructL()
-    { 
-    CBubbleOutlookTwoLined::ConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottom::~CBubbleOutlookBottom
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookBottom::~CBubbleOutlookBottom()
-    {
-    Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottom::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottom::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    if ( !iCallObjectDisplay )
-        {
-        GetCall1BubbleBitmaps();    
-        }
-    
-    CBubbleOutlookTwoLined::ReadBubbleHeader( aHeader );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottom::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottom::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-                
-            // Prepare frame for dynamic draw
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );
-            }  
-        }      
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottom::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottom::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottom::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottom::DoCall1Layout()
-    {
-    // Deprecated
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottom::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottom::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-        
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Incoming call layout for single call
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_background(1) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::RectFrameInnerOuterRects( frameRect, 
-                                                     outerRect, 
-                                                     innerRect);
-            
-            iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall2RectDisconn : 
-                                      KAknsIIDQsnFrCall2Rect;
-            
-            // for possible frame draw
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call indicator
-            BubbleUtils::LayoutCustomElement(
-                iBigCallIndicator, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_waiting_icon(1) );
-            
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_in_ciphering_icon(1) );                
-            
-            // Number type icon
-            BubbleUtils::LayoutCustomElement(
-                iNumberType, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_number_type_icon(1) );
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_text_1(1) );
-            
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 2
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_call_text_2(9) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_brand_image(3) );
-                }
-            else
-                {
-                // Text line 2
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_call_text_2(1) );
-                }
-            
-            // Build call object bubble
-            iBubble->SetRect( bubbleRect.Rect() );                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-
-            if ( iHeader->CallObjectImage() &&
-                 !iHeader->CallObjectText().Length() )
-                {
-                // Add transparency
-                BubbleUtils::AddTransparencyToBubbleImageL( 
-                    KAknsIIDQsnFrCall2RectCoMask, // gradient tp mask
-                    outerRect,
-                    innerRect,
-                    iBubble );                    
-                }                    
-                
-            break;
-            }
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // First call layout for single call
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_background(14) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-        
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;    
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirstDisconn;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;            
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirst;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;                
-                }                
-            
-            // for possible frame draw
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_status_icon(13) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_window_ciphering_icon(12) );
-            
-            // Call type pane
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_type_icon(12),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2               
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_cli_text(16) );
-            
-            // Smaller rect for text if bran image exists
-            if ( iBrandImage )
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(16) );
-
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(17) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-            	    BubbleLayout2::popup_call2_audio_first_brand_image(1) );
-                }
-            else
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(12) );
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                   	rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(13) );
-                }
-                
-            // Build call object bubble
-            iBubble->SetRect( bubbleRect.Rect() );                                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-                
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottom::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottom::GetCall1BubbleBitmaps()
-    {
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    
-    TInt bubblePicture = KErrNotFound;
-    TInt bubblePictureMask = KErrNotFound;
-    
-    // set call indications and bubble
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-            bubblePicture = EQgn_graf_call_rec_big;
-            bubblePictureMask = EQgn_graf_call_rec_big_mask;
-            break;
-        case CBubbleManager::EAlertToDisconnected:
-            bubblePicture = EQgn_graf_call_rec_big_disconn;
-            bubblePictureMask = EQgn_graf_call_rec_big_disconn_mask;
-            break;
-        case CBubbleManager::EActive:
-            bubblePicture = EQgn_graf_call_first_one_active;
-            bubblePictureMask = EQgn_graf_call_first_one_active_mask;
-            break;
-        case CBubbleManager::EOnHold:
-            bubblePicture = EQgn_graf_call_first_one_held;
-            bubblePictureMask = EQgn_graf_call_first_one_held_mask;
-            break;
-        case CBubbleManager::EDisconnected:
-            bubblePicture = EQgn_graf_call_first_one_disconn;
-            bubblePictureMask = EQgn_graf_call_first_one_disconn_mask;
-            break;
-        case CBubbleManager::ENone:
-        default:
-            bubblePicture = KErrNotFound;
-            bubblePictureMask = KErrNotFound;
-            break;
-        }
-
-    if ( bubblePicture != KErrNotFound )
-        {
-        if ( bubblePictureMask == KErrNotFound )
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, (TBMIcons) bubblePicture );
-            }
-        else
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, 
-                (TBMIcons) bubblePicture , 
-                (TBMIcons) bubblePictureMask);
-            }
-        }
-        
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookBottomCnap.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,438 +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: Implementation of CBubbleOutlookBottomCnap class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookBottomCnap.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMLayout.h"
-#include    "BMUtils.h"
-#include    "BMLayout2.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CBubbleOutlookBottomCnap::CBubbleOutlookBottomCnap
-    ( CBubbleManager& aBubbleManager )
-    : CBubbleOutlookThreeLined( aBubbleManager )
-    {
-    }
-
-// Symbian OS constructor can leave.
-void CBubbleOutlookBottomCnap::ConstructL()
-    {
-    CBubbleOutlookThreeLined::ConstructL();
-    }
-
-    
-// Destructor
-CBubbleOutlookBottomCnap::~CBubbleOutlookBottomCnap()
-    {
-    Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomCnap::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomCnap::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    if ( !iCallObjectDisplay )
-        {
-        GetCall1BubbleBitmaps();    
-        }
-    
-    CBubbleOutlookThreeLined::ReadBubbleHeader( aHeader );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomCnap::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomCnap::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-                
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );
-            }  
-        }      
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomCnap::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomCnap::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomCnap::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottomCnap::DoCall1Layout()
-    {
-    // Deprecated
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomCnap::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomCnap::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Incoming call layout for single call. Three lines of text.
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_background(2) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::RectFrameInnerOuterRects( frameRect, 
-                                                     outerRect, 
-                                                     innerRect);
-            
-            iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall2RectDisconn : 
-                                      KAknsIIDQsnFrCall2Rect;
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-            
-            // Call indicator
-            BubbleUtils::LayoutCustomElement(
-                iBigCallIndicator, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_waiting_icon(2) );
-            
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_in_ciphering_icon(2) );                
-            
-            // Number type icon
-            BubbleUtils::LayoutCustomElement(
-                iNumberType, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_number_type_icon(2) );
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_text_1(2) );
-            
-            // Text line 2
-            BubbleUtils::LayoutLabel( 
-                iTextLine2, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_text_2(2) );
-                
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 3
-                    BubbleUtils::LayoutLabel(
-                    iTextLine3,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_call_text_3(3) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_brand_image(0) );
-                }
-            else
-                {
-                // Text line 3
-                BubbleUtils::LayoutLabel(
-                    iTextLine3,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_call_text_3(0) );
-                }
-                
-            // Create call object bitmaps    
-            iBubble->SetRect( bubbleRect.Rect() );                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            if ( iHeader->CallObjectImage() &&
-                 !iHeader->CallObjectText().Length() )
-                {
-                // Add transparency
-                BubbleUtils::AddTransparencyToBubbleImageL( 
-                    KAknsIIDQsnFrCall2RectCoMask, // gradient tp mask
-                    outerRect,
-                    innerRect,
-                    iBubble );                    
-                }    
-                                
-            break;
-            }
-        
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // First call layout for single call. Three lines of text.
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_background(20) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-        
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;    
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirstDisconn;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;            
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirst;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;                
-                }                
-            
-            // for possible frame draw
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_status_icon(19) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_window_ciphering_icon(16) );
-            
-            // Call type pane
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_type_icon(16),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2               
-
-            // Text line 1 - cli
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_cli_text(22) );
-            
-            // Text line 2 - phone number
-            BubbleUtils::LayoutLabel( 
-                iTextLine2, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_number_text(18) );
-            
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 3
-                    BubbleUtils::LayoutLabel(
-                    iTextLine3,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_call_text_3(3) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_brand_image(0) );
-                }
-            else
-                {
-                // Text line 3
-                BubbleUtils::LayoutLabel(
-                    iTextLine3,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(18) );
-                }
-            
-            // Line 3 - call timer
-            BubbleUtils::LayoutLabel( 
-                iTimerCost, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_state_text(19) );
-                
-            // Build call object bubble
-            iBubble->SetRect( bubbleRect.Rect() );                                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble ); 
-            
-                
-            break;
-            }        
-                
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomCnap::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottomCnap::GetCall1BubbleBitmaps()
-    {
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    
-    TInt bubblePicture = KErrNotFound;
-    TInt bubblePictureMask = KErrNotFound;
-    
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-            bubblePicture = EQgn_graf_call_rec_bigger;
-            bubblePictureMask = EQgn_graf_call_rec_bigger_mask;
-            break;
-        case CBubbleManager::EActive:
-            bubblePicture = EQgn_graf_call_first_one_active_emergency;
-            bubblePictureMask = EQgn_graf_call_first_one_active_emergency_mask;
-            break;
-        case CBubbleManager::EAlertToDisconnected:
-        case CBubbleManager::EOnHold:
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::ENone:
-        default:        
-            bubblePicture = KErrNotFound;
-            bubblePictureMask = KErrNotFound;
-            break;
-        }
-
-    if ( bubblePicture != KErrNotFound )
-        {
-        if ( bubblePictureMask == KErrNotFound )
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, (TBMIcons) bubblePicture );
-            }
-        else
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, 
-                (TBMIcons) bubblePicture , 
-                (TBMIcons) bubblePictureMask);
-            }
-        }
-        
-    }
-
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookBottomImCnap.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +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:  Bottom outlook with 3-lines and call image.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookBottomImCnap.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMLayout.h"
-#include    "BMUtils.h"
-#include    "BMLayout2.h"
-#include    <telbubblecustomelement.h>
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CBubbleOutlookBottomImageCnap::CBubbleOutlookBottomImageCnap
-    ( CBubbleManager& aBubbleManager )
-    : CBubbleOutlookThreeLined( aBubbleManager )
-    {
-    }
-
-// Symbian OS constructor can leave.
-void CBubbleOutlookBottomImageCnap::ConstructL()
-    {
-    CBubbleOutlookThreeLined::ConstructL();
-    }
-
-    
-// Destructor
-CBubbleOutlookBottomImageCnap::~CBubbleOutlookBottomImageCnap()
-    {
-    Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImageCnap::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomImageCnap::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    CBubbleOutlookThreeLined::ReadBubbleHeader( aHeader );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImageCnap::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomImageCnap::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-                
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );
-            }  
-        }      
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImageCnap::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomImageCnap::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImageCnap::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottomImageCnap::DoCall1Layout()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImageCnap::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomImageCnap::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // First incall layout for single call. Call object image.
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_background(20) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-            
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;    
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirstDisconn;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;            
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirst;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;                
-                } 
-                
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );                
-            
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_status_icon(19) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_window_ciphering_icon(16) );
-            
-            // Call type pane    
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_type_icon(16),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2
-
-            // Text line 1 - cli
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_cli_text(22) );
-            
-            // Text line 2 - phone number
-            BubbleUtils::LayoutLabel( 
-                iTextLine2, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_number_text(18) );
-
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine3,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(18) );
-
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(20) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_brand_image2(22) );
-                }
-            else
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine3,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(18) );
-
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(20) );
-                }
-                
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );                                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble ); 
-                               
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImageCnap::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottomImageCnap::GetCall1BubbleBitmaps()
-    {
-    }
-
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookBottomImage.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Bubble to display gallery images.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookBottomImage.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImage::CBubbleOutlookBottomImage
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookBottomImage::CBubbleOutlookBottomImage( 
-    CBubbleManager& aBubbleManager ) : CBubbleOutlookTwoLined( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImage::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomImage::ConstructL()
-    { 
-    CBubbleOutlookTwoLined::ConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImage::~CBubbleOutlookBottomImage
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookBottomImage::~CBubbleOutlookBottomImage()
-    {
-    Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImage::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomImage::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    CBubbleOutlookTwoLined::ReadBubbleHeader( aHeader );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImage::SizeChanged
-// called by framework when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomImage::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    TRAPD( err, DoCall2LayoutL() );
-    if ( err )    
-        {
-        iBubble->SetPicture( NULL, NULL );
-                
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        AknsDrawUtils::PrepareFrame( skin,
-                                     iOuterRect,
-                                     iInnerRect,
-                                     iFrameId,
-                                     KAknsIIDDefault );    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImage::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomImage::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomImage::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomImage::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // First incall layout for single call. Call object image.
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_background(14) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-            
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;    
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirstDisconn;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;            
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirst;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;                
-                } 
-                
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );                
-            
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_status_icon(13) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_window_ciphering_icon(12) );
-            
-            // Call type pane    
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_type_icon(12),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_cli_text(16) );
-
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(16) );
-
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(17) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_brand_image2(1) );
-                }
-            else
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(12) );
-
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(13) );
-                }
-                
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );                                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                               
-            break;
-            }
-        case CBubbleManager::ENone:
-        default:
-            break;
-        }
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookBottomRiCnap.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,397 +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:  Bottom right outlook with 3-lines.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookBottomRiCnap.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMLayout.h"
-#include    "BMUtils.h"
-#include    "BMLayout2.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CBubbleOutlookBottomRightCnap::CBubbleOutlookBottomRightCnap
-    ( CBubbleManager& aBubbleManager )
-    : CBubbleOutlookThreeLined( aBubbleManager )
-    {
-    }
-
-// Symbian OS constructor can leave.
-void CBubbleOutlookBottomRightCnap::ConstructL()
-    {
-    CBubbleOutlookThreeLined::ConstructL();
-    }
-
-    
-// Destructor
-CBubbleOutlookBottomRightCnap::~CBubbleOutlookBottomRightCnap()
-    {
-    Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRightCnap::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomRightCnap::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    if ( !iCallObjectDisplay )
-        {
-        GetCall1BubbleBitmaps();    
-        }
-    
-    CBubbleOutlookThreeLined::ReadBubbleHeader( aHeader );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRightCnap::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomRightCnap::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-                
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );
-            }  
-        }      
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRightCnap::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomRightCnap::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRightCnap::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottomRightCnap::DoCall1Layout()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRightCnap::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomRightCnap::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Outgoing call layout. Three lines of text.
-            ///////////////////////////////////////////////////////////////////
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_background(5) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::RectFrameInnerOuterRects( frameRect, 
-                                                     outerRect, 
-                                                     innerRect);
-            
-            iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall2RectDisconn : 
-                                      KAknsIIDQsnFrCall2Rect;
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-            
-            
-            // Call indicator
-            BubbleUtils::LayoutCustomElement(
-                iBigCallIndicator, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_waiting_icon(5) );
-
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_out_ciphering_icon(5) );                
-            
-            // Number type icon
-            BubbleUtils::LayoutCustomElement(
-                iNumberType, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_number_type_icon(4) );
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_text_1(5) );
-            
-            // Text line 2
-            BubbleUtils::LayoutLabel( 
-                iTextLine2, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_text_2(4) );            
-            
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 3
-                BubbleUtils::LayoutLabel( 
-                    iTextLine3, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_out_call_text_3(5) );
-                
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_out_brand_image(1) );
-                }
-            else
-                {
-                // Text line 3
-                BubbleUtils::LayoutLabel( 
-                    iTextLine3, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_out_call_text_3(4) );
-                }
-                
-            // Create call object bitmaps    
-            iBubble->SetRect( bubbleRect.Rect() );                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            if ( iHeader->CallObjectImage() &&
-                 !iHeader->CallObjectText().Length() )
-                {
-                // Add transparency
-                BubbleUtils::AddTransparencyToBubbleImageL( 
-                    KAknsIIDQsnFrCall2RectCoMask, // gradient tp mask
-                    outerRect,
-                    innerRect,
-                    iBubble );                    
-                }    
-                                
-            break;
-            }
-        
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-        case CBubbleManager::EDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Second call layout for single call. Three lines of text.
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_second_call_background(14) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-        
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;    
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleSecondDisconn;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleSecondCoMask;            
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleSecond;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleSecondCoMask;                
-                }                
-            
-            // for possible frame draw
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_status_icon(14) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_cyphering_icon(14) );
-            
-            // Call type pane
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_type_icon(14),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2               
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_second_call_cli_text(16) );
-            
-            // Text line 2 - phone number
-            BubbleUtils::LayoutLabel( 
-                iTextLine2, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_second_call_number_text(16) );
-            
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 3 - call state
-                BubbleUtils::LayoutLabel( 
-                    iTextLine3, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_second_call_state_text(18) );
-                
-                // Text line 3 - call timer
-                BubbleUtils::LayoutLabel( 
-                    iTimerCost, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_second_call_timer_text(7) );
-                
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_second_brand_image(2) );
-                }
-            else
-                {
-                // Text line 3 - call state
-                BubbleUtils::LayoutLabel( 
-                    iTextLine3, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_second_call_state_text(15) );
-                
-                // Text line 3 - call timer
-                BubbleUtils::LayoutLabel( 
-                    iTimerCost, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_second_call_timer_text(6) );
-                }
-                
-            // Build call object bubble
-            iBubble->SetRect( bubbleRect.Rect() );                                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            break;
-            }
-            
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRightCnap::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottomRightCnap::GetCall1BubbleBitmaps()
-    {
-    }
-
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookBottomRight.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,443 +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:  Outlook Bottom Right
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookBottomRight.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRight::CBubbleOutlookBottomRight
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookBottomRight::CBubbleOutlookBottomRight( 
-    CBubbleManager& aBubbleManager ) 
-    : CBubbleOutlookTwoLined( aBubbleManager ) 
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRight::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-
-void CBubbleOutlookBottomRight::ConstructL()
-    {  
-    CBubbleOutlookTwoLined::ConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRight::~CBubbleOutlookBottomRight
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookBottomRight::~CBubbleOutlookBottomRight()
-    {
-    Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRight::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomRight::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    if ( !iCallObjectDisplay )
-        {
-        GetCall1BubbleBitmaps();    
-        }
-    
-    CBubbleOutlookTwoLined::ReadBubbleHeader( aHeader );
-    }
-    
-    
-    
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRight::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomRight::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-                
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );    
-            }
-        }     
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRight::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottomRight::DoCall1Layout()
-    {
-    // Deprecated
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRight::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomRight::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Outgoing call layout for second call.
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_background(1) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::RectFrameInnerOuterRects( frameRect, 
-                                                     outerRect, 
-                                                     innerRect);
-            
-            iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall2RectDisconn : 
-                                      KAknsIIDQsnFrCall2Rect;
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-            
-            
-            // Call indicator
-            BubbleUtils::LayoutCustomElement(
-                iBigCallIndicator, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_waiting_icon(1) );
-            
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_out_ciphering_icon(1) );                
-            
-            // Number type icon
-            BubbleUtils::LayoutCustomElement(
-                iNumberType, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_number_type_icon(1) );
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_text_1(1) );
-            
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 2
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_out_call_text_2(3) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                   	rect,
-                    BubbleLayout2::popup_call2_audio_out_brand_image(0) );
-                }
-            else
-                {
-                // Text line 2
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_out_call_text_2(1) );
-                }
-            
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );                
-            
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            if ( iHeader->CallObjectImage()  &&
-                 !iHeader->CallObjectText().Length() )
-                {
-                // Add transparency
-                BubbleUtils::AddTransparencyToBubbleImageL( 
-                    KAknsIIDQsnFrCall2RectCoMask, // gradient tp mask
-                    outerRect,
-                    innerRect,
-                    iBubble );                    
-                }                
-            break;
-            }
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Second call layout.
-            ///////////////////////////////////////////////////////////////////
-            
-            // Create bubble image
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_second_call_background(9) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-            
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleSecondDisconn;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleSecondCoMask;
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleSecond;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleSecondCoMask;
-                }
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_status_icon(9) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_cyphering_icon(9) );
-            
-            // Call type pane    
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_type_icon(9),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_second_call_cli_text(11) );
-            
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_second_call_state_text(5) );
-
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_second_call_timer_text(5) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-            	    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_second_brand_image(0) );
-                }
-            else
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_second_call_state_text(4) );
-
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_second_call_timer_text(4) );
-                }
-                
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );                                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-				              
-            break;
-            }
-        case CBubbleManager::ENone:
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomRight::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottomRight::GetCall1BubbleBitmaps()
-    {
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    
-    TInt bubblePicture = KErrNotFound;
-    TInt bubblePictureMask = KErrNotFound;
-    
-    // set call indications and bubble
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-            bubblePicture = EQgn_graf_call_rec_big_right;
-            bubblePictureMask = EQgn_graf_call_rec_big_right_mask;
-            break;
-        case CBubbleManager::EAlertToDisconnected:
-            bubblePicture = EQgn_graf_call_rec_big_right_disconn;
-            bubblePictureMask = EQgn_graf_call_rec_big_right_disconn_mask;
-            break;
-        case CBubbleManager::EActive:
-            bubblePicture = EQgn_graf_call_second_two_active;
-            bubblePictureMask = EQgn_graf_call_second_two_active_mask;
-            break;
-        case CBubbleManager::EOnHold:
-            bubblePicture = EQgn_graf_call_second_two_held;
-            bubblePictureMask = EQgn_graf_call_second_two_held_mask;
-            break;
-        case CBubbleManager::EDisconnected:
-            bubblePicture = EQgn_graf_call_second_two_disconn;
-            bubblePictureMask = EQgn_graf_call_second_two_disconn_mask;
-            break;
-        case CBubbleManager::ENone:
-        default:
-            bubblePicture = KErrNotFound;
-            bubblePictureMask = KErrNotFound;
-            break;
-        }
-
-    if ( bubblePicture != KErrNotFound )
-        {
-        if ( bubblePictureMask == KErrNotFound )
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, (TBMIcons) bubblePicture );
-            }
-        else
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, 
-                (TBMIcons) bubblePicture , 
-                (TBMIcons) bubblePictureMask);
-            }
-        }
-        
-    }    
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookBottomText.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,336 +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:  Bubble for call object text display.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookBottomText.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknUtils.h>
-#include    <AknBidiTextUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomText::CBubbleOutlookBottomText
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookBottomText::CBubbleOutlookBottomText( 
-    CBubbleManager& aBubbleManager ) : CBubbleOutlookFiveLined( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomText::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomText::ConstructL()
-    { 
-    CBubbleOutlookFiveLined::ConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomText::~CBubbleOutlookBottomText
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookBottomText::~CBubbleOutlookBottomText()
-    {
-    Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomText::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomText::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    iThreeLinedLayout = ( iHeader->CNAP().Length() > 0 );
-    
-    CBubbleOutlookFiveLined::ReadBubbleHeader( aHeader );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomText::SizeChanged
-// called by framework when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomText::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    TRAPD( err, DoCall2LayoutL() );
-    if ( err )    
-        {
-        iBubble->SetPicture( NULL, NULL );
-                
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        AknsDrawUtils::PrepareFrame( skin,
-                                     iOuterRect,
-                                     iInnerRect,
-                                     iFrameId,
-                                     KAknsIIDDefault );    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomText::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomText::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomText::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookBottomText::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Incoming call layout for single call. Call object text.
-            ///////////////////////////////////////////////////////////////////
-            
-            TInt variety = iThreeLinedLayout ? 4 : 3;
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_background( variety ) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::RectFrameInnerOuterRects( frameRect, 
-                                                     outerRect, 
-                                                     innerRect);
-            
-            iFrameId = ( callState == 
-                         CBubbleManager::EAlertToDisconnected ) ?
-                         KAknsIIDQsnFrCall2RectDisconn : 
-                         KAknsIIDQsnFrCall2Rect;
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );                
-            
-            
-            // Call indicator
-            BubbleUtils::LayoutCustomElement(
-                iBigCallIndicator, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_waiting_icon(1) );
-                
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_in_ciphering_icon(variety) );                                
-            
-            BubbleUtils::LayoutCustomElement(
-                iNumberType, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_number_type_icon(variety) );
-
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_text_1(variety));
-
-            BubbleUtils::LayoutLabel( 
-                iTextLine2, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_text_2(variety));
-            
-            
-            if ( iThreeLinedLayout )
-                {
-                // Textual cli 1
-                BubbleUtils::LayoutLabel( 
-                    iTextLine3, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_in_call_text_3(2));
-            
-                // Textual cli 2
-                BubbleUtils::LayoutLabel( 
-                    iTextLine4, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_in_cli_textual_2(1));
-
-                // Textual cli 3
-                BubbleUtils::LayoutLabel( 
-                    iTextLine5, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_in_cli_textual_3(1));
-                
-            
-                CEikLabel* labels[] = { iTextLine4, iTextLine5 };
-                SetCallObjectTextToLabelsL( iHeader->CallObjectText(),
-                                            2, labels );                    
-                }
-            else
-                {
-                // Textual cli 1
-                BubbleUtils::LayoutLabel( 
-                    iTextLine3, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_in_cli_textual_1(0));
-            
-                // Textual cli 2
-                BubbleUtils::LayoutLabel( 
-                    iTextLine4, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_in_cli_textual_2(0));
-
-                // Textual cli 3
-                BubbleUtils::LayoutLabel( 
-                    iTextLine5, 
-                    rect, 
-                    BubbleLayout2::popup_call2_audio_in_cli_textual_3(0));
-                
-            
-                CEikLabel* labels[] = { iTextLine3, iTextLine4, iTextLine5 };
-                SetCallObjectTextToLabelsL( iHeader->CallObjectText(),
-                                            3, labels );                
-                }
-            
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );                
-            
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookBottomText::SetCliTextToLabelsL
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookBottomText::SetCallObjectTextToLabelsL(
-    const TDesC& aText,
-    TInt aLabelCount,
-    CEikLabel* aLabels[] )
-    {
-    if ( aLabelCount == 0 )
-        {
-        return;    
-        }
-    
-    CEikLabel* label1 = aLabels[0];
-    if ( !label1 )
-        {
-        return;            
-        }
-        
-    CArrayFix<TPtrC>* wrappedText = 
-        new(ELeave) CArrayFixFlat<TPtrC>(aLabelCount);
-    CleanupStack::PushL( wrappedText );
-    
-    CArrayFix<TInt>* lineWidths = 
-        new(ELeave) CArrayFixFlat<TInt>(aLabelCount);
-    CleanupStack::PushL( lineWidths );
-    
-    for ( TInt index(0); index < aLabelCount; index++ )
-        {
-        CEikLabel* label = aLabels[index];
-        if ( label )         
-            {
-            lineWidths->InsertL( index, label->Size().iWidth );
-            }
-        }
-    
-    HBufC* buffer = HBufC::NewL( aText.Length() + 
-        ( KAknBidiExtraSpacePerLine * aLabelCount ) );
-    CleanupStack::PushL( buffer );
-    *buffer = aText;
-    TPtr text( buffer->Des() );
-    
-    AknBidiTextUtils::ConvertToVisualAndWrapToArrayL( 
-        text,
-        *lineWidths,
-        *label1->Font(),
-        *wrappedText,
-        ETrue );
-    
-    // set wrapped text to labels
-    TInt lineCount = wrappedText->Count();
-    for ( TInt index(0); index < aLabelCount && index < lineCount ; index++ )
-        {
-        CEikLabel* label = aLabels[index];
-        TPtrC& line = wrappedText->At(index);
-         
-        if ( line.Length() && label )         
-            {
-            label->SetTextL( line );    
-            }
-        }
-
-    CleanupStack::PopAndDestroy( buffer );
-    CleanupStack::PopAndDestroy( lineWidths );
-    CleanupStack::PopAndDestroy( wrappedText );
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookConference.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,736 +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:  Outlook Conference
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookConference.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMConfHeader.h"
-#include    "BMLayout.h"
-#include    "BMUtils.h"
-#include    "BMPanic.h"
-#include    "BMLayout2.h"
-#include    "BMLayout4.h"
-
-#include    <eiklabel.h>  
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-CBubbleOutlookConference::CBubbleOutlookConference( 
-    CBubbleManager& aBubbleManager ) 
-    : CBubbleOutlook( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::ConstructL
-// ---------------------------------------------------------------------------
-//
-
-void CBubbleOutlookConference::ConstructL( const TUint8& aCallAmount )
-    {
-    iPaneAmount = aCallAmount;
-    iHeader = NULL;
-
-    // create panes for each call
-    CBubbleConfPane* pane;
-    iConfPanes = new ( ELeave ) CArrayPtrFlat<CBubbleConfPane>( iPaneAmount );    
-    iConfPanes->SetReserveL( iPaneAmount );
-
-    for ( TUint8 i = 0 ; i < iPaneAmount ; i++ )
-        {
-        pane = new( ELeave ) CBubbleConfPane;
-        CleanupStack::PushL( pane );
-        pane->SetContainerWindowL( *this );
-        pane->ConstructL( iBubbleManager.IsTouchCallHandling() );
-        iConfPanes->InsertL( i , pane );
-        CleanupStack::Pop( pane );
-        }
-
-    // Create space for headers 
-    iCalls = new( ELeave ) CArrayPtrFlat<CBubbleCallHeader>( iPaneAmount );
-    iCalls->SetReserveL( iPaneAmount );
-
-
-    CBubbleOutlook::ConstructL();
-    ActivateL();
-    }
-
-// Destructor
-CBubbleOutlookConference::~CBubbleOutlookConference()
-    {
-
-    if ( iCalls && iConfPanes )
-        {
-        Reset();
-        }
-
-    if ( iCalls )
-        {
-        iCalls->Reset( );
-        delete iCalls;
-        }
- 
-    if ( iConfPanes )
-        {
-        iConfPanes->ResetAndDestroy() ;
-        delete iConfPanes;
-        }
-    
-    iHeader = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::Reset
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::Reset()
-    {
-    iBubbleManager.ResourceManager().ReleaseEikImage( iBubble );
-    iBubbleManager.ResourceManager().ReleaseEikLabel( iTimerCost );
-    for ( TUint8 i = 0 ; i < iPaneAmount ; i++ )
-        {
-        iBubbleManager.ResourceManager().ReleaseEikImage( 
-            iConfPanes->At( i )->iCallIndication );
-        iBubbleManager.ResourceManager().ReleaseEikImage( 
-            iConfPanes->At( i )->iCyphOffImage );
-        iBubbleManager.ResourceManager().ReleaseEikLabel( 
-            iConfPanes->At( i )->iTextLine );
-        iConfPanes->At( i )->Reset( );
-        }
-
-    iCalls->Delete( 0 , iCalls->Count() );
-    
-    iHeader = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    if ( !aHeader.IsUsed() || !aHeader.IsConference() )
-        {
-        return;
-        }
-
-    iHeader = static_cast< CBubbleConfHeader* >( &aHeader ); 
-
-    // get call's info. Function returns calls in drawing order.
-    iHeader->GetRows( *iCalls );
-    __ASSERT_ALWAYS( iCalls->Count( ) == iPaneAmount, 
-                                    Panic( EBMPanicInvalidNumberOfHeaders ) );
-
-
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );
-
-    if ( !iCallObjectDisplay )
-        {
-        // Get bubble graphics
-        GetCall1BubbleBitmaps();    
-        }
-
-    // Get call indicator for each pane.
-    TUint32 flags = 0;  
-    CBubbleManager::TPhoneCallState state;
-
-    TInt indicationPicture = KErrNotFound;
-    TInt indicationPictureMask =KErrNotFound;
-
-    for ( TUint8 i = 0 ; i < iPaneAmount ; i++ )
-        {
-        flags = iCalls->At( i )->CallFlags( );
-        state = iCalls->At( i )->CallState( );
-        CEikImage*& image = iConfPanes->At( i )->CallIndicationHandle( );
-
-        indicationPicture = KErrNotFound;
-        indicationPictureMask = KErrNotFound;
-
-        if ( state == CBubbleManager::EDisconnected )
-            {
-            indicationPicture = EQgn_indi_call_disconn_conf;
-            indicationPictureMask = EQgn_indi_call_disconn_conf_mask;
-            }
-        else if ( state == CBubbleManager::EActive ) 
-            {
-            indicationPicture = EQgn_indi_call_active_conf;
-            indicationPictureMask = EQgn_indi_call_active_conf_mask;
-            }
-        else 
-            {
-            indicationPicture = EQgn_indi_call_held_conf;
-            indicationPictureMask = EQgn_indi_call_held_conf_mask;
-            }
-
-        if ( indicationPicture != KErrNotFound )
-            {
-            image = iBubbleManager.ResourceManager().ReserveEikImage();
-            if ( indicationPictureMask == KErrNotFound )
-                {
-                iBubbleManager.ImageManager().SetBitmapToImage( 
-                    image, (TBMIcons) indicationPicture );
-                }
-            else
-                {
-                iBubbleManager.ImageManager().SetBitmapToImage( 
-                    image, 
-                    (TBMIcons) indicationPicture , 
-                    (TBMIcons) indicationPictureMask);
-                }
-            }
-
-        // Cyph off
-        if ( flags&CBubbleManager::ENoCiphering )
-            {
-            iConfPanes->At( i )->iCyphOffImage = 
-                iBubbleManager.ResourceManager().ReserveEikImage();
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                    iConfPanes->At( i )->iCyphOffImage, 
-                    EQgn_indi_call_cyphering_off,
-                    EQgn_indi_call_cyphering_off_mask );
-            }
-
-        // set CLI to pane
-        if ( ( iCalls->At( i )->ParticipantListCLI() == 
-              CBubbleManager::EParticipantListCNAP ) &&
-             iCalls->At( i )->CNAP().Length() )
-            {
-            // Phonenumber
-            iConfPanes->At( i )->iTextLine = 
-                iBubbleManager.ResourceManager().ReserveEikLabel();
-            iConfPanes->At( i )->SetText( iCalls->At( i )->CNAP(), 
-                                          iCalls->At( i )->CNAPClipDirection( ) );    
-            }
-        else            
-            {
-            // CLI text
-            iConfPanes->At( i )->iTextLine = 
-                iBubbleManager.ResourceManager().ReserveEikLabel();
-            iConfPanes->At( i )->SetText( iCalls->At( i )->CLI(), 
-                                          iCalls->At( i )->CLIClipDirection( ) );
-            }
-                                      
-        iConfPanes->At( i )->iCallObjectDisplay = iCallObjectDisplay;
-        }
-
-    // get highlight
-    for ( TUint8 t = 0 ; t < iConfPanes->Count() ; t++ )
-        {
-        iConfPanes->At( t )->SetHighlight( EFalse );
-        }
-
-    if ( iHeader->Highlight() != 0 )
-        {
-        iConfPanes->At( iHeader->Highlight() - 1 )->SetHighlight( ETrue );
-        }
-    
-    // place timer/cost text to label
-    if ( !iBubbleManager.IsTouchCallHandling() )
-        {
-        iTimerCost = iBubbleManager.ResourceManager().ReserveEikLabel();
-        BubbleUtils::ClipToLabel( 
-            iHeader->TimerCost( ) , iTimerCost , CBubbleManager::ERight );
-            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::SizeChanged
-// called by framwork when the view size is changed
-// Works with all the conference situations.
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-        
-    AknsUtils::RegisterControlPosition( this );
-
-    if ( iBubbleManager.IsTouchCallHandling() )
-        {
-        TRAPD( err, DoCall4LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );
-            }
-        }
-    else if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );
-            }  
-        }      
-
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::CountComponentControls
-//
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleOutlookConference::CountComponentControls() const
-    {
-    if ( iTimerCost )
-        {
-        return 1 + iConfPanes->Count( );
-        }
-    return iConfPanes->Count( );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::ComponentControl
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleOutlookConference::ComponentControl(TInt aIndex) const
-    {
-    if ( iTimerCost )
-        {
-        if ( aIndex < iConfPanes->Count( ) ) 
-            {
-            return iConfPanes->At( aIndex );
-            }
-        else if ( aIndex == iConfPanes->Count( ) ) 
-            {
-            return iTimerCost;
-            }
-        else 
-            {
-            return NULL;
-            }
-        }
-    return iConfPanes->At( aIndex );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::Draw
-// 
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::Draw( const TRect& /*aRect*/ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::DrawTimerCostNow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::DrawTimerCostNow()
-    {
-    if ( iHeader == NULL || iTimerCost == NULL )
-        {
-        return;
-        }
-
-    if ( iHeader->CallState() != CBubbleManager::EActive 
-        || iTimerCost->Text()->Compare( iHeader->TimerCost() ) == 0 )
-        {
-        return;
-        }
-    
-    BubbleUtils::ClipToLabel( 
-        iHeader->TimerCost() , iTimerCost , CBubbleManager::ERight );
-    DrawLabelNow( iTimerCost );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::DrawCLINow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::DrawCLINow()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::DrawRowNow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::DrawRowNow( CBubbleManager::TRowNumber aRow )
-    {
-    if ( iHeader == NULL || aRow == 0 )
-        {
-        return;
-        }
-
-    // get highlight
-    for ( TUint8 t = 0 ; t < iConfPanes->Count() ; t++ )
-        {
-        iConfPanes->At( t )->SetHighlight( EFalse );
-        }
-
-    if ( iHeader->Highlight() != 0 )
-        {
-        iConfPanes->At( iHeader->Highlight() - 1 )->SetHighlight( ETrue );
-        }
-
-    DrawLabelNow( iConfPanes->At( aRow - 1 ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::DrawBitmaps
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::DrawBitmaps( CBitmapContext& aGc ) const
-    {
-    // Check that proper conference header is set
-    if ( iHeader == NULL )
-        {
-        return;
-        }
-
-    if ( !iHeader->IsUsed() || !iHeader->IsConference( ) ) 
-        {
-        return;
-        }
-
-    aGc.SetBrushColor( AKN_LAF_COLOR( BubbleLayout::LayoutColourWhite() ) );
-    
-    if ( !iCallObjectDisplay )
-        {
-        BubbleUtils::DrawMaskedImage( aGc , iBubble );
-        }
-    else
-        {
-        if ( iBubble->Bitmap() )
-            {
-            BubbleUtils::DrawMaskedImage( aGc , iBubble );    
-            }
-        else
-            {
-            // Draw bubble frame
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            if ( !AknsDrawUtils::DrawFrame( skin,
-                                            (CWindowGc&) aGc,  
-                                            iOuterRect,
-                                            iInnerRect,
-                                            iFrameId,
-                                            KAknsIIDDefault ) )
-                {
-                BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-                }        
-            }    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::HandleAnimationStartL
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::HandleAnimationStartL() const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookConference::DrawCallHeaderText
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::DrawCallHeaderText()
-    {    
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookConference::DoCall1Layout()
-    {
-    // Deprecated
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    TAknLayoutRect bubbleRect;
-    bubbleRect.LayoutRect( 
-        Rect(), 
-        BubbleLayout2::popup_call2_conf_pane_background() );
-            
-    TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-    TRect outerRect;
-    TRect innerRect;
-    BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                               outerRect, 
-                                               innerRect );
-
-    iFrameId = KAknsIIDQsnFrCall2BubbleFirst;
-    TAknsItemID coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;
-            
-    iOuterRect = outerRect;
-    iOuterRect.Move( Rect().iTl );
-    iInnerRect = innerRect;
-    iInnerRect.Move( Rect().iTl );
-            
-    // CLI list and panes
-    TAknLayoutRect cliList;
-    cliList.LayoutRect( Rect(), 
-        BubbleLayout2::popup_call2_conf_cli_list() );
-    TRect cliListRect = cliList.Rect();
-    
-    for ( TUint8 paneIndex = 0; paneIndex < iPaneAmount; paneIndex++ )
-        {
-        TAknLayoutRect singlePane;
-        singlePane.LayoutRect( cliListRect, 
-            BubbleLayout2::popup_call2_conf_single_list_graphic_pane( 
-            paneIndex ) );
-        TRect singlePaneRect = singlePane.Rect();
-        iConfPanes->At( paneIndex )->SetRect( singlePaneRect );
-        }   
-    
-    // Timer
-    BubbleUtils::LayoutLabel( 
-        iTimerCost, 
-        Rect(),
-        BubbleLayout2::popup_call2_conf_window_call_timer_text() );
-    
-    // Create call object bitmaps
-    iBubble->SetRect( bubbleRect.Rect() );                
-    
-    BubbleUtils::PrepareBubbleImageL( 
-        iFrameId,
-        outerRect,
-        innerRect,
-        iBubble );
-    
-    if ( iHeader->CallObjectImage() )
-        {
-        // Scale image according to bubble size
-        TSize imageSize( Rect().Size() );
-        imageSize.iWidth -= imageSize.iWidth / 2;
-        
-        BubbleUtils::PrepareCallObjectImageL(
-            *iHeader,
-            imageSize );
-        
-        TAknLayoutRect cliRect;
-        cliRect.LayoutRect( 
-            frameRect, 
-            BubbleLayout2::popup_call2_bubble_pane_graphics_cli() );
-                    
-        // Combine image to bubble image
-        BubbleUtils::PrepareCallObjectToBubbleImageL(
-            iHeader->CallObjectImage(),
-            iHeader->CallObjectImageMask(),
-            cliRect.Rect(),
-            coMaskFrameId, // gradient image mask
-            outerRect,
-            innerRect,
-            iBubble );                                        
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::DoCall4LayoutL
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookConference::DoCall4LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    TAknLayoutRect bubbleRect;
-    bubbleRect.LayoutRect( 
-        Rect(), 
-        BubbleLayout4::popup_call4_conf_pane_background() );
-            
-    TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-    TRect outerRect;
-    TRect innerRect;
-    BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                               outerRect, 
-                                               innerRect );
-
-    iFrameId = KAknsIIDQsnFrCall2BubbleFirst;
-    TAknsItemID coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;
-            
-    iOuterRect = outerRect;
-    iOuterRect.Move( Rect().iTl );
-    iInnerRect = innerRect;
-    iInnerRect.Move( Rect().iTl );
-            
-    // CLI list and panes
-    TAknLayoutRect cliList;
-    cliList.LayoutRect( Rect(), 
-        BubbleLayout4::popup_call4_conf_cli_list() );
-    TRect cliListRect = cliList.Rect();
-    
-    for ( TUint8 paneIndex = 0; paneIndex < iPaneAmount; paneIndex++ )
-        {
-        TAknLayoutRect singlePane;
-        singlePane.LayoutRect( cliListRect, 
-            BubbleLayout4::popup_call4_conf_single_list_graphic_pane( 
-            paneIndex ) );
-        TRect singlePaneRect = singlePane.Rect();
-        iConfPanes->At( paneIndex )->SetRect( singlePaneRect );
-        }   
-    
-    // Create call object bitmaps
-    iBubble->SetRect( bubbleRect.Rect() );                
-    
-    BubbleUtils::PrepareBubbleImageL( 
-        iFrameId,
-        outerRect,
-        innerRect,
-        iBubble );
-    
-    if ( iHeader->CallObjectImage() )
-        {
-        // Scale image according to bubble size
-        TSize imageSize( Rect().Size() );
-        imageSize.iWidth -= imageSize.iWidth / 2;
-        
-        BubbleUtils::PrepareCallObjectImageL(
-            *iHeader,
-            imageSize );
-        
-        TAknLayoutRect cliRect;
-        cliRect.LayoutRect( 
-            frameRect, 
-            BubbleLayout2::popup_call2_bubble_pane_graphics_cli() );
-                    
-        // Combine image to bubble image
-        BubbleUtils::PrepareCallObjectToBubbleImageL(
-            iHeader->CallObjectImage(),
-            iHeader->CallObjectImageMask(),
-            cliRect.Rect(),
-            coMaskFrameId, // gradient image mask
-            outerRect,
-            innerRect,
-            iBubble );                                        
-        }
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookConference::GetCall1BubbleBitmaps()
-    {
-    switch ( iPaneAmount )
-        {
-        case 2:
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                    iBubble , 
-                    EQgn_graf_call_conf_two , 
-                    EQgn_graf_call_conf_two_mask );
-            break;
-        case 3:
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                    iBubble , 
-                    EQgn_graf_call_conf_three , 
-                    EQgn_graf_call_conf_three_mask );
-            break;
-        case 4:
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                    iBubble , 
-                    EQgn_graf_call_conf_four , 
-                    EQgn_graf_call_conf_four_mask );
-            break;
-        case 5:
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                    iBubble , 
-                    EQgn_graf_call_conf_five , 
-                    EQgn_graf_call_conf_five_mask );
-            break;
-        default:
-            Panic( EBMPanicTooManyCallsInConference );
-            break;
-        }
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookConference::HandlePointerEventL
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookConference::HandlePointerEventL
-    ( const TPointerEvent& aPointerEvent )           
-    {
-    if ( !iHeader->Highlight() || 
-         aPointerEvent.iType != TPointerEvent::EButton1Up )
-        return;
-    
-    for ( TInt i=0; i < iPaneAmount; i++ )
-        {
-        if ( iConfPanes->At( i )->Rect().Contains(
-                 aPointerEvent.iPosition ) )
-            {
-            TInt hightlight = i+1;
-            if ( iHeader->Highlight() != hightlight )
-                {
-                iConfPanes->At( iHeader->Highlight() - 1 )->SetHighlight( EFalse );
-                iConfPanes->At( iHeader->Highlight() - 1 )->DrawDeferred();
-                iHeader->SetHighlight( hightlight );
-                iConfPanes->At( i )->SetHighlight( ETrue );
-                iConfPanes->At( i )->DrawDeferred();    
-                }
-            }
-        }
-    }        
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookFiveLined.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,605 +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:  Bubble for call object text display.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleOutlookFiveLined.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-#include    "BMCustomManager.h"
-
-#include    <telbubblecustomelement.h>
-#include    <telbubbleanim.h>
-
-#include    <eiklabel.h>
-#include    <eikimage.h>
-#include    <featmgr.h>
-#include    <AknsDrawUtils.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CBubbleOutlookFiveLined::CBubbleOutlookFiveLined( 
-    CBubbleManager& aBubbleManager ) : CBubbleOutlook( aBubbleManager )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CBubbleOutlookFiveLined::ConstructL()
-    {
-    iHeader = NULL;
-    iTextLineNumber = 0;
-          
-    CBubbleOutlook::ConstructL( );
-    ActivateL();
-    }
-
-// Destructor
-CBubbleOutlookFiveLined::~CBubbleOutlookFiveLined()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookFiveLined::Reset
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookFiveLined::Reset( )
-    {
-    CBubbleResourceManager& res = iBubbleManager.ResourceManager();
-    res.ReleaseEikImage( iBubble );
-    iBubbleManager.CustomManager().ReleaseCustomElement( iSmallCallIndication );
-    iBubbleManager.CustomManager().ReleaseCustomElement( iNumberType );
-    res.ReleaseEikImage( iTypeIndication1 );
-    res.ReleaseEikImage( iTypeIndication2 );
-    res.ReleaseEikImage( iCyphOffImage );
-    res.ReleaseEikImage( iTnImage );
-    res.ReleaseEikLabel( iTextLine1 );
-    res.ReleaseEikLabel( iTextLine2 );
-    res.ReleaseEikLabel( iTextLine3 );
-    res.ReleaseEikLabel( iTextLine4 );
-    res.ReleaseEikLabel( iTextLine5 );
-    
-    iBubbleManager.CustomManager().ReleaseCustomElement( iBigCallIndicator );
-    
-    iFullText1.Set( NULL, 0 );
-    iFullText2.Set( NULL, 0 );
-    iFullText3.Set( NULL, 0 );
-    iFullText4.Set( NULL, 0 );
-    iFullText5.Set( NULL, 0 );
-    iTextLineNumber = 0;
-
-    iHeader = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookFiveLined::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookFiveLined::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState( );
-    
-    switch ( callState )
-        {
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            // Set big call indicator icon
-            TBool defaultCallIndicator;
-            iBigCallIndicator = 
-                iBubbleManager.CustomManager().ReserveCustomElement(
-                    aHeader, 
-                    CTelBubbleCustomElement::EBigCallIndicator,
-                    defaultCallIndicator );
-            
-            // Number type not shown with custom call indicator
-            if ( defaultCallIndicator )
-                {
-                // Set number type icon
-                iNumberType = 
-                    iBubbleManager.CustomManager().ReserveCustomElement(
-                        aHeader, 
-                        CTelBubbleCustomElement::ENumberTypeIcon,
-                        defaultCallIndicator );
-                }
-            break;
-            
-        default:
-            break;
-        }
-
-    BubbleUtils::SetCyphOffImage( *iHeader, iCyphOffImage, iBubbleManager );
-      
-    BubbleUtils::ChooseTextsToFiveLines( 
-        *iHeader, 
-        iFullText1, 
-        iFullText2,
-        iFullText3, 
-        iTextLine1,
-        iTextLine2,
-        iTextLine3,
-        iTextLine4,
-        iTextLine5,
-        iBubbleManager,
-        iText1ClipDirection, 
-        iText2ClipDirection,
-        iText3ClipDirection, 
-        iTextLineNumber,
-        iThreeLinedLayout );
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookFiveLined::CountComponentControls
-//
-// All the controls are not used at all times. Athough we want to
-// keep the drawing order. 
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleOutlookFiveLined::CountComponentControls() const
-    {
-    TInt amount = 0;
-
-    if ( iNumberType ) 
-        {
-        amount++;
-        }
-
-    if ( iSmallCallIndication ) 
-        {
-        amount++;
-        }
-
-    if ( iTypeIndication1 ) 
-        {
-        amount++;
-        }
-
-    if ( iTypeIndication2 ) 
-        {
-        amount++;
-        }
-
-    if ( iCyphOffImage ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine1 ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine2 ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine3 ) 
-        {
-        amount++;
-        }
-    
-    if ( iTextLine4 ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine5 ) 
-        {
-        amount++;
-        }
-        
-    if ( iTimerCost ) 
-        {
-        amount++;
-        }
-
-    if ( iBigCallIndicator )
-        {
-        amount++;
-        }
-
-    return amount;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookFiveLined::ComponentControl
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleOutlookFiveLined::ComponentControl(TInt aIndex) const
-    {
-  
-    TInt amount = -1;
-
-    if ( iNumberType )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iNumberType->Control();
-        }
-
-    if ( iCyphOffImage )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iCyphOffImage;
-        }
-        
-    if ( iTextLine1 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTextLine1;
-        }
-
-    if ( iTextLine2 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTextLine2;
-        }
-
-    if ( iTextLine3 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTextLine3;
-        }
-        
-    if ( iTextLine4 )
-        {
-        amount++;
-        }        
-        
-    if ( aIndex == amount )
-        {
-        return iTextLine4;
-        }
-    
-    if ( iTextLine5 )
-        {
-        amount++;
-        }        
-        
-    if ( aIndex == amount )
-        {
-        return iTextLine5;
-        }        
-
-    if ( iTimerCost )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTimerCost;
-        }
-
-    if ( iSmallCallIndication )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iSmallCallIndication->Control();
-        }
-
-    if ( iTypeIndication1 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTypeIndication1;
-        }
-
-    if ( iTypeIndication2 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTypeIndication2;
-        }
-
-    if ( iBigCallIndicator )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iBigCallIndicator->Control();
-        }
-
-    return NULL;
-
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookFiveLined::Draw
-// 
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookFiveLined::Draw( const TRect& /*aRect*/ ) const
-    {
-    CGraphicsContext& gc = SystemGc();
-    
-    // Check that proper call header is set
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-    
-    if ( !iHeader->IsUsed( ) ) 
-        { 
-        return; 
-        }
-    
-    TUint32 callFlag = iHeader->CallFlags( );
-	CBubbleManager::TPhoneCallState callState = iHeader->CallState( );		
-    
-    // Set texts to fit.
-    switch (iTextLineNumber)
-        {
-        case 0:
-            BubbleUtils::ClipToLabel( 
-                iFullText1 , iTextLine1 , iText1ClipDirection );
-            BubbleUtils::AddTextToEikLabel( iTextLine2 , KNullDesC );
-            break;
-        case 1:
-            BubbleUtils::SetTextInLabel( 
-                iFullText1 , iTextLine1 , iText1ClipDirection );
-            BubbleUtils::ClipToLabel( 
-                iFullText2 , iTextLine2 , iText2ClipDirection );
-            BubbleUtils::ClipToLabel( 
-                iFullText3 , iTextLine3 , iText2ClipDirection );                
-            break;
-        case 2:
-            BubbleUtils::ClipToLabel( 
-                iFullText1 , iTextLine1 , iText1ClipDirection );
-            BubbleUtils::SetTextInLabel( 
-                iFullText2 , iTextLine2 , iText2ClipDirection );
-            break;
-        case 3:
-            BubbleUtils::ClipToLabel( 
-                iFullText1 , iTextLine1 , iText1ClipDirection );
-            BubbleUtils::ClipToLabel( 
-                iFullText2 , iTextLine2 , iText2ClipDirection );
-            BubbleUtils::SetTextInLabel( 
-                iFullText3 , iTextLine3 , iText3ClipDirection );                
-            break;            
-        default:
-            BubbleUtils::AddTextToEikLabel( iTextLine1 , KNullDesC );
-            BubbleUtils::AddTextToEikLabel( iTextLine2 , KNullDesC );
-            BubbleUtils::AddTextToEikLabel( iTextLine3 , KNullDesC );
-            break;
-        }
-
-    }
-
-// ---------------------------------------------------------------------------
-//CBubbleOutlookFiveLined::DrawTimerCostNow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookFiveLined::DrawTimerCostNow()
-    {
-    if ( iHeader == NULL || iTimerCost == NULL ) 
-        {
-        return;
-        }
-
-    if ( iHeader->CallState() != CBubbleManager::EActive  
-        || iTimerCost->Text()->Compare( iHeader->TimerCost() ) == 0 ) 
-        {
-        return;
-        }
-    
-    BubbleUtils::ClipToLabel( iHeader->TimerCost() , iTimerCost , 
-        CBubbleManager::ERight );
-    DrawLabelNow( iTimerCost);
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookFiveLined::DrawCLINow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookFiveLined::DrawCLINow()
-    {
-    if ( iHeader == NULL ) 
-        {
-        return;
-        }
-    
-    CEikLabel* cli = NULL;
-    
-    if ( iTextLineNumber == 1 )
-        {
-        iFullText3.Set( iHeader->CLI() );
-        cli = iTextLine3;
-        }
-    else
-        {
-        iFullText1.Set( iHeader->CLI() );
-        cli = iTextLine1;
-        }
-    
-    CBubbleManager::TBubbleLabelString full = iHeader->CLI();
-    CBubbleManager::TPhoneClippingDirection clipDir 
-        = iHeader->CLIClipDirection();
-    
-    // Set texts to fit.
-    if ( full.Length() > 0 )
-        {
-        BubbleUtils::ClipToLabel( full , cli , clipDir );
-        BubbleUtils::AddTextToEikLabel( cli , full );
-        }
-    else
-        {
-        BubbleUtils::AddTextToEikLabel( cli , KNullDesC );
-        }
-    
-    // First clear the area and then draw the new text
-    DrawLabelNow( cli );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookFiveLined::DrawBitmaps
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookFiveLined::DrawBitmaps( CBitmapContext& aGc ) const
-    {
-    // Check that proper call header is set
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-    
-    if ( !iHeader->IsUsed() ) 
-        { 
-        return; 
-        }
-    
-    // Now starts actual drawing.
-    aGc.SetBrushColor( AKN_LAF_COLOR( BubbleLayout::LayoutColourWhite() ) );
-
-    if ( iBubble->Bitmap() )
-        {
-        BubbleUtils::DrawMaskedImage( aGc , iBubble );    
-        }
-    else
-        {
-        // Draw bubble frame
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        if ( !AknsDrawUtils::DrawFrame( skin,
-                                        (CWindowGc&) aGc,  
-                                        iOuterRect,
-                                        iInnerRect,
-                                        iFrameId,
-                                        KAknsIIDDefault ) )
-            {
-            BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-            }        
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookFiveLined::HandleAnimationStartL
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookFiveLined::HandleAnimationStartL() const
-    {
-    if ( iBigCallIndicator && iBigCallIndicator->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iBigCallIndicator->Control() );
-        anim->StartAnimationL();    
-        }
-    
-    if ( iSmallCallIndication && iSmallCallIndication->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iSmallCallIndication->Control() );
-        anim->StartAnimationL();    
-        }
-    
-    if( iNumberType && iNumberType->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iNumberType->Control() );
-        anim->StartAnimationL();    
-        }
-
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookFiveLined::DrawCallHeaderText
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookFiveLined::DrawCallHeaderText()
-    {
-    if ( iHeader == NULL || iTextLine1 == NULL ) 
-        {
-        return;
-        }
-
-    if ( iHeader->CallState() != CBubbleManager::EOutgoing )
-        {
-        return;
-        }
-    
-    CEikLabel* label = NULL;
-    iFullText1.Set( iHeader->Text() );
-    label = iTextLine1;
-
-    CBubbleManager::TPhoneClippingDirection textDir = 
-        iHeader->TextClipDirection();
-
-    BubbleUtils::ClipToLabel( iHeader->Text(), label, textDir );
-    DrawLabelNow( label );    
-    }
-    
-    
-    
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookHide.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +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:  Outlook Hide
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookHide.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMLayout.h"
-#include    "BMUtils.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <AknsUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::CBubbleOutlookHide
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookHide::CBubbleOutlookHide( CBubbleManager& aBubbleManager) 
-: CBubbleOutlook( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-
-void CBubbleOutlookHide::ConstructL()
-    {     
-    CBubbleOutlook::ConstructL( );
-    ActivateL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::~CBubbleOutlookHide
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookHide::~CBubbleOutlookHide()
-    {
-    Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::Reset
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookHide::Reset()
-    {
-    iBubbleManager.ResourceManager().ReleaseEikImage( iBubble );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookHide::ReadBubbleHeader( CBubbleHeader& /*aHeader*/ )
-    {
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );
-    iBubbleManager.ImageManager().SetBitmapToImage( 
-        iBubble , 
-        EQgn_graf_call_hidden_held , 
-        EQgn_graf_call_hidden_held_mask );
-    SizeChanged();
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookHide::SizeChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    BubbleUtils::LayoutBackgroundImage( 
-        iBubble , 
-        Rect(), 
-        BubbleLayout::popup_call_audio_first_window_6_graphics_1() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::DrawTimerCostNow
-//
-//  Pure virtual in base class.
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookHide::DrawTimerCostNow()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::DrawCLINow
-//
-//  Pure virtual in base class.
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookHide::DrawCLINow()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::DrawBitmaps
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookHide::DrawBitmaps( CBitmapContext& aGc ) const
-    {
-    aGc.SetBrushColor( AKN_LAF_COLOR( BubbleLayout::LayoutColourWhite() ) );
-    BubbleUtils::DrawMaskedImage( aGc , iBubble );    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookHide::HandleAnimationStartL
-//
-//  Pure virtual in base class.
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookHide::HandleAnimationStartL() const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookHide::DrawCallHeaderText
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookHide::DrawCallHeaderText()
-    {
-    }
-
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookMiddle.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,511 +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:  Outlook Middle
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookMiddle.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::CBubbleOutlookMiddle
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookMiddle::CBubbleOutlookMiddle( CBubbleManager& aBubbleManager ) 
- : CBubbleOutlookTwoLined( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookMiddle::ConstructL()
-    {  
-    iIsUnder = EFalse;
-    CBubbleOutlookTwoLined::ConstructL( );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::~CBubbleOutlookMiddle
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookMiddle::~CBubbleOutlookMiddle()
-    {
-    Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::Reset( )
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookMiddle::Reset( )
-    {
-    iIsUnder = EFalse;
-    CBubbleOutlookTwoLined::Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookMiddle::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    if ( !iCallObjectDisplay )
-        {
-        GetCall1BubbleBitmaps();    
-        }
-
-    CBubbleOutlookTwoLined::ReadBubbleHeader( aHeader );
-    }
-    
-    
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookMiddle::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-                
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );    
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::SetIsUnder
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookMiddle::SetIsUnder( const TBool& aIsUnder )
-    {
-    iIsUnder = aIsUnder;
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookMiddle::DoCall1Layout()
-    {
-    // Deprecated
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookMiddle::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Incoming call layout. Number entry open.
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_background(5) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::RectFrameInnerOuterRects( frameRect, 
-                                                     outerRect, 
-                                                     innerRect);
-            
-            iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall2RectDisconn : 
-                                      KAknsIIDQsnFrCall2Rect;
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-            
-            // Call indicator
-            BubbleUtils::LayoutCustomElement(
-                iBigCallIndicator, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_waiting_icon(1) );
-            
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_in_ciphering_icon(5) );                
-            
-            // Number type icon
-            BubbleUtils::LayoutCustomElement(
-                iNumberType, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_number_type_icon(5) );
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_text_1(5) );
-            
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 2
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_call_text_2(9) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_brand_image(4) );
-                }
-            else
-                {
-                // Text line 2
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_call_text_2(5) );
-                }
-                
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            if ( iHeader->CallObjectImage()  &&
-                 !iHeader->CallObjectText().Length() )
-                {
-                // Add transparency
-                BubbleUtils::AddTransparencyToBubbleImageL( 
-                    KAknsIIDQsnFrCall2RectCoMask, // gradient tp mask
-                    outerRect,
-                    innerRect,
-                    iBubble );                    
-                }                
-            break;
-            }
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // First call layout. Two calls.
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_background(13) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-            
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;    
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;    
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirstDisconn; 
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;       
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirst;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;    
-                }                
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_status_icon(12) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_window_ciphering_icon(11) );
-            
-            // Call type pane    
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_type_icon(11),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2                
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_cli_text(15) );
-            
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(16) );
-
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(17) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-                    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_brand_image(2) );
-                }
-            else
-                {
-                // Text line 2 - call state
-                BubbleUtils::LayoutLabel(
-                    iTextLine2,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(12) );
-
-                // Text line 2 - call timer
-                BubbleUtils::LayoutLabel(
-                    iTimerCost,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_first_call_state_text(13) );
-                }
-                
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );
-            
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            if ( iHeader->CallObjectImage() )
-                {
-                BubbleUtils::PrepareCallObjectImageL(
-                    *iHeader,
-                    iBubbleManager.CallObjectImageIncallSize() );
-                
-                TBool dimmed = !iBubbleManager.IsCallDroppedByEndKey( 
-                                   iHeader->CallState() );
-                                   
-                TAknLayoutRect cliRect;
-                cliRect.LayoutRect( 
-                    frameRect, 
-                    BubbleLayout2::popup_call2_bubble_pane_graphics_cli() );                                   
-                                   
-                // Combine image to bubble image
-                BubbleUtils::PrepareCallObjectToBubbleImageL(
-                    iHeader->CallObjectImage(),
-                    iHeader->CallObjectImageMask(),
-                    cliRect.Rect(),
-                    coMaskFrameId, // gradient image mask
-                    outerRect,
-                    innerRect,
-                    iBubble,
-                    dimmed );                                        
-                }                
-            break;
-            }
-        case CBubbleManager::ENone:
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddle::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookMiddle::GetCall1BubbleBitmaps()
-    {
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    
-    TInt bubblePicture = KErrNotFound;
-    TInt bubblePictureMask = KErrNotFound;
-    
-    // set call bubble
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-            {
-            bubblePicture = EQgn_graf_call_rec_big_left;
-            bubblePictureMask = EQgn_graf_call_rec_big_left_mask;
-            }
-            break;
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            bubblePicture = EQgn_graf_call_rec_big_left_disconn;
-            bubblePictureMask = EQgn_graf_call_rec_big_left_disconn_mask;
-            }
-            break;
-        case CBubbleManager::EActive:
-            {
-            if ( iIsUnder )
-                {
-                bubblePicture = EQgn_graf_call_first_wait_active;
-                bubblePictureMask = EQgn_graf_call_first_wait_active_mask;
-                }
-            else 
-                {
-                bubblePicture = EQgn_graf_call_first_two_active;
-                bubblePictureMask = EQgn_graf_call_first_two_active_mask;
-                }
-            break;
-            }
-        case CBubbleManager::EOnHold:
-            bubblePicture = EQgn_graf_call_first_two_held;
-            bubblePictureMask = EQgn_graf_call_first_two_held_mask;
-            break;
-        case CBubbleManager::EDisconnected:
-            if ( iIsUnder )
-                {
-                bubblePicture = EQgn_graf_call_first_wait_disconn;
-                bubblePictureMask = EQgn_graf_call_first_wait_disconn_mask;
-                }
-            else 
-                {
-                bubblePicture = EQgn_graf_call_first_two_disconn;
-                bubblePictureMask = EQgn_graf_call_first_two_disconn_mask;
-                }
-            break;
-        case CBubbleManager::ENone:
-        default:        
-            bubblePicture = KErrNotFound;
-            bubblePictureMask = KErrNotFound;
-            break;
-        }
-    
-    if ( bubblePicture != KErrNotFound )
-        {
-        if ( bubblePictureMask == KErrNotFound )
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( iBubble, 
-                                            (TBMIcons) bubblePicture );
-            }
-        else
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( iBubble, 
-                                            (TBMIcons) bubblePicture , 
-                                            (TBMIcons) bubblePictureMask);
-            }
-        }    
-   }    
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookMiddleCnap.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,429 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CBubbleOutMiddleCnap class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookMiddleCnap.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMLayout.h"
-#include    "BMUtils.h"
-#include    "BMLayout2.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CBubbleOutlookMiddleCnap::CBubbleOutlookMiddleCnap
-    ( CBubbleManager& aBubbleManager )
-    : CBubbleOutlookThreeLined( aBubbleManager )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CBubbleOutlookMiddleCnap::ConstructL()
-    {
-    CBubbleOutlookThreeLined::ConstructL();
-    }
-
-    
-// Destructor
-CBubbleOutlookMiddleCnap::~CBubbleOutlookMiddleCnap()
-    {
-    Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddleCnap::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookMiddleCnap::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    if ( !iCallObjectDisplay )
-        {
-        GetCall1BubbleBitmaps();    
-        }
-    
-    CBubbleOutlookThreeLined::ReadBubbleHeader( aHeader );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddleCnap::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookMiddleCnap::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-
-    if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-                
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );
-            }  
-        }      
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddleCnap::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookMiddleCnap::DoCall1Layout()
-    {
-    // Deprecated
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddleCnap::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookMiddleCnap::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Incoming call layout. Three lines of text. Number entry open.
-            ///////////////////////////////////////////////////////////////////
-            
-            // Layout create bubble image
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_background(6) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::RectFrameInnerOuterRects( frameRect, 
-                                                     outerRect, 
-                                                     innerRect);
-            
-            iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall2RectDisconn : 
-                                      KAknsIIDQsnFrCall2Rect;
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call indicator
-            BubbleUtils::LayoutCustomElement(
-                iBigCallIndicator, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_waiting_icon(1) );
-            
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_in_ciphering_icon(6) );                
-            
-            // Number type icon
-            BubbleUtils::LayoutCustomElement(
-                iNumberType, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_number_type_icon(6) );
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_text_1(6) );
-            
-            // Text line 2
-            BubbleUtils::LayoutLabel( 
-                iTextLine2, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_in_call_text_2(6) );
-
-            // Smaller rect for text if brand image exists
-            if ( iBrandImage )
-                {
-                // Text line 3
-                BubbleUtils::LayoutLabel(
-                    iTextLine3,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_call_text_3(4) );
-
-                //Brand image
-                BubbleUtils::LayoutCustomElement(
-            	    iBrandImage,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_brand_image(2) );
-                }
-            else
-                {
-                // Text line 3
-                BubbleUtils::LayoutLabel(
-                    iTextLine3,
-                    rect,
-                    BubbleLayout2::popup_call2_audio_in_call_text_3(2) );
-                }
-                
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            if ( iHeader->CallObjectImage()  &&
-                 !iHeader->CallObjectText().Length() )
-                {
-                // Add transparency
-                BubbleUtils::AddTransparencyToBubbleImageL( 
-                    KAknsIIDQsnFrCall2RectCoMask, // gradient tp mask
-                    outerRect,
-                    innerRect,
-                    iBubble );                    
-                }                
-            break;
-            }
-            
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-        case CBubbleManager::EDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // First call layout. Three lines of text. Two calls.  
-            ///////////////////////////////////////////////////////////////////
-
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_background(21) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-        
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;    
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirstDisconn;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;            
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirst;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;                
-                }                
-            
-            // for possible frame draw
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_status_icon(20) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_window_ciphering_icon(17) );
-            
-            // Call type pane
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_type_icon(17),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2               
-
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_cli_text(23) );
-            
-            // Text line 2 - phone number
-            BubbleUtils::LayoutLabel( 
-                iTextLine2, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_number_text(19) );
-            
-            // Text line 2 - call state
-            BubbleUtils::LayoutLabel( 
-                iTextLine3, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_state_text(19) );
-            
-            // Text line 2 - call timer
-            BubbleUtils::LayoutLabel( 
-                iTimerCost, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_state_text(21) );
-                
-            // Build call object bubble
-            iBubble->SetRect( bubbleRect.Rect() );                                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            if ( iHeader->CallObjectImage() )
-                {
-                BubbleUtils::PrepareCallObjectImageL(
-                    *iHeader,
-                    iBubbleManager.CallObjectImageIncallSize() );
-                
-                TAknLayoutRect cliRect;
-                cliRect.LayoutRect( 
-                    frameRect, 
-                    BubbleLayout2::popup_call2_bubble_pane_graphics_cli() );
-                    
-                // Combine image to bubble image
-                BubbleUtils::PrepareCallObjectToBubbleImageL(
-                    iHeader->CallObjectImage(),
-                    iHeader->CallObjectImageMask(),
-                    cliRect.Rect(),
-                    coMaskFrameId, // gradient image mask
-                    outerRect,
-                    innerRect,
-                    iBubble );
-                }
-                
-            break;
-            }
-            
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookMiddleCnap::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookMiddleCnap::GetCall1BubbleBitmaps()
-    {
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    
-    TInt bubblePicture = KErrNotFound;
-    TInt bubblePictureMask = KErrNotFound;
-    
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-            bubblePicture = EQgn_graf_call_rec_big_left;
-            bubblePictureMask = EQgn_graf_call_rec_big_left_mask;
-            break;
-        case CBubbleManager::EActive:
-            bubblePicture = EQgn_graf_call_two_active_emergency;
-            bubblePictureMask = EQgn_graf_call_two_active_emergency_mask; 
-            break;
-        case CBubbleManager::EAlertToDisconnected:
-        case CBubbleManager::EOnHold:
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::ENone:
-        default:        
-            bubblePicture = KErrNotFound;
-            bubblePictureMask = KErrNotFound;
-            break;
-        }
-
-    if ( bubblePicture != KErrNotFound )
-        {
-        if ( bubblePictureMask == KErrNotFound )
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, (TBMIcons) bubblePicture );
-            }
-        else
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, 
-                (TBMIcons) bubblePicture , 
-                (TBMIcons) bubblePictureMask);
-            }
-        }
-        
-    }
-
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookNE.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1188 +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:  Outlook Number Entry
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" 
-#include    "BMBubbleOutlookNE.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMResourceManager.h"
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-
-#include    <eiklabel.h>
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknPhoneNumberEditor.h>
-#include    <AknsBasicBackgroundControlContext.h>
-#include    <AknsFrameBackgroundControlContext.h>
-#include    <AknsDrawUtils.h>
-#include    <AknLayoutFont.h>
-#include    <applayout.cdl.h>
-#include    <aknappui.h>
-#include    <eikspane.h>
-#include    <AknStatuspaneUtils.h>
-
-//for resources
-#include    <barsread.h>
-#include    <Bubblemanager.rsg>
-
-// CONSTANTS
-const TUint8 KBubbleNE1LongLineFormat = 0;
-const TUint8 KBubbleNE2LongLineFormat = 1;
-const TUint8 KBubbleNE1ShortLineFormat = 2;
-const TUint8 KBubbleNE2ShortLineFormat = 3;
-const TUint8 KBubbleNEIdleStateFormat = 4;
-
-const TInt KBubbleNEFormatOffsetIfNoStatusPane = 5;
-
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::CBubbleOutlookNumberEntry
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookNumberEntry::CBubbleOutlookNumberEntry( 
-                                    CBubbleManager& aBubbleManager,
-                                    const CCoeControl& aMutedImage )
-: CBubbleOutlook( aBubbleManager ) , iMutedImage( aMutedImage )
-
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-
-void CBubbleOutlookNumberEntry::ConstructL()
-    {
-    iPlace = ENENone;
-    iIsUsed = EFalse;
-    iEditor = NULL;
-
-    // Create skin background control context,
-    // the actual image ID and rectangle will be set later
-    if ( iCallObjectDisplay )
-        {
-        iFrameContext = CAknsFrameBackgroundControlContext::NewL(
-            KAknsIIDNone, TRect(0,0,4,4), TRect(1,1,3,3), EFalse );
-        }
-    else
-        {
-        iSkinContext = CAknsBasicBackgroundControlContext::NewL(
-            KAknsIIDNone, TRect(0,0,1,1), EFalse );
-        }    
-    
-    // Create editor from resources:
-    iEditor = new( ELeave ) CAknPhoneNumberEditor;
-    iEditor->SetContainerWindowL( *this );
-    iEditor->SetParent( this );
-
-    TResourceReader reader;
-    iCoeEnv->CreateResourceReaderLC( reader, R_BUBBLEMANAGER_EDITOR );
-    ConstructEditorFromResourceAndLayoutL( reader );
-
-    CleanupStack::PopAndDestroy();    // reader
-
-    iEditor->SetObserver( this );
-    iEditor->SetFormat( KBubbleNEIdleStateFormat );
-    
-    iStatusPane = static_cast<CAknAppUi*>(iEikonEnv->
-        EikAppUi() )->StatusPane();
-
-    CBubbleOutlook::ConstructL( );
-
-    SetBlank();
-    ActivateL();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::~CBubbleOutlookNumberEntry
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookNumberEntry::~CBubbleOutlookNumberEntry()
-    {
-    if ( iBubble )
-        {
-        iBubbleManager.ResourceManager().ReleaseEikImage( iBubble );
-        }
-    delete iEditor;
-    delete iSkinContext;
-    delete iFrameContext;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::Reset
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::Reset( )
-    {
-    if ( iBubble )
-        {
-        iBubbleManager.ResourceManager().ReleaseEikImage( iBubble );
-        }
-    iPlace = ENENone;
-    iIsUsed = EFalse;
-    iEditor->SetFocus( EFalse );
-    SetText( KNullDesC );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::ReadBubbleHeader( CBubbleHeader& /*aHeader*/ )
-    {
-    // ignore
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::SetPlace
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::SetPlace( const TPhoneNumberEntryPlace& aPlace )
-    {
-    if ( iPlace == aPlace )
-        {
-        return;
-        }
-
-    iPlace = aPlace;
-
-    if ( iCallObjectDisplay )
-        {
-        SetPlace2( iPlace );
-        }
-    else
-        {
-        SetPlace1( iPlace );
-        }        
-
-    SizeChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::SetPlace1
-//
-//  
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookNumberEntry::SetPlace1( 
-    const TPhoneNumberEntryPlace& aPlace )
-    {
-    switch ( aPlace )
-        {
-        case ENEBottom:
-            {
-            if ( iBubble )
-                {
-                iBubbleManager.ResourceManager().ReleaseEikImage( iBubble );
-                }
-        
-            iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );
-                    
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble , 
-                EQgn_graf_call_rec_big , 
-                EQgn_graf_call_rec_big_mask );
-         
-            iSkinContext->SetBitmap( KAknsIIDQgnGrafCallRecBig );
-            break;
-            }
-        case ENEBottomRight:
-            {
-            if ( iBubble )
-                {
-                iBubbleManager.ResourceManager().ReleaseEikImage( iBubble );
-                }
-            
-            iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );
-            
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble , 
-                EQgn_graf_call_rec_big_right , 
-                EQgn_graf_call_rec_big_right_mask );
-         
-            iSkinContext->SetBitmap( KAknsIIDQgnGrafCallRecBigRight );
-            break;
-            }
-        case ENEIdleState:
-            {
-            if ( iBubble )
-                {
-                iBubbleManager.ResourceManager().ReleaseEikImage( iBubble );
-                }
-         
-            iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );
-         
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble , 
-                EQgn_graf_call_rec_bigger , 
-                EQgn_graf_call_rec_bigger_mask );
-         
-            iSkinContext->SetBitmap( KAknsIIDQgnGrafCallRecBigger );
-            break;            
-            }
-        case ENENone:
-        default:
-            break;
-        }
-    
-    iSkinContext->SetParentContext( 
-        AknsDrawUtils::ControlContextOfParent(this) );
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::SetPlace2
-//  
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookNumberEntry::SetPlace2( 
-    const TPhoneNumberEntryPlace& aPlace )
-    {
-    switch ( aPlace )
-        {
-        case ENEBottom:
-            iFrameContext->SetFrame( KAknsIIDQsnFrCall2Rect );
-            break;
-        case ENEBottomRight:
-            iFrameContext->SetFrame( KAknsIIDQsnFrCall2Rect );
-            break;
-        case ENEIdleState:
-            iFrameContext->SetFrame( KAknsIIDQsnFrCall2Rect );
-            break;            
-        case ENENone:
-        default:
-            break;
-        }    
-
-    iFrameContext->SetParentContext( 
-        AknsDrawUtils::ControlContextOfParent(this) );        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::Place
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookNumberEntry::TPhoneNumberEntryPlace 
-                                    CBubbleOutlookNumberEntry::Place() const
-    {
-    return iPlace;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::SizeChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( iCallObjectDisplay )
-        {
-        SizeChanged2();
-        }
-    else
-        {
-        SizeChanged1();    
-        }        
-    
-    UpdateEditorFormats( iPlace );
-
-    // DOES NOT LEAVE! Own implementation. L comes from observer
-    // interface
-    UpdateAndDrawEditor();
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::SizeChanged1
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::SizeChanged1()
-    {
-    switch ( iPlace )
-        {
-        case ENEBottom:
-            BubbleUtils::LayoutBackgroundImage( 
-                iBubble, 
-                Rect(), 
-                BubbleLayout::popup_number_entry_window_graphics_1( 0 ) );
-            
-            iSkinContext->SetRect( iBubble->Rect() );
-            break;
-            
-        case ENEBottomRight:
-            BubbleUtils::LayoutBackgroundImage( 
-                iBubble , 
-                Rect(), 
-                BubbleLayout::popup_number_entry_window_graphics_1( 0 ) );
-
-            iSkinContext->SetRect( iBubble->Rect() );
-            break;
-            
-        case ENEIdleState:
-            BubbleUtils::LayoutBackgroundImage( 
-                iBubble, 
-                Rect(), 
-                BubbleLayout::popup_number_entry_window_graphics_1( 3 ) );
-
-            iSkinContext->SetRect( iBubble->Rect() );
-            break;            
-
-        case ENENone:
-        default:
-            break;
-
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::SizeChanged2
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::SizeChanged2()
-    {
-    TAknLayoutRect frameRect;
-    TBool prepareFrame( EFalse );
-    
-    switch ( iPlace )
-        {
-        case ENEBottom:
-        case ENEBottomRight:
-           frameRect.LayoutRect( 
-               Rect(), 
-               BubbleLayout::popup_number_entry_window_graphics_1( 0 ) );
-           prepareFrame = ETrue;     
-           break;
-
-        case ENEIdleState:
-            frameRect.LayoutRect( 
-                Rect(), 
-                BubbleLayout::popup_number_entry_window_graphics_1( 3 ) );
-            prepareFrame = ETrue;                
-            break;            
-        case ENENone:
-        default:
-            break;
-        }
-        
-    if ( prepareFrame )        
-        {
-        BubbleLayout2::RectFrameInnerOuterRects(
-           frameRect.Rect(),
-           iOuterRect,
-           iInnerRect );
-
-        iFrameContext->SetFrameRects( iOuterRect, iInnerRect );
-                
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        AknsDrawUtils::PrepareFrame( skin,
-                                     iOuterRect,
-                                     iInnerRect,
-                                     KAknsIIDQsnFrCall2Rect,
-                                     KAknsIIDDefault );            
-        }        
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::CountComponentControls
-//
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleOutlookNumberEntry::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::ComponentControl
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleOutlookNumberEntry::ComponentControl(TInt aIndex) const
-    {
-    if ( aIndex == 0 )
-        {
-        return iEditor;
-        }
-    return NULL;
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::DrawTimerCostNow
-//
-//  Pure virtual in base class.
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::DrawTimerCostNow()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::DrawCLINow
-//
-//  Pure virtual in base class.
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::DrawCLINow()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::HandleControlEventL
-//  
-//  This must be non leaving function, because others use it too.
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::HandleControlEventL( CCoeControl* aControl, 
-                                                     TCoeEvent aEventType)
-    {
-    if ( aControl != iEditor  
-        && aEventType != EEventStateChanged 
-        || iPlace == ENENone)
-        return;
-
-    UpdateAndDrawEditor();
-    
-	ReportEventL( EEventStateChanged );
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::OfferKeyEventL
-//
-//  
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CBubbleOutlookNumberEntry::OfferKeyEventL( 
-                                            const TKeyEvent& aKeyEvent, 
-                                            TEventCode aType )
-    {
-    return iEditor->OfferKeyEventL( aKeyEvent, aType );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::SetIsUsed
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::SetIsUsed( const TBool& aIsUsed )
-    {
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-    // Don't set in focus if transition effects are turned on
-    // We don't want blinking cursor during transitions
-    if ( !aIsUsed )
-        {
-        iEditor->SetFocus( aIsUsed );
-        }
-#else
-    iEditor->SetFocus( aIsUsed );
-#endif    
-    iIsUsed = aIsUsed;    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::IsUsed
-//
-//  
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleOutlookNumberEntry::IsUsed() const
-    {
-    return iIsUsed;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::GetEditor
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleOutlookNumberEntry::GetEditor( ) const
-    {
-    return iEditor; 
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::SetText
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::SetText( const TDesC& aDesC )
-    {
-    iEditor->DrawDeferred();
-    iEditor->SetText( aDesC );   
-    iEditor->DrawDeferred();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::GetText
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::GetText( TDes& aDesC )
-    {
-    iEditor->GetText( aDesC );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::FocusChanged
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::FocusChanged( TDrawNow aDrawNow )
-    {
-    // Don't allow drawing
-    iEditor->SetFocus( IsFocused(), ENoDrawNow );
-    if ( aDrawNow == EDrawNow && iMutedImage.IsVisible() )
-        {
-        // muted image goes on top 
-        // so it must be redrawn too
-        DrawLabelNow( iMutedImage );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::DrawBitmaps
-//
-//  
-// ---------------------------------------------------------------------------
-//
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-void CBubbleOutlookNumberEntry::DrawBitmaps( CBitmapContext& ) const
-#else
-void CBubbleOutlookNumberEntry::DrawBitmaps( CBitmapContext& aGc ) const
-#endif
-    {
-    if ( iPlace == ENENone || !iIsUsed ) 
-        {
-        return;
-        }
-
-#ifdef RD_UI_TRANSITION_EFFECTS_PHASE2
-    // Must use SystemGc instead of aGc when transition effects are turned on
-    CWindowGc& aGc = SystemGc();
-#endif
-
-    if ( iCallObjectDisplay )
-        {
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        if ( !AknsDrawUtils::DrawFrame( skin,
-                                        (CWindowGc&) aGc,  
-                                        iOuterRect,
-                                        iInnerRect,
-                                        KAknsIIDQsnFrCall2Rect,
-                                        KAknsIIDDefault ) )
-            {
-            BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-            }       
-        }
-    else if ( !BubbleUtils::DrawMaskedImage( aGc , iBubble ) )
-        {
-        BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::HandleAnimationStartL
-//
-//  Pure virtual in base class.
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::HandleAnimationStartL() const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::ReleaseBitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::ReleaseBitmaps()
-    {
-    if ( iBubble )
-        {
-        iBubbleManager.ResourceManager().ReleaseEikImage( iBubble );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::RebuildBitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::RebuildBitmaps()
-    {
-    if ( iCallObjectDisplay )
-        {
-        return;            
-        }
-    
-    switch ( iPlace )
-        {
-        case ENEBottom:
-            iBubble = iBubbleManager.ResourceManager().ReserveEikImage(ETrue);
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble , 
-                EQgn_graf_call_rec_big , 
-                EQgn_graf_call_rec_big_mask );
-            break;
-        case ENEBottomRight:
-            iBubble = iBubbleManager.ResourceManager().ReserveEikImage(ETrue);
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble , 
-                EQgn_graf_call_rec_big_right , 
-                EQgn_graf_call_rec_big_right_mask );
-            break;
-        case ENEIdleState:
-            iBubble = iBubbleManager.ResourceManager().ReserveEikImage(ETrue);
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble , 
-                EQgn_graf_call_rec_bigger , 
-                EQgn_graf_call_rec_bigger_mask );
-            break;
-        case ENENone:
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::MopSupplyObject
-// ---------------------------------------------------------------------------
-//
-TTypeUid::Ptr CBubbleOutlookNumberEntry::MopSupplyObject( TTypeUid aId )
-    {
-    if( !iCallObjectDisplay && 
-        aId.iUid == MAknsControlContext::ETypeId && 
-        iSkinContext )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iSkinContext );
-        }
-    else if ( iCallObjectDisplay && 
-              aId.iUid == MAknsControlContext::ETypeId && 
-              iFrameContext )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iFrameContext );    
-        }
-    else
-        {
-        return CBubbleOutlook::MopSupplyObject( aId );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::DrawCallHeaderText
-//
-//  Pure virtual in base class.
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::DrawCallHeaderText()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::Draw
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::Draw( const TRect& /*aRect*/ ) const
-    {
-    if ( iPlace == ENENone || !iIsUsed ) 
-        {
-        return;
-        }
-
-    CWindowGc& gc = SystemGc( );
-    gc.SetBrushColor( AKN_LAF_COLOR( BubbleLayout::LayoutColourWhite() ) );
-    TRect rect = iEditor->Rect();
-
-    // Draw the skin background of the parent 
-    // (the bubble may be transparent)
-    AknsDrawUtils::DrawBackground( AknsUtils::SkinInstance(), 
-        AknsDrawUtils::ControlContextOfParent(this), this, gc, 
-        rect.iTl, rect, KAknsDrawParamDefault );
-    // Don't set clipping rect if transition effects are turned on
-#ifndef RD_UI_TRANSITION_EFFECTS_PHASE2
-    gc.SetClippingRect( rect );
-#endif
-    if ( iCallObjectDisplay )
-        {
-        // Draw bubble frame
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        if ( !AknsDrawUtils::DrawFrame( skin,
-                                        (CWindowGc&) gc,  
-                                        iOuterRect,
-                                        iInnerRect,
-                                        KAknsIIDQsnFrCall2Rect,
-                                        KAknsIIDDefault ) )
-            {
-            BubbleUtils::DrawBackgroundRect( gc, Rect() );
-            }                
-        }
-    else
-        {
-        if ( !BubbleUtils::DrawMaskedImage( gc , iBubble ) )
-            {
-            BubbleUtils::DrawBackgroundRect( gc, Rect() );
-            }            
-        }        
-    gc.CancelClippingRect();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::ConstructEditorFromResourceAndLayoutL
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::ConstructEditorFromResourceAndLayoutL( 
-    TResourceReader& aReader )
-    {
-    TInt maxChars = aReader.ReadInt16();
-    TInt maxLines = aReader.ReadInt16();
-    HBufC* truncation = aReader.ReadHBufCL();
-    CleanupStack::PushL( truncation );
-    TInt formatCount = aReader.ReadInt16();
-    iEditor->ConstructL( maxChars, maxLines, formatCount, *truncation );
-    CleanupStack::PopAndDestroy();  // truncation
-
-    iFormatCount = formatCount;
-
-    // get supporting layouts
-    TRgb color;
-    TRect numberEntryRect = NumberEntryRect( 0 , color );
-
-    // get the relevant layouts
-    TAknLayoutText texts1LongText;
-    TAknLayoutText texts1ShortText;
-    TAknLayoutText texts2LongLine1Text;
-    TAknLayoutText texts2ShortLine1Text;
-    TAknLayoutText texts2LongLine2Text;
-    TAknLayoutText texts2ShortLine2Text;
-    TAknLayoutText textsIdleLine1Text;
-    TAknLayoutText textsIdleLine2Text;
-
-    texts1LongText.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_1( 0 ) );
-    texts1ShortText.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_1( 1 ) );
-    texts2LongLine1Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_2( 0, 0 ) );
-    texts2ShortLine1Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_2( 1, 0 ) );
-    texts2LongLine2Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_2( 0, 1 ) );
-    texts2ShortLine2Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_2( 1, 1 ) );
-    textsIdleLine1Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_3( 1 ) );
-    textsIdleLine2Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_3( 0 ) );        
-        
-
-    // although only specified for two line case, we need to have 
-    // some kind of value for the one line case but as there is 
-    // only one line, it isn't used.
-    TInt baselineSeparation = texts2LongLine2Text.TextRect().iBr.iY 
-        - texts2LongLine1Text.TextRect().iBr.iY;
-
-    for (TInt ii = 0; ii < formatCount; ii++)
-        {
-        CAknPhoneNumberEditor::TFormat format( aReader );
-
-        // override the format values using the layout data
-        TInt next = ii;
-        TBool noStatusPane = EFalse;
-        if( ii > KBubbleNEIdleStateFormat )
-            {
-            next -= KBubbleNEFormatOffsetIfNoStatusPane;
-            noStatusPane = ETrue;
-            }
-        
-        const CAknLayoutFont* layoutFont;
-
-        switch( next )
-            {
-            case KBubbleNE1LongLineFormat:
-                format.iFont = texts1LongText.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-                format.iOuterRect = texts1LongText.TextRect(); 
-                break;
-            case KBubbleNE2LongLineFormat:
-                format.iFont = texts2LongLine1Text.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-
-                format.iOuterRect = texts2LongLine2Text.TextRect();
-                format.iOuterRect.iTl.iY -= format.iBottomBaselineOffset; // have to add extra gap
-                format.iOuterRect.iTl.iY -= baselineSeparation; // have to add extra lines.
-                break;
-            case KBubbleNE1ShortLineFormat:
-                format.iFont = texts1ShortText.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-                format.iOuterRect = texts1ShortText.TextRect();
-                break;
-            case KBubbleNE2ShortLineFormat:
-                format.iFont = texts2ShortLine1Text.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-                format.iOuterRect = texts2ShortLine2Text.TextRect();
-                format.iOuterRect.iTl.iY -= format.iBottomBaselineOffset; // have to add extra gap
-                format.iOuterRect.iTl.iY -= baselineSeparation; // have to add extra lines.
-                break;
-            case KBubbleNEIdleStateFormat:
-                format.iFont = textsIdleLine1Text.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-
-                format.iOuterRect = textsIdleLine2Text.TextRect();
-                format.iOuterRect.iTl.iY -= format.iBottomBaselineOffset; // have to add extra gap
-                
-                baselineSeparation = textsIdleLine2Text.TextRect().iBr.iY 
-                    - textsIdleLine1Text.TextRect().iBr.iY;
-                
-                format.iOuterRect.iTl.iY -= baselineSeparation; // have to add extra lines.
-                break;
-            }
-
-        if(noStatusPane)
-            {
-            format.iOuterRect.iTl.iY += BubbleLayout::MainPaneRect().iTl.iY;
-            format.iOuterRect.iBr.iY += BubbleLayout::MainPaneRect().iTl.iY;
-            }
-        format.iBaselineSeparation = baselineSeparation;
-        iEditor->AddFormat( format );
-        }
-
-    iEditor->SetFormat( KBubbleNEIdleStateFormat );
-    UpdateEditorColor( color );
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::NumberEntryRect
-// -----------------------------------------------------------------------------
-//
-TRect CBubbleOutlookNumberEntry::NumberEntryRect( TInt aIndex, TRgb& aColor )
-    {
-    TRect mainRect = BubbleLayout::MainPaneRect();
-    TAknLayoutRect numberEntryLayoutRect;
-    numberEntryLayoutRect.LayoutRect( mainRect, 
-        BubbleLayout::popup_number_entry_window( aIndex ) );
-
-    aColor = numberEntryLayoutRect.Color();
-    TRect numberEntryRect = numberEntryLayoutRect.Rect();
-    // relative to mainpane
-    numberEntryRect.iTl.iY -= mainRect.iTl.iY;
-    numberEntryRect.iBr.iY -= mainRect.iTl.iY;
-    numberEntryRect.iTl.iX -= mainRect.iTl.iX;
-    numberEntryRect.iBr.iX -= mainRect.iTl.iX;
-
-    return numberEntryRect ;
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::UpdateEditorFormats
-// -----------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::UpdateEditorFormats( 
-    TPhoneNumberEntryPlace aPlace )
-    {
-    // get supporting layouts
-    TRect numberEntryRect;
-    TRgb color;
-    if ( aPlace == ENEBottom )
-        {
-        numberEntryRect = NumberEntryRect( 0, color );
-        }
-    else if ( aPlace == ENEBottomRight )
-        {
-        numberEntryRect = NumberEntryRect( 1, color );
-        }
-    else if ( aPlace == ENEIdleState )
-        {
-        numberEntryRect = NumberEntryRect( 4, color );
-        }        
-    else
-        {
-        return;
-        }
-
-    // get the relevant layouts
-    TAknLayoutText texts1LongText;
-    TAknLayoutText texts1ShortText;
-    TAknLayoutText texts2LongLine1Text;
-    TAknLayoutText texts2ShortLine1Text;
-    TAknLayoutText texts2LongLine2Text;
-    TAknLayoutText texts2ShortLine2Text;
-    TAknLayoutText textsIdleLine1Text;
-    TAknLayoutText textsIdleLine2Text;
-
-    texts1LongText.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_1( 0 ) );
-    texts1ShortText.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_1( 1 ) );
-    texts2LongLine1Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_2(0, 0));
-    texts2ShortLine1Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_2(1, 0));
-    texts2LongLine2Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_2(0, 1));
-    texts2ShortLine2Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_2(1, 1));
-    textsIdleLine1Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_3( 1 ) );
-    textsIdleLine2Text.LayoutText( numberEntryRect, 
-        BubbleLayout::popup_number_entry_window_texts_3( 0 ) );               
-
-    // although only specified for two line case, we need to have 
-    // some kind of value for the one line case but as there is 
-    // only one line, it isn't used.
-    TInt baselineSeparation = texts2LongLine2Text.TextRect().iBr.iY 
-                            - texts2LongLine1Text.TextRect().iBr.iY;
-    TInt currentFormat = iEditor->CurrentFormatIndex();
-
-    for (TInt ii = 0; ii < iFormatCount; ii++)
-        {
-        CAknPhoneNumberEditor::TFormat format( iEditor->Format( ii ) );
-
-        // override the format values using the layout data
-        TInt next = ii;
-        TBool noStatusPane = EFalse;
-        if( ii > KBubbleNEIdleStateFormat )
-            {
-            next -= KBubbleNEFormatOffsetIfNoStatusPane;
-            noStatusPane = ETrue;
-            }
-
-        const CAknLayoutFont* layoutFont;
-        switch( next )
-            {
-            case KBubbleNE1LongLineFormat:
-                format.iFont = texts1LongText.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-                format.iOuterRect = texts1LongText.TextRect(); 
-                break;
-            case KBubbleNE2LongLineFormat:
-                format.iFont = texts2LongLine1Text.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-                format.iOuterRect = texts2LongLine2Text.TextRect();
-                format.iOuterRect.iTl.iY -= format.iBottomBaselineOffset; // have to add extra gap
-                format.iOuterRect.iTl.iY -= baselineSeparation; // have to add extra lines.
-                break;
-            case KBubbleNE1ShortLineFormat:
-                format.iFont = texts1ShortText.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-                format.iOuterRect = texts1ShortText.TextRect();
-                break;
-            case KBubbleNE2ShortLineFormat:
-                format.iFont = texts2ShortLine1Text.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-                format.iOuterRect = texts2ShortLine2Text.TextRect();
-                format.iOuterRect.iTl.iY -= format.iBottomBaselineOffset; // have to add extra gap
-                format.iOuterRect.iTl.iY -= baselineSeparation; // have to add extra lines.
-                break;
-            case KBubbleNEIdleStateFormat:
-                format.iFont = textsIdleLine1Text.Font();
-                layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( format.iFont);
-                format.iBottomBaselineOffset = layoutFont->BaselineToTextPaneBottom();
-
-                format.iOuterRect = textsIdleLine2Text.TextRect();
-                format.iOuterRect.iTl.iY -= format.iBottomBaselineOffset; // have to add extra gap
-                
-                baselineSeparation = textsIdleLine2Text.TextRect().iBr.iY 
-                    - textsIdleLine1Text.TextRect().iBr.iY;
-                
-                format.iOuterRect.iTl.iY -= baselineSeparation; // have to add extra lines.
-                break;                
-            };
-
-        if(noStatusPane)
-            {
-            format.iOuterRect.iTl.iY += BubbleLayout::MainPaneRect().iTl.iY;
-            format.iOuterRect.iBr.iY += BubbleLayout::MainPaneRect().iTl.iY;
-            }
-        format.iBaselineSeparation = baselineSeparation;
-
-        iEditor->Format( ii ) = format;
-        }
-
-    iEditor->SetFormat( currentFormat );
-    UpdateEditorColor( color );
-    }
-
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookNumberEntry::ChangeEditorMode
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleOutlookNumberEntry::ChangeEditorMode( TBool aDefaultMode )
-    {
-    return iEditor->ChangeEditorMode( aDefaultMode );
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookNumberEntry::GetEditorMode
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleOutlookNumberEntry::GetEditorMode() const
-    {
-    return iEditor->GetEditorMode();
-    }
-    
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookNumberEntry::ResetEditorToDefaultValues
-//  
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::ResetEditorToDefaultValues()
-    {
-    iEditor->ResetEditorToDefaultValues();
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::UpdateEditorColor
-// -----------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::UpdateEditorColor( const TRgb aColor )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TRgb skinColor = aColor;
-
-    AknsUtils::GetCachedColor( 
-        skin, 
-        skinColor, 
-        KAknsIIDQsnTextColors,
-        EAknsCIQsnTextColorsCG51 );
-
-    // Ignore error
-    TRAP_IGNORE( iEditor->OverrideColorL( EColorControlText, skinColor ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleOutlookNumberEntry::UpdateAndDrawEditor
-// -----------------------------------------------------------------------------
-//
-void CBubbleOutlookNumberEntry::UpdateAndDrawEditor()
-    {
-    TInt format = 0;
-      
-      if ( iPlace == ENEBottom )
-          {
-          if ( iEditor->CountFormats() < 2 )
-              {
-              return;
-              }
-          format = KBubbleNE1LongLineFormat;
-          if ( !iEditor->WouldTextFitInFormat( format ) )
-              {
-              format = KBubbleNE2LongLineFormat;
-              }
-          }
-      else if ( iPlace == ENEBottomRight )
-          {
-          if ( iEditor->CountFormats() < 4 )
-              {
-              return;
-              }
-          format = KBubbleNE1ShortLineFormat;
-          if ( !iEditor->WouldTextFitInFormat( KBubbleNE1ShortLineFormat ) )
-              {
-              format = KBubbleNE2ShortLineFormat;
-              }
-          }
-      else if ( iPlace == ENEIdleState )
-          {
-          if ( iEditor->CountFormats() < 9 )
-              {
-              return;
-              }
-          format = KBubbleNEIdleStateFormat;
-          }
-
-      // If there is no status pane the relative coordinates editor must be
-      // moved 44 pixels downwards, because editor's coordinates are absolute - 
-      // NOT relative to parent rect.
-      if ( iStatusPane && !iStatusPane->IsVisible() &&
-           !AknStatuspaneUtils::StaconPaneActive() )
-          {
-          format += KBubbleNEFormatOffsetIfNoStatusPane;
-          }
-
-      if (iEditor->CurrentFormatIndex() != format)
-          {
-          iEditor->SetFormat(format);
-          if ( iBubble )
-              {
-              iEditor->DrawNow();
-              if ( iMutedImage.IsVisible() )
-                  {
-                  iMutedImage.DrawNow();
-                  }
-              }
-          }
-    }
-
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookOneLined.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,440 +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:  Implementation of CBubbleOutlookOneLined class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleOutlookOneLined.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMCustomManager.h"
-#include    "telbubbleanim.h"
-#include    "BMLayout.h"
-
-#include    <eiklabel.h>
-#include    <eikimage.h>
-#include    <featmgr.h>     
-#include    <AknsDrawUtils.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::CBubbleOutlookOneLined( )
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookOneLined::CBubbleOutlookOneLined( 
-                                   CBubbleManager& aBubbleManager ) 
-: CBubbleOutlook( aBubbleManager )                               
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::ConstructL()
-    {
-    
-    iHeader = NULL;
-    CBubbleOutlook::ConstructL( );
-    ActivateL();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::~CBubbleOutlookOneLined()
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookOneLined::~CBubbleOutlookOneLined()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::Reset
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::Reset( )
-    {
-
-    iBubbleManager.ResourceManager().ReleaseEikImage( iBubble );
-    iBubbleManager.CustomManager().ReleaseCustomElement( iSmallCallIndication );
-    iBubbleManager.ResourceManager().ReleaseEikImage( iTypeIndication1 );
-    iBubbleManager.ResourceManager().ReleaseEikImage( iTypeIndication2 );
-    iBubbleManager.ResourceManager().ReleaseEikImage( iCyphOffImage );
-    iBubbleManager.ResourceManager().ReleaseEikLabel( iTextLine1 );
-
-    iFullText1.Set( NULL , 0 );
-    iHeader = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState( );
-
-    // Set small call indication icon
-    TInt defaultCallIndicator;
-    iSmallCallIndication = 
-        iBubbleManager.CustomManager().ReserveCustomElement(
-            aHeader, 
-            CTelBubbleCustomElement::ESmallCallIndicator,
-            defaultCallIndicator );
-    
-    // Number type not shown with custom call indicator
-    if ( defaultCallIndicator )
-        {
-        // Set the additional icons
-        BubbleUtils::SetCallTypePane( 
-            *iHeader , 
-            iTypeIndication1, 
-            iTypeIndication2, 
-            iBubbleManager );
-        }
-
-    // Set Cyph off image
-    BubbleUtils::SetCyphOffImage( *iHeader, iCyphOffImage, iBubbleManager );
-    
-    
-    
-    // Get texts and possible timer/cost string.
-    // Reserved text buffer is KBubbleLabelMaxLength. If new text 
-    // is longer it panics.
-    // It is enough if text is cropped to fit (eg. '...1234567890') 
-   
-    switch ( callState )
-        {
-        
-        case CBubbleManager::EOnHold:
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlertToDisconnected:
-        case CBubbleManager::EAlerting:
-            iTextLine1 = iBubbleManager.ResourceManager().ReserveEikLabel();
-            iFullText1.Set( iHeader->CLI() );
-            iText1ClipDirection = iHeader->CLIClipDirection( );
-            break;
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::ENone:
-        default:
-            iFullText1.Set( NULL , 0 );
-            break;
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::CountComponentControls() const
-//
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleOutlookOneLined::CountComponentControls() const
-    {
-    TInt amount = 0;
-    if ( iSmallCallIndication )
-        {
-        amount++;
-        }
-
-    if ( iTypeIndication1 ) 
-        {
-        amount++;
-        }
-
-    if ( iTypeIndication2 ) 
-        {
-        amount++;
-        }
-
-    if ( iCyphOffImage ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine1 ) 
-        {
-        amount++;
-        }
-    return amount;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::ComponentControl
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleOutlookOneLined::ComponentControl( TInt aIndex ) const
-    {
-    TInt amount = -1;
-    if ( iSmallCallIndication )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iSmallCallIndication->Control();
-        }
-
-    if ( iTypeIndication1 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTypeIndication1;
-        }
-
-    if ( iTypeIndication2 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTypeIndication2;
-        }
-
-    if ( iCyphOffImage )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iCyphOffImage;
-        }
-
-    if ( iTextLine1 ) 
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTextLine1;
-        }
-
-    return NULL;
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::Draw
-// 
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::Draw( const TRect& /*aRect*/ ) const
-    {
-    
-    // Check that proper call header is set
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-    
-    if ( !iHeader->IsUsed( ) || iHeader->IsInConference( ) ) 
-        { 
-        return; 
-        }
-    
-    
-    // Set texts to fit.
-    BubbleUtils::ClipToLabel( iFullText1 , iTextLine1 , iText1ClipDirection );  
-
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::DrawTimerCostNow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::DrawTimerCostNow()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::DrawCLINow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::DrawCLINow()
-    {
-    if ( iHeader == NULL ) 
-        {
-        return;
-        }
-    
-    iFullText1.Set( iHeader->CLI() );
-    
-    CBubbleManager::TBubbleLabelString full = iHeader->CLI();
-    CBubbleManager::TPhoneClippingDirection clipDir = 
-        iHeader->CLIClipDirection();
-    
-    // Set texts to fit.
-    if ( full.Length() > 0 )
-        {
-        BubbleUtils::ClipToLabel( full , iTextLine1 , clipDir );
-        BubbleUtils::AddTextToEikLabel( iTextLine1 , full );
-        }
-    else
-        {
-        BubbleUtils::AddTextToEikLabel( iTextLine1 , KNullDesC );
-        }
-    
-    
-    // First clear the area and then draw the new text
-    DrawLabelNow( iTextLine1 );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::DrawBitmaps
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::DrawBitmaps( CBitmapContext& aGc ) const
-    {
-    // Check that proper call header is set
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-    
-    if ( !iHeader->IsUsed( ) || iHeader->IsInConference( ) ) 
-        { 
-        return; 
-        }
-
-    if ( !iCallObjectDisplay )
-        {
-        DrawCall1Bitmaps( aGc );    
-        }
-    else
-        {
-        DrawCall2Bitmaps( aGc );    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookOneLined::HandleAnimationStartL
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::HandleAnimationStartL() const
-    {
-    if( iSmallCallIndication && 
-        iSmallCallIndication->ControlType() == CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iSmallCallIndication->Control() );
-        anim->StartAnimationL(); 
-        }
-
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookOneLined::ReleaseBitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::ReleaseBitmaps()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookOneLined::RebuildBitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::RebuildBitmaps()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookOneLined::DrawCallHeaderText
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::DrawCallHeaderText()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookTwoLined::DrawCall1Bitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookOneLined::DrawCall1Bitmaps( CBitmapContext& aGc ) const
-    {
-
-    aGc.SetBrushColor( AKN_LAF_COLOR( BubbleLayout::LayoutColourWhite() ) );
-    if ( !BubbleUtils::DrawMaskedImage( aGc , iBubble ) )
-        {
-        BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookTwoLined::DrawCall2Bitmaps
-// ---------------------------------------------------------------------------
-//        
-void CBubbleOutlookOneLined::DrawCall2Bitmaps( CBitmapContext& aGc ) const
-    {
-    if ( iBubble->Bitmap() )
-        {
-        BubbleUtils::DrawMaskedImage( aGc , iBubble );    
-        }
-    else
-        {
-        // Draw bubble frame
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        if ( !AknsDrawUtils::DrawFrame( skin,
-                                        (CWindowGc&) aGc,  
-                                        iOuterRect,
-                                        iInnerRect,
-                                        iFrameId,
-                                        KAknsIIDDefault ) )
-            {
-            BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-            }        
-        }            
-    }
-
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookThreeLined.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,705 +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: Implementation of CBubbleOutlookThreeLined class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleOutlookThreeLined.h"
-#include    "BMResourceManager.h"
-#include    "BMCustomManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-
-#include    <telbubblecustomelement.h>
-#include    <telbubbleanim.h>
-
-#include    <eiklabel.h>
-#include    <eikimage.h>
-
-#include    <featmgr.h>
-#include    <AknsDrawUtils.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CBubbleOutlookThreeLined::CBubbleOutlookThreeLined( 
-    CBubbleManager& aBubbleManager )
-: CBubbleOutlook( aBubbleManager )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CBubbleOutlookThreeLined::ConstructL()
-    {
-    iHeader = NULL;
-    iTextLineNumber = 0;
-          
-    CBubbleOutlook::ConstructL( );
-    ActivateL();
-    }
-
-// Destructor
-CBubbleOutlookThreeLined::~CBubbleOutlookThreeLined()
-    {
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookThreeLined::Reset
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookThreeLined::Reset( )
-    {
-    CBubbleResourceManager& res = iBubbleManager.ResourceManager();
-    res.ReleaseEikImage( iBubble );
-    iBubbleManager.CustomManager().ReleaseCustomElement( iSmallCallIndication );
-    iBubbleManager.CustomManager().ReleaseCustomElement( iNumberType );
-    res.ReleaseEikImage( iTypeIndication1 );
-    res.ReleaseEikImage( iTypeIndication2 );
-    res.ReleaseEikImage( iCyphOffImage );
-    res.ReleaseEikImage( iTnImage );
-    res.ReleaseEikLabel( iTextLine1 );
-    res.ReleaseEikLabel( iTextLine2 );
-    res.ReleaseEikLabel( iTextLine3 );
-    res.ReleaseEikLabel( iTimerCost );
-
-    iBubbleManager.CustomManager().ReleaseCustomElement( iBigCallIndicator );
-    iBubbleManager.CustomManager().ReleaseCustomElement( iBrandImage );
-    
-    iFullText1.Set( NULL, 0 );
-    iFullText2.Set( NULL, 0 );
-    iFullText3.Set( NULL, 0 );
-    iTextLineNumber = 0;
-
-    iHeader = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookThreeLined::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookThreeLined::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState( );
-    
-    // set all icons. divided to rectangle and bubble shaped
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting: 
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            // Set big call indicator icon
-            TBool defaultCallIndicator;
-            iBigCallIndicator = 
-                iBubbleManager.CustomManager().ReserveCustomElement(
-                    aHeader, 
-                    CTelBubbleCustomElement::EBigCallIndicator,
-                    defaultCallIndicator );
-            
-            // Number type not shown with custom call indicator
-            if ( defaultCallIndicator )
-                {
-                // Set number type icon
-                iNumberType = 
-                    iBubbleManager.CustomManager().ReserveCustomElement(
-                        aHeader, 
-                        CTelBubbleCustomElement::ENumberTypeIcon,
-                        defaultCallIndicator );
-                }
-            }
-            break;
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            // Set small call indication icon
-            TInt defaultCallIndicator;
-            iSmallCallIndication = 
-                iBubbleManager.CustomManager().ReserveCustomElement(
-                    aHeader, 
-                    CTelBubbleCustomElement::ESmallCallIndicator,
-                    defaultCallIndicator );
-            
-            // Number type not shown with custom call indicator
-            if ( defaultCallIndicator )
-                {
-                // Set the additional icons
-                BubbleUtils::SetCallTypePane( 
-                    *iHeader , 
-                    iTypeIndication1, 
-                    iTypeIndication2, 
-                    iBubbleManager );
-                }
-            }
-            break;
-        case CBubbleManager::ENone:
-        default:
-            break;
-        }
-
-    // Set Cyph off image
-    BubbleUtils::SetCyphOffImage( *iHeader, iCyphOffImage, iBubbleManager );
-      
-    // Get texts and possible timer/cost string.
-    // Reserved text buffer is KBubbleLabelMaxLength. If new text is longer it
-    // panics. It is enough if text is cropped to fit (eg. '...1234567890') 
-    BubbleUtils::ChooseTextsToThreeLines( 
-        *iHeader , 
-        iFullText1 , 
-        iFullText2 , 
-        iFullText3 , 
-        iTimerCost ,
-        iTextLine1,
-        iTextLine2,
-        iTextLine3,
-        iBubbleManager,
-        iText1ClipDirection , 
-        iText2ClipDirection , 
-        iText3ClipDirection , 
-        iTextLineNumber );
-    
-    // Get thumbnail
-    if ( !iCallObjectDisplay && iHeader->TnBitmap() != NULL )
-        {
-        iTnImage = iBubbleManager.ResourceManager().ReserveEikImage();
-        if ( iTnImage && iHeader->TnBitmapMask() != NULL )
-            {
-            iTnImage->SetPicture( iHeader->TnBitmap() , 
-                iHeader->TnBitmapMask() );
-            }
-        else if ( iTnImage )
-            {
-            iTnImage->SetPicture( iHeader->TnBitmap() );
-            }
-        
-        }
-
-    // Brand image
-    iBrandImage = iBubbleManager.CustomManager().ReserveCustomElement(
-            aHeader, 
-            CTelBubbleCustomElement::EBrandImage );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookThreeLined::CountComponentControls
-//
-// All the controls are not used at all times. Athough we want to
-// keep the drawing order. 
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleOutlookThreeLined::CountComponentControls() const
-    {
-    TInt amount = 0;
-    
-    if ( iNumberType ) 
-        {
-        amount++;
-        }
-
-    if ( iSmallCallIndication ) 
-        {
-        amount++;
-        }
-
-    if ( iTypeIndication1 ) 
-        {
-        amount++;
-        }
-
-    if ( iTypeIndication2 ) 
-        {
-        amount++;
-        }
-
-    if ( iCyphOffImage ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine1 ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine2 ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine3 ) 
-        {
-        amount++;
-        }
-
-    if ( iTimerCost ) 
-        {
-        amount++;
-        }
-
-    if ( iBrandImage )
-        {
-        amount++;
-        }
-
-    if ( iBigCallIndicator )
-        {
-        amount++;
-        }
-    
-    return amount;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookThreeLined::ComponentControl
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleOutlookThreeLined::ComponentControl(TInt aIndex) const
-    {
-  
-    TInt amount = -1;
-    
-    if ( iNumberType )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iNumberType->Control();
-        }
-
-    if ( iCyphOffImage )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iCyphOffImage;
-        }
-        
-    if ( iTextLine1 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTextLine1;
-        }
-
-    if ( iTextLine2 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTextLine2;
-        }
-
-    if ( iTextLine3 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTextLine3;
-        }
-
-    if ( iTimerCost )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTimerCost;
-        }
-
-    if ( iSmallCallIndication )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iSmallCallIndication->Control();
-        }
-
-    if ( iTypeIndication1 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTypeIndication1;
-        }
-
-    if ( iTypeIndication2 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTypeIndication2;
-        }
-        
-    if ( iBrandImage )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iBrandImage->Control();
-        }
-    
-    if ( iBigCallIndicator )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iBigCallIndicator->Control();
-        }
-
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookThreeLined::Draw
-// 
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookThreeLined::Draw( const TRect& /*aRect*/ ) const
-    {
-    
-    // Check that proper call header is set
-    
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-    
-    if ( !iHeader->IsUsed( ) ) 
-        { 
-        return; 
-        }
-    
-    if ( iHeader->IsInConference( ) ) 
-        { 
-        return; 
-        }
-    
-    TUint32 callFlag = iHeader->CallFlags( );
-	CBubbleManager::TPhoneCallState callState = iHeader->CallState( );		
-    
-    // Set texts to fit.
-    switch (iTextLineNumber)
-        {
-        case 0:
-            BubbleUtils::ClipToLabel( iFullText1 , iTextLine1 , 
-                iText1ClipDirection );
-            BubbleUtils::ClipToLabel( iFullText2 , iTextLine2 , 
-                iText2ClipDirection );
-            BubbleUtils::AddTextToEikLabel( iTextLine3 , KNullDesC );
-            break;
-        case 1:
-            BubbleUtils::SetTextInLabel( iFullText1 , iTextLine1 , 
-                iText1ClipDirection );
-            BubbleUtils::ClipToLabel( iFullText2 , iTextLine2 , 
-                iText2ClipDirection );
-            BubbleUtils::ClipToLabel( iFullText3 , iTextLine3 , 
-                iText3ClipDirection );
-            break;
-        case 3:
-            BubbleUtils::ClipToLabel( iFullText1 , iTextLine1 , 
-                iText1ClipDirection );
-            BubbleUtils::ClipToLabel( iFullText2 , iTextLine2 , 
-                iText2ClipDirection );
-            BubbleUtils::SetTextInLabel( iFullText3 , iTextLine3 , 
-                iText3ClipDirection );
-            break;
-        default:
-            BubbleUtils::AddTextToEikLabel( iTextLine1 , KNullDesC );
-            BubbleUtils::AddTextToEikLabel( iTextLine2 , KNullDesC );
-            BubbleUtils::AddTextToEikLabel( iTextLine3 , KNullDesC );
-            break;
-        }
-
-
-    }
-
-// ---------------------------------------------------------------------------
-//CBubbleOutlookThreeLined::DrawTimerCostNow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookThreeLined::DrawTimerCostNow()
-    {
-    if ( iHeader == NULL || iTimerCost == NULL ) 
-        {
-        return;
-        }
-
-    if ( iHeader->CallState() != CBubbleManager::EActive  
-        || iTimerCost->Text()->Compare( iHeader->TimerCost() ) == 0 ) 
-        {
-        return;
-        }
-    
-    BubbleUtils::ClipToLabel( iHeader->TimerCost() , iTimerCost , 
-        CBubbleManager::ERight );
-    DrawLabelNow( iTimerCost);
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookThreeLined::DrawCLINow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookThreeLined::DrawCLINow()
-    {
-    if ( iHeader == NULL ) 
-        {
-        return;
-        }
-    
-    CEikLabel* cli = NULL;
-    
-    if ( iTextLineNumber == 1 )
-        {
-        iFullText3.Set( iHeader->CLI() );
-        cli = iTextLine3;
-        }
-    else
-        {
-        iFullText1.Set( iHeader->CLI() );
-        cli = iTextLine1;
-        }
-    
-    CBubbleManager::TBubbleLabelString full = iHeader->CLI();
-    CBubbleManager::TPhoneClippingDirection clipDir 
-        = iHeader->CLIClipDirection();
-    
-    // Set texts to fit.
-    if ( full.Length() > 0 )
-        {
-        BubbleUtils::ClipToLabel( full , cli , clipDir );
-        BubbleUtils::AddTextToEikLabel( cli , full );
-        }
-    else
-        {
-        BubbleUtils::AddTextToEikLabel( cli , KNullDesC );
-        }
-    
-    // First clear the area and then draw the new text
-    DrawLabelNow( cli );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookThreeLined::DrawBitmaps
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookThreeLined::DrawBitmaps( CBitmapContext& aGc ) const
-    {
-    // Check that proper call header is set
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-    
-    if ( !iHeader->IsUsed() ) 
-        { 
-        return; 
-        }
-    
-    if ( iHeader->IsInConference() ) 
-        { 
-        return; 
-        }
-
-    if ( !iCallObjectDisplay )
-        {
-        DrawCall1Bitmaps( aGc );    
-        }
-    else
-        {
-        DrawCall2Bitmaps( aGc );    
-        }        
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookThreeLined::HandleAnimationStartL
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookThreeLined::HandleAnimationStartL() const
-    {
-    if ( iBigCallIndicator && iBigCallIndicator->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iBigCallIndicator->Control() );
-        anim->StartAnimationL();    
-        }
-    
-    if ( iBrandImage && iBrandImage->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iBrandImage->Control() );
-        anim->StartAnimationL();    
-        }
-    
-    if ( iSmallCallIndication && iSmallCallIndication->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iSmallCallIndication->Control() );
-        anim->StartAnimationL();    
-        }
-    
-    if( iNumberType && iNumberType->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iNumberType->Control() );
-        anim->StartAnimationL();    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookThreeLined::DrawCallHeaderText
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookThreeLined::DrawCallHeaderText()
-    {
-    if ( iHeader == NULL || iTextLine1 == NULL ) 
-        {
-        return;
-        }
-
-    if ( iHeader->CallState() != CBubbleManager::EOutgoing )
-        {
-        return;
-        }
-    
-    CEikLabel* label = NULL;
-    iFullText1.Set( iHeader->Text() );
-    label = iTextLine1;
-
-    CBubbleManager::TPhoneClippingDirection textDir = 
-        iHeader->TextClipDirection();
-
-    BubbleUtils::ClipToLabel( iHeader->Text(), label, textDir );
-    DrawLabelNow( label );    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookThreeLined::DrawCall1Bitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookThreeLined::DrawCall1Bitmaps( CBitmapContext& aGc ) const
-    {
-    // Now starts actual drawing.
-    aGc.SetBrushColor( AKN_LAF_COLOR( BubbleLayout::LayoutColourWhite() ) );
-
-    if ( !BubbleUtils::DrawMaskedImage( aGc , iBubble ) )
-        {
-        BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-        }
-    
-    // If it's a conference bubble, don't draw a thumbnail
-    if ( iHeader->IsConference( ) ) 
-        {
-        return;
-        }
-    
-    // if it's a arriving call on line 2 -> don't show TN
-    if ( !iTnImage || !( iTnImage->Bitmap( ) !=NULL 
-            && ( !( ( iHeader->CallState() == CBubbleManager::EIncoming
-                      || iHeader->CallState() == CBubbleManager::EWaiting )
-                    && iHeader->CallFlags()&CBubbleManager::ELine2 ) ) ) )
-        {
-        return;
-        }
-    
-    // checks if image needs clipping and draws possible thumbnail image.
-    if ( iTnImage->Bitmap() != NULL )
-        {
-        // Draw shadow
-        aGc.SetPenColor( iTnImageShadow.Color() );
-        aGc.DrawRect ( iTnImageShadow.Rect() );
-        aGc.BitBlt( iTnImage->Rect().iTl , iHeader->TnIconBitmap() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookThreeLined::DrawCall2Bitmaps
-// ---------------------------------------------------------------------------
-//        
-void CBubbleOutlookThreeLined::DrawCall2Bitmaps( CBitmapContext& aGc ) const
-    {
-    if ( iBubble->Bitmap() )
-        {
-        BubbleUtils::DrawMaskedImage( aGc , iBubble );    
-        }
-    else
-        {
-        // Draw bubble frame
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        if ( !AknsDrawUtils::DrawFrame( skin,
-                                        (CWindowGc&) aGc,  
-                                        iOuterRect,
-                                        iInnerRect,
-                                        iFrameId,
-                                        KAknsIIDDefault ) )
-            {
-            BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-            }        
-        }            
-    }
-
-
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookTopLeft.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,377 +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:  Implementation of CBubbleOutlookTopLeft class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookTopLeft.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopLeft::CBubbleOutlookTopLeft
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookTopLeft::CBubbleOutlookTopLeft( 
-                                   CBubbleManager& aBubbleManager ) 
-: CBubbleOutlookOneLined( aBubbleManager )                               
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopLeft::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTopLeft::ConstructL()
-    {
-    CBubbleOutlookOneLined::ConstructL( );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopLeft::~CBubbleOutlookTopLeft
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookTopLeft::~CBubbleOutlookTopLeft()
-    {
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopLeft::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTopLeft::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    if ( !iCallObjectDisplay )
-        {
-        GetCall1BubbleBitmaps();    
-        }
-    
-    CBubbleOutlookOneLined::ReadBubbleHeader( aHeader );
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopLeft::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTopLeft::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-                
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );    
-            }
-        }     
-    }
-
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopLeft::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookTopLeft::DoCall1Layout()
-    {
-    // Deprecated
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopLeft::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTopLeft::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Waiting call layout
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_wait_call_background() );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::RectFrameInnerOuterRects( frameRect, 
-                                                     outerRect, 
-                                                     innerRect );
-            
-            iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall2RectDisconn : 
-                                      KAknsIIDQsnFrCall2Rect;
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-            
-            // Call icon
-            BubbleUtils::LayoutCustomElement(
-                iSmallCallIndication, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_wait_call_status_icon() );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_wait_call_cyphering_icon() );
-                
-            
-            // Call type pane    
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_wait_call_type_icon(),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2
-            
-            // Text
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_wait_call_cli_text() );
-                
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );                
-            
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            if ( iHeader->CallObjectImage() &&
-                 !iHeader->CallObjectText().Length() )
-                {
-                // Add transparency
-                BubbleUtils::AddTransparencyToBubbleImageL( 
-                    KAknsIIDQsnFrCall2RectCoMask, // gradient tp mask
-                    outerRect,
-                    innerRect,
-                    iBubble );                    
-                }                
-            break;
-            }
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // First call layout. Two calls and number entry.
-            ///////////////////////////////////////////////////////////////////
-            
-            // Create bubble image
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_background(15) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirstDisconn;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleFirst;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleFirstCoMask;
-                }                
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_status_icon(14) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_window_ciphering_icon(13) );
-            
-            // Call type pane
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_first_call_type_icon(13),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2
-                
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_first_call_cli_text(17) );
-                
-            // Create call bubble
-            iBubble->SetRect( bubbleRect.Rect() );                                
-            
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            break;
-            }
-        case CBubbleManager::ENone:
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopLeft::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookTopLeft::GetCall1BubbleBitmaps()
-    {
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    
-    TInt bubblePicture = KErrNotFound;
-    TInt bubblePictureMask = KErrNotFound;
-    
-    // set call indications and bubble
-        // set call indications and bubble
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-            bubblePicture = EQgn_graf_call_rec_small_left;
-            bubblePictureMask = EQgn_graf_call_rec_small_left_mask;
-            break;
-        case CBubbleManager::EActive:
-            bubblePicture = EQgn_graf_call_first_three_active;
-            bubblePictureMask = EQgn_graf_call_first_three_active_mask;
-            break;
-        case CBubbleManager::EOnHold:
-            bubblePicture = EQgn_graf_call_first_three_held;
-            bubblePictureMask = EQgn_graf_call_first_three_held_mask;
-            break;
-        case CBubbleManager::EDisconnected:
-            bubblePicture = EQgn_graf_call_first_three_disconn;
-            bubblePictureMask = EQgn_graf_call_first_three_disconn_mask; 
-            break;
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlertToDisconnected:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::ENone:
-        default:
-            bubblePicture = KErrNotFound;
-            bubblePictureMask = KErrNotFound;
-            break;
-        }
-
-    if ( bubblePicture != KErrNotFound )
-        {
-        if ( bubblePictureMask == KErrNotFound )
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, (TBMIcons) bubblePicture );
-            }
-        else
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, 
-                (TBMIcons) bubblePicture , 
-                (TBMIcons) bubblePictureMask);
-            }
-        }
-        
-    }    
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookTopRight.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,375 +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:  Outlook Top Right
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookTopRight.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopRight::CBubbleOutlookTopRight
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookTopRight::CBubbleOutlookTopRight( CBubbleManager& aBubbleManager ) 
-: CBubbleOutlookOneLined( aBubbleManager )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopRight::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTopRight::ConstructL()
-    {
-    CBubbleOutlookOneLined::ConstructL( );
-    }
-
-// Destructor
-CBubbleOutlookTopRight::~CBubbleOutlookTopRight()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopRight::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTopRight::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    if ( !iCallObjectDisplay )
-        {
-        GetCall1BubbleBitmaps();    
-        }
-    
-    CBubbleOutlookOneLined::ReadBubbleHeader( aHeader );
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopRight::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTopRight::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    
-    if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();    
-        }
-    else
-        {
-        TRAPD( err, DoCall2LayoutL() );
-        if ( err )    
-            {
-            iBubble->SetPicture( NULL, NULL );
-                
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            AknsDrawUtils::PrepareFrame( skin,
-                                         iOuterRect,
-                                         iInnerRect,
-                                         iFrameId,
-                                         KAknsIIDDefault );    
-            }
-        }     
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopRight::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookTopRight::DoCall1Layout()
-    {
-    // Deprecated
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopRight::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTopRight::DoCall2LayoutL()
-    {
-    iBubble->SetPictureOwnedExternally( EFalse );
-    iBubble->SetPicture( NULL, NULL );
-    
-    const TRect rect = Rect();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Outgoing call layout. Two calls and number entry.
-            ///////////////////////////////////////////////////////////////////
-            
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_background(1) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::RectFrameInnerOuterRects( frameRect, 
-                                                     outerRect, 
-                                                     innerRect);
-            
-            iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall2RectDisconn : 
-                                      KAknsIIDQsnFrCall2Rect;
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-            
-            // Call icon
-            BubbleUtils::LayoutCustomElement(
-                iSmallCallIndication, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_waiting_icon(2) );
-            
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_out_ciphering_icon(2) );
-            
-            // Call type pane
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_type_icon(0),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2
-                
-            // Text
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_out_call_text_1(2) );
-            
-            // Create call object bitmaps
-            iBubble->SetRect( bubbleRect.Rect() );                
-
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            if ( iHeader->CallObjectImage() &&
-                 !iHeader->CallObjectText().Length() )
-                {
-                // Add transparency
-                BubbleUtils::AddTransparencyToBubbleImageL( 
-                    KAknsIIDQsnFrCall2RectCoMask, // gradient tp mask
-                    outerRect,
-                    innerRect,
-                    iBubble );                    
-                }
-            break;
-            }
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            ///////////////////////////////////////////////////////////////////
-            // Second call layout. Two calls and number entry.
-            ///////////////////////////////////////////////////////////////////
-            
-            // Create bubble image
-            TAknLayoutRect bubbleRect;
-            bubbleRect.LayoutRect( 
-                rect, 
-                BubbleLayout2::popup_call2_audio_second_call_background(0) );
-            
-            TRect frameRect( TPoint(0,0), bubbleRect.Rect().Size() );
-            TRect outerRect;
-            TRect innerRect;
-            BubbleLayout2::BubbleFrameInnerOuterRects( frameRect, 
-                                                       outerRect, 
-                                                       innerRect);
-            TAknsItemID coMaskFrameId;
-            if ( callState == CBubbleManager::EOnHold )
-                {
-                iFrameId = KAknsIIDQsnFrCall2Bubble;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleCoMask;
-                }
-            else if ( callState == CBubbleManager::EDisconnected )
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleSecondDisconn;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleSecondCoMask;
-                }
-            else
-                {
-                iFrameId = KAknsIIDQsnFrCall2BubbleSecond;
-                coMaskFrameId = KAknsIIDQsnFrCall2BubbleSecondCoMask;
-                }                
-            
-            iOuterRect = outerRect;
-            iOuterRect.Move( Rect().iTl );
-            iInnerRect = innerRect;
-            iInnerRect.Move( Rect().iTl );
-
-            // Call icon
-            BubbleUtils::LayoutCustomElement( 
-                iSmallCallIndication, 
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_status_icon(11) );
-                
-            // Ciphering off
-            BubbleUtils::LayoutControl( 
-                iCyphOffImage, 
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_cyphering_icon(11) );
-            
-            
-            // Call type pane
-            BubbleUtils::LayoutCallTypeIndicators(
-                rect,
-                BubbleLayout2::popup_call2_audio_second_call_type_icon(11),
-                iTypeIndication1,   // Data/Fax
-                iTypeIndication2 ); // ALS line 2
-                
-            // Text line 1
-            BubbleUtils::LayoutLabel( 
-                iTextLine1, 
-                rect, 
-                BubbleLayout2::popup_call2_audio_second_call_cli_text(13) );
-                
-            // Create bubble
-            iBubble->SetRect( bubbleRect.Rect() );    
-            
-            BubbleUtils::PrepareBubbleImageL( 
-                iFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-            
-            // Add transparency
-            BubbleUtils::AddTransparencyToBubbleImageL( 
-                coMaskFrameId,
-                outerRect,
-                innerRect,
-                iBubble );
-                
-            break;
-            }
-        case CBubbleManager::ENone:
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTopRight::GetCall1BubbleBitmaps
-// ---------------------------------------------------------------------------
-//    
-void CBubbleOutlookTopRight::GetCall1BubbleBitmaps()
-    {
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    
-    TInt bubblePicture = KErrNotFound;
-    TInt bubblePictureMask = KErrNotFound;
-    
-    // set call indications and bubble
-    switch ( callState )
-        {
-        case CBubbleManager::EAlertToDisconnected:
-            bubblePicture = EQgn_graf_call_rec_small_right_disconn;
-            bubblePictureMask = EQgn_graf_call_rec_small_right_disconn_mask;
-            break;
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EAlerting:
-            bubblePicture = EQgn_graf_call_rec_small_right;
-            bubblePictureMask = EQgn_graf_call_rec_small_right_mask;
-            break;
-        case CBubbleManager::EActive:
-            bubblePicture = EQgn_graf_call_second_three_active;
-            bubblePictureMask = EQgn_graf_call_second_three_active_mask;
-            break;
-        case CBubbleManager::EOnHold:
-            bubblePicture = EQgn_graf_call_second_three_held;
-            bubblePictureMask = EQgn_graf_call_second_three_held_mask;
-            break;
-        case CBubbleManager::EDisconnected:
-            bubblePicture = EQgn_graf_call_second_three_disconn;
-            bubblePictureMask = EQgn_graf_call_second_three_disconn_mask;
-            break;
-        default:
-            bubblePicture = KErrNotFound;
-            bubblePictureMask = KErrNotFound;
-            break;
-        }
-
-    if ( bubblePicture != KErrNotFound )
-        {
-        if ( bubblePictureMask == KErrNotFound )
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, (TBMIcons) bubblePicture );
-            }
-        else
-            {
-            iBubbleManager.ImageManager().SetBitmapToImage( 
-                iBubble, 
-                (TBMIcons) bubblePicture , 
-                (TBMIcons) bubblePictureMask);
-            }
-        }
-        
-    }    
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookTwoLined.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,673 +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:  Outlook Two Lined
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleOutlookTwoLined.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout.h"
-#include    "BMCustomManager.h"
-
-#include    <telbubblecustomelement.h>
-#include    <telbubbleanim.h>
-
-#include    <eiklabel.h>
-#include    <eikimage.h>
-#include    <featmgr.h>
-#include    <AknsDrawUtils.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CBubbleOutlookTwoLined::CBubbleOutlookTwoLined
-    ( CBubbleManager& aBubbleManager )
-    : CBubbleOutlook( aBubbleManager )
-    {
-    }
-
-// Symbian OS constructor can leave.
-void CBubbleOutlookTwoLined::ConstructL()
-    {
-    iHeader = NULL;
-    iTextLineNumber = 0;
-          
-    CBubbleOutlook::ConstructL( );
-    ActivateL();
-    }
-    
-// Destructor
-CBubbleOutlookTwoLined::~CBubbleOutlookTwoLined()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTwoLined::Reset
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTwoLined::Reset( )
-    {
-    CBubbleResourceManager& res = iBubbleManager.ResourceManager();
-    res.ReleaseEikImage( iBubble );
-    iBubbleManager.CustomManager().ReleaseCustomElement( iSmallCallIndication );
-    iBubbleManager.CustomManager().ReleaseCustomElement( iNumberType );
-    res.ReleaseEikImage( iTypeIndication1 );
-    res.ReleaseEikImage( iTypeIndication2 );
-    res.ReleaseEikImage( iCyphOffImage );
-    res.ReleaseEikImage( iTnImage );
-    res.ReleaseEikLabel( iTextLine1 );
-    res.ReleaseEikLabel( iTextLine2 );
-    res.ReleaseEikLabel( iTimerCost );
-    
-    iBubbleManager.CustomManager().ReleaseCustomElement( iBigCallIndicator );
-    iBubbleManager.CustomManager().ReleaseCustomElement( iBrandImage );
-
-    iFullText1.Set( NULL, 0 );
-    iFullText2.Set( NULL, 0 );
-    iTextLineNumber = 0;
-
-    iHeader = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTwoLined::ReadBubbleHeader
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTwoLined::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState( );
-
-    // set all icons. divided to rectangle and bubble shaped
-    switch ( callState )
-        {
-        case CBubbleManager::EAlertToDisconnected:
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlerting:
-            {
-            // Set big call indicator icon
-            TBool defaultCallIndicator;
-            iBigCallIndicator = 
-                iBubbleManager.CustomManager().ReserveCustomElement(
-                    aHeader, 
-                    CTelBubbleCustomElement::EBigCallIndicator,
-                    defaultCallIndicator );
-            
-            // Number type not shown with custom call indicator
-            if ( defaultCallIndicator )
-                {
-                // Set number type icon
-                iNumberType = 
-                    iBubbleManager.CustomManager().ReserveCustomElement(
-                        aHeader, 
-                        CTelBubbleCustomElement::ENumberTypeIcon,
-                        defaultCallIndicator );
-                }
-            }
-            break;
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            {
-            // Set small call indication icon
-            TInt defaultCallIndicator;
-            iSmallCallIndication = 
-                iBubbleManager.CustomManager().ReserveCustomElement(
-                    aHeader, 
-                    CTelBubbleCustomElement::ESmallCallIndicator,
-                    defaultCallIndicator );
-            
-            // Number type not shown with custom call indicator
-            if ( defaultCallIndicator )
-                {
-                // Set the additional icons
-                BubbleUtils::SetCallTypePane( 
-                    *iHeader , 
-                    iTypeIndication1, 
-                    iTypeIndication2, 
-                    iBubbleManager );
-                }
-            }
-
-            break;
-        case CBubbleManager::ENone:
-        default:
-            break;
-        }
-
-    // Set Cyph off image
-    BubbleUtils::SetCyphOffImage( *iHeader, iCyphOffImage, iBubbleManager );
-
-    // Get texts and possible timer/cost string.
-    // Reserved text buffer is KBubbleLabelMaxLength. 
-    // If new text is longer it panics.
-    // It is enough if text is cropped to fit (eg. '...1234567890') 
-    BubbleUtils::ChooseTextsToTwoLines( 
-        *iHeader , 
-        iFullText1 , 
-        iFullText2 , 
-        iTimerCost , 
-        iTextLine1,
-        iTextLine2,
-        iBubbleManager,
-        iText1ClipDirection , 
-        iText2ClipDirection , 
-        iTextLineNumber );
-
-    // Get thumbnail
-    if ( !iCallObjectDisplay && iHeader->TnBitmap() != NULL )
-        {
-        iTnImage = iBubbleManager.ResourceManager().ReserveEikImage();
-        if ( iTnImage && iHeader->TnBitmapMask() != NULL )
-            {
-            iTnImage->SetPicture( 
-                iHeader->TnBitmap() , iHeader->TnBitmapMask() );
-            }
-        else if ( iTnImage )
-            {
-            iTnImage->SetPicture( iHeader->TnBitmap() );
-            }
-
-        }
-    
-    // Brand image
-    iBrandImage = iBubbleManager.CustomManager().ReserveCustomElement(
-        aHeader, 
-        CTelBubbleCustomElement::EBrandImage );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTwoLined::CountComponentControls() const
-//
-// All the controls are not used at all times. Athough we want to
-// keep the drawing order. 
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleOutlookTwoLined::CountComponentControls() const
-    {
-    TInt amount = 0;
-
-    if ( iNumberType ) 
-        {
-        amount++;
-        }
-
-    if ( iSmallCallIndication ) 
-        {
-        amount++;
-        }
-
-    if ( iTypeIndication1 ) 
-        {
-        amount++;
-        }
-
-    if ( iTypeIndication2 ) 
-        {
-        amount++;
-        }
-
-    if ( iCyphOffImage ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine1 ) 
-        {
-        amount++;
-        }
-
-    if ( iTextLine2 ) 
-        {
-        amount++;
-        }
-
-    if ( iTimerCost ) 
-        {
-        amount++;
-        }
-
-    if ( iBrandImage )
-        {
-        amount++;
-        }
-    
-    if ( iBigCallIndicator )
-        {
-        amount++;
-        }
-
-    return amount;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTwoLined::ComponentControl
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleOutlookTwoLined::ComponentControl(TInt aIndex) const
-    {
-  
-    TInt amount = -1;
-    
-    if ( iNumberType )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iNumberType->Control();
-        }
-
-    if ( iSmallCallIndication )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iSmallCallIndication->Control();
-        }
-
-    if ( iTypeIndication1 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTypeIndication1;
-        }
-
-    if ( iTypeIndication2 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTypeIndication2;
-        }
-
-    if ( iCyphOffImage )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iCyphOffImage;
-        }
-
-    if ( iTextLine1 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTextLine1;
-        }
-
-    if ( iTextLine2 )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTextLine2;
-        }
-
-    if ( iTimerCost )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iTimerCost;
-        }
-
-    if ( iBrandImage )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iBrandImage->Control();
-        }
-
-    if ( iBigCallIndicator )
-        {
-        amount++;
-        }
-
-    if ( aIndex == amount )
-        {
-        return iBigCallIndicator->Control();
-        }
-    
-    return NULL;
-
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTwoLined::Draw
-// 
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTwoLined::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Check that proper call header is set
-    
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-    
-    if ( !iHeader->IsUsed( ) ) 
-        { 
-        return; 
-        }
-    
-    if ( iHeader->IsInConference( ) ) 
-        { 
-        return; 
-        }
-    
-    // Set texts to fit.
-    switch (iTextLineNumber)
-        {
-        case 0:
-            BubbleUtils::ClipToLabel( 
-                iFullText1 , iTextLine1 , iText1ClipDirection );
-            BubbleUtils::AddTextToEikLabel( iTextLine2 , KNullDesC );
-            break;
-        case 1:
-            BubbleUtils::SetTextInLabel( 
-                iFullText1 , iTextLine1 , iText1ClipDirection );
-            BubbleUtils::ClipToLabel( 
-                iFullText2 , iTextLine2 , iText2ClipDirection );
-            break;
-        case 2:
-            BubbleUtils::ClipToLabel( 
-                iFullText1 , iTextLine1 , iText1ClipDirection );
-            BubbleUtils::SetTextInLabel( 
-                iFullText2 , iTextLine2 , iText2ClipDirection );
-            break;
-        default:
-            BubbleUtils::AddTextToEikLabel( iTextLine1 , KNullDesC );
-            BubbleUtils::AddTextToEikLabel( iTextLine2 , KNullDesC );
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//CBubbleOutlookTwoLined::DrawTimerCostNow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTwoLined::DrawTimerCostNow()
-    {
-    if ( iHeader == NULL || iTimerCost == NULL ) 
-        {
-        return;
-        }
-
-    if ( iHeader->CallState() != CBubbleManager::EActive  
-        || iTimerCost->Text()->Compare( iHeader->TimerCost() ) == 0 ) 
-        {
-        return;
-        }
-
-    BubbleUtils::ClipToLabel( 
-        iHeader->TimerCost() , iTimerCost , CBubbleManager::ERight );
-    DrawLabelNow( iTimerCost);
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTwoLined::DrawCLINow
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTwoLined::DrawCLINow()
-    {
-    if ( iHeader == NULL ) 
-        {
-        return;
-        }
-
-    CEikLabel* cli = NULL;
-
-    if ( iTextLineNumber == 1 )
-        {
-        iFullText2.Set( iHeader->CLI() );
-        cli = iTextLine2;
-        }
-    else
-        {
-        iFullText1.Set( iHeader->CLI() );
-        cli = iTextLine1;
-        }
-
-    CBubbleManager::TBubbleLabelString full = iHeader->CLI();
-    CBubbleManager::TPhoneClippingDirection clipDir = 
-        iHeader->CLIClipDirection();
-
-    // Set texts to fit.
-    if ( full.Length() > 0 )
-        {
-        BubbleUtils::ClipToLabel( full , cli , clipDir );
-        BubbleUtils::AddTextToEikLabel( cli , full );
-        }
-    else
-        {
-        BubbleUtils::AddTextToEikLabel( cli , KNullDesC );
-        }
-
-    // First clear the area and then draw the new text
-    DrawLabelNow( cli );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTwoLined::DrawBitmaps
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTwoLined::DrawBitmaps( CBitmapContext& aGc ) const
-    {
-    // Check that proper call header is set
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-
-    if ( !iHeader->IsUsed() ) 
-        { 
-        return; 
-        }
-
-    if ( iHeader->IsInConference() ) 
-        { 
-        return; 
-        }
-
-    if ( !iCallObjectDisplay )
-        {
-        DrawCall1Bitmaps( aGc );    
-        }
-    else
-        {
-        DrawCall2Bitmaps( aGc );    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookTwoLined::HandleAnimationStartL
-//
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTwoLined::HandleAnimationStartL() const
-    {
-    if ( iBigCallIndicator && iBigCallIndicator->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iBigCallIndicator->Control() );
-        anim->StartAnimationL();    
-        }
-    
-    if ( iBrandImage && iBrandImage->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iBrandImage->Control() );
-        anim->StartAnimationL();    
-        }
-    
-    if ( iSmallCallIndication && iSmallCallIndication->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iSmallCallIndication->Control() );
-        anim->StartAnimationL();    
-        }
-    
-    if( iNumberType && iNumberType->ControlType() == 
-         CTelBubbleCustomElement::EBubbleAnimation )
-        {
-        CTelBubbleAnim* anim = 
-            static_cast<CTelBubbleAnim*> ( iNumberType->Control() );
-        anim->StartAnimationL();    
-        }
-
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookTwoLined::DrawCallHeaderText
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTwoLined::DrawCallHeaderText()
-    {
-    if ( iHeader == NULL || iTextLine1 == NULL ) 
-        {
-        return;
-        }
-
-    if ( iHeader->CallState() != CBubbleManager::EOutgoing )
-        {
-        return;
-        }
-    
-    CEikLabel* label = NULL;
-    iFullText1.Set( iHeader->Text() );
-    label = iTextLine1;
-
-    CBubbleManager::TPhoneClippingDirection textDir = 
-        iHeader->TextClipDirection();
-
-    BubbleUtils::ClipToLabel( iHeader->Text(), label, textDir );
-    DrawLabelNow( label );
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookTwoLined::DrawCall1Bitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookTwoLined::DrawCall1Bitmaps( CBitmapContext& aGc ) const
-    {
-    // Now starts actual drawing. 
-    aGc.SetBrushColor( AKN_LAF_COLOR( BubbleLayout::LayoutColourWhite() ) );
-
-    if ( !BubbleUtils::DrawMaskedImage( aGc , iBubble ) )
-        {
-        BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-        }
-    
-
-    // If it's a conference bubble, don't draw a thumbnail
-    if ( iHeader->IsConference( ) ) 
-        {
-        return;
-        }
-
-    // if it's a arriving call on line 2 -> don't show TN
-    if ( iCallObjectDisplay || !iTnImage || !( iTnImage->Bitmap( ) != NULL 
-         && ( !( ( iHeader->CallState() == CBubbleManager::EIncoming
-                || iHeader->CallState() == CBubbleManager::EWaiting )
-         && iHeader->CallFlags()&CBubbleManager::ELine2 ) ) ) )
-        {
-        return;
-        }
-
-    // checks if image needs clipping and draws possible thumbnail image.
-    if ( iTnImage->Bitmap() != NULL )
-        {
-        // Draw shadow
-        aGc.SetPenColor( iTnImageShadow.Color() );
-        aGc.DrawRect ( iTnImageShadow.Rect() );
-        aGc.BitBlt( iTnImage->Rect().iTl , iHeader->TnIconBitmap() );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-//  CBubbleOutlookTwoLined::DrawCall2Bitmaps
-// ---------------------------------------------------------------------------
-//        
-void CBubbleOutlookTwoLined::DrawCall2Bitmaps( CBitmapContext& aGc ) const
-    {
-    if ( iBubble->Bitmap() )
-        {
-        BubbleUtils::DrawMaskedImage( aGc , iBubble );    
-        }
-    else
-        {
-        // Draw bubble frame
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        if ( !AknsDrawUtils::DrawFrame( skin,
-                                        (CWindowGc&) aGc,  
-                                        iOuterRect,
-                                        iInnerRect,
-                                        iFrameId,
-                                        KAknsIIDDefault ) )
-            {
-            BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-            }        
-        }            
-    }
-
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookVideo.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +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:  Bubble outlook video ringtone.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookVideo.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout3.h"
-#include    "BMVideoController.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-#include    <AknLayout2ScalableDef.h>
-#include    <layoutmetadata.cdl.h>
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookVideo
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookVideo::CBubbleOutlookVideo( CBubbleManager& aBubbleManager )
-: CBubbleOutlookTwoLined( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideo::ConstructL()
-    { 
-    CBubbleOutlookTwoLined::ConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// ~CBubbleOutlookVideo
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookVideo::~CBubbleOutlookVideo()
-    {
-    Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// ReadBubbleHeader
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideo::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    CBubbleOutlookTwoLined::ReadBubbleHeader( aHeader );
-    }
-
-// ---------------------------------------------------------------------------
-// SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideo::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-        
-    const TRect rect( Rect() );
-    
-    // Layout labels
-    BubbleUtils::LayoutLabel( 
-        iTextLine1, 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_text_line_1(1));    
-            
-    BubbleUtils::LayoutLabel( 
-        iTextLine2,
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_text_line_2(1));
-
-    // Call indicator
-    BubbleUtils::LayoutCustomElement(
-        iBigCallIndicator, 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_call_indication(1) );
-
-    // Layout number type icon
-    BubbleUtils::LayoutCustomElement( 
-        iNumberType, 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_numbertype_indication(1));   
-
-    // Layout cyphering indicator
-    BubbleUtils::LayoutControl(
-        iCyphOffImage, 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_cipheringoff_indication(1));
-        
-    // Layout and prepare frame
-    TAknLayoutRect bubbleRect;
-    bubbleRect.LayoutRect( 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_pane(1));
-    
-    if ( Layout_Meta_Data::IsMirrored() )
-        {
-        TAknLayoutRect bubbleTopRight;        
-        bubbleTopRight.LayoutRect( 
-            bubbleRect.Rect(), 
-            BubbleLayout3::popup_call3_audio_in_window_fr_corner_topright());
-            
-        TAknLayoutRect bubbleBottomLeft;        
-        bubbleBottomLeft.LayoutRect( 
-            bubbleRect.Rect(), 
-            BubbleLayout3::popup_call3_audio_in_window_fr_corner_bottomleft());        
-        
-        iOuterRect = TRect( bubbleTopRight.Rect().iTl, 
-                                 bubbleBottomLeft.Rect().iBr );
-        iInnerRect = TRect( bubbleTopRight.Rect().iBr, 
-                                 bubbleBottomLeft.Rect().iTl );        
-        }
-    else
-        {
-        TAknLayoutRect bubbleTopLeft;        
-        bubbleTopLeft.LayoutRect( 
-            bubbleRect.Rect(), 
-            BubbleLayout3::popup_call3_audio_in_window_fr_corner_topleft());
-            
-        TAknLayoutRect bubbleBottomRight;        
-        bubbleBottomRight.LayoutRect( 
-            bubbleRect.Rect(), 
-            BubbleLayout3::popup_call3_audio_in_window_fr_corner_bottomright());        
-        
-        iOuterRect = TRect( bubbleTopLeft.Rect().iTl, 
-                                 bubbleBottomRight.Rect().iBr );
-        iInnerRect = TRect( bubbleTopLeft.Rect().iBr, 
-                                 bubbleBottomRight.Rect().iTl );        
-        }        
-                    
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall3RectDisconn : 
-                                      KAknsIIDQsnFrCall3Rect;
-    AknsDrawUtils::PrepareFrame( skin,
-                                 iOuterRect,
-                                 iInnerRect,
-                                 iFrameId,
-                                 KAknsIIDDefault );
-                                 
-    // Pass video layouts to video controller.
-    LayoutVideoPanes( rect );
-    iBubbleManager.VideoController().SetVideoPaneBackgroundFrame(
-        iFrameId, iOuterRect, iInnerRect );                                   
-                                 
-    // Layout rectangle for separator line
-    TAknLayoutRect lineRect;
-    lineRect.LayoutRect( rect, 
-        BubbleLayout3::popup_call3_audio_in_window_separator_line( 0 )); 
-    iLineRect = lineRect.Rect();        
-    }
-
-// ---------------------------------------------------------------------------
-// PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideo::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// DrawBitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideo::DrawBitmaps( CBitmapContext& aGc ) const
-    {
-    // Check that proper call header is set
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-
-    if ( !iHeader->IsUsed() ) 
-        { 
-        return; 
-        }
-
-    if ( iHeader->IsInConference() ) 
-        { 
-        return; 
-        }
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    if ( iBubble->Bitmap() )
-        {
-        BubbleUtils::DrawMaskedImage( aGc , iBubble );    
-        }
-    else
-        {
-        // Draw bubble frame
-        if ( !AknsDrawUtils::DrawFrame( skin,
-                                        (CWindowGc&) aGc,  
-                                        iOuterRect,
-                                        iInnerRect,
-                                        iFrameId,
-                                        KAknsIIDDefault ) )
-            {
-            BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-            }        
-        }
-        
-    CFbsBitmap* lineBmp = NULL;
-    CFbsBitmap* lineBmpMask = NULL;
-    AknsUtils::GetCachedMaskedBitmap( skin,
-                                      KAknsIIDQgnGrafLineSecondaryHorizontal, 
-                                      lineBmp, 
-                                      lineBmpMask);
-    if ( lineBmp )
-        {
-        AknIconUtils::SetSize( lineBmp, 
-                               iLineRect.Size(), 
-                               EAspectRatioNotPreserved);
-        if ( lineBmpMask )
-            {
-            AknIconUtils::SetSize( lineBmpMask, iLineRect.Size(), 
-                                   EAspectRatioNotPreserved);
-            
-            aGc.BitBltMasked( iLineRect.iTl, lineBmp, TRect( TPoint(0,0), 
-                             lineBmp->SizeInPixels() ),
-                             lineBmpMask, EFalse);
-            }
-        else
-            {
-            aGc.BitBlt( iLineRect.iTl, lineBmp );
-            }
-        }                 
-    }    
-
-// ---------------------------------------------------------------------------
-// LayoutVideoPanes
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideo::LayoutVideoPanes( const TRect& aParentRect )
-    {
-     // Qcif video pane         
-    TAknLayoutRect qcifVideoPane;
-    qcifVideoPane.LayoutRect( 
-        aParentRect, 
-        BubbleLayout3::call3_video_qcif_pane(0) );
-
-    // Qcif uncrop pane         
-    TAknLayoutRect qcifUncropPane;
-    qcifUncropPane.LayoutRect( 
-        aParentRect, 
-        BubbleLayout3::call3_video_qcif_uncrop_pane(0) );
-        
-    // Subqcif video pane         
-    TAknLayoutRect subQcifVideoPane;
-    subQcifVideoPane.LayoutRect( 
-        aParentRect, 
-        BubbleLayout3::call3_video_subqcif_pane(0) );
-
-    // Subqcif uncrop pane         
-    TAknLayoutRect subQcifUncropPane;
-    subQcifUncropPane.LayoutRect( 
-        aParentRect, 
-        BubbleLayout3::call3_video_subqcif_uncrop_pane(0) );
-        
-    // Update video rects to video controller
-    iBubbleManager.VideoController().SetQcifVideoPaneRects(
-         qcifVideoPane.Rect(),
-         qcifUncropPane.Rect() );
-         
-    iBubbleManager.VideoController().SetSubQcifVideoPaneRects(
-         subQcifVideoPane.Rect(),
-         subQcifUncropPane.Rect() );
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleOutlookVideoCnap.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,311 +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:  Bubble outlook video ringtone.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h" //for enumerations
-#include    "BMBubbleOutlookVideoCnap.h"
-#include    "BMBubbleImageManager.h"
-#include    "BMResourceManager.h"
-#include    "BMBubbleHeader.h"
-#include    "BMUtils.h"
-#include    "BMLayout3.h"
-#include    "BMVideoController.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eiklabel.h> 
-#include    <eikimage.h>
-#include    <eikenv.h>
-#include    <AknsUtils.h>
-#include    <AknsDrawUtils.h>
-#include    <AknLayout2ScalableDef.h>
-#include    <layoutmetadata.cdl.h>
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleOutlookVideoCnap
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookVideoCnap::CBubbleOutlookVideoCnap( 
-    CBubbleManager& aBubbleManager ) : 
-    CBubbleOutlookThreeLined( aBubbleManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideoCnap::ConstructL()
-    { 
-    CBubbleOutlookThreeLined::ConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// ~CBubbleOutlookVideoCnap
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlookVideoCnap::~CBubbleOutlookVideoCnap()
-    {
-    Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// ReadBubbleHeader
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideoCnap::ReadBubbleHeader( CBubbleHeader& aHeader )
-    {
-    iHeader = &aHeader;
-    
-    iBubble = iBubbleManager.ResourceManager().ReserveEikImage( ETrue );        
-    
-    CBubbleOutlookThreeLined::ReadBubbleHeader( aHeader );
-    }
-
-// ---------------------------------------------------------------------------
-// SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideoCnap::SizeChanged()
-    {
-    if( !iHeader )
-        {
-        return;
-        }
-        
-    const TRect rect( Rect() );
-    
-    // Layout labels
-    BubbleUtils::LayoutLabel( 
-        iTextLine1, 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_text_line_1(2));    
-            
-    BubbleUtils::LayoutLabel( 
-        iTextLine2,
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_text_line_2(2));
-
-    BubbleUtils::LayoutLabel( 
-        iTextLine3,
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_text_line_3(0));                
-
-    // Call indicator
-    BubbleUtils::LayoutCustomElement(
-        iBigCallIndicator, 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_call_indication(2) );
-    
-    // Layout number type icon
-    BubbleUtils::LayoutCustomElement( 
-        iNumberType, 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_numbertype_indication(2));   
-
-    // Layout cyphering indicator
-    BubbleUtils::LayoutControl(
-        iCyphOffImage, 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_window_cipheringoff_indication(2));      
-        
-    // Layout and prepare frame
-    TAknLayoutRect bubbleRect;
-    bubbleRect.LayoutRect( 
-        rect, 
-        BubbleLayout3::popup_call3_audio_in_pane(1));
-    
-    if ( Layout_Meta_Data::IsMirrored() )
-        {
-        TAknLayoutRect bubbleTopRight;        
-        bubbleTopRight.LayoutRect( 
-            bubbleRect.Rect(), 
-            BubbleLayout3::popup_call3_audio_in_window_fr_corner_topright());
-            
-        TAknLayoutRect bubbleBottomLeft;        
-        bubbleBottomLeft.LayoutRect( 
-            bubbleRect.Rect(), 
-            BubbleLayout3::popup_call3_audio_in_window_fr_corner_bottomleft());        
-        
-        iOuterRect = TRect( bubbleTopRight.Rect().iTl, 
-                                 bubbleBottomLeft.Rect().iBr );
-        iInnerRect = TRect( bubbleTopRight.Rect().iBr, 
-                                 bubbleBottomLeft.Rect().iTl );        
-        }
-    else
-        {
-        TAknLayoutRect bubbleTopLeft;        
-        bubbleTopLeft.LayoutRect( 
-            bubbleRect.Rect(), 
-            BubbleLayout3::popup_call3_audio_in_window_fr_corner_topleft());
-            
-        TAknLayoutRect bubbleBottomRight;        
-        bubbleBottomRight.LayoutRect( 
-            bubbleRect.Rect(), 
-            BubbleLayout3::popup_call3_audio_in_window_fr_corner_bottomright());        
-        
-        iOuterRect = TRect( bubbleTopLeft.Rect().iTl, 
-                                 bubbleBottomRight.Rect().iBr );
-        iInnerRect = TRect( bubbleTopLeft.Rect().iBr, 
-                                 bubbleBottomRight.Rect().iTl );        
-        }        
-                    
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    CBubbleManager::TPhoneCallState callState = iHeader->CallState();
-    iFrameId = ( callState == CBubbleManager::EAlertToDisconnected ) ?
-                                      KAknsIIDQsnFrCall3RectDisconn : 
-                                      KAknsIIDQsnFrCall3Rect;
-    AknsDrawUtils::PrepareFrame( skin,
-                                 iOuterRect,
-                                 iInnerRect,
-                                 iFrameId,
-                                 KAknsIIDDefault );
-
-    // Pass video layouts to video controller.
-    LayoutVideoPanes( rect );
-    iBubbleManager.VideoController().SetVideoPaneBackgroundFrame(
-        iFrameId, iOuterRect, iInnerRect );
-                                 
-    // Layout rectangle for separator line
-    TAknLayoutRect lineRect;
-    lineRect.LayoutRect( rect, 
-        BubbleLayout3::popup_call3_audio_in_window_separator_line( 2 )); 
-    iLineRect = lineRect.Rect();        
-    }
-
-// ---------------------------------------------------------------------------
-// PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideoCnap::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-    
-// ---------------------------------------------------------------------------
-// DrawBitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideoCnap::DrawBitmaps( CBitmapContext& aGc ) const
-    {
-    // Check that proper call header is set
-    if ( iHeader == NULL ) 
-        { 
-        return; 
-        }
-
-    if ( !iHeader->IsUsed() ) 
-        { 
-        return; 
-        }
-
-    if ( iHeader->IsInConference() ) 
-        { 
-        return; 
-        }
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    if ( iBubble->Bitmap() )
-        {
-        BubbleUtils::DrawMaskedImage( aGc , iBubble );    
-        }
-    else
-        {
-        // Draw bubble frame
-        if ( !AknsDrawUtils::DrawFrame( skin,
-                                        (CWindowGc&) aGc,  
-                                        iOuterRect,
-                                        iInnerRect,
-                                        iFrameId,
-                                        KAknsIIDDefault ) )
-            {
-            BubbleUtils::DrawBackgroundRect( aGc, Rect() );
-            }        
-        }
-        
-    CFbsBitmap* lineBmp = NULL;
-    CFbsBitmap* lineBmpMask = NULL;
-    AknsUtils::GetCachedMaskedBitmap( skin,
-                                      KAknsIIDQgnGrafLineSecondaryHorizontal, 
-                                      lineBmp, 
-                                      lineBmpMask);
-    if ( lineBmp )
-        {
-        AknIconUtils::SetSize( lineBmp, 
-                               iLineRect.Size(), 
-                               EAspectRatioNotPreserved);
-        if ( lineBmpMask )
-            {
-            AknIconUtils::SetSize( lineBmpMask, iLineRect.Size(), 
-                                   EAspectRatioNotPreserved);
-            
-            aGc.BitBltMasked( iLineRect.iTl, lineBmp, TRect( TPoint(0,0), 
-                             lineBmp->SizeInPixels() ),
-                             lineBmpMask, EFalse);
-            }
-        else
-            {
-            aGc.BitBlt( iLineRect.iTl, lineBmp );
-            }
-        }                 
-    }
-    
-// ---------------------------------------------------------------------------
-// LayoutVideoPanes
-// ---------------------------------------------------------------------------
-//
-void CBubbleOutlookVideoCnap::LayoutVideoPanes( const TRect& aParentRect )
-    {
-     // Qcif video pane         
-    TAknLayoutRect qcifVideoPane;
-    qcifVideoPane.LayoutRect( 
-        aParentRect, 
-        BubbleLayout3::call3_video_qcif_pane(2) );
-
-    // Qcif uncrop pane         
-    TAknLayoutRect qcifUncropPane;
-    qcifUncropPane.LayoutRect( 
-        aParentRect, 
-        BubbleLayout3::call3_video_qcif_uncrop_pane(2) );
-        
-    // Subqcif video pane         
-    TAknLayoutRect subQcifVideoPane;
-    subQcifVideoPane.LayoutRect( 
-        aParentRect, 
-        BubbleLayout3::call3_video_subqcif_pane(2) );
-
-    // Subqcif uncrop pane         
-    TAknLayoutRect subQcifUncropPane;
-    subQcifUncropPane.LayoutRect( 
-        aParentRect, 
-        BubbleLayout3::call3_video_subqcif_uncrop_pane(2) );
-        
-    // Update video rects to video controller
-    iBubbleManager.VideoController().SetQcifVideoPaneRects(
-         qcifVideoPane.Rect(),
-         qcifUncropPane.Rect() );
-         
-    iBubbleManager.VideoController().SetSubQcifVideoPaneRects(
-         subQcifVideoPane.Rect(),
-         subQcifUncropPane.Rect() );    
-    }            
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubblePlace.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,431 +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:  Header place on the screen.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleManager.h"  
-#include    "BMBubblePlace.h"
-#include    "BMBubbleOutlookBottom.h"
-#include    "BMBubbleOutlookMiddle.h"
-#include    "BMBubbleOutlookBottomRight.h"
-#include    "BMBubbleOutlook.h"
-#include    "BMBubbleOutlookTopLeft.h"
-#include    "BMBubbleOutlookTopRight.h"
-#include    "BMBubbleOutlookHide.h"
-#include    "BMBubbleOutlookConference.h"
-#include    "BMPanic.h"
-
-#include    "BMBubbleOutlookBottomCnap.h"
-#include    "BMBubbleOutlookMiddleCnap.h"
-#include    "BMBubbleOutlookBottomText.h"
-#include    "BMBubbleOutlookBottomImage.h"
-#include    "BMBubbleOutlookVideo.h"
-#include    "BMBubbleOutlookVideoCnap.h"
-#include    "BMBubbleOutlookBottomRiCnap.h"
-#include    "BMBubbleOutlookBottomImCnap.h"
-
-#include    <AknsUtils.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubblePlace::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubblePlace::ConstructL( 
-                              const TPhoneBubblePlace& aBubblePlace,
-                              CBubbleManager& aBubbleManager )
-    {
-    
-    iBubblePlace = aBubblePlace;
-    iBubbleOutlook = NULL;
-    iIsUsed  = EFalse; // By default.
-    
-    // Create corresponding BubbleOutlook:
-    switch( iBubblePlace )
-        {
-        case EBottom:
-            {
-            CBubbleOutlookBottom* BOBottom = 
-                new( ELeave ) CBubbleOutlookBottom( aBubbleManager );
-            CleanupStack::PushL( BOBottom );
-            BOBottom->SetContainerWindowL( *this );
-            BOBottom->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOBottom;
-            }
-            break;
-        case EBottomRightActive:
-        case EBottomRightHeld:
-            {
-            CBubbleOutlookBottomRight* BOBottomR = 
-                new( ELeave ) CBubbleOutlookBottomRight( aBubbleManager );
-            CleanupStack::PushL( BOBottomR );
-            BOBottomR->SetContainerWindowL( *this );
-            BOBottomR->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOBottomR;
-            }
-            break;
-        case EMiddleActive:
-        case EMiddleHeld:
-            {
-            CBubbleOutlookMiddle* BOMiddle = 
-                new( ELeave ) CBubbleOutlookMiddle( aBubbleManager );
-            CleanupStack::PushL( BOMiddle );
-            BOMiddle->SetContainerWindowL( *this );
-            BOMiddle->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOMiddle;
-            }
-            break;
-        case ETopLeft:
-            {
-            CBubbleOutlookTopLeft* BOTL = 
-                new( ELeave ) CBubbleOutlookTopLeft( aBubbleManager );
-            CleanupStack::PushL( BOTL );
-            BOTL->SetContainerWindowL( *this );
-            BOTL->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOTL;
-            }
-            break;
-        case ETopRight:
-            {
-            CBubbleOutlookTopRight* BOTR = 
-                new( ELeave ) CBubbleOutlookTopRight( aBubbleManager );
-            CleanupStack::PushL( BOTR );
-            BOTR->SetContainerWindowL( *this );
-            BOTR->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOTR;
-            }
-            break;
-        case EHide:
-            {
-            CBubbleOutlookHide* BOH = 
-                new( ELeave ) CBubbleOutlookHide( aBubbleManager );
-            CleanupStack::PushL( BOH );
-            BOH->SetContainerWindowL( *this );
-            BOH->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOH;
-            }
-            break;
-        case E2InConf:
-            {
-            CBubbleOutlookConference* BOConf = 
-                new( ELeave ) CBubbleOutlookConference( aBubbleManager );
-            CleanupStack::PushL( BOConf );
-            BOConf->SetContainerWindowL( *this );
-            BOConf->ConstructL( 2 );
-            CleanupStack::Pop();
-            iBubbleOutlook = BOConf;
-            }
-            break;
-        case E3InConf:
-            {
-            CBubbleOutlookConference* BOConf = 
-                new( ELeave ) CBubbleOutlookConference( aBubbleManager );
-            CleanupStack::PushL( BOConf );
-            BOConf->SetContainerWindowL( *this );
-            BOConf->ConstructL( 3 );
-            CleanupStack::Pop();
-            iBubbleOutlook = BOConf;
-            }
-            break;
-        case E4InConf:
-            {
-            CBubbleOutlookConference* BOConf = 
-                new( ELeave ) CBubbleOutlookConference( aBubbleManager );
-            CleanupStack::PushL( BOConf );
-            BOConf->SetContainerWindowL( *this );
-            BOConf->ConstructL( 4 );
-            CleanupStack::Pop();
-            iBubbleOutlook = BOConf;
-            }
-            break;
-        case E5InConf:
-            {
-            CBubbleOutlookConference* BOConf = 
-                new( ELeave ) CBubbleOutlookConference( aBubbleManager );
-            CleanupStack::PushL( BOConf );
-            BOConf->SetContainerWindowL( *this );
-            BOConf->ConstructL(  5 );
-            CleanupStack::Pop();
-            iBubbleOutlook = BOConf;
-            }
-            break;
-        case EBottomText:
-            {
-            CBubbleOutlookBottomText* BOBottomText = 
-                new( ELeave ) CBubbleOutlookBottomText( aBubbleManager );
-            CleanupStack::PushL( BOBottomText );
-            BOBottomText->SetContainerWindowL( *this );
-            BOBottomText->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOBottomText;
-            }
-            break;
-        case EBottomImage:
-            {
-            CBubbleOutlookBottomImage* BOBottomImage = 
-                new( ELeave ) CBubbleOutlookBottomImage( aBubbleManager );
-            CleanupStack::PushL( BOBottomImage );
-            BOBottomImage->SetContainerWindowL( *this );
-            BOBottomImage->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOBottomImage;
-            }
-            break;                        
-        case EVideo:
-            {
-            CBubbleOutlookVideo* BOVideo = 
-                new( ELeave ) CBubbleOutlookVideo( aBubbleManager );
-            CleanupStack::PushL( BOVideo );
-            BOVideo->SetContainerWindowL( *this );
-            BOVideo->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOVideo;
-            }
-            break;                                    
-        case EBottomCnap:
-            {
-            CBubbleOutlookBottomCnap* BOBottomCnap = 
-                new( ELeave ) CBubbleOutlookBottomCnap( aBubbleManager );
-            CleanupStack::PushL( BOBottomCnap );
-            BOBottomCnap->SetContainerWindowL( *this );
-            BOBottomCnap->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOBottomCnap;
-            }
-            break;
-        case EMiddleCnap:
-            {
-            CBubbleOutlookMiddleCnap* BOMiddleCnap = 
-                new( ELeave ) CBubbleOutlookMiddleCnap( aBubbleManager );
-            CleanupStack::PushL( BOMiddleCnap );
-            BOMiddleCnap->SetContainerWindowL( *this );
-            BOMiddleCnap->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOMiddleCnap;
-            }
-            break;
-        case EVideoCnap:
-            {
-            CBubbleOutlookVideoCnap* BOVideoCnap = 
-                new( ELeave ) CBubbleOutlookVideoCnap( aBubbleManager );
-            CleanupStack::PushL( BOVideoCnap );
-            BOVideoCnap->SetContainerWindowL( *this );
-            BOVideoCnap->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOVideoCnap;
-            }
-            break;
-        case EBottomRightCnap:
-            {
-            CBubbleOutlookBottomRightCnap* BOBottomRightCnap = 
-                new( ELeave ) CBubbleOutlookBottomRightCnap( aBubbleManager );
-            CleanupStack::PushL( BOBottomRightCnap );
-            BOBottomRightCnap->SetContainerWindowL( *this );
-            BOBottomRightCnap->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOBottomRightCnap;
-            }
-            break;
-        case EBottomImageCnap:
-            {
-            CBubbleOutlookBottomImageCnap* BOBottomImageCnap = 
-                new( ELeave ) CBubbleOutlookBottomImageCnap( aBubbleManager );
-            CleanupStack::PushL( BOBottomImageCnap );
-            BOBottomImageCnap->SetContainerWindowL( *this );
-            BOBottomImageCnap->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOBottomImageCnap;
-            }
-            break;
-        case EBottomRightActiveTouch:
-            {
-            CBubbleOutlookBottomRight* BOBottomR = 
-                new( ELeave ) CBubbleOutlookBottomRight( aBubbleManager );
-            CleanupStack::PushL( BOBottomR );
-            BOBottomR->SetContainerWindowL( *this );
-            BOBottomR->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOBottomR;    
-            }
-            break;
-        case EBottomRightActiveCnapTouch:
-            {
-            CBubbleOutlookBottomRightCnap* BOBottomRightCnap = 
-                new( ELeave ) CBubbleOutlookBottomRightCnap( aBubbleManager );
-            CleanupStack::PushL( BOBottomRightCnap );
-            BOBottomRightCnap->SetContainerWindowL( *this );
-            BOBottomRightCnap->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOBottomRightCnap;    
-            }
-            break;
-        case EMiddleHeldTouch:
-            {
-            CBubbleOutlookTopLeft* BOTL = 
-                new( ELeave ) CBubbleOutlookTopLeft( aBubbleManager );
-            CleanupStack::PushL( BOTL );
-            BOTL->SetContainerWindowL( *this );
-            BOTL->ConstructL();
-            CleanupStack::Pop();
-            iBubbleOutlook = BOTL;    
-            }
-            break;
-        default:
-            Panic( EBMPanicUnhandledSwitchCase );
-            break;
-        } 
-
-
-    iBubbleOutlook->SetParent( this );
-        
-    ActivateL();
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubblePlace::~CBubblePlace
-// Destructor.
-//  
-// ---------------------------------------------------------------------------
-//
-CBubblePlace::~CBubblePlace()
-    {
-    AknsUtils::DeregisterControlPosition( this );
-    delete iBubbleOutlook;   
-    }
-
-// ---------------------------------------------------------------------------
-// CBubblePlace::SizeChanged
-// called by framwork when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubblePlace::SizeChanged()
-    {  
-    AknsUtils::RegisterControlPosition( this );
-    iBubbleOutlook->SetRect ( Rect() );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubblePlace::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubblePlace::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubblePlace::CountComponentControls
-//
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CBubblePlace::CountComponentControls() const
-    { 
-    if ( iIsUsed )
-        {
-        return 1; // bubble outlook
-        }
-    return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubblePlace::ComponentControl
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubblePlace::ComponentControl( TInt aIndex ) const
-    {
-    if ( !iIsUsed ) 
-        {
-        return NULL;
-        }
-    
-    switch ( aIndex )
-        {
-        case 0:
-            return iBubbleOutlook;
-        default:
-            return NULL;
-        }
-    }
-
-
-
-
-
-// ---------------------------------------------------------------------------
-// CBubblePlace::SetIsUsed
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubblePlace::SetIsUsed( const TBool& aIsUsed )
-    {
-    iIsUsed = aIsUsed;
-    if ( !iIsUsed )
-        {
-        iBubbleOutlook->Reset( );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubblePlace::IsUsed
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-TBool CBubblePlace::IsUsed( ) const
-    {
-    return iIsUsed;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubblePlace::GetBubblePlace
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-CBubblePlace::TPhoneBubblePlace CBubblePlace::GetBubblePlace( ) const
-    {
-    return iBubblePlace;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubblePlace::GetBubbleOutlook
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-CBubbleOutlook& CBubblePlace::GetBubbleOutlook( ) const
-    {
-    return *iBubbleOutlook;
-    }
-    
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleSkinBitmap.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* 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:  Bubble skinned bitmap.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMBubbleSkinBitmap.h"
-#include    <fbs.h>
-
-// CONSTANTS
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::CBubbleSkinBitmap()
-// Default constructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleSkinBitmap::CBubbleSkinBitmap() /* : iItemId( KAknsIIDNone ) */
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::~CBubbleSkinBitmap()
-// Destructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleSkinBitmap::~CBubbleSkinBitmap()
-    {
-    delete iSkinnedBitmap;
-    delete iSkinnedMask;
-    }
-
-/*
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::SetSkinnedBitmap
-// ---------------------------------------------------------------------------
-//
-void CBubbleSkinBitmap::SetBitmapSkinItemID( const TAknsItemID& aItemID )
-    {
-    iItemId = aItemID;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::SetSkinnedBitmap
-// ---------------------------------------------------------------------------
-//
-TAknsItemID CBubbleSkinBitmap::BitmapSkinItemID() const
-    {
-    return iItemId;
-    }
-*/
-
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::SetSkinnedBitmap
-// ---------------------------------------------------------------------------
-//
-void CBubbleSkinBitmap::SetSkinnedBitmap( CFbsBitmap* aSkinnedBitmap )
-    {
-    iSkinnedBitmap = aSkinnedBitmap;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::SkinnedBitmap
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CBubbleSkinBitmap::SkinnedBitmap() const
-    {
-    return iSkinnedBitmap;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::SetSkinnedMask
-// ---------------------------------------------------------------------------
-//
-void CBubbleSkinBitmap::SetSkinnedMask( CFbsBitmap* aSkinnedMask )
-    {
-    iSkinnedMask = aSkinnedMask;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::SkinnedBitmapMask
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* CBubbleSkinBitmap::SkinnedMask() const
-    {
-    return iSkinnedMask;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::SetBitmapIndex
-// ---------------------------------------------------------------------------
-//
-void CBubbleSkinBitmap::SetBitmapIndex( const TInt& aBitmapIndex )
-    {
-    iBitmapIndex = aBitmapIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleSkinBitmap::BitmapIndex
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleSkinBitmap::BitmapIndex() const
-    {
-    return iBitmapIndex;
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMBubbleVideoContainer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +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:  Video Ringing Tone / Video window (DSA)
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "BMBubbleVideoContainer.h"
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES  
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoContainer::CBubbleVideoContainer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CBubbleVideoContainer::CBubbleVideoContainer( 
-    const CCoeControl* aParent )
-    : iParent( aParent )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoContainer::ConstructL( )
-    {
-    CreateWindowL( iParent );
-    Window().SetNonFading( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoContainer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CBubbleVideoContainer* CBubbleVideoContainer::NewL(
-    const CCoeControl* aParent )
-    {
-    CBubbleVideoContainer* self = new( ELeave ) 
-        CBubbleVideoContainer( aParent );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    
-    return self;
-    }
-
-    
-// Destructor
-CBubbleVideoContainer::~CBubbleVideoContainer()
-    {
-    
-    }
-
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoContainer::Draw
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoContainer::Draw( const TRect& aRect ) const
-    {
-    if ( Window().DisplayMode() == EColor16MA )
-        {
-        CWindowGc& gc = SystemGc();
-        gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
-  	    gc.SetBrushColor( TRgb::Color16MA( 0 ) ); // alpha 0x00 shows video
-  	    gc.Clear( aRect );
-        }
-    else if ( !iRedrawDisabled )
-        {
-        CWindowGc& gc = SystemGc();
-        // Draw background frame graphics
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        AknsDrawUtils::DrawFrame( skin,
-                                  gc,  
-                                  iFrameOuterRect,
-                                  iFrameInnerRect,
-                                  iFrameId,
-                                  KAknsIIDDefault );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CBubbleVideoContainer::SizeChanged
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoContainer::SizeChanged()
-    {
-    // NOP
-    } 
-    
-// -----------------------------------------------------------------------------
-// CBubbleVideoContainer::GetWindow
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-RWindow& CBubbleVideoContainer::GetWindow() const
-    {
-    return Window();
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoContainer::SetBackgroundFrame
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//    
-void CBubbleVideoContainer::SetBackgroundFrame( const TAknsItemID& aFrameId,
-                                                TRect& aOuterRect,
-                                                TRect& aInnerRect )
-    {
-    iFrameId = aFrameId;
-    iFrameOuterRect = aOuterRect;
-    iFrameInnerRect = aInnerRect;    
-    }
-    
-// -----------------------------------------------------------------------------
-// CBubbleVideoContainer::SetRedrawDisabled
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoContainer::SetRedrawDisabled( TBool aDisabled )
-    {
-    iRedrawDisabled = aDisabled;    
-    }
-        
-    
-//  End of File
--- a/phoneuis/BubbleManager/Src/BMCallHeader.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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:  Call Header
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMCallHeader.h"
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleCallHeader::CBubbleCallHeader
-// Default constructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleCallHeader::CBubbleCallHeader()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleCallHeader::NewL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleCallHeader* CBubbleCallHeader::NewL( 
-                                 const CBubbleManager::TBubbleId& aBubbleId )
-    {
-    CBubbleCallHeader* self = new( ELeave )CBubbleCallHeader( );    
-    CleanupStack::PushL( self );
-    self->ConstructL( aBubbleId );
-    CleanupStack::Pop( );    // self
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleCallHeader::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallHeader::ConstructL( 
-    const CBubbleManager::TBubbleId& aBubbleId )
-    {
-    CBubbleHeader::ConstructL( aBubbleId ); // call to parent's ConstructL
-    Reset( );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallHeader::~CBubbleCallHeader
-// Destructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleCallHeader::~CBubbleCallHeader()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallHeader::IsUsed
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleCallHeader::IsUsed( ) const
-    {
-    return iIsUsed;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallHeader::SetIsUsed
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallHeader::SetIsUsed( const TBool& aIsUsed )
-    {
-    iIsUsed = aIsUsed;
-    if ( !iIsUsed )
-        {
-        Reset( );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallHeader::IsConference
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleCallHeader::IsConference() const
-    {
-    return EFalse; // This is for normal call header.
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallHeader::Reset
-//
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallHeader::Reset()
-    {
-    iIsUsed = EFalse;
-    ResetParent( ); // call to parent's reset
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMCallObjectManager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,648 +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:  Call object loading.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include	<akniconconfig.h>
-#include    <AknsUtils.h>
-#include    "BMCallObjectManager.h"
-#include    "BMUtils.h"
-#include    "BMCallObjectUtils.h"
-#include    "BMPanic.h"
-#include    "BMMediaReaderFactory.h"
-#include    "BMMediaReaderInterface.h"
-#include    "BMBubbleImageManager.h"
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-const TInt KBMBubbleIdNone = -2;
-const TInt KBMCallTextAlphaValue = 128;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CBubbleCallObjectManager::CBubbleCallObjectManager
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CBubbleCallObjectManager::CBubbleCallObjectManager( 
-    CBubbleManager& aBubbleManager ) : iBubbleManager( aBubbleManager )
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// CBubbleCallObjectManager::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CBubbleCallObjectManager::ConstructL()
-    {
-    iIdleProcessor = CIdle::NewL( CActive::EPriorityIdle );
-    iLoadingState = EBMLoaderReady;
-    iBubbleId = KBMBubbleIdNone; 
-    } 
-
-// -----------------------------------------------------------------------------
-// CBubbleCallObjectManager::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//    
-CBubbleCallObjectManager* CBubbleCallObjectManager::NewL( 
-    CBubbleManager& aBubbleManager )
-    {
-    CBubbleCallObjectManager* self = 
-        new( ELeave ) CBubbleCallObjectManager( aBubbleManager );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    CleanupStack::Pop( self );
-
-    return self;    
-    }
-    
-// Destructor
-CBubbleCallObjectManager::~CBubbleCallObjectManager()
-    {
-    Reset();
-
-    if ( iIdleProcessor )
-        {
-        iIdleProcessor->Cancel();            
-        delete iIdleProcessor;
-        }
-    
-    delete iCallThemeImageIcon;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::Reset
-//
-// ---------------------------------------------------------------------------
-//    
-void CBubbleCallObjectManager::Reset()
-    {
-    iLoadingState = EBMLoaderReady;        
-    iBubbleId = KBMBubbleIdNone;
-    delete iMediaReader;
-    iMediaReader = NULL;
-    delete iCallText;
-    iCallText = NULL;
-    delete iCallImage;
-    iCallImage = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::LoadImageFromFile
-//
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallObjectManager::LoadImageFromFile(
-    const CBubbleManager::TBubbleId& aBubbleId,
-    const TDesC& aFileName,
-    const TImageLoadingParams& aParams )
-    {
-    if ( !aFileName.Length() )
-        {
-        return;            
-        }
-    
-    if ( iLoadingState == EBMSuspended )
-        {
-        delete iCallImage;
-        iCallImage = aFileName.Alloc();
-        iImageLoadParams = aParams;
-        iBubbleId = aBubbleId;
-        return; // wait for resume
-        }
-    
-    // queueing not supported, keep the existing
-    if ( iLoadingState == EBMLoaderReady )
-        {
-        TRAPD( err, ReadFromFileL( aFileName, 
-                                   aParams.iPreferredSize,
-                                   aParams.iTinyImageSize ) );
-        if ( err == KErrNone )
-            {
-            iLoadingState = EBMLoadingImage;
-            delete iCallImage;
-            iCallImage = aFileName.Alloc();
-            iImageLoadParams = aParams;
-            iBubbleId = aBubbleId;                                
-            }    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::ReadFromFileL
-//
-// ---------------------------------------------------------------------------
-//    
-void CBubbleCallObjectManager::ReadFromFileL(
-    const TDesC& aFileName,
-    const TSize& aPreferredImageSize,
-    const TSize& aTinyImageSize )
-    {
-    delete iMediaReader;
-    iMediaReader = NULL;
-    iMediaReader = BubbleMediaReaderFactory::CreateReaderL( aFileName );
-    
-    TSize sourceSize( iMediaReader->SourceSize() );
-    
-    TReal scaleFactor;
-    TRect clipRect;
-    TSize targetSize;
-    if ( BubbleCallObjectUtils::GetScaleFactorAndClipRect(
-             sourceSize,
-             aPreferredImageSize,
-             BubbleCallObjectUtils::EFillTarget,
-             scaleFactor,
-             clipRect ) &&
-         aTinyImageSize != TSize(0,0) )
-        {
-        // Tiny image
-        BubbleCallObjectUtils::GetScaleFactorAndClipRect(
-             sourceSize,
-             aTinyImageSize,
-             BubbleCallObjectUtils::EMaximumFit,
-             scaleFactor,
-             clipRect );
-        
-        targetSize = aTinyImageSize;           
-        }
-    else
-        {
-        targetSize = aPreferredImageSize;    
-        }        
-    
-    iMediaReader->StartReadingL( targetSize, 
-                                 scaleFactor, 
-                                 clipRect, 
-                                 this );    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::LoadImageFromText
-//
-// ---------------------------------------------------------------------------
-//    
-void CBubbleCallObjectManager::LoadImageFromText(
-    const CBubbleManager::TBubbleId& aBubbleId,
-    const TDesC& aText,
-    const TImageLoadingParams& aParams )
-    {
-    if ( !aText.Length() )
-        {
-        return;            
-        }
-        
-    if ( iLoadingState == EBMSuspended )
-        {
-        delete iCallText;
-        iCallText = aText.Alloc();    
-        iImageLoadParams = aParams;
-        iBubbleId = aBubbleId;
-        return; // wait for resume
-        }
-    
-    // queueing not supported, keep the existing
-    if ( iLoadingState == EBMLoaderReady )    
-        {
-        delete iCallText;
-        iCallText = aText.Alloc();        
-        iBubbleId = aBubbleId;
-        iImageLoadParams = aParams;
-        TCallBack idleCallback( IdleProcessorCallback, this );
-        iIdleProcessor->Cancel();
-        iIdleProcessor->Start( idleCallback );
-        iLoadingState = EBMLoadingText;    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::CancelCallObjectLoading
-//
-// ---------------------------------------------------------------------------
-//    
-void CBubbleCallObjectManager::CancelCallObjectLoading( 
-    const CBubbleManager::TBubbleId& aBubbleId )
-    {
-    if ( iLoadingState != EBMLoaderReady &&
-         iBubbleId == aBubbleId )    
-        {
-        Reset();
-        iIdleProcessor->Cancel();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::Suspend
-//
-// ---------------------------------------------------------------------------
-//    
-void CBubbleCallObjectManager::Suspend()
-    {
-    if ( iLoadingState != EBMLoaderReady )
-        {
-        // Cancel image/text reading
-        delete iMediaReader;
-        iMediaReader = NULL;
-        iIdleProcessor->Cancel();
-        }
-
-    // Set suspended state
-    iLoadingState = EBMSuspended;
-    }
-    
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::Resume
-//
-// ---------------------------------------------------------------------------
-//    
-TInt CBubbleCallObjectManager::Resume()
-    {
-    TInt err = KErrNone;
-    
-    if ( iLoadingState == EBMSuspended )
-        {
-        TRAP( err, DoResumeL() );            
-        }
-        
-    return err;        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::DoResumeL
-//
-// ---------------------------------------------------------------------------
-//    
-void CBubbleCallObjectManager::DoResumeL()
-    {
-    if ( iCallImage )    
-        {
-        CBubbleManager::TPhoneCallState callState =
-                iBubbleManager.CallState( iBubbleId );
-        
-        if ( callState < CBubbleManager::EIncoming &&
-             iImageLoadParams.iThumbnailSize != TSize(0,0) )
-            {
-            // switch to incall image size
-            iImageLoadParams.iPreferredSize = 
-                iImageLoadParams.iThumbnailSize;
-            iImageLoadParams.iThumbnailSize = TSize(0,0);
-            iImageLoadParams.iTinyImageSize = TSize(0,0);                   
-            }
-        
-        ReadFromFileL( *iCallImage, 
-                       iImageLoadParams.iPreferredSize,
-                       iImageLoadParams.iTinyImageSize );
-        
-        iLoadingState = EBMLoadingImage;
-        delete iCallImage;
-        iCallImage = NULL;    
-        }
-    else if ( iCallText )        
-        {
-        TCallBack idleCallback( IdleProcessorCallback, this );
-        iIdleProcessor->Cancel();
-        iIdleProcessor->Start( idleCallback );
-        iLoadingState = EBMLoadingText;    
-        }
-    else
-        {
-        Reset();    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::LoadCallThemeImage
-//
-// ---------------------------------------------------------------------------
-//            
-void CBubbleCallObjectManager::LoadCallThemeImage(
-    CBubbleImageManager& aImageManager,    
-    const TSize& aSize )
-    {
-    delete iCallThemeImageIcon;
-    iCallThemeImageIcon = NULL;
-    
-    TRAPD( err, AllocateCallThemeImageIconL( aImageManager ) );
-    if ( !err )
-        {
-        iCallThemeImageSize = aSize;
-        
-        if ( iLoadingState == EBMLoaderReady )    
-            {
-            TCallBack idleCallback( IdleProcessorCallback, this );
-            iIdleProcessor->Cancel();
-            iIdleProcessor->Start( idleCallback );
-            iLoadingState = EBMInitializingIcon;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::AllocateCallThemeImageIconL
-//
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallObjectManager::AllocateCallThemeImageIconL( 
-        CBubbleImageManager& aImageManager )
-    {
-    CEikImage* themeImage = new( ELeave ) CEikImage;
-    CleanupStack::PushL( themeImage );
-    aImageManager.SetBitmapToImage( themeImage,
-                                    EQgn_graf_call_image_1,
-                                    EQgn_graf_call_image_1_mask );
-
-    if ( themeImage->Bitmap() )
-        {
-        iCallThemeImageIcon = CGulIcon::NewL( 
-                    const_cast<CFbsBitmap*> (themeImage->Bitmap()), 
-                    const_cast<CFbsBitmap*> (themeImage->Mask()));
-        }
-    themeImage->SetPictureOwnedExternally( ETrue );
-    CleanupStack::PopAndDestroy( themeImage );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::ReleaseCallThemeImage
-//
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallObjectManager::ReleaseCallThemeImage()
-    {
-    delete iCallThemeImageIcon;
-    iCallThemeImageIcon = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::ResizeCallThemeImage
-//
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallObjectManager::ResizeCallThemeImage( const TSize& aSize )
-    {
-    iCallThemeImageSize = aSize;
-    AknIconUtils::SetSize( iCallThemeImageIcon->Bitmap(),
-                           iCallThemeImageSize,
-                           EAspectRatioPreservedSlice );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::CallThemeImageIcon
-//
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CBubbleCallObjectManager::CallThemeImageIcon()
-    {
-    return iCallThemeImageIcon;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::IdleProcessorCallback
-//
-// ---------------------------------------------------------------------------
-//     
-TInt CBubbleCallObjectManager::IdleProcessorCallback( TAny* aThis )
-    {
-    __ASSERT_ALWAYS( aThis, 
-                     Panic( EBMPanicCallObjectManager ) );
-                     
-    CBubbleCallObjectManager* self = 
-            static_cast<CBubbleCallObjectManager*>( aThis );
-    
-    TLoadingState state = self->iLoadingState;
-    
-    if ( state == EBMLoadingText )
-        {
-        TRAP_IGNORE( self->DoLoadImageInIdleL() );    
-        }
-    else if ( state == EBMInitializingIcon )
-        {
-        self->DoInitializeIcons();
-        }
-    else if ( state == EBMDeleting )        
-        {
-        self->DoDeleteReaderInIdle();
-        }
-    
-    return KErrNone;        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::DoLoadImageInIdleL
-//
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallObjectManager::DoLoadImageInIdleL()
-    {
-    if ( iLoadingState == EBMLoadingText && iCallText )
-        {
-        AknIconConfig::TPreferredDisplayMode mode;
-        AknIconConfig::PreferredDisplayMode( mode, 
-                                             AknIconConfig::EImageTypeIcon);
-        
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        TRgb skinColor;
-        User::LeaveIfError( AknsUtils::GetCachedColor( 
-                            skin, 
-                            skinColor, 
-                            KAknsIIDQsnTextColors,
-                            EAknsCIQsnTextColorsCG51 ) );            
-        
-        CFbsBitmap* bitmap = NULL;
-        CFbsBitmap* mask = NULL;
-        
-        BubbleCallObjectUtils::CreateImageBitmapsFromTextLC( 
-            *iCallText, 
-            iBubbleManager.Rect(),
-            iImageLoadParams.iPreferredSize,
-            skinColor,  // text color
-            KBMCallTextAlphaValue, // semitransparent
-            mode.iBitmapMode,
-            bitmap,
-            mask );
-        CleanupStack::Pop(2); // bitmap, mask
-                
-        iBubbleManager.StartChanges();
-        iBubbleManager.SetCallObjectImage( iBubbleId,
-                                           bitmap,
-                                           mask,
-                                           ETrue );
-        iBubbleManager.EndChanges();
-            
-        delete iCallText;
-        iCallText = NULL;                
-        }
-    
-    iLoadingState = EBMLoaderReady;        
-    iBubbleId = KBMBubbleIdNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::DoDeleteReaderInIdle
-//
-// ---------------------------------------------------------------------------
-//    
-void CBubbleCallObjectManager::DoDeleteReaderInIdle()
-    {
-    Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::DoInitializeIcons
-//
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallObjectManager::DoInitializeIcons()
-    {
-    AknIconUtils::ExcludeFromCache( iCallThemeImageIcon->Bitmap() );
-    AknIconUtils::SetSize( iCallThemeImageIcon->Bitmap(),
-                           iCallThemeImageSize,
-                           EAspectRatioPreservedSlice );
-    iLoadingState = EBMLoaderReady;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::FrameBufferDataChanged
-//
-// ---------------------------------------------------------------------------
-//    
-void CBubbleCallObjectManager::FrameBufferDataChanged()
-    {
-    TRAPD( err, DoHandleFrameBufferDataL() );
-    
-    if ( err != KErrNone )
-        {
-        TCallBack idleCallback( IdleProcessorCallback, this );
-        iIdleProcessor->Cancel();
-        iIdleProcessor->Start( idleCallback );
-        iLoadingState = EBMDeleting;    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::SetCallObjectImageL
-//
-// ---------------------------------------------------------------------------
-//     
-void CBubbleCallObjectManager::DoHandleFrameBufferDataL()
-    {
-    const CFbsBitmap* bitmap = iMediaReader->FrameBuffer();
-    const CFbsBitmap* mask = iMediaReader->Mask();
-    
-    if ( bitmap )
-        {
-        CBubbleManager::TPhoneCallState callState =
-            iBubbleManager.CallState( iBubbleId );
-
-        // copy the current frame
-        CFbsBitmap* d_bitmap = new( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( d_bitmap );
-        User::LeaveIfError( d_bitmap->Duplicate( bitmap->Handle() ) );
-            
-        CFbsBitmap* d_mask = NULL;
-        if ( mask )
-            {
-            d_mask = new( ELeave ) CFbsBitmap;
-            CleanupStack::PushL( d_mask );
-            User::LeaveIfError( d_mask->Duplicate( mask->Handle() ) );    
-            CleanupStack::Pop( d_mask );
-            }
-        CleanupStack::Pop( d_bitmap );
-            
-        // assign the copy to call header.
-        if ( ( iLoadingState == EBMLoadingThumbnail ) &&
-             ( callState > CBubbleManager::EActive ) )
-            {
-            // displaying fullscreen image, set as thumbnail
-            iBubbleManager.SetThumbnail( iBubbleId,
-                                         d_bitmap,
-                                         d_mask,
-                                         ETrue ); // Ownership transfer
-            }
-        else
-            {
-            iBubbleManager.StartChanges();
-            iBubbleManager.SetCallObjectImage( iBubbleId,
-                                               d_bitmap,
-                                               d_mask,
-                                               ETrue ); // Ownership transfer
-            iBubbleManager.EndChanges();
-            }            
-   
-        }
-    
-    // Delete media reader
-    iBubbleId = KBMBubbleIdNone;
-    TCallBack idleCallback( IdleProcessorCallback, this );
-    iIdleProcessor->Cancel();
-    iIdleProcessor->Start( idleCallback );
-    iLoadingState = EBMDeleting;         
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::LoadThumbnailVersion
-//
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleCallObjectManager::LoadThumbnailVersion()
-    {
-    TSize sourceSize( iMediaReader->SourceSize() );
-    TReal scaleFactor;
-    TRect clipRect;
-    TBool isTiny = BubbleCallObjectUtils::GetScaleFactorAndClipRect(
-        sourceSize,
-        iImageLoadParams.iThumbnailSize,
-        BubbleCallObjectUtils::EFillTarget,
-        scaleFactor,
-        clipRect );
-            
-    if ( !isTiny )
-        {
-        // scale image to thumbnail version
-        iMediaReader->SetScaleAndClip( iImageLoadParams.iThumbnailSize, 
-                                       scaleFactor,
-                                       clipRect );
-        return ETrue;            
-        }
-    else
-        {
-        // image is smaller than thumnail size
-        return EFalse;            
-        }                    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleCallObjectManager::ReaderError
-//
-// ---------------------------------------------------------------------------
-// 
-void CBubbleCallObjectManager::ReaderError( TInt /*aError*/ )
-    {
-    TCallBack idleCallback( IdleProcessorCallback, this );
-    iIdleProcessor->Cancel();
-    iIdleProcessor->Start( idleCallback );
-    iLoadingState = EBMDeleting;
-    }    
-
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMCallObjectUtils.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,532 +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:  Utility methods for call object handling.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "BMCallObjectUtils.h"
-#include    "BMLayout2.h"
-#include    "BMUtils.h"
-#include    "BMPanic.h"
-#include    <AknUtils.h>
-#include    <AknBidiTextUtils.h>
-#include    <AknLayoutFont.h>
-
-// CONSTANTS
-const TReal KBMCallObjectScaleFactorMax = 1.0;
-_LIT( KSpaceChar, " " );
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// BubbleCallObjectUtils::CreateBitmapL
-//
-// ---------------------------------------------------------------------------
-//    
-CFbsBitmap* BubbleCallObjectUtils::CreateBitmapL( 
-    const CFbsBitmap* aBitmap, 
-    const TSize& aTargetSize,
-    TDisplayMode aDisplayMode,
-    TTileMode aTileMode )
-    {
-    __ASSERT_ALWAYS( aBitmap, User::Leave( KErrArgument ) );
-    
-    // get scaling factor
-    TReal scalingFactor = ScalingFactor( aBitmap->SizeInPixels(),
-                                         aTargetSize,
-                                         EFillTarget );
-                                                  
-    if ( scalingFactor > 1.0 ) // bitmap scaling not supported
-        {
-        // image smaller than target area is tiled
-        return CreateTiledBitmapL( aBitmap, 
-                                   aTargetSize, 
-                                   aDisplayMode, 
-                                   aTileMode );
-        }
-    else        
-        {
-        // image bigger than target area is clipped
-        return CreateCroppedBitmapL( aBitmap,
-                                     aTargetSize,
-                                     aDisplayMode );    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleCallObjectUtils::CreateCroppedBitmapL
-//
-// ---------------------------------------------------------------------------
-//    
-CFbsBitmap* BubbleCallObjectUtils::CreateCroppedBitmapL( 
-    const CFbsBitmap* aBitmap, 
-    const TSize& aTargetSize,
-    TDisplayMode aDisplayMode )
-    {
-    __ASSERT_ALWAYS( aBitmap, User::Leave( KErrArgument ) );
-    
-    // create bitmap
-    CFbsBitmap* bitmap = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( bitmap );
-    
-    // calculate cropping rectangle   
-    TSize sourceBitmapSize( aBitmap->SizeInPixels() );
-    TRect croppingRect( TPoint(0,0), sourceBitmapSize );
-    
-    TInt xDelta( sourceBitmapSize.iWidth - aTargetSize.iWidth );
-    if ( xDelta < 0 )
-        {
-        // do not crop horizontally
-        xDelta = 0;    
-        }
-    
-    TInt yDelta( sourceBitmapSize.iHeight - aTargetSize.iHeight );
-    if ( yDelta < 0 )
-        {
-        // do not crop vertically
-        yDelta = 0;    
-        }
-        
-    if ( xDelta == 0 && yDelta == 0 )
-        {
-        // cropping not required -> just duplicate
-        User::LeaveIfError( bitmap->Duplicate( aBitmap->Handle() ) );
-        CleanupStack::Pop( bitmap );
-        return bitmap;                            
-        }
-    else
-        {
-        // shrink to cropping area
-        croppingRect.Shrink( xDelta/2, yDelta/2 );        
-        }
-    
-    
-    // create bitmap to target size
-    User::LeaveIfError( bitmap->Create( aTargetSize, 
-                                        aDisplayMode ) );
-    // crop
-    CFbsBitmapDevice* bitmapDev = 
-        CFbsBitmapDevice::NewL( bitmap );
-    CleanupStack::PushL( bitmapDev );
-    CFbsBitGc* bitmapCtx;
-    User::LeaveIfError( bitmapDev->CreateContext( bitmapCtx ) );
-    CleanupStack::PushL( bitmapCtx );                                               
-    TRect targetRect( TPoint(0,0), aTargetSize );
-    bitmapCtx->DrawBitmap( targetRect, aBitmap, croppingRect );    
-    
-    CleanupStack::PopAndDestroy( 2, bitmapDev );
-    CleanupStack::Pop( bitmap );
-    
-    return bitmap;            
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleCallObjectUtils::CreateTiledBitmapL
-//
-// ---------------------------------------------------------------------------
-//    
-CFbsBitmap* BubbleCallObjectUtils::CreateTiledBitmapL( 
-    const CFbsBitmap* aBitmap, 
-    const TSize& aTargetSize,
-    TDisplayMode aDisplayMode,
-    TTileMode aTileMode )
-    {
-    __ASSERT_ALWAYS( aBitmap, User::Leave( KErrArgument ) );
-    
-    TSize sourceSize = aBitmap->SizeInPixels();
-    TPoint offset(0,0);
-    
-    // calculate offset for brush origin
-    
-    // horizontal offset
-    if ( aTargetSize.iWidth <= sourceSize.iWidth )
-        {
-        // wide image -> center horizontally
-        offset.iX = ( sourceSize.iWidth - aTargetSize.iWidth ) / 2;    
-        }
-    else if ( ( aTileMode == ETileCenterRight ) ||
-              ( aTileMode == ETileTopRight ) )
-        {
-        // begin tiling from right
-        offset.iX = sourceSize.iWidth - ( aTargetSize.iWidth % 
-                                          sourceSize.iWidth );    
-        }
-    
-    // vertical offset
-    if ( aTargetSize.iHeight <= sourceSize.iHeight )
-        {
-        // tall image -> center vertically 
-        offset.iY = ( sourceSize.iHeight - aTargetSize.iHeight ) / 2;    
-        }
-    else if ( ( aTileMode == ETileCenterRight ) ||
-              ( aTileMode == ETileCenterLeft ) )
-        {
-        // middle most tile is centered vertically
-        TInt topMargin = ( aTargetSize.iHeight - sourceSize.iHeight ) / 2;
-        if ( topMargin <= sourceSize.iHeight )
-            {
-            offset.iY = ( sourceSize.iHeight - topMargin );    
-            }
-        else
-            {
-            offset.iY = sourceSize.iHeight - ( topMargin % 
-                                               sourceSize.iHeight );    
-            }            
-        }
-
-    // create bitmap to target size
-    CFbsBitmap* bitmap = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( bitmap );
-    User::LeaveIfError( bitmap->Create( aTargetSize, 
-                                        aDisplayMode ) );            
-    
-    // create device and graphics context
-    CFbsBitmapDevice* bitmapDev = CFbsBitmapDevice::NewL( bitmap );
-    CleanupStack::PushL( bitmapDev );
-    CFbsBitGc* bitmapCtx;
-    User::LeaveIfError( bitmapDev->CreateContext( bitmapCtx ) );
-    CleanupStack::PushL( bitmapCtx );         
-    
-    // do tiling by using patterned brush
-    CFbsBitmap* pattern = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( pattern );
-    User::LeaveIfError( pattern->Duplicate( aBitmap->Handle() ) );
-    
-    TRect bitmapRect( TPoint(0,0), aTargetSize );
-    bitmapCtx->SetPenStyle( CGraphicsContext::ENullPen ); 
-    bitmapCtx->SetBrushStyle( CGraphicsContext::EPatternedBrush ); 
-    bitmapCtx->UseBrushPattern( pattern );
-    bitmapCtx->SetBrushOrigin( -offset );
-    bitmapCtx->DrawRect( bitmapRect );
-    bitmapCtx->DiscardBrushPattern();
-    
-    CleanupStack::PopAndDestroy( 3, bitmapDev );
-    CleanupStack::Pop( bitmap ); 
-    
-    return bitmap;       
-    }    
-
-// ---------------------------------------------------------------------------
-// BubbleCallObjectUtils::CreateImageBitmapsFromTextLC
-//
-// ---------------------------------------------------------------------------
-//    
-void BubbleCallObjectUtils::CreateImageBitmapsFromTextLC(
-    const TDesC& aText,
-    const TRect& aMainPaneRect, 
-    const TSize& aSize,
-    const TRgb&  aTextColor,
-    TUint aAlpha,
-    TDisplayMode aDisplayMode,
-    CFbsBitmap*& aBitmap,
-    CFbsBitmap*& aMask )
-    {
-    // create bitmap
-    aBitmap= new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( aBitmap );
-    User::LeaveIfError( aBitmap->Create( aSize, aDisplayMode ) );
-    
-    // create mask
-    aMask = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( aMask );
-    User::LeaveIfError( aMask->Create( aSize, EGray256 ) );
-
-    // create bitmap context
-    CFbsBitmapDevice* bitmapDev = CFbsBitmapDevice::NewL( aBitmap );
-    CleanupStack::PushL( bitmapDev );
-    CFbsBitGc* bitmapGc;
-    User::LeaveIfError( bitmapDev->CreateContext( bitmapGc ) ); 
-    CleanupStack::PushL( bitmapGc );    
-    
-    // create mask context
-    CFbsBitmapDevice* maskDev = CFbsBitmapDevice::NewL( aMask );
-    CleanupStack::PushL( maskDev );
-    CFbsBitGc* maskGc;
-    User::LeaveIfError( maskDev->CreateContext( maskGc ) ); 
-    CleanupStack::PushL( maskGc );
-    
-    // initialize bitmap
-    bitmapGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    bitmapGc->SetPenStyle( CGraphicsContext::ENullPen );
-    bitmapGc->SetBrushColor( KRgbWhite );
-    bitmapGc->DrawRect( TRect( aSize ) );
-    bitmapGc->SetPenStyle( CGraphicsContext::ESolidPen );
-    bitmapGc->SetBrushStyle( CGraphicsContext::ENullBrush );
-    // initialize mask
-    maskGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    maskGc->SetPenStyle( CGraphicsContext::ENullPen );
-    maskGc->SetBrushColor( KRgbBlack );
-    maskGc->DrawRect( TRect( aSize ) );
-    maskGc->SetPenStyle( CGraphicsContext::ESolidPen );
-    maskGc->SetBrushStyle( CGraphicsContext::ENullBrush );
-    
-    // reserve text buffers
-    TAknLayoutRect textPaneLayout;
-    textPaneLayout.LayoutRect( aMainPaneRect,
-                             BubbleLayout2::call2_cli_visual_text_pane() );
-    TRect textPaneRect = textPaneLayout.Rect();                             
-    
-    TAknLayoutText textLayout;
-    textLayout.LayoutText( textPaneRect, 
-                           BubbleLayout2::call2_main_pane_text( 0 ) );
-    const CFont* font = textLayout.Font();
-    TInt lineWidth = textLayout.TextRect().Size().iWidth;
-    TInt averageFontWidth( font->WidthZeroInPixels() );
-    
-    TInt maxCharsPerLine( lineWidth / averageFontWidth );
-    maxCharsPerLine = maxCharsPerLine * 4; // to secure
-    HBufC* logicalLineBuf = HBufC::NewL( maxCharsPerLine );
-    CleanupStack::PushL( logicalLineBuf );
-    HBufC* visualLineBuf = HBufC::NewL( maxCharsPerLine + 
-                                        KAknBidiExtraSpacePerLine );
-    CleanupStack::PushL( visualLineBuf );
-    TPtr logicalLine( logicalLineBuf->Des() );
-    TPtr visualLine( visualLineBuf->Des() );
-    
-    TRgb alphaColor( aAlpha, aAlpha, aAlpha );
-    TInt currentRow = 0;
-    TInt i = 0;
-    TInt textLength = aText.Length();    
-    const TInt numberOfRows = 
-        BubbleLayout2::call2_cli_visual_text_number_of_rows();
-    
-    // shift gc origin
-    TPoint offset( (aMainPaneRect.Size().iWidth - aSize.iWidth) / 2,
-                   (aMainPaneRect.Size().iHeight - aSize.iHeight) / 2 );
-    bitmapGc->SetOrigin( -offset );
-    maskGc->SetOrigin( -offset );
-    
-    // render text
-    while ( currentRow <= numberOfRows )
-        {
-        TAknLayoutText textLayout;
-        textLayout.LayoutText( textPaneRect,
-            BubbleLayout2::call2_main_pane_text( currentRow ) );
-        
-        TRect textRect = textLayout.TextRect();            
-        if ( ( textRect.iBr.iY < offset.iY ) || 
-             ( textRect.iTl.iY > ( offset.iY + aSize.iHeight ) ) )
-            {
-            // this line is outside the bitmap.
-            currentRow++;
-            continue;                
-            }
-        
-        logicalLine.Zero();
-        TBool clipped( EFalse );
-        do // Find the clipping point
-            {
-            TChar c( aText[i] );
-            if( logicalLine.Length() == maxCharsPerLine )
-                {
-                User::Leave( KErrOverflow );
-                }
-            logicalLine.Append( c );
-            i++;
-            if ( i == textLength )
-                {
-                if( logicalLine.Length() == maxCharsPerLine )
-                    {
-                    User::Leave( KErrOverflow );
-                    }
-                // start over to fill whole pane
-                i = 0;
-                logicalLine.Append( KSpaceChar );
-                }
-            
-            visualLine.Zero();
-            clipped = AknBidiTextUtils::ConvertToVisualAndClip(
-                logicalLine,
-                visualLine,
-                *font,
-                lineWidth,
-                lineWidth,
-                AknBidiTextUtils::EImplicit,
-                0xFFFF );
-                
-            } while ( !clipped );
-        
-        // Remove the last character that caused clipping
-        if ( logicalLine.Length() )
-            {
-            logicalLine.SetLength( logicalLine.Length() - 1 );                
-            }
-        
-        AknBidiTextUtils::ConvertToVisualAndClip(
-            logicalLine,
-            visualLine,
-            *font,
-            lineWidth,
-            lineWidth,
-            AknBidiTextUtils::EImplicit,
-            0xFFFF );
-        
-        textLayout.DrawText( *bitmapGc, visualLine, EFalse, aTextColor );
-        textLayout.DrawText( *maskGc, visualLine, EFalse, alphaColor );
-        
-        // clipped -> go back by one        
-        i = i > 0 ? (i - 1) : (textLength-1);                    
-        
-        currentRow++;
-        }
-
-    CleanupStack::PopAndDestroy(6, bitmapDev);
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleCallObjectUtils::ScalingFactor
-//
-// ---------------------------------------------------------------------------
-//
-TReal BubbleCallObjectUtils::ScalingFactor( 
-    const TSize& aSourceSize,
-    const TSize& aTargetSize,
-    TScaleMode aScaleMode )
-    {
-    if ( aTargetSize == TSize(0,0) || aSourceSize == TSize(0,0) )
-        {
-        return 0;    
-        }
-    
-    // check aspect ratios
-    TReal targetAspectRatio = (TReal) aTargetSize.iWidth / 
-                              (TReal) aTargetSize.iHeight;
-    TReal sourceAspectRatio = (TReal) aSourceSize.iWidth  / 
-                              (TReal) aSourceSize.iHeight;
-    TReal scaleFactor = 1.0; 
-    
-    
-    if ( sourceAspectRatio == targetAspectRatio )
-        {
-        // aspect ratios are same.
-        return (TReal) aTargetSize.iWidth / (TReal) aSourceSize.iWidth;
-        }
-    else if ( targetAspectRatio > sourceAspectRatio )
-        {
-        // target wide more screen than source.
-        if ( aScaleMode == EFillTarget )
-            {
-            // width defines the scale
-            scaleFactor = (TReal) aTargetSize.iWidth / 
-                          (TReal) aSourceSize.iWidth;    
-            }
-        else // EMaximumFit
-            {
-            // height defines the scale
-            scaleFactor = (TReal) aTargetSize.iHeight / 
-                          (TReal) aSourceSize.iHeight;    
-            }            
-        }
-    else
-        {
-        // video is more wide screen than window.
-        if ( aScaleMode == EFillTarget )
-            {
-            // height defines the scale
-            scaleFactor = (TReal) aTargetSize.iHeight / 
-                          (TReal) aSourceSize.iHeight;    
-            }
-        else // EMaximumFit
-            {
-            // width defines the scale
-            scaleFactor = (TReal) aTargetSize.iWidth / 
-                          (TReal) aSourceSize.iWidth;    
-            }            
-        }
-    
-    return scaleFactor;        
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleCallObjectUtils::GetScaleFactorAndClipRect
-//
-// ---------------------------------------------------------------------------
-//    
-TBool BubbleCallObjectUtils::GetScaleFactorAndClipRect( 
-    const TSize& aSourceSize,
-    const TSize& aTargetSize,
-    TScaleMode aScaleMode,
-    TReal& aScaleFactor,
-    TRect& aClipRect )
-    {
-    TBool isTinyImage( EFalse );
-    
-    // scaling to fit main pane
-    TReal scaleFactor = BubbleCallObjectUtils::ScalingFactor(
-        aSourceSize,
-        aTargetSize,
-        aScaleMode );
-    
-    // set clipping rect
-    TRect clipRect;
-    
-    if ( aScaleMode == EMaximumFit )
-        {
-        aScaleFactor = scaleFactor > KBMCallObjectScaleFactorMax ?
-                       KBMCallObjectScaleFactorMax : scaleFactor; 
-        aClipRect = TRect( aSourceSize ); // no clip   
-        }
-    else if ( scaleFactor == 0 )
-        {
-        aScaleFactor = scaleFactor;
-        aClipRect = TRect( aSourceSize );    
-        }
-    else if ( scaleFactor > KBMCallObjectScaleFactorMax )
-        {
-        isTinyImage = ETrue;
-        aScaleFactor = KBMCallObjectScaleFactorMax;
-        TInt x_offset = 0;
-        if ( aSourceSize.iWidth > aTargetSize.iWidth )
-            {
-            // center horizontally
-            x_offset =
-                ( aSourceSize.iWidth - aTargetSize.iWidth ) / 4;
-            }
-        TInt y_offset = 0;
-        if ( aSourceSize.iHeight > aTargetSize.iHeight )
-            {
-            // center vertically
-            y_offset =
-                ( aSourceSize.iHeight - aTargetSize.iHeight ) / 4;    
-            }
-        
-        aClipRect = TRect( aSourceSize );
-        aClipRect.Shrink( x_offset, y_offset );    
-        }
-    else // 0 < scaleFactor < KBMCallObjectScaleFactorMax
-        {
-        aScaleFactor = scaleFactor;
-        TSize relativeTargetSize;
-        relativeTargetSize.iWidth = aTargetSize.iWidth / scaleFactor;
-        relativeTargetSize.iHeight = aTargetSize.iHeight / scaleFactor;
-        TInt x_offset = ( aSourceSize.iWidth - 
-                          relativeTargetSize.iWidth ) / 2;
-        TInt y_offset = ( aSourceSize.iHeight - 
-                          relativeTargetSize.iHeight ) / 2;
-        aClipRect = TRect( relativeTargetSize );
-        if ( x_offset >= 0 && y_offset >= 0 )
-            {
-            // clip from center of the source image
-            aClipRect.Move( x_offset, y_offset );    
-            }
-        }
-    
-    return isTinyImage;            
-    }
-    
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMCallStatusAnim.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +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:  Call status animation
-*
-*/
-
-#include "BMCallStatusAnim.h"
-#include "BMBubbleImageManager.h"
-#include "BMBubbleHeader.h"
-
-#include <eikimage.h>
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusAnim::CBubbleCallStatusAnim( 
-    CBubbleImageManager& aImageManager ) :
-    iImageManager( aImageManager )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusAnim::ConstructL()
-    {
-    CTelBubbleAnim::ConstructL( 500 );
-    }
-
-// ---------------------------------------------------------------------------
-// ReadBubbleHeader
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusAnim::ReadBubbleHeader( const CBubbleHeader& aHeader )
-    {
-    iCallFlags = aHeader.CallFlags();
-    }
-
-// ---------------------------------------------------------------------------
-// SetCallFlags
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusAnim::SetContainerWindowL( const CCoeControl& aControl )
-    {
-    CTelBubbleAnim::SetContainerWindowL( aControl );
-    }
-
-// ---------------------------------------------------------------------------
-// MakeVisible
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusAnim::MakeVisible(TBool aVisible)
-    {
-    CTelBubbleAnim::MakeVisible( aVisible );
-    
-    if ( aVisible )
-        {
-        TRAP_IGNORE( SetAnimationContentL() );
-        }
-    else
-        {
-        StopAnimation();
-        Reset();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// SetAnimationContentL
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusAnim::SetAnimationContentL()
-    {
-    }
-
-// End of file
--- a/phoneuis/BubbleManager/Src/BMCallStatusAnimBig.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +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:  Big call status animation
-*
-*/
-
-#include "BMCallStatusAnimBig.h"
-#include "BMBubbleImageManager.h"
-#include "BMBubbleHeader.h"
-
-#include <eikimage.h>
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusAnimBig::CBubbleCallStatusAnimBig( 
-    CBubbleImageManager& aImageManager ) :
-    CBubbleCallStatusAnim( aImageManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusAnimBig* CBubbleCallStatusAnimBig::NewL(
-        CBubbleImageManager& aImageManager )
-    {
-    CBubbleCallStatusAnimBig* self = 
-        new( ELeave ) CBubbleCallStatusAnimBig( aImageManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusAnimBig::~CBubbleCallStatusAnimBig()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// SetAnimationContentL
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusAnimBig::SetAnimationContentL()
-    {
-    TInt bitmap;  
-    TInt mask;
-    
-    CEikImage* image = new(ELeave) CEikImage;
-    CleanupStack::PushL( image );
-    
-    // frame 1
-    if ( iCallFlags & CBubbleManager::EVideo )
-        {
-        bitmap = EQgn_indi_call_video_1;
-        mask  = EQgn_indi_call_video_1_mask;
-        }
-    else if ( iCallFlags & CBubbleManager::EVoIPCall )
-        {
-        bitmap = EQgn_indi_call_voip_waiting_1;
-        mask  = EQgn_indi_call_voip_waiting_1_mask;
-        }
-    else
-        {
-        bitmap = EQgn_indi_call_waiting_1;
-        mask  = EQgn_indi_call_waiting_1_mask;
-        }
-    
-    iImageManager.SetBitmapToImage(
-        image,
-        (TBMIcons)bitmap,
-        (TBMIcons)mask );
-    
-    AddFrameToAnimationL( *image );
-    
-    // frame 2
-    if ( iCallFlags & CBubbleManager::EVideo )
-        {
-        bitmap = EQgn_indi_call_video_2;
-        mask  = EQgn_indi_call_video_2_mask;
-        }
-    else if ( iCallFlags & CBubbleManager::EVoIPCall )
-        {
-        bitmap = EQgn_indi_call_voip_waiting_2;
-        mask  = EQgn_indi_call_voip_waiting_2_mask;
-        }
-    else
-        {
-        bitmap = EQgn_indi_call_waiting_2;
-        mask  = EQgn_indi_call_waiting_2_mask;
-        }
-    
-    iImageManager.SetBitmapToImage(
-        image,
-        (TBMIcons)bitmap,
-        (TBMIcons)mask );
-    
-    AddFrameToAnimationL( *image );
-    
-    CleanupStack::PopAndDestroy( image );
-    }
-
-// End of file
--- a/phoneuis/BubbleManager/Src/BMCallStatusAnimSmall.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +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:  Small call status animation
-*
-*/
-
-#include "BMCallStatusAnimSmall.h"
-#include "BMBubbleImageManager.h"
-#include "BMBubbleHeader.h"
-
-#include <eikimage.h>
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusAnimSmall::CBubbleCallStatusAnimSmall( 
-    CBubbleImageManager& aImageManager ) :
-    CBubbleCallStatusAnim( aImageManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusAnimSmall* CBubbleCallStatusAnimSmall::NewL(
-        CBubbleImageManager& aImageManager )
-    {
-    CBubbleCallStatusAnimSmall* self = 
-        new( ELeave ) CBubbleCallStatusAnimSmall( aImageManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusAnimSmall::~CBubbleCallStatusAnimSmall()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// SetAnimationContentL
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusAnimSmall::SetAnimationContentL()
-    {
-    TInt bitmap;  
-    TInt mask;
-    
-    CEikImage* image = new(ELeave) CEikImage;
-    CleanupStack::PushL( image );
-    
-    // frame 1
-    if ( iCallFlags & CBubbleManager::EVideo )
-        {
-        bitmap = EQgn_indi_call_video_callsta_1;
-        mask  = EQgn_indi_call_video_callsta_1_mask;
-        }
-    else if ( iCallFlags & CBubbleManager::EVoIPCall )
-        {
-        bitmap = EQgn_indi_call_voip_active;
-        mask  = EQgn_indi_call_voip_active_mask;
-        }
-    else
-        {
-        bitmap = EQgn_indi_call_active;
-        mask  = EQgn_indi_call_active_mask;
-        }
-    
-    iImageManager.SetBitmapToImage(
-        image,
-        (TBMIcons)bitmap,
-        (TBMIcons)mask );
-    
-    AddFrameToAnimationL( *image );
-    
-    // frame 2
-    if ( iCallFlags & CBubbleManager::EVideo )
-        {
-        bitmap = EQgn_indi_call_video_callsta_2;
-        mask  = EQgn_indi_call_video_callsta_2_mask;
-        }
-    else if ( iCallFlags & CBubbleManager::EVoIPCall )
-        {
-        bitmap = EQgn_indi_call_voip_active_2;
-        mask  = EQgn_indi_call_voip_active_2_mask;
-        }
-    else
-        {
-        bitmap = EQgn_indi_call_active_2;
-        mask  = EQgn_indi_call_active_2_mask;
-        }
-    
-    iImageManager.SetBitmapToImage(
-        image,
-        (TBMIcons)bitmap,
-        (TBMIcons)mask );
-    
-    AddFrameToAnimationL( *image );
-    
-    CleanupStack::PopAndDestroy( image );
-    }
-
-// End of file
--- a/phoneuis/BubbleManager/Src/BMCallStatusIndi.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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:  Call status indicator
-*
-*/
-
-#include "BMCallStatusIndi.h"
-#include "BMBubbleImageManager.h"
-#include "BMBubbleHeader.h"
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusIndi::CBubbleCallStatusIndi( 
-    CBubbleImageManager& aImageManager ) :
-    iImageManager( aImageManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ReadBubbleHeader
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusIndi::ReadBubbleHeader( const CBubbleHeader& aHeader )
-    {
-    iCallState = aHeader.CallState();
-    iCallFlags = aHeader.CallFlags();
-    }
-
-// ---------------------------------------------------------------------------
-// MakeVisible
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusIndi::MakeVisible(TBool aVisible)
-    {
-    CTelBubbleImage::MakeVisible( aVisible );
-    
-    if ( aVisible )
-        {
-        SetImageAndMask();
-        }
-    else
-        {
-        SetPicture( NULL, NULL );
-        }
-    };
-
-// ---------------------------------------------------------------------------
-// SetImageAndMask
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusIndi::SetImageAndMask()
-    {
-    SetPicture( NULL, NULL );
-    }
-
-// End of file
--- a/phoneuis/BubbleManager/Src/BMCallStatusIndiBig.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +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:  Big call status indicator
-*
-*/
-
-#include "BMCallStatusIndiBig.h"
-#include "BMBubbleImageManager.h"
-#include "BMBubbleHeader.h"
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusIndiBig::CBubbleCallStatusIndiBig( 
-    CBubbleImageManager& aImageManager ) :
-    CBubbleCallStatusIndi( aImageManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusIndiBig* CBubbleCallStatusIndiBig::NewL(
-        CBubbleImageManager& aImageManager )
-    {
-    CBubbleCallStatusIndiBig* self = 
-        new( ELeave ) CBubbleCallStatusIndiBig( aImageManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusIndiBig::~CBubbleCallStatusIndiBig()
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// SetImageAndMask
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusIndiBig::SetImageAndMask()
-    {
-    TInt image = KErrNotFound;  
-    TInt mask = KErrNotFound; 
-    
-    switch ( iCallState )
-        {
-        case CBubbleManager::EOutgoing:
-            if ( iCallFlags & CBubbleManager::EVideo )
-                {
-                image = EQgn_indi_call_video_1;
-                mask  = EQgn_indi_call_video_1_mask;
-                }
-            else if ( iCallFlags & CBubbleManager::EVoIPCall )
-                {
-                image = EQgn_indi_call_voip_waiting_1;
-                mask  = EQgn_indi_call_voip_waiting_1_mask;
-                }
-            else
-                {
-                image = EQgn_indi_call_waiting_1;
-                mask  = EQgn_indi_call_waiting_1_mask;
-                }
-            break;
-        case CBubbleManager::EAlertToDisconnected:
-            if ( iCallFlags & CBubbleManager::EVideo )
-                {
-                image = EQgn_indi_call_video_disconn;
-                mask  = EQgn_indi_call_video_disconn_mask;
-                }
-            else if ( iCallFlags & CBubbleManager::EVoIPCall )
-                {
-                image = EQgn_indi_call_voip_callsta_disconn;
-                mask  = EQgn_indi_call_voip_callsta_disconn_mask;
-                }
-            else
-                {
-                image = EQgn_indi_call_waiting_disconn;
-                mask  = EQgn_indi_call_waiting_disconn_mask;
-                }
-            break;
-        default:
-            break;
-        }
-    
-    if ( image != KErrNotFound && mask != KErrNotFound )
-        {
-        CEikImage* self = static_cast<CEikImage*>(this);
-        iImageManager.SetBitmapToImage( 
-           self, 
-           (TBMIcons)image, 
-           (TBMIcons)mask );
-        }
-    }
-
-// End of file
--- a/phoneuis/BubbleManager/Src/BMCallStatusIndiSmall.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +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:  Small call status indicator
-*
-*/
-
-
-#include "BMCallStatusIndiSmall.h"
-#include "BMBubbleImageManager.h"
-#include "BMBubbleHeader.h"
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusIndiSmall::CBubbleCallStatusIndiSmall( 
-    CBubbleImageManager& aImageManager ) :
-    CBubbleCallStatusIndi( aImageManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusIndiSmall* CBubbleCallStatusIndiSmall::NewL(
-        CBubbleImageManager& aImageManager )
-    {
-    CBubbleCallStatusIndiSmall* self = 
-        new( ELeave ) CBubbleCallStatusIndiSmall( aImageManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCallStatusIndiSmall::~CBubbleCallStatusIndiSmall()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// SetImageAndMask
-// ---------------------------------------------------------------------------
-//
-void CBubbleCallStatusIndiSmall::SetImageAndMask()
-    {
-    TInt image = KErrNotFound;  
-    TInt mask = KErrNotFound; 
-    
-    switch ( iCallState )
-        {
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EActive:
-            if ( iCallFlags&CBubbleManager::EVideo )
-                {
-                image = EQgn_indi_call_video_callsta_1;
-                mask = EQgn_indi_call_video_callsta_1_mask;
-                }   
-            else if ( iCallFlags&CBubbleManager::EVoIPCall )
-                {
-                image = EQgn_indi_call_voip_active;
-                mask = EQgn_indi_call_voip_active_mask;
-                }
-            else
-                {
-                image = EQgn_indi_call_active;
-                mask = EQgn_indi_call_active_mask;
-                }
-            break;
-        case CBubbleManager::EAlertToDisconnected:
-        case CBubbleManager::EDisconnected:
-            if ( iCallFlags&CBubbleManager::EVideo )
-                {
-                image = EQgn_indi_call_video_callsta_disconn;
-                mask = EQgn_indi_call_video_callsta_disconn_mask;
-                }   
-            else if ( iCallFlags&CBubbleManager::EVoIPCall )
-                {
-                image = EQgn_indi_call_voip_disconn;
-                mask = EQgn_indi_call_voip_disconn_mask;
-                }    
-            else
-                {
-                image = EQgn_indi_call_disconn;
-                mask = EQgn_indi_call_disconn_mask;
-                }
-
-            break;
-        case CBubbleManager::EOnHold:
-            if ( iCallFlags&CBubbleManager::EVoIPCall )
-                {
-                image = EQgn_indi_call_voip_held;
-                mask = EQgn_indi_call_voip_held_mask;
-                }
-            else 
-                {
-                image = EQgn_indi_call_held;
-                mask = EQgn_indi_call_held_mask;
-                }
-            break;
-        default:
-            break;
-        }
-    
-    if ( image != KErrNotFound && mask != KErrNotFound )
-        {
-        CEikImage* self = static_cast<CEikImage*>(this);
-        iImageManager.SetBitmapToImage( 
-           self, 
-           (TBMIcons)image, 
-           (TBMIcons)mask );
-        }
-
-    };
-
-// End of file
-
--- a/phoneuis/BubbleManager/Src/BMConfHeader.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,357 +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:  Conf Header
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMConfHeader.h"
-#include    "BMCallHeader.h"
-#include    "BMPanic.h"
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::CBubbleConfHeader
-// Default constructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleConfHeader::CBubbleConfHeader()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::NewL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleConfHeader* CBubbleConfHeader::NewL( 
-                                 const CBubbleManager::TBubbleId& aBubbleId )
-    {
-    CBubbleConfHeader* self = new( ELeave )CBubbleConfHeader( );    
-    CleanupStack::PushL( self );
-    self->ConstructL( aBubbleId );
-    CleanupStack::Pop( );    // self
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::ConstructL
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::ConstructL( 
-    const CBubbleManager::TBubbleId& aBubbleId )
-    {
-    CBubbleHeader::ConstructL( aBubbleId ); // call to parent's ConstructL
-    
-    iCalls = new ( ELeave ) 
-        CArrayPtrFlat<CBubbleCallHeader>( KBubbleMaxCallsInConf );    
-    iCalls->SetReserveL( KBubbleMaxCallsInConf );
-    
-    Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::~CBubbleConfHeader
-// Destructor
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleConfHeader::~CBubbleConfHeader()
-    {
-    if ( iCalls )
-        {
-        iCalls->Reset();
-        delete iCalls;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::IsConference
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleConfHeader::IsConference( ) const
-    {
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::Reset
-// Puts everything in initial state
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::Reset()
-    {
-    iIsUsed = EFalse;
-    iIsExpanded = EFalse;
-    iSelection = KBubbleNoHighlightRow;
-    
-    TInt callCount = iCalls->Count();
-    for ( TUint8 i = 0 ; i < callCount; i++ )
-        {
-        iCalls->At( i )->SetIsInConference( EFalse );
-        }
-    
-    iCalls->Delete( 0 , callCount );
-    ResetParent( ); // call to parent's Reset
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::AddRow
-// Adds new call to conference
-// If max calls are already set to conference function, panics
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::AddRow( CBubbleCallHeader& aCall )
-    {
-    __ASSERT_ALWAYS( iCalls->Count() < KBubbleMaxCallsInConf, 
-                     Panic( EBMPanicTooManyCallsInConference ) );
-    
-    iCalls->InsertL( iCalls->Count( ) , &aCall ); //space pre-reserved
-    aCall.SetIsInConference( ETrue );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::RemoveRow
-// Removes specified row from the conference call
-// If BubbleId doesn't exist in conference call function panics
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::RemoveRow( const CBubbleManager::TBubbleId& aCallId )
-    {
-    // Search the element.
-    TUint8 index = 0;
-    __ASSERT_ALWAYS( iCalls->Count() > 0, 
-                     Panic( EBMPanicConferenceCallEmpty ) );
-
-    if ( iCalls->Count() == 0 )
-        {
-        // Own panic function may not Panic the thread.
-        return;
-        }
-
-    while ( iCalls->At( index )->BubbleId() != aCallId )
-        {
-        index++;
-        __ASSERT_ALWAYS( index != iCalls->Count(), 
-                         Panic( EBMPanicBubbleIdDoesNotExist ) );
-        if ( index == iCalls->Count() )
-            {
-            // Own panic implementation does not panic the thread in every case
-            return;
-            }
-        }
-    
-    CBubbleManager::TBubbleId oldhighlightid = HighlightId();
-    
-    iCalls->At( index )->SetIsInConference( EFalse );
-    
-    iCalls->Delete( index );
-    
-    // move highlight to new position
-    if ( oldhighlightid != aCallId )
-        {
-        SetHighlightId( oldhighlightid );
-        }
-    else if ( iSelection >= iCalls->Count( ) )
-        {
-        iSelection = static_cast<TUint8>( iCalls->Count() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::GetRows
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::GetRows( 
-                           CArrayPtrFlat<CBubbleCallHeader>& aCalls ) const
-    {
-    aCalls.Delete( 0 , aCalls.Count() );
-    TInt callCount = iCalls->Count();
-    
-    for ( TUint8 outIndex = 0; outIndex < callCount ; outIndex++ )
-        {
-        aCalls.InsertL( outIndex , iCalls->At( outIndex ) ); // can't leave.
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::RowCount
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TUint8 CBubbleConfHeader::RowCount( ) const
-    {
-    return static_cast<TUint8>( iCalls->Count() );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::IsUsed
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleConfHeader::IsUsed( ) const
-    {
-    return iIsUsed;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::SetIsUsed
-// If set not used, reset the header.
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::SetIsUsed( const TBool& aIsUsed )
-    {
-    iIsUsed = aIsUsed;
-    if ( !iIsUsed )
-        {
-        Reset( );
-        }       
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::SetIsExpanded
-//
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::SetIsExpanded( TBool aIsExpanded )
-    {
-    iIsExpanded = aIsExpanded;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::IsExpanded
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleConfHeader::IsExpanded( ) const
-    {
-    return iIsExpanded;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::SetHighlight
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::SetHighlight( const CBubbleManager::TRowNumber& aRow )
-    {
-    __ASSERT_ALWAYS( aRow <= iCalls->Count(),
-                     Panic( EBMPanicInvalidConfRowNumber ) );
-    
-    iSelection = aRow;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::SetHighlightId
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::SetHighlightId( 
-                                const CBubbleManager::TBubbleId& aBubbleId )
-    {
-    if ( aBubbleId == KBubbleInvalidId )
-        {
-        iSelection = KBubbleNoHighlightRow;
-        return;
-        }
-    
-    for ( TInt i = 0 ; i < iCalls->Count() ; i++ )
-        {
-        if ( iCalls->At(i)->BubbleId() == aBubbleId )
-            {
-            iSelection = static_cast<CBubbleManager::TRowNumber>( i+1 );
-            return;
-            }
-        }
-    __ASSERT_DEBUG( EFalse , Panic( EBMPanicBubbleIdDoesNotExist ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::Highlight
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TRowNumber CBubbleConfHeader::Highlight() const
-    {
-    return iSelection;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::HighlightId
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TBubbleId CBubbleConfHeader::HighlightId() const
-    {
-    if ( iSelection == KBubbleNoHighlightRow || iSelection > iCalls->Count() )
-        {
-        return KBubbleInvalidId;
-        }  
-    return iCalls->At( iSelection - 1 )->BubbleId();
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::MoveHighlightOneUp
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::MoveHighlightOneUp()
-    {
-    if( iSelection == KBubbleNoHighlightRow || iSelection == 1 )
-        {
-        return;
-        }
-    
-    iSelection--;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfHeader::MoveHighlightOneDown
-// 
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfHeader::MoveHighlightOneDown()
-    {
-    if ( iSelection == KBubbleNoHighlightRow || 
-        iSelection >= iCalls->Count() )
-        {
-        return;
-        }
-    iSelection++;
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMConfPane.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,317 +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:  Conf Pane
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMConfPane.h"  //definition
-#include    "BMLayout.h" //coordinates
-#include    "BMLayout2.h" //coordinates
-#include    "BMLayout4.h" //coordinates
-#include    "BMUtils.h"     //utility functions
-
-#include    <eiklabel.h>    //CEikLabel
-#include    <eikimage.h>    //CEikImage
-#include    <eikenv.h>      //environment
-#include    <AknsDrawUtils.h>
-#include    <AknsConstants.h>
-#include    <skinlayout.cdl.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::ConstructL( )
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfPane::ConstructL( TBool aTouchCallHandling )
-    {
-    iTouchCallHandling = aTouchCallHandling;
-    iFullText.Set( NULL , 0 );
-    
-    iIsHighlighted = EFalse;
-    ActivateL();
-    }
-
-
-// Destructor
-CBubbleConfPane::~CBubbleConfPane()
-    {
-    Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::SizeChanged
-// called by framework when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfPane::SizeChanged()
-    { 
-    AknsUtils::RegisterControlPosition( this );
-
-    if ( iTouchCallHandling )
-        {
-        DoCall4Layout();                
-        }
-    else if ( !iCallObjectDisplay )
-        {
-        DoCall1Layout();            
-        }
-    else
-        {
-        DoCall2Layout();                
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfPane::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::CountComponentControls
-//
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleConfPane::CountComponentControls() const
-    {
-    TInt amount = 0;
-    if ( iCallIndication ) 
-        {
-        amount++;
-        }
-    if ( iCyphOffImage ) 
-        {
-        amount++;
-        }
-    if ( iTextLine )
-        {
-        amount++;
-        }
-    return amount;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::ComponentControl
-//
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleConfPane::ComponentControl( TInt aIndex ) const
-    {
-    TInt amount = -1;
-    if ( iCallIndication )
-        {
-        amount++;
-        }
-    if ( aIndex == amount ) 
-        {
-        return iCallIndication;
-        }
-    if ( iCyphOffImage )
-        {
-        amount++;
-        }
-    if ( aIndex == amount ) 
-        {
-        return iCyphOffImage;
-        }
-    if ( iTextLine ) 
-        {
-        amount++;
-        }
-    if ( aIndex == amount ) 
-        {
-        return iTextLine;
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::Draw
-// 
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfPane::Draw( const TRect& /*aRect*/ ) const
-    {
-    
-    CWindowGc& gc = SystemGc( );
-    gc.SetBrushColor( AKN_LAF_COLOR( BubbleLayout::LayoutColourWhite() ) );
-    
-    // Set texts to fit.
-    BubbleUtils::ClipToLabel( iFullText , iTextLine , iTextClipDirection );
-
-    // draw hightlight rectangles if needed
-    if ( iIsHighlighted ) 
-        {      
-        TBool highlightDrawn = EFalse;
-        TAknLayoutRect topLeft;
-        topLeft.LayoutRect(
-            iHighlight.Rect(), 
-            SkinLayout::List_highlight_skin_placing__general__Line_2() );
-
-        TAknLayoutRect bottomRight;
-        bottomRight.LayoutRect(
-            iHighlight.Rect(), 
-            SkinLayout::List_highlight_skin_placing__general__Line_5() );
-
-        TRect outerRect = TRect( topLeft.Rect().iTl, bottomRight.Rect().iBr );
-        TRect innerRect = TRect( topLeft.Rect().iBr, bottomRight.Rect().iTl );
-        
-        MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-        gc.SetPenStyle( CGraphicsContext::ENullPen );
-        highlightDrawn = AknsDrawUtils::DrawFrame( skin, gc, 
-                                                   outerRect,
-                                                   innerRect,
-                                                   KAknsIIDQsnFrList, 
-                                                   KAknsIIDQsnFrListCenter );
-
-        if ( !highlightDrawn )
-            {
-            iShadow.DrawRect( gc );
-            iHighlight.DrawRect( gc );
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::Reset
-//  
-// Put member variables to initial state.
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfPane::Reset( )
-    {
-    BubbleUtils::AddTextToEikLabel( iTextLine , KNullDesC );
-    iFullText.Set( NULL , 0 );
-    iIsHighlighted = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::SetHighlight
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfPane::SetHighlight( const TBool& aIsHighlighted )
-    {
-    iIsHighlighted = aIsHighlighted;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::GetCallIndicationHandle
-//  
-//  Returns pointer to image so that bubble outlook can attach bitmap to it
-// ---------------------------------------------------------------------------
-//
-CEikImage*& CBubbleConfPane::CallIndicationHandle( )
-    {
-    return iCallIndication;
-    } 
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::SetText
-//  
-//  
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfPane::SetText( TPtrC aText , 
-                        const CBubbleManager::TPhoneClippingDirection& aDir )
-    {
-    iFullText.Set( aText );
-    iTextClipDirection = aDir;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::DoCall1Layout
-// ---------------------------------------------------------------------------
-//    
-void CBubbleConfPane::DoCall1Layout()
-    {
-    // Deprecated
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::DoCall2Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfPane::DoCall2Layout()
-    {
-    BubbleUtils::LayoutImage( 
-        iCallIndication, 
-        Rect() , 
-        BubbleLayout2::popup_call2_conf_single_list_pane_call_status_icon() );
-
-    BubbleUtils::LayoutImage( 
-        iCyphOffImage, 
-        Rect() , 
-        BubbleLayout2::popup_call2_conf_single_list_pane_ciphering_icon() );
-
-    BubbleUtils::LayoutLabel( 
-        iTextLine, 
-        Rect(), 
-        BubbleLayout2::popup_call2_conf_single_list_pane_cli_text());
-
-    iShadow.LayoutRect( 
-        Rect() , 
-        BubbleLayout2::popup_call2_conf_single_list_highlight_pane() );
-
-    iHighlight.LayoutRect( 
-        Rect() ,
-        BubbleLayout2::popup_call2_conf_single_list_highlight_pane() ); 
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleConfPane::DoCall4Layout
-// ---------------------------------------------------------------------------
-//
-void CBubbleConfPane::DoCall4Layout()
-    {
-    BubbleUtils::LayoutImage( 
-        iCallIndication, 
-        Rect() , 
-        BubbleLayout4::popup_call4_conf_single_list_pane_call_status_icon() );
-
-    BubbleUtils::LayoutImage( 
-        iCyphOffImage, 
-        Rect() , 
-        BubbleLayout4::popup_call4_conf_single_list_pane_ciphering_icon() );
-
-    BubbleUtils::LayoutLabel( 
-        iTextLine, 
-        Rect(), 
-        BubbleLayout4::popup_call4_conf_single_list_pane_cli_text());
-
-    iShadow.LayoutRect( 
-        Rect() , 
-        BubbleLayout4::popup_call4_conf_single_list_highlight_pane() );
-
-    iHighlight.LayoutRect( 
-        Rect() ,
-        BubbleLayout4::popup_call4_conf_single_list_highlight_pane() ); 
-    }
-    
-// End of File
--- a/phoneuis/BubbleManager/Src/BMCustomManager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +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:  Customization manager
-*
-*/
-
-#include "BMCustomManager.h"
-#include "BMDefaultManager.h"
-#include "BMBubbleHeader.h"
-#include "BMPanic.h"
-
-
-// ---------------------------------------------------------------------------
-// TArrayItem class
-// ---------------------------------------------------------------------------
-//
-class TArrayItem
-    {
-public:
-    TArrayItem( 
-        CTelBubbleCustomElement* aElement,
-        TInt aPriority ): 
-            iElement( *aElement ),
-            iPriority( aPriority ) {};
-        
-    static TInt Compare( const TArrayItem& aFirst, const TArrayItem& aSecond )
-        {
-        if( aFirst.iPriority > aSecond.iPriority )
-            {
-            return 1;
-            }
-        else if( aFirst.iPriority < aSecond.iPriority )
-            {
-            return -1;
-            }
-        else
-            {
-            return 0;
-            }
-        }
-
-    CTelBubbleCustomElement* Item() { return &iElement; }
-private:
-    CTelBubbleCustomElement& iElement;
-    TInt iPriority;
-    };
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCustomManager::CBubbleCustomManager( CBubbleManager& aBubbleManager ) :
-    iBubbleManager( aBubbleManager )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleCustomManager::ConstructL()
-    {
-    // create default implementations
-    iDefaultManager = CBubbleDefaultManager::NewL( iBubbleManager );
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleCustomManager* CBubbleCustomManager::NewL(
-    CBubbleManager& aBubbleManager )
-    {
-    CBubbleCustomManager* self = 
-        new( ELeave ) CBubbleCustomManager( aBubbleManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleCustomManager::~CBubbleCustomManager()
-    {
-    for( TInt i = 0; i < iCustomizations.Count(); i++)
-        {
-        for( TInt j = 0; j < iCustomizations[j].Count(); j++ )
-            {
-            iCustomizations[i][j].Reset();
-            iCustomizations[i][j].Close();
-            }
-        }
-    
-    delete iDefaultManager;
-    }
-
-// ---------------------------------------------------------------------------
-// AddCustomElement
-// ---------------------------------------------------------------------------
-//
-void CBubbleCustomManager::AddCustomElement( 
-    const CBubbleManager::TBubbleId& aBubbleId,
-    CTelBubbleCustomElement* aElement,
-    TInt aPriority )
-    {
-    __ASSERT_DEBUG( aElement->Control(), Panic( EBMPanicCustomization ) ) ;
-    TRAPD( err, aElement->Control()->SetContainerWindowL( iBubbleManager ) );
-    
-    if ( !err )
-        {
-        TArrayItem item( aElement, aPriority );
-        iCustomizations[aBubbleId]
-                       [aElement->ElementType()].InsertInOrderAllowRepeats(
-            item, TLinearOrder<TArrayItem>(TArrayItem::Compare) );    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// RemoveCustomElement
-// ---------------------------------------------------------------------------
-//
-void CBubbleCustomManager::RemoveCustomElement(
-    const CBubbleManager::TBubbleId& aBubbleId,
-    CTelBubbleCustomElement* aElement )
-    {
-    RArray<TArrayItem>& array = 
-        iCustomizations[aBubbleId][aElement->ElementType()];
-    
-    for( TInt j = 0; j < array.Count(); j++ )
-        {
-        if( array[j].Item() == aElement )
-            {
-            array.Remove(j);
-            return;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// RemoveCustomElements
-// ---------------------------------------------------------------------------
-//
-void CBubbleCustomManager::RemoveCustomElements( 
-    const CBubbleManager::TBubbleId& aBubbleId )
-    {
-    for( TInt i = 0; i < iCustomizations[aBubbleId].Count(); i++ )
-        {
-        iCustomizations[aBubbleId][i].Reset();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// ReserveCustomElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement* CBubbleCustomManager::ReserveCustomElement( 
-    const CBubbleHeader& aBubbleHeader,
-    CTelBubbleCustomElement::TElementType aElement )
-    {
-    TBool isDefault;
-    return ReserveCustomElement( aBubbleHeader, aElement, isDefault );
-    }
-
-// ---------------------------------------------------------------------------
-// ReserveCustomElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement* CBubbleCustomManager::ReserveCustomElement( 
-    const CBubbleHeader& aBubbleHeader,
-    CTelBubbleCustomElement::TElementType aElement,
-    TBool& aIsDefault )
-    {
-    const CBubbleManager::TBubbleId bubbleId = aBubbleHeader.BubbleId();
-    CTelBubbleCustomElement* customElement = NULL;
-    aIsDefault = EFalse;
-    
-    if( bubbleId != KBubbleConferenceId &&
-        iCustomizations[bubbleId][aElement].Count() )
-        {
-        // Get custom implmentation.
-        customElement = 
-            iCustomizations[aBubbleHeader.BubbleId()][aElement][0].Item();
-        customElement->Control()->MakeVisible( ETrue );
-        }
-    
-    if ( !customElement )
-        {
-        // Get default implementation, if exists.
-        customElement = DefaultElement( aBubbleHeader, aElement );
-        if ( customElement )
-            {
-            aIsDefault = ETrue;
-            }
-        }
-    
-    return customElement;
-    }
-
-// ---------------------------------------------------------------------------
-// ReleaseCustomElement
-// ---------------------------------------------------------------------------
-//
-void CBubbleCustomManager::ReleaseCustomElement( 
-    CTelBubbleCustomElement*& aCustomElement )
-    {
-    if ( aCustomElement )
-        {
-        aCustomElement->Control()->MakeVisible( EFalse );
-        iDefaultManager->ReleaseElement( aCustomElement );
-        aCustomElement = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// DefaultElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement* CBubbleCustomManager::DefaultElement( 
-    const CBubbleHeader& aBubbleHeader,
-    CTelBubbleCustomElement::TElementType aElement )
-    {
-    CTelBubbleCustomElement* element = NULL;
-    
-    switch( aElement )
-        {
-        case CTelBubbleCustomElement::EBigCallIndicator:
-            {
-            element = iDefaultManager->ReserveBigCallIndicatorElement(
-                aBubbleHeader );
-            }
-            break;
-        case CTelBubbleCustomElement::ENumberTypeIcon:
-            {
-            element = iDefaultManager->ReserveNumberTypeIconElement(
-                aBubbleHeader );
-            }
-            break;
-        case CTelBubbleCustomElement::ESmallCallIndicator:
-            {
-            element = iDefaultManager->ReserveSmallCallIndicatorElement(
-                aBubbleHeader );
-            }
-            break;
-        case CTelBubbleCustomElement::ECallImage:
-            {
-            element = iDefaultManager->ReserveCallImageElement(
-                aBubbleHeader );
-            }
-            break;
-        default:
-            // NULL
-            break;
-        }
-    
-    if ( element )
-        {
-        // Make found element visible
-        element->Control()->MakeVisible( ETrue );
-        }
-    
-    return element;
-    }
-
--- a/phoneuis/BubbleManager/Src/BMDefaultManager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +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:  Customization manager
-*
-*/
-
-#include "BMDefaultManager.h"
-#include "BMBubbleImageManager.h"
-#include "BMBubbleHeader.h"
-#include "BMCallStatusIndiBig.h"
-#include "BMCallStatusIndiSmall.h"
-#include "BMCallStatusAnimBig.h"
-#include "BMCallStatusAnimSmall.h"
-#include "BMNumberTypeIcon.h"
-#include "BMPanic.h"
-#include <telbubblecallimage.h>
-
-// max amounts per type
-const TInt KBubbleMaxCallStatusIndiBig  = 2;
-const TInt KBubbleMaxCallStatusIndiSmall  = 7;
-const TInt KBubbleMaxCallStatusAnimBig  = 2;
-const TInt KBubbleMaxCallStatusAnimSmall  = 1;
-const TInt KBubbleMaxNumberTypeIcon  = 2;
-const TInt KBubbleMaxCallerImageDrawer = 1;
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleDefaultManager::CBubbleDefaultManager( CBubbleManager& aBubbleManager )
-    : iBubbleManager( aBubbleManager )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleDefaultManager::ConstructL()
-    {
-    iMaxAmounts.Append( KBubbleMaxCallStatusIndiBig );
-    iMaxAmounts.Append( KBubbleMaxCallStatusIndiSmall );
-    iMaxAmounts.Append( KBubbleMaxCallStatusAnimBig );
-    iMaxAmounts.Append( KBubbleMaxCallStatusAnimSmall );
-    iMaxAmounts.Append( KBubbleMaxNumberTypeIcon );
-    iMaxAmounts.Append( KBubbleMaxCallerImageDrawer );
-    
-    const TInt kDifferentElements = iMaxAmounts.Count();
-
-    for ( TInt i = 0 ; i < kDifferentElements ; i++ )
-        {
-        iAvailabilities.Append( 0 );
-        }
-
-    // Create main array
-    iElements = new( ELeave ) 
-                    CArrayPtrFlat<CSingleElement>( kDifferentElements );
-    iElements->SetReserveL( kDifferentElements );
-
-    // Create arrays inside the main array and add them to the main array
-    TInt resource = 0;
-    for ( resource = 0 ; resource < kDifferentElements ; resource++ )
-        {
-        CSingleElement* single = new( ELeave ) 
-                                    CSingleElement( iMaxAmounts[resource] );
-        CleanupStack::PushL( single );
-        single->SetReserveL( iMaxAmounts[resource] );
-        iElements->AppendL( single );
-        CleanupStack::Pop( single );
-        }
-
-    // Create implementations to individual arrays:
-    for ( resource = 0 ; resource < kDifferentElements ; resource++ )
-        {
-        TInt maxCellAmount = iMaxAmounts[resource];
-        CSingleElement* single = iElements->At( resource );
-        switch( resource )
-            {
-            case EBMDefaultCallStatusIndiBig:
-                {
-                for ( TInt i = 0 ; i < maxCellAmount ; i++ )
-                    {
-                    CBubbleCallStatusIndiBig* indiControl = 
-                        CBubbleCallStatusIndiBig::NewL( 
-                            iBubbleManager.ImageManager() );
-                    CleanupStack::PushL( indiControl );
-                    indiControl->SetContainerWindowL( iBubbleManager );
-                    indiControl->SetParent( &iBubbleManager );
-                    CTelBubbleCustomElement* indiElem =  
-                        CTelBubbleCustomElement::NewL( indiControl, 
-                            CTelBubbleCustomElement::EBigCallIndicator );
-                    CleanupStack::PushL( indiElem );
-                    single->AppendL( indiElem );
-                    CleanupStack::Pop(2,indiControl);
-                    }
-                break;
-                }
-                
-            case EBMDefaultCallStatusIndiSmall:
-                {
-                for ( TInt i = 0 ; i < maxCellAmount ; i++ )
-                    {
-                    CBubbleCallStatusIndiSmall* indiControl = 
-                        CBubbleCallStatusIndiSmall::NewL( 
-                            iBubbleManager.ImageManager() );
-                    CleanupStack::PushL( indiControl );
-                    indiControl->SetContainerWindowL( iBubbleManager );
-                    indiControl->SetParent( &iBubbleManager );
-                    CTelBubbleCustomElement* indiElem =  
-                        CTelBubbleCustomElement::NewL( indiControl, 
-                            CTelBubbleCustomElement::ESmallCallIndicator );
-                    CleanupStack::PushL( indiElem );
-                    single->AppendL( indiElem );
-                    CleanupStack::Pop(2,indiControl);
-                    }
-                break;
-                }
-                
-            case EBMDefaultCallStatusAnimBig:
-                {
-                for ( TInt i = 0 ; i < maxCellAmount ; i++ )
-                    {
-                    CBubbleCallStatusAnimBig* animControl = 
-                        CBubbleCallStatusAnimBig::NewL( 
-                            iBubbleManager.ImageManager() );
-                    CleanupStack::PushL( animControl );
-                    animControl->SetContainerWindowL( iBubbleManager );
-                    animControl->SetParent( &iBubbleManager );
-                    CTelBubbleCustomElement* animElem =  
-                        CTelBubbleCustomElement::NewL( animControl, 
-                            CTelBubbleCustomElement::EBigCallIndicator );
-                    CleanupStack::PushL( animElem );
-                    single->AppendL( animElem );
-                    CleanupStack::Pop(2,animControl);
-                    }
-                break;
-                }
-                
-            case EBMDefaultCallStatusAnimSmall:
-                {
-                for ( TInt i = 0 ; i < maxCellAmount ; i++ )
-                    {
-                    CBubbleCallStatusAnimSmall* animControl = 
-                        CBubbleCallStatusAnimSmall::NewL( 
-                            iBubbleManager.ImageManager() );
-                    CleanupStack::PushL( animControl );
-                    animControl->SetContainerWindowL( iBubbleManager );
-                    animControl->SetParent( &iBubbleManager );
-                    CTelBubbleCustomElement* animElem =  
-                        CTelBubbleCustomElement::NewL( animControl, 
-                            CTelBubbleCustomElement::ESmallCallIndicator );
-                    CleanupStack::PushL( animElem );
-                    single->AppendL( animElem );
-                    CleanupStack::Pop(2,animControl);
-                    }
-                break;
-                }
-                
-            case EBMDefaultNumberTypeIcon:
-                {
-                for ( TInt i = 0 ; i < maxCellAmount ; i++ )
-                    {
-                    CBubbleNumberTypeIcon* numberTypeIcon = 
-                        CBubbleNumberTypeIcon::NewL( 
-                            iBubbleManager.ImageManager() );
-                    CleanupStack::PushL( numberTypeIcon );
-                    numberTypeIcon->SetContainerWindowL( iBubbleManager );
-                    numberTypeIcon->SetParent( &iBubbleManager );
-                    CTelBubbleCustomElement* numberTypeIconElem =  
-                        CTelBubbleCustomElement::NewL( numberTypeIcon, 
-                            CTelBubbleCustomElement::EBigCallIndicator );
-                    CleanupStack::PushL( numberTypeIconElem );
-                    single->AppendL( numberTypeIconElem );
-                    CleanupStack::Pop( 2, numberTypeIcon );
-                    }
-                break;
-                }
-                
-            case EBMDefaultCallImageControl:
-                {
-                for ( TInt i = 0 ; i < maxCellAmount ; i++ )
-                    {
-                    CTelBubbleCallImage* image = 
-                        CTelBubbleCallImage::NewL();
-                    CleanupStack::PushL( image );
-                    image->SetContainerWindowL( iBubbleManager );
-                    image->SetParent( &iBubbleManager );
-                    CTelBubbleCustomElement* imageElem =  
-                        CTelBubbleCustomElement::NewL( image, 
-                            CTelBubbleCustomElement::ECallImage );
-                    CleanupStack::PushL( imageElem );
-                    single->AppendL( imageElem );
-                    CleanupStack::Pop(2,image);
-                    }
-                break;
-                }    
-                
-            default:
-                Panic( EBMPanicUnhandledSwitchCase );
-            }
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleDefaultManager* CBubbleDefaultManager::NewL(
-    CBubbleManager& aBubbleManager )
-    {
-    CBubbleDefaultManager* self = 
-        new( ELeave ) CBubbleDefaultManager( aBubbleManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleDefaultManager::~CBubbleDefaultManager()
-    {
-    if ( iElements )
-        {
-        for ( TInt i = 0 ; i < iElements->Count() ; i++ )
-            {
-            if ( iElements->At( i ) )
-                {
-                iElements->At( i )->ResetAndDestroy();
-                }
-            }
-        iElements->ResetAndDestroy();
-        delete iElements;
-        }
-
-    iAvailabilities.Close();
-    iMaxAmounts.Close();    
-    }
-
-// ---------------------------------------------------------------------------
-// ReserveCallIndicatorElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement* CBubbleDefaultManager::ReserveBigCallIndicatorElement(
-    const CBubbleHeader& aHeader )
-    {
-    CTelBubbleCustomElement* element;
-    CBubbleManager::TPhoneCallState state = aHeader.CallState();
-    
-    if ( state == CBubbleManager::EOutgoing ||
-         state == CBubbleManager::EAlertToDisconnected )
-        {
-        // Image
-        element = ReserveElement( EBMDefaultCallStatusIndiBig );
-        CBubbleCallStatusIndi* indi = 
-            static_cast<CBubbleCallStatusIndi*> ( element->Control() ); 
-        indi->ReadBubbleHeader( aHeader );
-        }
-    else
-        {
-        // Animation
-        element = ReserveElement( EBMDefaultCallStatusAnimBig );
-        CBubbleCallStatusAnim* anim =
-            static_cast<CBubbleCallStatusAnim*> ( element->Control() ); 
-        anim->ReadBubbleHeader( aHeader );
-        }    
-    
-    return element;
-    }
-
-// ---------------------------------------------------------------------------
-// ReserveSmallCallIndicatorElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement* CBubbleDefaultManager::ReserveSmallCallIndicatorElement(
-    const CBubbleHeader& aHeader )
-    {
-    CTelBubbleCustomElement* element;
-    CBubbleManager::TPhoneCallState state = aHeader.CallState();
-    
-    if( state == CBubbleManager::EOutgoing ||
-        state == CBubbleManager::EWaiting ||
-        state == CBubbleManager::EAlerting )
-        {
-        // Show animation
-        element = ReserveElement( EBMDefaultCallStatusAnimSmall );
-        CBubbleCallStatusAnim* anim =
-            static_cast<CBubbleCallStatusAnim*> ( element->Control() ); 
-        anim->ReadBubbleHeader( aHeader );
-        }
-    else
-        {
-        // Show image
-        element = ReserveElement( EBMDefaultCallStatusIndiSmall );
-        CBubbleCallStatusIndi* indi = 
-            static_cast<CBubbleCallStatusIndi*> ( element->Control() ); 
-        indi->ReadBubbleHeader( aHeader );
-        }
-    
-    return element;
-    }
-
-// ---------------------------------------------------------------------------
-// ReserveNumberTypeIconElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement* CBubbleDefaultManager::ReserveNumberTypeIconElement(
-     const CBubbleHeader& aHeader )
-    {
-    CTelBubbleCustomElement* element = 
-        ReserveElement( EBMDefaultNumberTypeIcon );
-    
-    CBubbleNumberTypeIcon* icon = 
-        static_cast<CBubbleNumberTypeIcon*> ( element->Control() ); 
-
-    icon->ReadBubbleHeader( aHeader );
-    
-    return element;
-    }
-
-// ---------------------------------------------------------------------------
-// ReserveCallerImageElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement* CBubbleDefaultManager::ReserveCallImageElement(
-    const CBubbleHeader& /*aHeader*/ )
-    {
-    return ReserveElement( EBMDefaultCallImageControl );
-    }
-
-// ---------------------------------------------------------------------------
-// ReserveElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement* CBubbleDefaultManager::ReserveElement(
-    TBubbleDefaultElements aType )
-    {
-    CTelBubbleCustomElement* element = NULL;
-    TUint amount = iElements->At( aType )->Count();
-    // 1 mean is reserved and 0 free slot
-    TUint& available = iAvailabilities[aType]; 
-    TUint bit = 1; // start from first bit
-    for ( TUint slot = 0 ; slot < amount ; slot++ )
-        {
-        // if flag is one the seat is taken...
-        if ( available&bit )
-            {
-            bit = bit<<1; //move to next bit of for next round
-            continue;
-            }
-
-        // so we found a free slot
-        element = iElements->At( aType )->At( slot );
-        if ( element != NULL )
-            {
-            available |= bit; // set the corrensponding bit 
-                              // for reserved indicator
-            }
-        break;
-        }
-    __ASSERT_DEBUG( element != NULL , 
-                    Panic( EBMPanicCustomization ) );
-    return element;
-    }
-
-// ---------------------------------------------------------------------------
-// ReleaseElement
-// ---------------------------------------------------------------------------
-//
-void CBubbleDefaultManager::ReleaseElement(
-    CTelBubbleCustomElement*& aElement )
-    {
-    if ( aElement == NULL )
-        {
-        return;
-        }
-
-    for ( TInt i = 0 ; i < iElements->Count() ; i++ )
-        {
-        CSingleElement* single = iElements->At( i );
-        TUint amount = single->Count();
-        TUint& available = iAvailabilities[i]; // 1 mean is reserved 
-                                                   // and 0 free slot
-        TUint bit = 1; // start from first bit
-        for ( TUint slot = 0 ; slot < amount ; slot++ )
-            {
-            if ( single->At( slot ) == aElement )
-                {
-                __ASSERT_DEBUG( available&bit, 
-                                Panic( EBMPanicCustomization ) );
-                available &= ~bit; // zero the corrensponding bit 
-                                   // for freed indicator
-                aElement = NULL;
-                break;
-                }
-            bit = bit<<1; //move to next bit of for next round
-            }
-        }
-    }
-
--- a/phoneuis/BubbleManager/Src/BMImageReader.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +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:  Reader for JPEG/GIF/BMP images (ImageHandlingLib wrapper)
-*
-*/
-
-
-#include <coemain.h>
-#include <IHLImageFactory.h>
-#include <IHLViewerFactory.h>
-#include <MIHLFileImage.h>
-#include <MIHLBitmap.h>
-#include <MIHLImageViewer.h>
-#include <IHLBitmapUtil.h>
-
-#include "BMImageReader.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleImageReader::CBubbleImageReader()                                          
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageReader::ConstructL( const TDesC& aFileName )
-    {
-    iSourceImage = IHLImageFactory::OpenFileImageL( 
-        CCoeEnv::Static()->FsSession(),
-        aFileName );
-    }
-
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleImageReader* CBubbleImageReader::NewL(
-    const TDesC& aFileName )
-    {
-    CBubbleImageReader* self = new( ELeave ) CBubbleImageReader();
-    CleanupStack::PushL( self );
-    self->ConstructL( aFileName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleImageReader::~CBubbleImageReader()
-    {
-    delete iViewerEngine;
-    delete iDestinationBitmap;
-    delete iSourceImage;
-    }
-
-
-// ---------------------------------------------------------------------------
-// StartReadingL
-// ---------------------------------------------------------------------------
-//    
-void CBubbleImageReader::StartReadingL(
-    const TSize& aTargetSize,
-    const TReal& aScaleFactor,
-    const TRect& aClipRect, 
-    MBubbleMediaReaderObserver* aObserver )
-    {
-    iObserver = aObserver;
-    
-    iDestinationBitmap = IHLBitmap::CreateL();
-    
-    iViewerEngine = IHLViewerFactory::CreateImageViewerL(
-       aTargetSize,
-       *iSourceImage,
-       *iDestinationBitmap,
-       *this );
-       
-    iViewerEngine->SetZoomRatio( aScaleFactor );
-    iViewerEngine->SetViewerSize( aTargetSize );
-    iViewerEngine->SetSourceRectPosition( aClipRect.iTl );
-    }
-
-
-// ---------------------------------------------------------------------------
-// SetScaleAndClip
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleImageReader::SetScaleAndClip(
-    const TSize& aTargetSize,
-    const TReal& aScaleFactor,
-    const TRect& aClipRect )
-    {
-    TInt err = KErrNone;
-    
-    if ( iViewerEngine )
-        {
-        iViewerEngine->SetZoomRatio( aScaleFactor );
-        iViewerEngine->SetViewerSize( aTargetSize );
-        iViewerEngine->SetSourceRectPosition( aClipRect.iTl );
-        }
-    else
-        {
-        err = KErrNotReady;    
-        }        
-    
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// CancelReadingL
-// ---------------------------------------------------------------------------
-//    
-void CBubbleImageReader::CancelReading()
-    {
-    delete iViewerEngine;
-    iViewerEngine = NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// CancelReadingL
-// ---------------------------------------------------------------------------
-//
-const TSize CBubbleImageReader::SourceSize() const 
-    { 
-    return iSourceImage->Size(); 
-    }
-
-// ---------------------------------------------------------------------------
-// CancelReadingL
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleImageReader::IsAnimation() const
-    { 
-    //return iSourceImage->IsAnimation();
-    return EFalse; // Not supported. 
-    };    
-
-// ---------------------------------------------------------------------------
-// Play
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageReader::Play()
-    {
-    iViewerEngine->Play();
-    }
-
-// ---------------------------------------------------------------------------
-// Stop
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageReader::Stop()
-    {
-    iViewerEngine->Stop();
-    } 
-
-// ---------------------------------------------------------------------------
-// ViewerBitmapChangedL
-// ---------------------------------------------------------------------------
-//    
-void CBubbleImageReader::ViewerBitmapChangedL()
-    {
-    iFrameBuffer = &iDestinationBitmap->Bitmap();
-    iMask = iDestinationBitmap->HasMask() ? &iDestinationBitmap->Mask() :
-        NULL;
-
-    HandleReadingComplete();    
-    }
-
-// ---------------------------------------------------------------------------
-// ViewerError
-// ---------------------------------------------------------------------------
-//
-void CBubbleImageReader::ViewerError( TInt aError )
-    {
-    HandleReadingError( aError );    
-    }
-
--- a/phoneuis/BubbleManager/Src/BMMainPaneControl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +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:  Call status indicator
-*
-*/
-
-
-#include "BMBubbleManager.h"
-#include "BMMainPaneControl.h"
-#include "BMCustomManager.h"
-#include "BMBubbleHeader.h"
-#include "BMUtils.h"
-#include "BMCallObjectManager.h"
-#include "BMBubbleImageManager.h"
-
-#include <telbubblecallimage.h>
-#include <AknIconUtils.h>
-#include <layoutmetadata.cdl.h>
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleMainPaneControl::CBubbleMainPaneControl( 
-    CBubbleManager& aBubbleManager,  
-    CBubbleCallObjectManager& aCallObjectManager ) : 
-    iBubbleManager( aBubbleManager ), 
-    iCallObjectManager ( aCallObjectManager )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleMainPaneControl::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleMainPaneControl* CBubbleMainPaneControl::NewL(
-    CBubbleManager& aBubbleManager,
-    CBubbleCallObjectManager& aCallObjectManager )
-    {
-    CBubbleMainPaneControl* self = 
-        new( ELeave ) CBubbleMainPaneControl( aBubbleManager, 
-                                               aCallObjectManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleMainPaneControl::~CBubbleMainPaneControl()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ReadBubbleHeader
-// ---------------------------------------------------------------------------
-//
-void CBubbleMainPaneControl::ReadBubbleHeader( 
-    const CBubbleHeader& aHeader )
-    {
-    iBubble = aHeader.BubbleId();
-    iBitmap = aHeader.CallObjectImage();
-    iMask = aHeader.CallObjectImageMask();
-    iThreeLinedBubble = ( aHeader.CNAP().Length() > 0 );
-    
-    if ( iBitmap )
-        {
-        CFbsBitmap* bitmap;
-        CFbsBitmap* mask;
-        TBool bitmapOwnership;
-        TBool maskOwnership;
-        
-        TRAPD(err, PrepareBitmapsL( bitmap, 
-                                    bitmapOwnership, 
-                                    mask, 
-                                    maskOwnership,
-                                    aHeader.CallObjectImageType() == 
-                                    CBubbleHeader::EThemeImage ) );
-        
-        if ( err )
-            {
-            return;
-            }
-
-        iCallImage = iBubbleManager.CustomManager().ReserveCustomElement(
-                aHeader, CTelBubbleCustomElement::ECallImage );
-        SizeChanged();
-        
-        if ( iCallImage->ControlType() == 
-             CTelBubbleCustomElement::EBubbleCallImage )
-            {
-            CTelBubbleCallImage* image = 
-                static_cast<CTelBubbleCallImage*> ( iCallImage->Control() );
-            image->SetImage( bitmap, EFalse, mask, maskOwnership );
-            } 
-        
-        iIsUsed = ETrue;
-        MakeVisible( ETrue );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// PrepareBitmapsL
-// ---------------------------------------------------------------------------
-//
-void CBubbleMainPaneControl::PrepareBitmapsL( 
-    CFbsBitmap*& aBitmap,
-    TBool& aBitmapOwnership, 
-    CFbsBitmap*& aMask,
-    TBool& aMaskOwnership,
-    TBool aIsScalable )
-    {
-    aBitmap = iBitmap;
-    aMask = iMask;
-    aBitmapOwnership = EFalse;
-    aMaskOwnership = EFalse;
-    
-    if ( aIsScalable )
-        {
-        // Switch to preloaded image when available
-        if ( iCallObjectManager.CallThemeImageIcon() )
-            {
-            aBitmap = iCallObjectManager.CallThemeImageIcon()->Bitmap();
-            aMask = iCallObjectManager.CallThemeImageIcon()->Mask();
-            }
-    
-        // Secure that SVG image is initialized
-        User::LeaveIfError( AknIconUtils::SetSize( aBitmap,
-             iBubbleManager.MainPaneImageRect().Size(),
-             EAspectRatioPreservedSlice ) != KErrNone );
-        }
-    
-    TSize imageSize = aBitmap->SizeInPixels();
-    TSize tinyImageSize( iBubbleManager.MainPaneImageRect( ETrue ).Size() );
-    TBool fullScreen = !( ( imageSize.iWidth <= tinyImageSize.iWidth ) &&
-                          ( imageSize.iHeight <= tinyImageSize.iHeight ) );  
-    
-    if ( iBubbleManager.IsTouchCallHandling() &&
-         fullScreen )
-        {
-        // Attach display mask to image.
-        CEikImage* displayMask = new( ELeave ) CEikImage;
-        CleanupStack::PushL( displayMask ); 
-    
-        TBMIcons maskId = 
-            Layout_Meta_Data::IsLandscapeOrientation() ?
-            EQgn_indi_call4_image_mask_lsc :
-            EQgn_indi_call4_image_mask_prt;
-    
-        iBubbleManager.ImageManager().SetBitmapToImage( 
-            displayMask,
-            maskId );
-    
-        User::LeaveIfError( AknIconUtils::SetSize( 
-            const_cast<CFbsBitmap*> (displayMask->Bitmap()),
-            imageSize,
-            EAspectRatioNotPreserved ) );
-            
-        if ( aMask )
-            {
-            // Combine display mask and image mask.
-            CFbsBitmap* combinedMask = 
-                BubbleUtils::CreateCombinedMaskL(
-                    displayMask->Bitmap(),
-                    aMask );        
-            aMask = combinedMask;
-            }
-        else
-            {
-            aMask = 
-                const_cast<CFbsBitmap*> ( displayMask->Bitmap());
-            displayMask->SetPictureOwnedExternally( ETrue );
-            }                        
-            
-        aMaskOwnership = ETrue;    
-        CleanupStack::PopAndDestroy( displayMask );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Reset
-// ---------------------------------------------------------------------------
-//
-void CBubbleMainPaneControl::Reset()
-    {
-    if ( iIsUsed )
-        {
-        iIsUsed = EFalse;
-        MakeVisible( EFalse );
-        iBubble = KErrNotFound;
-        
-        if ( iCallImage && 
-             iCallImage->ControlType() == 
-             CTelBubbleCustomElement::EBubbleCallImage )
-            {
-            CTelBubbleCallImage* image = 
-                static_cast<CTelBubbleCallImage*> ( iCallImage->Control() );
-            image->SetImage( NULL, EFalse, NULL, EFalse );
-            }
-        
-        iBubbleManager.CustomManager().ReleaseCustomElement( iCallImage );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// DrawBitmaps
-// ---------------------------------------------------------------------------
-//
-void CBubbleMainPaneControl::DrawBitmaps( const TRect& aRect ) const
-    {
-    if ( iCallImage )
-        {
-        // ToDo: propagate to components
-        iCallImage->Control()->DrawForeground( aRect );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleId
-// ---------------------------------------------------------------------------
-//
-CBubbleManager::TBubbleId CBubbleMainPaneControl::BubbleId() const
-    {
-    return iBubble;
-    }
-
-// ---------------------------------------------------------------------------
-// IsUsed
-// ---------------------------------------------------------------------------
-//
-TBool CBubbleMainPaneControl::IsUsed() const
-    {
-    return iIsUsed;
-    }
-
-// ---------------------------------------------------------------------------
-// SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleMainPaneControl::SizeChanged()
-    {
-    if ( iCallImage )
-        {
-        iCallImage->Control()->SetRect( Rect() );
-        if ( iCallImage->ControlType() == 
-             CTelBubbleCustomElement::EBubbleCallImage )
-            {
-            CTelBubbleCallImage* image = 
-                static_cast<CTelBubbleCallImage*> ( iCallImage->Control() );
-            TRect imageArea( iBubbleManager.MainPaneImageRect( 
-                                 ETrue, iThreeLinedBubble ) );
-            
-            image->SetImagePlacingArea( imageArea );
-            }
-        }
-    }
-
-// END OF FILE
-
--- a/phoneuis/BubbleManager/Src/BMMediaReader.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Base class for media readers.
-*
-*/
-
-
-#include "BMMediaReader.h"
-#include "BMMediaReaderObserver.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleMediaReader::CBubbleMediaReader()
-    {
-    
-    }    
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleMediaReader::~CBubbleMediaReader()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// HandleReadingComplete
-// ---------------------------------------------------------------------------
-//
-void CBubbleMediaReader::HandleReadingComplete()
-    {
-    if ( iObserver )
-        {
-        iObserver->FrameBufferDataChanged();            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// HandleReadingError
-// ---------------------------------------------------------------------------
-//
-void CBubbleMediaReader::HandleReadingError( TInt aError )
-    {
-    if ( iObserver )
-        {
-        iObserver->ReaderError( aError );            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// FrameBuffer
-// ---------------------------------------------------------------------------
-//    
-const CFbsBitmap* CBubbleMediaReader::FrameBuffer() const 
-    { 
-    return iFrameBuffer;
-    }
-
-// ---------------------------------------------------------------------------
-// Mask
-// ---------------------------------------------------------------------------
-//    
-const CFbsBitmap* CBubbleMediaReader::Mask() const
-    { 
-    return iMask;
-    }
-    
-
--- a/phoneuis/BubbleManager/Src/BMMediaReaderFactory.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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:  Creator of media readers.
-*
-*/
-
-
-#include "BMMediaReaderFactory.h"
-#include "BMImageReader.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CreateReaderL
-// ---------------------------------------------------------------------------
-//
-MBubbleMediaReader* BubbleMediaReaderFactory::CreateReaderL( 
-    const TDesC& aFileName )
-    {
-    // To be done: Reader selection to be based on MIME type
-    // or file extension. Now there is just one default reader
-    // available. 
-    return CBubbleImageReader::NewL( aFileName );  
-    }
-
-
-    
-    
-
--- a/phoneuis/BubbleManager/Src/BMNumberTypeIcon.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +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:  Number type icon
-*
-*/
-
-
-#include "BMNumberTypeIcon.h"
-#include "BMBubbleImageManager.h"
-#include "BMBubbleHeader.h"
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleNumberTypeIcon::CBubbleNumberTypeIcon( 
-    CBubbleImageManager& aImageManager ) :
-    iImageManager( aImageManager )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleNumberTypeIcon::ConstructL()
-    {
-    CTelBubbleImage::ConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleNumberTypeIcon* CBubbleNumberTypeIcon::NewL(
-        CBubbleImageManager& aImageManager )
-    {
-    CBubbleNumberTypeIcon* self = 
-        new( ELeave ) CBubbleNumberTypeIcon( aImageManager );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleNumberTypeIcon::~CBubbleNumberTypeIcon()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ReadBubbleHeader
-// ---------------------------------------------------------------------------
-//
-void CBubbleNumberTypeIcon::ReadBubbleHeader( const CBubbleHeader& aHeader )
-    {
-    iNumberType = aHeader.NumberType();
-    iCallFlags = aHeader.CallFlags();
-    }
-
-// ---------------------------------------------------------------------------
-// MakeVisible
-// ---------------------------------------------------------------------------
-//
-void CBubbleNumberTypeIcon::MakeVisible(TBool aVisible)
-    {
-    CTelBubbleImage::MakeVisible( aVisible );
-    
-    if( aVisible )
-        {
-        TInt picture = KErrNotFound;
-        TInt pictureMask = KErrNotFound;
-        
-        switch ( iNumberType )
-            {
-            case CBubbleManager::EHome:
-                if ( iCallFlags&CBubbleManager::EDiverted )
-                    {
-                    picture = EQgn_prop_nrtyp_home_div;
-                    pictureMask = EQgn_prop_nrtyp_home_div_mask;
-                    }
-                else
-                    {
-                    picture = EQgn_prop_nrtyp_home;
-                    pictureMask = EQgn_prop_nrtyp_home_mask;
-                    }
-                break;
-            case CBubbleManager::EMobile:
-                if ( iCallFlags&CBubbleManager::EDiverted )
-                    {
-                    picture = EQgn_prop_nrtyp_mobile_div;
-                    pictureMask = EQgn_prop_nrtyp_mobile_div_mask;
-                    }
-                else
-                    {
-                    picture = EQgn_prop_nrtyp_mobile;
-                    pictureMask = EQgn_prop_nrtyp_mobile_mask;
-                    }
-                break;
-            case CBubbleManager::EWork:
-                if ( iCallFlags&CBubbleManager::EDiverted )
-                    {
-                    picture = EQgn_prop_nrtyp_work_div;
-                    pictureMask = EQgn_prop_nrtyp_work_div_mask;
-                    }
-                else
-                    {
-                    picture = EQgn_prop_nrtyp_work;
-                    pictureMask = EQgn_prop_nrtyp_work_mask;
-                    }
-                break;
-            case CBubbleManager::EPhone:
-                if ( iCallFlags&CBubbleManager::EDiverted )
-                    {
-                    picture = EQgn_prop_nrtyp_phone_div;
-                    pictureMask = EQgn_prop_nrtyp_phone_div_mask;
-                    }
-                else
-                    {
-                    picture = EQgn_prop_nrtyp_phone;
-                    pictureMask = EQgn_prop_nrtyp_phone_mask;
-                    }
-                break;
-            case CBubbleManager::EFaxNumber:
-                if ( iCallFlags&CBubbleManager::EDiverted )
-                    {
-                    picture = EQgn_indi_call_diverted;
-                    pictureMask = EQgn_indi_call_diverted_mask;
-                    }
-                else
-                    {
-                    picture = EQgn_prop_nrtyp_fax;
-                    pictureMask = EQgn_prop_nrtyp_fax_mask;
-                    }
-                break;
-            case CBubbleManager::EPager:
-                if ( iCallFlags&CBubbleManager::EDiverted )
-                    {
-                    picture = EQgn_indi_call_diverted;
-                    pictureMask = EQgn_indi_call_diverted_mask;
-                    }
-                else
-                    {
-                    picture = EQgn_prop_nrtyp_pager;
-                    pictureMask = EQgn_prop_nrtyp_pager_mask;
-                    }
-                break;
-            case CBubbleManager::ECar:
-                if ( iCallFlags&CBubbleManager::EDiverted )
-                    {
-                    picture = EQgn_indi_call_diverted;
-                    pictureMask = EQgn_indi_call_diverted_mask;
-                    }
-                else
-                    {
-                    picture = EQgn_prop_nrtyp_car;
-                    pictureMask = EQgn_prop_nrtyp_car_mask;
-                    }
-                break;            
-            case CBubbleManager::EAssistant:
-                if ( iCallFlags&CBubbleManager::EDiverted )
-                    {
-                    picture = EQgn_indi_call_diverted;
-                    pictureMask = EQgn_indi_call_diverted_mask;
-                    }
-                else
-                    {
-                    picture = EQgn_prop_nrtyp_assistant;
-                    pictureMask = EQgn_prop_nrtyp_assistant_mask;
-                    }
-                break;            
-            case CBubbleManager::ENotSet: // Flow through
-            default:
-                if ( iCallFlags&CBubbleManager::EDiverted )
-                    {
-                    picture = EQgn_indi_call_diverted;
-                    pictureMask = EQgn_indi_call_diverted_mask;
-                    }
-                break;
-            }
-
-        if ( iCallFlags&CBubbleManager::EVideo )
-            {
-            // No number type icon for video call
-            if ( iCallFlags&CBubbleManager::EDiverted )
-                {
-                picture = EQgn_indi_call_diverted;
-                pictureMask = EQgn_indi_call_diverted_mask;
-                }
-            else
-                {
-                picture = KErrNotFound;
-                pictureMask = KErrNotFound;            
-                }            
-            }
-        
-        if ( pictureMask == KErrNotFound )
-            {
-            CEikImage* self = static_cast<CEikImage*>(this);
-            iImageManager.SetBitmapToImage( 
-               self, 
-               (TBMIcons)picture );
-            }
-        else
-            {
-            CEikImage* self = static_cast<CEikImage*>(this);
-            iImageManager.SetBitmapToImage( 
-               self, 
-               (TBMIcons)picture, 
-               (TBMIcons)pictureMask );
-            }
-
-        }
-    else
-        {
-        SetPicture( NULL, NULL );
-        }
-
-    
-    };
-
-// End of file
--- a/phoneuis/BubbleManager/Src/BMPanic.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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: 
-*     Panic function
-*
-*/
-
-
-#include "BMPanic.h"
-
-#ifdef _DEBUG
-    _LIT( KBMPanicCategory, "Bubblemanager" );
-#endif    
-
-GLREF_C void Panic( 
-#ifdef _DEBUG                  
-                TBMPanic aPanic
-#else           
-                TBMPanic /*aPanic*/
-#endif
-                )
-    {
-    // May be used in debug purposes. We do not really want 
-    // to kill phone app's thread..
-    __ASSERT_DEBUG( EFalse, User::Panic( KBMPanicCategory, aPanic ) );
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMResourceManager.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +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:  Resource Manager
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMResourceManager.h"
-#include    "BMBubbleManager.h"
-#include    "BMUtils.h"
-#include    "BMPanic.h"
-#include    "BMBubbleImage.h"
-#include    <eikimage.h>            //CEikImage
-#include    <eiklabel.h>            //CEikLabel
-#include    <AknsUtils.h>
-
-// CONSTANTS
-const TInt KBubbleMaxEikImages = 17;
-const TInt KBubbleMaxEikLabels = 6;
-
-// ================= MEMBER FUNCTIONS * ======================================
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CBubbleResourceManager::CBubbleResourceManager( CBubbleManager& aParentWindow )
-: iParentWindow( aParentWindow )
-    {
-    }
-
-// Symbian OS default constructor can leave.
-void CBubbleResourceManager::ConstructL()
-    {
-    // Set max values to each resource
-    iMaxAmounts.Append( KBubbleMaxEikImages );
-    iMaxAmounts.Append( KBubbleMaxEikLabels );
-
-    const TInt kDifferentResources = iMaxAmounts.Count();
-
-    // Zero all availabilities
-    for ( TInt i = 0 ; i < kDifferentResources ; i++ )
-        {
-        iAvailabilities.Append( 0 );
-        }
-    
-
-    // Create main array
-    iResources = new( ELeave ) 
-                    CArrayPtrFlat<CSingleResource>( kDifferentResources );
-    iResources->SetReserveL( kDifferentResources );
-
-    // Create arrays inside the main array and add them to the main array
-    TInt resource = 0;
-    for ( resource = 0 ; resource < kDifferentResources ; resource++ )
-        {
-        CSingleResource* single = new( ELeave ) 
-                                    CSingleResource( iMaxAmounts[resource] );
-        CleanupStack::PushL( single );
-        single->SetReserveL( iMaxAmounts[resource] );
-        iResources->AppendL( single );
-        CleanupStack::Pop(); // single
-        }
-
-    //Create components to individual arrays:
-    for ( resource = 0 ; resource < kDifferentResources ; resource++ )
-        {
-        TInt maxCellAmount = iMaxAmounts[resource];
-        CSingleResource* single = iResources->At( resource );
-        switch( resource )
-            {
-            case EBMEikImage:
-                {
-                for ( TInt i = 0 ; i < maxCellAmount ; i++ )
-                    {
-                    CBubbleImage* newImage = new( ELeave ) CBubbleImage;
-                    CleanupStack::PushL( newImage );
-                    newImage->SetContainerWindowL( iParentWindow );
-                    newImage->SetParent( &iParentWindow );
-                    newImage->SetPictureOwnedExternally( ETrue );
-                    newImage->SetPicture( NULL );
-                    newImage->MakeVisible( EFalse );
-                    single->AppendL( newImage );
-                    CleanupStack::Pop(); //newImage
-                    }
-                break;
-                }
-            case EBMEikLabel:
-                {
-                for ( TInt i = 0 ; i < maxCellAmount ; i++ )
-                    {
-                    CEikLabel* newText = new( ELeave ) CEikLabel;
-                    CleanupStack::PushL( newText );
-                    newText->SetContainerWindowL( iParentWindow );
-                    newText->SetParent( &iParentWindow );
-                    newText->SetBufferReserveLengthL( KBubbleLabelMaxLength );
-                    newText->SetTextL( KNullDesC );
-                    single->AppendL( newText );
-                    CleanupStack::Pop(); //newText
-                    }
-                break;
-                }
-            default:
-                Panic( EBMPanicUnhandledSwitchCase );
-            }
-        }
-    }
-
-// Two-phased constructor.
-CBubbleResourceManager* CBubbleResourceManager::NewL( 
-    CBubbleManager& aParentWindow )
-    {
-    CBubbleResourceManager* self = 
-                        new (ELeave) CBubbleResourceManager( aParentWindow );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-    
-// Destructor
-CBubbleResourceManager::~CBubbleResourceManager()
-    {
-    if ( iResources )
-        {
-        // Destroy the inner arrays
-        for ( TInt i = 0 ; i < iResources->Count() ; i++ )
-            {
-            if ( iResources->At( i ) )
-                {
-                iResources->At( i )->ResetAndDestroy();
-                }
-            }
-        iResources->ResetAndDestroy();
-        delete iResources;
-        }
-
-    iAvailabilities.Close();
-    iMaxAmounts.Close();
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CBubbleResourceManager::ActivateL
-// Activates all the controls.
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleResourceManager::ActivateL()
-    {
-    TInt resourcesTotal = iResources->Count();
-    for ( TInt oneResource = 0 ; oneResource < resourcesTotal ; oneResource++ )
-        {
-        CSingleResource* singleResource = iResources->At( oneResource );
-        TInt elementsTotal = singleResource->Count();
-        for ( TInt element = 0 ; element < elementsTotal ; element++)
-            {
-            singleResource->At( element )->ActivateL();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleResourceManager::ReserveEikLabel
-// Gets free label and returns pointer to it.
-// 
-// ---------------------------------------------------------------------------
-//
-CEikLabel* CBubbleResourceManager::ReserveEikLabel()
-    {
-    CEikLabel* label = NULL;
-    ReserveResource( (CCoeControl*&)label , EBMEikLabel );
-    return label;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleResourceManager::ReleaseEikLabel
-// Zeros the label and releases it.
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleResourceManager::ReleaseEikLabel( CEikLabel*& aLabel )
-    {
-    if ( aLabel )
-        {
-        BubbleUtils::AddTextToEikLabel( aLabel , KNullDesC );
-        }
-    ReleaseResource( (CCoeControl*&)aLabel , EBMEikLabel );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleResourceManager::ReserveEikImage
-// Gets new image object and sets it visible.
-// 
-// ---------------------------------------------------------------------------
-//
-CEikImage* CBubbleResourceManager::ReserveEikImage( 
-    TBool aIsBackgroundImage )
-    {
-    CBubbleImage* image = NULL;
-    ReserveResource( ( CCoeControl*& )image , EBMEikImage );
-    if ( image )
-        {
-        if( aIsBackgroundImage )
-            {
-            image->SetAsBackgroundImage( ETrue );
-            }
-        image->MakeVisible( ETrue );
-        }
-    return image;
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleResourceManager::ReleaseEikImage
-// NULLs the bitmaps, makes invisible and releases the image.
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleResourceManager::ReleaseEikImage( CEikImage*& aImage )
-    {
-    if ( aImage )
-        {
-        aImage->SetPicture( NULL , NULL );
-        aImage->SetPictureOwnedExternally( ETrue );
-        aImage->MakeVisible( EFalse );
-        static_cast<CBubbleImage*>( aImage )->SetAsBackgroundImage( EFalse );
-        }
-    ReleaseResource( (CCoeControl*&)aImage , EBMEikImage );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CBubbleResourceManager::ReserveResource
-// Reserves some CCoeControl. Uses the second parameter for indexing
-// the main arrays.
-// ---------------------------------------------------------------------------
-//
-void CBubbleResourceManager::ReserveResource( CCoeControl*& aResource , 
-                                              TBubbleResource aType )
-    {
-    TUint amount = iResources->At( aType )->Count();
-    // 1 mean is reserved and 0 free slot
-    TUint& available = iAvailabilities[aType]; 
-    TUint bit = 1; // start from first bit
-    for ( TUint slot = 0 ; slot < amount ; slot++ )
-        {
-        // if flag is one the seat is taken...
-        if ( available&bit )
-            {
-            bit = bit<<1; //move to next bit of for next round
-            continue;
-            }
-
-        // so we found a free slot
-        aResource = iResources->At( aType )->At( slot );
-        if ( aResource != NULL )
-            {
-            available |= bit; // set the corrensponding bit 
-                              // for reserved indicator
-            }
-        break;
-        }
-    __ASSERT_DEBUG( aResource != NULL , Panic( EBMPanicImages ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleResourceManager::ReleaseResource
-// Releases CCoeControl object.
-// 
-// ---------------------------------------------------------------------------
-//
-void CBubbleResourceManager::ReleaseResource( CCoeControl*& aResource , 
-                                              TBubbleResource aType )
-    {
-    if ( aResource == NULL )
-        {
-        return;
-        }
-
-    CSingleResource* single = iResources->At( aType );
-    TUint amount = single->Count();
-    TUint& available = iAvailabilities[aType]; // 1 mean is reserved 
-                                               // and 0 free slot
-    TUint bit = 1; // start from first bit
-    for ( TUint slot = 0 ; slot < amount ; slot++ )
-        {
-        if ( single->At( slot ) == aResource )
-            {
-            __ASSERT_DEBUG( available&bit , Panic( EBMPanicImages ) );
-            available &= ~bit; // zero the corrensponding bit 
-                               // for freed indicator
-            aResource = NULL;
-            break;
-            }
-        bit = bit<<1; //move to next bit of for next round
-        }
-    __ASSERT_DEBUG( aResource == NULL , Panic( EBMPanicImages ) );
-    }
-
-//  End of File  
--- a/phoneuis/BubbleManager/Src/BMTouchPane.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,473 +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:  Container for touch controls.
-*
-*/
-
-
-#include <layoutmetadata.cdl.h>
-#include <barsread.h>
-
-#include "BMTouchPane.h"
-#include "BMPanic.h"
-#include "BMLayout4.h"
-#include "BMLayout6.h"
-#include "BMTouchPaneButton.h"
-
-// CONSTANTS
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleTouchPane::CBubbleTouchPane()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPane::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleTouchPane* CBubbleTouchPane::NewL()
-    {
-    CBubbleTouchPane* self = new(ELeave) CBubbleTouchPane;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleTouchPane::~CBubbleTouchPane()
-    {
-    iButtons.ResetAndDestroy();
-    iButtons.Close();
-    
-    iButtonsToBeDeleted.ResetAndDestroy();
-    iButtonsToBeDeleted.Close();
-    delete iIdleProcessor; 
-    }
-
-// ---------------------------------------------------------------------------
-// SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPane::SizeChanged( )
-    {
-    if ( !iButtons.Count() )
-        return;
-    
-    // button index
-    //  1 2  OR  1 2 3 4
-    //  3 4
-    TInt i = 0;
-    
-    TInt rows = 0;
-    TInt columns = 0;
-    BubbleLayout6::button_grp_row_column_count(0, rows, columns);
-    for ( TInt row = 0; row < rows; row++ )
-        {
-        for ( TInt col = 0; col < columns; col++ )
-            {
-            TAknLayoutRect buttonPane;        
-            buttonPane.LayoutRect( 
-                Rect(), 
-                BubbleLayout6::cell_call6_button_pane(0, col, row) );
-            
-            if ( i < iButtons.Count() && iButtons[i] )
-                {
-                // Button control layout according to background
-                AknLayoutUtils::LayoutControl( 
-                    iButtons[i], 
-                    buttonPane.Rect(), 
-                    BubbleLayout6::button_call6_background_graphics(0)); 
-                
-                TAknLayoutText text;
-                text.LayoutText( buttonPane.Rect(), 
-                        BubbleLayout6::button_call6_function_text(0));
-
-                TAknLayoutRect icon;
-                icon.LayoutRect( buttonPane.Rect(), 
-                        BubbleLayout6::button_call6_function_graphics(0));   
-                
-                iButtons[i]->SetIconSize( icon.Rect().Size() );
-                iButtons[i++]->SetLayout( text, icon.Rect() );
-                }
-            }            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CountComponentControls
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleTouchPane::CountComponentControls( ) const
-    {
-    return iButtons.Count();            
-    }
-
-// ---------------------------------------------------------------------------
-// ComponentControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CBubbleTouchPane::ComponentControl( TInt aIndex ) const
-    {
-    return iButtons[ aIndex ];
-    }
-
-// ---------------------------------------------------------------------------
-// HandlePointerEventL
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPane::HandlePointerEventL
-    ( const TPointerEvent& aPointerEvent )           
-    {
-    CCoeControl::HandlePointerEventL( aPointerEvent );
-    }
-
-// ---------------------------------------------------------------------------
-// HandleControlEventL
-// ---------------------------------------------------------------------------
-//    
-void CBubbleTouchPane::HandleControlEventL(
-    CCoeControl* aControl, 
-    TCoeEvent aEventType)
-    {
-    if ( aEventType != EEventStateChanged )
-        {
-        return;
-        }
-    
-    CBubbleTouchPaneButton* tappedButton = NULL;
-    for ( TInt i=0; i < iButtons.Count(); i++ )
-        {
-        if ( iButtons[i] == aControl )
-            {
-            tappedButton = iButtons[i];
-            break;
-            }    
-        }
-    if ( tappedButton )
-        {
-        iDeleteButtonsAsync = ETrue;
-        CEikAppUi* appUi = CEikonEnv::Static()->EikAppUi();
-        appUi->HandleCommandL( tappedButton->CommandId( ETrue ) );
-        iDeleteButtonsAsync = EFalse;
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// HandleResourceChange
-// ---------------------------------------------------------------------------
-//    
-void CBubbleTouchPane::HandleResourceChange( TInt aType )
-    {
-    for ( TInt i=0; i < iButtons.Count(); i++ )
-        {
-        iButtons[i]->HandleResourceChange( aType );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// SetUpdating
-// ---------------------------------------------------------------------------
-//    
-void CBubbleTouchPane::SetUpdating( TBool aUpdating )
-    {
-    iUpdating = aUpdating;    
-    }
-
-// ---------------------------------------------------------------------------
-// IdleCallback
-// ---------------------------------------------------------------------------
-//     
-TInt CBubbleTouchPane::IdleCallback( TAny* aThis )
-    {
-    CBubbleTouchPane* self = 
-            static_cast<CBubbleTouchPane*>( aThis );
-    self->DoDeleteButtonsInIdle();
-    return KErrNone;                
-    }
-
-// ---------------------------------------------------------------------------
-// DoDeleteButtonsInIdle
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPane::DoDeleteButtonsInIdle()
-    {
-    iButtonsToBeDeleted.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// SetButtonSet
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleTouchPane::SetButtonSet( TInt aResourceId )
-    {
-    TRAPD( err, SetButtonSetL( aResourceId ) );
-    
-    return err;    
-    }
-
-// ---------------------------------------------------------------------------
-// SetButtonSetL
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPane::SetButtonSetL( TInt aResourceId )
-    {
-    // reset touch pane
-    if ( iDeleteButtonsAsync )
-        {
-        // swap buttons to another array
-        for ( TInt i=0; i < iButtons.Count(); i++  )
-            {
-            iButtonsToBeDeleted.AppendL( iButtons[i] );    
-            }
-            
-        iButtons.Reset();            
-        }
-    else
-        {
-        iButtons.ResetAndDestroy();    
-        }        
-        
-    if ( iButtonsToBeDeleted.Count() )        
-        {
-        if ( !iIdleProcessor )
-            {
-            iIdleProcessor = CIdle::NewL( CActive::EPriorityIdle );                
-            }
-        
-        if ( !iIdleProcessor->IsActive() )
-            {
-            TCallBack idleCallback( IdleCallback, this );
-            iIdleProcessor->Start( idleCallback );            
-            }            
-        }
-    
-    iCurrentButtonSetId = 0;
-    
-    // load new buttons
-    if ( aResourceId )    
-        {
-        TResourceReader reader;
-        iCoeEnv->CreateResourceReaderLC( reader, aResourceId );
-        LoadButtonsFromResourceL( reader );
-        CleanupStack::PopAndDestroy();
-        iCurrentButtonSetId = aResourceId;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// LoadButtonsFromResourceL
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPane::LoadButtonsFromResourceL( TResourceReader& aReader )
-    {
-    __ASSERT_DEBUG( (iButtons.Count() == 0), Panic( EBMPanicTouchPane ) );
-    
-    TInt flags = aReader.ReadInt16();
-    
-    TInt buttonCount = aReader.ReadInt16();
-    for ( TInt i=0; i < buttonCount; i++ )    
-        {
-        TInt buttonId( aReader.ReadInt32() );
-        TResourceReader buttonReader;
-        iCoeEnv->CreateResourceReaderLC( buttonReader, buttonId );
-        
-        CBubbleTouchPaneButton* button = CBubbleTouchPaneButton::NewL( 
-                iIconProvider, flags );
-        CleanupStack::PushL( button );
-        button->ConstructFromResouceL( buttonReader ); 
-        
-        CleanupStack::Pop( button );
-        CleanupStack::PopAndDestroy(); // buttonReader
-        
-        iButtons.Append( button );
-        }
-        
-    for ( TInt i=0; i < iButtons.Count(); i++ )
-        {
-        CBubbleTouchPaneButton* button = iButtons[i];
-        button->SetContainerWindowL( *this );
-        button->SetObserver( this );    
-        button->ActivateL();
-        }        
-    
-    SizeChanged();
-    if ( IsVisible() )        
-        {
-        if ( iUpdating )
-            {
-            DrawDeferred();                
-            }
-        else
-            {
-            DrawNow();            
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// SetButtonState
-// ---------------------------------------------------------------------------
-//    
-void CBubbleTouchPane::SetButtonState( TInt aCommand )
-    {
-    for ( TInt i=0; i < iButtons.Count(); i++ )
-        {
-        TBool drawNow = ( IsVisible() && !iUpdating ) ? ETrue : EFalse;
-        iButtons[i]->SetState( aCommand, drawNow );    
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// SetButtonDimmed
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPane::SetButtonDimmed( TInt aCommand, TBool aDimmed )
-    {
-    TInt buttonCount = iButtons.Count();
-    
-    for ( TInt i=0; i < buttonCount; i++ )
-        {
-        if ( iButtons[i]->CommandId() == aCommand )
-            {
-            iButtons[i]->SetDimmed( aDimmed );                
-            }
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// NumberOfButtonsInPane
-// ---------------------------------------------------------------------------
-//    
-TInt CBubbleTouchPane::NumberOfButtonsInPane()  const
-    {
-    return CountComponentControls();
-    }
-
-// ---------------------------------------------------------------------------
-// ButtonCommandId
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleTouchPane::ButtonCommandId( TInt aButtonIndex ) const
-    {
-    return iButtons[ aButtonIndex ]->CommandId();    
-    }
-
-// ---------------------------------------------------------------------------
-// ButtonHasState
-// ---------------------------------------------------------------------------
-//    
-TBool CBubbleTouchPane::ButtonHasState( TInt aButtonIndex, TInt aCommand ) const
-    {
-    return iButtons[ aButtonIndex ]->HasState( aCommand );   
-    }
-
-// ---------------------------------------------------------------------------
-// ReplaceButton
-// ---------------------------------------------------------------------------
-//    
-TInt CBubbleTouchPane::ReplaceButton( TInt aButtonIndex, TInt aResourceId )
-    {
-    TInt err;
-    
-    if ( 0 <= aButtonIndex && aButtonIndex < iButtons.Count() &&
-         aResourceId )
-        {
-        TRAP( err, ReplaceButtonL( aButtonIndex, aResourceId ) );
-        }
-    else
-        {
-        err = KErrGeneral;    
-        }        
-            
-    return err;    
-    }
-
-// ---------------------------------------------------------------------------
-// ReplaceButton
-// ---------------------------------------------------------------------------
-//    
-void CBubbleTouchPane::ReplaceButtonL( TInt aButtonIndex, TInt aResourceId )
-    {
-    TResourceReader reader;
-    iCoeEnv->CreateResourceReaderLC( reader, aResourceId );
-       
-    CBubbleTouchPaneButton* button = CBubbleTouchPaneButton::NewL( 
-                                     iIconProvider);
-    CleanupStack::PushL( button );
-    button->ConstructFromResouceL( reader ); 
-        
-    CleanupStack::Pop( button );
-    CleanupStack::PopAndDestroy(); // reader
-        
-    button->SetContainerWindowL( *this );
-    button->SetObserver( this );    
-    button->ActivateL();
-        
-    if ( !iDeleteButtonsAsync )
-        {
-        delete iButtons[ aButtonIndex ];
-        iButtons[ aButtonIndex ] = NULL;        
-        }
-    else
-        {
-        iButtonsToBeDeleted.Append( iButtons[ aButtonIndex ] );
-        iButtons[ aButtonIndex ] = NULL;    
-        if ( !iIdleProcessor )
-            {
-            iIdleProcessor = CIdle::NewL( CActive::EPriorityIdle );                
-            }
-            
-        if ( !iIdleProcessor->IsActive() )
-            {
-            TCallBack idleCallback( IdleCallback, this );
-            iIdleProcessor->Start( idleCallback );            
-            }
-        }            
-        
-    iButtons[ aButtonIndex ] = button;
-        
-    SizeChanged();
-    if ( IsVisible() )        
-        {
-        DrawDeferred();            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// SetIconProvider
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPane::SetIconProvider(
-    MBubbleTouchPaneIconProvider* aIconProvider )
-    {
-    iIconProvider = aIconProvider;    
-    }
--- a/phoneuis/BubbleManager/Src/BMTouchPaneButton.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,412 +0,0 @@
-/*
-* Copyright (c) 2006-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:  Button for touch pane.
-*
-*/
-
-#include <AknBidiTextUtils.h>
-#include <aknsdrawutils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <gulicon.h>
-#include <barsread.h> 
-#include <AknsFrameBackgroundControlContext.h>
-#include <aknsconstants.h>
-
-#include "bmtouchpanebutton.h"
-#include "BMTouchPaneInterface.h"
-#include "bmpanic.h"
-
-
-const TInt KBubbleButtonText = 255;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleTouchPaneButton::CBubbleTouchPaneButton(
-    MBubbleTouchPaneIconProvider* aIconProvider,
-    const TInt aFlags ) :
-    CAknButton( aFlags ),
-    iIconProvider( aIconProvider )
-    {
-    }
-    
-// -----------------------------------------------------------------------------
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CBubbleTouchPaneButton* CBubbleTouchPaneButton::NewL( 
-        MBubbleTouchPaneIconProvider* aIconProvider, 
-        const TInt aFlags )
-    {
-    CBubbleTouchPaneButton* self = 
-    new(ELeave) CBubbleTouchPaneButton( aIconProvider, aFlags );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// Symbian 2nd phase constructor 
-// -----------------------------------------------------------------------------
-//
-void CBubbleTouchPaneButton::ConstructL()
-    {
-    CAknButton::ConstructL();
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleTouchPaneButton::~CBubbleTouchPaneButton()
-    {
-    iCommands.Close();   
-    }
-        
-// ---------------------------------------------------------------------------
-// CBubbleTouchPaneButton::ConstructFromResouceL
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPaneButton::ConstructFromResouceL( TResourceReader& aReader )
-    {
-    
-    TInt commandCount = aReader.ReadInt16();
-    for ( TInt i=0; i < commandCount; i++ )    
-        {
-        TInt command = aReader.ReadInt16();
-        iCommands.AppendL( command );
-        }
-    
-    aReader.ReadInt16(); // this is mystery?
-    
-    CAknButton::ConstructFromResourceL( aReader );
-    
-    // function button text color
-    SetTextColorIds( KAknsIIDQsnTextColors, 
-                              EAknsCIQsnTextColorsCG65 );
-    
-    // Customize icons
-    if ( iIconProvider )
-        {
-        LoadCustomIcons( *iIconProvider );
-        }
-    
-    if ( State()->Icon() )
-        {
-        SetIconScaleMode( EAspectRatioPreserved );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleTouchPaneButton::LoadCustomIconsL
-// ---------------------------------------------------------------------------
-//    
-void CBubbleTouchPaneButton::LoadCustomIcons(
-    MBubbleTouchPaneIconProvider& aIconProvider )
-    {
-    TInt commandCount = iCommands.Count();
-    
-    for ( TInt i=0; i < commandCount; i++ )    
-        {
-        CGulIcon* icon = NULL;
-           
-        TRAPD( err, icon = aIconProvider.GetIconForCommandL( 
-                               iCommands[i] ) );
-     
-        if ( !err && icon )       
-            {
-            CAknButtonState* state = State( i );
-            // State takes ownership of icon
-            state->SetIcon( icon );                
-            }
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleTouchPaneButton::CommandId
-// ---------------------------------------------------------------------------
-//
-TInt CBubbleTouchPaneButton::CommandId( TBool aPreviousState ) const
-    {
-    __ASSERT_DEBUG( iCommands.Count(), Panic( EBMPanicTouchPane ) );
-    
-    TInt command;
-    if ( iCommands.Count() > 1 )
-        {
-        TInt index =  StateIndex();
-        if ( aPreviousState )
-            {
-            // return command from previous state
-            index -= 1;
-            if ( index < 0 )
-                {
-                index = iCommands.Count() - 1;    
-                }
-            }
-        
-        command = iCommands[index];            
-        }
-    else
-        {
-        command = iCommands[0];    
-        }        
-    
-    return command;    
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleTouchPaneButton::SetState
-// ---------------------------------------------------------------------------
-//    
-void CBubbleTouchPaneButton::SetState( TInt aCommand,
-                                       TBool aDrawNow )
-    {
-    for ( TInt i=0; i < iCommands.Count(); i++ )
-        {
-        if ( iCommands[i] == aCommand )
-            {
-            if ( i != StateIndex() )
-                {
-                SetCurrentState( i, aDrawNow );                
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleTouchPaneButton::SetDimmed
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPaneButton::SetDimmed( TBool aDimmed )
-    {
-    CAknButton::SetDimmed( aDimmed );
-    DrawDeferred();                
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleTouchPaneButton::HasState
-// ---------------------------------------------------------------------------
-//   
-TBool CBubbleTouchPaneButton::HasState( TInt aCommand ) const
-    {
-    TBool hasState = EFalse;
-    
-    for ( TInt i=0; i < iCommands.Count(); i++ )
-        {
-        if ( iCommands[i] == aCommand )
-            {
-            hasState = ETrue;
-            break;    
-            }
-        }
-    
-    return hasState;
-    }
-   
-
-// ---------------------------------------------------------------------------
-// Draw button, text and icon.
-// ---------------------------------------------------------------------------
-// 
-void CBubbleTouchPaneButton::Draw( const TRect& aRect ) const
-    {
-    TAknsItemID frameId( KAknsIIDQsnFrButtonNormal );
-    TAknLayoutRect centerLayout;
-    centerLayout.LayoutRect( aRect,
-        AknLayoutScalable_Avkon::toolbar_button_pane_g1().LayoutLine() );
-    TRect innerRect = centerLayout.Rect();
-
-    CWindowGc& gc = SystemGc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    TInt commandCount = iCommands.Count();
-    
-    for ( TInt i=0; i < commandCount; i++ )    
-        {
-        frameId = iIconProvider->GetButtonForCommandL( 
-                                   iCommands[i]);
-
-        if ( iButtonPressed )
-            {
-            frameId = SelectPressedButton( frameId );
-            }
-        else if ( IsDimmed() )
-            {
-            frameId = SelectDimmedButton( frameId );
-            }
-    
-        iBgContext->SetFrame( frameId );
-        iBgContext->SetCenter( KAknsIIDQsnFrButtonCenterNormal );
-        iBgContext->SetFrameRects( aRect, innerRect );
-    
-        if ( !AknsDrawUtils::Background( skin, 
-                                        iBgContext, 
-                                        NULL, 
-                                        gc, 
-                                        aRect, 
-                                        KAknsDrawParamNoClearUnderImage ) )
-            {
-            gc.SetBrushColor( KRgbRed );
-            gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-            gc.DrawRect( aRect );
-            }
-        LayoutIconAndText( gc );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// Draw text and icon according to the layout.
-// --------------------------------------------------------------------------
-
-void CBubbleTouchPaneButton::LayoutIconAndText( CWindowGc& aGc ) const
-    {
-    TRect parentRect( Rect() );
-    CAknButtonState* state = State();
-    if ( !state  ||       
-         !state->Icon() ||
-         !state->Text().Length() )
-        {
-        return;
-        }    
-
-    TRgb penColor;
-    TRgb brushColor;
-    GetTextColors( penColor ); 
-    
-    // buffer for visually ordered text
-    TBuf< KBubbleButtonText + KAknBidiExtraSpacePerLine> visualText; 
-    TInt clipWidth = iLayoutText.TextRect().Width();
-    
-    // bidi processing - using AknBidiTextUtils.
-    AknBidiTextUtils::ConvertToVisualAndClip(
-        state->Text(),
-        visualText,
-        *iLayoutText.Font(),
-        clipWidth,
-        clipWidth );
-    
-    iLayoutText.DrawText( aGc, visualText, EFalse, penColor );
-    
-    const CGulIcon* icon = GetCurrentIcon();
-    if ( icon )
-        {
-        CFbsBitmap* buttonBmp = icon->Bitmap();
-        CFbsBitmap* buttonMask = icon->Mask();
-   
-        if( buttonBmp && buttonMask )
-            {
-            aGc.BitBltMasked( iIconRect.iTl, buttonBmp,
-                    iIconRect.Size(), buttonMask, ETrue );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleTouchPaneButton::SetLayout
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPaneButton::SetLayout( const TAknLayoutText aLayoutText,
-                                        const TRect aIconRect ) 
-    {
-    iLayoutText = aLayoutText;
-    iIconRect = aIconRect;
-    }    
-
-// ---------------------------------------------------------------------------
-// CBubbleTouchPaneButton::HandleResourceChange
-// ---------------------------------------------------------------------------
-//
-void CBubbleTouchPaneButton::HandleResourceChange( TInt aType )
-    {
-    CAknButton::HandleResourceChange( aType );
-    
-    if ( aType == KAknsMessageSkinChange &&
-         iIconProvider )
-        {
-        LoadCustomIcons( *iIconProvider );
-        }    
-    }
-
-// -----------------------------------------------------------------------------
-// Gets the correct text color.
-// -----------------------------------------------------------------------------
-//
-void CBubbleTouchPaneButton::GetTextColors( TRgb& aPenColor ) const 
-   { 
-   if ( IsDimmed() ) 
-       {
-       aPenColor = iEikonEnv->ControlColor( EColorButtonTextDimmed, *this ); 
-       }
-   else if ( iButtonPressed )
-       {
-       aPenColor = iEikonEnv->ControlColor( EColorButtonTextPressed, *this );
-       }
-   else
-       {
-       aPenColor = iEikonEnv->ControlColor( EColorButtonText, *this );
-       }
-   }
-
-// -----------------------------------------------------------------------------
-// Selects the correct pressed button.
-// -----------------------------------------------------------------------------
-//
-TAknsItemID CBubbleTouchPaneButton::SelectPressedButton( TAknsItemID frameId ) const
-   { 
-   if( frameId == KAknsIIDQsnFrButtonNormalAnswer )
-       {
-       return KAknsIIDQsnFrButtonPressedAnswer;
-       }
-   else if( frameId == KAknsIIDQsnFrButtonNormalReject )
-       {
-       return KAknsIIDQsnFrButtonPressedReject;
-       }
-   else if( frameId == KAknsIIDQsnFrButtonNormalHold )
-       {
-       return KAknsIIDQsnFrButtonPressedHold;   
-       }
-   else
-       {
-       return KAknsIIDQsnFrButtonPressed;
-       }
-   }
-
-// -----------------------------------------------------------------------------
-// Selects the correct dimmed button.
-// -----------------------------------------------------------------------------
-//
- TAknsItemID CBubbleTouchPaneButton::SelectDimmedButton( TAknsItemID frameId ) const
-   {
-   if( frameId == KAknsIIDQsnFrButtonNormalAnswer )
-       {
-       return KAknsIIDQsnFrButtonInactiveAnswer;
-       }
-   else if( frameId == KAknsIIDQsnFrButtonNormalReject )
-       {
-       return KAknsIIDQsnFrButtonInactiveReject;
-       }
-   else if( frameId == KAknsIIDQsnFrButtonNormalHold )
-       {
-       return KAknsIIDQsnFrButtonInactiveHold;
-       }
-   else
-       {
-       return KAknsIIDQsnFrButtonInactive;
-       }
-   }
--- a/phoneuis/BubbleManager/Src/BMUtils.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1783 +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:  Utils
-*
-*/
-
-
-// INCLUDE FILES
-#include    "BMUtils.h"             // definition
-#include    "BMBubbleHeader.h"      // CBubbleHeader
-#include    "BMBubbleImageManager.h"// CBubbleImageManager
-#include    "BMResourceManager.h"   // Resource pool
-#include    "BMPanic.h"             // Panic
-#include    "BMLayout.h"
-#include    "BMLayout2.h"
-#include    "BubbleManagerPaths.h"
-#include    "BMCallObjectManager.h"
-#include    "BMCallObjectUtils.h"
-#include    "telbubblecustomelement.h"
-
-#include    <eikimage.h>            // CEikImage
-#include    <eiklabel.h>            // CEikLabel
-#include    <bldvariant.hrh>
-#include    <AknsUtils.h>
-#include    <AknBidiTextUtils.h>
-#include    <featmgr.h>
-#include    <aknlayoutscalable_apps.cdl.h>
-#include    <AknLayout2ScalableDef.h>
-#include    <applayout.cdl.h>
-#include    <layoutmetadata.cdl.h>
-
-#include    <AknsDrawUtils.h>
-#include	<akniconconfig.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::SetCallTypePane
-//  Selects item for call type pane (small bubbles and connected big bubbles)
-// ---------------------------------------------------------------------------
-//
-TBool BubbleUtils::SetCallTypePane( const CBubbleHeader& aHeader, 
-                                      CEikImage*& aTypeImage1, 
-                                      CEikImage*& aTypeImage2, 
-                                      CBubbleManager& aBubbleManager )
-    {
-    CBubbleManager::TPhoneCallState callState = aHeader.CallState( );
-    TUint32 callFlags = aHeader.CallFlags( ); 
-    
-    TInt picture1 = KErrNotFound;
-    TInt picture2 = KErrNotFound;
-    TInt picture1mask = KErrNotFound;
-    TInt picture2mask = KErrNotFound;
-
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:
-        case CBubbleManager::EIncoming:
-        case CBubbleManager::EOutgoing:
-        case CBubbleManager::EAlertToDisconnected:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EActive:
-        case CBubbleManager::EOnHold:
-            if ( callFlags&CBubbleManager::ELine2 )
-                {
-                picture1 = EQgn_indi_call_line2;
-                picture1mask = EQgn_indi_call_line2_mask;
-                }
-            
-            break;
-        case CBubbleManager::ENone:
-        default:
-            picture1 = KErrNotFound;
-            picture2 = KErrNotFound;
-            break;
-        }
-
-    if ( picture1 == KErrNotFound )
-        {
-        return EFalse;
-        }
-
-    __ASSERT_DEBUG( aTypeImage1 == NULL , 
-        Panic( EBMPanicErrorInResourceManager ) );
-
-    aTypeImage1 = aBubbleManager.ResourceManager().ReserveEikImage();
-
-    __ASSERT_DEBUG( aTypeImage1 != NULL , 
-        Panic( EBMPanicErrorInResourceManager ) );
-
-    if ( aTypeImage1 == NULL )
-        {
-        return EFalse;
-        }
-
-    aBubbleManager.ImageManager().SetBitmapToImage( aTypeImage1 , 
-        (TBMIcons)picture1,(TBMIcons)picture1mask );
-
-    if ( picture2 != KErrNotFound )
-        {
-        __ASSERT_DEBUG( aTypeImage2 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-
-        aTypeImage2 = aBubbleManager.ResourceManager().ReserveEikImage();
-
-        __ASSERT_DEBUG( aTypeImage2 != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-
-        aBubbleManager.ImageManager().SetBitmapToImage( aTypeImage2 , 
-            (TBMIcons)picture2 , (TBMIcons)picture2mask );
-
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::SetCyphOffImage
-// ---------------------------------------------------------------------------
-// 
-TBool BubbleUtils::SetCyphOffImage( const CBubbleHeader& aHeader, 
-                                      CEikImage*& aCypfOffImage, 
-                                      CBubbleManager& aBubbleManager )
-    {
-    TUint32 callFlags = aHeader.CallFlags(); 
-    if ( callFlags&CBubbleManager::ENoCiphering )
-        {
-        aCypfOffImage = aBubbleManager.ResourceManager().ReserveEikImage();
-        __ASSERT_DEBUG( aCypfOffImage != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-
-        aBubbleManager.ImageManager().SetBitmapToImage( aCypfOffImage , 
-            EQgn_indi_call_cyphering_off,
-            EQgn_indi_call_cyphering_off_mask );
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::ChooseTextsToTwoLines
-// ---------------------------------------------------------------------------
-// 
-void  BubbleUtils::ChooseTextsToTwoLines( const CBubbleHeader& aHeader,
-            TPtrC& aFirstLineText,
-            TPtrC& aSecondLineText,
-            CEikLabel*& aTimerCost,
-            CEikLabel*& aTextLine1,
-            CEikLabel*& aTextLine2,
-            CBubbleManager& aBubbleManager,
-            CBubbleManager::TPhoneClippingDirection& aFirstLineDir,
-            CBubbleManager::TPhoneClippingDirection& aSecondLineDir,
-            TUint8& aTextLineNumber )
-    {
-    CBubbleManager::TPhoneCallState callState = aHeader.CallState( );
-    TUint32 callFlags = aHeader.CallFlags( ); 
-
-    __ASSERT_DEBUG( aTextLine1 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine2 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTimerCost == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:        // 1.cli 2.text
-        case CBubbleManager::EIncoming:        // 1.cli 2.text
-            // if there is arriving data or fax call and there is
-            // cli -> there is something in text field, swap texts
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-        
-            aFirstLineText.Set( aHeader.CLI() );
-            aFirstLineDir = aHeader.CLIClipDirection( );
-            aSecondLineText.Set( aHeader.Text() );
-            aSecondLineDir = aHeader.TextClipDirection( );
-            aTextLineNumber = 2;    // Bubble text line number
-            break;
-        case CBubbleManager::EAlertToDisconnected:
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EOnHold:
-        case CBubbleManager::EAlerting:         // 1.cli 2.text
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aFirstLineText.Set( aHeader.CLI() );
-            aFirstLineDir = aHeader.CLIClipDirection( );
-            aSecondLineText.Set( aHeader.Text() );
-            aSecondLineDir = aHeader.TextClipDirection( );
-            aTextLineNumber = 2;    // Bubble text line number
-            break;
-        case CBubbleManager::EActive:            // 1.cli 2.timer
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTimerCost = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aFirstLineText.Set( aHeader.CLI() );
-            aFirstLineDir = aHeader.CLIClipDirection( );
-            AddTextToEikLabel( *aTimerCost , aHeader.TimerCost( ) );
-            aSecondLineText.Set( NULL , 0 );
-            aTextLineNumber = 0;    // no text is used
-            break;
-        case CBubbleManager::EOutgoing:    // 2.cli 1.text
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aSecondLineText.Set( aHeader.CLI() );
-            aSecondLineDir = aHeader.CLIClipDirection( );
-            aFirstLineText.Set( aHeader.Text() );
-            aFirstLineDir = aHeader.TextClipDirection( );
-            aTextLineNumber = 1;    // Bubble text line number
-            break;
-        case CBubbleManager::ENone: // flow through
-        default:
-            aFirstLineText.Set( NULL , 0 );
-            aSecondLineText.Set( NULL , 0 );
-            aTextLineNumber = 0;    // no text is used
-            break;
-        }
-
-    __ASSERT_DEBUG( aTextLine1 != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine2 != NULL || aTimerCost != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::ChooseTextsToTwoLines
-// ---------------------------------------------------------------------------
-// 
-void  BubbleUtils::ChooseTextsToThreeLines( const CBubbleHeader& aHeader,
-            TPtrC& aFirstLineText,
-            TPtrC& aSecondLineText,
-            TPtrC& aThirdLineText,
-            CEikLabel*& aTimerCost,
-            CEikLabel*& aTextLine1,
-            CEikLabel*& aTextLine2,
-            CEikLabel*& aTextLine3,
-            CBubbleManager& aBubbleManager,
-            CBubbleManager::TPhoneClippingDirection& aFirstLineDir,
-            CBubbleManager::TPhoneClippingDirection& aSecondLineDir,
-            CBubbleManager::TPhoneClippingDirection& aThirdLineDir,
-            TUint8& aTextLineNumber )
-    {
-    CBubbleManager::TPhoneCallState callState = aHeader.CallState( );
-    TUint8 callFlags = aHeader.CallFlags( );
-
-    __ASSERT_DEBUG( aTextLine1 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine2 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTimerCost == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-
-    switch ( callState )
-        {
-        case CBubbleManager::EWaiting:        // 1.cli 2.cnap 3.text
-        case CBubbleManager::EIncoming:        // 1.cli 2.cnap 3.text
-            // if there is arriving data or fax call and there is
-            // cli -> there is something in text field, swap texts
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine3 = aBubbleManager.ResourceManager().ReserveEikLabel();
-
-            aFirstLineText.Set( aHeader.CLI() );
-            aFirstLineDir = aHeader.CLIClipDirection( );
-            aSecondLineText.Set( aHeader.CNAP() );
-            aSecondLineDir = aHeader.CNAPClipDirection( ); 
-            aThirdLineText.Set( aHeader.Text() );
-            aThirdLineDir = aHeader.TextClipDirection( );
-            aTextLineNumber = 3;    // Bubble text line number
-            break;
-        case CBubbleManager::EActive:            // 1.cli 2.cnap, 3.timer
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine3 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTimerCost = aBubbleManager.ResourceManager().ReserveEikLabel();
-            AddTextToEikLabel( *aTimerCost , aHeader.TimerCost( ) );
-            aFirstLineText.Set( aHeader.CLI() );
-            aFirstLineDir = aHeader.CLIClipDirection( );
-            aSecondLineText.Set( aHeader.CNAP() );
-            aSecondLineDir = aHeader.CNAPClipDirection( ); 
-            aThirdLineText.Set( NULL, 0 );
-            aTextLineNumber = 0;    // no text is used
-            break;        
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EOnHold:
-        case CBubbleManager::EAlerting:
-        case CBubbleManager::EAlertToDisconnected:
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine3 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aFirstLineText.Set( aHeader.CLI() );
-            aFirstLineDir = aHeader.CLIClipDirection( );
-            aSecondLineText.Set( aHeader.CNAP() );
-            aSecondLineDir = aHeader.CNAPClipDirection( ); 
-            aThirdLineText.Set( aHeader.Text() );
-            aThirdLineDir = aHeader.TextClipDirection( );
-            aTextLineNumber = 3;    // text is used
-            break;
-        case CBubbleManager::EOutgoing:
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine3 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aFirstLineText.Set( aHeader.Text() );
-            aFirstLineDir = aHeader.TextClipDirection( );
-            aSecondLineText.Set( aHeader.CLI() );
-            aSecondLineDir = aHeader.CLIClipDirection( );
-            aThirdLineText.Set( aHeader.CNAP() );
-            aThirdLineDir = aHeader.CNAPClipDirection( ); 
-            aTextLineNumber = 1;    // Bubble text line number
-            break;
-        case CBubbleManager::ENone: // flow through
-        default:
-            aFirstLineText.Set( NULL , 0 );
-            aSecondLineText.Set( NULL , 0 );
-            aThirdLineText.Set( NULL , 0 );
-            aTextLineNumber = 0;    // no text is used
-            break;
-        }
-    
-    __ASSERT_DEBUG( aTextLine1 != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine2 != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine3 != NULL || aTimerCost != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    
-    }
-    
-// ---------------------------------------------------------------------------
-//  BubbleUtils::ChooseTextsToFiveLines
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::ChooseTextsToFiveLines( 
-    const CBubbleHeader& aHeader,
-    TPtrC& aFirstLineText,
-    TPtrC& aSecondLineText,
-    TPtrC& aThirdLineText,
-    CEikLabel*& aTextLine1,
-    CEikLabel*& aTextLine2,
-    CEikLabel*& aTextLine3,
-    CEikLabel*& aTextLine4,
-    CEikLabel*& aTextLine5,
-    CBubbleManager& aBubbleManager,
-    CBubbleManager::TPhoneClippingDirection& aFirstLineDir,
-    CBubbleManager::TPhoneClippingDirection& aSecondLineDir,
-    CBubbleManager::TPhoneClippingDirection& aThirdLineDir,
-    TUint8& aTextLineNumber,
-    TBool aThreeLinesOfText )
-    {
-    CBubbleManager::TPhoneCallState callState = aHeader.CallState( );
-    TUint8 callFlags = aHeader.CallFlags( );
-
-    __ASSERT_DEBUG( aTextLine1 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine2 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine3 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine4 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine5 == NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    
-    switch ( callState )
-        {
-        case CBubbleManager::EIncoming:
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine3 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine4 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine5 = aBubbleManager.ResourceManager().ReserveEikLabel();
-
-            aFirstLineText.Set( aHeader.CLI() );
-            aFirstLineDir = aHeader.CLIClipDirection( );
-            
-            if ( aThreeLinesOfText )
-                {
-                aSecondLineText.Set( aHeader.CNAP() );
-                aSecondLineDir = aHeader.CNAPClipDirection( );
-                aThirdLineText.Set( aHeader.Text() );
-                aThirdLineDir = aHeader.TextClipDirection( );
-                aTextLineNumber = 3; // Bubble text line number    
-                }
-            else
-                {
-                aSecondLineText.Set( aHeader.Text() );
-                aSecondLineDir = aHeader.TextClipDirection( );
-                aTextLineNumber = 2; // Bubble text line number        
-                }
-            break;
-            
-        case CBubbleManager::EOutgoing:
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine3 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine4 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine5 = aBubbleManager.ResourceManager().ReserveEikLabel();
-
-            if ( aThreeLinesOfText )
-                {
-                aFirstLineText.Set( aHeader.Text() );
-                aFirstLineDir = aHeader.TextClipDirection( );
-                aSecondLineText.Set(  aHeader.CLI() );
-                aSecondLineDir = aHeader.CLIClipDirection( );
-                aThirdLineText.Set( aHeader.CNAP() );
-                aThirdLineDir = aHeader.CNAPClipDirection( );
-                aTextLineNumber = 1; // Bubble text line number
-                }
-            else
-                {
-                aFirstLineText.Set( aHeader.Text() );
-                aFirstLineDir = aHeader.TextClipDirection( );
-                aSecondLineText.Set(  aHeader.CLI() );
-                aSecondLineDir = aHeader.CLIClipDirection( );
-                aTextLineNumber = 1; // Bubble text line number
-                }                
-            
-            break;
-            
-        case CBubbleManager::EAlertToDisconnected:
-        case CBubbleManager::EDisconnected:
-        case CBubbleManager::EAlerting:         // 1.cli 2.text
-            aTextLine1 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine2 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine3 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine4 = aBubbleManager.ResourceManager().ReserveEikLabel();
-            aTextLine5 = aBubbleManager.ResourceManager().ReserveEikLabel();
-        
-            if ( aThreeLinesOfText )
-                {
-                aFirstLineText.Set( aHeader.CLI() );
-                aFirstLineDir = aHeader.CLIClipDirection( );
-                aSecondLineText.Set( aHeader.CNAP() );
-                aSecondLineDir = aHeader.CNAPClipDirection( );
-                aThirdLineText.Set( aHeader.Text() );
-                aThirdLineDir = aHeader.TextClipDirection( );
-                aTextLineNumber = 3;    // Bubble text line number
-                }
-            else
-                {
-                aFirstLineText.Set( aHeader.CLI() );
-                aFirstLineDir = aHeader.CLIClipDirection( );
-                aSecondLineText.Set( aHeader.Text() );
-                aSecondLineDir = aHeader.TextClipDirection( );
-                aTextLineNumber = 2;    // Bubble text line number
-                }                
-            break;            
-            
-        case CBubbleManager::ENone: // flow through
-        default:
-            aFirstLineText.Set( NULL , 0 );
-            aSecondLineText.Set( NULL , 0 );
-            aThirdLineText.Set( NULL , 0 );
-            aTextLineNumber = 0;    // no text is used
-            break;
-        }
-    
-    __ASSERT_DEBUG( aTextLine1 != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine2 != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine3 != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aTextLine4 != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );                        
-    __ASSERT_DEBUG( aTextLine5 != NULL , 
-            Panic( EBMPanicErrorInResourceManager ) );            
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::SetTextInLabel
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::SetTextInLabel( 
-                     const TDesC16& aText, 
-                     CEikLabel*& aLabel ,
-                     const CBubbleManager::TPhoneClippingDirection& aClipDir )
-    {
-    __ASSERT_DEBUG( aLabel , Panic( EBMPanicErrorInResourceManager ) );
-    if ( aLabel == NULL )
-        {
-        return;
-        }
-    SetTextInLabel( aText, *aLabel, aClipDir );
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::SetTextInLabel
-//  Gets usable text from given buffer. There might be long and short version.
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::SetTextInLabel( 
-                    const TDesC16& aText, 
-                    CEikLabel& aLabel ,
-                    const CBubbleManager::TPhoneClippingDirection& aClipDir )
-    {
-    // Trivial case
-    if ( aText.Length() == 0 || aText == KNullDesC )
-        {
-        AddTextToEikLabel( aLabel , KNullDesC );
-        return;
-        }
-
-    // Find text separator (/t) if long and short text are both added to the
-    // same descriptor.
-    TInt separator = KErrNotFound;
-    for ( TInt i = 0 ; i < aText.Length() ; i++ )
-        {
-        if ( aText[i] == KBubbleTextSeparator()[0] )
-            {
-            separator = i;
-            break;
-            }
-        }
-
-    TPtrC longText( NULL ,0 );
-    TPtrC shortText( NULL ,0 );
-    TPtrC usedText( NULL , 0 );
-    if ( separator != KErrNotFound )
-        {
-        // The buffer is like 'LongText'+'/t'(+'ShortText').
-        longText.Set( aText.Left( separator ) );
-        if ( separator != aText.Length()-1 )
-            {
-            shortText.Set( aText.Right( aText.Length() - separator -1 ) );
-            }
-        }
-    else
-        {
-        longText.Set( aText );
-        }
-
-    // does the long text fit in label?
-    if ( aLabel.Font()->TextWidthInPixels( longText ) > aLabel.Size().iWidth )
-        {
-        //no. Use short text if there is one
-        if ( shortText.Length() > 0 )
-            {
-            usedText.Set( shortText );
-            }
-        else
-            {
-            usedText.Set( longText );
-            } 
-        }
-    else
-        {
-        //yes - so use the long text
-        usedText.Set( longText );
-        }
-
-    // fit the used text in label - clip if needed
-    ClipToLabel( usedText , aLabel , aClipDir );
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::ClipToLabel
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::ClipToLabel( 
-                     const TDesC16& aText, 
-                     CEikLabel*& aLabel ,
-                     const CBubbleManager::TPhoneClippingDirection& aClipDir )
-    {
-    __ASSERT_DEBUG( aLabel , Panic( EBMPanicErrorInResourceManager ) );
-    if ( aLabel == NULL )
-        {
-        return;
-        }
-    ClipToLabel( aText, *aLabel, aClipDir );
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::ClipToLabel
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::ClipToLabel( 
-                    const TDesC16& aText, 
-                    CEikLabel& aLabel ,
-                    const CBubbleManager::TPhoneClippingDirection& aClipDir )
-    {
-    // Trivial case
-    if ( aText.Length() == 0  || aText == KNullDesC )
-        {
-        AddTextToEikLabel( aLabel , KNullDesC );
-        return;
-        }
-
-    // allocations not leaving
-    HBufC* textBuffer = 
-        HBufC::New( aText.Length() + KAknBidiExtraSpacePerLine );
-    HBufC* visualBuffer = 
-        HBufC::New( aText.Length() + KAknBidiExtraSpacePerLine );
-
-    if( visualBuffer && textBuffer && aClipDir == CBubbleManager::ERight )
-        {
-        *textBuffer = aText;
-        TPtr ptr1 = textBuffer->Des();
-        TPtr ptr2 = visualBuffer->Des();
-        // fit the used text in label - clip if needed
-        AknBidiTextUtils::ConvertToVisualAndClip( 
-            ptr1,
-            ptr2, 
-            *aLabel.Font(),
-            aLabel.Size().iWidth,
-            aLabel.Size().iWidth );
-        aLabel.UseLogicalToVisualConversion( EFalse );
-        AddTextToEikLabel( aLabel , ptr2 );
-        }
-    else
-        {
-        CBubbleManager::TBubbleLabelString usedText = aText;
-        AknTextUtils::TClipDirection dir = 
-            AknTextUtils::EClipFromBeginning;
-        if ( aClipDir == CBubbleManager::ERight )
-            {
-            dir = AknTextUtils::EClipFromEnd;
-            }
-        else
-            {
-            ConvertToArabicIndic( usedText );
-            }
-        AknTextUtils::ClipToFit( 
-            usedText, 
-            *aLabel.Font(), 
-            aLabel.Size().iWidth, 
-            dir );
-        AddTextToEikLabel( aLabel, usedText );
-        }
-
-    delete textBuffer;
-    delete visualBuffer;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::DrawMaskedImage
-// ---------------------------------------------------------------------------
-//
-TBool BubbleUtils::DrawMaskedImage( CBitmapContext& aGc , CEikImage* aImage )
-    {
-    if ( aImage == NULL )
-        {
-        return EFalse;
-        }
-    
-    // Bitmap is initialized
-    if ( aImage->Bitmap() && aImage->Bitmap()->Handle() )
-        {
-        DrawMaskedImage( aGc , *aImage );
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;        
-        }           
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::DrawMaskedImage
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::DrawMaskedImage( CBitmapContext& aGc , CEikImage& aImage )
-    { 
-    TSize imageSize = aImage.MinimumSize();
-    if ( aImage.Mask() )
-        {
-        aGc.BitBltMasked( 
-            aImage.Rect().iTl,
-            aImage.Bitmap(),
-            TRect( TPoint( 0 , 0 ) , 
-            TPoint( imageSize.iWidth , imageSize.iHeight ) ),
-            aImage.Mask(),
-            ETrue );
-        }
-    else
-        {
-        aGc.BitBlt
-            ( 
-            aImage.Rect().iTl, 
-            aImage.Bitmap(),
-            TRect( TPoint( 0 , 0 ) , 
-            TPoint( imageSize.iWidth , imageSize.iHeight ) )
-            );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::AddTextToEikLabel
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::AddTextToEikLabel( CEikLabel& aLabel , const TDesC& aText )
-    {
-    if ( aText.Length() > KBubbleLabelMaxLength )
-        {
-        TRAPD ( error, aLabel.SetBufferReserveLengthL( aText.Length() ) );
-        if ( error != KErrNone )
-            {
-            aLabel.SetTextL( aText.Left( KBubbleLabelMaxLength ) );
-            return;
-            }
-        }
-    aLabel.SetTextL( aText );    
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::AddTextToEikLabel
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::AddTextToEikLabel( CEikLabel*& aLabel , const TDesC& aText )
-    {
-    if ( aLabel == NULL )
-        {
-        return;
-        }
-    AddTextToEikLabel( *aLabel, aText );
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::AddTextToHeader
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::AddTextToHeader( 
-                CBubbleHeader& aHeader,
-                const KBubbleUtilsHeaderTextPlace aTextPlace,
-                const TDesC& aTextToSet,
-                const TInt aMaxLength,
-                const CBubbleManager::TPhoneClippingDirection aClipDirection )
-    {
-    
-    TPtrC buffer( NULL , 0 );
-    
-    if ( aTextToSet.Length() > aMaxLength )
-        {
-        if ( aClipDirection == CBubbleManager::ERight )
-            {
-            buffer.Set( aTextToSet.Left( aMaxLength ) );
-            }
-        else 
-            {
-            buffer.Set( aTextToSet.Right( aMaxLength ) );
-            }
-        }
-    else
-        {
-        buffer.Set( aTextToSet );
-        }
-    
-    switch ( aTextPlace )
-        {
-        case EBubbleHeaderCLI:
-            aHeader.SetCLI( buffer, aClipDirection );
-            break;
-        case EBubbleHeaderLabel:
-            aHeader.SetText( buffer, aClipDirection );
-            break;
-        case EBubbleHeaderTimerCost:
-            aHeader.SetTimerCost( buffer );
-            break;
-        case EBubbleHeaderCNAP:
-            aHeader.SetCNAP( buffer, aClipDirection );
-            break;
-        default:
-            Panic( EBMPanicUnhandledSwitchCase );
-            break;
-            
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::LayoutControl
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::LayoutControl( CCoeControl* aControl, 
-                                 const TRect& aControlParent, 
-                                 const TAknWindowLineLayout& aLayout )
-    {
-    if ( aControl == NULL )
-        {
-        return;
-        }
-    AknLayoutUtils::LayoutControl( aControl, aControlParent, aLayout );
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::LayoutBackgroundImage
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::LayoutBackgroundImage( CEikImage* aImage, 
-                                 const TRect& aParent, 
-                                 const TAknWindowLineLayout& aLayout )
-    {
-    if ( aImage == NULL )
-        {
-        return;
-        }
-
-    AknLayoutUtils::LayoutControl( aImage, aParent, aLayout );
-    if ( aImage->Bitmap() )
-        {
-        AknIconUtils::SetSize( const_cast<CFbsBitmap*>( aImage->Bitmap() ), 
-                               aImage->Rect().Size(),
-                               EAspectRatioNotPreserved );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::LayoutImage
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::LayoutImage( CEikImage* aImage, 
-                               const TRect& aParent, 
-                               const TAknWindowLineLayout& aLayout )
-    {
-    if ( aImage == NULL )
-        {
-        return;
-        }
-    AknLayoutUtils::LayoutImage( aImage,  aParent, aLayout );
-    }
-
-void BubbleUtils::LayoutImage( CEikImage* aImage, 
-                               const TRect& aParent, 
-                               const AknLayoutUtils::SAknLayoutControl& aLayout )
-    {
-    if ( aImage == NULL )
-        {
-        return;
-        }
-    AknLayoutUtils::LayoutImage( aImage,  aParent, aLayout );
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::LayoutLabel
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::LayoutLabel( CEikLabel* aLabel, 
-                               const TRect& aLabelParent, 
-                               const TAknTextLineLayout& aLayout )
-    {
-    if ( aLabel == NULL )
-        {
-        return;
-        }
-    AknLayoutUtils::LayoutLabel( aLabel, aLabelParent, aLayout );
-
-    // Check skinnig colour for the text:
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TRgb skinColor;
-    TInt error = 
-        AknsUtils::GetCachedColor( 
-            skin, 
-            skinColor, 
-            KAknsIIDQsnTextColors,
-            EAknsCIQsnTextColorsCG51 );
-    if ( error == KErrNone )
-        {
-        // Ignore error
-        TRAP_IGNORE( aLabel->OverrideColorL( EColorLabelText, skinColor ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::LayoutCustomElement
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::LayoutCustomElement(
-    CTelBubbleCustomElement* aElement, 
-    const TRect& aParent, 
-    const TAknWindowLineLayout& aLayout)
-    {
-    if ( aElement == NULL )
-        {
-        return;
-        }
-    
-    if ( aElement->ControlType() == CTelBubbleCustomElement::EBubbleImage )
-        {
-        BubbleUtils::LayoutImage(
-            static_cast<CEikImage*>( aElement->Control() ),
-            aParent,
-            aLayout );
-        }
-    else
-        {
-        BubbleUtils::LayoutControl(
-            aElement->Control(),
-            aParent,
-            aLayout );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::ConvertToArabicIndic
-//  
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::ConvertToArabicIndic( 
-    TDes& aResult, 
-    const TDesC& aSource )
-    {
-    __ASSERT_DEBUG( aResult.MaxLength() >= aSource.Length(), 
-        User::Invariant());
-    if ( aResult.MaxLength() < aSource.Length() )
-        {
-        return;
-        }
-
-    aResult = aSource;
-    ConvertToArabicIndic( aResult );
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::ConvertToArabicIndic
-//  
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::ConvertToArabicIndic( TDes& aDes )
-    {
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( aDes );
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::ConvertToArabicIndic
-//  
-// ---------------------------------------------------------------------------
-//
-HBufC* BubbleUtils::ConvertToArabicIndic( const TDesC& aDes )
-    {
-    HBufC* buffer = HBufC::New( aDes.Length() );
-    if ( !buffer )
-        {
-        return NULL;
-        }
-    TPtr ptr = buffer->Des();
-    ConvertToArabicIndic( ptr , aDes );
-    return buffer;
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::SetLayoutForCellTypePane
-//  
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::SetLayoutForCellTypePane( 
-            const CBubblePlace::TPhoneBubblePlace& aBubblePlace,
-            const TRect& aParent,
-            CEikImage* aTypeIndication1,
-            CEikImage* aTypeIndication2 )
-    {
-    CCoeControl* cellTypePane = new CCoeControl;
-    if ( !cellTypePane )
-        {
-        return;
-        }
-
-    switch ( aBubblePlace )
-        {
-        case CBubblePlace::EBottom:
-        case CBubblePlace::EBottomCnap:
-            LayoutControl( cellTypePane , aParent , 
-                BubbleLayout::popup_call_audio_first_window_1_elements_2() );
-            break;
-        case CBubblePlace::EBottomRightActive:
-        case CBubblePlace::EBottomRightHeld:
-        case CBubblePlace::EBottomRightCnap:
-        case CBubblePlace::EBottomRightActiveTouch:
-        case CBubblePlace::EBottomRightActiveCnapTouch:
-            LayoutControl( cellTypePane , aParent , 
-                BubbleLayout::popup_call_audio_second_window_1_elements_2() );
-            break;
-        case CBubblePlace::EMiddleActive:
-        case CBubblePlace::EMiddleHeld:
-        case CBubblePlace::EMiddleCnap:
-            LayoutControl( cellTypePane , aParent , 
-                BubbleLayout::popup_call_audio_first_window_2_elements_2() );
-            break;
-        case CBubblePlace::ETopLeft:
-        case CBubblePlace::EMiddleHeldTouch:
-            LayoutControl( cellTypePane , aParent , 
-                BubbleLayout::popup_call_audio_first_window_4_elements_2() );
-            break;
-        case CBubblePlace::ETopRight:
-            LayoutControl( cellTypePane , aParent , 
-                BubbleLayout::popup_call_audio_second_window_3_elements_2() );
-            break;
-        default:
-            break;
-        }
-
-    LayoutImage( aTypeIndication1 , cellTypePane->Rect() , 
-        BubbleLayout::call_type_pane_elements_1() );
-    LayoutImage( aTypeIndication2 , cellTypePane->Rect() , 
-        BubbleLayout::call_type_pane_elements_2() );
-
-    delete cellTypePane;
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::SetLayoutFofCypheringOffIcon
-//  
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::SetLayoutFofCypheringOffIcon(
-    const CBubbleHeader& aHeader,
-    const CBubblePlace::TPhoneBubblePlace& aBubblePlace,
-    const TRect& aParent,
-    CEikImage* aCyphOffImage )
-    {
-    const CBubbleManager::TPhoneCallState callState = aHeader.CallState();
-
-    const TBool connected = 
-        callState == CBubbleManager::EOnHold || 
-        callState == CBubbleManager::EDisconnected || 
-        callState == CBubbleManager::EActive;
-
-    switch ( aBubblePlace )
-        {
-        case CBubblePlace::EBottomCnap:
-        case CBubblePlace::EBottom:
-            if ( connected )
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                  BubbleLayout::popup_call_audio_first_window_1_elements_3() );
-                }
-            else
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                    BubbleLayout::popup_call_audio_in_window_1_elements_15() );
-                }
-            break;      
-        case CBubblePlace::EBottomRightActive:
-        case CBubblePlace::EBottomRightHeld:
-        case CBubblePlace::EBottomRightCnap:
-        case CBubblePlace::EBottomRightActiveTouch:
-        case CBubblePlace::EBottomRightActiveCnapTouch:
-            if ( connected )
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                  BubbleLayout::popup_call_audio_second_window_1_elements_3() );
-                }
-            else
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                  BubbleLayout::popup_call_audio_out_window_1_elements_15() );
-                }
-            break;
-        case CBubblePlace::EMiddleActive:
-        case CBubblePlace::EMiddleHeld:
-        case CBubblePlace::EMiddleCnap:
-            if ( connected )
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                  BubbleLayout::popup_call_audio_first_window_2_elements_15() );
-                }
-            else
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                    BubbleLayout::popup_call_audio_in_window_2_elements_15() );
-                }
-            break;
-        case CBubblePlace::ETopLeft:
-        case CBubblePlace::EMiddleHeldTouch:
-            if ( connected )
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                  BubbleLayout::popup_call_audio_first_window_4_elements_3() );
-                }
-            else
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                    BubbleLayout::popup_call_audio_wait_window_3_elements_3() );
-                }
-            break;
-        case CBubblePlace::ETopRight:
-            if ( connected )
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                  BubbleLayout::popup_call_audio_second_window_3_elements_3() );
-                }
-            else
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                    BubbleLayout::popup_call_audio_out_window_2_elements_15() );
-                }
-            break;
-        case CBubblePlace::EBottomText:
-            if ( connected )
-                {
-                LayoutImage( aCyphOffImage, aParent, 
-                  BubbleLayout2::popup_call2_audio_in_ciphering_icon( 0 ) );
-                }
-            break;            
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//  BubbleUtils::PlaceThumbnail
-//  
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::PlaceThumbnail(
-    const CBubblePlace::TPhoneBubblePlace& aBubblePlace,
-    CEikImage* aImage , 
-    TBubbleLayoutRect& aShadow,
-    const TRect& aParentRect,
-    CFbsBitmap* aThumbNailBitmap )
-    {
-    if ( !( aImage && aImage->Bitmap() ) )
-        {
-        return;
-        }
-    
-    TAknLayoutRect thumbnailLayoutRect;
-    TAknLayoutRect shadowLayoutRect;
-    TAknWindowLineLayout thumbnailShadowLine;
-    
-    // Bitmap is resized separately, not via AknLayoutUtils::LayoutImage()
-    aImage->SetPicture( NULL );
-
-    // wrong layout data within AppLayout::Incoming_call_pop_up_window_elements_Line_14()
-    switch ( aBubblePlace )
-        {
-        case CBubblePlace::EBottom:
-        case CBubblePlace::EBottomCnap:            
-            AknLayoutUtils::LayoutImage( aImage, aParentRect, 
-                AppLayout::Incoming_call_pop_up_window_elements_Line_12() );
-            thumbnailLayoutRect.LayoutRect( aParentRect, 
-                AppLayout::Incoming_call_pop_up_window_elements_Line_12() );
-            thumbnailShadowLine = 
-                AppLayout::Incoming_call_pop_up_window_elements_Line_11();
-            shadowLayoutRect.LayoutRect( aParentRect, thumbnailShadowLine );
-            break;
-        case CBubblePlace::EBottomRightActive:
-        case CBubblePlace::EBottomRightHeld:
-        case CBubblePlace::EBottomRightCnap:
-        case CBubblePlace::EBottomRightActiveTouch:
-        case CBubblePlace::EBottomRightActiveCnapTouch:
-            AknLayoutUtils::LayoutImage( aImage, aParentRect, 
-                AppLayout::Outgoing_call_pop_up_window_elements__held__Line_12() );
-            thumbnailLayoutRect.LayoutRect( aParentRect, 
-                AppLayout::Outgoing_call_pop_up_window_elements__held__Line_12() );
-            thumbnailShadowLine = 
-                AppLayout::Outgoing_call_pop_up_window_elements__held__Line_11();
-            shadowLayoutRect.LayoutRect( aParentRect, thumbnailShadowLine );
-            break;
-        case CBubblePlace::EMiddleActive:
-        case CBubblePlace::EMiddleHeld:
-        case CBubblePlace::EMiddleCnap:
-            AknLayoutUtils::LayoutImage( aImage, aParentRect, 
-                AppLayout::Incoming_call_pop_up_window_elements__NE__Line_12() );
-            thumbnailLayoutRect.LayoutRect( aParentRect, 
-                AppLayout::Incoming_call_pop_up_window_elements__NE__Line_12() );
-            thumbnailShadowLine = 
-                AppLayout::Incoming_call_pop_up_window_elements__NE__Line_11();
-            shadowLayoutRect.LayoutRect( aParentRect, thumbnailShadowLine );
-            break;
-        default:
-            break;
-        }
-
-    AknIconUtils::SetSize( aThumbNailBitmap, thumbnailLayoutRect.Rect().Size(), 
-                           EAspectRatioPreservedAndUnusedSpaceRemoved );
-    aImage->SetPicture( aThumbNailBitmap );
-    aShadow.SetColor( AKN_LAF_COLOR(221) );
-    // aShadow.SetColor( shadowLayoutRect.Color() ); 
-    // int leftGap = shadowLayoutRect.Rect().iTl.iX - thumbnailLayoutRect.Rect().iTl.iX;
-    // int topGap = shadowLayoutRect.Rect().iTl.iY - thumbnailLayoutRect.Rect().iTl.iY;
-    int leftGap = 1;
-    int topGap = 1;
-    aShadow.SetRect( aImage->Position() + TPoint( leftGap, topGap ), 
-                     aImage->MinimumSize() );
-
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::IsCustomImageWidth
-// ---------------------------------------------------------------------------
-//
-TBool BubbleUtils::IsCustomizedImage( const TRect& aParent, const TInt aWidth )
-    {
-    TInt type = GetThumbnailImageType( aParent, aWidth );
-    TBool ret = EFalse;
-    if( ( type == 0 ) && ( aWidth != 0 ) ) // Customized
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::LabelExtent
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::LabelExtent( CEikLabel* aLabel, 
-                              const TRect& aParent, 
-                              const TInt aWidth )
-    {
-    if ( aLabel == NULL )
-        {
-        return;
-        }
-
-    if( BubbleUtils::IsCustomizedImage( aParent, aWidth ) )
-        {    
-        TInt width = aLabel->Size().iWidth - aWidth;
-        if( width > 0 )
-            {
-            TRect rect = aLabel->Rect();
-
-            if( AknLayoutUtils::LayoutMirrored() ) 
-                {
-                rect.iTl.iX += aWidth;
-                }
-            rect.SetWidth( width );
-
-            aLabel->SetRect( rect );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::GetThumbnailImageType
-// ---------------------------------------------------------------------------
-//
-TInt BubbleUtils::GetThumbnailImageType( const TRect& /*aParent*/, 
-                                         const TInt aWidth )
-    {
-    /* Scalable UI uses only one image size.
-    TAknLayoutRect rectVGAturned;
-    rectVGAturned.LayoutRect( aParent, AppLayout::VGA_turned_90() );
-    const TInt widthVGAturned = rectVGAturned.Rect().Width();
-
-    TAknLayoutRect rectCIFturned;
-    rectCIFturned.LayoutRect( aParent, AppLayout::CIF_turned_90() );
-    const TInt widthCIFturned = rectCIFturned.Rect().Width();
-
-    TAknLayoutRect rectVGAnormal;
-    rectVGAnormal.LayoutRect( aParent, AppLayout::VGA() );
-    const TInt widthVGAnormal = rectVGAnormal.Rect().Width();
-    
-    TAknLayoutRect rectCIFnormal;
-    rectCIFnormal.LayoutRect( aParent, AppLayout::CIF() );
-    const TInt widthCIFnormal = rectCIFnormal.Rect().Width();
-    
-    TAknLayoutRect rectCommmunicator;
-    rectCommmunicator.LayoutRect( aParent, 
-        AppLayout::Communicator_personal_image() );
-    const TInt widthCommmunicator = rectCommmunicator.Rect().Width();
-
-    TInt ret;
-    if( aWidth == widthVGAturned )
-        {
-        ret = 1;
-        }
-    else if( aWidth == widthCIFturned )
-        {
-        ret = 2;
-        }
-    else if( aWidth == widthVGAnormal || aWidth == widthCommmunicator ) 
-        {
-        ret = 3;
-        }
-    else if( aWidth == widthCIFnormal )
-        {
-        ret = 4;
-        }
-    else // no image.
-        {
-        ret = 0; 
-        }*/
-
-    TInt ret(0); // no thumbnail       
-    if ( aWidth > 0 )
-        {
-        // see First_call_pop_up_window_texts__one_call__Line_1 in
-        // Adaptation_Layer_AppLayout_Elaf
-        ret = 4;    
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::BubbleIconFileName
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::BubbleIconFileName( TDes& aFileName )
-    {
-    aFileName = KBMMbmZDrive;
-    aFileName.Append( KDC_APP_BITMAP_DIR );
-    aFileName.Append( KBMBitmapFile );
-    aFileName.ZeroTerminate();
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::BubbleResourceFileName
-// ---------------------------------------------------------------------------
-//
-void BubbleUtils::BubbleResourceFileName( TDes& aFileName )
-    {
-    aFileName = KBMMbmZDrive;
-    aFileName.Append( KDC_RESOURCE_FILES_DIR );
-    aFileName.Append( KBMResourcesFile );
-    aFileName.ZeroTerminate();
-    }
-
-// ----------------------------------------------------------------------------
-// BubbleUtils::::DrawBackgroundRect
-// ----------------------------------------------------------------------------
-//    
-void BubbleUtils::DrawBackgroundRect( CBitmapContext& aGc,
-                                      const TRect& aRect )
-    {
-    TRect bgRect( aRect );
-    bgRect.Shrink( aRect.Width() / 48, aRect.Height() / 24 );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush ); 
-    aGc.SetPenStyle( CGraphicsContext::ENullPen ); 
-
-    bgRect.Move(2,2);
-    aGc.SetBrushColor( AKN_LAF_COLOR(221) );
-    aGc.DrawRect( bgRect );
-    bgRect.Move(-2,-2);
-    aGc.SetBrushColor( AKN_LAF_COLOR(0) );
-    aGc.SetPenStyle( CGraphicsContext::ESolidPen ); 
-    aGc.SetPenColor( AKN_LAF_COLOR(217) );
-    aGc.DrawRect( bgRect );
-
-    aGc.SetBrushStyle( CGraphicsContext::ENullBrush );    
-    }
-
-// ----------------------------------------------------------------------------
-// TBubbleLayoutRect::TBubbleLayoutRect
-// ----------------------------------------------------------------------------
-//
-TBubbleLayoutRect::TBubbleLayoutRect() {}
-
-// ----------------------------------------------------------------------------
-// TBubbleLayoutRect::SetRect
-// ----------------------------------------------------------------------------
-//
-void TBubbleLayoutRect::SetRect( const TPoint& aPoint, const TSize& aSize ) 
-    {
-    iRect.SetRect( aPoint, aSize );
-    }
-
-// ----------------------------------------------------------------------------
-// TBubbleLayoutRect::Rect
-// ----------------------------------------------------------------------------
-//
-TRect TBubbleLayoutRect::Rect() const
-    {
-    return iRect;
-    }
-
-// ----------------------------------------------------------------------------
-// TBubbleLayoutRect::SetColor
-// ----------------------------------------------------------------------------
-//
-void TBubbleLayoutRect::SetColor( const TRgb aColor ) 
-    {
-    iColor = aColor;
-    }
-
-// ----------------------------------------------------------------------------
-// TBubbleLayoutRect::Color
-// ----------------------------------------------------------------------------
-//
-TRgb TBubbleLayoutRect::Color() const
-    {
-    return iColor;
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::PrepareBubbleImageL
-// ---------------------------------------------------------------------------
-//    
-void BubbleUtils::PrepareBubbleImageL(
-    const TAknsItemID& aFrameID,
-    const TRect& aOuterRect,
-    const TRect& aInnerRect,    
-    CEikImage*& aBubble )
-    {
-    ///////////////////////////////////////////////////////
-    // Create bitmap
-    ///////////////////////////////////////////////////////
-    CFbsBitmap* bitmap = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( bitmap );
-    
-    // create bitmap to target size
-    AknIconConfig::TPreferredDisplayMode mode;
-    AknIconConfig::PreferredDisplayMode( mode, 
-                                         AknIconConfig::EImageTypeIcon);
-    User::LeaveIfError( bitmap->Create( aOuterRect.Size(), 
-                                        mode.iBitmapMode ) );
-    
-    // create context
-    CFbsBitmapDevice* bitmapDev = CFbsBitmapDevice::NewL( bitmap );
-    CleanupStack::PushL( bitmapDev );
-    CFbsBitGc* bitmapCtx;
-    User::LeaveIfError( bitmapDev->CreateContext( bitmapCtx ) );
-    CleanupStack::PushL( bitmapCtx ); 
-    
-    // draw frame
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    
-    AknsDrawUtils::DrawFrame( skin,
-                              *bitmapCtx,
-                              aOuterRect,
-                              aInnerRect,
-                              aFrameID,
-                              KAknsIIDDefault,
-                              KAknsDrawParamRGBOnly );
-
-    aBubble->SetBitmap( bitmap );
-    
-    CleanupStack::PopAndDestroy( 2, bitmapDev );
-    CleanupStack::Pop( bitmap );
-    
-    ///////////////////////////////////////////////////////
-    // Create mask
-    ///////////////////////////////////////////////////////
-    CFbsBitmap* mask = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( mask );
-    
-    // create bitmap to target size
-    User::LeaveIfError( mask->Create( aOuterRect.Size(), 
-                                      mode.iMaskMode ) );
-    
-    // create context
-    CFbsBitmapDevice* maskDev = CFbsBitmapDevice::NewL( mask );
-    CleanupStack::PushL( maskDev );
-    CFbsBitGc* maskCtx;
-    User::LeaveIfError( maskDev->CreateContext( maskCtx ) );
-    CleanupStack::PushL( maskCtx ); 
-    
-    // draw frame
-    AknsDrawUtils::DrawFrame( skin,
-                              *maskCtx,
-                              aOuterRect,
-                              aInnerRect,
-                              aFrameID,
-                              KAknsIIDDefault,
-                              KAknsSDMAlphaOnly );
-
-    aBubble->SetMask( mask );
-    
-    CleanupStack::PopAndDestroy( 2, maskDev );
-    CleanupStack::Pop( mask );
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::AddTransparencyToBubbleImageL
-// ---------------------------------------------------------------------------
-//    
-void BubbleUtils::AddTransparencyToBubbleImageL(
-    const TAknsItemID& aFrameID,
-    const TRect& aOuterRect,
-    const TRect& aInnerRect,    
-    CEikImage*& aBubble )
-    {
-    
-    const CFbsBitmap* currentMask = aBubble->Mask();
-    TSize maskSize( currentMask->SizeInPixels() );
-    TRect rect( maskSize );
-    
-    // create transparency frame
-    CFbsBitmap* transparency = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( transparency );
-    User::LeaveIfError( transparency->Create( aOuterRect.Size(), 
-                                              EGray256 ) );
-    CFbsBitmapDevice* transparencyDev = CFbsBitmapDevice::NewL( transparency );
-    CleanupStack::PushL( transparencyDev );
-    CFbsBitGc* transparencyCtx;
-    User::LeaveIfError( transparencyDev->CreateContext( transparencyCtx ) );
-    CleanupStack::PushL( transparencyCtx );
-    transparencyCtx->SetBrushColor( KRgbDarkGray );
-    transparencyCtx->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    transparencyCtx->DrawRect( rect );
-
-    CleanupStack::PopAndDestroy( 2, transparencyDev );
-            
-    // create solid black mask
-    CFbsBitmap* solidBlack = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( solidBlack );
-    User::LeaveIfError( solidBlack->Create( maskSize, EGray256 ) );
-    CFbsBitmapDevice* dev = CFbsBitmapDevice::NewL( solidBlack );
-    CleanupStack::PushL( dev );
-    CFbsBitGc* gc;
-    User::LeaveIfError( dev->CreateContext( gc ) ); 
-    CleanupStack::PushL( gc );
-    
-    gc->SetBrushColor( KRgbBlack );
-    gc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    gc->DrawRect( rect );
-    
-    // blit original mask on the black mask using transparency mask
-    gc->BitBltMasked( TPoint(0,0), 
-                      currentMask,
-                      TRect( currentMask->SizeInPixels() ), 
-                      transparency, 
-                      ETrue );
- 
-    CleanupStack::PopAndDestroy( 2, dev);
-    
-    CleanupStack::Pop(solidBlack);
-    aBubble->SetMask( solidBlack );
-        
-    CleanupStack::PopAndDestroy( transparency );
-    delete currentMask;
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::PrepareCallObjectToBubbleImageL
-// ---------------------------------------------------------------------------
-//    
-void BubbleUtils::PrepareCallObjectToBubbleImageL(
-    const CFbsBitmap* aCOImage,
-    const CFbsBitmap* aCOImageMask,
-    const TRect& /*aCallObjectRect*/,
-    const TAknsItemID& aFrameID,
-    const TRect& aOuterRect,
-    const TRect& aInnerRect,
-    CEikImage*& aBubble,
-    TBool aDimmed )
-    {
-    const CFbsBitmap* bubbleBitmap = aBubble->Bitmap();
-    TSize callObjectSize( aCOImage->SizeInPixels() );
-    
-    // set source rectangle, clip from center if bigger than target
-    TRect srcRect( aCOImage->SizeInPixels() );
-    TInt clipX = ( callObjectSize.iWidth > aOuterRect.Width() ) ? 
-                 ( callObjectSize.iWidth - aOuterRect.Width() ) : 0;
-    TInt clipY = ( callObjectSize.iHeight > aOuterRect.Height() ) ? 
-                 ( callObjectSize.iHeight - aOuterRect.Height() ) : 0;
-    srcRect.Shrink( clipX / 2, clipY / 2 );
-    
-    // set offset/alignment for image
-    TPoint offset(0,0);
-    if ( ( callObjectSize.iWidth > aOuterRect.Width() ) )
-        {
-        // Not usual situation, only if smaller image is under scaling.
-        // Set horizontally centered.
-        offset.iX = (aOuterRect.Width() - callObjectSize.iWidth) / 2;
-        }
-    else if ( !Layout_Meta_Data::IsMirrored() )
-        {
-        // Align image horizontally right
-        offset.iX = ( callObjectSize.iWidth < aOuterRect.Width() ) ? 
-                    (aOuterRect.Width() - callObjectSize.iWidth )  : 0;
-        }
-    // vertically centered
-    offset.iY = (aOuterRect.Height() - callObjectSize.iHeight) / 2;
-    
-    // create gradient mask
-    CFbsBitmap* gradientMask = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( gradientMask );
-    // mask has to be in same size than call object
-    User::LeaveIfError( gradientMask->Create( callObjectSize, 
-                                              EGray256 ) );
-    CFbsBitmapDevice* gradientMaskDev = CFbsBitmapDevice::NewL( gradientMask );
-    CleanupStack::PushL( gradientMaskDev );
-    CFbsBitGc* gradientMaskCtx;
-    User::LeaveIfError( gradientMaskDev->CreateContext( gradientMaskCtx ) );
-    CleanupStack::PushL( gradientMaskCtx );
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    // initialize mask to black color
-    gradientMaskCtx->SetBrushColor( AKN_LAF_COLOR(215) ); // black
-    gradientMaskCtx->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    gradientMaskCtx->SetPenStyle( CGraphicsContext::ENullPen );
-    gradientMaskCtx->DrawRect( callObjectSize );
-    // shift origin
-    gradientMaskCtx->SetOrigin( -offset ); 
-    AknsDrawUtils::DrawFrame( skin,
-                              *gradientMaskCtx,
-                              aOuterRect,
-                              aInnerRect,
-                              aFrameID,
-                              KAknsIIDDefault,
-                              KAknsDrawParamDefault );
-
-    CleanupStack::PopAndDestroy( 2, gradientMaskDev );
-    
-    if ( aCOImageMask )
-        {
-        // combine image and gradient mask
-        CFbsBitmap* combinedMask = CreateCombinedMaskL(
-            gradientMask, aCOImageMask );
-        // switch to combined mask
-        CleanupStack::PopAndDestroy(gradientMask);
-        gradientMask = combinedMask;
-        CleanupStack::PushL( gradientMask );            
-        }
-    
-    // blit image to bubble through gradient mask
-    CFbsBitmapDevice* bubbleDev = 
-        CFbsBitmapDevice::NewL( const_cast<CFbsBitmap*>(bubbleBitmap) );
-    CleanupStack::PushL( bubbleDev );
-    CFbsBitGc* bubbleGc;
-    User::LeaveIfError( bubbleDev->CreateContext( bubbleGc ) ); 
-    CleanupStack::PushL( bubbleGc );
-    
-    
-    TPoint blitOffset; 
-    blitOffset.iX = ( offset.iX < 0 ) ? 0 : offset.iX;
-    blitOffset.iY = ( offset.iY < 0 ) ? 0 : offset.iY;
-    
-    bubbleGc->SetFaded( aDimmed );
-    bubbleGc->BitBltMasked( aOuterRect.iTl + blitOffset, 
-                            aCOImage,
-                            srcRect, 
-                            gradientMask, 
-                            ETrue );
-
-    CleanupStack::PopAndDestroy( 3, gradientMask );
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::LayoutCallTypeIndicators
-// ---------------------------------------------------------------------------
-//    
-void BubbleUtils::LayoutCallTypeIndicators( 
-    const TRect& aParent,
-    const TAknWindowLineLayout& aCallTypePane,
-    CEikImage*   aTypeIndication1,
-    CEikImage*   aTypeIndication2 )    
-    {
-    if ( !aTypeIndication1 && !aTypeIndication2 )
-        {
-        return;            
-        }
-    
-    // split pane
-    TAknLayoutRect callTypePaneRect;
-    callTypePaneRect.LayoutRect( aParent,
-                                 aCallTypePane );
-        
-    TRect paneRect = callTypePaneRect.Rect();
-    TInt  paneWidth = paneRect.Width();
-    TInt  paneHeight = paneRect.Height();
-    TSize indSize( paneWidth/2, paneHeight );
-        
-    TRect indRect1 = TRect( TPoint( paneRect.iTl ), indSize );
-                                
-    TRect indRect2 = TRect( TPoint( paneRect.iTl.iX + ( paneWidth / 2 ),
-                                    paneRect.iTl.iY ), indSize );                
-    
-    if ( Layout_Meta_Data::IsMirrored() )
-        {
-        // switch positions
-        TRect tmp = indRect2;
-        indRect2 = indRect1;
-        indRect1 = tmp;
-        }
-    
-    if ( aTypeIndication1 )
-        {
-        aTypeIndication1->SetRect( indRect1 );
-        }
-    
-    if ( aTypeIndication2 )        
-        {
-        if ( aTypeIndication1 )
-            {
-            aTypeIndication2->SetRect( indRect2 );    
-            }
-        else
-            {
-            aTypeIndication2->SetRect( indRect1 );    
-            }            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::PrepareCallObjectImageL
-// ---------------------------------------------------------------------------
-//    
-void BubbleUtils::PrepareCallObjectImageL( 
-    CBubbleHeader& aHeader,
-    const TSize& aSize )
-    {
-    CFbsBitmap* bitmap = aHeader.CallObjectImage();
-     
-    if ( bitmap )
-        {
-        CBubbleHeader::TBMCallObjectImageType imageType = 
-            aHeader.CallObjectImageType();
-        
-        if ( imageType == CBubbleHeader::EThemeImage &&
-             AknIconUtils::IsMifIcon( bitmap ) )
-            {
-            // This does nothing, if icon is already in requested size.
-            TInt err =  AknIconUtils::SetSize( 
-                            bitmap,
-                            aSize,
-                            EAspectRatioPreservedSlice );
-            
-            if ( err != KErrNone ) // out of memory
-                {
-                aHeader.SetCallObjectImage( NULL );
-                aHeader.SetCallObjectImageMask( NULL );
-                User::Leave( err );
-                }
-            }
-        else if ( imageType == CBubbleHeader::EGalleryImage &&
-                  aHeader.TnBitmap() )
-            {
-            TSize thumbnailSize = aHeader.TnBitmap()->SizeInPixels();
-            
-            // Allow one pixel rounding inaccuracy
-            if ( thumbnailSize.iWidth  >= (aSize.iWidth - 1) &&
-                 thumbnailSize.iHeight >= (aSize.iHeight - 1) )
-                {
-                aHeader.SwitchToThumbnailImage();    
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// BubbleUtils::CreateCombinedMaskL
-// ---------------------------------------------------------------------------
-//
-CFbsBitmap* BubbleUtils::CreateCombinedMaskL(
-    const CFbsBitmap* aPrimaryMask,
-    const CFbsBitmap* aSecondaryMask )
-    {
-    __ASSERT_DEBUG( aPrimaryMask != NULL, 
-        Panic( EBMPanicErrorInResourceManager ) );
-    __ASSERT_DEBUG( aSecondaryMask != NULL, 
-        Panic( EBMPanicErrorInResourceManager ) );
-        
-    TSize size = aPrimaryMask->SizeInPixels();
-    
-    // create combined mask
-    CFbsBitmap* combinedMask = new(ELeave) CFbsBitmap;
-    CleanupStack::PushL( combinedMask );
-    User::LeaveIfError( combinedMask->Create( size, 
-                                              EGray256 ) );
-    
-    CFbsBitmapDevice* combinedMaskDev = 
-        CFbsBitmapDevice::NewL( combinedMask );
-    CleanupStack::PushL( combinedMaskDev );
-    CFbsBitGc* combinedMaskCtx;
-    User::LeaveIfError( combinedMaskDev->CreateContext( 
-        combinedMaskCtx ) );
-    CleanupStack::PushL( combinedMaskCtx ); 
-        
-    // initialize mask to black color
-    combinedMaskCtx->SetBrushColor( AKN_LAF_COLOR(215) ); // black
-    combinedMaskCtx->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    combinedMaskCtx->SetPenStyle( CGraphicsContext::ENullPen );
-    combinedMaskCtx->DrawRect( size );
-        
-    // blit secondary mask through primary mask
-    combinedMaskCtx->BitBltMasked( TPoint(0,0), 
-                                   aSecondaryMask,
-                                   size, 
-                                   aPrimaryMask, 
-                                   ETrue );                                 
-        
-    CleanupStack::PopAndDestroy( 2, combinedMaskDev );
-    CleanupStack::Pop( combinedMask );
-    
-    return combinedMask;
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMVideoController.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,568 +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:  Video player controller.
-*
-*/
-
-
-// INCLUDES
-#include    <AudioPreference.h>
-#include    "BMVideoController.h"
-#include    "BMVideoPlayer.h"
-#include    "BMBubbleVideoContainer.h"
-#include    "BMVideoPlaybackObserver.h"
-#include    "BMTrace.h"
-
-// ======== LOCAL FUNCTIONS ========
-static CBubbleVideoPlayer::TRingingType ConvertRingingType(
-    CBubbleManager::TBubbleVideoPlayMode aRingingMode );    
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleVideoController::CBubbleVideoController(
-    CBubbleManager& aBubbleManager ) :
-    CActive( CActive::EPriorityStandard ),
-    iBubbleManager( aBubbleManager )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-CBubbleVideoController* CBubbleVideoController::NewL(
-    CBubbleManager& aBubbleManager )
-    {
-    CBubbleVideoController* self = new( ELeave ) CBubbleVideoController( 
-        aBubbleManager );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    
-    return self;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CBubbleVideoController::~CBubbleVideoController()
-    {
-    Cancel();
-    
-    if ( iPlayer )
-        {
-        iPlayer->StopPlaying();
-        }
-    
-    Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// Reset
-// ---------------------------------------------------------------------------
-//    
-void CBubbleVideoController::Reset()
-    {
-    delete iPlayer;
-    iPlayer = NULL;
-    delete iContainer;
-    iContainer = NULL;
-    delete iFileName;    
-    iFileName = NULL;
-    iVolumeLevel = 0;
-    iObserver = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// PrepareToPlayVideo
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::PrepareToPlayVideo( 
-    const TDesC& aFileName,
-    CBubbleManager::TBubbleVideoPlayMode aPlayMode,
-    TInt aVolumeLevel,
-    TBool aArbitraryScaling,
-    MBubbleVideoPlaybackObserver* aObserver )
-    {
-    delete iFileName;
-    iFileName = aFileName.Alloc();
-    iPlayMode = aPlayMode;
-    iVolumeLevel = aVolumeLevel;
-    iArbitraryScaling = aArbitraryScaling;
-    iObserver = aObserver;
-    }
-
-// ---------------------------------------------------------------------------
-// CreatePlayerAndPlay
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::CreatePlayerAndPlay()
-    {
-    BUBBLE_PRINT("VideoCtrl::Play>");
-    TRAPD( err, DoPlayL() );
-   
-    if ( err != KErrNone )
-        {
-        ReportErrorAsync( MBubbleVideoPlaybackObserver::EPlayerInitFailure,
-                          err );            
-        }
-    BUBBLE_PRINTF("VideoCtrl::Play<:", err );                        
-    }
-
-// ---------------------------------------------------------------------------
-// StopAndDeleteVideoPlayer
-// ---------------------------------------------------------------------------
-//    
-void CBubbleVideoController::StopAndDeletePlayer()
-    {
-    BUBBLE_PRINT("VideoCtrl::StopAndDel");
-    if ( iPlayer )
-        {
-        iPlayer->StopPlaying();
-        }
-    // To delete player.
-    Reset();
-    }
-    
-// ---------------------------------------------------------------------------
-// Stop
-// ---------------------------------------------------------------------------
-//    
-void CBubbleVideoController::StopPlaying()
-    {
-    BUBBLE_PRINT("VideoCtrl::Stop");
-    if ( iPlayer )
-        {
-        iPlayer->StopPlaying();
-        }
-    }    
-
-// ---------------------------------------------------------------------------
-// Mute
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::MutePlaying()
-    {
-    BUBBLE_PRINT("VideoCtrl::Mute");
-    if ( iPlayer )
-        {
-        iPlayer->MuteAudio();    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// HandleLayoutChange
-// ---------------------------------------------------------------------------
-//    
-void CBubbleVideoController::HandleLayoutChange()
-    {
-    BUBBLE_PRINT("VideoCtrl::HLC>");
-    if ( iPlayer && ( iPlayer->State() >= CBubbleVideoPlayer::EVideoReady ) )
-        {
-        BUBBLE_PRINT("VideoCtrl::HLC>1");
-        iPlayer->PausePlaying();
-        EnableRedraws();    
-        LayoutContainer();
-        if ( iArbitraryScaling )
-            {
-            iPlayer->AdjustToWindow2( iContainer->GetWindow() );     
-            }
-        else
-            {
-            iPlayer->AdjustToWindow( iContainer->GetWindow(), 
-                                     iUncropPane,
-                                     EFalse );    
-            }            
-        iContainer->DrawNow();
-        DisableRedraws();
-        iPlayer->ResumePlaying();
-        }
-    else if ( iContainer )
-        {
-        BUBBLE_PRINT("VideoCtrl::HLC>2");
-        LayoutContainer();    
-        }
-    BUBBLE_PRINT("VideoCtrl::HLC<");                
-    }
-    
-// ---------------------------------------------------------------------------
-// SetQcifVideoRects
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::SetQcifVideoPaneRects(
-    const TRect& aVideoPane,
-    const TRect& aUncropPane )
-    {
-    iVideoPaneRectQcif = aVideoPane;
-    iUncropPaneRectQcif = aUncropPane;
-    }
-    
-// ---------------------------------------------------------------------------
-// SetSubQcifVideoRects
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::SetSubQcifVideoPaneRects(
-    const TRect& aVideoPane,
-    const TRect& aUncropPane )
-    {
-    iVideoPaneRectSubQcif = aVideoPane;
-    iUncropPaneRectSubQcif = aUncropPane;   
-    }    
-                            
-// ---------------------------------------------------------------------------
-// SetVideoPaneBackgroundFrame
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::SetVideoPaneBackgroundFrame( 
-    const TAknsItemID& aFrameId,
-    const TRect& aOuterRect,
-    const TRect& aInnerRect )
-    {
-    TBool skinChanged = ( aFrameId == iBgFrameId ) ? EFalse : ETrue;
-    
-    iBgFrameId = aFrameId;
-    iBgFrameOuterRect = aOuterRect;
-    iBgFrameInnerRect = aInnerRect;
-    
-    if ( iContainer && skinChanged )
-        {
-        UpdateContainerBackground();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// ConvertRingingType
-// ---------------------------------------------------------------------------
-//    
-CBubbleVideoPlayer::TRingingType ConvertRingingType(
-    CBubbleManager::TBubbleVideoPlayMode aRingingMode )
-    {
-    CBubbleVideoPlayer::TRingingType aRingingType
-        = CBubbleVideoPlayer::ETypeRinging; 
-    
-    switch ( aRingingMode )
-        {
-        case CBubbleManager::EPlayInLoop:
-            aRingingType = CBubbleVideoPlayer::ETypeRinging;
-            break;
-        case CBubbleManager::EPlayAscending:
-            aRingingType = CBubbleVideoPlayer::ETypeAscending;
-            break;
-        case CBubbleManager::EPlayOnce:
-            aRingingType = CBubbleVideoPlayer::ETypeRingingOnce;
-            break;
-        default:
-            break;
-        }
-    
-    return aRingingType;
-    }    
-
-// ---------------------------------------------------------------------------
-// DoPlayL
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::DoPlayL()
-    {
-    if ( !iContainer )
-        {
-        // Create container window for video playback
-        iContainer = CBubbleVideoContainer::NewL( &iBubbleManager ); 
-        LayoutContainer();
-        // Container window is set visible just before play. 
-        iContainer->MakeVisible( EFalse );
-        iContainer->ActivateL();
-        }
-    
-    // Create video player
-    delete iPlayer;
-    iPlayer = NULL;
-    iPlayer = CBubbleVideoPlayer::NewL( 
-              *iFileName,
-              KAudioPriorityPhoneCall, 
-              KAudioPrefIncomingCall,
-              *this, 
-              iContainer->GetWindow() );
-
-    // Play
-    iPlayer->Play( ConvertRingingType(iPlayMode), iVolumeLevel );
-    }
-
-// ---------------------------------------------------------------------------
-// LayoutContainer
-// ---------------------------------------------------------------------------
-//    
-void CBubbleVideoController::LayoutContainer()
-    {
-    if ( !iContainer )
-        {
-        return;    
-        }
-    
-    CBubbleVideoPlayer::TVideoResolution resolution =
-        CBubbleVideoPlayer::EVideoQCIF; 
-    if ( iPlayer && 
-         ( iPlayer->State() >= CBubbleVideoPlayer::EVideoReady ) )
-        {
-        resolution = iPlayer->VideoResolution();    
-        }
-        
-    TPoint offset = iBubbleManager.PositionRelativeToScreen();
-    if ( resolution == CBubbleVideoPlayer::EVideoSubQCIF &&
-         !iArbitraryScaling )
-        {
-        iContainer->SetRect( iVideoPaneRectSubQcif );
-        iUncropPane = iUncropPaneRectSubQcif;
-        iUncropPane.Move( offset );
-        }
-    else
-        {
-        iContainer->SetRect( iVideoPaneRectQcif );
-        iUncropPane = iUncropPaneRectQcif;
-        iUncropPane.Move( offset );
-        }        
-    
-    UpdateContainerBackground();
-    }
-    
-// ---------------------------------------------------------------------------
-// UpdateContainerBackground
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::UpdateContainerBackground()
-    {
-    // Set relative to container position
-    TPoint cntPosition = iContainer->Position();
-    TRect outerCntRect( iBgFrameOuterRect );
-    TRect innerCntRect( iBgFrameInnerRect );
-    outerCntRect.Move( -cntPosition );
-    innerCntRect.Move( -cntPosition );
-    iContainer->SetBackgroundFrame( iBgFrameId, 
-                                    outerCntRect, 
-                                    innerCntRect );    
-    }
-    
-// ---------------------------------------------------------------------------
-// ReportErrorAsync
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::ReportErrorAsync(
-    MBubbleVideoPlaybackObserver::TBubbleVideoPlaybackError aErrorType,
-    TInt aErrorCode )
-    {
-    BUBBLE_PRINT("VideoCtrl::RErrA");
-    Cancel();
-    iState = EReportingError;
-    iErrorType = aErrorType;
-    iErrorCode = aErrorCode;
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();    
-    }
-    
-// ---------------------------------------------------------------------------
-// ReportEventAsync
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::ReportEventAsync(
-    MBubbleVideoPlaybackObserver::TBubbleVideoPlaybackEvent aEvent )
-    {
-    BUBBLE_PRINT("VideoCtrl::REvnA");
-    Cancel();
-    iState = EReportingEvent;
-    iEventCode = aEvent;
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();    
-    }    
-
-
-// ---------------------------------------------------------------------------
-// From class MBubbleVideoPlayerObserver.
-// HandleVideoPlayerError
-// ---------------------------------------------------------------------------
-// 
-void CBubbleVideoController::HandleVideoPlayerError( 
-    TBubbleVideoPlayerErrorEvent aEvent,
-    TInt aError )
-    {
-    BUBBLE_PRINTF("VideoCtrl::HVPE.evn:", aEvent );
-    BUBBLE_PRINTF("VideoCtrl::HVPE.err:", aError );
-    switch( aEvent )
-        {
-        case EVideoPlayerInitializingFailure:
-            ReportErrorAsync( 
-                MBubbleVideoPlaybackObserver::EPlayerInitFailure, aError );    
-            break;
-        case EVideoPlayerPlayingFailure:
-            ReportErrorAsync( 
-                MBubbleVideoPlaybackObserver::EPlaybackFailure, aError );
-            break;
-        default:
-            break;            
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MBubbleVideoPlayerObserver.
-// HandleVideoPlayerInitComplete
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::HandleVideoPlayerInitComplete()
-    {
-    BUBBLE_PRINT("VideoCtrl::HVPInitComp");
-    if ( iObserver )
-        {
-        ReportEventAsync( 
-            MBubbleVideoPlaybackObserver::EPlayerInitComplete );
-        }
-    
-    if ( iArbitraryScaling )
-        {
-        iPlayer->AdjustToWindow2( iContainer->GetWindow() );    
-        }
-    else
-        {
-        if ( iPlayer->VideoResolution() == CBubbleVideoPlayer::EVideoSubQCIF  )
-            {
-            // relayout for subqcif
-            LayoutContainer();    
-            }
-        iPlayer->AdjustToWindow( iContainer->GetWindow(), 
-                                 iUncropPane,
-                                 iArbitraryScaling );               
-        }
-    
-    // Make container visible before playin starts.
-    iContainer->MakeVisible( ETrue );
-     // Draw container now to prevent playback time redraw event.
-    iContainer->DrawNow();
-    DisableRedraws(); 
-    }
-
-// ---------------------------------------------------------------------------
-// From class MBubbleVideoPlayerObserver.
-// HandleVideoPlayerPlayingComplete
-// ---------------------------------------------------------------------------
-// 
-void CBubbleVideoController::HandleVideoPlayerPlayingComplete()
-    {
-    BUBBLE_PRINT("VideoCtrl::HVPPlayComp");
-    if ( iObserver )
-        {
-        ReportEventAsync(
-            MBubbleVideoPlaybackObserver::EPlayingComplete );    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class MBubbleVideoPlayerObserver.
-// HandleVideoPlayerPlayingComplete
-// ---------------------------------------------------------------------------
-//    
-void CBubbleVideoController::HandleVideoPlayerBlittingAreaDefined( 
-    const TRect& aBlitRect )
-    {
-    if ( iArbitraryScaling )
-        {
-        TPoint offset = iBubbleManager.PositionRelativeToScreen();
-        TRect containerRect( aBlitRect );
-        containerRect.Move( -offset );
-        iContainer->SetRect( containerRect );    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From class CActive.
-// RunL
-// ---------------------------------------------------------------------------
-//    
-void CBubbleVideoController::RunL()
-    {
-    BUBBLE_PRINT("VideoCtrl::RunL");
-    switch ( iState )    
-        {
-        case EReportingError:
-            if ( iObserver )
-                {
-                EnableRedraws();
-                iObserver->HandleBubbleVideoPlaybackError( 
-                    iErrorType, iErrorCode );                        
-                }
-            break;
-        case EReportingEvent:
-            if ( iObserver )
-                {
-                iObserver->HandleBubbleVideoPlaybackEvent( 
-                    iEventCode );                        
-                }
-            break;            
-        default:
-            break;            
-        }
-    
-    iState = EIdle;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CActive.
-// DoCancel
-// ---------------------------------------------------------------------------
-//        
-void CBubbleVideoController::DoCancel()
-    {
-    // Request is completed immediately before SetActive.
-    }
-
-// ---------------------------------------------------------------------------
-// EnableRedraws
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::EnableRedraws()
-    {
-    iContainer->SetRedrawDisabled( EFalse );    
-    }
-
-// ---------------------------------------------------------------------------
-// DisableRedraws
-// ---------------------------------------------------------------------------
-//
-void CBubbleVideoController::DisableRedraws()
-    {
-    if ( iArbitraryScaling )    
-        {
-        // Container is covered entirely by video only
-        // when arbitrary scaling is supported.
-        iContainer->SetRedrawDisabled( ETrue );    
-        }    
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/Src/BMVideoPlayer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,937 +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:  Video player implementation.
-*
-*/
-
-
-// INCLUDE FILES
-#include <coemain.h>       // CCoeEnv 
-#include <eikenv.h>        // CEikEnv 
-#include <videoplayer.h>   // CVideoPlayerUtility
-#include "BMVideoPlayer.h"
-#include "BMVideoPlayerObserver.h"
-#include "BMPanic.h"
-#include "BMTrace.h"
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES  
-
-// CONSTANTS
-const TInt KBubbleVideoMinVolumeLevel = 0;
-const TInt KBubbleVideoMaxVolumeLevel = 10;
-const TInt KBubbleVideoVolumeRampInterval = 3000000;
-const TInt KBubbleVideoVolumeRampStep = 1;
-const TInt KBubbleVideoRepeatsTrailPause = 1000000;
-const TInt KBubbleVideoIACoef = 1000; // Precision for fixed point math
-const TInt KBubbleMaxVideoCrop = 0; // Allowed max cropping. 0, 1 .. 20 (%).
-// The margin between aWindowRect and aClipRect parameters passed to player,
-// which can be used to eliminate black fill (scaled image is matched to
-// target area by clipping it).
-const TInt KBubbleVideoClipMarginX = 2;
-const TInt KBubbleVideoClipMarginY = 2;
-
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-TInt DivideAndCeil(const TInt aVal, const TInt aDiv)
-    {
-    return (((aVal%aDiv)>0) ? (TInt)((aVal/aDiv)+1):(TInt)(aVal/aDiv));
-    }
-
-// ---------------------------------------------------------------------------
-// C++ constructor
-// ---------------------------------------------------------------------------
-//
-CBubbleVideoPlayer::CBubbleVideoPlayer(
-    MBubbleVideoPlayerObserver& aObserver )
-    :
-    iObserver( aObserver ),
-    iVideoPlayer( NULL ),
-    iPlayerState( EVideoClosed ),
-    iVolume( 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::ConstructL( 
-    const TDesC& aFileName, 
-    TInt aPriority, 
-    TUint aPreference,
-    RWindow& aVideoTarget  )
-    {
-    BUBBLE_PRINT("VideoPlayer::Const>");
-    // Screen and clip rectangles to window dimensions
-    TPoint wndPosition( aVideoTarget.AbsPosition() );
-    TSize wndSize( aVideoTarget.Size() );
-    TRect wndRect( wndPosition, wndSize );
-    
-    // Create video player instance
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    iVideoPlayer = CVideoPlayerUtility::NewL(
-        *this,
-        aPriority,
-        static_cast<TMdaPriorityPreference>( aPreference ),
-        coeEnv->WsSession(),
-        *coeEnv->ScreenDevice(),    
-        aVideoTarget,
-        wndRect, 
-        wndRect );
-
-    RFs fs = CEikonEnv::Static()->FsSession();
-    User::LeaveIfError( iFileHandle.Open( fs,
-                                          aFileName,
-                                          EFileShareReadersOnly | 
-                                          EFileStream | 
-                                          EFileRead ) );        
-    
-    iVideoPlayer->OpenFileL( iFileHandle ); // async
-    
-    iPlayerState = EVideoOpening;
-    BUBBLE_PRINT("VideoPlayer::Const<");
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::NewL
-// -----------------------------------------------------------------------------
-//
-CBubbleVideoPlayer* CBubbleVideoPlayer::NewL(
-    const TDesC& aRingingTone, 
-    TInt aPriority, 
-    TUint aPreference,
-    MBubbleVideoPlayerObserver& aObserver, 
-    RWindow& aVideoTarget )
-    {
-    CBubbleVideoPlayer* self = new(ELeave) CBubbleVideoPlayer( aObserver );
-        
-    CleanupStack::PushL( self );
-    self->ConstructL( aRingingTone, 
-                      aPriority, aPreference, 
-                      aVideoTarget );
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::New
-// -----------------------------------------------------------------------------
-//
-CBubbleVideoPlayer* CBubbleVideoPlayer::New(
-    const TDesC& aRingingTone,  
-    TInt aPriority, 
-    TUint aPreference,
-    MBubbleVideoPlayerObserver& aObserver, 
-    RWindow& aVideoTarget )
-    {
-    CBubbleVideoPlayer* self = NULL;
-
-    TRAPD( ignore, self = CBubbleVideoPlayer::NewL(
-                              aRingingTone, 
-                              aPriority, 
-                              aPreference,
-                              aObserver,   
-                              aVideoTarget ) );
-    ignore = ignore;                              
-    
-    return self; // this is NULL if NewL leaves
-    }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CBubbleVideoPlayer::~CBubbleVideoPlayer()
-    {
-    if ( iVolumeRampTimer )
-        {
-        iVolumeRampTimer->Cancel();
-        delete iVolumeRampTimer;
-        }
-        
-    if ( iRepeatsTrailPauseTimer )
-        {
-        iRepeatsTrailPauseTimer->Cancel();
-        delete iRepeatsTrailPauseTimer;    
-        }
-
-    if ( iVideoPlayer )
-        {
-        iVideoPlayer->Close();
-        delete iVideoPlayer;
-        }
-        
-    iFileHandle.Close();        
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::Play
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::Play( TRingingType aRingType, 
-                              TInt aVolume )
-    {
-    BUBBLE_PRINT("VideoPlayer::Play>");
-    __ASSERT_DEBUG( iVideoPlayer, Panic( EBMPanicVideoPlayer ) );
-    
-    iRingingType = aRingType;
-    iVolume = aVolume;
-
-    switch( iPlayerState )
-        {
-        case EVideoOpening:
-        case EVideoPreparing:
-        case EVideoOpen:
-            // see MvpuoPrepareComplete()
-            iToBePlayed = ETrue;   
-            break;
-        
-        case EVideoReady:
-        case EVideoPaused:
-            iVideoPlayer->Play();
-            iPlayerState = EVideoPlaying;
-            break;
-        
-        case EVideoPlaying:
-        case EVideoClosed:
-        case EVideoError:
-        default:
-            // NOP
-            break;
-        }
-
-    BUBBLE_PRINT("VideoPlayer::Play<");
-    return;
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::StopPlaying
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::StopPlaying()
-    {
-    BUBBLE_PRINT("VideoPlayer::Stop>");
-    iToBePlayed = EFalse;
-
-    if ( iVolumeRampTimer )
-        {
-        iVolumeRampTimer->Cancel();
-        }
-        
-    if ( iRepeatsTrailPauseTimer )        
-        {
-        iRepeatsTrailPauseTimer->Cancel();    
-        }
-    
-    if ( iPlayerState == EVideoPlaying ||
-         iPlayerState == EVideoPaused )
-        {
-        iVideoPlayer->Stop();
-        iPlayerState = EVideoReady;
-        }
-    BUBBLE_PRINT("VideoPlayer::Stop<");        
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::PausePlaying
-// -----------------------------------------------------------------------------
-//    
-TInt CBubbleVideoPlayer::PausePlaying()
-    {
-    BUBBLE_PRINT("VideoPlayer::Pause>");
-    TInt err = KErrNone;
-    
-    if ( iPlayerState == EVideoPlaying )
-        {
-        TRAP( err, iVideoPlayer->PauseL() );
-        if ( err == KErrNone )    
-            {
-            iPlayerState = EVideoPaused;    
-            }
-        }
-    else
-        {
-        err = KErrNotReady;    
-        }        
-
-    BUBBLE_PRINTF("VideoPlayer::Pause<:", err);        
-    return err;        
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::ResumePlaying
-// -----------------------------------------------------------------------------
-//    
-void CBubbleVideoPlayer::ResumePlaying()
-    {
-    BUBBLE_PRINT("VideoPlayer::Resume>");
-    if ( iPlayerState == EVideoPaused )
-        {
-        iVideoPlayer->Play(); 
-        iPlayerState = EVideoPlaying;       
-        }
-    BUBBLE_PRINT("VideoPlayer::Resume<");        
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::MuteAudio
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::MuteAudio()
-    {
-    BUBBLE_PRINT("VideoPlayer::Mute");
-    if ( iVolumeRampTimer )
-        {
-        iVolumeRampTimer->Cancel();
-        }
-
-    iVolume = 0;
-    SetVolume( 0 );
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::SetVolume
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::SetVolume( TInt aVolume )
-    {
-    BUBBLE_PRINT("VideoPlayer::SetVol>");
-    TInt maxVolume( iVideoPlayer->MaxVolume() );
-    maxVolume = ( maxVolume > 0 ) ? maxVolume : KBubbleVideoMaxVolumeLevel; 
-
-    TInt scaledVolume = ( aVolume * maxVolume ) / KBubbleVideoMaxVolumeLevel;
-    
-    TRAP_IGNORE( iVideoPlayer->SetVolumeL( scaledVolume ) );
-    BUBBLE_PRINT("VideoPlayer::SetVol<");
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::SetRingingType
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::SetRingingType( TRingingType aRingingType )
-    {
-    BUBBLE_PRINT("VideoPlayer::SetRingType");
-    if ( aRingingType == ETypeAscending )
-        {
-        if ( !iVolumeRampTimer )
-            {
-            iVolumeRampTimer = CPeriodic::New( CActive::EPriorityStandard );
-            }
-
-        if ( iVolumeRampTimer && !iVolumeRampTimer->IsActive() )
-            {
-            TCallBack cb( VolumeRampTimerCallback, this );
-
-            SetVolume( KBubbleVideoMinVolumeLevel );
-            iRampedVolume = KBubbleVideoMinVolumeLevel;
-            iVolumeRampTimer->Start( KBubbleVideoVolumeRampInterval, 
-                                     KBubbleVideoVolumeRampInterval, 
-                                     cb );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::VolumeRampTimerCallback
-// -----------------------------------------------------------------------------
-//
-TInt CBubbleVideoPlayer::VolumeRampTimerCallback( TAny* aObj )
-    {
-    return static_cast<CBubbleVideoPlayer*>( aObj )->DoVolumeRamp();
-    }
-    
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::DoVolumeRamp
-// -----------------------------------------------------------------------------
-//
-TInt CBubbleVideoPlayer::DoVolumeRamp()
-    {
-    BUBBLE_PRINT("VideoPlayer::DoVolRamp");
-    if ( iRampedVolume < iVolume )
-        {
-        iRampedVolume = iRampedVolume + KBubbleVideoVolumeRampStep;
-        if ( iRampedVolume >= iVolume )
-            {
-            // target volume level reached
-            iRampedVolume = iVolume;
-            iVolumeRampTimer->Cancel();
-            }
-
-        SetVolume( iRampedVolume );
-        }
-
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::RepeatsTrailPauseTimerCallback
-// -----------------------------------------------------------------------------
-//
-TInt CBubbleVideoPlayer::RepeatsTrailPauseTimerCallback( TAny* aObj )
-    {
-    return static_cast<CBubbleVideoPlayer*>( aObj )->DoRingingRepeat();    
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::DoRingingRepeat
-// -----------------------------------------------------------------------------
-//    
-TInt CBubbleVideoPlayer::DoRingingRepeat()
-    {
-    iRepeatsTrailPauseTimer->Cancel();
-    
-    if ( iPlayerState == EVideoReady )
-        {
-        iVideoPlayer->Play();
-        iPlayerState = EVideoPlaying;
-        }
-
-    return KErrNone;    
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::State
-// -----------------------------------------------------------------------------
-//
-CBubbleVideoPlayer::TVideoPlayerState CBubbleVideoPlayer::State() const
-    {
-    return iPlayerState;
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::VideoResolution
-// -----------------------------------------------------------------------------
-//
-CBubbleVideoPlayer::TVideoResolution CBubbleVideoPlayer::VideoResolution() const
-    {
-    TSize frameSize( VideoFrameSize() );
-    
-    // SubQCCIF video resolution is 128x96 pixels
-    if ( frameSize.iWidth == 128 && frameSize.iHeight == 96 )
-        {
-        return EVideoSubQCIF;
-        }
-    else if ( frameSize.iWidth == 176 && frameSize.iHeight == 144 )        
-        {
-        return EVideoQCIF;        
-        }
-    else
-        {
-        return EVideoOther;    
-        }        
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::VideoResolution
-// -----------------------------------------------------------------------------
-//    
-TSize CBubbleVideoPlayer::VideoFrameSize() const
-    {
-    TSize frameSize( 0,0 );
-    
-    TRAPD( err, iVideoPlayer->VideoFrameSizeL( frameSize ) );
-    
-    if ( err != KErrNone )
-        {
-        return TSize(0,0);
-        }
-
-    return frameSize;            
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::AdjustToWindow
-// -----------------------------------------------------------------------------
-//    
-void CBubbleVideoPlayer::AdjustToWindow( RWindow& aDisplayWindow,
-                                        const TRect& aUncropPane,
-                                        TBool aArbitaryScalingSupported )
-    {
-    BUBBLE_PRINT("VideoPlayer::AdjToWin>");
-    __ASSERT_DEBUG( ( iPlayerState == EVideoReady || 
-                      iPlayerState == EVideoPaused ), 
-                    Panic( EBMPanicVideoPlayer ) );
-                    
-    // Get video frame dimensions
-    TSize  frameSize( VideoFrameSize() );
-    if ( frameSize.iWidth == 0 || frameSize.iHeight == 0 )
-        {
-        return; // invalid            
-        }
-
-    // Get window position and dimensions.
-    TSize  wndSize( aDisplayWindow.Size() );
-    TPoint wndPosition( aDisplayWindow.AbsPosition() );
-    
-    // Set screenRect equal to aDisplayWindow.
-    TRect screenRect( wndPosition, wndSize );
-    
-    TVideoResolution resolution = VideoResolution();         
-    if ( resolution == EVideoQCIF || resolution == EVideoSubQCIF )
-        {
-        // aUncropPane is valid only for qcif and sqcif.
-        
-        // The pane where uncropped video is positioned.
-        TSize uncropPaneSize( aUncropPane.Size() );
-
-        // Calculate size for aScreenRect passed to video player. Size is
-        // calculated so that auto scaled video frame covers uncrop pane.
-        TSize screenRectSize = CalculateScreenRectSize( 
-            uncropPaneSize, frameSize, aArbitaryScalingSupported );
-    
-        // Position aScreenRect.    
-        screenRect = TRect( aUncropPane.iTl, screenRectSize );     
-        TInt offsetX = (uncropPaneSize.iWidth - screenRectSize.iWidth) / 2;
-        TInt offsetY = (uncropPaneSize.iHeight - screenRectSize.iHeight) / 2;
-        screenRect.Move( offsetX, offsetY );    
-        }
-    
-    // Video is autoscaled by video player.
-    // iVideoPlayer->SetScaleFactorL(...);
-    
-    // Clip to display window
-    TRect clipRect( wndPosition, wndSize );
-    
-    // Update settings to video player.
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    TRAP_IGNORE( iVideoPlayer->SetDisplayWindowL( 
-           coeEnv->WsSession(),
-           *coeEnv->ScreenDevice(),
-           aDisplayWindow,
-           screenRect,
-           clipRect ) );
-    BUBBLE_PRINT("VideoPlayer::AdjToWin<");           
-    }
-    
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::AdjustToWindow2
-// -----------------------------------------------------------------------------
-// 
-void CBubbleVideoPlayer::AdjustToWindow2( 
-    RWindow& aDisplayWindow )
-    {
-    BUBBLE_PRINT("VideoPlayer::AdjToWin2>");
-    __ASSERT_DEBUG( ( iPlayerState == EVideoReady || 
-                      iPlayerState == EVideoPaused ), 
-                    Panic( EBMPanicVideoPlayer ) );
-                    
-    // Get video frame dimensions
-    TSize  frameSize( VideoFrameSize() );
-    if ( frameSize.iWidth == 0 || frameSize.iHeight == 0 )
-        {
-        return; // invalid            
-        }
-        
-    // Get video container position and dimensions
-    TSize  wndSize( aDisplayWindow.Size() );
-    TPoint wndPosition( aDisplayWindow.AbsPosition() );        
-
-    // Get sizes for clip and screen rectangles.
-    TSize clipSize;
-    TSize screenSize;
-    CalculateClipAndScreenRectSize( wndSize,
-                                    frameSize,
-                                    clipSize,
-                                    screenSize );
-    
-    // Center clip rectangle to aDisplayWindow
-    TRect clipRect( wndPosition, clipSize );
-    TInt offsetX = (wndSize.iWidth - clipSize.iWidth) / 2;
-    TInt offsetY = (wndSize.iHeight - clipSize.iHeight) / 2;
-    clipRect.Move( offsetX, offsetY );
-    
-    // Center screen rectangle to aDisplayWindow
-    TRect screenRect( wndPosition, screenSize );
-    offsetX = (wndSize.iWidth - screenSize.iWidth) / 2;
-    offsetY = (wndSize.iHeight - screenSize.iHeight) / 2;
-    screenRect.Move( offsetX, offsetY );
-    
-    iObserver.HandleVideoPlayerBlittingAreaDefined( clipRect );
-    
-    // Update rectangles to video player.
-    CCoeEnv* coeEnv = CCoeEnv::Static();
-    TRAP_IGNORE( iVideoPlayer->SetDisplayWindowL( 
-           coeEnv->WsSession(),
-           *coeEnv->ScreenDevice(),
-           aDisplayWindow,
-           screenRect,
-           clipRect ) );
-    BUBBLE_PRINT("VideoPlayer::AdjToWin2<");             
-    }
-
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::CalculateScreenRectSize
-// -----------------------------------------------------------------------------
-//
-TSize CBubbleVideoPlayer::CalculateScreenRectSize( 
-    const TSize& aCanvasSize,
-    const TSize& aVideoFrameSize,
-    TBool aArbitraryScalingSupported )
-    {
-    // Mismatch between canvas size and video size
-    TInt xDelta( aCanvasSize.iWidth - aVideoFrameSize.iWidth );
-    TInt yDelta( aCanvasSize.iHeight - aVideoFrameSize.iHeight );
-    
-    // Find minimum scaling factor to cover canvas by video.
-    TInt dScaleFactor( KBubbleVideoIACoef ); // use integer arithmetic 
-            
-    if ( xDelta == 0 && yDelta == 0 )
-        {
-        // correct size, scaling not needed
-        }
-    else if ( xDelta < 0 && yDelta == 0 )
-        {
-        // wide, but cannot downscale -> just crop
-        }
-    else if ( yDelta < 0 && xDelta == 0 )
-        {
-        // tall, but cannot downscale -> just crop    
-        }    
-    else if ( xDelta > 0 && yDelta > 0 )
-        {            
-        // small, narrow and flat  -> enlarge
-        TInt xProp( ( KBubbleVideoIACoef * aCanvasSize.iWidth ) / 
-                    aVideoFrameSize.iWidth );
-        TInt yProp( ( KBubbleVideoIACoef * aCanvasSize.iHeight ) / 
-                    aVideoFrameSize.iHeight );
-        
-        dScaleFactor = xProp > yProp ? xProp : yProp;
-        }
-    else if ( xDelta < 0 && yDelta < 0 ) 
-        {
-        // large, wide and tall -> downscale
-        TInt xProp( ( KBubbleVideoIACoef * aCanvasSize.iWidth ) / 
-                    aVideoFrameSize.iWidth );
-        TInt yProp( ( KBubbleVideoIACoef * aCanvasSize.iHeight ) / 
-                    aVideoFrameSize.iHeight );
-        
-        dScaleFactor = xProp > yProp ? xProp : yProp;      
-        }
-    else if ( xDelta > 0 && yDelta <= 0 )
-        {
-        // narrow -> enlarge
-        dScaleFactor = ( KBubbleVideoIACoef * aCanvasSize.iWidth ) / 
-                       aVideoFrameSize.iWidth;
-        }
-    else if ( yDelta > 0 && xDelta <= 0 )
-        {
-        // flat  -> enlarge
-        dScaleFactor = ( KBubbleVideoIACoef * aCanvasSize.iHeight) / 
-                       aVideoFrameSize.iHeight;              
-        }
-    else
-        {
-        // do nothing
-        }
-    
-    if ( !aArbitraryScalingSupported )
-        {
-        TInt remainder( dScaleFactor % KBubbleVideoIACoef );
-        
-        ///////////////////////////////////////////////////////
-        // Fixed scales are 200, 162, 137, 112, 100, 50  ( %)
-        // Fixed values not used: 325, 275, 250, 225, 
-        ///////////////////////////////////////////////////////
-        if ( dScaleFactor > ( 2 * KBubbleVideoIACoef ) )
-            {
-            dScaleFactor = ( 2 * KBubbleVideoIACoef ); // 200% is MAX    
-            }
-        else if ( remainder )
-            {
-            if ( dScaleFactor > KBubbleVideoIACoef )    
-                {
-                // upscale
-                TInt scale = ( 100 * dScaleFactor ) / KBubbleVideoIACoef;
-                
-                if ( scale > 162 )
-                    {
-                    // 200%
-                    dScaleFactor = 2 * KBubbleVideoIACoef;   
-                    }
-                else if ( scale > 137 )
-                    {
-                    // 162%
-                    dScaleFactor = 162 * ( KBubbleVideoIACoef / 100 );    
-                    }
-                else if ( scale > 112 )
-                    {
-                    // 137%
-                    dScaleFactor = 137 * ( KBubbleVideoIACoef / 100 );        
-                    }
-                else
-                    {
-                    // 112%
-                    dScaleFactor = 112 * ( KBubbleVideoIACoef / 100 );    
-                    }                    
-                }
-            else
-                {
-                // downscale    
-                if ( remainder > ( KBubbleVideoIACoef / 2 ) )
-                    {
-                    dScaleFactor = KBubbleVideoIACoef; // 100%    
-                    }
-                else
-                    {
-                    dScaleFactor = ( KBubbleVideoIACoef / 2 ); // 50%    
-                    }
-                }
-            }        
-        }
-    
-    ////////////////////////////////////////////////
-    // Calculate scaled frame size (virtual canvas)
-    ////////////////////////////////////////////////
-    TInt screenWidth = DivideAndCeil( 
-                           ( dScaleFactor * aVideoFrameSize.iWidth ), 
-                           KBubbleVideoIACoef );
-    TInt screenHeight = DivideAndCeil( 
-                           ( dScaleFactor * aVideoFrameSize.iHeight ), 
-                           KBubbleVideoIACoef );
-    
-    return TSize( screenWidth, screenHeight );    
-    }
-    
-// -----------------------------------------------------------------------------
-// CBubbleVideoPlayer::CalculateClipAndScreenRectSize
-// -----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::CalculateClipAndScreenRectSize( 
-    const TSize& aWindowSize,
-    const TSize& aVideoFrameSize,
-    TSize& aClipSize,
-    TSize& aScreenSize )    
-    {
-    // Check aspect ratios
-    // aWindowSize or aVideoFrameSize cannot be zero in this phase.
-    TInt windowAspectRatio = ( KBubbleVideoIACoef * aWindowSize.iWidth ) / 
-                             aWindowSize.iHeight;
-    TInt videoAspectRatio = ( KBubbleVideoIACoef * aVideoFrameSize.iWidth ) / 
-                             aVideoFrameSize.iHeight;                             
-    
-    
-    if ( videoAspectRatio == windowAspectRatio )
-        {
-        // Aspect ratios are same.
-        
-        // Set clip and screen rect equal to window.
-        // Scaled video will cover window entirely.
-        aClipSize = aWindowSize;
-        aScreenSize = aWindowSize;            
-        }
-    else if ( windowAspectRatio > videoAspectRatio )
-        {
-        // Window is more wide screen than video.
-        
-        // Window height sets the limit.
-        TInt maxHeight = aWindowSize.iHeight;
-
-        // Calculate max scale according to allowed crop.
-        // Formula:
-        // ( 100 - crop )   visible    window_height x scale x video_width
-        // -------------- = ------- =  -----------------------------------
-        //      100       scaled_size  (scale)^2 x video_width x video_height
-        //
-        TInt dScaleFactor = ( maxHeight * 100 * KBubbleVideoIACoef ) /
-            ( (100 - KBubbleMaxVideoCrop) * aVideoFrameSize.iHeight );
-            
-        TInt scaledWidth = 
-            DivideAndCeil( ( dScaleFactor * aVideoFrameSize.iWidth ), 
-                           KBubbleVideoIACoef );
-        
-        // Limit to window width
-        if ( scaledWidth > aWindowSize.iWidth )
-            {
-            scaledWidth = aWindowSize.iWidth;
-            dScaleFactor = ( KBubbleVideoIACoef * aWindowSize.iWidth ) / 
-                             aVideoFrameSize.iWidth;                
-            }
-            
-        TInt scaledHeight = 
-            DivideAndCeil( ( dScaleFactor * aVideoFrameSize.iHeight ), 
-                           KBubbleVideoIACoef );            
-            
-        aClipSize = TSize( scaledWidth, maxHeight );
-        aScreenSize = TSize( scaledWidth  + ( 2 * KBubbleVideoClipMarginX ), 
-                             scaledHeight + ( 2 * KBubbleVideoClipMarginY ) );    
-        }
-    else
-        {
-        // Video is more wide screen than window.
-        
-        // Window width sets the limit.
-        TInt maxWidth = aWindowSize.iWidth;
-
-        // Calculate max scale according to allowed crop.
-        // Formula:
-        // ( 100 - crop )   visible    window_width x scale x video_heigth
-        // -------------- = ------- =  -----------------------------------
-        //      100       scaled_size  (scale)^2 x video_width x video_height
-        //
-        TInt dScaleFactor = ( maxWidth * 100 * KBubbleVideoIACoef ) /
-            ( (100 - KBubbleMaxVideoCrop) * aVideoFrameSize.iWidth );
-                                       
-            
-        TInt scaledHeight = 
-            DivideAndCeil( ( dScaleFactor * aVideoFrameSize.iHeight ), 
-                           KBubbleVideoIACoef );
-        
-        // Limit to window height
-        if ( scaledHeight > aWindowSize.iHeight )
-            {
-            scaledHeight = aWindowSize.iHeight;
-            dScaleFactor = ( KBubbleVideoIACoef * aWindowSize.iHeight ) / 
-                             aVideoFrameSize.iHeight;                
-            }
-            
-        TInt scaledWidth = 
-            DivideAndCeil( ( dScaleFactor * aVideoFrameSize.iWidth ), 
-                           KBubbleVideoIACoef );            
-            
-        aClipSize = TSize( maxWidth, scaledHeight );
-        aScreenSize = TSize( scaledWidth  + ( 2 * KBubbleVideoClipMarginX ), 
-                             scaledHeight + ( 2 * KBubbleVideoClipMarginY ) );   
-        }
-    }
-
-// ============================================================================
-// Callbacks from VideoPlayerutility
-// ============================================================================
-
-// ----------------------------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoOpenComplete
-// ----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::MvpuoOpenComplete( TInt aError )
-    {
-    BUBBLE_PRINTF("VideoPlayer::OpenComp:", aError);
-    if ( aError == KErrNone )
-        {
-        // Prepare clip for playing
-        iPlayerState = EVideoPreparing;
-        iVideoPlayer->Prepare();
-        }
-    else // Report error
-        {
-        iPlayerState = EVideoError;
-        iObserver.HandleVideoPlayerError( 
-            MBubbleVideoPlayerObserver::EVideoPlayerInitializingFailure,
-            aError );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoPrepareComplete
-// ----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::MvpuoPrepareComplete( TInt aError )
-    {
-    BUBBLE_PRINTF("VideoPlayer::PrepComp:", aError);
-    if ( aError == KErrNone )
-        {
-        iPlayerState = EVideoReady;
-        iObserver.HandleVideoPlayerInitComplete();
-
-        SetVolume( iVolume );
-        SetRingingType( iRingingType );
-
-        if ( iToBePlayed )
-            {
-            iVideoPlayer->Play();
-            iPlayerState = EVideoPlaying;
-            }
-        }
-    else  // Report error
-        {
-        iPlayerState = EVideoError;
-        iObserver.HandleVideoPlayerError( 
-            MBubbleVideoPlayerObserver::EVideoPlayerInitializingFailure,
-            aError );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoFrameReady
-// ----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::MvpuoFrameReady( CFbsBitmap& /*aFrame*/,
-                                          TInt /*aError*/ )
-    {
-    // NOP
-    }
-
-// ----------------------------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoPlayComplete
-// ----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::MvpuoPlayComplete( TInt aError )
-    {
-    BUBBLE_PRINTF("VideoPlayer::PlayComp:", aError);
-    if ( aError == KErrNone )
-        {
-        iPlayerState = EVideoReady;
-        
-        if ( iRingingType == ETypeRingingOnce )
-            {
-            iObserver.HandleVideoPlayerPlayingComplete();
-            } 
-        else // continue playing
-            {
-            if ( !iRepeatsTrailPauseTimer )
-                {
-                iRepeatsTrailPauseTimer = 
-                    CPeriodic::New( CActive::EPriorityStandard );
-                }
-            
-            if ( iRepeatsTrailPauseTimer && 
-                 !iRepeatsTrailPauseTimer->IsActive() )
-                {
-                TCallBack cb( RepeatsTrailPauseTimerCallback, this );
-                iRepeatsTrailPauseTimer->Start( KBubbleVideoRepeatsTrailPause, 
-                                         KBubbleVideoRepeatsTrailPause, 
-                                         cb );
-                }
-            }        
-        }
-    else // report error
-        {
-        iPlayerState = EVideoError;
-        iObserver.HandleVideoPlayerError( 
-            MBubbleVideoPlayerObserver::EVideoPlayerPlayingFailure,
-            aError );
-        }
-    }
-        
-// ----------------------------------------------------------------------------
-// see MVideoPlayerUtilityObserver::MvpuoEvent
-// ----------------------------------------------------------------------------
-//
-void CBubbleVideoPlayer::MvpuoEvent( const TMMFEvent& /*aEvent*/ )
-    {
-    // NOP
-    }
-    
-
-//  End of File
--- a/phoneuis/BubbleManager/bmcustomization/bwins/bmcustomizationu.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-EXPORTS
-	??0CTelBubbleAnim@@IAE@XZ @ 1 NONAME ; CTelBubbleAnim::CTelBubbleAnim(void)
-	??0CTelBubbleCallImage@@IAE@XZ @ 2 NONAME ; CTelBubbleCallImage::CTelBubbleCallImage(void)
-	??0CTelBubbleImage@@IAE@XZ @ 3 NONAME ; CTelBubbleImage::CTelBubbleImage(void)
-	??1CTelBubbleAnim@@UAE@XZ @ 4 NONAME ; CTelBubbleAnim::~CTelBubbleAnim(void)
-	??1CTelBubbleCallImage@@UAE@XZ @ 5 NONAME ; CTelBubbleCallImage::~CTelBubbleCallImage(void)
-	??1CTelBubbleCustomElement@@UAE@XZ @ 6 NONAME ; CTelBubbleCustomElement::~CTelBubbleCustomElement(void)
-	??1CTelBubbleImage@@UAE@XZ @ 7 NONAME ; CTelBubbleImage::~CTelBubbleImage(void)
-	?AddFrameToAnimationL@CTelBubbleAnim@@QBEXAAVCEikImage@@@Z @ 8 NONAME ; void CTelBubbleAnim::AddFrameToAnimationL(class CEikImage &) const
-	?AddFrameToAnimationLD@CTelBubbleAnim@@QBEXPAVCEikImage@@@Z @ 9 NONAME ; void CTelBubbleAnim::AddFrameToAnimationLD(class CEikImage *) const
-	?ConstructL@CTelBubbleAnim@@MAEXH@Z @ 10 NONAME ; void CTelBubbleAnim::ConstructL(int)
-	?ConstructL@CTelBubbleCallImage@@MAEXXZ @ 11 NONAME ; void CTelBubbleCallImage::ConstructL(void)
-	?ConstructL@CTelBubbleImage@@MAEXXZ @ 12 NONAME ; void CTelBubbleImage::ConstructL(void)
-	?Control@CTelBubbleCustomElement@@QBEPAVCCoeControl@@XZ @ 13 NONAME ; class CCoeControl * CTelBubbleCustomElement::Control(void) const
-	?ControlType@CTelBubbleCustomElement@@QBE?AW4TControlType@1@XZ @ 14 NONAME ; enum CTelBubbleCustomElement::TControlType CTelBubbleCustomElement::ControlType(void) const
-	?CountComponentControls@CTelBubbleAnim@@MBEHXZ @ 15 NONAME ; int CTelBubbleAnim::CountComponentControls(void) const
-	?Draw@CTelBubbleAnim@@MBEXABVTRect@@@Z @ 16 NONAME ; void CTelBubbleAnim::Draw(class TRect const &) const
-	?Draw@CTelBubbleCallImage@@MBEXABVTRect@@@Z @ 17 NONAME ; void CTelBubbleCallImage::Draw(class TRect const &) const
-	?ElementType@CTelBubbleCustomElement@@QBE?AW4TElementType@1@XZ @ 18 NONAME ; enum CTelBubbleCustomElement::TElementType CTelBubbleCustomElement::ElementType(void) const
-	?Image@CTelBubbleCallImage@@IBEPBVCFbsBitmap@@XZ @ 19 NONAME ; class CFbsBitmap const * CTelBubbleCallImage::Image(void) const
-	?ImageChanged@CTelBubbleCallImage@@MAEXXZ @ 20 NONAME ; void CTelBubbleCallImage::ImageChanged(void)
-	?ImagePlacingArea@CTelBubbleCallImage@@IBEABVTRect@@XZ @ 21 NONAME ; class TRect const & CTelBubbleCallImage::ImagePlacingArea(void) const
-	?IsFullScreenImage@CTelBubbleCallImage@@IBEHXZ @ 22 NONAME ; int CTelBubbleCallImage::IsFullScreenImage(void) const
-	?MakeVisible@CTelBubbleAnim@@MAEXH@Z @ 23 NONAME ; void CTelBubbleAnim::MakeVisible(int)
-	?Mask@CTelBubbleCallImage@@IBEPBVCFbsBitmap@@XZ @ 24 NONAME ; class CFbsBitmap const * CTelBubbleCallImage::Mask(void) const
-	?NewL@CTelBubbleAnim@@SAPAV1@H@Z @ 25 NONAME ; class CTelBubbleAnim * CTelBubbleAnim::NewL(int)
-	?NewL@CTelBubbleCallImage@@SAPAV1@XZ @ 26 NONAME ; class CTelBubbleCallImage * CTelBubbleCallImage::NewL(void)
-	?NewL@CTelBubbleCustomElement@@SAPAV1@PAVCCoeControl@@W4TElementType@1@@Z @ 27 NONAME ; class CTelBubbleCustomElement * CTelBubbleCustomElement::NewL(class CCoeControl *, enum CTelBubbleCustomElement::TElementType)
-	?NewL@CTelBubbleCustomElement@@SAPAV1@PAVCTelBubbleAnim@@W4TElementType@1@@Z @ 28 NONAME ; class CTelBubbleCustomElement * CTelBubbleCustomElement::NewL(class CTelBubbleAnim *, enum CTelBubbleCustomElement::TElementType)
-	?NewL@CTelBubbleCustomElement@@SAPAV1@PAVCTelBubbleCallImage@@W4TElementType@1@@Z @ 29 NONAME ; class CTelBubbleCustomElement * CTelBubbleCustomElement::NewL(class CTelBubbleCallImage *, enum CTelBubbleCustomElement::TElementType)
-	?NewL@CTelBubbleCustomElement@@SAPAV1@PAVCTelBubbleImage@@W4TElementType@1@@Z @ 30 NONAME ; class CTelBubbleCustomElement * CTelBubbleCustomElement::NewL(class CTelBubbleImage *, enum CTelBubbleCustomElement::TElementType)
-	?NewL@CTelBubbleCustomElement@@SAPAV1@PAVCTelBubbleLabel@@W4TElementType@1@@Z @ 31 NONAME ; class CTelBubbleCustomElement * CTelBubbleCustomElement::NewL(class CTelBubbleLabel *, enum CTelBubbleCustomElement::TElementType)
-	?NewL@CTelBubbleImage@@SAPAV1@XZ @ 32 NONAME ; class CTelBubbleImage * CTelBubbleImage::NewL(void)
-	?Offset@CTelBubbleCallImage@@IBEABVTPoint@@XZ @ 33 NONAME ; class TPoint const & CTelBubbleCallImage::Offset(void) const
-	?PositionChanged@CTelBubbleImage@@MAEXXZ @ 34 NONAME ; void CTelBubbleImage::PositionChanged(void)
-	?Reset@CTelBubbleAnim@@QBEXXZ @ 35 NONAME ; void CTelBubbleAnim::Reset(void) const
-	?SetContainerWindowL@CTelBubbleAnim@@MAEXABVCCoeControl@@@Z @ 36 NONAME ; void CTelBubbleAnim::SetContainerWindowL(class CCoeControl const &)
-	?SetImage@CTelBubbleCallImage@@QAEXPAVCFbsBitmap@@H0H@Z @ 37 NONAME ; void CTelBubbleCallImage::SetImage(class CFbsBitmap *, int, class CFbsBitmap *, int)
-	?SetImagePlacingArea@CTelBubbleCallImage@@QAEXAAVTRect@@@Z @ 38 NONAME ; void CTelBubbleCallImage::SetImagePlacingArea(class TRect &)
-	?SizeChanged@CTelBubbleAnim@@MAEXXZ @ 39 NONAME ; void CTelBubbleAnim::SizeChanged(void)
-	?SizeChanged@CTelBubbleCallImage@@MAEXXZ @ 40 NONAME ; void CTelBubbleCallImage::SizeChanged(void)
-	?SizeChanged@CTelBubbleImage@@MAEXXZ @ 41 NONAME ; void CTelBubbleImage::SizeChanged(void)
-	?SourceRect@CTelBubbleCallImage@@IBEABVTRect@@XZ @ 42 NONAME ; class TRect const & CTelBubbleCallImage::SourceRect(void) const
-	?StartAnimationL@CTelBubbleAnim@@QAEXXZ @ 43 NONAME ; void CTelBubbleAnim::StartAnimationL(void)
-	?StopAnimation@CTelBubbleAnim@@QAEXXZ @ 44 NONAME ; void CTelBubbleAnim::StopAnimation(void)
-
--- a/phoneuis/BubbleManager/bmcustomization/eabi/bmcustomizationu.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-EXPORTS
-	_ZN14CTelBubbleAnim10ConstructLEi @ 1 NONAME
-	_ZN14CTelBubbleAnim11MakeVisibleEi @ 2 NONAME
-	_ZN14CTelBubbleAnim11SizeChangedEv @ 3 NONAME
-	_ZN14CTelBubbleAnim13StopAnimationEv @ 4 NONAME
-	_ZN14CTelBubbleAnim15StartAnimationLEv @ 5 NONAME
-	_ZN14CTelBubbleAnim19SetContainerWindowLERK11CCoeControl @ 6 NONAME
-	_ZN14CTelBubbleAnim4NewLEi @ 7 NONAME
-	_ZN14CTelBubbleAnimC1Ev @ 8 NONAME
-	_ZN14CTelBubbleAnimC2Ev @ 9 NONAME
-	_ZN14CTelBubbleAnimD0Ev @ 10 NONAME
-	_ZN14CTelBubbleAnimD1Ev @ 11 NONAME
-	_ZN14CTelBubbleAnimD2Ev @ 12 NONAME
-	_ZN15CTelBubbleImage10ConstructLEv @ 13 NONAME
-	_ZN15CTelBubbleImage11SizeChangedEv @ 14 NONAME
-	_ZN15CTelBubbleImage15PositionChangedEv @ 15 NONAME
-	_ZN15CTelBubbleImage4NewLEv @ 16 NONAME
-	_ZN15CTelBubbleImageC1Ev @ 17 NONAME
-	_ZN15CTelBubbleImageC2Ev @ 18 NONAME
-	_ZN15CTelBubbleImageD0Ev @ 19 NONAME
-	_ZN15CTelBubbleImageD1Ev @ 20 NONAME
-	_ZN15CTelBubbleImageD2Ev @ 21 NONAME
-	_ZN19CTelBubbleCallImage10ConstructLEv @ 22 NONAME
-	_ZN19CTelBubbleCallImage11SizeChangedEv @ 23 NONAME
-	_ZN19CTelBubbleCallImage12ImageChangedEv @ 24 NONAME
-	_ZN19CTelBubbleCallImage19SetImagePlacingAreaER5TRect @ 25 NONAME
-	_ZN19CTelBubbleCallImage4NewLEv @ 26 NONAME
-	_ZN19CTelBubbleCallImage8SetImageEP10CFbsBitmapiS1_i @ 27 NONAME
-	_ZN19CTelBubbleCallImageC1Ev @ 28 NONAME
-	_ZN19CTelBubbleCallImageC2Ev @ 29 NONAME
-	_ZN19CTelBubbleCallImageD0Ev @ 30 NONAME
-	_ZN19CTelBubbleCallImageD1Ev @ 31 NONAME
-	_ZN19CTelBubbleCallImageD2Ev @ 32 NONAME
-	_ZN23CTelBubbleCustomElement4NewLEP11CCoeControlNS_12TElementTypeE @ 33 NONAME
-	_ZN23CTelBubbleCustomElement4NewLEP14CTelBubbleAnimNS_12TElementTypeE @ 34 NONAME
-	_ZN23CTelBubbleCustomElement4NewLEP15CTelBubbleImageNS_12TElementTypeE @ 35 NONAME
-	_ZN23CTelBubbleCustomElement4NewLEP15CTelBubbleLabelNS_12TElementTypeE @ 36 NONAME
-	_ZN23CTelBubbleCustomElement4NewLEP19CTelBubbleCallImageNS_12TElementTypeE @ 37 NONAME
-	_ZN23CTelBubbleCustomElementD0Ev @ 38 NONAME
-	_ZN23CTelBubbleCustomElementD1Ev @ 39 NONAME
-	_ZN23CTelBubbleCustomElementD2Ev @ 40 NONAME
-	_ZNK14CTelBubbleAnim20AddFrameToAnimationLER9CEikImage @ 41 NONAME
-	_ZNK14CTelBubbleAnim21AddFrameToAnimationLDEP9CEikImage @ 42 NONAME
-	_ZNK14CTelBubbleAnim22CountComponentControlsEv @ 43 NONAME
-	_ZNK14CTelBubbleAnim4DrawERK5TRect @ 44 NONAME
-	_ZNK14CTelBubbleAnim5ResetEv @ 45 NONAME
-	_ZNK19CTelBubbleCallImage10SourceRectEv @ 46 NONAME
-	_ZNK19CTelBubbleCallImage16ImagePlacingAreaEv @ 47 NONAME
-	_ZNK19CTelBubbleCallImage17IsFullScreenImageEv @ 48 NONAME
-	_ZNK19CTelBubbleCallImage4DrawERK5TRect @ 49 NONAME
-	_ZNK19CTelBubbleCallImage4MaskEv @ 50 NONAME
-	_ZNK19CTelBubbleCallImage5ImageEv @ 51 NONAME
-	_ZNK19CTelBubbleCallImage6OffsetEv @ 52 NONAME
-	_ZNK23CTelBubbleCustomElement11ControlTypeEv @ 53 NONAME
-	_ZNK23CTelBubbleCustomElement11ElementTypeEv @ 54 NONAME
-	_ZNK23CTelBubbleCustomElement7ControlEv @ 55 NONAME
-	_ZTI14CTelBubbleAnim @ 56 NONAME ; #<TI>#
-	_ZTI15CTelBubbleImage @ 57 NONAME ; #<TI>#
-	_ZTI19CTelBubbleCallImage @ 58 NONAME ; #<TI>#
-	_ZTV14CTelBubbleAnim @ 59 NONAME ; #<VT>#
-	_ZTV15CTelBubbleImage @ 60 NONAME ; #<VT>#
-	_ZTV19CTelBubbleCallImage @ 61 NONAME ; #<VT>#
-
--- a/phoneuis/BubbleManager/bmcustomization/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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:  Build file
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/bmcustomization.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(bmcustomization.iby)
-
-PRJ_EXTENSIONS
-
-
-PRJ_MMPFILES
-../group/bmcustomization.mmp
-
-PRJ_TESTMMPFILES
-
-// End of File
--- a/phoneuis/BubbleManager/bmcustomization/group/bmcustomization.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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:  This is project specification file for the Bubblemanager 
-*                customization. 
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-// Assign Vendor ID.
-VENDORID VID_DEFAULT
-
-TARGET      bmcustomization.dll
-TARGETTYPE  dll
-UID         0x1000008d 0x102078F5
-
-sourcepath  ../src
-SOURCE telbubblecustomelement.cpp 
-SOURCE telbubbleimage.cpp 
-SOURCE telbubbleanim.cpp 
-SOURCE telbubblelabel.cpp
-SOURCE telbubblecallimage.cpp
-
-USERINCLUDE . ../inc
-
-SYSTEMINCLUDE ../../../../inc  // s60/app/telephony/inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY cone.lib   // CCoeControl
-LIBRARY avkon.lib  // animation
-LIBRARY bmpanim.lib  // animation
-LIBRARY aknskins.lib // image, skins
-LIBRARY aknicon.lib  // image, icon
-LIBRARY eikcoctl.lib // image
-LIBRARY fbscli.lib // fbsbitmap 
-// End of File
-
--- a/phoneuis/BubbleManager/bmcustomization/rom/bmcustomization.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2008-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:  IBY file for Bmcustomization
-*
-*/
-
-
-#ifndef BMCUSTOMIZATION_IBY
-#define BMCUSTOMIZATION_IBY
-
-file=ABI_DIR\BUILD_DIR\bmcustomization.dll            SHARED_LIB_DIR\bmcustomization.dll
-
-#endif // BMCUSTOMIZATION_IBY
-
-//  End of File
\ No newline at end of file
--- a/phoneuis/BubbleManager/bmcustomization/src/telbubbleanim.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +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:  Default animation implementation.
-*
-*/
-
-#include <AknBitmapAnimation.h>  // Animation definition
-#include <eikimage.h>
-
-#include "telbubbleanim.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CBubbleAnim::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleAnim* CTelBubbleAnim::NewL( TInt aFrameInterval )
-    {
-    CTelBubbleAnim* self = new( ELeave )CTelBubbleAnim();
-    CleanupStack::PushL( self );
-    self->ConstructL( aFrameInterval );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::~CTelBubbleAnim
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleAnim::~CTelBubbleAnim()
-    {
-    delete iAnimation;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::StartAnimation
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::StartAnimationL()
-    {
-    iAnimation->StartAnimationL();
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::StopAnimation
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::StopAnimation()
-    {
-    iAnimation->CancelAnimation();
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::AddFrameToAnimationLD
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::AddFrameToAnimationLD( CEikImage* aFrame ) const
-    {
-    CleanupStack::PushL( aFrame );
-
-    CBitmapFrameData* frame = CBitmapFrameData::NewL(
-        MUTABLE_CAST( CFbsBitmap*, aFrame->Bitmap() ),
-        MUTABLE_CAST( CFbsBitmap*, aFrame->Mask() ) );
-    aFrame->SetPictureOwnedExternally( ETrue );
-    CleanupStack::PushL( frame );
-    
-    frame->SetInterval( KErrNotFound );
-    frame->SetBitmapsOwnedExternally( EFalse );
-    iAnimation->BitmapAnimData()->AppendFrameL( frame ); // Takes ownership
-
-    CleanupStack::Pop( frame );
-    CleanupStack::PopAndDestroy( aFrame );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::AddFrameToAnimationL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::AddFrameToAnimationL( CEikImage& aFrame ) const
-    {
-    CBitmapFrameData* frame = CBitmapFrameData::NewL(
-        MUTABLE_CAST( CFbsBitmap*, aFrame.Bitmap() ),
-        MUTABLE_CAST( CFbsBitmap*, aFrame.Mask() ) );
-    CleanupStack::PushL( frame );
-    
-    frame->SetInterval( KErrNotFound );
-    frame->SetBitmapsOwnedExternally( ETrue );
-    iAnimation->BitmapAnimData()->AppendFrameL( frame ); // Takes ownership
-
-    CleanupStack::Pop( frame );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::Reset
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::Reset() const
-    {
-    iAnimation->BitmapAnimData()->ResetFrameArray();
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::CountComponentControls
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CTelBubbleAnim::CountComponentControls() const
-    {
-    // do not return animation here!
-    return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::Reset
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::SetContainerWindowL( const CCoeControl& aContainer )
-    {
-    CCoeControl::SetContainerWindowL( aContainer );
-
-    iAnimation->SetContainerWindowL( aContainer );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::Reset
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::SizeChanged()
-    {
-    CCoeControl::SizeChanged();
-    
-    iAnimation->SetRect( Rect() );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::Draw
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::Draw( const TRect& /*aRect*/ ) const
-    {
-    // drawing is done in iAnimation
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::MakeVisible
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::MakeVisible( TBool aVisible )
-    {
-    CCoeControl::MakeVisible( aVisible );
-    iAnimation->MakeVisible( aVisible );
-    
-    if( !aVisible )
-        {
-        StopAnimation();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::ConstructL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleAnim::ConstructL( TInt aFrameInterval )
-    {
-    iAnimation = CAknBitmapAnimation::NewL();
-
-    iAnimation->MakeVisible( EFalse );
-    iAnimation->SetContainerWindowL( *this );
-    iAnimation->ActivateL();
-
-    CBitmapAnimClientData* animData = iAnimation->BitmapAnimData();
-    animData->SetPlayMode( CBitmapAnimClientData::ECycle );
-    animData->SetFrameInterval( aFrameInterval );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleAnim::CTelBubbleAnim
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleAnim::CTelBubbleAnim()
-    {
-    }
-
-// end of file
-
--- a/phoneuis/BubbleManager/bmcustomization/src/telbubblecallimage.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +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:  Call image control.
-*
-*/
-
-
-#include <telbubblecallimage.h>
-#include <gdi.h>
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCallImage::CTelBubbleCallImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCallImage* CTelBubbleCallImage::NewL()
-    {
-    CTelBubbleCallImage* self = new( ELeave )CTelBubbleCallImage();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCallImage::~CTelBubbleCallImage()
-    {
-    if ( iImageOwnership )
-        {
-        delete iImage;
-        }
-    if ( iMaskOwnership )
-        {
-        delete iMask;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::ConstructL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleCallImage::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::SetImage
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleCallImage::SetImage( 
-    CFbsBitmap* aImage, 
-    TBool aImageOwnership,
-    CFbsBitmap* aMask,
-    TBool aMaskOwnership )
-    {
-    if ( iImageOwnership )
-        {
-        delete iImage;
-        }
-    if ( iMaskOwnership )
-        {
-        delete iMask;
-        }
-    
-    iImage = aImage;
-    iMask = aMask;
-    iImageOwnership = aImageOwnership;
-    iMaskOwnership = aMaskOwnership;
-    
-    SizeChanged();
-    ImageChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::ReleaseImage
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleCallImage::ImageChanged()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::ReleaseImage
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleCallImage::SetImagePlacingArea( TRect& aRect )
-    {
-    iImagePlacingArea = aRect;
-    }
-  
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::ReleaseImage
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const CFbsBitmap* CTelBubbleCallImage::Image() const
-    {
-    return iImage;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::ReleaseImage
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const CFbsBitmap* CTelBubbleCallImage::Mask() const
-    {
-    return iMask;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::IsFullScreenImage
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CTelBubbleCallImage::IsFullScreenImage() const
-    {
-    TBool isFullScreen = ETrue;
-    
-    if ( iImage )
-        {
-        TSize imageSize = iImage->SizeInPixels();
-        TSize thisSize( Rect().Size() );
-        isFullScreen = ( imageSize.iWidth >= thisSize.iWidth ) ||
-                       ( imageSize.iHeight >= thisSize.iHeight );
-        }
-        
-    return isFullScreen;  
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::Offset
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TPoint& CTelBubbleCallImage::Offset() const
-    {
-    return iOffset;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::SourceRect
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TRect& CTelBubbleCallImage::SourceRect() const
-    {
-    return iSourceRect;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::ImagePlacingArea
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TRect& CTelBubbleCallImage::ImagePlacingArea() const
-    {
-    return iImagePlacingArea;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::SizeChanged
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleCallImage::SizeChanged()
-    {
-    if ( !iImage )
-        {
-        return;                    
-        }
-    
-    // If bitmap is bigger than drawing area then clip from center.
-    TRect rect;
-    if ( IsFullScreenImage() )
-        {
-        rect = Rect();
-        }
-    else
-        {
-        rect = ImagePlacingArea();
-        }
-    
-    iSourceRect = iImage->SizeInPixels();
-    
-    TInt offsetX = ( iSourceRect.Width() > rect.Width() ) ? 
-                   ((iSourceRect.Width() - rect.Width()) / 2) : 0;
-    TInt offsetY = ( iSourceRect.Height() > rect.Height() ) ? 
-                   ((iSourceRect.Height() - rect.Height()) / 2) : 0;
-    iSourceRect.Shrink( offsetX, offsetY );    
-    
-    // If bitmap is smaller than drawing area then center it.
-    iOffset.iX = ( iSourceRect.Width() < rect.Width() ) ? 
-                ((rect.Width() - iSourceRect.Width()) / 2) : 0;
-    iOffset.iY = ( iSourceRect.Height() < rect.Height() ) ? 
-                ((rect.Height() - iSourceRect.Height()) / 2) : 0;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCallImage::Draw
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleCallImage::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc();
-    
-    TPoint topLeft = IsFullScreenImage() ? Rect().iTl : iImagePlacingArea.iTl;
-    
-    
-    if ( iImage && iMask )
-        {
-        gc.BitBltMasked( topLeft + iOffset,
-                         iImage, 
-                         iSourceRect, 
-                         iMask, 
-                         EFalse );
-        }
-    else if ( iImage )
-        {
-        gc.BitBlt( topLeft + iOffset, 
-                   iImage,
-                   iSourceRect );    
-        }
-    }
-
-// end of file
--- a/phoneuis/BubbleManager/bmcustomization/src/telbubblecustomelement.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +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:  Capsulates animation, image, label or control information.
-*
-*/
-
-
-#include "telbubblecustomelement.h"
-#include "telbubbleanim.h"
-#include "telbubbleimage.h"
-#include "telbubblelabel.h"
-#include "telbubblecallimage.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CBubbleCustomElement::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCustomElement* CTelBubbleCustomElement::NewL( 
-    CCoeControl* aControl, TElementType aElement )
-    {
-    CTelBubbleCustomElement* self = new( ELeave )CTelBubbleCustomElement( 
-        aControl, aElement );
-    
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCustomElement* CTelBubbleCustomElement::NewL( 
-    CTelBubbleAnim* aControl, TElementType aElement )
-    {
-    CTelBubbleCustomElement* self = new( ELeave )CTelBubbleCustomElement( 
-        aControl, aElement );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCustomElement* CTelBubbleCustomElement::NewL( 
-    CTelBubbleLabel* aControl, TElementType aElement )
-    {
-    CTelBubbleCustomElement* self = new( ELeave )CTelBubbleCustomElement( 
-        aControl, aElement );
-    
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCustomElement* CTelBubbleCustomElement::NewL(
-    CTelBubbleImage* aControl, TElementType aElement )
-    {
-    CTelBubbleCustomElement* self = new( ELeave )CTelBubbleCustomElement( 
-        aControl, aElement );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCustomElement* CTelBubbleCustomElement::NewL(
-    CTelBubbleCallImage* aControl, TElementType aElement )
-    {
-    CTelBubbleCustomElement* self = new( ELeave )CTelBubbleCustomElement( 
-        aControl, aElement );
-    
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::Control
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CCoeControl* CTelBubbleCustomElement::Control() const
-    {
-    return iControl;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::Element
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCustomElement::TElementType 
-    CTelBubbleCustomElement::ElementType() const
-    {
-    return iElementType;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::Type
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCustomElement::TControlType 
-    CTelBubbleCustomElement::ControlType() const
-    {
-    return iControlType;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::~CTelBubbleCustomElement
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleCustomElement::~CTelBubbleCustomElement()
-    {
-    delete iControl;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::CTelBubbleCustomElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement::CTelBubbleCustomElement(
-    CCoeControl* aControl, TElementType aElement ) :
-    iControl( aControl ),
-    iElementType( aElement )
-    {
-    iControlType = EBubbleControl;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::CTelBubbleCustomElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement::CTelBubbleCustomElement( 
-    CTelBubbleAnim* aControl, TElementType aElement ) :
-    iControl( aControl ),
-    iElementType( aElement )
-    {
-    iControlType = EBubbleAnimation;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::CTelBubbleCustomElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement::CTelBubbleCustomElement( 
-    CTelBubbleLabel* aControl, TElementType aElement ) :
-    iControl( aControl ),
-    iElementType( aElement )
-    {
-    iControlType = EBubbleLabel;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::CTelBubbleCustomElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement::CTelBubbleCustomElement( 
-    CTelBubbleImage* aControl, TElementType aElement ) :
-    iControl( aControl ),
-    iElementType( aElement )
-    {
-    iControlType = EBubbleImage;
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleCustomElement::CTelBubbleCustomElement
-// ---------------------------------------------------------------------------
-//
-CTelBubbleCustomElement::CTelBubbleCustomElement( 
-    CTelBubbleCallImage* aControl, TElementType aElement ) :
-    iControl( aControl ),
-    iElementType( aElement )
-    {
-    iControlType = EBubbleCallImage;
-    }    
-
-// end of file
--- a/phoneuis/BubbleManager/bmcustomization/src/telbubbleimage.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +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:  Default image implementation.
-*
-*/
-
-
-#include <AknsUtils.h>
-
-
-#include "telbubbleimage.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleImage::CTelBubbleImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CBubbleAnim::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleImage* CTelBubbleImage::NewL()
-    {
-    CTelBubbleImage* self = new( ELeave )CTelBubbleImage();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CTelBubbleImage::~CTelBubbleImage()
-    {
-    AknsUtils::DeregisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleImage::SizeChanged
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleImage::SizeChanged()
-    { 
-    AknsUtils::RegisterControlPosition( this );
-
-    if ( this->Bitmap() )
-        {
-        AknIconUtils::SetSize( 
-            const_cast<CFbsBitmap*> ( this->Bitmap() ), 
-            Rect().Size() );
-        }
-
-    CEikImage::SizeChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleImage::PositionChanged
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleImage::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    CEikImage::PositionChanged();
-    }
-
-// ---------------------------------------------------------------------------
-// CTelBubbleImage::ConstructL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CTelBubbleImage::ConstructL()
-    {
-    }
-
-// end of file
--- a/phoneuis/BubbleManager/bmcustomization/src/telbubblelabel.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  Default label implementation
-*
-*/
-
-
-#include "telbubblelabel.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-
-// end of file
--- a/phoneuis/BubbleManager/eabi/bubblemanageru.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-EXPORTS
-	_ZN14CBubbleManager10EndChangesEv @ 1 NONAME
-	_ZN14CBubbleManager11SetCallFlagERKiRKNS_19TPhoneCallTypeFlagsES1_ @ 2 NONAME
-	_ZN14CBubbleManager11SetCallTimeERKiRK7TDesC16 @ 3 NONAME
-	_ZN14CBubbleManager12PrepareIconsEv @ 4 NONAME
-	_ZN14CBubbleManager12SetCallFlagsERKiRKm @ 5 NONAME
-	_ZN14CBubbleManager12SetThumbnailERKiP10CFbsBitmapS3_i @ 6 NONAME
-	_ZN14CBubbleManager12StartChangesEv @ 7 NONAME
-	_ZN14CBubbleManager13SetNumberTypeERKiRKNS_16TPhoneNumberTypeE @ 8 NONAME
-	_ZN14CBubbleManager13SetPhoneMutedERKi @ 9 NONAME
-	_ZN14CBubbleManager14UpdateCallTimeERKiRK7TDesC16 @ 10 NONAME
-	_ZN14CBubbleManager16AddCustomElementERKiP23CTelBubbleCustomElementi @ 11 NONAME
-	_ZN14CBubbleManager16ChangeEditorModeEi @ 12 NONAME
-	_ZN14CBubbleManager16CreateCallHeaderEv @ 13 NONAME
-	_ZN14CBubbleManager16CreateConferenceERKiS1_ @ 14 NONAME
-	_ZN14CBubbleManager16RemoveCallHeaderERKi @ 15 NONAME
-	_ZN14CBubbleManager16RemoveConferenceEv @ 16 NONAME
-	_ZN14CBubbleManager16SetPbkNumberTypeERKii @ 17 NONAME
-	_ZN14CBubbleManager16SetVideoRingToneERK7TDesC16NS_20TBubbleVideoPlayModeEiiP28MBubbleVideoPlaybackObserver @ 18 NONAME
-	_ZN14CBubbleManager17CreateNumberEntryEv @ 19 NONAME
-	_ZN14CBubbleManager17MuteVideoRingToneEv @ 20 NONAME
-	_ZN14CBubbleManager17RemoveNumberEntryEv @ 21 NONAME
-	_ZN14CBubbleManager17SetCallObjectTextERKiRK7TDesC16 @ 22 NONAME
-	_ZN14CBubbleManager17StopVideoRingToneEv @ 23 NONAME
-	_ZN14CBubbleManager18AddRowToConferenceERKi @ 24 NONAME
-	_ZN14CBubbleManager18SetCallObjectImageERKiP10CFbsBitmapS3_i @ 25 NONAME
-	_ZN14CBubbleManager18SetCallObjectImageERKiRK7TDesC16 @ 26 NONAME
-	_ZN14CBubbleManager18SetPhCntNumberTypeERKiN11MPhCntMatch11TNumberTypeE @ 27 NONAME
-	_ZN14CBubbleManager19CancelVideoRingToneEv @ 28 NONAME
-	_ZN14CBubbleManager19RemoveCustomElementERKiP23CTelBubbleCustomElement @ 29 NONAME
-	_ZN14CBubbleManager19SetTouchPaneVisibleEi @ 30 NONAME
-	_ZN14CBubbleManager20SetTextToNumberEntryERK7TDesC16 @ 31 NONAME
-	_ZN14CBubbleManager20UpdateCallHeaderTextERKiRK7TDesC16S4_RKNS_23TPhoneClippingDirectionE @ 32 NONAME
-	_ZN14CBubbleManager21PreloadCallThemeImageEi @ 33 NONAME
-	_ZN14CBubbleManager21SetNumberEntryVisibleERKi @ 34 NONAME
-	_ZN14CBubbleManager21SetParticipantListCLIERKiNS_25TBubbleParticipantListCLIE @ 35 NONAME
-	_ZN14CBubbleManager22GetTextFromNumberEntryER6TDes16 @ 36 NONAME
-	_ZN14CBubbleManager22SetCallObjectFromThemeERKi @ 37 NONAME
-	_ZN14CBubbleManager23RemoveRowFromConferenceERKi @ 38 NONAME
-	_ZN14CBubbleManager24SetSelectionInConferenceERKh @ 39 NONAME
-	_ZN14CBubbleManager26ResetEditorToDefaultValuesEv @ 40 NONAME
-	_ZN14CBubbleManager26SetSelectionIdInConferenceERKi @ 41 NONAME
-	_ZN14CBubbleManager27HandleBackgroundImageChangeEv @ 42 NONAME
-	_ZN14CBubbleManager30MoveHighlightOneUpInConferenceEv @ 43 NONAME
-	_ZN14CBubbleManager31SetExpandedConferenceCallHeaderERKi @ 44 NONAME
-	_ZN14CBubbleManager32MoveHighlightOneDownInConferenceEv @ 45 NONAME
-	_ZN14CBubbleManager4NewLERK11CCoeControlRK5TRect @ 46 NONAME
-	_ZN14CBubbleManager4NewLERK11CCoeControlRK5TRecti @ 47 NONAME
-	_ZN14CBubbleManager6SetCLIERKiRK7TDesC16RKNS_23TPhoneClippingDirectionE @ 48 NONAME
-	_ZN14CBubbleManager7SetCNAPERKiRK7TDesC16RKNS_23TPhoneClippingDirectionE @ 49 NONAME
-	_ZN14CBubbleManager8SetLabelERKiRK7TDesC16RKNS_23TPhoneClippingDirectionE @ 50 NONAME
-	_ZN14CBubbleManager8SetLabelERKiRK7TDesC16S4_RKNS_23TPhoneClippingDirectionE @ 51 NONAME
-	_ZN14CBubbleManager8SetStateERKiRKNS_15TPhoneCallStateE @ 52 NONAME
-	_ZN14CBubbleManager9TouchPaneEv @ 53 NONAME
-	_ZN14CBubbleManager9UpdateCLIERKiRK7TDesC16RKNS_23TPhoneClippingDirectionE @ 54 NONAME
-	_ZN14CBubbleManagerD0Ev @ 55 NONAME
-	_ZN14CBubbleManagerD1Ev @ 56 NONAME
-	_ZN14CBubbleManagerD2Ev @ 57 NONAME
-	_ZNK14CBubbleManager13GetEditorModeEv @ 58 NONAME
-	_ZNK14CBubbleManager14GetNumberEntryEv @ 59 NONAME
-	_ZNK14CBubbleManager16ShownHeaderCountEv @ 60 NONAME
-	_ZNK14CBubbleManager17IsNumberEntryUsedEv @ 61 NONAME
-	_ZNK14CBubbleManager18ConferenceRowCountEv @ 62 NONAME
-	_ZNK14CBubbleManager20IsConferenceExpandedEv @ 63 NONAME
-	_ZNK14CBubbleManager21SelectionInConferenceEv @ 64 NONAME
-	_ZNK14CBubbleManager23SelectionIdInConferenceEv @ 65 NONAME
-	_ZTI12CBubbleImage @ 66 NONAME
-	_ZTI12CBubblePlace @ 67 NONAME
-	_ZTI13CBubbleHeader @ 68 NONAME
-	_ZTI14CBubbleOutlook @ 69 NONAME
-	_ZTI15CBubbleConfPane @ 70 NONAME
-	_ZTI16CBubbleTouchPane @ 71 NONAME
-	_ZTI17CBubbleCallHeader @ 72 NONAME
-	_ZTI17CBubbleConfHeader @ 73 NONAME
-	_ZTI17CBubbleSkinBitmap @ 74 NONAME
-	_ZTI18CBubbleImageReader @ 75 NONAME
-	_ZTI18CBubbleMediaReader @ 76 NONAME
-	_ZTI18CBubbleOutlookHide @ 77 NONAME
-	_ZTI18CBubbleVideoPlayer @ 78 NONAME
-	_ZTI19CBubbleImageManager @ 79 NONAME
-	_ZTI19CBubbleOutlookVideo @ 80 NONAME
-	_ZTI20CBubbleOutlookBottom @ 81 NONAME
-	_ZTI20CBubbleOutlookMiddle @ 82 NONAME
-	_ZTI21CBubbleOutlookTopLeft @ 83 NONAME
-	_ZTI21CBubbleVideoContainer @ 84 NONAME
-	_ZTI22CBubbleOutlookOneLined @ 85 NONAME
-	_ZTI22CBubbleOutlookTopRight @ 86 NONAME
-	_ZTI22CBubbleOutlookTwoLined @ 87 NONAME
-	_ZTI22CBubbleResourceManager @ 88 NONAME
-	_ZTI22CBubbleVideoController @ 89 NONAME
-	_ZTI23CBubbleOutlookFiveLined @ 90 NONAME
-	_ZTI23CBubbleOutlookVideoCnap @ 91 NONAME
-	_ZTI24CBubbleCallObjectManager @ 92 NONAME
-	_ZTI24CBubbleOutlookBottomCnap @ 93 NONAME
-	_ZTI24CBubbleOutlookBottomText @ 94 NONAME
-	_ZTI24CBubbleOutlookConference @ 95 NONAME
-	_ZTI24CBubbleOutlookMiddleCnap @ 96 NONAME
-	_ZTI24CBubbleOutlookThreeLined @ 97 NONAME
-	_ZTI25CBubbleOutlookBottomImage @ 98 NONAME
-	_ZTI25CBubbleOutlookBottomRight @ 99 NONAME
-	_ZTI25CBubbleOutlookNumberEntry @ 100 NONAME
-	_ZTI29CBubbleOutlookBottomImageCnap @ 101 NONAME
-	_ZTI29CBubbleOutlookBottomRightCnap @ 102 NONAME
-	_ZTV12CBubbleImage @ 103 NONAME
-	_ZTV12CBubblePlace @ 104 NONAME
-	_ZTV13CBubbleHeader @ 105 NONAME
-	_ZTV14CBubbleOutlook @ 106 NONAME
-	_ZTV15CBubbleConfPane @ 107 NONAME
-	_ZTV16CBubbleTouchPane @ 108 NONAME
-	_ZTV17CBubbleCallHeader @ 109 NONAME
-	_ZTV17CBubbleConfHeader @ 110 NONAME
-	_ZTV17CBubbleSkinBitmap @ 111 NONAME
-	_ZTV18CBubbleImageReader @ 112 NONAME
-	_ZTV18CBubbleMediaReader @ 113 NONAME
-	_ZTV18CBubbleOutlookHide @ 114 NONAME
-	_ZTV18CBubbleVideoPlayer @ 115 NONAME
-	_ZTV19CBubbleImageManager @ 116 NONAME
-	_ZTV19CBubbleOutlookVideo @ 117 NONAME
-	_ZTV20CBubbleOutlookBottom @ 118 NONAME
-	_ZTV20CBubbleOutlookMiddle @ 119 NONAME
-	_ZTV21CBubbleOutlookTopLeft @ 120 NONAME
-	_ZTV21CBubbleVideoContainer @ 121 NONAME
-	_ZTV22CBubbleOutlookOneLined @ 122 NONAME
-	_ZTV22CBubbleOutlookTopRight @ 123 NONAME
-	_ZTV22CBubbleOutlookTwoLined @ 124 NONAME
-	_ZTV22CBubbleResourceManager @ 125 NONAME
-	_ZTV22CBubbleVideoController @ 126 NONAME
-	_ZTV23CBubbleOutlookFiveLined @ 127 NONAME
-	_ZTV23CBubbleOutlookVideoCnap @ 128 NONAME
-	_ZTV24CBubbleCallObjectManager @ 129 NONAME
-	_ZTV24CBubbleOutlookBottomCnap @ 130 NONAME
-	_ZTV24CBubbleOutlookBottomText @ 131 NONAME
-	_ZTV24CBubbleOutlookConference @ 132 NONAME
-	_ZTV24CBubbleOutlookMiddleCnap @ 133 NONAME
-	_ZTV24CBubbleOutlookThreeLined @ 134 NONAME
-	_ZTV25CBubbleOutlookBottomImage @ 135 NONAME
-	_ZTV25CBubbleOutlookBottomRight @ 136 NONAME
-	_ZTV25CBubbleOutlookNumberEntry @ 137 NONAME
-	_ZTV29CBubbleOutlookBottomImageCnap @ 138 NONAME
-	_ZTV29CBubbleOutlookBottomRightCnap @ 139 NONAME
-
--- a/phoneuis/BubbleManager/laf/BMLayout.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1212 +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:  LAF coordinates
-*
-*/
-
-
-// INCLUDE FILES
-#include "BMLayout.h"
-#include "BMPanic.h"
-#include "BMBubbleManager.h"
-#include <aknenv.h>
-#include <applayout.cdl.h>
-#include <AknUtils.h>
-#include <AknLayout2ScalableDef.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::LayoutColourWhite
-// -----------------------------------------------------------------------------
-//
-TInt BubbleLayout::LayoutColourWhite()
-    {
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::MainPaneRect
-// -----------------------------------------------------------------------------
-//
-const TRect BubbleLayout::MainPaneRect()
-    {
-    TSize screenSize = CEikonEnv::Static()->ScreenDevice()->SizeInPixels();
-    TRect screenRect( TPoint(0,0), screenSize );
-
-    TAknLayoutRect appRect;
-    appRect.LayoutRect( screenRect, AknLayout::application_window( screenRect ) );
-    TAknLayoutRect mainRect;
-    mainRect.LayoutRect( appRect.Rect(), 
-        AknLayout::main_pane( appRect.Rect(), 0, 1, 1 ) ); // 1 = normal status pane, control pane
-
-    return mainRect.Rect();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_number_entry_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_number_entry_window( TInt aIndex )
-    {
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-	    {
-	    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-    	    {
-    	    if ( aIndex < 4 ) 
-        	    {
-        	    // portrait 0..1 == landscape 2..3
-                aIndex += 2;    	                	        
-        	    }
-        	else
-        	    {
-        	    // portrait 4 == landscape 5
-        	    aIndex += 1;    
-        	    }
-    	    }
-	            
-        TAknWindowComponentLayout layout1 = 
-            AknLayoutScalable_Apps::main_call_pane();
-        TAknWindowComponentLayout layout2 = 
-            AknLayoutScalable_Apps::popup_number_entry_window( aIndex );
-        return TAknWindowComponentLayout::
-            Compose( layout1, layout2 ).LayoutLine();
-	    }
-    else
-        {
-        return AppLayout::popup_number_entry_window();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_in_window( TInt aLine )
-    {
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-	    {
-        if ( Layout_Meta_Data::IsLandscapeOrientation() )
-            {
-            // portrait 0..3 == landscape 4..7 
-            aLine += 4;    	        
-    	    }        
-    	    
-        if ( aLine < 1 || aLine > 8 )
-            {
-            Panic( EBMPanicLAF );
-            }        	    
-	    
-	    return AknLayoutScalable_Apps::popup_call_audio_in_window( 
-	                                   aLine - 1 ).LayoutLine();
-	    }
-    else
-        {
-        if ( aLine < 1 || aLine > 4 )
-            {
-            Panic( EBMPanicLAF );
-            }    
-        
-        return AppLayout::popup_call_audio_in_window( aLine - 1 );                
-        }	    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window( TInt aLine )
-    {
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-	    {
-        if ( Layout_Meta_Data::IsLandscapeOrientation() )
-            {
-            // portrait 0..2 == landscape 3..6 
-            aLine += 3;    	        
-    	    }        
-	    
-	    return AknLayoutScalable_Apps::popup_call_audio_out_window( 
-	                                   aLine - 1 ).LayoutLine();;
-	    }
-    else
-        {
-        if ( aLine < 1 || aLine > 2 )
-            {
-            Panic( EBMPanicLAF );
-            }    
-        
-        return AppLayout::popup_call_audio_out_window( aLine - 1 );                
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window( TInt aLine )
-    {
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-	    {
-        if ( Layout_Meta_Data::IsLandscapeOrientation() )
-            {
-            // portrait 0..6 == landscape 7..13 
-            aLine += 7;    	        
-    	    }        
-	    
-	    return AknLayoutScalable_Apps::popup_call_audio_first_window( 
-	                                   aLine - 1 ).LayoutLine();;
-	    }
-    else
-        {
-        if ( aLine < 1 || aLine > 7 )
-            {
-            Panic( EBMPanicLAF );
-            }  
-        
-        // aLine = 3, 2, 4, 6 called before bootup fails.
-        TInt command1 = aLine - 1;
-        TInt command2 = command1;
-        return AppLayout::popup_call_audio_first_window( command1, command2 );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_wait_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_wait_window( TInt aLine )
-    {
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-	    {
-        if ( Layout_Meta_Data::IsLandscapeOrientation() )
-            {
-            // portrait 0..3 == landscape 4..7 
-            aLine += 4;    	        
-    	    }        
-	    
-	    return AknLayoutScalable_Apps::popup_call_audio_wait_window( 
-	                                   aLine - 1 ).LayoutLine();;
-	    }
-    else
-        {
-        if ( aLine < 1 || aLine > 4 )
-            {
-            Panic( EBMPanicLAF );
-            } 
-        
-        return AppLayout::popup_call_audio_wait_window( aLine - 1 );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_second_window( TInt aLine )
-    {
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-	    {
-        if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        	{
-        	// portrait 0..4 == landscape 5..9 
-            aLine += 5;    	        
-        	}        
-	    
-	    return AknLayoutScalable_Apps::popup_call_audio_second_window(
-	                                   aLine - 1 ).LayoutLine();
-	    }
-    else
-        {
-        if ( aLine < 1 || aLine > 5 )
-            {
-            Panic( EBMPanicLAF );
-            }
-        
-        TInt command1 = aLine - 1;
-        TInt command2 = command1;
-        return AppLayout::popup_call_audio_second_window( command1, command2 );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_conf_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_conf_window( TInt aLine )
-    {
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-	    {
-        if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        	{
-        	// portrait 0..3 == landscape 4..7 
-            aLine += 4;    	        
-        	}        
-	    
-	    return AknLayoutScalable_Apps::popup_call_audio_conf_window(
-	                                   aLine - 1 ).LayoutLine();
-	    }
-    else
-        {
-        if ( aLine < 1 || aLine > 4 )
-            {
-            Panic( EBMPanicLAF );
-            }
-        
-        return AppLayout::popup_call_audio_conf_window( aLine - 1 );   
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::list_single_graphic_popup_conf_pane
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::list_single_graphic_popup_conf_pane( TInt aLine )
-    {
-    if ( aLine < 1 || aLine > 6 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    return AppLayout::list_single_graphic_popup_conf_pane( aLine - 1 );     
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::list_single_graphic_popup_conf_pane_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout
-    BubbleLayout::list_single_graphic_popup_conf_pane_elements_1()
-    {
-    return AppLayout::List_pane_elements__conf_single_graphic__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::list_single_graphic_popup_conf_pane_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::list_single_graphic_popup_conf_pane_elements_2()
-    {
-    return AppLayout::List_pane_elements__conf_single_graphic__Line_2(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::list_single_graphic_popup_conf_pane_texts_1
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout::list_single_graphic_popup_conf_pane_texts_1()
-    {    
-    return AppLayout::List_pane_texts__conf_single_graphic__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::list_single_graphic_popup_conf_pane_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::list_single_graphic_popup_conf_pane_graphics_1
-    ( const TRect& aParentRect )
-    {
-    return AppLayout::Highlight_graphics_Line_1( aParentRect );
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::list_single_graphic_popup_conf_pane_graphics_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::list_single_graphic_popup_conf_pane_graphics_2
-    ( const TRect& aParentRect )
-    {
-    return AppLayout::Highlight_graphics_Line_2( aParentRect ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_number_entry_window_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_number_entry_window_texts_1( TInt aIndex )
-    {
-    if ( aIndex < 0 || aIndex > 1 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    return AppLayout::Number_entry_pop_up_window_texts_Line_1( aIndex ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_number_entry_window_texts_2
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_number_entry_window_texts_2( TInt aIndex, TInt aLine )
-    {
-    if ( ( aIndex < 0 || aIndex > 1 ) || ( aLine < 0 || aLine > 1 ) )
-        {
-        Panic( EBMPanicLAF );
-        }
-
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-        {
-        aIndex = 0;
-        }
-    return AppLayout::Number_entry_pop_up_window_texts_Line_2( aIndex, aLine );
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_number_entry_window_texts_2
-// -----------------------------------------------------------------------------
-//    
-const TAknTextLineLayout 
-    BubbleLayout::popup_number_entry_window_texts_3( TInt aLine )
-    {
-    if ( aLine < 0 || aLine > 1 )
-        {
-        Panic( EBMPanicLAF );
-        }
-        
-    if ( aLine == 0  )    
-        {
-        return AknLayoutScalable_Apps::text_title_cp2(1).LayoutLine();    
-        }
-    else
-        {
-        return AknLayoutScalable_Apps::popup_number_entry_window_t5(1).LayoutLine();    
-        }            
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_number_entry_window_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_number_entry_window_graphics_1( TInt aIndex )
-    {
-    return AppLayout::Number_entry_pop_up_window_graphics_Line_1( aIndex );
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_1_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_in_window_1_elements_1()
-    {    
-    return AppLayout::Incoming_call_pop_up_window_elements_Line_1();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_1_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_in_window_1_elements_2()
-    {
-    return AppLayout::Incoming_call_pop_up_window_elements_Line_2(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_1_elements_15
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_in_window_1_elements_15()
-    {
-    return AppLayout::Incoming_call_pop_up_window_elements_Line_15(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_1_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_in_window_1_texts_1( TInt aLine, 
-                                                        TInt aType )
-    {
-    if ( aLine < 1 && aLine > 2 )
-        {
-        Panic( EBMPanicLAF );
-        }    
-    TInt command1 = aLine - 1 ;
-    TInt command2 = aType;
-    return AppLayout::Incoming_call_pop_up_window_texts_Line_1( command1, command2 ); 
-    }
-
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_1_texts_2
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_in_window_1_texts_2( TInt aLine, 
-                                                        TInt aImageType )
-    {
-    if ( aLine < 1 && aLine > 3 )
-        {
-        Panic( EBMPanicLAF );
-        }    
-    TInt command1 = aLine - 1 ;    
-    TInt command2 = aImageType;
-    return AppLayout::Incoming_call_pop_up_window_texts_Line_2( command1, command2 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_1_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_in_window_1_graphics_1( TInt aLine )
-    {
-    if ( aLine < 1 && aLine > 2 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt index_h = aLine - 1;
-    return AppLayout::Incoming_call_pop_up_window_graphics_Line_1( index_h ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_2_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_in_window_2_elements_1()
-    {
-    return AppLayout::Incoming_call_pop_up_window_elements__NE__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_2_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_in_window_2_elements_2()
-    {
-    return AppLayout::Incoming_call_pop_up_window_elements__NE__Line_2();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_2_elements_15
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_in_window_2_elements_15()
-    {
-    return AppLayout::Incoming_call_pop_up_window_elements__NE__Line_15(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_2_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_in_window_2_texts_1( TInt aLine, 
-                                                        TInt aType )
-    {
-    if ( aLine < 1 || aLine > 2 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = aLine - 1;
-    TInt command2 = aType;
-    return AppLayout::Incoming_call_pop_up_window_texts__NE__Line_1( command1, command2 );
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_2_texts_2
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_in_window_2_texts_2( TInt aLine, 
-                                                        TInt aType )
-    {
-    if ( aLine < 1 || aLine > 3 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = aLine - 1;
-    TInt command2 = aType;
-    return AppLayout::Incoming_call_pop_up_window_texts__NE__Line_2( command1, command2 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_in_window_2_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_in_window_2_graphics_1()
-    {
-    return AppLayout::Incoming_call_pop_up_window_graphics__NE__Line_1();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_1_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window_1_elements_1()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_elements__held__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_1_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window_1_elements_2()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_elements__held__Line_2(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_1_elements_15
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window_1_elements_15()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_elements__held__Line_15();   
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_1_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_out_window_1_texts_1( TInt aLine, 
-                                                         TInt aType )
-    {
-    if ( aLine < 1 || aLine > 2 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = aLine - 1;
-    TInt command2 = aType;
-    return AppLayout::Outgoing_call_pop_up_window_texts__held__Line_1( command1, command2 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_1_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window_1_graphics_1()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_graphics__held__Line_1();               
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_2_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window_2_elements_1()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_elements__held__Line_1();     
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_2_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window_2_elements_2()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_elements__held__Line_2();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_2_elements_3
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window_2_elements_3()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_elements__held__Line_3();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_2_elements_15
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window_2_elements_15()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_elements__held__Line_15();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_2_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout  
-    BubbleLayout::popup_call_audio_out_window_2_texts_1()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_texts__held_NE__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_out_window_2_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_out_window_2_graphics_1()
-    {
-    return AppLayout::Outgoing_call_pop_up_window_graphics__held_NE__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_1_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_1_elements_1()
-    {
-    return AppLayout::First_call_pop_up_window_elements__one_call__Line_1();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_1_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_1_elements_2()
-    {
-    return AppLayout::First_call_pop_up_window_elements__one_call__Line_2(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_1_elements_3
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_1_elements_3()
-    {
-    return AppLayout::First_call_pop_up_window_elements__one_call__Line_3(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_1_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_first_window_1_texts_1( TInt aLine, 
-                                                           TInt aType )
-    {
-    if ( aLine < 1 || aLine > 3 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = aLine - 1;
-    TInt command2 = aType;
-    return AppLayout::First_call_pop_up_window_texts__one_call__Line_1( command1, command2 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_1_texts_2
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_first_window_1_texts_2( TInt aLine, 
-                                                           TInt aImageType )
-    {
-    if ( aLine < 1 || aLine > 3 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = ( aImageType > 0 ) ? 1 : 0;
-    return AppLayout::First_call_pop_up_window_texts__one_call__Line_2( command1 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_1_texts_3
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_first_window_1_texts_3()
-    {
-    return AppLayout::First_call_pop_up_window_texts__one_call__Line_3(); 
-    }
-
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_1_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_1_graphics_1()
-    {
-    return AppLayout::First_call_pop_up_window_graphics__one_call__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_2_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_2_elements_1()
-    {
-    return AppLayout::First_call_pop_up_window_elements__two_calls__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_2_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_2_elements_2()
-    {
-    return AppLayout::First_call_pop_up_window_elements__two_calls__Line_2();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_2_elements_15
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_2_elements_15()
-    {
-    return AppLayout::First_call_pop_up_window_elements__two_calls__Line_15(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_2_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_first_window_2_texts_1( TInt aLine , 
-                                                           TInt aType )
-    {
-    if ( aLine < 1 || aLine > 2 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = aLine - 1;
-    TInt command2 = aType;
-    return AppLayout::First_call_pop_up_window_texts__two_calls__Line_1( command1, command2 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_2_texts_2
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_first_window_2_texts_2( TInt aLine , 
-                                                           TInt aImageType )
-    {
-    if ( aLine < 1 || aLine > 2 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = ( aImageType > 0 ) ? 1 : 0;
-    return AppLayout::First_call_pop_up_window_texts__two_calls__Line_2( command1 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_2_texts_3
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_first_window_2_texts_3()
-    {
-    return AppLayout::First_call_pop_up_window_texts__two_calls__Line_3(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_2_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_2_graphics_1()
-    {
-    return AppLayout::First_call_pop_up_window_graphics__two_calls__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_4_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_4_elements_1()
-    {
-    return AppLayout::First_call_pop_up_window_elements__two_calls_a_waiting_call__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_4_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_4_elements_2()
-    {
-    return AppLayout::First_call_pop_up_window_elements__two_calls_a_waiting_call__Line_2();  
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_4_elements_3
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_4_elements_3()
-    {
-    return AppLayout::First_call_pop_up_window_elements__two_calls_a_waiting_call__Line_3(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_4_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_first_window_4_texts_1()
-    {
-    return AppLayout::First_call_pop_up_window_texts__two_calls_a_waiting_call__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_4_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_4_graphics_1()
-    {
-    return AppLayout::First_call_pop_up_window_graphics__two_calls_a_waiting_call__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_6_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_first_window_6_graphics_1()
-    {
-    return AppLayout::First_call_pop_up_window_graphics__two_wait_NE__Line_1();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_first_window_7_graphics_1
-// Three-line CDMA emergency call.
-// -----------------------------------------------------------------------------
-//
-const AknLayoutUtils::SAknLayoutControl 
-    BubbleLayout::popup_call_audio_first_window_7_graphics_1()
-    {
-    AknLayoutUtils::SAknLayoutControl layout = {ELayoutEmpty, 0, 0, 
-        ELayoutEmpty, ELayoutEmpty, 176, 77};
-    return layout;
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_wait_window_3_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_wait_window_3_elements_1()
-    {
-    return AppLayout::Waiting_call_pop_up_window_elements__held_out_NE__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_wait_window_3_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_wait_window_3_elements_2()
-    {
-    return AppLayout::Waiting_call_pop_up_window_elements__held_out_NE__Line_2(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_wait_window_3_elements_3
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_wait_window_3_elements_3()
-    {
-    return AppLayout::Waiting_call_pop_up_window_elements__held_out_NE__Line_3(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_wait_window_3_texts_1
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_wait_window_3_texts_1()
-    {
-    return AppLayout::Waiting_call_pop_up_window_texts__held_out_NE__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_wait_window_3_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_wait_window_3_graphics_1()
-    {
-    return AppLayout::First_call_pop_up_window_graphics__two_wait_NE__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_wait_window_4_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_wait_window_4_graphics_1()
-    {
-    return AppLayout::Waiting_call_pop_up_window_graphics__out__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_1_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_second_window_1_elements_1()
-    {
-    return AppLayout::Second_call_pop_up_window_elements__two__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_1_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_second_window_1_elements_2()
-    {
-    return AppLayout::Second_call_pop_up_window_elements__two__Line_2(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_1_elements_3
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_second_window_1_elements_3()
-    {
-    return AppLayout::Second_call_pop_up_window_elements__two__Line_3(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_1_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_second_window_1_texts_1( TInt aLine , 
-                                                            TInt aType )
-    {
-    if ( aLine < 1 || aLine > 2 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = aLine - 1;
-    TInt command2 = aType;
-    return AppLayout::Second_call_pop_up_window_texts__two_calls__Line_1( command1, command2 );
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_1_texts_2
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_second_window_1_texts_2( TInt aImageType )
-    {
-    TInt command1 = ( aImageType > 0 ) ? 1 : 0;
-    return AppLayout::Second_call_pop_up_window_texts__two_calls__Line_2( command1 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_1_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_second_window_1_graphics_1()
-    {
-    return AppLayout::Second_call_pop_up_window_graphics__two_calls__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_3_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_second_window_3_elements_1()
-    {
-    return AppLayout::Second_call_pop_up_window_elements__two_calls_waiting_call__Line_1();  
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_3_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_second_window_3_elements_2()
-    {
-    return AppLayout::Second_call_pop_up_window_elements__two_calls_waiting_call__Line_2();     
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_3_elements_3
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_second_window_3_elements_3()
-    {
-    return AppLayout::Second_call_pop_up_window_elements__two_calls_waiting_call__Line_3(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_3_texts_1
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_second_window_3_texts_1()
-    {
-    return AppLayout::Second_call_pop_up_window_texts__two_calls_waiting_call__Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_second_window_3_graphics_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_second_window_3_graphics_1()
-    {
-    return AppLayout::Second_call_pop_up_window_graphics__two_calls_waiting_call__Line_1();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_conf_window_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_conf_window_elements_1( 
-    const TRect& aParentRect )
-    {
-    return AppLayout::Conference_call_pop_up_window_descendants_and_elements_Line_1( aParentRect ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_conf_window_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::popup_call_audio_conf_window_elements_2( TInt aLine )
-    {
-
-    if ( aLine < 1 || aLine > 4 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = aLine - 1;
-    return AppLayout::list_conf_pane( command1 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::ConferencePaneHeight
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::ConferencePane()
-    {    
-    TInt index_t = 0;
-    return AppLayout::list_single_graphic_popup_conf_pane( index_t );
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::popup_call_audio_cont_window_texts_1
-// -----------------------------------------------------------------------------
-//
-
-const TAknTextLineLayout 
-    BubbleLayout::popup_call_audio_cont_window_texts_1( TInt aLine )
-    {
-    if ( aLine < 1 || aLine > 4 )
-        {
-        Panic( EBMPanicLAF );
-        }
-    TInt command1 = aLine - 1;
-    return AppLayout::Conference_call_pop_up_window_texts_Line_1( command1 ); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::main_pane_elements_muted
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout::main_pane_elements_muted( 
-    TBool aNumberEditorActive )
-    {
-    if ( AknLayoutUtils::ScalableLayoutInterfaceAvailable() )
-	    {
-	    if ( aNumberEditorActive )
-    	    {
-    	    return AknLayoutScalable_Apps::call_muted_g2().LayoutLine();   
-    	    }
-	    else
-	        {
-	        return AknLayoutScalable_Apps::call_muted_g(0).LayoutLine();    
-	        }
-	    }
-    else
-        {
-        return AppLayout::Muted_state_elements_Line_1();       
-        }	    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::call_type_pane_elements_1
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::call_type_pane_elements_1()
-    {
-    return AppLayout::Call_type_pane_split_Line_1(); 
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout::call_type_pane_elements_2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout::call_type_pane_elements_2()
-    {
-    return AppLayout::Call_type_pane_split_Line_2();
-    }
-
-// End of File
--- a/phoneuis/BubbleManager/laf/BMLayout.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +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:  Layout definitions from Application LAF
-*
-*/
-
-
-
-#ifndef BMLAYOUT_H
-#define BMLAYOUT_H
-
-// INCLUDES
-#include <calslbs.h>
-#include <bldvariant.hrh> 
-#include <AknLayoutDef.h>
-
-/**
-* Layout coordinates from Application LAF
-* 
-* @lib      bubblemanager.lib
-* @since    2.0
-*/
-class BubbleLayout
-    { 
-    public: // Helper functions
-
-        /**
-        * Get background image colour
-        * @return White colour
-        */ 
-        static TInt LayoutColourWhite();
-
-        /**
-        * Get main pane rect
-        * @return the main pane rect
-        * since   Series60_2.8
-        */ 
-        static const TRect MainPaneRect();
-
-    public: // Layout coordinates
-
-        /**
-        * Popup window coordinates.
-        * One function returns one line of coordinates is Application LAF.
-        * @since 2.0
-        * @param aLine Line number from the same item. From 1-n
-        * @param aParentWidth Parent control's width
-        * @param aParentHeight Parent control's height
-        * @param aImageWidth Thumbnail image's width
-        * @param aImageHeight Thumbnail image's height
-        * @return Layout for current item.
-        */
-
-        // Table 78. Pop up windows (main pane as parent)
-        static const TAknWindowLineLayout 
-            popup_number_entry_window( TInt aIndex = 0 );
-        static const TAknWindowLineLayout 
-            popup_call_audio_in_window( TInt aLine );
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window( TInt aLine );
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window( TInt aLine );
-        static const TAknWindowLineLayout 
-            popup_call_audio_wait_window( TInt aLine );
-        static const TAknWindowLineLayout 
-            popup_call_audio_second_window( TInt aLine );
-        static const TAknWindowLineLayout 
-            popup_call_audio_conf_window( TInt aLine );
-
-        // Table 80. Pop up window list pane descendants (call, conf)
-        static const TAknWindowLineLayout 
-            list_single_graphic_popup_conf_pane( TInt aLine );
-
-        // Table 81. List pane elements (conf, single, graphic)
-        static const TAknWindowLineLayout
-            list_single_graphic_popup_conf_pane_elements_1();
-        static const TAknWindowLineLayout 
-            list_single_graphic_popup_conf_pane_elements_2();
-
-        // Table 82. List pane texts (conf, single, graphic)
-        static const TAknTextLineLayout 
-            list_single_graphic_popup_conf_pane_texts_1();
-
-        // Table 85. Highlight graphics 
-        static const TAknWindowLineLayout 
-            list_single_graphic_popup_conf_pane_graphics_1( const TRect& aParentRect ); // shadow
-        static const TAknWindowLineLayout 
-            list_single_graphic_popup_conf_pane_graphics_2( const TRect& aParentRect ); // highlight
-
-        // Table 91. Number entry pop up window texts
-        static const TAknTextLineLayout 
-            popup_number_entry_window_texts_1( TInt aIndex );
-        static const TAknTextLineLayout 
-            popup_number_entry_window_texts_2( TInt aIndex, TInt aLine );
-        static const TAknTextLineLayout 
-            popup_number_entry_window_texts_3( TInt aLine );            
-
-        // Table 92. Number entry pop up window graphics
-        static const TAknWindowLineLayout 
-            popup_number_entry_window_graphics_1( TInt aIndex );
-
-        // Table 119. Incoming call pop up window elements
-        static const TAknWindowLineLayout 
-            popup_call_audio_in_window_1_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_in_window_1_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_in_window_1_elements_15();
-
-        // Table 120. Incoming call pop up window texts
-        // Use line 1 or 2 (or 3 CNAP). Right and Width values are calculated 
-        // from the image width.
-        static const TAknTextLineLayout 
-            popup_call_audio_in_window_1_texts_1( TInt aLine, TInt aImageWidth );
-        static const TAknTextLineLayout 
-            popup_call_audio_in_window_1_texts_2( TInt aLine, TInt aImageWidth );
-
-        // Table 121. Incoming call pop up window graphics
-        static const TAknWindowLineLayout 
-            popup_call_audio_in_window_1_graphics_1( TInt aLine );
-
-        // Table 122. Incoming call pop-up window elements (ne)
-        static const TAknWindowLineLayout 
-            popup_call_audio_in_window_2_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_in_window_2_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_in_window_2_elements_15();
-
-        // Table 123. Incoming call pop up window texts (ne)
-        static const TAknTextLineLayout 
-            popup_call_audio_in_window_2_texts_1( TInt aLine, 
-                                                  TInt aImageWidth );
-        static const TAknTextLineLayout 
-            popup_call_audio_in_window_2_texts_2( TInt aLine, TInt aImageWidth );
-
-        // Table 124. Incoming call pop up window graphics (ne) 
-        static const TAknWindowLineLayout 
-            popup_call_audio_in_window_2_graphics_1();
-
-        // Table 125. Outgoing call pop up window elements (held)
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window_1_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window_1_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window_1_elements_15();
-
-        // Table 126. Outgoing call pop up window texts (held)
-        static const TAknTextLineLayout 
-            popup_call_audio_out_window_1_texts_1( TInt aLine, 
-                                                   TInt aImageWidth );
-
-        // Table 127. Outgoing call pop up window graphics (held)
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window_1_graphics_1();
-
-        // Table 128. Outgoing call pop up window elements (held, ne)
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window_2_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window_2_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window_2_elements_3();
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window_2_elements_15();
-
-        // Table 129. Outgoing call pop up window texts (held, ne)
-        static const TAknTextLineLayout 
-            popup_call_audio_out_window_2_texts_1();
-
-        // Table 130. Outgoing call pop up window graphics (held, ne)
-        static const TAknWindowLineLayout 
-            popup_call_audio_out_window_2_graphics_1();
-
-        // Table 131. First call pop up window elements (one call)
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_1_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_1_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_1_elements_3();
-        
-        // Table 132. First call pop up window texts (one call)
-        static const TAknTextLineLayout 
-            popup_call_audio_first_window_1_texts_1( TInt aLine, 
-                            TInt aImageWidth );
-        static const TAknTextLineLayout 
-            popup_call_audio_first_window_1_texts_2( TInt aLine, 
-                            TInt aImageWidth );
-
-        static const TAknTextLineLayout 
-            popup_call_audio_first_window_1_texts_3();
-
-        // Table 133. First call pop up window graphics (one call)
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_1_graphics_1();
-
-        // Table 134. First call pop up window elements (two calls)
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_2_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_2_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_2_elements_15();
-
-        // Table 135. First call pop up window texts (two calls)
-        static const TAknTextLineLayout 
-            popup_call_audio_first_window_2_texts_1( TInt aLine , 
-                                                     TInt aImageWidth );
-        static const TAknTextLineLayout 
-            popup_call_audio_first_window_2_texts_2( TInt aLine, 
-                                                     TInt aImageWidth );
-        static const TAknTextLineLayout 
-            popup_call_audio_first_window_2_texts_3();
-
-        // Table 136. First call pop up window graphics (two calls)
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_2_graphics_1();
-
-        // Table 137. First call pop up window elements (two calls, a waiting call)
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_4_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_4_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_4_elements_3();
-
-        // Table 138. First call pop up window texts (two calls, a waiting call)
-        static const TAknTextLineLayout 
-            popup_call_audio_first_window_4_texts_1();
-
-        // Table 139. First call pop up window graphics (two calls, a waiting call)
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_4_graphics_1();
-
-        // Table 140. First call pop up window graphics (two, wait, ne)
-        static const TAknWindowLineLayout 
-            popup_call_audio_first_window_6_graphics_1();
-
-        // Table 5.1. First call pop up window graphics (emergency call)
-        static const AknLayoutUtils::SAknLayoutControl
-            popup_call_audio_first_window_7_graphics_1();
-
-        // Table 141. Waiting call pop up window elements (held, out, ne)
-        static const TAknWindowLineLayout 
-            popup_call_audio_wait_window_3_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_wait_window_3_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_wait_window_3_elements_3();
-
-        // Table 142. Waiting call pop up window texts (held, out, ne)
-        static const TAknTextLineLayout 
-            popup_call_audio_wait_window_3_texts_1();
-
-        // Table 143. Waiting call pop up window graphics (held, out, ne)
-        static const TAknWindowLineLayout 
-            popup_call_audio_wait_window_3_graphics_1();
-
-        // Table 144. Waiting call pop up window graphics (out)
-        static const TAknWindowLineLayout 
-            popup_call_audio_wait_window_4_graphics_1();
-
-        // Table 145. Second call pop up window elements (two)
-        static const TAknWindowLineLayout 
-            popup_call_audio_second_window_1_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_second_window_1_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_second_window_1_elements_3();
-
-        // Table 146. Second call pop up window texts (two calls)
-        static const TAknTextLineLayout 
-            popup_call_audio_second_window_1_texts_1( TInt aLine , 
-                                                      TInt aImageWidth );
-        static const TAknTextLineLayout 
-            popup_call_audio_second_window_1_texts_2( TInt aImageWidth );
-
-        // Table 147. Second call pop up window graphics (two calls)
-        static const TAknWindowLineLayout 
-            popup_call_audio_second_window_1_graphics_1();
-
-        // Table 148. Second call pop up window elements (two calls, waiting call)
-        static const TAknWindowLineLayout 
-            popup_call_audio_second_window_3_elements_1();
-        static const TAknWindowLineLayout 
-            popup_call_audio_second_window_3_elements_2();
-        static const TAknWindowLineLayout 
-            popup_call_audio_second_window_3_elements_3();
-
-        // Table 149. Second call pop up window texts (two calls, waiting call)
-        static const TAknTextLineLayout 
-            popup_call_audio_second_window_3_texts_1();
-
-        // Table 150. Second call pop up window graphics (two calls, waiting call)
-        static const TAknWindowLineLayout 
-            popup_call_audio_second_window_3_graphics_1();
-
-        // Table 151. Conference call pop up window descendant and element
-        static const TAknWindowLineLayout 
-            popup_call_audio_conf_window_elements_1( const TRect& aParentRect );
-        static const TAknWindowLineLayout 
-            popup_call_audio_conf_window_elements_2( TInt aLine );
-
-        // Non-specified
-        static const TAknWindowLineLayout
-            ConferencePane();
-
-        // Table 152. Conference call pop up window texts
-        static const TAknTextLineLayout 
-            popup_call_audio_cont_window_texts_1( TInt aLine );
-
-        // Table 153. Muted state elements
-        static const TAknWindowLineLayout 
-            main_pane_elements_muted( TBool aNumberEditorActive );
-
-        // Non-specified
-        static const TAknWindowLineLayout 
-            call_type_pane_elements_1();
-        static const TAknWindowLineLayout 
-            call_type_pane_elements_2();
-
-    };
-
-#endif      // BMLAYOUT_H
-            
-// End of File
--- a/phoneuis/BubbleManager/laf/BMLayout2.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1719 +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:  LAF coordinates (Call2)
-*
-*/
-
-
-// INCLUDE FILES
-#include "BMLayout2.h"
-#include "BMPanic.h"
-#include "BMBubbleManager.h"
-#include <aknenv.h>
-#include <applayout.cdl.h>
-#include <AknUtils.h>
-#include <AknLayout2ScalableDef.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-    
-////////////////////////////////////////////////////////////////////////////////
-//
-// Call2 Layouts
-//
-////////////////////////////////////////////////////////////////////////////////    
-
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::RectFrameInnerOuterRects
-// -----------------------------------------------------------------------------
-//
-void BubbleLayout2::RectFrameInnerOuterRects( const TRect& aFrameRect,
-                                              TRect& aOuterRect,
-                                              TRect& aInnerRect )
-    {
-    if ( Layout_Meta_Data::IsMirrored() )
-        {
-        TAknLayoutRect frameTopRight;        
-        frameTopRight.LayoutRect( 
-            aFrameRect, 
-            BubbleLayout2::call2_rect_pane_fr_cor_topright() );                
-                
-        TAknLayoutRect frameBottomLeft;        
-        frameBottomLeft.LayoutRect( 
-            aFrameRect, 
-            BubbleLayout2::call2_rect_pane_fr_cor_bottomleft() );                        
-
-        aOuterRect = TRect( frameTopRight.Rect().iTl, 
-                            frameBottomLeft.Rect().iBr );
-                
-        aInnerRect = TRect( frameTopRight.Rect().iBr, 
-                            frameBottomLeft.Rect().iTl );    
-        }
-    else
-        {
-        TAknLayoutRect frameTopLeft;        
-        frameTopLeft.LayoutRect( 
-            aFrameRect, 
-            BubbleLayout2::call2_rect_pane_fr_cor_topleft() );
-
-        TAknLayoutRect frameBottomRight;        
-        frameBottomRight.LayoutRect( 
-            aFrameRect, 
-            BubbleLayout2::call2_rect_pane_fr_cor_bottomright() );
-        
-        aOuterRect = TRect( frameTopLeft.Rect().iTl, 
-                            frameBottomRight.Rect().iBr );
-        aInnerRect = TRect( frameTopLeft.Rect().iBr, 
-                            frameBottomRight.Rect().iTl );    
-        }                    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::BubbleFrameInnerOuterRects
-// -----------------------------------------------------------------------------
-//
-void BubbleLayout2::BubbleFrameInnerOuterRects( const TRect& aFrameRect,
-                                                TRect& aOuterRect,
-                                                TRect& aInnerRect )
-    {
-    if ( Layout_Meta_Data::IsMirrored() )
-        {
-        TAknLayoutRect bubbleTopRight;        
-        bubbleTopRight.LayoutRect( 
-            aFrameRect, 
-            BubbleLayout2::call2_bubble_pane_fr_cor_topright() );                
-                
-        TAknLayoutRect bubbleBottomLeft;        
-        bubbleBottomLeft.LayoutRect( 
-            aFrameRect, 
-            BubbleLayout2::call2_bubble_pane_fr_cor_bottomleft() );                        
-
-        aOuterRect = TRect( bubbleTopRight.Rect().iTl, 
-                            bubbleBottomLeft.Rect().iBr );
-                
-        aInnerRect = TRect( bubbleTopRight.Rect().iBr, 
-                            bubbleBottomLeft.Rect().iTl );    
-        }
-    else
-        {
-        TAknLayoutRect bubbleTopLeft;        
-        bubbleTopLeft.LayoutRect( 
-            aFrameRect, 
-            BubbleLayout2::call2_bubble_pane_fr_cor_topleft() );
-
-        TAknLayoutRect bubbleBottomRight;        
-        bubbleBottomRight.LayoutRect( 
-            aFrameRect, 
-            BubbleLayout2::call2_bubble_pane_fr_cor_bottomright() );
-        
-        aOuterRect = TRect( bubbleTopLeft.Rect().iTl, 
-                            bubbleBottomRight.Rect().iBr );
-        aInnerRect = TRect( bubbleTopLeft.Rect().iBr, 
-                            bubbleBottomRight.Rect().iTl );    
-        }    
-    }
-
-////////////////////////////////////////////////////////////////////////////////    
-// LAF Table 4.50: bubble/rect window positions
-////////////////////////////////////////////////////////////////////////////////    
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_first_window( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_first_window_ParamLimits();
-
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        if ( aVariety < 17 )
-            {
-            // portrait 0..6 == landscape 7..13 
-            aVariety += 7;    	        
-            }
-        else
-            {
-            // portrait 18 == landscape 17 
-            aVariety -= 1;    
-            }            
-    	} 
-    
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-        
-    TAknWindowComponentLayout layout1 = 
-        AknLayoutScalable_Apps::main_call2_pane();
-    TAknWindowComponentLayout layout2 = 
-        AknLayoutScalable_Apps::popup_call2_audio_first_window( aVariety );
-    
-    return TAknWindowComponentLayout::
-        Compose( layout1, layout2 ).LayoutLine();    
-    }
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_in_window( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_ParamLimits();
-
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        if ( aVariety == 8 )
-            {
-            aVariety = 9;    
-            }
-        else
-            {
-            // portrait 0..3 == landscape 4..7 
-            aVariety += 4;    	                
-            }
-    	}        
-    
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    TAknWindowComponentLayout layout1 = 
-        AknLayoutScalable_Apps::main_call2_pane();
-    TAknWindowComponentLayout layout2 = 
-        AknLayoutScalable_Apps::popup_call2_audio_in_window( aVariety );
-    
-    return TAknWindowComponentLayout::
-        Compose( layout1, layout2 ).LayoutLine();    
-    }
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_out_window( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_ParamLimits();
-
-
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..2 == landscape 3..6 
-        aVariety += 3;    	        
-    	} 
-    	    
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    TAknWindowComponentLayout layout1 = 
-        AknLayoutScalable_Apps::main_call2_pane();
-    TAknWindowComponentLayout layout2 = 
-        AknLayoutScalable_Apps::popup_call2_audio_out_window( aVariety );
-    
-    return TAknWindowComponentLayout::
-        Compose( layout1, layout2 ).LayoutLine();    
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_second_window( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_second_window_ParamLimits();
-
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..4 == landscape 5..9 
-        aVariety += 5;    	        
-        }
-
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    TAknWindowComponentLayout layout1 = 
-        AknLayoutScalable_Apps::main_call2_pane();
-    TAknWindowComponentLayout layout2 = 
-        AknLayoutScalable_Apps::popup_call2_audio_second_window( aVariety );
-    
-    return TAknWindowComponentLayout::
-        Compose( layout1, layout2 ).LayoutLine();    
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_wait_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_wait_window( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_wait_window_ParamLimits();
-
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        if ( aVariety < 8 )
-            {
-            // portrait 0..3 == landscape 4..7 
-            aVariety += 4;    	        
-            }
-        else
-            {
-            // portrait 9 == landscape 8 
-            aVariety -= 1;    
-            }            
-    	}
-
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    TAknWindowComponentLayout layout1 = 
-        AknLayoutScalable_Apps::main_call2_pane();
-    TAknWindowComponentLayout layout2 = 
-        AknLayoutScalable_Apps::popup_call2_audio_wait_window( aVariety );
-    
-    return TAknWindowComponentLayout::
-        Compose( layout1, layout2 ).LayoutLine();    
-    }                    
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_conf_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_conf_window( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_conf_window_ParamLimits();
-        
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..3 == landscape 4..7 
-        aVariety += 4;    	        
-        }
-
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    TAknWindowComponentLayout layout1 = 
-        AknLayoutScalable_Apps::main_call2_pane();
-    TAknWindowComponentLayout layout2 = 
-        AknLayoutScalable_Apps::popup_call2_audio_conf_window( aVariety );
-    
-    return TAknWindowComponentLayout::
-        Compose( layout1, layout2 ).LayoutLine();    
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_call_object_visual_pane
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_call_object_visual_pane()
-    {
-    return AknLayoutScalable_Apps::call2_cli_visual_pane().LayoutLine();
-    }    
-    
-////////////////////////////////////////////////////////////////////////////////            
-// LAF Table 4.60: conference call bubble contents
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_conf_pane_bg
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_conf_pane_background()
-    {
-        return AknLayoutScalable_Apps::bg_popup_call2_act_pane_cp03().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_conf_cli_list
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_conf_cli_list()
-    {
-    return AknLayoutScalable_Apps::list_conf_pane_cp().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_conf_window_call_timer_txt
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_conf_window_call_timer_text()
-    {
-    return AknLayoutScalable_Apps::popup_call2_audio_conf_window_t1().LayoutLine();
-    }            
-    
-    
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.61: conference call bubble bg graphics
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_conf_single_list_graphic_pane
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_conf_single_list_graphic_pane( TInt aRow )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::list_single_graphic_popup_conf2_pane_ParamLimits();
-
-    /*if ( aRow < parLimits.FirstVariety() || aRow > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }*/
-    
-    return AknLayoutScalable_Apps::
-        list_single_graphic_popup_conf2_pane( aRow ).LayoutLine();    
-    }
-    
-
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.62: conference call members list entries
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_conf_single_list_highlight_pane
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_conf_single_list_highlight_pane()
-    {
-    return AknLayoutScalable_Apps::list_highlight_pane_cp04().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_conf_single_list_pane_call_status_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_conf_single_list_pane_call_status_icon()
-    {
-    return AknLayoutScalable_Apps::list_single_graphic_popup_conf2_pane_g1().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_conf_single_list_pane_ciphering_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_conf_single_list_pane_ciphering_icon()
-    {
-    return AknLayoutScalable_Apps::list_single_graphic_popup_conf2_pane_g2().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_conf_single_list_pane_cli_text
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_conf_single_list_pane_cli_text()
-    {
-    return AknLayoutScalable_Apps::list_single_graphic_popup_conf2_pane_t1().LayoutLine();
-    }
-
-
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.59: second call bubble contents           
-////////////////////////////////////////////////////////////////////////////////
-  
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_call_background
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_second_call_background( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::bg_popup_call2_act_pane_cp01_ParamLimits();
-
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    return AknLayoutScalable_Apps::bg_popup_call2_act_pane_cp01( 
-        aVariety ).LayoutLine(); 
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_call_type_icon
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_second_call_type_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::call_type_pane_cp05_ParamLimits();
-
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    return AknLayoutScalable_Apps::call_type_pane_cp05( aVariety ).LayoutLine();    
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_call_status_icon
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_second_call_status_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_second_window_g1_ParamLimits();
-
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    return AknLayoutScalable_Apps::popup_call2_audio_second_window_g1( 
-        aVariety ).LayoutLine(); 
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_call_cyphering_icon
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_second_call_cyphering_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_second_window_g2_ParamLimits();
-
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    return AknLayoutScalable_Apps::popup_call2_audio_second_window_g2( 
-        aVariety ).LayoutLine(); 
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_call_cli_text
-// -----------------------------------------------------------------------------
-//    
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_second_call_cli_text( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_second_window_t1_ParamLimits();
-
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    return AknLayoutScalable_Apps::popup_call2_audio_second_window_t1( 
-        aVariety ).LayoutLine(); 
-    }                
-     
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_call_timer_text
-// -----------------------------------------------------------------------------
-//    
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_second_call_timer_text( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_second_window_t2_ParamLimits();
-
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    return AknLayoutScalable_Apps::popup_call2_audio_second_window_t2( 
-        aVariety ).LayoutLine(); 
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_call_state_text
-// -----------------------------------------------------------------------------
-//    
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_second_call_state_text( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits = ( aVariety >= 15 ) ?
-      AknLayoutScalable_Apps::popup_call2_audio_second_window_t4_ParamLimits(
-       aVariety ):
-      AknLayoutScalable_Apps::popup_call2_audio_second_window_t3_ParamLimits();
-
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    if ( aVariety >= 15 )
-        {
-        return AknLayoutScalable_Apps::popup_call2_audio_second_window_t4( 
-            aVariety ).LayoutLine(); 
-        }
-    else
-        {
-        return AknLayoutScalable_Apps::popup_call2_audio_second_window_t3( 
-            aVariety ).LayoutLine();     
-        }        
-    }                                                         
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_call_number_text
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_second_call_number_text( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_second_window_t4_ParamLimits( aVariety );
-
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    return AknLayoutScalable_Apps::popup_call2_audio_second_window_t4( 
-        aVariety ).LayoutLine();    
-    }
-    
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.58: waiting call bubble contents
-////////////////////////////////////////////////////////////////////////////////
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_wait_call_background
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_wait_call_background()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_in_pane_cp02().LayoutLine(); 
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_wait_call_type_icon
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_wait_call_type_icon()
-    {
-    return AknLayoutScalable_Apps::call_type_pane_cp04().LayoutLine(); 
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_wait_call_status_icon
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_wait_call_status_icon()
-    {
-    return AknLayoutScalable_Apps::popup_call2_audio_wait_window_g1().LayoutLine(); 
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_wait_call_cyphering_icon
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_wait_call_cyphering_icon()
-    {
-    return AknLayoutScalable_Apps::popup_call2_audio_wait_window_g2().LayoutLine(); 
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_wait_call_cli_text
-// -----------------------------------------------------------------------------
-//    
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_wait_call_cli_text()
-    {
-    return AknLayoutScalable_Apps::popup_call2_audio_wait_window_t3().LayoutLine(); 
-    }
-
-    
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.55: first call bubble contents
-////////////////////////////////////////////////////////////////////////////////
-       
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_call_background
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_first_call_background( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::bg_popup_call2_act_pane_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-    
-    return AknLayoutScalable_Apps::bg_popup_call2_act_pane( aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_call_type_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_first_call_type_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::call_type_pane_cp03_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::call_type_pane_cp03( aVariety ).LayoutLine();
-    }    
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_call_status_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_first_call_status_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_first_window_g1_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_first_window_g1( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_call_window_ciphering_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_first_call_window_ciphering_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_first_window_g2_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_first_window_g2( 
-        aVariety ).LayoutLine();
-    }        
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_call_cli_text
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_first_call_cli_text( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_first_window_t1_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_first_window_t1( 
-        aVariety ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_call_cli_text
-// -----------------------------------------------------------------------------
-//    
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_first_call_number_text( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_first_window_t4_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_first_window_t4( 
-        aVariety ).LayoutLine();            
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_call_state_text
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_first_call_state_text( TInt aVariety )
-    {
-    if ( aVariety < 18 )
-        {
-        TAknLayoutScalableParameterLimits parLimits =
-            AknLayoutScalable_Apps::popup_call2_audio_first_window_t4_ParamLimits();
-        
-        if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-            {
-            Panic( EBMPanicLAF );
-            }   
-        
-        return AknLayoutScalable_Apps::popup_call2_audio_first_window_t4( 
-            aVariety ).LayoutLine();
-        }
-    else
-        {
-        TAknLayoutScalableParameterLimits parLimits =
-            AknLayoutScalable_Apps::popup_call2_audio_first_window_t6_ParamLimits( aVariety );
-        
-        if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-            {
-            Panic( EBMPanicLAF );
-            }   
-        
-        return AknLayoutScalable_Apps::popup_call2_audio_first_window_t6( 
-            aVariety ).LayoutLine();
-        }
-        
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_call_text_5
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout
-    BubbleLayout2::popup_call2_audio_first_call_text_5( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_first_window_t5_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_first_window_t5( 
-        aVariety ).LayoutLine();
-    }
-
-
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.56: CLI graphics (bubble)
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_bubble_pane_graphics
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_bubble_pane_graphics()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_bubble_pane_graphics_cli
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_bubble_pane_graphics_cli()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_act_pane_g1().LayoutLine();
-    }    
-
-    
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.54: outgoing call bubble
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_background
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_out_background( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::bg_popup_call2_in_pane_cp01_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() 
-        || aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-    
-    return AknLayoutScalable_Apps::bg_popup_call2_in_pane_cp01( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_call_number_type_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_out_call_number_type_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_g2_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_g2( 
-        aVariety ).LayoutLine();
-    }    
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_call_waiting_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_out_call_waiting_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_g1_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_g1( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_ciphering_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_out_ciphering_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_g3_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_g3( 
-        aVariety ).LayoutLine();
-    }        
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_call_text_1
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_out_call_text_1( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_t1_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_t1( 
-        aVariety ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_call_text_2
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_out_call_text_2( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_t2_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_t2( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_call_text_3
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_out_call_text_3( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_t6_ParamLimits( aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_t6( 
-        aVariety ).LayoutLine();
-    }    
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_cli_textual_1
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_out_cli_textual_1( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_t3_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_t3( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_cli_textual_2
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_out_cli_textual_2( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_t4_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_t4( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_cli_textual_3
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_out_cli_textual_3( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_t5_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_t5( 
-        aVariety ).LayoutLine();
-    }                
-
-
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.54: incoming call bubble
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_background
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_in_background( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::bg_popup_call2_in_pane_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-    
-    return AknLayoutScalable_Apps::bg_popup_call2_in_pane( aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_call_waiting_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_in_call_waiting_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_g1_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_g1( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_call_number_type_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_in_call_number_type_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_g2_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_g2( 
-        aVariety ).LayoutLine();
-    }    
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_ciphering_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_audio_in_ciphering_icon( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_g3_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() ||
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_g3( 
-        aVariety ).LayoutLine();
-    }        
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_brand_image
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout
-    BubbleLayout2::popup_call2_audio_in_brand_image( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_g4_ParamLimits(0);
-
-   	if ( aVariety < parLimits.FirstVariety() ||
-   	    aVariety > parLimits.LastVariety() )
-   	    {
-   	    Panic( EBMPanicLAF );
-   	    }
-
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_g4(
-   	    aVariety ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_brand_image
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout
-    BubbleLayout2::popup_call2_audio_out_brand_image( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_out_window_g4_ParamLimits(0);
-
-   	if ( aVariety < parLimits.FirstVariety() ||
-   	    aVariety > parLimits.LastVariety() )
-   	    {
-   	    Panic( EBMPanicLAF );
-   	    }
-
-    return AknLayoutScalable_Apps::popup_call2_audio_out_window_g4(
-   	    aVariety ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_brand_image
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout
-    BubbleLayout2::popup_call2_audio_first_brand_image( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_first_window_g4_ParamLimits(0);
-
-   	if ( aVariety < parLimits.FirstVariety() ||
-   	    aVariety > parLimits.LastVariety() )
-   	    {
-   	    Panic( EBMPanicLAF );
-   	    }
-
-    return AknLayoutScalable_Apps::popup_call2_audio_first_window_g4(
-   	    aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_first_brand_image2
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout
-    BubbleLayout2::popup_call2_audio_first_brand_image2( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_first_window_g5_ParamLimits(0);
-
-   	if ( aVariety < parLimits.FirstVariety() ||
-   	    aVariety > parLimits.LastVariety() )
-   	    {
-   	    Panic( EBMPanicLAF );
-   	    }
-
-    return AknLayoutScalable_Apps::popup_call2_audio_first_window_g5(
-   	    aVariety ).LayoutLine();
-    }    
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_second_brand_image
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout
-    BubbleLayout2::popup_call2_audio_second_brand_image( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_second_window_g3_ParamLimits(0);
-
-   	if ( aVariety < parLimits.FirstVariety() ||
-   	    aVariety > parLimits.LastVariety() )
-   	    {
-   	    Panic( EBMPanicLAF );
-   	    }
-
-    return AknLayoutScalable_Apps::popup_call2_audio_second_window_g3(
-   	    aVariety ).LayoutLine();
-    }
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_call_text_1
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_in_call_text_1( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_t1_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_t1( 
-        aVariety ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_call_text_2
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_in_call_text_2( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_t2_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_t2( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_out_call_text_3
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_in_call_text_3( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_t3_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_t3(
-        aVariety ).LayoutLine();
-    }    
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_cli_textual_1
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_in_cli_textual_1( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_t4_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() ||
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_t4( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_cli_textual_2
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_in_cli_textual_2( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_t5_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_t5( 
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_audio_in_cli_textual_3
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout2::popup_call2_audio_in_cli_textual_3( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call2_audio_in_window_t6_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call2_audio_in_window_t6( 
-        aVariety ).LayoutLine();
-    }
-
-
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.52: CLI graphics (rect)
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_bubble_rect_pane_graphics
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_bubble_rect_pane_graphics( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::bg_popup_call2_rect_pane_ParamLimits();
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane(
-        aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_bubble_rect_pane_graphics_cli
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::popup_call2_bubble_rect_pane_graphics_cli()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_in_pane_g1().LayoutLine();
-    } 
-
-
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.63: CLI graphics (mainpane)
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_bubble_rect_pane_graphics_cli
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_cli_visual_graphic_pane()
-    {
-    return AknLayoutScalable_Apps::call2_cli_visual_graphic_pane().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_bubble_rect_pane_graphics_cli
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_cli_visual_text_pane()
-    {
-    return AknLayoutScalable_Apps::call2_cli_visual_text_pane().LayoutLine();
-    }    
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::popup_call2_bubble_rect_pane_graphics_cli
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout BubbleLayout2::call2_main_pane_text( TInt aRow )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::call2_cli_visual_pane_t1_ParamLimits();
-        
-    if ( aRow > parLimits.LastRow() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    return AknLayoutScalable_Apps::call2_cli_visual_pane_t1( aRow ).LayoutLine();        
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_cli_visual_text_number_of_rows
-// -----------------------------------------------------------------------------
-//    
-TInt BubbleLayout2::call2_cli_visual_text_number_of_rows()
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::call2_cli_visual_pane_t1_ParamLimits();
-        
-    return parLimits.LastRow();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_image_placing_area
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout BubbleLayout2::call2_image_placing_area( 
-    TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::aid_image_placing_area_ParamLimits( aVariety );
-     
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..1 == landscape 2..3 
-        aVariety += 2;    	        
-    	}
-        
-    if ( aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }
-    
-    return AknLayoutScalable_Apps::aid_image_placing_area( 
-        aVariety ).LayoutLine();
-    }
-
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.65: CLI graphics (mainpane)
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_cli_visual_graphic_pane_g1
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_cli_visual_graphic_pane_g1() // image
-    {
-    return AknLayoutScalable_Apps::call2_cli_visual_graphic_pane_g1().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_cli_visual_graphic_pane_g2
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_cli_visual_graphic_pane_g2() // small graphics
-    {
-    return AknLayoutScalable_Apps::call2_cli_visual_graphic_pane_g2().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_cli_visual_graphic_pane_g3
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_cli_visual_graphic_pane_g3() // default object
-    {
-    return AknLayoutScalable_Apps::call2_cli_visual_graphic_pane_g3().LayoutLine();
-    }        
-
-
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.53: Rectangle frame
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_rect_pane_fr_cor_center
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_rect_pane_fr_cor_center()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g1().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_rect__pane_fr_cor_topleft
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_rect_pane_fr_cor_topleft()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g2().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_rect__pane_fr_cor_topright
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_rect_pane_fr_cor_topright()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g3().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_rect_pane_fr_cor_bottomleft
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_rect_pane_fr_cor_bottomleft()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g4().LayoutLine();
-    } 
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_rect_pane_fr_cor_bottomright
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_rect_pane_fr_cor_bottomright()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g5().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_rect_pane_fr_side_sidetop
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_rect_pane_fr_side_top()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g6().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_rect_pane_fr_side_bottom
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_rect_pane_fr_side_bottom()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g7().LayoutLine();
-    }                        
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_rect_pane_fr_side_left
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_rect_pane_fr_side_left()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g8().LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_rect_pane_fr_side_right
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_rect_pane_fr_side_right()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g9().LayoutLine();
-    }    
-    
-
-////////////////////////////////////////////////////////////////////////////////
-// LAF Table 4.57: Bubble frame
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_bubble_pane_fr_cor_center
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_bubble_pane_fr_cor_center()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane_g1().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_bubble__pane_fr_cor_topleft
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_bubble_pane_fr_cor_topleft()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane_g2().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_bubble__pane_fr_cor_topright
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_bubble_pane_fr_cor_topright()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane_g3().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_bubble_pane_fr_cor_bottomleft
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_bubble_pane_fr_cor_bottomleft()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane_g4().LayoutLine();
-    } 
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_bubble_pane_fr_cor_bottomright
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_bubble_pane_fr_cor_bottomright()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane_g5().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_bubble_pane_fr_side_sidetop
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_bubble_pane_fr_side_top()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane_g6().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_bubble_pane_fr_side_bottom
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_bubble_pane_fr_side_bottom()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane_g7().LayoutLine();
-    }                        
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_bubble_pane_fr_side_left
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_bubble_pane_fr_side_left()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane_g8().LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout2::call2_bubble_pane_fr_side_right
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout2::call2_bubble_pane_fr_side_right()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_bubble_pane_g9().LayoutLine();
-    }    
-
-// End of File
--- a/phoneuis/BubbleManager/laf/BMLayout2.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,383 +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:  Layout definitions from Application LAF (Call2 layouts)
-*
-*/
-
-
-
-#ifndef BMLAYOUT2_H
-#define BMLAYOUT2_H
-
-// INCLUDES
-#include <calslbs.h>
-#include <bldvariant.hrh> 
-#include <AknLayoutDef.h>
-
-/**
-* Layout coordinates from Application LAF
-* 
-* @lib      bubblemanager.lib
-* @since    2.0
-*/
-class BubbleLayout2
-    { 
-    public: // Helper functions
-        /**
-        * Get inner and outer rectangles for rectangle frame.
-        * @param aFrameRect Frame rectangle.
-        * @param aOuterRect Outer rectangle (return).
-        * @param aInnerRect Inner rectangle (return).
-        */ 
-        static void RectFrameInnerOuterRects( const TRect& aFrameRect,
-                                              TRect& aOuterRect,
-                                              TRect& aInnerRect );
-
-        /**
-        * Get inner and outer rectangles for bubble frame.
-        * @param aFrameRect Frame rectangle.
-        * @param aOuterRect Outer rectangle (return).
-        * @param aInnerRect Inner rectangle (return).
-        */ 
-        static void BubbleFrameInnerOuterRects( const TRect& aFrameRect,
-                                                TRect& aOuterRect,
-                                                TRect& aInnerRect );                                       
-
-    public: // Layout coordinates
-    
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.50: bubble/rect window positions
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_audio_first_window( TInt aVariety );                        
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_in_window( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_out_window( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_second_window( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_wait_window( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_conf_window( TInt aVariety );
-
-        static const TAknWindowLineLayout 
-            call2_call_object_visual_pane();            
-
-        ///////////////////////////////////////////////////////////////////////            
-        // LAF Table 4.60: conference call bubble contents
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_conf_pane_background();
-            
-        static const TAknWindowLineLayout 
-            popup_call2_conf_cli_list();
-            
-        static const TAknTextLineLayout 
-            popup_call2_conf_window_call_timer_text();
-    
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.61: conference call bubble bg graphics
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_conf_single_list_graphic_pane( TInt aRow );                                                
-
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.62: conference call members list entries
-        ///////////////////////////////////////////////////////////////////////            
-        static const TAknWindowLineLayout 
-            popup_call2_conf_single_list_highlight_pane();
-            
-        static const TAknWindowLineLayout 
-            popup_call2_conf_single_list_pane_call_status_icon();
-            
-        static const TAknWindowLineLayout 
-            popup_call2_conf_single_list_pane_ciphering_icon();
-            
-        static const TAknTextLineLayout 
-            popup_call2_conf_single_list_pane_cli_text();                                                
-
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.59: second call bubble contents           
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_audio_second_call_background( TInt aVariety );
-       
-        static const TAknWindowLineLayout 
-            popup_call2_audio_second_call_type_icon( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_second_call_status_icon( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_second_call_cyphering_icon( TInt aVariety );
-            
-        static const TAknTextLineLayout 
-            popup_call2_audio_second_call_cli_text( TInt aVariety );
-            
-        static const TAknTextLineLayout 
-            popup_call2_audio_second_call_timer_text( TInt aVariety );                                                
-        
-        static const TAknTextLineLayout 
-            popup_call2_audio_second_call_state_text( TInt aVariety );
-            
-        static const TAknTextLineLayout
-            popup_call2_audio_second_call_number_text( TInt aVariety );
-            
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.58: waiting call bubble contents
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_audio_wait_call_background();
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_wait_call_type_icon();
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_wait_call_status_icon();
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_wait_call_cyphering_icon();
-            
-        static const TAknTextLineLayout 
-            popup_call2_audio_wait_call_cli_text();                                                            
-            
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.55: first call bubble contents
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_audio_first_call_background( TInt aVariety );
-    
-        static const TAknWindowLineLayout 
-            popup_call2_audio_first_call_type_icon( TInt aVariety );
-    
-        static const TAknWindowLineLayout 
-            popup_call2_audio_first_call_status_icon( TInt aVariety );
-    
-        static const TAknWindowLineLayout 
-            popup_call2_audio_first_call_window_ciphering_icon( TInt aVariety );
-    
-        static const TAknTextLineLayout 
-            popup_call2_audio_first_call_cli_text( TInt aVariety );
-            
-        static const TAknTextLineLayout 
-            popup_call2_audio_first_call_number_text( TInt aVariety );            
-    
-        static const TAknTextLineLayout 
-            popup_call2_audio_first_call_state_text( TInt aVariety );
-    
-        static const TAknTextLineLayout
-            popup_call2_audio_first_call_text_5( TInt aVariety );
-        
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.56: CLI graphics (bubble)
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_bubble_pane_graphics();            
-            
-        static const TAknWindowLineLayout 
-            popup_call2_bubble_pane_graphics_cli();
-            
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.54: outgoing call bubble
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_audio_out_background( TInt aVariety );
-    
-        static const TAknWindowLineLayout 
-            popup_call2_audio_out_call_number_type_icon( TInt aVariety );
-    
-        static const TAknWindowLineLayout 
-            popup_call2_audio_out_call_waiting_icon( TInt aVariety );
-    
-        static const TAknWindowLineLayout 
-            popup_call2_audio_out_ciphering_icon( TInt aVariety );
-    
-        static const TAknTextLineLayout 
-            popup_call2_audio_out_call_text_1( TInt aVariety );
-
-        static const TAknTextLineLayout 
-            popup_call2_audio_out_call_text_2( TInt aVariety );
-            
-        static const TAknTextLineLayout 
-            popup_call2_audio_out_call_text_3( TInt aVariety );            
-    
-        static const TAknTextLineLayout 
-            popup_call2_audio_out_cli_textual_1( TInt aVariety );
-
-        static const TAknTextLineLayout 
-            popup_call2_audio_out_cli_textual_2( TInt aVariety );
-
-        static const TAknTextLineLayout 
-            popup_call2_audio_out_cli_textual_3( TInt aVariety );                            
-
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.54: incoming call bubble
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_audio_in_background( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call2_audio_in_call_waiting_icon( TInt aVariety );
-    
-        static const TAknWindowLineLayout 
-            popup_call2_audio_in_call_number_type_icon( TInt aVariety );
-    
-        static const TAknWindowLineLayout 
-            popup_call2_audio_in_ciphering_icon( TInt aVariety );
-    
-        static const TAknTextLineLayout 
-            popup_call2_audio_in_call_text_1( TInt aVariety );
-    
-        static const TAknTextLineLayout 
-            popup_call2_audio_in_call_text_2( TInt aVariety );
-
-        static const TAknTextLineLayout 
-            popup_call2_audio_in_call_text_3( TInt aVariety );
-        
-        static const TAknTextLineLayout 
-            popup_call2_audio_in_cli_textual_1( TInt aVariety );
-
-        static const TAknTextLineLayout 
-            popup_call2_audio_in_cli_textual_2( TInt aVariety );
-    
-        static const TAknTextLineLayout 
-            popup_call2_audio_in_cli_textual_3( TInt aVariety );
-
-        static const TAknWindowLineLayout
-            popup_call2_audio_in_brand_image( TInt aVariety );
-
-        static const TAknWindowLineLayout
-      	    popup_call2_audio_out_brand_image( TInt aVariety );
-
-      	static const TAknWindowLineLayout
-      	    popup_call2_audio_first_brand_image( TInt aVariety );
-      	    
-        // option 2
-        static const TAknWindowLineLayout
-      	    popup_call2_audio_first_brand_image2( TInt aVariety );      	    
-
-      	static const TAknWindowLineLayout
-      	    popup_call2_audio_second_brand_image( TInt aVariety );
-
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.52: CLI graphics (rect)
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call2_bubble_rect_pane_graphics( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call2_bubble_rect_pane_graphics_cli();
-            
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.63: CLI graphics (mainpane)
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            call2_cli_visual_graphic_pane();
-            
-        static const TAknWindowLineLayout 
-            call2_cli_visual_text_pane();
-            
-        static const TAknTextLineLayout 
-            call2_main_pane_text( TInt aRow );
-            
-        static TInt call2_cli_visual_text_number_of_rows();
-        
-        static const TAknWindowLineLayout 
-            call2_image_placing_area( TInt aVariety );                
-                    
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.65: CLI graphics (mainpane)
-        ///////////////////////////////////////////////////////////////////////
-        // Large image
-        static const TAknWindowLineLayout 
-            call2_cli_visual_graphic_pane_g1();
-        // Tiny image    
-        static const TAknWindowLineLayout 
-            call2_cli_visual_graphic_pane_g2();            
-        // Default call object            
-        static const TAknWindowLineLayout 
-            call2_cli_visual_graphic_pane_g3();            
-
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.53: Rectangle frame
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            call2_rect_pane_fr_cor_center();
-    
-        static const TAknWindowLineLayout 
-            call2_rect_pane_fr_cor_topleft();
-    
-        static const TAknWindowLineLayout 
-            call2_rect_pane_fr_cor_topright();
-    
-        static const TAknWindowLineLayout 
-            call2_rect_pane_fr_cor_bottomleft();
-
-        static const TAknWindowLineLayout 
-            call2_rect_pane_fr_cor_bottomright();
-
-        static const TAknWindowLineLayout 
-            call2_rect_pane_fr_side_top();
-    
-        static const TAknWindowLineLayout 
-            call2_rect_pane_fr_side_bottom();
-    
-        static const TAknWindowLineLayout 
-            call2_rect_pane_fr_side_left();
-    
-        static const TAknWindowLineLayout 
-            call2_rect_pane_fr_side_right();
-            
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 4.57: Bubble frame
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            call2_bubble_pane_fr_cor_center();
-    
-        static const TAknWindowLineLayout 
-            call2_bubble_pane_fr_cor_topleft();
-    
-        static const TAknWindowLineLayout 
-            call2_bubble_pane_fr_cor_topright();
-    
-        static const TAknWindowLineLayout 
-            call2_bubble_pane_fr_cor_bottomleft();
-
-        static const TAknWindowLineLayout 
-            call2_bubble_pane_fr_cor_bottomright();
-
-        static const TAknWindowLineLayout 
-            call2_bubble_pane_fr_side_top();
-    
-        static const TAknWindowLineLayout 
-            call2_bubble_pane_fr_side_bottom();
-    
-        static const TAknWindowLineLayout 
-            call2_bubble_pane_fr_side_left();
-    
-        static const TAknWindowLineLayout 
-            call2_bubble_pane_fr_side_right();            
-            
-        
-    };
-
-#endif      // BMLAYOUT2_H
-            
-// End of File
--- a/phoneuis/BubbleManager/laf/BMLayout3.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +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:  Call3 LAF
-*
-*/
-
-
-// INCLUDE FILES
-#include "BMLayout3.h"
-#include "BMPanic.h"
-#include <aknenv.h>
-#include <applayout.cdl.h>
-#include <AknUtils.h>
-#include <AknLayout2ScalableDef.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_rect
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TRect BubbleLayout3::popup_call3_audio_in_window_rect( TInt aVariety )
-    {
-    TRect screenRect( CEikonEnv::Static()->ScreenDevice()->SizeInPixels() );
-
-    TAknLayoutRect appRect;
-    appRect.LayoutRect( 
-        screenRect, 
-        AknLayout::application_window( screenRect ) );
-        
-    TAknLayoutRect mainRect;
-    
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        mainRect.LayoutRect( 
-            appRect.Rect(), 
-            AknLayout::main_pane( appRect.Rect(), 0, 1, 1 ) ); // stacon included            
-        }
-    else
-        {
-        mainRect.LayoutRect( 
-            appRect.Rect(), 
-            AknLayout::main_pane( appRect.Rect(), 0, 1, 1 ) ); // statuspane excluded        
-        }
-        
-    TAknLayoutRect mainCall3Pane;
-    mainCall3Pane.LayoutRect( 
-        mainRect.Rect(), 
-        AknLayoutScalable_Apps::main_call3_pane().LayoutLine() );
-        
-    TAknLayoutRect call3WindowRect;
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 2;            
-        }    
-    call3WindowRect.LayoutRect( 
-        mainCall3Pane.Rect(), 
-        AknLayoutScalable_Apps::popup_call3_audio_in_window( aVariety ).LayoutLine() );
-        
-    return call3WindowRect.Rect();                    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout3::main_call3_pane
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::main_call3_pane()
-    {
-    return AknLayoutScalable_Apps::main_call3_pane().LayoutLine();    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window(
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 2;            
-        }
-        
-    TAknWindowComponentLayout layout1 = 
-        AknLayoutScalable_Apps::main_call3_pane();
-    TAknWindowComponentLayout layout2 = 
-        AknLayoutScalable_Apps::popup_call3_audio_in_window( aVariety );
-    
-    return TAknWindowComponentLayout::
-        Compose( layout1, layout2 ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_pane
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_pane(
-    TInt aVariety )
-    {    
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 2;            
-        }
-    return AknLayoutScalable_Apps::bg_popup_call3_in_pane( aVariety).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_fr_center
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window_fr_center()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call3_rect_pane_g1().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_fr_corner_topleft
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window_fr_corner_topleft()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call3_rect_pane_g2().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_fr_corner_topright
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window_fr_corner_topright()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call3_rect_pane_g3().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_fr_corner_bottomleft
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window_fr_corner_bottomleft()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call3_rect_pane_g4().LayoutLine();
-    }        
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_fr_corner_bottomright
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window_fr_corner_bottomright()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call3_rect_pane_g5().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_call_indication
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window_call_indication(
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 2;            
-        }
-    return AknLayoutScalable_Apps::popup_call3_audio_in_window_g1( aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_numbertype_indication
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window_numbertype_indication(
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 2;            
-        }
-    return AknLayoutScalable_Apps::popup_call3_audio_in_window_g2( aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_cipheringoff_indication
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window_cipheringoff_indication(
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 2;            
-        }
-    return AknLayoutScalable_Apps::popup_call3_audio_in_window_g3( aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_separator_line
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::popup_call3_audio_in_window_separator_line(
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 1;            
-        }
-    return AknLayoutScalable_Apps::popup_call3_audio_in_window_g4( aVariety ).LayoutLine();
-    }                            
-
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_text_line_1
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout BubbleLayout3::popup_call3_audio_in_window_text_line_1(
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 2;            
-        }
-    return AknLayoutScalable_Apps::popup_call3_audio_in_window_t1( aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_text_line_2
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout BubbleLayout3::popup_call3_audio_in_window_text_line_2(
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 2;            
-        }
-    return AknLayoutScalable_Apps::popup_call3_audio_in_window_t2( aVariety ).LayoutLine();
-    }    
-
-// -----------------------------------------------------------------------------
-// BubbleLayout3::popup_call3_audio_in_window_text_line_3
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout BubbleLayout3::popup_call3_audio_in_window_text_line_3(
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 1;            
-        }
-    return AknLayoutScalable_Apps::popup_call3_audio_in_window_t3( aVariety ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout3::call3_video_qcif_pane
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::call3_video_qcif_pane( 
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 1;            
-        }
-        
-    return AknLayoutScalable_Apps::call3_video_qcif_pane( aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::call3_video_subqcif_pane
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::call3_video_subqcif_pane( 
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 1;            
-        }
-    return AknLayoutScalable_Apps::call3_video_subqcif_pane( aVariety ).LayoutLine();
-    }    
-
-// -----------------------------------------------------------------------------
-// BubbleLayout3::call3_video_qcif_uncrop_pane
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::call3_video_qcif_uncrop_pane( 
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 1;            
-        }
-        
-    return AknLayoutScalable_Apps::call3_video_qcif_uncrop_pane( aVariety ).LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout3::main_call3_video_subqcif_uncrop_pane
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout BubbleLayout3::call3_video_subqcif_uncrop_pane( 
-    TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        aVariety += 1;            
-        }
-    return AknLayoutScalable_Apps::call3_video_subqcif_uncrop_pane( aVariety ).LayoutLine();
-    }    
-    
-
-// End of File
-
--- a/phoneuis/BubbleManager/laf/BMLayout3.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +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:  Call3 layout definitions from Application LAF
-*
-*/
-
-
-
-#ifndef BMLAYOUT3_H
-#define BMLAYOUT3_H
-
-// INCLUDES
-#include <calslbs.h>
-#include <bldvariant.hrh> 
-#include <AknLayoutDef.h>
-
-/**
-* Call3 (video cli) layout coordinates from Application LAF 
-* 
-* @lib      bubblemanager.lib
-* @since    3.1
-*/
-class BubbleLayout3
-    { 
-    public: 
-        /**
-        * Window layout for video ringing tone
-        * @since Series 60 3.1
-        * @param aVariety LAF variety
-        * @return Window rectange for video ringing tone
-        */
-        static TRect popup_call3_audio_in_window_rect( TInt aVariety );
-        
-        
-        /**
-        * Wrappers for layout data functions.
-        * @since Series 60 3.1
-        * @param aVariety LAF variety
-        * @return Component layout
-        */
-        static const TAknWindowLineLayout 
-            main_call3_pane();
-        
-        static const TAknWindowLineLayout 
-            popup_call3_audio_in_window( TInt aVariety );
-        
-        static const TAknWindowLineLayout
-            popup_call3_audio_in_pane( TInt aVariety );
-        
-        static const TAknWindowLineLayout
-            popup_call3_audio_in_window_fr_center();
-        
-        static const TAknWindowLineLayout 
-            popup_call3_audio_in_window_fr_corner_topleft();
-        
-        static const TAknWindowLineLayout 
-            popup_call3_audio_in_window_fr_corner_topright();
-            
-        static const TAknWindowLineLayout 
-            popup_call3_audio_in_window_fr_corner_bottomleft();            
-        
-        static const TAknWindowLineLayout
-            popup_call3_audio_in_window_fr_corner_bottomright();
-        
-        static const TAknWindowLineLayout 
-            popup_call3_audio_in_window_call_indication( TInt aVariety );
-        
-        static const TAknWindowLineLayout
-            popup_call3_audio_in_window_numbertype_indication( TInt aVariety );
-        
-        static const TAknWindowLineLayout
-            popup_call3_audio_in_window_cipheringoff_indication( TInt aVariety );
-        
-        static const TAknWindowLineLayout
-            popup_call3_audio_in_window_separator_line( TInt aVariety );
-        
-        static const TAknTextLineLayout
-            popup_call3_audio_in_window_text_line_1( TInt aVariety );
-        
-        static const TAknTextLineLayout
-            popup_call3_audio_in_window_text_line_2( TInt aVariety );
-       
-        static const TAknTextLineLayout
-            popup_call3_audio_in_window_text_line_3( TInt aVariety );
-        
-        static const TAknWindowLineLayout
-            call3_video_qcif_pane( TInt aVariety );
-        
-        static const TAknWindowLineLayout
-            call3_video_subqcif_pane( TInt aVariety );
-
-        static const TAknWindowLineLayout
-            call3_video_qcif_uncrop_pane( TInt aVariety );
-        
-        static const TAknWindowLineLayout
-            call3_video_subqcif_uncrop_pane( TInt aVariety );            
-    };
-
-#endif // BMLAYOUT3_H
-            
-// End of File
--- a/phoneuis/BubbleManager/laf/BMLayout4.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,434 +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:  Layout definitions from Application LAF (Call4 layouts)
-*
-*/
-
-
-// INCLUDE FILES
-#include "BMLayout4.h"
-#include "BMPanic.h"
-#include "BMBubbleManager.h"
-#include <aknenv.h>
-#include <applayout.cdl.h>
-#include <AknUtils.h>
-#include <AknLayout2ScalableDef.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// Utility functions
-//
-////////////////////////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::button_grid_row_column_count
-// -----------------------------------------------------------------------------
-//
-void BubbleLayout4::button_grid_row_column_count( 
-    TInt  aVariety,
-    TInt& aRows, 
-    TInt& aColumns )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..1 == landscape 2..3 
-        aVariety += 1;    	        
-    	}
-    	
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::cell_call4_button_pane_ParamLimits( aVariety );
-    aRows = parLimits.LastRow() + 1;        
-    aColumns = parLimits.LastColumn() + 1;        
-    }
-
-    
-////////////////////////////////////////////////////////////////////////////////
-//
-// Call4 Layouts
-//
-////////////////////////////////////////////////////////////////////////////////    
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::call4_windows_pane
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout
-    BubbleLayout4::call4_windows_pane( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..1 == landscape 2..3 
-        aVariety += 1;    	        
-    	} 
-    	
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::call4_windows_pane_ParamLimits( aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::call4_windows_pane( 
-        aVariety ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::call4_button_grid_pane
-// -----------------------------------------------------------------------------
-//            
-const TAknWindowLineLayout
-    BubbleLayout4::call4_button_grid_pane( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..1 == landscape 2..3 
-        aVariety += 1;    	        
-    	} 
-    	
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::grid_call4_button_pane_ParamLimits( aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::grid_call4_button_pane( 
-        aVariety ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::call4_image_pane
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout4::call4_image_pane( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 2 == landscape 1 
-        aVariety -= 1;    	        
-    	} 
-    	
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::call4_image_pane_ParamLimits( aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::call4_image_pane( 
-        aVariety ).LayoutLine();    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_audio_first_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_audio_first_window( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call4_audio_first_window_ParamLimits( 
-            aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call4_audio_first_window( 
-        aVariety ).LayoutLine();    
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_audio_second_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_audio_second_window( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call4_audio_second_window_ParamLimits( 
-            aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call4_audio_second_window( 
-        aVariety ).LayoutLine();    
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_audio_in_window
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_audio_in_window( TInt aVariety )
-    {
-    return AknLayoutScalable_Apps::popup_call4_audio_in_window( 
-        aVariety ).LayoutLine();    
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_audio_wait_window
-// -----------------------------------------------------------------------------
-//    
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_audio_wait_window( TInt aVariety )
-    {
-    return AknLayoutScalable_Apps::popup_call4_audio_wait_window( 
-        aVariety ).LayoutLine();    
-    }                    
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_audio_conference_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_audio_conference_window( TInt aVariety )
-    {
-    // same variety in portrait and landscape
-    return AknLayoutScalable_Apps::call4_windows_conf_pane( 
-        aVariety ).LayoutLine();    
-    }    
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_audio_conference_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_audio_conference_window_pane( 
-        TInt aVariety,
-        TInt aRow )
-    {
-    // same variety in portrait and landscape
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call4_audio_conf_window_ParamLimits(
-            aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }    
-
-    return AknLayoutScalable_Apps::popup_call4_audio_conf_window( 
-        aVariety, 0, aRow ).LayoutLine();    
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_conf_pane_bg
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_conf_pane_background()
-    {
-    return AknLayoutScalable_Apps::bg_popup_call2_act_pane_cp02().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_conf_cli_list
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_conf_cli_list()
-    {
-    return AknLayoutScalable_Apps::call4_list_conf_pane().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_conf_single_list_graphic_pane
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_conf_single_list_graphic_pane( TInt aRow )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::list_single_graphic_popup_conf4_pane_ParamLimits();
-
-    /*if ( aRow < parLimits.FirstVariety() || aRow > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }*/
-    
-    return AknLayoutScalable_Apps::
-        list_single_graphic_popup_conf4_pane( 0, 0, aRow ).LayoutLine();    
-    }        
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_conf_single_list_highlight_pane
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_conf_single_list_highlight_pane()
-    {
-    return AknLayoutScalable_Apps::list_highlight_pane_cp022().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call2_conf_single_list_pane_call_status_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_conf_single_list_pane_call_status_icon()
-    {
-    return AknLayoutScalable_Apps::list_single_graphic_popup_conf4_pane_g1().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call4_conf_single_list_pane_ciphering_icon
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::popup_call4_conf_single_list_pane_ciphering_icon()
-    {
-    return AknLayoutScalable_Apps::list_single_graphic_popup_conf4_pane_g2().LayoutLine();
-    }
-    
-// -----------------------------------------------------------------------------
-// BubbleLayout4::popup_call2_conf_single_list_pane_cli_text
-// -----------------------------------------------------------------------------
-//
-const TAknTextLineLayout 
-    BubbleLayout4::popup_call4_conf_single_list_pane_cli_text()
-    {
-    return AknLayoutScalable_Apps::list_single_graphic_popup_conf4_pane_t1().LayoutLine();
-    }    
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::cell_call4_button_pane
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::cell_call4_button_pane( TInt aVariety, TInt aCol, TInt aRow )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..1 == landscape 2..3 
-        aVariety += 1;    	        
-    	}
-    
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::cell_call4_button_pane_ParamLimits( aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::cell_call4_button_pane( 
-        aVariety, aCol, aRow ).LayoutLine();    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::button_call4_background_graphics
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout4::button_call4_background_graphics( TInt aVariety )
-    {
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::bg_button_pane_cp09_ParamLimits( aVariety );
-        
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..1 == landscape 2..3 
-        aVariety += 2;    	        
-    	}        
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::bg_button_pane_cp09( 
-        aVariety ).LayoutLine();    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::button_call4_function_graphics
-// -----------------------------------------------------------------------------
-//            
-const TAknWindowLineLayout 
-    BubbleLayout4::button_call4_function_graphics( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..1 == landscape 2..3 
-        aVariety += 2;    	        
-    	}
-    
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::cell_call4_button_pane_g1_ParamLimits( 
-            aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::cell_call4_button_pane_g1( 
-        aVariety ).LayoutLine();    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout4::button_call4_function_text
-// -----------------------------------------------------------------------------
-//            
-const TAknTextLineLayout 
-    BubbleLayout4::button_call4_function_text( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0..1 == landscape 2..3 
-        aVariety += 2;    	        
-    	}
-    
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::cell_call4_button_pane_t1_ParamLimits( 
-            aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::cell_call4_button_pane_t1( 
-        aVariety ).LayoutLine();    
-    }
-
-
-    
-
-// End of File
--- a/phoneuis/BubbleManager/laf/BMLayout4.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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:  Layout definitions from Application LAF (call4/touch layouts)
-*
-*/
-
-
-
-#ifndef BMLAYOUT4_H
-#define BMLAYOUT4_H
-
-// INCLUDES
-#include <calslbs.h>
-#include <bldvariant.hrh> 
-#include <AknLayoutDef.h>
-
-/**
-* Layout coordinates from Application LAF
-* 
-* @lib      bubblemanager.lib
-* @since    S60 v5.0
-*/
-class BubbleLayout4
-    {
-    public:
-        ///////////////////////////////////////////////////////////////////////
-        // Utils 
-        ///////////////////////////////////////////////////////////////////////
-        static void button_grid_row_column_count( 
-            TInt  aVariety,
-            TInt& aRows, 
-            TInt& aColumns );
-     
-    public:
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 1.1: Main call4 pane contents 
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            call4_windows_pane( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            call4_button_grid_pane( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            call4_image_pane( TInt aVariety );            
-            
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 1.2: Call4 windows pane contents 
-        ///////////////////////////////////////////////////////////////////////                        
-        static const TAknWindowLineLayout 
-            popup_call4_audio_first_window( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call4_audio_second_window( TInt aVariety );            
-            
-        static const TAknWindowLineLayout 
-            popup_call4_audio_in_window( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            popup_call4_audio_wait_window( TInt aVariety );                        
-        
-        static const TAknWindowLineLayout 
-            popup_call4_audio_conference_window( TInt aVariety );
-            
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 1.3: Call4 windows conf pane contents 
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            popup_call4_audio_conference_window_pane( TInt aVariety, 
-                                                      TInt aRow );
-        static const TAknWindowLineLayout 
-            popup_call4_conf_pane_background();
-            
-        static const TAknWindowLineLayout 
-            popup_call4_conf_cli_list();
-            
-        static const TAknWindowLineLayout 
-            popup_call4_conf_single_list_graphic_pane( TInt aRow );            
-        
-        static const TAknWindowLineLayout 
-            popup_call4_conf_single_list_highlight_pane();
-            
-        static const TAknWindowLineLayout 
-            popup_call4_conf_single_list_pane_call_status_icon();
-            
-        static const TAknWindowLineLayout 
-            popup_call4_conf_single_list_pane_ciphering_icon();
-            
-        static const TAknTextLineLayout 
-            popup_call4_conf_single_list_pane_cli_text();                                                      
-            
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 1.4: Grid call4 button pane contents
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            cell_call4_button_pane( TInt aVariety, TInt aCol, TInt aRow );
-            
-        ///////////////////////////////////////////////////////////////////////
-        // LAF Table 1.5: Cell call4 button pane contents
-        ///////////////////////////////////////////////////////////////////////
-        static const TAknWindowLineLayout 
-            button_call4_background_graphics( TInt aVariety );
-            
-        static const TAknWindowLineLayout 
-            button_call4_function_graphics( TInt aVariety );
-            
-        static const TAknTextLineLayout 
-            button_call4_function_text( TInt aVariety );            
-    };
-
-#endif      // BMLAYOUT4_H
-            
-// End of File
--- a/phoneuis/BubbleManager/laf/BMLayout6.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +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:  Layout definitions from Application LAF (Call4 layouts)
-*
-*/
-
-
-#include "BMLayout6.h"
-#include "BMPanic.h"
-#include "BMBubbleManager.h"
-#include <aknenv.h>
-#include <applayout.cdl.h>
-#include <aknutils.h>
-#include <aknlayout2scalabledef.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-
-
-
-
-const TAknWindowLineLayout
-    BubbleLayout6::call6_button_grp_pane( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0 == landscape 1
-        aVariety += 1;              
-        } 
-        
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::call6_btn_grp_pane_ParamLimits( aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::call6_btn_grp_pane( 
-        aVariety ).LayoutLine();
-    }
-
-
-// -----------------------------------------------------------------------------
-// BubbleLayout6::button_grp_row_column_count
-// -----------------------------------------------------------------------------
-//
-void BubbleLayout6::button_grp_row_column_count( 
-    TInt  aVariety,
-    TInt& aRows, 
-    TInt& aColumns )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0 == landscape 1 
-        aVariety += 1;              
-        }
-        
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::cell_call6_btn_pane_ParamLimits( aVariety );
-    aRows = parLimits.LastRow() + 1;        
-    aColumns = parLimits.LastColumn() + 1;        
-    }
-
-
-// -----------------------------------------------------------------------------
-// BubbleLayout6::cell_call4_button_pane
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout6::cell_call6_button_pane( TInt aVariety, TInt aCol, TInt aRow )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0 == landscape 1
-        aVariety += 1;              
-        }
-    
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::cell_call6_btn_pane_ParamLimits( aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::cell_call6_btn_pane( 
-        aVariety, aCol, aRow ).LayoutLine();    
-    }
-
-const TAknTextLineLayout 
-    BubbleLayout6::button_call6_function_text( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0 == landscape 1 
-        aVariety += 1;              
-        }
-
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::cell_call6_btn_pane_ParamLimits( 
-            aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::cell_call6_btn_pane_t1( aVariety ).LayoutLine();    
-    }
-
-
-// -----------------------------------------------------------------------------
-// BubbleLayout6::button_call6_function_graphics
-// -----------------------------------------------------------------------------
-//            
-const TAknWindowLineLayout 
-    BubbleLayout6::button_call6_function_graphics( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0 == landscape 1 
-        aVariety += 1;              
-        }
-    
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::cell_call6_btn_pane_ParamLimits( 
-            aVariety );
-    
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::cell_call6_btn_pane_g1( 
-        aVariety ).LayoutLine();    
-    }
-
-const TAknWindowLineLayout
-    BubbleLayout6::call6_windows_pane( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0 == landscape 1
-        aVariety += 1;              
-        } 
-        
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::call6_pane_g1_ParamLimits( aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::call6_pane_g1( 
-        aVariety ).LayoutLine();
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout6::button_call6_background_graphics
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout6::button_call6_background_graphics( TInt aVariety )
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0 == landscape 1  
-        aVariety += 1;              
-        }        
-         
-    return AknLayoutScalable_Apps::bg_button_pane_cp15( 
-        aVariety ).LayoutLine();    
-    }
-
-// -----------------------------------------------------------------------------
-// BubbleLayout6::popup_call6_audio_first_window
-// -----------------------------------------------------------------------------
-//
-const TAknWindowLineLayout 
-    BubbleLayout6::popup_call6_audio_first_window( TInt aVariety )
-    {
-    
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        // portrait 0 == landscape 1
-        aVariety += 1;              
-        }    
-    
-    TAknLayoutScalableParameterLimits parLimits =
-        AknLayoutScalable_Apps::popup_call6_1st_window_ParamLimits( 
-            aVariety );
-        
-    if ( aVariety < parLimits.FirstVariety() || 
-         aVariety > parLimits.LastVariety() )
-        {
-        Panic( EBMPanicLAF );
-        }   
-        
-    return AknLayoutScalable_Apps::popup_call6_1st_window( 
-        aVariety ).LayoutLine();    
-    }
- 
- 
-
--- a/phoneuis/BubbleManager/laf/BMLayout6.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Layout definitions from Application LAF (call4/touch layouts)
-*
-*/
-#ifndef BMLAYOUT6_H_
-#define BMLAYOUT6_H_
-
-
-#include <calslbs.h>
-#include <bldvariant.hrh> 
-#include <aknlayoutdef.h>
-/**
-* Layout coordinates from Application LAF
-* 
-* @lib      bubblemanager.lib
-* @since    S60 9.2
-*/
-class BubbleLayout6
-    {
-    public:
-        
-        
-        static const TAknWindowLineLayout call6_button_grp_pane( TInt aVariety );
-        
-        static void button_grp_row_column_count( TInt  aVariety, TInt& aRows, TInt& aColumns );
-        
-        static const TAknWindowLineLayout cell_call6_button_pane( TInt aVariety, TInt aCol, TInt aRow );
-        
-        static const TAknTextLineLayout button_call6_function_text( TInt aVariety );
-        
-        static const TAknWindowLineLayout button_call6_function_graphics( TInt aVariety );
-        
-        static const TAknWindowLineLayout call6_windows_pane( TInt aVariety );
-        
-        static const TAknWindowLineLayout button_call6_background_graphics( TInt aVariety );
-        
-        static const TAknWindowLineLayout popup_call6_audio_first_window( TInt aVariety );
-        
-    };
-
-#endif /* BMLAYOUT6_H_ */
--- a/phoneuis/BubbleManager/rom/Bubblemanager.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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:  IBY file for BubbleManager
-*
-*/
-
-
-#ifndef BUBBLEMANAGER_IBY
-#define BUBBLEMANAGER_IBY
-
-
-file=ABI_DIR\BUILD_DIR\BUBBLEMANAGER.dll            SHARED_LIB_DIR\BubbleManager.dll
-data=DATAZ_\RESOURCE_FILES_DIR\BUBBLEMANAGER.rsc   RESOURCE_FILES_DIR\BUBBLEMANAGER.rsc
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,BubbleManager)
-
-data=ZSYSTEM\install\bubblemanager_stub.sis    System\Install\bubblemanager_stub.sis
-
-#endif // BUBBLEMANAGER_IBY
-
-//  End of File
\ No newline at end of file
--- a/phoneuis/ConnectUtil/data/101F8625.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 8625 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECom resource file for connection utility.
-*
-*/
-
-
-
-//  INCLUDES
-#include    <registryinfov2.rh>
-#include    "CoUtlInterface.hrh"
-
-//  RESOURCE DEFINITIONS 
-
-// -----------------------------------------------------------------------------
-//   
-// theInfo
-// ECOM registry information - defined as ROM only.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-    {
-    resource_format_version = RESOURCE_FORMAT_VERSION_2;
-
-    dll_uid = KCoUtlImplementationUid;
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            interface_uid = KCoUtlInterfaceUid;
-            implementations = 
-            {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = KCoUtlImplementationUid;
-                    version_no = 1;
-                    display_name = "Connection utility";
-                    default_data = "default";
-                    opaque_data = "";
-                    rom_only = 1;
-                    }
-                };
-            }
-        };
-    }
-
-// End of File
-
-
--- a/phoneuis/ConnectUtil/data/connectutil.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 Connection utility.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME     COUT
-
-//  INCLUDES
-#include <eikon.rh>
-#include <avkon.rh>
-#include <avkon.hrh>
-#include <avkon.rsg>
-#include <avkon.loc>
-
-#include <connectutil.loc>
-
-
-//  RESOURCE DEFINITIONS 
-
-// -----------------------------------------------------------------------------
-//
-//    RSS_SIGNATURE
-//    Signature.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// -----------------------------------------------------------------------------
-//
-//    r_coutl_confirm_one_connection
-//    Text for confirming termination of one connection.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_coutl_confirm_one_connection
-    {
-    buf = qtn_dea_gprs_disconnect_single;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_coutl_confirm_connections
-//    Text for confirming termination of multiple connections.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_coutl_confirm_connections
-    {
-    buf = qtn_dea_gprs_disconnect_many;
-    }
-
-// End of File
Binary file phoneuis/ConnectUtil/data/connectutil_stub.SIS has changed
--- a/phoneuis/ConnectUtil/data/connectutil_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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 connectutil stub.
-;
-; connectutil_stub.pkg
-
-; Languages
-&EN
-
-; Header
-#{"connectutil"},(0x101F8625),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-; Target
-
-""-"z:\sys\bin\connectutil.dll"
-""-"z:\resource\ConnectUtilrsc.rsc"
-""-"z:\resource\plugins\ConnectUtil.rsc"
\ No newline at end of file
--- a/phoneuis/ConnectUtil/group/ConnectUtil.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2003-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:  Project specification for connection utility.
-*
-*/
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_ECOM_PLUGIN
-
-TARGET          connectutil.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D 0x101F8625
-
-SOURCEPATH      ../src
-SOURCE          CCoUtlImplementation.cpp
-SOURCE          CoUtlMain.cpp
-SOURCE          CCoUtlActive.cpp
-
-SOURCEPATH      ../data
-START RESOURCE 101F8625.rss
-TARGET connectutil.rsc
-END
-
-START RESOURCE connectutil.rss
-DEPENDS avkon.rsg
-TARGET connectutilrsc.rsc
-TARGETPATH RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../src
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   ../../../inc
-
-LIBRARY         cone.lib
-LIBRARY         euser.lib
-LIBRARY         ecom.lib
-LIBRARY         etel.lib
-LIBRARY         etelmm.lib
-LIBRARY         etelpckt.lib
-LIBRARY         connmon.lib
-LIBRARY         aknnotify.lib
-LIBRARY         commonengine.lib
-LIBRARY         avkon.lib
-LIBRARY         efsrv.lib
-
-
-
-// End of file
--- a/phoneuis/ConnectUtil/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2003-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:  Build information specification for connection utility.
-*
-*/
-
-#include  <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/CCoUtlInterface.h        |../../../inc/ccoutlinterface.h
-../inc/CCoUtlInterface.inl      |../../../inc/ccoutlinterface.inl
-../inc/CoUtlInterface.hrh       |../../../inc/coutlinterface.hrh
-
-../data/connectutil_stub.SIS    /epoc32/data/z/system/install/connectutil_stub.sis
-
-../rom/connectutil.iby          CORE_APP_LAYER_IBY_EXPORT_PATH(connectutil.iby)
-../rom/connectutilResources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(connectutilResources.iby)
-../loc/connectutil.loc          APP_LAYER_LOC_EXPORT_PATH(connectutil.loc)
-
-PRJ_MMPFILES
-../group/ConnectUtil.mmp
-
-//  End of File  
--- a/phoneuis/ConnectUtil/inc/CCoUtlActive.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-/*
-* Copyright (c) 2003-2004,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:  Implementation of connection termination plug-in.
-*
-*/
-
-
-
-#ifndef CCOUTLACTIVE_H
-#define CCOUTLACTIVE_H
-
-//  INCLUDES
-#include    <CCoUtlInterface.h>
-#include    <etel.h>
-#include    <etelmm.h>
-#include    <etelpckt.h>
-#include    <rconnmon.h>
-
-// FORWARD DECLARATION
-class CAknGlobalConfirmationQuery;
-
-// CLASS DECLARATION
-
-/**
-*  CCoUtlInterface implementation.
-*
-*  @since 2.6
-*/
-class CCoUtlActive 
-    : public CActive,
-      public MConnectionMonitorObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Constructor.
-        */
-        CCoUtlActive();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CCoUtlActive();
-
-    public: // New functions
-
-        /**
-        * Enumerates state of the operation.
-        */
-        enum TState
-            {
-            EIdle,
-            EStarted,
-            ECheckIfAttached,
-            ECheckIfNetworkModeIII,
-            EStopConnectionsAndDetach,
-            EGetConnectionCount,
-            EGoThroughConnections,
-            EGoThroughConnectionsGetBearer,
-            EGoThroughConnectionsGetStatus,
-            ECheckConnectionCount,
-            ECheckDetachRequired, 
-            EStopConnectionsAndCheckDetachRequired, 
-            EConfirmAllConnectionsTermination,
-            EGetBearerThenNameThenConfirmTermination,
-            EGetNameThenConfirmTermination,
-            EDetach
-            };
-
-        /**
-        * Returns current state.
-        * @return current state.
-        */
-        TState CurrentState() const;
-
-        /**
-        * Starts termination.
-        * @param aStatus request to be completed once finished.
-        */
-        void Start( TRequestStatus& aStatus );
-
-    public: // Functions from base classes
-
-        /**
-        * From CActive, handles completion of current operation.
-        */
-        virtual void RunL();
-
-        /**
-        * From CActive, cancels ongoing asynchronous operation.
-        */
-        virtual void DoCancel();
-
-        /**
-        * From CActive, handles errors from CActive.
-        * @param aError error to be handled.
-        * @return error to be passed to scheduler.
-        */
-        virtual TInt RunError( TInt aError );
-        
-        /**
-        * From MConnectionMonitorObserver, receive notifications.
-        */
-        void EventL( const CConnMonEventBase &aConnMonEvent );
-        
-    private:
-
-        /**
-        * Gets attach status.
-        */
-        void GetAttachStatusL();
-
-        /**
-        * Gets network mode.
-        */
-        void GetNetworkModeL();
-
-        /**
-        * Stop connections and detach.
-        */
-        void StopConnectionsAndDetachL();
-
-        /**
-        * Gets number of connections.
-        */
-        void GetConnectionCountL();
-
-        /**
-        * Goes through connections.
-        */
-        void CheckConnectionsL();
-
-        /**
-        * Goes through connections - get bearer.
-        */
-        void GoThroughConnectionsGetBearerL();
-
-        /**
-        * Goes through connections - get status.
-        */
-        void GoThroughConnectionsGetStatusL();
-
-        /**
-        * Gets attach mode - detach if required, 
-        * i.e. attach mode is 'on demand'.
-        */
-        void GetAttachModeAndDetachIfRequiredL();
-        
-        /**
-        * Confirms all connections termination.
-        */
-        void ConfirmAllConnectionsTerminationL();
-
-        /**
-        * Gets bearer of the connection.
-        */
-        void GetBearerThenNameThenConfirmTerminationL();
-
-        /**
-        * Gets name of connection.
-        */
-        void GetNameThenConfirmTerminationL();
-
-        /**
-        * Confirms termination.
-        * @param aAmount amount of connections.
-        */
-        void ConfirmTerminationL( TInt aAmount );
-
-        /**
-        * Confirms termination.
-        * @param aName name of connection.
-        */
-        void ConfirmTerminationL( const TDesC& aName );
-
-        /**
-        * Confirms termination.
-        * @param aText text shown in query.
-        */
-        void DoConfirmTerminationL( const TDesC& aText );
-
-        /**
-        * Stop all connections and detach if required.
-        */
-        void StopAllConnectionsAndDetachIfRequiredL();
-
-        /**
-        * Stops all connections.
-        * @return error code.
-        */
-        TInt DoStopAllConnectionsL();
-
-        /**
-        * Detaches from network.
-        */
-        void DetachL();
-
-        /**
-        * Checks if attached.
-        * @return EFalse if not attached. Otherwise ETrue.
-        */
-        inline TBool IsAttached() const;
-
-        /**
-        * Checks if current network mode is III.
-        * @return ETrue if operating in network mode III.
-        *         Otherwise EFalse.
-        */
-        inline TBool IsNetworkModeIII() const;
-
-        /**
-        * Returns ETrue if there are connections.
-        * @return ETrue if there are connections.
-        *         Otherwise EFalse.
-        */
-        inline TBool IsConnections() const;
-
-        /**
-        * Returns ETrue if bearer is GPRS.
-        * @return ETrue if bearer is GPRS.
-        *         Otherwise EFalse.
-        */
-        inline TBool AcceptConnectionBearer() const;
-
-        /**
-        * Returns ETrue if connection is active.
-        * @return ETrue if connection is active.
-        *         Otherwise EFalse.
-        */
-        inline TBool IsConnectionActive() const;
-
-        /**
-        * Returns ETrue if attach mode is 'on demand'.
-        * @return ETrue if attach mode is 'on demand'.
-        *         Otherwise EFalse.
-        */
-        inline TBool IsAttachModeOnDemand() const;
-
-        /**
-        * Returns ETrue if user confirmed connection termination.
-        * @return ETrue if termination has been confirmed.
-        *         Otherwise EFalse.
-        */
-        inline TBool IsConfirmed() const;
-
-        /**
-        * Returns telephony server session.
-        * @return ETel session.
-        */
-        inline RTelServer& TelServerL();
-
-        /**
-        * Returns mobile phone.
-        * @return phone subsession.
-        */
-        inline RMobilePhone& MobilePhoneL();
-
-        /**
-        * Returns packet service.
-        * @return packet service subsession.
-        */
-        inline RPacketService& PacketServiceL();
-
-        /**
-        * Returns connection monitor.
-        * @return connection monitor session.
-        */
-        inline RConnectionMonitor& ConnectionMonitorL();
-
-        /**
-        * Completes client's request with aErrorCode code.
-        * @param aErrorCode error code.
-        */
-        void CompleteRequest( TInt aErrorCode );
-
-        /**
-        * Go to specified state.
-        * @param aNewState new state.
-        */ 
-        inline void GoToState( TState aNewState );
-
-        /**
-        * Go to specified state and complete - operation
-        * continues with next RunL call.
-        * @param aNewState new state.
-        * @param aError error code, KErrNone by default.
-        */
-        inline void GoToStateAndComplete( 
-            TState aNewState,
-            TInt aError = KErrNone );
-
-    private:    // Data
-        
-        // Current state.
-        TState iState;
-
-        // Packet service status.
-        TInt iServiceStatus;
-
-        // Packet service current class.
-        RPacketService::TMSClass iCurrentClass;
-
-        // Packet service max class.
-        RPacketService::TMSClass iMaxClass;
-
-        // Packet service attach mode.
-        RPacketService::TAttachMode iAttachMode;
-
-        // Amount of connections.
-        TUint iConnectionCount;
-
-        // Telephony server session.
-        /***************************************************** 
-        *   Series 60 Customer / ETel 
-        *   Series 60  ETel API 
-        *****************************************************/
-        RTelServer iServer;
-
-        // Owned mobile phone subsession.
-        /***************************************************** 
-        *   Series 60 Customer / ETel 
-        *   Series 60  ETel API 
-        *****************************************************/
-        RMobilePhone iMobilePhone;
-
-        // Owned packet service subsession.
-        /***************************************************** 
-        *   Series 60 Customer / ETel 
-        *   Series 60  ETel API 
-        *****************************************************/
-        RPacketService iPacketService;
-
-        // Owned connection monitor session.
-        RConnectionMonitor iConnectionMonitor;
-
-        struct TConnectionId
-            {
-            TUint iConnectionId;
-            TUint iSubConnectionId;
-            };
-
-        // Owned array of connection ids.
-        RArray< TConnectionId > iConnections;
-
-        // Current index in connections array.
-        TInt iConnectionsIndex;
-        
-        // Connection bearer .
-        TInt iConnectionBearer;
-
-        // Connection status.
-        TInt iConnectionStatus;
-
-        // Connection name.
-        TName iConnectionName;
-
-        // Owned confirmation query.
-        CAknGlobalConfirmationQuery* iConfirmationQuery;
-
-        // Owned text in confirmation query.
-        HBufC* iConfirmationText;
-
-        // Ref to request status to be completed. NULL if
-        // operation is not ongoing.
-        TRequestStatus* iRequestStatus;
-
-        //WCDMA connection status.
-        TInt iWcdmaConnectionStatus;
-
-    };
-
-#endif      // CCOUTLACTIVE_H
-            
-// End of File
--- a/phoneuis/ConnectUtil/inc/CCoUtlImplementation.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 connection termination plug-in.
-*
-*/
-
-
-
-#ifndef CCOUTLIMPLEMENTATION_H
-#define CCOUTLIMPLEMENTATION_H
-
-//  INCLUDES
-#include    <CCoUtlInterface.h>
-#include    <ConeResLoader.h>
-
-// FORWARD DECLARATION
-class CCoUtlActive;
-
-// CLASS DECLARATION
-
-/**
-*  CCoUtlInterface implementation.
-*
-*  @since 2.6
-*/
-class CCoUtlImplementation 
-    : public CCoUtlInterface
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        * @return an instance of CCoUtlImplementation.
-        */
-        static CCoUtlImplementation* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CCoUtlImplementation();
-
-    public: // Functions from base classes
-
-        /**
-        * @see CCoUtlInterface::CurrentState.
-        */
-        virtual TState CurrentState();
-
-        /**
-        * @see CCoUtlInterface::Terminate.
-        */
-        virtual void Terminate( TRequestStatus& aStatus );
-    
-        /**
-        * @see CCoUtlInterface::Cancel.
-        */
-        virtual void Cancel();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CCoUtlImplementation();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data
-
-        // Owned active object to do the task.
-        CCoUtlActive* iActive;
-
-        // Owned resource loader.
-        RConeResourceLoader iResourceLoader;
-
-    };
-
-#endif      // CCOUTLIMPLEMENTATION_H
-            
-// End of File
--- a/phoneuis/ConnectUtil/inc/CCoUtlInterface.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Provides abstract ECOM interface for connection utility.
-*
-*/
-
-
-
-#ifndef CCOUTLINTERFACE_H
-#define CCOUTLINTERFACE_H
-
-//  INCLUDES
-#include    <e32base.h>
-
-// CLASS DECLARATION
-
-/**
-*  Abstract ECOM interface for connection termination.
-*
-*  @since 2.6
-*/
-class CCoUtlInterface 
-    : public CBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        inline static CCoUtlInterface* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CCoUtlInterface();
-
-    public: // New functions
-        
-        /**
-        * Enumerates states.
-        *
-        * EIdle - idle, 
-        * EConfirm - asking for user decision,
-        * ETerminate - terminating
-        */
-        enum TState
-            {
-            EIdle,
-            EConfirm,
-            ETerminate
-            };
-
-        /**
-        * Returns current state.
-        * @return current state.
-        */
-        virtual TState CurrentState() = 0;
-
-        /**
-        * Terminates connections.
-        * @param aStatus request status to be completed once
-        *                finished.
-        */
-        virtual void Terminate( TRequestStatus& aStatus ) = 0;
-    
-        /**
-        * Interrupts termination. 
-        */
-        virtual void Cancel() = 0;
-
-    private:    // Data
-        
-        // Uid required by ECOM.
-        TUid iDtor_ID_Key;
-
-    };
-
-#include    <CCoUtlInterface.inl>
-
-#endif      // CCOUTLINTERFACE_H
-            
-// End of File
--- a/phoneuis/ConnectUtil/inc/CCoUtlInterface.inl	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Inline functions for CCoUtlInterface class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    <ecom/ecom.h>
-#include    <CoUtlInterface.hrh>
-
-// CONSTANTS
-_LIT8( KCoUtlResolverData, "default" );
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCoUtlInterface::NewL
-// ECom is used to create instance.
-// -----------------------------------------------------------------------------
-//
-inline CCoUtlInterface* CCoUtlInterface::NewL()
-    {
-    const TUid KCoUtlInterfaceDefinitionUid = 
-        { KCoUtlInterfaceUid };
-
-    TEComResolverParams params;
-    params.SetDataType( KCoUtlResolverData );
-    params.SetWildcardMatch( EFalse );
-
-    TAny* ptr = 
-        REComSession::CreateImplementationL(
-            KCoUtlInterfaceDefinitionUid,
-            _FOFF( CCoUtlInterface, iDtor_ID_Key ), 
-            params,
-            KRomOnlyResolverUid );
-
-    return reinterpret_cast< CCoUtlInterface* >( ptr );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlInterface::~CCoUtlInterface
-// ECom is used to delete instance..
-// -----------------------------------------------------------------------------
-//
-inline CCoUtlInterface::~CCoUtlInterface()
-    {
-    REComSession::DestroyedImplementation( iDtor_ID_Key );
-    }
-
-//  End of File
--- a/phoneuis/ConnectUtil/inc/CoUtlInterface.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines UIDs used.
-*
-*/
-
-
-#ifndef CONNECTIONUTILITY_HRH
-#define CONNECTIONUTILITY_HRH
-
-// MACROS
-
-// Connection utility interface uid
-#define KCoUtlInterfaceUid 0x101F8624
-
-// Connection utility implementation uid
-#define KCoUtlImplementationUid 0x101F8625
-
-#endif // CONNECTIONUTILITY_HRH
-
-// End of File
--- a/phoneuis/ConnectUtil/loc/connectutil.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 localised strings for 
-*                Connection utility.
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-// d: When long End key is pressed and there is one GPRS connection
-// d: ongoing, a confirmation query with this text is shown. %U is replaced
-// d: with name of the connection.
-// l: popup_note_window
-//
-#define qtn_dea_gprs_disconnect_single "End packet data connection '%U'?"
-
-// d: When long End key is pressed and there are more than one GPRS connections
-// d: ongoing, a confirmation query with this text is shown. %N is replaced
-// d: with the amount of connections.
-// l: popup_note_window
-//
-#define qtn_dea_gprs_disconnect_many "End all %N packet data connections?"
-
-//  End of File  
-
-
--- a/phoneuis/ConnectUtil/rom/connectutil.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  IBY file for connection utility.
-*
-*/
-
-
-#ifndef __CONNECTUTIL_IBY__
-#define __CONNECTUTIL_IBY__
-
-REM Connection utility
-ECOM_PLUGIN(ConnectUtil.dll,101F8625.rsc)
-
-data=ZSYSTEM\install\connectutil_stub.sis    System\Install\connectutil_stub.sis
-
-
-#endif
--- a/phoneuis/ConnectUtil/rom/connectutilResources.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  IBY file for connection utility.
-*
-*/
-
-
-#ifndef __CONNECTUTIL_RESOURCES_IBY__
-#define __CONNECTUTIL_RESOURCES_IBY__
-
-data=ZRESOURCE\ConnectUtilrsc.rsc                                       RESOURCE_FILES_DIR\ConnectUtilrsc.rsc
-
-#endif
\ No newline at end of file
--- a/phoneuis/ConnectUtil/src/CCoUtlActive.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,938 +0,0 @@
-/*
-* Copyright (c) 2003-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:  Implementation of CCoUtlActive.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "CCoUtlActive.h"
-#include    <mmtsy_names.h>
-#include    <nifvar.h>
-#include    <pcktcs.h>
-#include    <AknGlobalConfirmationQuery.h>
-#include    <AknUtils.h>
-#include    <StringLoader.h>
-#include    <ConnectUtilRsc.rsg>
-#include    <avkon.hrh>
-#include    <e32property.h>
-#include    <PSVariables.h>
-
-
-
-// CONSTANTS
-
-// Panic category.
-_LIT( KCoUtlPanicCategory, "CoUtl" );
-
-// Enumerates panic reasons
-enum 
-    {
-    // Terminate is already called and operation has not been completed yet. 
-    // Cancel before calling Terminate.
-    ECoUtlPanicTerminateAlreadyActive = 0
-    };
-
-// MACROS
-
-#if defined _DEBUG && !defined __WINS__
-// Target UDEB environment - debug traces enabled
-
-#define COUTL_RDEBUG(X)             RDebug::Print(X);
-#define COUTL_RDEBUG_INT(X,Y)       RDebug::Print(X,Y);
-
-#else           
-// Other environments - debug traces disabled
-
-#define COUTL_RDEBUG(X)
-#define COUTL_RDEBUG_INT(X,Y)
-
-#endif
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::CCoUtlActive
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCoUtlActive::CCoUtlActive()
-    : CActive( CActive::EPriorityStandard )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::~CCoUtlActive
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-/***************************************************** 
-*   Series 60 Customer / ETel 
-*   Series 60  ETel API 
-*****************************************************/
-CCoUtlActive::~CCoUtlActive()
-    {
-    Cancel();
-
-    if ( iServer.Handle() )
-        {
-        // Error is ignored - loading might have failed.
-        iServer.UnloadPhoneModule( KMmTsyModuleName ); 
-        }
-
-    delete iConfirmationQuery;
-    delete iConfirmationText;
-
-    iConnections.Close();
-    iPacketService.Close();
-    iMobilePhone.Close();
-    iServer.Close();
-    iConnectionMonitor.CancelNotifications();
-    iConnectionMonitor.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::CurrentState
-// -----------------------------------------------------------------------------
-//
-CCoUtlActive::TState CCoUtlActive::CurrentState() const
-    {
-    return iState;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::Start
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::Start( TRequestStatus& aStatus )
-    {
-    if ( !IsActive() )
-        {
-        aStatus = KRequestPending;
-        iRequestStatus = &aStatus;
-        GoToStateAndComplete( EStarted );
-        }
-    else
-        {
-        User::Panic( KCoUtlPanicCategory, ECoUtlPanicTerminateAlreadyActive );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::RunL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::RunL()
-    {
-    COUTL_RDEBUG_INT( _L("CCoUtlActive::RunL - State %d: "), iState )
-    COUTL_RDEBUG_INT( _L("CCoUtlActive::RunL - Status %d: "), iStatus.Int() )
-
-    // Clean up parameters that might require uninitialisation.
-    delete iConfirmationQuery;
-    iConfirmationQuery = NULL;
-
-    delete iConfirmationText;
-    iConfirmationText = NULL;
-
-    // Leave in case of error.
-    User::LeaveIfError( iStatus.Int() );
-
-    // Handle state transitions.
-    switch ( iState )
-        {
-        case EStarted:
-            iConnections.Reset();
-            GetAttachStatusL();
-            break;
-
-        case ECheckIfAttached:
-            if ( IsAttached() )
-                {
-                GetConnectionCountL();
-                }
-            break;
-        
-        case EGetConnectionCount:
-            iConnectionsIndex = 0;
-            CheckConnectionsL();
-            break;
-
-        case EGoThroughConnections:
-            if ( iConnectionsIndex < iConnections.Count() )
-                {
-                GoThroughConnectionsGetBearerL();
-                }
-            else
-                {
-                GetNetworkModeL();
-                }
-            break;
-        
-        case EGoThroughConnectionsGetBearer:
-            if ( AcceptConnectionBearer() )
-                {
-                GoThroughConnectionsGetStatusL();
-                }
-            else
-                {
-                // Not accepted - delete and continue to the next.
-                iConnections.Remove( iConnectionsIndex );
-                GoToStateAndComplete( EGoThroughConnections );
-                }
-            break;
-
-        case EGoThroughConnectionsGetStatus:
-            if ( !IsConnectionActive() )
-                {
-                // Not accepted - delete and continue to the next.
-                iConnections.Remove( iConnectionsIndex );
-                }
-            else
-                {
-                // Accepted, go to next one.
-                iConnectionsIndex++;
-                }
-
-            GoToStateAndComplete( EGoThroughConnections );
-            break;
-
-        case ECheckIfNetworkModeIII:
-            if ( IsNetworkModeIII() )
-                {
-                StopConnectionsAndDetachL();
-                }
-            else
-                {
-                GoToStateAndComplete( ECheckConnectionCount );
-                }
-            break;
-
-        case EStopConnectionsAndDetach:
-            DetachL();
-            break;
-
-        case ECheckConnectionCount:
-            if ( !IsConnections() )
-                {
-                GetAttachModeAndDetachIfRequiredL();
-                }
-            else 
-                {
-                ConfirmAllConnectionsTerminationL();
-                }
-            break;
-
-        case EStopConnectionsAndCheckDetachRequired:
-            GetAttachModeAndDetachIfRequiredL();
-            break;
-
-        case ECheckDetachRequired:
-            if ( IsAttachModeOnDemand() )
-                {
-                DetachL();
-                }
-            break;
-
-        case EGetBearerThenNameThenConfirmTermination:
-            GetNameThenConfirmTerminationL();
-            break;
-
-        case EGetNameThenConfirmTermination:
-            ConfirmTerminationL( iConnectionName );
-            break;
-
-        case EConfirmAllConnectionsTermination:
-            if ( IsConfirmed() )
-                {
-                StopAllConnectionsAndDetachIfRequiredL();
-                }
-            break;
-
-        case EDetach:
-        case EIdle:
-        default:
-            break;
-        }
-
-    if ( !IsActive() )
-        {
-        // Operation has been finished.
-        iState = EIdle;
-        CompleteRequest( KErrNone );
-        }
-
-    COUTL_RDEBUG_INT( _L("CCoUtlActive::RunL finished - %d: "), iState )
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::DoCancel
-// -----------------------------------------------------------------------------
-//
-/***************************************************** 
-*   Series 60 Customer / ETel 
-*   Series 60  ETel API 
-*****************************************************/
-void CCoUtlActive::DoCancel()
-    {
-    COUTL_RDEBUG_INT( _L("CCoUtlActive::DoCancel - %d: "), iState )
-    // Operation is canceled - cancel ongoing operation and 
-    // complete original request with the KErrCancel error code.
-
-    TInt packetServiceCancel = 0;
-    TInt connectionMonitorCancel = 0;
-
-    switch ( iState )
-        {
-        case ECheckIfNetworkModeIII:
-            packetServiceCancel = EPacketGetMSClass;
-            break;
-
-        case EGetConnectionCount:
-            connectionMonitorCancel = EConnMonGetConnectionCount;
-            break;
-
-        case EGoThroughConnectionsGetStatus:
-        case EGoThroughConnectionsGetBearer:
-        case EGetBearerThenNameThenConfirmTermination:
-            connectionMonitorCancel = EConnMonGetIntAttribute;
-            break;       
-
-        case ECheckDetachRequired:
-            packetServiceCancel = EPacketGetAttachMode;
-            break;
-        
-        case EGetNameThenConfirmTermination:
-            connectionMonitorCancel = EConnMonGetStringAttribute;
-            break;
-
-        case EConfirmAllConnectionsTermination:
-            if ( iConfirmationQuery )
-                {
-                iConfirmationQuery->CancelConfirmationQuery();
-                delete iConfirmationQuery;
-                iConfirmationQuery = NULL;
-
-                delete iConfirmationText;
-                iConfirmationText = NULL;
-                }
-            break;
-
-        case EDetach:
-            packetServiceCancel = EPacketDetach;
-            break;
-
-        case EIdle:
-        case EStarted:
-        case ECheckIfAttached:     
-        case EStopConnectionsAndDetach:
-        case EGoThroughConnections:
-        case ECheckConnectionCount:
-        case EStopConnectionsAndCheckDetachRequired:
-        default:
-            break;
-        }
-
-    if ( packetServiceCancel && iPacketService.SubSessionHandle() )
-        {
-        iPacketService.CancelAsyncRequest( packetServiceCancel );
-        }
-    if ( connectionMonitorCancel && iConnectionMonitor.Handle() )
-        {
-        iConnectionMonitor.CancelAsyncRequest( connectionMonitorCancel );
-        }
-
-    CompleteRequest( KErrCancel );
-    GoToState( EIdle );
-    
-    COUTL_RDEBUG( _L("CCoUtlActive::DoCancel finished") )
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::RunError
-// -----------------------------------------------------------------------------
-//
-TInt CCoUtlActive::RunError( TInt aError )
-    {
-    COUTL_RDEBUG_INT( _L("CCoUtlActive::RunError - %d: "), aError )
-
-    // Handles exceptions. Either operation has completed with aError code,
-    // or then exception has occured while performing RunL when state has
-    // been specified.
-    // However, RunL has been implemented in such a way that once asynchronous
-    // request has been made, then exception is not raised in that RunL.
-
-    switch ( iState )
-        {
-        case EStopConnectionsAndDetach:
-            // Try to move on.
-            GoToStateAndComplete( EDetach );
-            break;
-            
-        case EGoThroughConnectionsGetBearer:
-        case EGoThroughConnectionsGetStatus:
-            if ( aError == KErrNotFound && 
-                ( iConnectionsIndex < iConnections.Count() ) )
-                {
-                iConnections.Remove( iConnectionsIndex );
-                GoToStateAndComplete( EGoThroughConnections );
-                break;
-                }
-            //lint -fallthrough
-        case EStarted: 
-        case ECheckIfAttached:
-        case ECheckIfNetworkModeIII:
-        case EGetConnectionCount:
-        case EGoThroughConnections:
-        case ECheckConnectionCount:
-        case EGetBearerThenNameThenConfirmTermination:
-        case EGetNameThenConfirmTermination:
-        case EConfirmAllConnectionsTermination:
-        case EStopConnectionsAndCheckDetachRequired:
-        case EDetach:
-        case ECheckDetachRequired:
-        case EIdle:
-        default:
-            CompleteRequest( aError );
-            GoToState( EIdle );
-            break;
-        }
-
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GetAttachStatusL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::GetAttachStatusL()
-    {
-    TInt status = KErrNone;
-    TInt statusWcdma = KErrNone;
-
-    //Fetch attach status from RProperty.
-    TInt error = RProperty::Get( KUidSystemCategory, KPSUidGprsStatusValue, status );
-    if ( error != KErrNone )
-        {
-        // On error, assume attached - connection monitor will inform
-        // detailed information.
-        status = EPSGprsAttach;
-        }
-    error = RProperty::Get( KUidSystemCategory, KPSUidWcdmaStatusValue, statusWcdma );
-    if ( error != KErrNone )
-        {
-        // On error, assume attached - connection monitor will inform
-        // detailed information.
-        statusWcdma = EPSWcdmaAttach;
-        }
-    iServiceStatus = status;
-    iWcdmaConnectionStatus = statusWcdma;
-    GoToStateAndComplete( ECheckIfAttached );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GetNetworkModeL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::GetNetworkModeL()
-    {
-    PacketServiceL().GetMSClass( iStatus, iCurrentClass, iMaxClass );
-    SetActive();
-    GoToState( ECheckIfNetworkModeIII );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::StopConnectionsAndDetachL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::StopConnectionsAndDetachL()
-    {
-    TInt err = DoStopAllConnectionsL();
-    GoToStateAndComplete( 
-        EStopConnectionsAndDetach,
-        err );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GetConnectionCountL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::GetConnectionCountL()
-    {
-    GoToState( EGetConnectionCount );
-    ConnectionMonitorL().GetConnectionCount( iConnectionCount, iStatus );
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::CheckConnectionsL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::CheckConnectionsL()
-    {
-    RConnectionMonitor& monitor = ConnectionMonitorL();
-    iConnections.Reset();
-
-    // Go through all connections
-    // Note indexing from 1, 2, 3, .., iConnectionCount.
-    for ( TUint index = 1; index <= iConnectionCount; index++ )
-        {
-        TConnectionId id;
-        TUint subConnectionCount = 0;
-        
-        TInt err = 
-            monitor.GetConnectionInfo( 
-                index, 
-                id.iConnectionId, 
-                subConnectionCount );
-
-        // SubConnectionIds are not used.
-        id.iSubConnectionId = 0;
-
-        if ( err != KErrNotFound )
-            {
-            // the KErrNotFound error code indicates that connection has
-            // already been dropped, so those indices are simply ignored.
-            User::LeaveIfError( err );
-            User::LeaveIfError( iConnections.Append( id ) );
-            }
-        }
-
-    GoToStateAndComplete( EGoThroughConnections );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GoThroughConnectionsGetBearerL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::GoThroughConnectionsGetBearerL()
-    {
-    TConnectionId& current = iConnections[ iConnectionsIndex ];
-    ConnectionMonitorL().GetIntAttribute( 
-        current.iConnectionId,
-        current.iSubConnectionId,
-        KBearer,
-        iConnectionBearer,
-        iStatus );
-    SetActive();
-    GoToState( EGoThroughConnectionsGetBearer );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GoThroughConnectionsGetStatusL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::GoThroughConnectionsGetStatusL()
-    {
-    TConnectionId& current = iConnections[ iConnectionsIndex ];
-    ConnectionMonitorL().GetIntAttribute( 
-        current.iConnectionId,
-        current.iSubConnectionId,
-        KConnectionStatus,
-        iConnectionStatus,
-        iStatus );
-    SetActive();
-    GoToState( EGoThroughConnectionsGetStatus );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GetAttachModeAndDetachIfRequiredL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::GetAttachModeAndDetachIfRequiredL()
-    {
-    PacketServiceL().GetAttachMode( iStatus, iAttachMode );
-    SetActive();
-    GoToState( ECheckDetachRequired );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::ConfirmAllConnectionsTerminationL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::ConfirmAllConnectionsTerminationL()
-    {
-    if ( iConnections.Count() == 1 ) // Exactly one connection
-        {
-        GetBearerThenNameThenConfirmTerminationL();
-        }
-    else
-        {
-        ConfirmTerminationL( iConnections.Count() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::ConfirmTerminationL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::ConfirmTerminationL( TInt aAmount )
-    {
-    HBufC* text =
-        StringLoader::LoadLC( 
-            R_COUTL_CONFIRM_CONNECTIONS,
-            aAmount );
-
-    TPtr ptr = text->Des();
-    
-    // Convert digits in the string to correct digit type.
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( ptr );
-
-    DoConfirmTerminationL( *text );
-    CleanupStack::Pop( text );
-    iConfirmationText = text;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::ConfirmTerminationL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::ConfirmTerminationL( const TDesC& aName )
-    {
-    HBufC* text = 
-        StringLoader::LoadLC( 
-            R_COUTL_CONFIRM_ONE_CONNECTION,
-            aName );
-
-    DoConfirmTerminationL( *text );
-    CleanupStack::Pop( text );
-    iConfirmationText = text;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::DoConfirmTerminationL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::DoConfirmTerminationL( const TDesC& aText )
-    {
-    CAknGlobalConfirmationQuery* confirmationQuery =
-        CAknGlobalConfirmationQuery::NewLC();
-    confirmationQuery->ShowConfirmationQueryL(
-        iStatus,
-        aText );
-    CleanupStack::Pop( confirmationQuery );
-    
-    SetActive();
-    iConfirmationQuery = confirmationQuery;
-    GoToState( EConfirmAllConnectionsTermination );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GetBearerThenNameThenConfirmTerminationL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::GetBearerThenNameThenConfirmTerminationL()
-    {
-    TConnectionId& id = iConnections[ 0 ]; // first
-    ConnectionMonitorL().GetIntAttribute( 
-        id.iConnectionId,
-        id.iSubConnectionId,
-        KBearer,
-        iConnectionBearer,
-        iStatus );
-    SetActive();
-    GoToState( EGetBearerThenNameThenConfirmTermination );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GetNameThenConfirmTerminationL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::GetNameThenConfirmTerminationL()
-    {
-    TConnectionId& id = iConnections[ 0 ]; // first
-
-    TUint attribute = KIAPName;
-    if ( iConnectionBearer == EBearerExternalGPRS || 
-         iConnectionBearer == EBearerExternalEdgeGPRS ||
-         iConnectionBearer == EBearerExternalWCDMA )
-        {
-        attribute = KAccessPointName;
-        }
-
-    ConnectionMonitorL().GetStringAttribute(
-        id.iConnectionId,
-        id.iSubConnectionId,
-        attribute,
-        iConnectionName,
-        iStatus );
-    SetActive();
-    GoToState( EGetNameThenConfirmTermination );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::StopAllConnectionsAndDetachIfRequiredL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::StopAllConnectionsAndDetachIfRequiredL()
-    {
-    TInt err = DoStopAllConnectionsL();
-    GoToStateAndComplete( 
-        EStopConnectionsAndCheckDetachRequired,
-        err );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::DoStopAllConnectionsL
-// -----------------------------------------------------------------------------
-//
-TInt CCoUtlActive::DoStopAllConnectionsL()
-    {
-    TInt err = KErrNone;
-
-    for ( TInt index = iConnections.Count() - 1; index >= 0; index-- )
-        {
-        const TConnectionId& id = iConnections[ index ];
-
-        TInt result = ConnectionMonitorL().SetBoolAttribute(
-            id.iConnectionId, id.iSubConnectionId, KConnectionStop, ETrue );
-        if ( result == KErrNotFound )
-            {
-            // the KErrNotFound error code is ignored, because connection
-            // may have been ended by another client.
-            result = KErrNone;
-            }
-
-        // Combine error codes.
-        err = Min( err, result );
-        }
-
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::DetachL
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::DetachL()
-    {
-    PacketServiceL().Detach( iStatus );
-    SetActive();
-    GoToState( EDetach );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::IsAttached
-// -----------------------------------------------------------------------------
-//
-inline TBool CCoUtlActive::IsAttached() const
-    {
-    return ( 
-        ( iServiceStatus != EPSGprsUnattached ) ||
-        ( iWcdmaConnectionStatus != EPSWcdmaUnattached ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::IsNetworkModeIII
-// -----------------------------------------------------------------------------
-//
-inline TBool CCoUtlActive::IsNetworkModeIII() const
-    {
-    return 
-        ( iCurrentClass == RPacketService::EMSClassAlternateMode ) || 
-        ( iCurrentClass == RPacketService::EMSClassPacketSwitchedOnly ) ||
-        ( iCurrentClass == RPacketService::EMSClassCircuitSwitchedOnly );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::IsConnections
-// -----------------------------------------------------------------------------
-//
-inline TBool CCoUtlActive::IsConnections() const
-    {
-    return iConnections.Count();
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::AcceptConnectionBearer
-// -----------------------------------------------------------------------------
-//
-inline TBool CCoUtlActive::AcceptConnectionBearer() const
-    {
-    return ( iConnectionBearer == EBearerGPRS ) ||
-           ( iConnectionBearer == EBearerEdgeGPRS ) ||
-           ( iConnectionBearer == EBearerWCDMA ) ||
-           ( iConnectionBearer == EBearerExternalGPRS ) ||
-           ( iConnectionBearer == EBearerExternalEdgeGPRS ) ||
-           ( iConnectionBearer == EBearerExternalWCDMA );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::IsAttachModeOnDemand
-// -----------------------------------------------------------------------------
-//
-inline TBool CCoUtlActive::IsAttachModeOnDemand() const
-    {
-    return ( iAttachMode == RPacketService::EAttachWhenNeeded );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::IsConnectionActive
-// -----------------------------------------------------------------------------
-//
-inline TBool CCoUtlActive::IsConnectionActive() const
-    {
-    return ( iConnectionStatus != KConnectionClosed ) &&
-           ( iConnectionStatus != KLinkLayerClosed );
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::Confirmed
-// -----------------------------------------------------------------------------
-//
-inline TBool CCoUtlActive::IsConfirmed() const
-    {
-    return iStatus.Int() == EAknSoftkeyYes;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::TelServerL
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*   Series 60 Customer / TSY
-*   Needs customer TSY implementation
-*****************************************************/
-inline RTelServer& CCoUtlActive::TelServerL()
-    {
-    if ( !iServer.Handle() )
-        {
-        // ETel server session will be closed if any of the following operations
-        // fail. In this way, the above Handle condition is sufficient; if 
-        // session has been opened, then it has been initialised properly as
-        // well.
-        CleanupClosePushL( iServer ); 
-        User::LeaveIfError( iServer.Connect() );
-        User::LeaveIfError( 
-            iServer.SetExtendedErrorGranularity( 
-                RTelServer::EErrorExtended ) );
-        User::LeaveIfError( iServer.LoadPhoneModule( KMmTsyModuleName ) );
-        CleanupStack::Pop(); // Success
-        }
-
-    return iServer;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::MobilePhoneL
-// -----------------------------------------------------------------------------
-//
-/***************************************************** 
-*   Series 60 Customer / ETel 
-*   Series 60  ETel API 
-*****************************************************/
-inline RMobilePhone& CCoUtlActive::MobilePhoneL()
-    {
-    if ( !iMobilePhone.SubSessionHandle() )
-        {
-        User::LeaveIfError( iMobilePhone.Open( TelServerL(), KMmTsyPhoneName ) );
-        }
-
-    return iMobilePhone;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::PacketServiceL
-// -----------------------------------------------------------------------------
-//
-/***************************************************** 
-*   Series 60 Customer / ETel 
-*   Series 60  ETel API 
-*****************************************************/
-inline RPacketService& CCoUtlActive::PacketServiceL()
-    {
-    if ( !iPacketService.SubSessionHandle() )
-        {
-        User::LeaveIfError( iPacketService.Open( MobilePhoneL() ) );
-        }
-
-    return iPacketService;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::ConnectionMonitorL
-// -----------------------------------------------------------------------------
-//
-inline RConnectionMonitor& CCoUtlActive::ConnectionMonitorL()
-    {
-    if ( !iConnectionMonitor.Handle() )
-        {
-        User::LeaveIfError( iConnectionMonitor.ConnectL() );
-        User::LeaveIfError( iConnectionMonitor.NotifyEventL( *this ) ); 
-        }
-
-    return iConnectionMonitor;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::CompleteRequest
-// -----------------------------------------------------------------------------
-//
-void CCoUtlActive::CompleteRequest( TInt aErrorCode )
-    {
-    if ( iRequestStatus )
-        {
-        User::RequestComplete( iRequestStatus, aErrorCode );
-        iRequestStatus = NULL;
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CCoUtlActive::EventL
-// -----------------------------------------------------------------------------
-//    
-void CCoUtlActive::EventL( const CConnMonEventBase &aConnMonEvent )
-    {
-    COUTL_RDEBUG_INT( _L("CCoUtlActive::EventL - Event %d: "), aConnMonEvent.EventType() )
-    switch ( aConnMonEvent.EventType() )
-		{
-        case EConnMonDeleteConnection:
-            {
-            if ( IsActive() && iConfirmationQuery )
-                {
-                COUTL_RDEBUG( _L("CCoUtlActive::EventL - Cancel()") )
-                Cancel();
-                }
-		    }
-			break;
-		default:
-			break;
-		} 
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GoToState
-// -----------------------------------------------------------------------------
-//
-inline void CCoUtlActive::GoToState( TState aNewState )
-    {
-    iState = aNewState;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlActive::GoToStateAndComplete
-// -----------------------------------------------------------------------------
-//
-inline void CCoUtlActive::GoToStateAndComplete( TState aNewState, TInt aError )
-    {
-    GoToState( aNewState );
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, aError );
-    SetActive();
-    }
-
-//  End of File  
--- a/phoneuis/ConnectUtil/src/CCoUtlImplementation.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 CCoUtlImplementation.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "CCoUtlImplementation.h"
-#include    "CCoUtlActive.h"
-#include    <coemain.h>
-#include    <data_caging_path_literals.hrh>
-
-// CONSTANTS
-// Path to ConnectUtil engine resource file.
-_LIT( KCoUtlResourceFile, "z:connectutilrsc.rsc" );
- 
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CCoUtlImplementation::CCoUtlImplementation
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CCoUtlImplementation::CCoUtlImplementation()
-    : iResourceLoader( *CCoeEnv::Static() )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlImplementation::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CCoUtlImplementation::ConstructL()
-    {
-    TParse* fp = new (ELeave) TParse();
-    fp->Set( KCoUtlResourceFile, &KDC_RESOURCE_FILES_DIR, NULL ); 
-    TFileName fileName( fp->FullName() );
-    delete fp;
-    User::LeaveIfError( iResourceLoader.Open( fileName ) );
-
-    iActive = new (ELeave) CCoUtlActive;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlImplementation::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CCoUtlImplementation* CCoUtlImplementation::NewL()
-    {
-    if ( !CCoeEnv::Static() )
-        {
-        // CONE must exist - use only from applications
-        User::Leave( KErrNotSupported ); 
-        }
-
-    CCoUtlImplementation* self = new( ELeave ) CCoUtlImplementation;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlImplementation::~CCoUtlImplementation
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CCoUtlImplementation::~CCoUtlImplementation()
-    {
-    delete iActive;
-    iResourceLoader.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlImplementation::CurrentState
-// -----------------------------------------------------------------------------
-//
-CCoUtlInterface::TState CCoUtlImplementation::CurrentState()
-    {
-    CCoUtlInterface::TState result = CCoUtlInterface::EIdle;
-
-    switch ( iActive->CurrentState() )
-        {
-        case CCoUtlActive::EStarted:
-        case CCoUtlActive::ECheckIfAttached:
-        case CCoUtlActive::ECheckIfNetworkModeIII:
-        case CCoUtlActive::EGetConnectionCount:
-        case CCoUtlActive::EGoThroughConnections:
-        case CCoUtlActive::EGoThroughConnectionsGetBearer:
-        case CCoUtlActive::EGoThroughConnectionsGetStatus:
-        case CCoUtlActive::ECheckConnectionCount:
-        case CCoUtlActive::EGetNameThenConfirmTermination:
-        case CCoUtlActive::EConfirmAllConnectionsTermination:
-            result = CCoUtlInterface::EConfirm;
-            break;
-
-        case CCoUtlActive::ECheckDetachRequired:
-        case CCoUtlActive::EStopConnectionsAndDetach:
-        case CCoUtlActive::EStopConnectionsAndCheckDetachRequired:
-        case CCoUtlActive::EDetach:
-            result = CCoUtlInterface::ETerminate;
-            break;
- 
-        case CCoUtlActive::EIdle:
-        default:
-            break;
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlImplementation::Terminate
-// -----------------------------------------------------------------------------
-//
-void CCoUtlImplementation::Terminate( TRequestStatus& aStatus )
-    {
-    if ( !iActive->IsActive() )
-    	{
-    	iActive->Start( aStatus );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-// CCoUtlImplementation::Cancel
-// -----------------------------------------------------------------------------
-//
-void CCoUtlImplementation::Cancel()
-    {
-    iActive->Cancel();
-    }
-
-//  End of File  
--- a/phoneuis/ConnectUtil/src/CoUtlMain.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Global functions for Connection utility.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    <ecom.h>
-#include    <implementationproxy.h>
-#include    <CoUtlInterface.hrh>
-#include    "CCoUtlImplementation.h"
-
-// CONSTANTS
-
-// Holds implementation table.
-const TImplementationProxy KCoUtlImplementationTable[] =
-    {
-        IMPLEMENTATION_PROXY_ENTRY(
-             KCoUtlImplementationUid, 
-            CCoUtlImplementation::NewL )
-    };
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Returns implementation table and updates aTableCount parameter to hold
-// amount of elements in table.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-    {
-    aTableCount = 
-        sizeof( KCoUtlImplementationTable ) / 
-        sizeof( TImplementationProxy );
-
-    return KCoUtlImplementationTable;
-    }
-
-//  End of File  
--- a/phoneuis/TelephonyDeviceMode/group/TelephonyDeviceMode.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/group/TelephonyDeviceMode.mmp	Fri Mar 19 09:28:42 2010 +0200
@@ -29,9 +29,9 @@
 SOURCEPATH      ../src
 SOURCE          CTelDMHandlerImpl.cpp
 SOURCE          CTelDMGripHandler.cpp
-SOURCE			CTelDMCallStateListener.cpp
-SOURCE			CTelDMCommandHandler.cpp
-SOURCE 			CTelDMAudioAccessoryListener.cpp
+SOURCE          CTelDMCallStateListener.cpp
+SOURCE          CTelDMCommandHandler.cpp
+SOURCE          CTelDMAudioAccessoryListener.cpp
     
 USERINCLUDE     ../inc
 APP_LAYER_SYSTEMINCLUDE
--- a/phoneuis/TelephonyDeviceMode/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -22,13 +22,13 @@
 
 PRJ_EXPORTS
 
-telephonydevicemode_stub.SIS   /epoc32/data/z/system/install/telephonydevicemode_stub.sis
+telephonydevicemode_stub.SIS   /epoc32/data/z/system/install/telephonydevicemode_stub.SIS
 
 // IBY files
 ../rom/telephonydevicemode.iby      CORE_APP_LAYER_IBY_EXPORT_PATH(telephonydevicemode.iby)
  
 PRJ_MMPFILES
-../group/TelephonyDeviceMode.mmp
+../Group/TelephonyDeviceMode.mmp
 
 
 //  End of File  
--- a/phoneuis/TelephonyDeviceMode/inc/CTelDMAudioAccessoryListener.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/inc/CTelDMAudioAccessoryListener.h	Fri Mar 19 09:28:42 2010 +0200
@@ -35,8 +35,8 @@
 * @since 3.1
 */
 NONSHARABLE_CLASS( CTelDMAudioAccessoryListener ): public CBase,
-						  public MTelDMAccessory,
-						  public MTelephonyAudioRoutingObserver
+                          public MTelDMAccessory,
+                          public MTelephonyAudioRoutingObserver
     {
     public: // constructor & destructor
 
@@ -54,24 +54,24 @@
         /**
         * See MTelDMAccessory
         */
-		TBool IsAccessoryAttached();
-		
-		/**
-		* See MTelDMAccessory
-		*/
-		TBool IsAnyActiveAccessory();
-	
-	public: //from 	MTelephonyAudioRoutingObserver 
-	
-		void AvailableOutputsChanged( CTelephonyAudioRouting& 
-												aTelephonyAudioRouting);
-		
-		void OutputChanged( CTelephonyAudioRouting& 
-										aTelephonyAudioRouting);
-		
-		void SetOutputComplete( CTelephonyAudioRouting& 
-											aTelephonyAudioRouting, 
-											TInt aError); 
+        TBool IsAccessoryAttached();
+        
+        /**
+        * See MTelDMAccessory
+        */
+        TBool IsAnyActiveAccessory();
+    
+    public: //from  MTelephonyAudioRoutingObserver 
+    
+        void AvailableOutputsChanged( CTelephonyAudioRouting& 
+                                                aTelephonyAudioRouting);
+        
+        void OutputChanged( CTelephonyAudioRouting& 
+                                        aTelephonyAudioRouting);
+        
+        void SetOutputComplete( CTelephonyAudioRouting& 
+                                            aTelephonyAudioRouting, 
+                                            TInt aError); 
     private: // Constructor
         
         /** c++ constructor */
@@ -83,7 +83,7 @@
         
     private: 
     
-    	// Array of available outputs         
+        // Array of available outputs         
         RArray<CTelephonyAudioRouting::TAudioOutput> iOutputArray;
         
         // Current accessory mode.
--- a/phoneuis/TelephonyDeviceMode/inc/CTelDMCallStateListener.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/inc/CTelDMCallStateListener.h	Fri Mar 19 09:28:42 2010 +0200
@@ -53,8 +53,8 @@
    
     public:
    
-   		void AddObserverL( MTelDMCallStateObserver& aCallStateObserver );
-   		
+        void AddObserverL( MTelDMCallStateObserver& aCallStateObserver );
+        
     private: // from CActive
    
         /**
@@ -92,11 +92,11 @@
     private:
         // Owned Publish & Subscribe instance.
         RProperty iProperty;
-		
-		// Call state
-		TInt iCallState;
-		
-		// Call State Change Observer array.
+        
+        // Call state
+        TInt iCallState;
+        
+        // Call State Change Observer array.
         RPointerArray< MTelDMCallStateObserver > iObserverArray;
     };
  
--- a/phoneuis/TelephonyDeviceMode/inc/CTelDMCommandHandler.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/inc/CTelDMCommandHandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -23,7 +23,7 @@
 
 #include    <e32base.h>
 #include    <aknkeylock.h>  
-#include 	"MTelDMCallStateObserver.h"
+#include    "MTelDMCallStateObserver.h"
 
 // FORWARD DECLARATIONS
 
@@ -40,7 +40,7 @@
 * @since 3.1
 */
 NONSHARABLE_CLASS( CTelDMCommandHandler ): public CBase,
-							public MTelDMCallStateObserver
+                            public MTelDMCallStateObserver
     {
     public: // constructor & destructor
 
@@ -48,66 +48,66 @@
         * Two phase constructor 
         */
         static CTelDMCommandHandler* NewL( MPhoneDeviceModeObserver& aCallHandler, 
-        									MTelDMAccessory& aAccessory );
+                                            MTelDMAccessory& aAccessory );
 
         // Destructor
         virtual ~CTelDMCommandHandler();
 
-	public: 
-	
-		enum TCommands
-			{
-			EGripOpen,
-			EGripClose
-			};
-	
-		void HandleCommand( TCommands aCommand );
-		
-	public: // from MTelDMCallStateObserver
-		
-		/** See MTelDMCallStateObserver.h */
-		void CallStateChangedL( TInt aCallState );
-	
-	
+    public: 
+    
+        enum TCommands
+            {
+            EGripOpen,
+            EGripClose
+            };
+    
+        void HandleCommand( TCommands aCommand );
+        
+    public: // from MTelDMCallStateObserver
+        
+        /** See MTelDMCallStateObserver.h */
+        void CallStateChangedL( TInt aCallState );
+    
+    
     private: // Constructor
         
         /** c++ constructor */
         CTelDMCommandHandler( MPhoneDeviceModeObserver& aCallHandler, 
-        						MTelDMAccessory& aAccessory );
+                                MTelDMAccessory& aAccessory );
 
         /** 2nd phase constructor */
         void ConstructL();
         
     private:
     
-    	/**
-    	* Ends calls
-    	*/
-    	void EndCalls();
-    	
-    	/**
-    	* Offer key lock query.
-    	*/
-    	void OfferKeyLock();
-    	
+        /**
+        * Ends calls
+        */
+        void EndCalls();
+        
+        /**
+        * Offer key lock query.
+        */
+        void OfferKeyLock();
+        
         /**
         * Check emergency call
         * @return status of emergency call
         */
-    	TBool IsEmergencyCall() const;
+        TBool IsEmergencyCall() const;
         
-    	/**
+        /**
         * Check soft reject
         * @return status of soft reject operation
         */
-    	TBool IsSoftRejectOngoing() const;
+        TBool IsSoftRejectOngoing() const;
         
     private: 
     
-    	// Reference to device mode observer
-		MPhoneDeviceModeObserver& iCallHandler;
-		
-		// Reference to accessory listene
+        // Reference to device mode observer
+        MPhoneDeviceModeObserver& iCallHandler;
+        
+        // Reference to accessory listene
         MTelDMAccessory& iAccessory; 
         
         // For keypad locking.
--- a/phoneuis/TelephonyDeviceMode/inc/CTelDMDebug.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/inc/CTelDMDebug.h	Fri Mar 19 09:28:42 2010 +0200
@@ -22,7 +22,7 @@
 
 #ifdef _DEBUG
 // ===========================================================================
-	              // RDebug logging for target HW
+                  // RDebug logging for target HW
 // ===========================================================================
 #include <e32svr.h>
 
--- a/phoneuis/TelephonyDeviceMode/inc/CTelDMHandlerImpl.h	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/inc/CTelDMHandlerImpl.h	Fri Mar 19 09:28:42 2010 +0200
@@ -82,7 +82,7 @@
         /**
         * Accessory status, Owned 
         */
- 		CTelDMAudioAccessoryListener* iAccessory;
+        CTelDMAudioAccessoryListener* iAccessory;
          
         /**
         * Call state listener, Owned 
@@ -91,8 +91,8 @@
 
         /**
         * Commander, Owned 
-        */		
-		CTelDMCommandHandler* iCommandHandler;
+        */      
+        CTelDMCommandHandler* iCommandHandler;
 
     };
 
--- a/phoneuis/TelephonyDeviceMode/src/CTelDMAudioAccessoryListener.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/src/CTelDMAudioAccessoryListener.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -18,8 +18,8 @@
 
 //  INCLUDE FILES
 #include    "CTelDMAudioAccessoryListener.h"               // this
-#include	"CTelDMDebug.h"
-#include	<TelephonyAudioRouting.h>
+#include    "CTelDMDebug.h"
+#include    <TelephonyAudioRouting.h>
 
 //  CONSTANTS
 
@@ -48,9 +48,9 @@
 CTelDMAudioAccessoryListener::~CTelDMAudioAccessoryListener( )
     {
     FLOG( _L( "CTelDMAudioAccessoryListener::~CTelDMAudioAccessoryListener()" ) )
-	delete iAudioRouting;
-	iOutputArray.Reset();
-	iOutputArray.Close();
+    delete iAudioRouting;
+    iOutputArray.Reset();
+    iOutputArray.Close();
     }
     
 // -----------------------------------------------------------------------------
@@ -59,7 +59,7 @@
 // -----------------------------------------------------------------------------
 //
 CTelDMAudioAccessoryListener::CTelDMAudioAccessoryListener( ):
-					iIsActiveAccessory ( EFalse )
+                    iIsActiveAccessory ( EFalse )
     {
     }
 
@@ -71,7 +71,7 @@
 void CTelDMAudioAccessoryListener::ConstructL()
     {
     FLOG( _L( "CTelDMAudioAccessoryListener::ConstructL<" ) )
-	// Audio route handler 
+    // Audio route handler 
     iAudioRouting = CTelephonyAudioRouting::NewL( *this );
     FLOG( _L( "CTelDMAudioAccessoryListener::ConstructL>" ) )
     }
@@ -83,73 +83,73 @@
 // -----------------------------------------------------------------------------
 //
 void CTelDMAudioAccessoryListener::AvailableOutputsChanged( CTelephonyAudioRouting& 
-											aTelephonyAudioRouting )
-	{
-	FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged<" ) )
-	iOutputArray.Reset();
+                                            aTelephonyAudioRouting )
+    {
+    FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged<" ) )
+    iOutputArray.Reset();
         
     TArray<CTelephonyAudioRouting::TAudioOutput> availableOutputs 
-    						= aTelephonyAudioRouting.AvailableOutputs();
+                            = aTelephonyAudioRouting.AvailableOutputs();
     
     // Stores available output
     for ( TInt i=0; i< availableOutputs.Count();i++ )
         {
         iOutputArray.Append( availableOutputs[i] );
         }
-	
-	FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged>" ) )	
-	}
+    
+    FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged>" ) )  
+    }
 // -----------------------------------------------------------------------------
 // CTelDMAudioAccessoryListener::OutputChanged
 //
 // -----------------------------------------------------------------------------
-//	
+//  
 void CTelDMAudioAccessoryListener::OutputChanged( CTelephonyAudioRouting& 
-									aTelephonyAudioRouting)
-	{
-	FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged<" ) )
-	CTelephonyAudioRouting::TAudioOutput output = aTelephonyAudioRouting.Output();
-	
-	    switch ( output )
+                                    aTelephonyAudioRouting)
+    {
+    FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged<" ) )
+    CTelephonyAudioRouting::TAudioOutput output = aTelephonyAudioRouting.Output();
+    
+        switch ( output )
         {
         // No active outputs available
         case CTelephonyAudioRouting::ENone:
-			iIsActiveAccessory = EFalse;
+            iIsActiveAccessory = EFalse;
+            break;
+        case CTelephonyAudioRouting::EHandset:
+            iIsActiveAccessory = EFalse;
+            break;
+        case CTelephonyAudioRouting::ELoudspeaker:
+            iIsActiveAccessory = EFalse;
             break;
- 		case CTelephonyAudioRouting::EHandset:
-			iIsActiveAccessory = EFalse;
- 		    break;
-		case CTelephonyAudioRouting::ELoudspeaker:
-			iIsActiveAccessory = EFalse;
-   		    break;
-   		// Active outputs available
-		case CTelephonyAudioRouting::EWiredAudioAccessory:
-			iIsActiveAccessory = ETrue;
- 		    break;
-		case CTelephonyAudioRouting::EBTAudioAccessory:
-			iIsActiveAccessory = ETrue;
- 		    break;
-      	case CTelephonyAudioRouting::ETTY:
-			iIsActiveAccessory = ETrue;
-        	break; 		    
-       	default:
+        // Active outputs available
+        case CTelephonyAudioRouting::EWiredAudioAccessory:
+            iIsActiveAccessory = ETrue;
+            break;
+        case CTelephonyAudioRouting::EBTAudioAccessory:
+            iIsActiveAccessory = ETrue;
+            break;
+        case CTelephonyAudioRouting::ETTY:
+            iIsActiveAccessory = ETrue;
+            break;          
+        default:
             break;     
         }
     FTRACE( FPrint( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged =%d"), 
-    														iIsActiveAccessory ))
-	FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged>" ) )
-	}
+                                                            iIsActiveAccessory ))
+    FLOG( _L( "CTelDMAudioAccessoryListener::AvailableOutputsChanged>" ) )
+    }
 // -----------------------------------------------------------------------------
 // CTelDMAudioAccessoryListener::SetOutputComplete
 //
 // -----------------------------------------------------------------------------
-//	
+//  
 void CTelDMAudioAccessoryListener::SetOutputComplete( CTelephonyAudioRouting& 
-										/*aTelephonyAudioRouting*/, 
-										TInt /*aError*/)
-	{
-	
-	}
+                                        /*aTelephonyAudioRouting*/, 
+                                        TInt /*aError*/)
+    {
+    
+    }
 
 // -----------------------------------------------------------------------------
 // CTelDMAudioAccessoryListener::IsAnyActiveAccessory
@@ -157,11 +157,11 @@
 // -----------------------------------------------------------------------------
 //
 TBool CTelDMAudioAccessoryListener::IsAnyActiveAccessory()
-	{
-	FTRACE( FPrint( _L( "CTelDMAudioAccessoryListener::IsAnyActiveAccessory =%d"), 
-    														iIsActiveAccessory ))
-	return iIsActiveAccessory;
-	}
+    {
+    FTRACE( FPrint( _L( "CTelDMAudioAccessoryListener::IsAnyActiveAccessory =%d"), 
+                                                            iIsActiveAccessory ))
+    return iIsActiveAccessory;
+    }
 
 // -----------------------------------------------------------------------------
 // CTelDMAudioAccessoryListener::IsAccessoryAttached
@@ -170,21 +170,21 @@
 //
 TBool CTelDMAudioAccessoryListener::IsAccessoryAttached()
     {
-    			
+                
     TBool accessroryAttached = EFalse;
     
     for ( TInt i=0; i < iOutputArray.Count();i++ )
         {
         if ( iOutputArray[i] == CTelephonyAudioRouting::EWiredAudioAccessory ||
-        	 iOutputArray[i] == CTelephonyAudioRouting::EBTAudioAccessory ||
-        	 iOutputArray[i] == CTelephonyAudioRouting::ETTY )
+             iOutputArray[i] == CTelephonyAudioRouting::EBTAudioAccessory ||
+             iOutputArray[i] == CTelephonyAudioRouting::ETTY )
             {
             accessroryAttached = ETrue;
             break;                
             } 
         }
     FTRACE( FPrint( _L( "CTelDMAudioAccessoryListener::IsAccessoryAttached =%d"), 
-    														accessroryAttached ))
+                                                            accessroryAttached ))
     return accessroryAttached;
     }
     
--- a/phoneuis/TelephonyDeviceMode/src/CTelDMCallStateListener.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/src/CTelDMCallStateListener.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -19,8 +19,8 @@
 
 // INCLUDE FILES
 #include    "CTelDMCallStateListener.h"
-#include 	"MTelDMCallStateObserver.h"
-#include	"MTelDMAccessory.h" 
+#include    "MTelDMCallStateObserver.h"
+#include    "MTelDMAccessory.h"
 
 #include    <ctsydomainpskeys.h>
 
@@ -78,7 +78,7 @@
     {
     /// Attach to key. Start listening call state changes.
     iProperty.Attach( KPSUidCtsyCallInformation, KCTsyCallState );
-    IssueRequest();                   		      
+    IssueRequest();                               
       
     }
  
@@ -92,14 +92,14 @@
     TInt err( KErrNone );
     iCallState = KErrNone;
     err = RProperty::Get( KPSUidCtsyCallInformation, 
-    						KCTsyCallState,
-        					iCallState );
+                            KCTsyCallState,
+                            iCallState );
     if ( err == KErrNone )
-        { 					
-	    for ( TInt i = 0; i < iObserverArray.Count(); i++ ) 
-		    {
-		    TRAP_IGNORE( iObserverArray[ i ]->CallStateChangedL(iCallState) );
-		    }
+        {                   
+        for ( TInt i = 0; i < iObserverArray.Count(); i++ ) 
+            {
+            TRAP_IGNORE( iObserverArray[ i ]->CallStateChangedL(iCallState) );
+            }
         }
     } 
   
@@ -146,7 +146,7 @@
 // 
 // -----------------------------------------------------------------------------
 void CTelDMCallStateListener::AddObserverL( MTelDMCallStateObserver& 
-															aCallStateObserver )
+                                                            aCallStateObserver )
     {
     if ( iObserverArray.Find( &aCallStateObserver ) != KErrNone )
         {
--- a/phoneuis/TelephonyDeviceMode/src/CTelDMCommandHandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/src/CTelDMCommandHandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -24,9 +24,9 @@
 #include    <ctsydomainpskeys.h>
 
 #include    "CTelDMCommandHandler.h"
-#include	"CTelDMCallStateListener.h"
-#include	"MTelDMAccessory.h"
-#include	"CTelDMDebug.h"
+#include    "CTelDMCallStateListener.h"
+#include    "MTelDMAccessory.h"
+#include    "CTelDMDebug.h"
 #include     <coreapplicationuisdomainpskeys.h>
 
 // MODULE DATA STRUCTURES
@@ -39,12 +39,12 @@
 // -----------------------------------------------------------------------------
 //  
 CTelDMCommandHandler* CTelDMCommandHandler::NewL( 
-									MPhoneDeviceModeObserver& aCallHandler, 
-        							MTelDMAccessory& aAccessory ) 
+                                    MPhoneDeviceModeObserver& aCallHandler, 
+                                    MTelDMAccessory& aAccessory ) 
     {
     CTelDMCommandHandler* self =
         new ( ELeave ) CTelDMCommandHandler( aCallHandler, 
-        										aAccessory );
+                                                aAccessory );
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop( self );
@@ -58,8 +58,8 @@
 // -----------------------------------------------------------------------------
 //
 CTelDMCommandHandler::CTelDMCommandHandler( 
-									MPhoneDeviceModeObserver& aCallHandler, 
-        							MTelDMAccessory& aAccessory ):
+                                    MPhoneDeviceModeObserver& aCallHandler, 
+                                    MTelDMAccessory& aAccessory ):
     iCallHandler( aCallHandler ),
     iAccessory ( aAccessory ),
     iGripOpen ( EFalse ),
@@ -84,7 +84,7 @@
 //    
 void CTelDMCommandHandler::ConstructL()
     { 
-    User::LeaveIfError( iKeyLock.Connect() );                		      
+    User::LeaveIfError( iKeyLock.Connect() );                             
     }
 
 // -----------------------------------------------------------------------------
@@ -93,49 +93,49 @@
 // -----------------------------------------------------------------------------
 //    
 void CTelDMCommandHandler::CallStateChangedL( TInt aCallState )
-	{
-	FLOG( _L( "CTelDMCommandHandler::CallStateChanged<" ) )
-	FTRACE( FPrint( _L( "CTelDMCommandHandler::CallStateChangedL.aCallState=%d"), 
-    															aCallState ))
-    iCallState = aCallState;															
+    {
+    FLOG( _L( "CTelDMCommandHandler::CallStateChanged<" ) )
+    FTRACE( FPrint( _L( "CTelDMCommandHandler::CallStateChangedL.aCallState=%d"), 
+                                                                aCallState ))
+    iCallState = aCallState;                                                            
     switch( aCallState )
         {  
         // Arriving call                    
         case EPSCTsyCallStateRinging: 
-        	FLOG( _L( "CTelDMCommandHandler::CallStateChanged.Ringing" ) )
+            FLOG( _L( "CTelDMCommandHandler::CallStateChanged.Ringing" ) )
             RProperty::Set( KPSUidCoreApplicationUIs,
                             KCoreAppUIsSoftReject,
                             ECoreAppUIsSoftRejectUninitialized );
-			iGripOpenOnRingingState = iGripOpen;
-			break;
-		// Answered
+            iGripOpenOnRingingState = iGripOpen;
+            break;
+        // Answered
         case EPSCTsyCallStateConnected:  
-        	{	
-        	FLOG( _L( "CTelDMCommandHandler::CallStateChanged.Connected" ) )
-        	if ( iGripOpenOnRingingState )
-        		{
-        		OfferKeyLock();	
-        		}
-        	
-        	// Clear the flag.
-        	iGripOpenOnRingingState = EFalse;
-        	}
-        	break;
+            {   
+            FLOG( _L( "CTelDMCommandHandler::CallStateChanged.Connected" ) )
+            if ( iGripOpenOnRingingState )
+                {
+                OfferKeyLock(); 
+                }
+            
+            // Clear the flag.
+            iGripOpenOnRingingState = EFalse;
+            }
+            break;
         // Disconnected 
-       	case EPSCTsyCallStateNone:
-       		{
-       		FLOG( _L( "CTelDMCommandHandler::CallStateChanged.None" ) )
-       		if ( iGripOpenOnRingingState )
-        		{
-        		OfferKeyLock();	
-        		}    		
-       		}
-       		break; 
+        case EPSCTsyCallStateNone:
+            {
+            FLOG( _L( "CTelDMCommandHandler::CallStateChanged.None" ) )
+            if ( iGripOpenOnRingingState )
+                {
+                OfferKeyLock(); 
+                }           
+            }
+            break; 
         default:
             break;
         }     
-   	FLOG( _L( "CTelDMCommandHandler::CallStateChanged>" ) )  
-	}
+    FLOG( _L( "CTelDMCommandHandler::CallStateChanged>" ) )  
+    }
 // -----------------------------------------------------------------------------
 // CTelDMCommandHandler::HandleEvent
 // 
@@ -147,27 +147,27 @@
     switch( aCommand )
         {                      
         case EGripOpen:
-        	{
-        	FLOG( _L( "CTelDMCommandHandler::HandleCommand.Open" ) ) 
-        	iGripOpen = ETrue;
-        	if ( !IsSoftRejectOngoing() )
-        	    {
-        	    iCallHandler.Answer();
-        	    }
-        	}
-			break;
-		// Do not end calls if accessory is connected. 
+            {
+            FLOG( _L( "CTelDMCommandHandler::HandleCommand.Open" ) ) 
+            iGripOpen = ETrue;
+            if ( !IsSoftRejectOngoing() )
+                {
+                iCallHandler.Answer();
+                }
+            }
+            break;
+        // Do not end calls if accessory is connected. 
         case EGripClose:
-        	{
-        	FLOG( _L( "CTelDMCommandHandler::HandleCommand.Close" ) ) 
-        	iGripOpen = EFalse;
-        	EndCalls();
-        	break;
-        	}
+            {
+            FLOG( _L( "CTelDMCommandHandler::HandleCommand.Close" ) ) 
+            iGripOpen = EFalse;
+            EndCalls();
+            break;
+            }
         default:
             break;
         }  
-   	FLOG( _L( "CTelDMCommandHandler::HandleCommand>" ) )      
+    FLOG( _L( "CTelDMCommandHandler::HandleCommand>" ) )      
     }
     
 // -----------------------------------------------------------------------------
@@ -177,24 +177,24 @@
 //    
 void CTelDMCommandHandler::EndCalls()
 
-	{
-	if ( IsEmergencyCall() )
-	    {
-	    // None
-	    }
-	else if ( iAccessory.IsAccessoryAttached()  &&
-		      !iAccessory.IsAnyActiveAccessory() &&
-		      iCallState == EPSCTsyCallStateConnected )
-		{
-		FLOG( _L( "CTelDMCommandHandler::EndCalls#1" ) )
-		iCallHandler.EndVoiceCalls();
-		}
-	else if ( !iAccessory.IsAccessoryAttached() )
-		{
-		FLOG( _L( "CTelDMCommandHandler::EndCalls#2" ) )
-		iCallHandler.EndVoiceCalls();
-		}
-	}
+    {
+    if ( IsEmergencyCall() )
+        {
+        // None
+        }
+    else if ( iAccessory.IsAccessoryAttached()  &&
+              !iAccessory.IsAnyActiveAccessory() &&
+              iCallState == EPSCTsyCallStateConnected )
+        {
+        FLOG( _L( "CTelDMCommandHandler::EndCalls#1" ) )
+        iCallHandler.EndVoiceCalls();
+        }
+    else if ( !iAccessory.IsAccessoryAttached() )
+        {
+        FLOG( _L( "CTelDMCommandHandler::EndCalls#2" ) )
+        iCallHandler.EndVoiceCalls();
+        }
+    }
 // -----------------------------------------------------------------------------
 // CTelDMCommandHandler::OfferKeyLock
 //
@@ -204,17 +204,17 @@
 
     {
     //- AudioAccessory attached (BT headset, Wired headset etc.)
-	//- Arriving call and grip open.  
-	//- Call terminated or answered  
-	//-> KeyLock query is shown if not locked   	
+    //- Arriving call and grip open.  
+    //- Call terminated or answered  
+    //-> KeyLock query is shown if not locked       
     if ( iAccessory.IsAccessoryAttached() && 
-        							   !iGripOpen && 
-        							   !iKeyLock.IsKeyLockEnabled() )
-		{
-		FLOG( _L( "CTelDMCommandHandler::CallStateChanged -lock?" ) ) 
-		//Lock keypad ?
-		iKeyLock.OfferKeyLock();
-		}  
+                                       !iGripOpen && 
+                                       !iKeyLock.IsKeyLockEnabled() )
+        {
+        FLOG( _L( "CTelDMCommandHandler::CallStateChanged -lock?" ) ) 
+        //Lock keypad ?
+        iKeyLock.OfferKeyLock();
+        }  
     }
 
 // ---------------------------------------------------------
--- a/phoneuis/TelephonyDeviceMode/src/CTelDMGripHandler.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/src/CTelDMGripHandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -22,8 +22,8 @@
 #include    <mphonedevicemodeobserver.h>
 #include    <hwrmdomainpskeys.h>
 #include    "CTelDMGripHandler.h"
-#include	"MTelDMAccessory.h" 
-#include	"CTelDMCommandHandler.h"
+#include    "MTelDMAccessory.h"
+#include    "CTelDMCommandHandler.h"
 #include    <settingsinternalcrkeys.h>
 #include    <centralrepository.h>
 
@@ -80,7 +80,7 @@
     {    
     /// Attach to key. Start listening for changes.
     iProperty.Attach( KPSUidHWRM, KHWRMGripStatus );
-    IssueRequest();                   		      
+    IssueRequest();                               
     }
  
 // -----------------------------------------------------------------------------
--- a/phoneuis/TelephonyDeviceMode/src/CTelDMHandlerImpl.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/TelephonyDeviceMode/src/CTelDMHandlerImpl.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -23,10 +23,10 @@
 #include    <telinternalpskeys.h>
 #include    "CTelDMHandlerImpl.h"
 #include    "CTelDMGripHandler.h"
-#include 	"CTelDMCommandHandler.h"
-#include 	"CTelDMCallStateListener.h"
-#include	"CTelDMAudioAccessoryListener.h"
-#include	"CTelDMDebug.h"
+#include    "CTelDMCommandHandler.h"
+#include    "CTelDMCallStateListener.h"
+#include    "CTelDMAudioAccessoryListener.h"
+#include    "CTelDMDebug.h"
  
 // MODULE DATA STRUCTURES
 
@@ -85,19 +85,19 @@
 void CTelDMHandlerImpl::SetObserverL( MPhoneDeviceModeObserver* aCallHandler )
     {
     // Default
-   	RProperty::Set( 
-   		KPSUidTelAudioPreference,
+    RProperty::Set( 
+        KPSUidTelAudioPreference,
         KTelAudioOutput,
         EPSAudioPrivate );                
                         
     if ( !FeatureManager::FeatureSupported( KFeatureIdKeypadNoSlider ) )
         {
-      	iCallStateListener = CTelDMCallStateListener::NewL();
- 		iAccessory = CTelDMAudioAccessoryListener::NewL();
- 		// Disconnects and answers to calls 
+        iCallStateListener = CTelDMCallStateListener::NewL();
+        iAccessory = CTelDMAudioAccessoryListener::NewL();
+        // Disconnects and answers to calls 
         iCommandHandler = CTelDMCommandHandler::NewL( 
-        									*aCallHandler, 
-        									*iAccessory );
+                                            *aCallHandler, 
+                                            *iAccessory );
 
         iCallStateListener->AddObserverL( *iCommandHandler );
         
--- a/phoneuis/Ussd/aif/UssdAif.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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:  RSS for creating the aif file for Ussd.
-*
-*/
-
-
-
-//  INCLUDES
-#include <aiftool.rh>
-
-
-//  RESOURCE DEFINITIONS 
-
-// -----------------------------------------------------------------------------
-//   
-// AIF_DATA
-// Resource for AIF.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AIF_DATA
-    {
-    app_uid = 0x10005955;
-    num_icons = 2;
-    hidden=KAppIsHidden;
-    }
-
-// End of File
--- a/phoneuis/Ussd/data/Ussd.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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 ussd.
-;
-; Languages
-&EN
-
-; Header
-#{"Ussd"}, (0x10005955), 10, 1, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files to install
-"\epoc32\release\armv5\urel\ussd.exe"-"z:\sys\bin\ussd.exe"
-"\epoc32\data\z\resource\apps\ussd.rsc"-"!:\resource\apps\ussd.rsc"
-"\epoc32\data\z\private\10003a3f\apps\ussd_reg.rsc"-"!:\private\10003a3f\import\apps\ussd_reg.rsc"
--- a/phoneuis/Ussd/data/Ussd_caption.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +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 file contains the resources of caption.
-*
-*/
-
-
-//  INCLUDES
-#include <apcaptionfile.rh>
-#include <ussd.loc>
-
-
-//  RESOURCE DEFINITIONS 
-
-
-// -----------------------------------------------------------------------------
-//   
-// CAPTION_DATA
-// Resource for Caption Data.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CAPTION_DATA
-    {
-    caption = qtn_apps_ussd_list;
-    shortcaption = qtn_apps_ussd_grid;
-    }
-
-
-// End of file
--- a/phoneuis/Ussd/data/Ussd_reg.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2004-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: Resource file for ussd.
-*
-*/
-
-#include <appinfo.rh>
-#include <ussd.rsg>
-#include <data_caging_paths_strings.hrh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x10005955 // Ussd UID
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "Ussd";
-    hidden = KAppIsHidden;
-
-    localisable_resource_file = APP_RESOURCE_DIR"//Ussd";
-    localisable_resource_id = R_USSD_LOCALISABLE_APP_INFO;
-    }
-
-// End of File
--- a/phoneuis/Ussd/data/Ussd_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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 ussd stub.
-;
-; Languages
-&EN
-
-; Header
-#{"Ussd"}, (0x10005955), 10, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files to install
-""-"z:\sys\bin\ussd.exe"
-""-"z:\resource\apps\ussd.rsc"
-""-"z:\private\10003a3f\import\apps\ussd_reg.rsc"
--- a/phoneuis/Ussd/data/ussd.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +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 file contains all the resources for the module.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    USSD // 4 letter ID
-
-//  INCLUDES
-#include <eikon.rh>
-#include "ussd.hrh"
-#include <ussd.loc>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.loc>
-
-#include <bldvariant.hrh> 
-#include <data_caging_paths_strings.hrh>
-#include <appinfo.rh>
-
-//  RESOURCE DEFINITIONS 
-
-//----------------------------------------------------
-//   
-//    
-//    RSS signature.
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-
-//----------------------------------------------------
-//   
-//    
-//    Name of the buffer.
-//----------------------------------------------------
-//
-RESOURCE TBUF { buf = qtn_apps_ussd_grid; }
-
-
-//----------------------------------------------------
-//   
-//    
-//    Application information.
-//----------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_ussd_menubar;
-    cba = r_ussd_softkeys_options_exit_options;
-
-    status_pane = r_status_pane;
-    }
-
-RESOURCE LOCALISABLE_APP_INFO r_ussd_localisable_app_info
-    {
-    short_caption = qtn_apps_ussd_grid;
-    caption_and_icon = 
-        CAPTION_AND_ICON_INFO
-        {
-        caption = qtn_apps_ussd_list;
-#ifdef __SCALABLE_ICONS
-        number_of_icons = 1;
-        icon_file = "Z:"APP_RESOURCE_DIR"\\Ussd_aif.mif";
-#else
-        number_of_icons = 2;
-        icon_file = "Z:"APP_RESOURCE_DIR"\\Ussd_aif.mbm";
-#endif // __SCALABLE_ICONS
-        };
-    }
-
-
-//----------------------------------------------------
-//   
-//    r_ussd_menubar
-//    Empty menubar. With this edit menu will be generated.
-//----------------------------------------------------
-//
-RESOURCE MENU_BAR r_ussd_menubar
-    {
-    titles=
-        {
-        MENU_TITLE { menu_pane = r_ussd_menu; }
-        };
-    }
-
-
-//----------------------------------------------------
-//   
-//    r_ussd_menu
-//    Menu items
-//    
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_ussd_menu
-    {
-    items=
-        {
-        MENU_ITEM { command = EUssdMenuItemSend; txt = qtn_ussd_editor_send; },
-        MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; },
-        MENU_ITEM { command = EAknCmdExit; txt = qtn_options_exit; }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_ussd_softkeys_options_exit_send_options
-//    Softkeys for application when there is no text in editor
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_ussd_softkeys_options_exit_options
-    {
-    buttons =
-        {
-        CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option;},
-        CBA_BUTTON { id = EAknSoftkeyExit; txt = text_softkey_exit; },
-        CBA_BUTTON { id = EAknSoftkeyEmpty; txt = text_softkey_empty;}
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_ussd_softkeys_send_exit
-//    Softkeys for application when there is some text in editor
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_ussd_softkeys_send_exit
-    {
-    buttons =
-        {
-        CBA_BUTTON { id = EUssdSoftkeySend; txt = text_softkey_send; },
-        CBA_BUTTON { id = EAknSoftkeyExit; txt = text_softkey_exit; },
-        CBA_BUTTON { id = EAknSoftkeyEmpty; txt = text_softkey_empty;}
-        };
-    }
-
-
-//----------------------------------------------------
-//   
-//    r_status_pane
-//    Application statuspane
-//    Context pane image is defined in AIF.
-//----------------------------------------------------
-//
-
-RESOURCE STATUS_PANE_APP_MODEL r_status_pane
-    {
-    panes =
-        {
-        SPANE_PANE
-            {
-            id = EEikStatusPaneUidTitle;
-            type = EAknCtTitlePane;
-            resource = r_overridden_app_editor_name;
-            }
-        };
-    }
-
-
-// -----------------------------------------------------------------------------
-//   
-// r_overridden_app_editor_name
-// Title pane for r_status_pane.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_overridden_app_editor_name
-    {
-    txt = qtn_ussd_header;
-    }
-
-
-// -----------------------------------------------------------------------------
-//   
-// r_ussd_edwin_editor_elaf
-// The USSD editor in ELAF variant.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_CONFIG_EDWIN r_ussd_edwin_editor_elaf
-    {
-    editingSpace = 182;    // From LAF
-    editingWindow = 8;     // From LAF
-    characterCase = EAknEditorCharactersUpperCase;
-    justification = EAknEditorAlignLeft;
-    allowedToMoveInsertionPoint = 1;   // From LAF
-    cursorYesNo = 1;                   // From LAF
-    overflowYesNo = 0;                 // From LAF
-    }
-
-
-// -----------------------------------------------------------------------------
-//   
-// r_ussd_edwin_editor_apac
-// The USSD editor in APAC variant.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_CONFIG_EDWIN r_ussd_edwin_editor_apac
-    {
-    editingSpace = 182;    // From LAF
-    editingWindow = 7;     // From LAF
-    characterCase = EAknEditorCharactersUpperCase;
-    justification = EAknEditorAlignLeft;
-    allowedToMoveInsertionPoint = 1;   // From LAF
-    cursorYesNo = 1;                   // From LAF
-    overflowYesNo = 0;                 // From LAF
-    }
-
-
-            
-// End of File
Binary file phoneuis/Ussd/data/ussd_stub.SIS has changed
--- a/phoneuis/Ussd/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 provides the information required for building the 
-*                whole of a ussd.
-*
-*/
-
-#include  <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-//  Help exports
-#include "../help/group/bld.inf"
-
-PRJ_EXPORTS
-
-../data/ussd_stub.SIS       /epoc32/data/z/system/install/Ussd_stub.sis
-../rom/Ussd.iby             CORE_APP_LAYER_IBY_EXPORT_PATH(Ussd.iby)
-../rom/UssdResources.iby    LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(UssdResources.iby)
-../loc/ussd.loc             APP_LAYER_LOC_EXPORT_PATH(ussd.loc)
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  Option TARGETFILE ussd_aif.mif
-  OPTION SOURCES -c8,8 qgn_menu_ussd
-END
-
-PRJ_MMPFILES
-//gnumakefile ussd_icons_aif_scalable_dc.mk
-../group/ussd.mmp
-
-//  End of File  
--- a/phoneuis/Ussd/group/ussd.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This is project specification file for the ussd.
-*
-*/
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_APPLICATION NetworkControl
-// Assign Vendor ID.
-VENDORID VID_DEFAULT
-
-TARGET      ussd.exe
-TARGETTYPE  exe
-
-UID  0x100039CE 0x10005955
-
-START RESOURCE ../data/ussd.rss
-TARGETPATH  APP_RESOURCE_DIR
-HEADER
-LANGUAGE_IDS
-END  // RESOURCE
-
-SOURCEPATH ../src
-
-SOURCE    UssdApp.cpp 
-SOURCE    UssdAppUi.cpp
-SOURCE    UssdDocument.cpp
-SOURCE    UssdContainer.cpp
-SOURCE    UssdEditorLines.cpp
-SOURCE    UssdComms.cpp
-SOURCE    UssdLayout.cpp
-SOURCE    UssdNaviPane.cpp
-
-USERINCLUDE . ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../../inc
-
-LIBRARY    euser.lib 
-LIBRARY    apparc.lib
-LIBRARY    cone.lib
-LIBRARY    eikcore.lib
-LIBRARY    ws32.lib
-LIBRARY    eikcoctl.lib
-LIBRARY    avkon.lib
-LIBRARY    egul.lib 
-LIBRARY    phoneclient.lib
-LIBRARY    hlplch.lib // for "Help" options menu 
-LIBRARY    FeatMgr.lib
-LIBRARY    CdlEngine.lib
-LIBRARY    charconv.lib            // for detecting unicode chars
-LIBRARY    CommonEngine.lib
-
-LIBRARY     AknLayout2Scalable.lib
-LIBRARY    AknSkins.lib
-LIBRARY    etext.lib
-LIBRARY    CentralRepository.lib
-
-// ============================================================================
-// AIF
-// ============================================================================
-
-START RESOURCE ../data/Ussd_reg.rss
-DEPENDS ussd.rsg
-// Do not change the UID below.
-TARGETPATH /private/10003a3f/apps
-END
-
-// AIF
-
-// End of file
--- a/phoneuis/Ussd/group/ussd_icons_aif_bitmaps.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 2004-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: Make file for ussd icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\SYSTEM\APPS\Ussd
-ICONTARGETFILENAME=$(TARGETDIR)\ussd_aif.mbm
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_ussd_cxt.bmp \
-		/c8,8 qgn_menu_ussd_lst.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/Ussd/group/ussd_icons_aif_bitmaps_dc.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 2004-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: Make file for ussd icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\RESOURCE\APPS
-ICONTARGETFILENAME=$(TARGETDIR)\ussd_aif.mbm
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_ussd_lst.bmp \
-		/c8,8 qgn_menu_ussd_cxt.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/Ussd/group/ussd_icons_aif_scalable.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 2004-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: Make file for ussd icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\SYSTEM\APPS\Ussd
-ICONTARGETFILENAME=$(TARGETDIR)\ussd_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_ussd.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/Ussd/group/ussd_icons_aif_scalable_dc.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 2004-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: Make file for ussd icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\RESOURCE\APPS
-ICONTARGETFILENAME=$(TARGETDIR)\ussd_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_ussd.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
Binary file phoneuis/Ussd/help/data/xhtml.zip has changed
--- a/phoneuis/Ussd/help/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>				
-PRJ_EXPORTS
-:zip ../data/xhtml.zip   /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip   /epoc32/winscw/c/resource/ overwrite
-
-../inc/ussd.hlp.hrh	APP_LAYER_PLATFORM_EXPORT_PATH(csxhelp/ussd.hlp.hrh)
-../rom/ussdhelps_variant.iby		CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(ussdhelps_variant.iby)
--- a/phoneuis/Ussd/help/inc/ussd.hlp.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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:
-*
-*/
-	
-//
-// ussd.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __USSD_HLP_HRH__
-#define __USSD_HLP_HRH__
-
-_LIT(KUSSD_HLP_EDITOR, "USSD_HLP_EDITOR"); // 
-
-#endif 
\ No newline at end of file
--- a/phoneuis/Ussd/help/rom/ussdhelps_variant.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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: 
-*
-*/
-
-#ifndef __USSDHELPS_VARIANT_IBY__
-#define __USSDHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE) && defined(__USSD)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10005955\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x10005955\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10005955\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10005955\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10005955\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10005955\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10005955\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10005955\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- a/phoneuis/Ussd/inc/UssdApp.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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:  Declares main application class.
-*
-*/
-
-
-#ifndef USSDAPP_H
-#define USSDAPP_H
-
-// INCLUDES
-#include <aknapp.h>
-
-// CONSTANTS
-// UID of the application
-const TUid KUidussd = { 0x10005955 };
-
-
-// CLASS DECLARATION
-
-/**
-*  CUssdApp application class.
-*  Provides factory to create concrete document object.
-* 
-*  @since 1.0
-*/
-class CUssdApp : public CAknApplication
-    {
-    
-    private:
-
-        /**
-        * From CApaApplication, creates CUssdDocument document object.
-        * @return A pointer to the created document object.
-        */
-        CApaDocument* CreateDocumentL();
-        
-        /**
-        * From CApaApplication, returns application's UID (KUidussd).
-        * @return The value of KUidussd.
-        */
-        TUid AppDllUid() const;
-    };
-
-#endif
-
-// End of File
-
--- a/phoneuis/Ussd/inc/UssdAppUi.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +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:  Declares UI class for application.
-*
-*/
-
-
-#ifndef USSDAPPUI_H
-#define USSDAPPUI_H
-
-
-// INCLUDES
-#include <aknappui.h>
-#include <bldvariant.hrh> 
-
-// FORWARD DECLARATIONS
-class CUssdContainer;
-class CUssdComms;
-
-
-
-// CLASS DECLARATION
-
-/**
-*  Application UI class.
-*  Provides support for the following features:
-*  - EIKON control architecture
-* 
-*  @since 1.0
-*/
-class CUssdAppUi : public CAknAppUi
-    {
-
-    public: // Constructors and destructor
-
-        /**
-        * Symbian OS default constructor.
-        */      
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */      
-        ~CUssdAppUi();
-
-
-    public: // New functions
-
-        /**
-        * Set manu pane items.
-        * To be used only if help is defined, otherwise does nothing.
-        *
-        * @param aResourceId The resource ID.
-        * @param aMenuPane The menu pane.
-        */
-        void DynInitMenuPaneL( TInt aResourceId,CEikMenuPane* aMenuPane );
-
-        /**
-        * Set's left seftkey visible.
-        * To be used only when help not defined. Otherwise does nothing.
-        *
-        * @param aVisible ETrue if set visible.
-        */
-        void SetSoftkeySendVisibleL( TBool aVisible = ETrue );
-
-        
-    public: // Functions from base classes
-        /**
-        * From CEikAppUi, takes care of command handling.
-        * @param aCommand command to be handled
-        */
-        void HandleCommandL( TInt aCommand );
-
-        /**
-        * From CEikAppUi, handles resource changes.
-        * @param aType type of event.
-        */
-        virtual void HandleResourceChangeL( TInt aType );
-
-    private:
-
-        // From CAknAppUi
-        void HandleForegroundEventL(TBool aForeground);
-
-
-    private: //Data
-
-        // Object for sneding the string.
-        CUssdComms* iComms;
-
-        // Main "view".
-        CUssdContainer* iAppContainer;
-
-        // Current softkeys. Used only when help is not defined.
-        TInt iCbaResource;
-
-        // Is control added to stack.
-        TBool iIsAddedToStack;
-    };
-
-#endif
-
-// End of File
--- a/phoneuis/Ussd/inc/UssdComms.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Handles Ussd communications to the Phone Server.
-*
-*/
-
-
-#ifndef USSDCOMMS_H
-#define USSDCOMMS_H
-
-
-// INCLUDES
-#include <coemain.h>
-#include <CPhCltUssdInt.h>
-#include <PhCltTypes.h>
-
-
-// CONSTANTS
-const TInt KUssdEditorMaxLenght = 182;
-
-
-// FORWARD DECLARATIONS    
-class CPhCltUssd;
-
-
-// CLASS DECLARATION
-
-/**
-*  CUssdComms  
-*  Handles Ussd communications to the Phone Server.
-*
-*  @since 1.0
-*/
-class CUssdComms : public CBase  
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Two-phased constructor
-        */
-        static CUssdComms* NewL();
-     
-        /**
-        * Destructor.
-        */
-        ~CUssdComms();
-
-
-    public: // Member functions
-
-        /**
-        * Send created string
-        * 
-        * @param aString String to be sent.
-        * @return Error code
-        */
-        TInt SendString( const TDesC& aString );
-
-        /**
-        * Application to foreground
-        * 
-        * @return ETrue if editor needs clearing.
-        */
-        TBool InformAppForeground();
-
-        /**
-        * Application to background
-        */
-        void InformAppBackground();
-
-        /**
-        * Tell the reason why app was terminated.
-        */
-        void InformExitReason( TPhCltUssdAppExitReason aExitReason );
-
-
-    protected: // Constructor
-
-        // Default constructor
-        CUssdComms();
-
-        // 2nd phase constructor
-        void ConstructL();
-
-
-    private: // Data
-
-        // Sending Ussd, Inform ussd
-        CPhCltUssdInt* iUssdClientInt; 
-
-        // Ussd application exit reason.
-        TPhCltUssdAppExitReason  iExitReason;
-    };
-
-#endif // USSDCOMMS_H
-
-
-// End of File
--- a/phoneuis/Ussd/inc/UssdContainer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declares container control for application.
-*
-*/
-
-
-#ifndef USSDCONTAINER_H
-#define USSDCONTAINER_H
-
-
-// INCLUDES
-#include <coecntrl.h>
-#include <bldvariant.hrh>
-// Include file for MEikEdwinObserver
-#include <eikedwob.h>
-
-// FORWARD DECLARATIONS
-class CEikEdwin;
-class CUssdEditorLines;
-class CUssdAppUi;
-class CAknsBasicBackgroundControlContext;
-class CUssdNaviPane;
-
-
-// CLASS DECLARATION
-
-/**
-*  CUssdContainer
-*  Declares container control for application.
-*
-*  @since 1.0
-*/
-class CUssdContainer : public CCoeControl,
-                       public MEikEdwinObserver
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Constructor.
-        * @param aAppUi A reference to AppUI for container.
-        */
-        CUssdContainer( CUssdAppUi& aAppUi );
-
-
-        /**
-        * 2nd phase constructor
-        * @param aRect Frame rectangle for container.
-        */
-        void ConstructL( const TRect& aRect );
-
-        /**
-        * Destructor.
-        */
-        ~CUssdContainer();
-
-    public: // New functions
-
-        /**
-        * Gives editor.
-        * @return Reference to editor
-        */
-        CEikEdwin& Editor();
-
-    public: // Functions from base classes
-
-        /**
-        * From CoeControl,GetHelpContext.
-        * Does nothing if help is not defined.
-        */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-        /**
-        * From CoeControl, FocusChanged
-        */
-        void FocusChanged( TDrawNow aDrawNow );
-
-        /**
-        * Update the message length information to navipane
-        */
-        void UpdateNavipaneMsgLengthL();
-
-    private: // Functions from base classes
-
-        /**
-        * From CoeControl, SizeChanged.
-        */
-        void SizeChanged();
-
-        /**
-        * From CoeControl, CountComponentControls.
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl, ComponentControl.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * From CCoeControl, Draw.
-        */
-        void Draw( const TRect& aRect ) const;
-
-        /**
-        * From CCoeControl, OfferKeyEventL.
-        */
-        TKeyResponse OfferKeyEventL(
-            const TKeyEvent& aKeyEvent, TEventCode aType );
-
-        /**
-        * From CCoeControl, HandleResourceChange
-        */
-        void HandleResourceChange( TInt aType );
-
-        /**
-        * From CCoeControl, MopSupplyObject
-        */
-        TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-
-        /**
-        * Functions from MEikEdwinObserver, Handle editor event.
-        */
-        void HandleEdwinEventL( CEikEdwin* aEdwin, TEdwinEvent aEventType );
-
-    private: //new functions
-
-        // Creates edwin
-        CEikEdwin* CreateEdwinL();
-
-    private: //data
-
-        CUssdAppUi& iAppUi;       // Application UI
-        CEikEdwin* iEditor;       // The edit window.
-        CUssdEditorLines* iLines; // Application ine drawer
-
-        CAknsBasicBackgroundControlContext* iBgContext; // Skinning context.
-        // The navipane control handler
-        CUssdNaviPane*               iNaviPaneHandler;
-    };
-
-#endif // USSDCONTAINER_H
-
-// End of File
\ No newline at end of file
--- a/phoneuis/Ussd/inc/UssdDocument.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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:  Declares document for application.
-*
-*/
-
-
-#ifndef USSDDOCUMENT_H
-#define USSDDOCUMENT_H
-
-// INCLUDES
-#include <AknDoc.h>
-
-
-// FORWARD DECLARATIONS
-class  CEikAppUi;
-
-
-// CLASS DECLARATION
-
-/**
-*  CUssdDocument application class.
-*
-*  @since 1.0
-*/
-class CUssdDocument : public CAknDocument
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CUssdDocument* NewL( CEikApplication& aApp );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CUssdDocument();
-
-    private:
-
-        /**
-        * C++ constructor.
-        */
-        CUssdDocument( CEikApplication& aApp );
-
-    private:
-
-        /**
-        * From CEikDocument, create CUssdAppUi "App UI" object.
-        */
-        CEikAppUi* CreateAppUiL();
-    };
-
-#endif
-
-// End of File
-
--- a/phoneuis/Ussd/inc/UssdEditorLines.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declares window owning control for editor lines.
-*
-*/
-
-
-#ifndef USSDEDITORLINES_H
-#define USSDEDITORLINES_H
-
-// INCLUDES
-#include    <calslbs.h>
-#include    <aknview.h>
-#include    "UssdLayout.h"
-
-/**
-*  Declares window owning control for editor lines.
-*
-*  @since 1.0
-*/
-class CUssdEditorLines : public CCoeControl
-    {
-    public: // Constructors and destructor
-            
-        // Default constructor
-        CUssdEditorLines();
-
-        /**
-        * Symbian OS default constructor.
-        * @param aParent The parent control.
-        */
-        void ConstructL( const CCoeControl* aParent );
-
-        /**
-        * Destructor.
-        */
-        ~CUssdEditorLines();
-
-    private: // Functions from base classes
-
-       /**
-        * From CoeControl,SizeChanged.
-        */
-        void SizeChanged();
-
-       /**
-        * From CCoeControl,Draw.
-        */
-        void Draw( const TRect& aRect ) const;
-        
-        /**
-        * From CoeControl,HandlePointerEventL.
-        * Redirect pointer event to CEikEdwin.
-        */
-        void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
-    private: //data
-
-        // The line rectangles.
-        CArrayPtrFlat< TAknLayoutRect >*           iRects;
-
-        // Buffer for RRegion objects.
-        RRegionBuf< KUssdMaxNumberOfEditorLines >* iRegBuf;
-    
-    };
-
-#endif // USSDEDITORLINES_H
-
-// End of File
--- a/phoneuis/Ussd/inc/UssdLayout.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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:  Declares coordinates from LAF specification
-*
-*/
-
-
-#ifndef USSDLAF_H
-#define USSDLAF_H
-
-// INCLUDE FILES
-#include    <calslbs.h> 
-#include    <AknLayoutDef.h>
-
-
-// CONSTANTS
-
-// The maximum number of editor lines method NumberOfEditorLines can return.
-const TInt KUssdMaxNumberOfEditorLines = 16;
-
-/**
-* Layout coordinates from Application LAF
-*
-* @since 2.0
-*/
-class UssdLayout
-    {
-    public: // New functions
-
-        typedef TAknWindowLineLayout TWindowLineLayoutType;
-        typedef TAknMultiLineTextLayout TTextLineLayoutType;
-
-        /**
-        * Returns current Layout ID
-        * @since 2.0
-        * @return EAknLayoutIdELAF, EAknLayoutIdABRW, EAknLayoutIdAPAC
-        */
-        static TAknLayoutId CurrentLayout();
-
-        /**
-        * Get background image colour
-        * @since 2.0
-        * @return White colour
-        */ 
-        static TInt LayoutColourWhite();
-
-        /**
-        * Get number of editor lines
-        * @since 2.0
-        * @return Number of lines
-        */ 
-        static TInt NumberOfEditorLines();
-
-        /**
-        * One line coordinate definitions from LAF
-        * @since 2.0
-        * @param aLine Line number from 1 to NumberOfEditorLines()
-        * @return Current line coordinates
-        */ 
-        static TWindowLineLayoutType 
-            MessageWritingLayoutElements6( TInt aLine );
-
-        /**
-        * Editor coordinate definitions from LAF
-        * @since 2.0
-        * @return Editor coordinates
-        */ 
-        static TTextLineLayoutType MessageWritingTexts3();
-
-    };
-
-#endif
-
-// End of File
-
--- a/phoneuis/Ussd/inc/UssdNaviPane.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declares container control for application.
-*
-*/
-
-
-#ifndef USSDNAVIPANE_H
-#define USSDNAVIPANE_H
-
-
-// INCLUDES
-#include <coecntrl.h>
-    
-
-// FORWARD DECLARATIONS
-class CUssdAppUi;
-class CAknNaviLabel;
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-class CCnvCharacterSetConverter;
-
-
-// CLASS DECLARATION
-
-/**
-*  CUssdNaviPane
-*  Declares navi pane control for application.
-*  @since 2.8.
-*
-*/
-class CUssdNaviPane : public CCoeControl
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Constructor.
-        * @param aAppUi A reference to AppUI for container.
-        */
-        CUssdNaviPane( CUssdAppUi& aAppUi );
-
-        /**
-        * Two-phased constructor.
-        * @param aAppUi A reference to AppUI for container.
-        */
-        static CUssdNaviPane*  NewL( CUssdAppUi& aAppUi );
-        
-        /**
-        * 2nd phase constructor
-        *  
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        ~CUssdNaviPane();
-
-    public: // New functions
-
-        /**
-        * Update the message length information to navipane
-        * @param aInputString Reference to a string to be checked
-        * @param aControl for handling backspace key event
-        * @return Updated value of maximum size of string
-        */
-        TInt UpdateMsgLengthL( 
-            const TDesC& aInputString,
-            CCoeControl* aControl );
-
-    public: // Functions from base classes
-
-        
-    private: // Functions from base classes
-
- 
-    private: //new functions
-                
-        /**
-        * Creates an extra navi label. It is needed so that the msg length
-        * won't dissapear when the focus is on the picture of a picture msg.
-        */
-        void CreateExtraNaviLabelL();
-        
-        /**
-        * Checks if there are any unicode characters in the message
-        * @param aInputString Reference to a string to be checked
-        * @return ETrue whether we have unicode chars otherwise EFalse
-        */
-        TBool NeedsToBeSentAsUnicodeL( const TDesC& aInputString ) const;
-        
-        /**
-        * Counts if there are 7bit extended table characters in message 
-        * (see more info from ETSI 03.38)
-        * @param aInputString Reference to chars to be checked
-        * @return amount of extended table chars
-        */
-        TInt CountExtendedTableChars( const TDesC& aInputString ) const;
-
-        /**
-        * Generates a backspace key press event.
-        * @param aControl Reference to control class
-        */
-        void GenerateBackSpaceKeyL(CCoeControl* aControl);
-       
-         
-    private: //data
-
-        // Application UI.
-        CUssdAppUi&                         iAppUi;
-
-         // Char converter.
-        CCnvCharacterSetConverter*          iCharacterSetConverter;
-
-        // The navipane decorator.
-        CAknNavigationDecorator*            iNaviDecorator;
-
-        // The navipane label.
-        CAknNaviLabel*                      iNaviLabel;
-
-        // The navipane control container.
-        CAknNavigationControlContainer*     iNaviPane;
-        
-        
-
-    };
-
-#endif // USSDNAVIPANE_H
-
-// End of File
--- a/phoneuis/Ussd/inc/UssdVariant.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* 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:  Local variation flags for Ussd
- *
-*/
-
-
-#ifndef __USSDVARIANT_HRH__
-#define __USSDVARIANT_HRH__
-
-/**
-* User's guide to Local Ussd variation:
-* Shared data file: KSDUidUssdLV (10005955.ini)
-* Keyword KUssdUILV1:
-* How to use: 
-*     TInt featureBitmask = 0;
-*     if ( sharedDataClient.Assign( KSDUidUssdLV ) == KErrNone )
-*         {
-*         if ( sharedDataClient.GetInt( 
-*             KUssdUILV1, featureBitmask ) != KErrNone )
-*             {
-*             // if problems reading shared data, assume everything is off.
-*             featureBitmask = 0;
-*             } 
-*         }
-* 
-*     //
-*     // Get the value once and save it for later use.
-*     // No need always to access shared data every time when a value is needed
-* 
-*     if  ( featureBitmask & KUssdFeatureIdRemainingChars )
-*         {
-*         // This feature is ON, so act accordingly
-*         }
-*/
-
-/**
-* Shared data KSDUidUssdLV
-* Keyword KUssdUILV1: R-RemChars
-* If KUssdUILV1 is on, Ussd shows number of remaining characters 
-*/
-#define KUssdFeatureIdRemainingChars 0x01
-
-#endif // __USSDVARIANT_HRH__
-
-// End of File
--- a/phoneuis/Ussd/inc/ussd.hlp.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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 file contains declarations for resources of ussd help.
-*
-*/
-
-
-
-#ifndef __USSD_HLP_HRH__
-#define __USSD_HLP_HRH__
-
-
-// DATA TYPES
-
-_LIT(KUSSD_HLP_EDITOR,"USSD_HLP_EDITOR"); // Service command editor
-_LIT(KUSSD_HLP_VIEWER,"USSD_HLP_VIEWER"); // Network initiated USSD operation
-
-#endif
--- a/phoneuis/Ussd/inc/ussd.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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 file contains declarations for resources of ussd.
-*                The file can be included in C++ or resource file.
-*
-*/
-
-
-#ifndef USSD_HRH
-#define USSD_HRH
-
-// Contains the menu "Send" id.
-enum TUssdMenuItems
-    {
-    EUssdMenuItemSend = 6000
-    };
-
-// Contains the softkey "Send" id.
-enum TUssdSoftkeys
-    {
-    EUssdSoftkeySend = 6100
-    };
-
-
-#endif      //  USSD_HRH
-
-// End of File
--- a/phoneuis/Ussd/loc/ussd.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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 file contains the localised strings for Ussd.
-*
-*/
-
-
-
-//  LOCALISATION STRINGS
-
-//d:Name in application grid form
-//l:cell_app_pane_t1
-//
-#define qtn_apps_ussd_grid             "Ussd"
-
-
-//d:Name in applicaton list form
-//l:list_single_large_graphic_pane_t1
-//
-#define qtn_apps_ussd_list             "Ussd"
-
-
-//d:Text in Ussd editor title pane
-//l:title_pane_t2/opt9
-//
-#define qtn_ussd_header "Service command editor"
-
-
-//d:Left softkey in application.
-//l:control_pane_t1/opt7
-//
-#define text_softkey_send "Send"
-
-
-//d: Options menu item for sending the written Ussd string to the network.
-//l: list_single_pane_t1_cp2
-//
-#define qtn_ussd_editor_send "Send"
-
-
-// End of File
--- a/phoneuis/Ussd/rom/Ussd.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Ussd's iby definitions.
- *
-*/
-
-#ifndef __USSDAPP_IBY__
-#define __USSDAPP_IBY__
-
-#ifdef __USSD
-
-file=ABI_DIR\BUILD_DIR\USSD.EXE             PROGRAMS_DIR\Ussd.exe
-
-data=ZSYSTEM\install\Ussd_stub.sis    		  System\Install\Ussd_stub.sis
-S60_APP_AIF_ICONS(Ussd)
-S60_APP_AIF_RSC(Ussd)
-#endif
-
-#endif // __USSDAPP_IBY__
-
-// End Of File.
-
--- a/phoneuis/Ussd/rom/UssdResources.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Ussd resources' iby definitions.
- *
-*/
-
-#ifndef __USSD_RESOURCES_IBY__
-#define __USSD_RESOURCES_IBY__
-
-REM Resource file(s) for Ussd application (ussd.iby)
-
-#ifdef __USSD
-S60_APP_RESOURCE(ussd) 
-S60_APP_CAPTION(ussd)
-#endif
-
-#endif
\ No newline at end of file
--- a/phoneuis/Ussd/src/UssdApp.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +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:  Declares main application class.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "UssdApp.h"
-#include    "UssdDocument.h"
-#include 	<eikstart.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CUssdApp::AppDllUid()
-// Returns application UID
-// -----------------------------------------------------------------------------
-//
-TUid CUssdApp::AppDllUid() const
-    {
-    return KUidussd;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdApp::CreateDocumentL()
-// Creates CUssdDocument object
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CUssdApp::CreateDocumentL()
-    {
-    return CUssdDocument::NewL(*this);
-    }
-
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// NewApplication() 
-// Constructs CUssdApp
-// Returns: CApaDocument*: created application object
-// -----------------------------------------------------------------------------
-//
-LOCAL_C CApaApplication* NewApplication()
-    {
-    return new CUssdApp;
-    }
-
-// -----------------------------------------------------------------------------
-// E32Main implements
-// 
-// It is called when executable is started. 
-//
-// Returns: error code.
-// -----------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
-// End of File
--- a/phoneuis/Ussd/src/UssdAppUi.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,278 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Application UI class
-*
-*/
-
-
-// INCLUDE FILES
-#include "UssdAppUi.h"
-#include "UssdContainer.h"
-#include "UssdComms.h"
-#include <ussd.rsg>
-#include <avkon.rsg>
-#include "ussd.hrh"
-#include <eikmenub.h>
-#include <eikedwin.h>
-#include <avkon.hrh>
-#include <bldvariant.hrh>
-#include <featmgr.h>
-
-#include <AknDef.h>
-#include <hlplch.h>   // For HlpLauncher
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::ConstructL
-// Creates all members
-// -----------------------------------------------------------------------------
-void CUssdAppUi::ConstructL()
-    {
-    // Sets up TLS, must be done before FeatureManager is used in USSD.
-    FeatureManager::InitializeLibL();
-
-    BaseConstructL(
-        EAknEnableSkin | EAknEnableMSK
-        );
-
-    // Softkeys at start:
-    // With HELP: Options-Exit (defined in the resource file, default)
-    // Without HELP: <empty>-Exit
-    if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-        {
-        // Feature not supported, set correct softkeys.
-        Cba()->SetCommandSetL( R_AVKON_SOFTKEYS_EXIT );
-        iCbaResource = R_AVKON_SOFTKEYS_EXIT;
-        Cba()->DrawNow();
-        }
-
-    iComms = CUssdComms::NewL();
-
-    iAppContainer = new( ELeave ) CUssdContainer( *this );
-    iAppContainer->SetMopParent( this );
-    iAppContainer->ConstructL( ClientRect() );
-    AddToStackL( iAppContainer );
-    iIsAddedToStack = ETrue;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::~CUssdAppUi
-// Destructor
-// Frees reserved resources
-// -----------------------------------------------------------------------------
-CUssdAppUi::~CUssdAppUi()
-    {
-    if ( iIsAddedToStack )
-        {
-        RemoveFromStack( iAppContainer );
-        }
-
-    delete iAppContainer;
-    iAppContainer = NULL;
-
-    delete iComms;
-    iComms = NULL;
-
-    // Frees the TLS! Must be done after FeatureManager is used.
-    FeatureManager::UnInitializeLib();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::HandleCommandL
-// Handle commands from the user.
-// -----------------------------------------------------------------------------
-void CUssdAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EAknCmdExit:
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-        case EAknSoftkeyBack:
-            {
-            iComms->InformExitReason( EPhCltUserExit );
-            Exit();
-            break;
-            }
-
-        case EUssdMenuItemSend:
-        case EUssdSoftkeySend:
-            {
-            // Send string and exit the application
-            HBufC* buffer = iAppContainer->Editor().GetTextInHBufL();
-            __ASSERT_DEBUG(
-                buffer->Length() <= KUssdEditorMaxLenght ,
-                User::Invariant() );
-
-            if  ( buffer->Length() &&
-                  buffer->Length() <= KUssdEditorMaxLenght &&
-                  KErrNone == iComms->SendString( buffer->Des() ) )
-                {
-                iComms->InformExitReason( EPhCltSendCompleted );
-                Exit();                
-                }         
-
-            delete buffer;
-            break;
-            }
-
-        case EAknCmdHelp:
-            {
-            if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-                {
-                 // Feature supported, launch the help application.
-                HlpLauncher::LaunchHelpApplicationL(
-                    iEikonEnv->WsSession(), AppHelpContextL() );
-                }
-            break;
-            }
-
-        default:
-            break;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::HandleResourceChangeL
-// -----------------------------------------------------------------------------
-void CUssdAppUi::HandleResourceChangeL( TInt aType )
-    {
-    CAknAppUi::HandleResourceChangeL( aType );
-
-    if( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        iAppContainer->SetRect( ClientRect() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::HandleForegroundEventL
-// Handle foreground event.
-// -----------------------------------------------------------------------------
-void CUssdAppUi::HandleForegroundEventL( TBool aForeground )
-    {
-    if ( iComms )
-        {
-        if ( aForeground )
-            {
-            // If app comes to foreground, we must know is the
-            // editor needs clearing.
-            if ( iComms->InformAppForeground() ) // ret ETrue if needs clearing
-                {
-                if ( iAppContainer )
-                    {
-                    iAppContainer->Editor().SetCursorPosL( 0, EFalse );
-                    iAppContainer->Editor().Text()->Reset();
-                    iAppContainer->Editor().HandleTextChangedL();
-
-                    if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-                        {
-                        SetSoftkeySendVisibleL( EFalse );
-                        }
-
-                    }
-                }
-            }
-        else
-            {
-            iComms->InformAppBackground();
-            }
-        }
-
-    // Refresh message character counter
-    if( aForeground && iAppContainer )
-        {
-        iAppContainer->UpdateNavipaneMsgLengthL();
-        }
-    
-    CAknAppUi::HandleForegroundEventL( aForeground );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::DynInitMenuPaneL
-// Set's Send option visible.
-//
-// If HELP is defined, the Options menu item 'Send' is removed if
-// the editor is empty. If it is not defined, the left softkey is 'Send' or
-// <empty>.
-// -----------------------------------------------------------------------------
-void CUssdAppUi::DynInitMenuPaneL(
-    TInt aResourceId,
-    CEikMenuPane* aMenuPane )
-    {
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-        {
-        if ( aResourceId == R_USSD_MENU )
-            {
-            if ( aMenuPane )
-                {
-                aMenuPane->SetItemDimmed(
-                    EUssdMenuItemSend,
-                    iAppContainer->Editor().TextLength() == 0 );
-                }
-            // If aMenuPane == NULL, do nothing.
-            }
-
-        // If aResourceId != R_USSD_MENU, do nothing
-        }
-
-    // If help not defined, do nothing
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::SetSofkeySendVisibleL
-// Sets Send softkey (in)visible.
-// -----------------------------------------------------------------------------
-void CUssdAppUi::SetSoftkeySendVisibleL(
-    TBool aVisible )
-    {
-    if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-        {
-        // Help not defined
-        TInt newResource;
-
-        if ( aVisible )
-            {
-            if ( iCbaResource == R_USSD_SOFTKEYS_SEND_EXIT )
-                {
-                return; // Send is already visible
-                }
-            newResource = R_USSD_SOFTKEYS_SEND_EXIT; // change it
-            }
-        else
-            {
-            if ( iCbaResource == R_AVKON_SOFTKEYS_EXIT )
-                {
-                return; // Send is already invisible
-                }
-            newResource = R_AVKON_SOFTKEYS_EXIT; // change it.
-            }
-
-        // Update Softkeys
-        Cba()->SetCommandSetL( newResource );
-        iCbaResource = newResource;
-        Cba()->DrawNow();
-        }
-
-    // If help defined, do nothing.
-    }
-
-// End of File
--- a/phoneuis/Ussd/src/UssdComms.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Handles Ussd communications to the Phone Server.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "UssdComms.h"
-#include <CPhCltUssd.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CUssdComms::CUssdComms
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CUssdComms::CUssdComms()
-:   iExitReason( EPhCltExitReasonUnknown )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CUssdComms::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CUssdComms* CUssdComms::NewL()
-    {
-    CUssdComms* self = new( ELeave ) CUssdComms();    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdComms::ConstructL
-// Symbian 2nd phase constructor can leave.
-// 
-// -----------------------------------------------------------------------------
-//
-void CUssdComms::ConstructL()
-    {
-    iUssdClientInt = CPhCltUssdInt::NewL();
-    User::LeaveIfError( iUssdClientInt->AppStarting() );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdComms::~CUssdComms
-// Destructor.
-// 
-// -----------------------------------------------------------------------------
-//
-CUssdComms::~CUssdComms()
-    {
-    //disconnect from server. No need to check SubSessionHandles.
-
-    // Inform the exit reason.
-    // If send completed, then the USSD session is not canceled in server side,
-    // to ensure reply possibility to possible network request.
-    
-    if( iUssdClientInt )
-        {
-        iUssdClientInt->AppTerminating( iExitReason ); 
-        }
-    delete iUssdClientInt;  
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::SendString
-// Sends given string to network via phone client.
-//
-// -----------------------------------------------------------------------------
-TInt CUssdComms::SendString( const TDesC& aString )
-    {
-    return iUssdClientInt->SendUssd( aString );
-    }
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::InformAppForeground
-// Informs the server that app is on foreground.
-//
-// -----------------------------------------------------------------------------
-TBool CUssdComms::InformAppForeground()
-    {
-    return iUssdClientInt->AppToForeground();
-    }
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::InformAppBackground
-// Informs the Server that app in on background
-//
-// -----------------------------------------------------------------------------
-void CUssdComms::InformAppBackground()
-    {
-    iUssdClientInt->AppToBackground();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdAppUi::InformExitReason
-// 
-// Inform the reason why app was terminated.
-// -----------------------------------------------------------------------------
-void CUssdComms::InformExitReason( TPhCltUssdAppExitReason aExitReason )
-    {
-    iExitReason = aExitReason;
-    }
-
-
-// End of File
--- a/phoneuis/Ussd/src/UssdContainer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,513 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*             Declares container control for application.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "UssdComms.h"
-#include    "UssdNaviPane.h"
-#include    "UssdAppUi.h"
-#include    "UssdContainer.h"
-#include    "UssdEditorLines.h"
-#include    <ussd.rsg>
-#include    "UssdLayout.h"
-#include    <aknkeys.h>
-#include    "ussd.hrh"
-#include    <eikedwin.h>
-#include    <bldvariant.hrh>
-#include    <featmgr.h>
-
-#include    <centralrepository.h>
-#include    <telinternalcrkeys.h>
-#include    "telephonyvariant.hrh"
-
-#include <csxhelp/ussd.hlp.hrh>  // for help context
-#include    "UssdApp.h" // for applicationUID
-#include    <AknUtils.h>
-
-// For skinning.
-#include    <AknsBasicBackgroundControlContext.h>
-#include    <AknsDrawUtils.h>
-#include    <AknsUtils.h>
-#include    <txtglobl.h>
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::CUssdContainer
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CUssdContainer::CUssdContainer( CUssdAppUi& aAppUi ): iAppUi( aAppUi )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CUssdContainer::ConstructL( const TRect& aRect )
-    {
-    CreateWindowL();
-
-    // Create background control context for skins.
-    iBgContext = CAknsBasicBackgroundControlContext::NewL(
-        KAknsIIDQsnBgAreaMainMessage, aRect, ETrue /*Parent absolute*/ );
-
-    // Create editor
-    iEditor = CreateEdwinL();
-
-    // Lines
-    iLines = new ( ELeave ) CUssdEditorLines;
-    iLines->ConstructL( this );
-
-    TInt featureBitmask( 0 );
-
-    // Connecting and initialization KCRUidTelVariation
-    CRepository* repository = CRepository::NewL( KCRUidTelVariation );
-    CleanupStack::PushL( repository );
-
-    // Get the value from Central Repository
-    repository->Get( KTelVariationFlags, featureBitmask );
-    if ( featureBitmask & KTelephonyLVFlagUssdUIRemainingChars )
-        {
-        iNaviPaneHandler = CUssdNaviPane::NewL( iAppUi );
-        }
-
-    CleanupStack::PopAndDestroy( repository );
-
-    // Finish the job
-    SetRect( aRect );
-    ActivateL();
-
-    iEditor->SetFocus( ETrue );
-    }
-
-
-// Destructor
-CUssdContainer::~CUssdContainer()
-    {
-    delete iLines;
-
-    AknsUtils::DeregisterControlPosition( iEditor );
-    delete iEditor;
-    delete iNaviPaneHandler;
-
-    delete iBgContext; // For skinning, can be deleted, NULL if not exist.
-    }
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::HandleEdwinEventL
-// Called by framework when the Editor is changed
-//
-// -----------------------------------------------------------------------------
-//
-void CUssdContainer::HandleEdwinEventL( CEikEdwin* /*aEdwin*/,
-        TEdwinEvent aEventType )
-    {
-     switch( aEventType )
-         {
-         case EEventTextUpdate:
-             {
-             UpdateNavipaneMsgLengthL();
-             break;
-             }
-         default:
-             break;
-         }
-    }
-    
-// -----------------------------------------------------------------------------
-// CUssdContainer::SizeChanged
-// Called by framework when the view size is changed
-//
-// -----------------------------------------------------------------------------
-//
-void CUssdContainer::SizeChanged()
-    {
-    // Backgroud context
-    iBgContext->SetParentPos( PositionRelativeToScreen() );
-    iBgContext->SetRect( Rect() ) ;
-    // Edwin
-    AknLayoutUtils::LayoutEdwin(
-        iEditor,
-        Rect(),
-        UssdLayout::MessageWritingTexts3() );
-
-    // We need to make some room for scrollbar to fit
-    // so the editor must be narrowed down a bit.
-
-    TAknLayoutId layout = UssdLayout::CurrentLayout();
-    TRect sbr = iEditor->ScrollBarFrame()->VerticalScrollBar()->Rect();
-
-    if( layout != EAknLayoutIdABRW )
-        {
-        TPoint editorTLPoint(Rect().iTl.iX, iEditor->Rect().iTl.iY);
-
-        iEditor->SetExtent( editorTLPoint ,
-                    TSize( Rect().Width() - sbr.Width(), sbr.Height() ) );
-        }
-    else // right to left layout
-        {
-        TPoint editorTLPoint( ( Rect().iTl.iX + sbr.Width() ),
-                                iEditor->Rect().iTl.iY);
-
-        iEditor->SetExtent( editorTLPoint ,
-                            TSize( Rect().Width() - sbr.Width(),
-                            sbr.Height() ) );
-        }
-
-    TRAP_IGNORE( UpdateNavipaneMsgLengthL() );
-
-    // overwite inputmode in portraitmode
-    if ( Rect().Height() > Rect().Width() )
-        {
-        iEditor->SetAknEditorCurrentInputMode( EAknEditorNumericInputMode );
-        }
-
-    // Change the colour of the edwin if needed
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    if ( skin )
-        {
-        TRgb color;
-        TInt error = AknsUtils::GetCachedColor(
-            skin,
-            color,
-            KAknsIIDQsnTextColors,
-            EAknsCIQsnTextColorsCG6 );
-
-        if ( error == KErrNone )
-            {
-            TCharFormat charFormat;
-            TCharFormatMask charFormatMask;
-            ( reinterpret_cast< CGlobalText* >( iEditor->Text() ) )
-                ->GetCharFormat( charFormat, charFormatMask, 0, 0 );
-
-            charFormat.iFontPresentation.iTextColor = color;
-            charFormatMask.SetAll();
-
-            CCharFormatLayer* charFormatLayer = NULL;
-
-            TRAP( error, charFormatLayer =
-                CCharFormatLayer::NewL( charFormat,charFormatMask ) );
-
-            if ( !error )
-                {
-                iEditor->SetCharFormatLayer( charFormatLayer );
-                }
-            }
-        }
-
-    // Set editor lines
-    iLines->SetRect( Rect() );
-
-    AknsUtils::RegisterControlPosition( iEditor );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::CountComponentControls
-//
-//
-// -----------------------------------------------------------------------------
-//
-TInt CUssdContainer::CountComponentControls() const
-    {
-    return 2; // editor and lines
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::ComponentControl
-//
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CUssdContainer::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iEditor;
-        case 1:
-            return iLines;
-        default:
-            return NULL;
-        }
-
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::Draw
-//
-// -----------------------------------------------------------------------------
-//
-void CUssdContainer::Draw( const TRect& aRect ) const
-    {
-    CWindowGc& gc = SystemGc();
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    if ( iBgContext )
-        {
-        AknsDrawUtils::Background(
-            skin, iBgContext, this, gc, aRect);
-        }
-    else
-        {
-        // Otherwise clear the area
-        gc.SetBrushColor( AKN_LAF_COLOR( UssdLayout::LayoutColourWhite() ) );
-        DrawUtils::ClearBetweenRects( gc, aRect, iEditor->Rect() );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CUssdContainer::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-
-    // Special key handling comes first.
-    if ( aKeyEvent.iScanCode == EStdKeyYes ) // Send key.
-        {
-        // The reason that the send key is handled via TStdScanCode rather than TKeyCode is that
-        // we also have to be able to catch EEventKeyUp and EEventKeyDown key events in addition
-        // to EEventKey. This is because TKeyEvent::iCode is always 0 when TEventCode is EEventKey.
-        if ( iEditor->TextLength() )
-            {
-            if ( aType == EEventKey )
-                {
-                if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-                    {
-                    iAppUi.HandleCommandL( EUssdMenuItemSend );
-                    }
-                else
-                    {
-                    iAppUi.HandleCommandL( EUssdSoftkeySend );
-                    }
-                }
-            response = EKeyWasConsumed; // Dialer should not be launched when the USSD string exists and send key is used.
-            }
-        }
-    else if ( aKeyEvent.iCode == EKeyEscape )
-        {
-        iAppUi.HandleCommandL( EAknSoftkeyExit );
-        response = EKeyWasConsumed;
-        }
-    else // Default keys are handled here.
-        {
-        response = iEditor->OfferKeyEventL( aKeyEvent, aType );
-
-        if ( aType == EEventKey || aType == EEventKeyUp )
-            {
-            UpdateNavipaneMsgLengthL();
-            }
-
-        if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
-            // Change softkeys if needed.
-            iAppUi.SetSoftkeySendVisibleL( iEditor->TextLength() != 0 );
-            }
-
-            iAppUi.Cba()->SetCommandSetL( R_USSD_SOFTKEYS_OPTIONS_EXIT_OPTIONS );
-            iAppUi.Cba()->DrawNow();
-        }
-
-    return response;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::Editor
-// Give editor
-// -----------------------------------------------------------------------------
-//
-CEikEdwin& CUssdContainer::Editor()
-    {
-    return *iEditor;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::FocusChanged
-//
-// -----------------------------------------------------------------------------
-//
-void CUssdContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    iEditor->SetFocus( IsFocused(), aDrawNow );
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::GetHelpContext
-// This function is called when Help application is launched.
-//
-// -----------------------------------------------------------------------------
-//
-void CUssdContainer::GetHelpContext(
-    TCoeHelpContext& aContext ) const
-    {
-    // If help defined.
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-        {
-        aContext.iMajor = KUidussd;
-        aContext.iContext = KUSSD_HLP_EDITOR;
-        }
-
-    // If help not defined, do nothing
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::HandleResourceChange
-// This function is called when Help application is launched.
-//
-// -----------------------------------------------------------------------------
-//
-void CUssdContainer::HandleResourceChange( TInt aType )
-    {
-    switch ( aType )
-        {
-        case KEikColorResourceChange:
-        case KAknsMessageSkinChange:
-            {
-            SizeChanged();
-            DrawDeferred();
-            break;
-            }
-
-        default:
-            {
-            CCoeControl::HandleResourceChange( aType );
-            }
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::MopSupplyObject
-//
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CUssdContainer::MopSupplyObject( TTypeUid aId )
-    {
-    if ( aId.iUid == MAknsControlContext::ETypeId )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdContainer::CreateEdwinL
-// Creates new edwin
-//
-// -----------------------------------------------------------------------------
-//
-CEikEdwin* CUssdContainer::CreateEdwinL()
-    {
-    CEikEdwin* newEditor = new ( ELeave ) CEikEdwin;
-    CleanupStack::PushL( newEditor );
-    newEditor->SetContainerWindowL( *this );
-    //Set the editor observer
-    newEditor->SetEdwinObserver( this );
-    
-    newEditor->SetAknEditorAllowedInputModes(
-        EAknEditorNumericInputMode | EAknEditorTextInputMode );
-    newEditor->SetAknEditorInputMode( EAknEditorNumericInputMode );
-    newEditor->SetAknEditorNumericKeymap( EAknEditorStandardNumberModeKeymap );
-
-    TInt editorFlags = EAknEditorFlagNoT9 | EAknEditorFlagEnableScrollBars;
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdJapanese ) )
-        {
-        editorFlags |= EAknEditorFlagLatinInputModesOnly;
-        }
-
-     if( FeatureManager::FeatureSupported( KFeatureIdPenSupport ) )
-        {
-        editorFlags |= EAknEditorFlagDeliverVirtualKeyEventsToApplication;
-        }
-
-    newEditor->SetAknEditorFlags( editorFlags );
-
-    // Get the layout, i.e. variant.
-    EVariantFlag variant = AknLayoutUtils::Variant();
-
-    // According to layout, construct the editor.
-    if ( variant == EApacVariant )
-        {
-        // APAC variant
-        AknEditUtils::ConstructEditingL( newEditor , R_USSD_EDWIN_EDITOR_APAC );
-        }
-    else
-        {
-        // EEuropeanVariant (includes ABRW)
-        AknEditUtils::ConstructEditingL( newEditor , R_USSD_EDWIN_EDITOR_ELAF );
-        }
-
-    CleanupStack::Pop( newEditor );
-    return newEditor;
-    }
-
-// ---------------------------------------------------------
-// CUssdContainer::UpdateNavipaneMsgLengthL
-// ---------------------------------------------------------
-void CUssdContainer::UpdateNavipaneMsgLengthL()
-    {
-
-    if ( iNaviPaneHandler )
-        {
-
-        TInt maxLen=0;
-        TBuf<KUssdEditorMaxLenght> inputTexts;
-
-        iEditor->GetText( inputTexts );
-
-        maxLen = iNaviPaneHandler->UpdateMsgLengthL( inputTexts, this );
-
-        // if pasted more than 91 chinese characters then it must be
-        // cutted and set correct message length in navi pane
-        if ( inputTexts.Length() > maxLen )
-            {
-            inputTexts.Copy( inputTexts.Left( maxLen ) );
-            iEditor->SetTextL( &inputTexts );
-            iNaviPaneHandler->UpdateMsgLengthL( inputTexts, this );
-            iEditor->DrawNow();
-            iEditor->SetCursorPosL( maxLen, EFalse );
-            }
-
-        iEditor->SetMaxLength( maxLen );
-
-        }
-
-    }
-
-// End of File
--- a/phoneuis/Ussd/src/UssdDocument.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  USSD application document functionality. 
-*
-*/
-
-
-// INCLUDE FILES
-#include "UssdDocument.h"
-#include "UssdAppUi.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CUssdDocument::CUssdDocument
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CUssdDocument::CUssdDocument( CEikApplication& aApp )
-    : CAknDocument( aApp )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdDocument::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CUssdDocument* CUssdDocument::NewL(
-    CEikApplication& aApp )     // CUssdApp reference
-    {
-    CUssdDocument* self = new ( ELeave ) CUssdDocument(aApp);
-    return self;
-    }
-
-    
-// Destructor
-CUssdDocument::~CUssdDocument()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdDocument::CreateAppUiL()
-// constructs CUssdAppUi
-//
-// -----------------------------------------------------------------------------
-CEikAppUi* CUssdDocument::CreateAppUiL()
-    {
-    return new(ELeave) CUssdAppUi;
-    }
-
-
-// End of File  
--- a/phoneuis/Ussd/src/UssdEditorLines.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declares window owning control for editor lines.
-*
-*/
-
-
-// INCLUDE FILES
-#include    <AknsDrawUtils.h>
-#include    <eikenv.h>
-
-#include    "UssdEditorLines.h"
-#include    "UssdLayout.h"
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CUssdEditorLines::CUssdEditorLines
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CUssdEditorLines::CUssdEditorLines()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdEditorLines::ConstructL
-// Symbian 2nd phase constructor can leave.
-// 
-// -----------------------------------------------------------------------------
-//
-void CUssdEditorLines::ConstructL( const CCoeControl* aParent )
-    {
-    // Create an own window
-    CreateWindowL( aParent );
-    
-    // This window draws editor row lines, so enable window 
-    // transparency to display the editor window content as background 
-    // for this line-window.
-    EnableWindowTransparency();
-      
-    // Create region buffer.
-    iRegBuf = new ( ELeave ) RRegionBuf< KUssdMaxNumberOfEditorLines >;
-
-    // Create rects
-
-    iRects = new ( ELeave ) CArrayPtrFlat<TAknLayoutRect>( KUssdMaxNumberOfEditorLines );
-    iRects->SetReserveL( KUssdMaxNumberOfEditorLines );
-
-    TAknLayoutRect* rect = NULL;
-    for ( TInt i = 0 ; i < KUssdMaxNumberOfEditorLines ; i++ )
-        {
-        rect = new ( ELeave ) TAknLayoutRect;
-        iRects->InsertL( i , rect ); // Can't leave
-        }
-
-    SetRect( aParent->Rect() );
-    SetFocus( ETrue );
-
-    // activate control
-    ActivateL();
-    }
-
-
-// Destructor
-CUssdEditorLines::~CUssdEditorLines()
-    {
-    if ( iRects )
-        {
-        iRects->ResetAndDestroy() ;
-        delete iRects;
-        }
-
-    if ( iRegBuf )
-        {
-        iRegBuf->Close() ;
-        delete iRegBuf;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdEditorLines::SizeChanged
-// Called by framework when the view size is changed
-//  
-// -----------------------------------------------------------------------------
-//
-void CUssdEditorLines::SizeChanged()
-    {
-    // Move rectangles to right position
-    
-    for ( TInt i = 0; 
-          iRects && i < iRects->Count() && i < UssdLayout::NumberOfEditorLines(); 
-          i++ )
-        {
-        iRects->At( i )->LayoutRect( Rect() , 
-            UssdLayout::MessageWritingLayoutElements6( i+1 ) );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUssdEditorLines::Draw
-// 
-// -----------------------------------------------------------------------------
-//
-void CUssdEditorLines::Draw( const TRect& aRect ) const
-    {
-    // Take the colour from some ramdom line.
-    // Here it is takem from the first line.
-
-    TRgb lineColour( KRgbWhite );
-
-    if ( iRects->Count() )
-        {
-        lineColour = iRects->At( 0 )->Color();
-        }
-
-    // Get skin colour if set.
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TRgb skinColor;
-    TInt error = 
-        AknsUtils::GetCachedColor( 
-            skin, 
-            skinColor, 
-            KAknsIIDQsnLineColors,
-            EAknsCIQsnLineColorsCG6 );
-
-    if ( error == KErrNone )
-        {
-        lineColour = skinColor;
-        }
-    CWindowGc& gc = SystemGc();
-    gc.SetBrushColor( lineColour );
-    
-    // Draw row lines by clearing rectangles corresponding to row locations.
-    TInt count( iRects->Count() );
-    TInt lines( UssdLayout::NumberOfEditorLines() );
-    for ( TInt i = 0; iRects && i < count && i < lines; i++ )
-        {
-        gc.Clear( iRects->At( i )->Rect() );
-        }
-   }
-
-// -----------------------------------------------------------------------------
-// CUssdEditorLines::HandlePointerEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CUssdEditorLines::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-    // Temporary variant for text editor.
-    CCoeControl *editor( Parent() ? Parent()->ComponentControl( 0 ) : NULL );
-    // Redirect pointer event to CEikEdwin, so as that CEikEdwin can popup
-    // virtual keyboard when user gives a click input.
-    if ( editor )
-        {
-        editor->HandlePointerEventL( aPointerEvent );
-        }
-    }
-// End of File  
--- a/phoneuis/Ussd/src/UssdLayout.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +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:  Layout definitions from Application LAF
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "UssdLayout.h"
-#include    <aknenv.h>
-#include    <bldvariant.hrh>
-#include    <featmgr.h>
-#include    <applayout.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-
-
-// CONSTANTS
-
-#ifdef _DEBUG
-// Panic types to be used in this file.
-enum TUssdPanicTypes
-    {
-    EUssdPanicNOEL = 0,
-    EUssdPanicPBL,
-    EUssdPanicMWLE6,
-    EUssdPanicMWT3,
-    //
-    EPhCltPanicLast
-    };
-
-#endif
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// UssdLayout::CurrentLayout
-// -----------------------------------------------------------------------------
-//
-TAknLayoutId UssdLayout::CurrentLayout()
-    {
-    TAknLayoutId layoutId;
-    CAknEnv::Static()->GetCurrentLayoutId( layoutId );
-    return layoutId;
-    }
-
-// -----------------------------------------------------------------------------
-// UssdLayout::LayoutColourWhite
-// -----------------------------------------------------------------------------
-//
-TInt UssdLayout::LayoutColourWhite()
-    {
-    return 0;  // White
-    }
-
-// -----------------------------------------------------------------------------
-// UssdLayout::NumberOfEditorLines
-// -----------------------------------------------------------------------------
-//
-TInt UssdLayout::NumberOfEditorLines()
-    {
-    TInt retVal = KErrNotFound;
-	TAknLayoutScalableParameterLimits scalbleParamLimits;
-	scalbleParamLimits = AknLayoutScalable_Apps::list_single_mce_message_pane_ParamLimits();    
-    
-    retVal = scalbleParamLimits.LastRow();
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// UssdLayout::MessageWritingLayoutElements6
-// -----------------------------------------------------------------------------
-//
-UssdLayout::TWindowLineLayoutType
-    UssdLayout::MessageWritingLayoutElements6( TInt aLine )
-    {
-    __ASSERT_ALWAYS( 
-        aLine >= 1 && aLine <= NumberOfEditorLines(), 
-        User::Invariant() );
-
-    TInt index_C = 0;
-    TInt index_T = aLine - 1;
-    return 
-        AppLayout::Message_writing_layout_elements_Line_6( index_C, index_T );
-    }
-
-// -----------------------------------------------------------------------------
-// UssdLayout::MessageWritingTexts3
-// -----------------------------------------------------------------------------
-//
-UssdLayout::TTextLineLayoutType UssdLayout::MessageWritingTexts3()
-    {
-    TInt numberOfLines = NumberOfEditorLines();
-    return
-        AppLayout::Multiline_Message_writing_texts_Line_3( numberOfLines ); 
-    }
-
-
-//  End of File  
--- a/phoneuis/Ussd/src/UssdNaviPane.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,313 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declares navi pane control for application.
-*
-*/
-
-
-// INCLUDE FILES
-#include    <gsmuset.h>                 // CCnvCharacterSetConverter
-#include    <aknenv.h>                  // CAknEnv
-#include    <aknnavide.h>               // CAknNavigationDecorator
-#include    <aknEditStateIndicator.h>
-#include    <AknIndicatorContainer.h>
-#include    <aknnavilabel.h>
-#include    "UssdComms.h" 
-
-#include    "UssdAppUi.h"
-#include    "UssdNaviPane.h"
- 
-#include <AknUtils.h>
-// CONSTANTS
-
-// Unicode char codes for GSM 03.38 7 bit ext table characters 
-static const TUint KUssdEdEuroSymbol = 0x20ac;
-static const TUint KUssdEdLeftSquareBracket = 0x5b;
-static const TUint KUssdEdReverseSolidus = 0x5c;
-static const TUint KUssdEdRightSquareBracket = 0x5d;
-static const TUint KUssdEdCircumflexAccent = 0x5e;
-static const TUint KUssdEdLeftCurlyBracket = 0x7b;
-static const TUint KUssdEdVerticalLine = 0x7c;
-static const TUint KUssdEdRightCurlyBracket = 0x7d;
-static const TUint KUssdEdTilde = 0x7e;
-static const TUint KUssdDownwardsArrowLeft = 0x21B2;
-static const TUint KUssdDownwardsArrowRight = 0x21B3;
-static const TUint KUssdCharDwithLine = 0xD0;
-static const TUint KUssdCharBigRhoo = 0xDE; 
-static const TUint KUssdCharSmallDelta = 0xF0;
-static const TUint KUssdCharSmallFii = 0xFE;
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CUssdNaviPane::CUssdNaviPane
-// C++ constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CUssdNaviPane::CUssdNaviPane( CUssdAppUi& aAppUi ): iAppUi( aAppUi )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CUssdNaviPane::NewL
-//
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-CUssdNaviPane* CUssdNaviPane::NewL( CUssdAppUi& aAppUi )
-    {
-    CUssdNaviPane* self = new ( ELeave ) CUssdNaviPane( aAppUi );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CUssdNaviPane::ConstructL
-//
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CUssdNaviPane::ConstructL()
-    {
-    
-    CreateExtraNaviLabelL();
-
-    iCharacterSetConverter = CCnvCharacterSetConverter::NewL();
-
-    iCharacterSetConverter->PrepareToConvertToOrFromL(
-        KCharacterSetIdentifierSms7Bit,
-        iCoeEnv->FsSession() );
-
-    iCharacterSetConverter->SetDowngradeForExoticLineTerminatingCharacters(
-        CCnvCharacterSetConverter::EDowngradeExoticLineTerminatingCharactersToJustLineFeed );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CUssdNaviPane::~CUssdNaviPane
-// 
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CUssdNaviPane::~CUssdNaviPane()
-    {
-    
-    if ( iNaviPane && iNaviDecorator )
-        {
-        iNaviPane->Pop( iNaviDecorator );
-        delete iNaviDecorator;
-        iNaviDecorator = NULL;
-        iNaviPane = NULL;
-        }
-    
-    delete iCharacterSetConverter;
-    iCharacterSetConverter = NULL;
-
-    iNaviLabel = NULL;
-
-    }
-  
-// ----------------------------------------------------
-// CUssdNaviPane::CreateExtraNaviLabelL
-// Creates an extra navi label.
-// (other items were commented in a header).
-// ----------------------------------------------------
-//
-void CUssdNaviPane::CreateExtraNaviLabelL()
-    {
-      
-    CEikStatusPane* sp = iAppUi.StatusPane();
-    iNaviPane = static_cast<CAknNavigationControlContainer*>( 
-        sp->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );     
-    
-    iNaviDecorator = iNaviPane->CreateNavigationLabelL( 
-        KNullDesC );
-    iNaviLabel = static_cast<CAknNaviLabel*>( 
-        iNaviDecorator->DecoratedControl() );
-    iNaviPane->PushL( *iNaviDecorator ) ;
-    
-    }
-
-// ---------------------------------------------------------
-// CUssdNaviPane::UpdateMsgLengthL
-// Update the message length information to navipane
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CUssdNaviPane::UpdateMsgLengthL( const TDesC& aInputString, 
-                                             CCoeControl* aControl )
-    {
-    TInt maxLen(0);
-    const TInt txtLen = aInputString.Length();
- 
-    HBufC* digitBuffer = HBufC::NewLC( EAknMaxIntegerDigits ); 
-    TPtr bufPtr( digitBuffer->Des() );
- 
-    if ( NeedsToBeSentAsUnicodeL( aInputString ) )
-        {
-        bufPtr.AppendNum( KUssdEditorMaxLenght/2 - txtLen );
-        maxLen=KUssdEditorMaxLenght/2;
-        }
-    else
-        {
-        TInt extendedCount = CountExtendedTableChars( aInputString );
-        TInt totalLen = KUssdEditorMaxLenght - ( txtLen + extendedCount );
-        if ( totalLen < 0 ) // last was alphabet extended when one left
-            {
-            GenerateBackSpaceKeyL( aControl );
-            extendedCount--;
-            totalLen = totalLen+2;
-            }
-        bufPtr.AppendNum( totalLen );
-        maxLen=KUssdEditorMaxLenght-extendedCount;
-        }
-    
-   AknTextUtils::LanguageSpecificNumberConversion( bufPtr );
-
-    // Giving msg length string to indicator container
-    MAknEditingStateIndicator* stateIndicator = 
-        iAvkonEnv->EditingStateIndicator();
-    if ( stateIndicator )
-        {
-        CAknIndicatorContainer* iIndicatorContainerSMS = 
-            stateIndicator->IndicatorContainer();
-        if ( iIndicatorContainerSMS )
-            {
-            iIndicatorContainerSMS->SetIndicatorState( 
-                TUid::Uid( EAknNaviPaneEditorIndicatorMessageLength ), 
-                EAknIndicatorStateOn );
-            iIndicatorContainerSMS->SetIndicatorValueL(
-                TUid::Uid( EAknNaviPaneEditorIndicatorMessageLength ), 
-                *digitBuffer );
-            }
-        }
-    
-    iNaviLabel->SetTextL( *digitBuffer );
-    CleanupStack::PopAndDestroy( digitBuffer );
-    
-    return maxLen;
-    }
- 
-
-// ---------------------------------------------------------
-// CUssdNaviPane::NeedsToBeSentAsUnicodeL
-// Checks if there are any unicode characters in the message
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TBool CUssdNaviPane::NeedsToBeSentAsUnicodeL( const TDesC& aInputString ) const
-    {
-    
-    TBool needsToBeSentAsUnicode = EFalse;
-      
-    for ( TPtrC remainderOfInputString( aInputString ); 
-          remainderOfInputString.Length()>0 ; )
-        {
-        TBuf8<KUssdEditorMaxLenght> notUsedForeignParam;
-        TInt numberOfUnconvertibleCharacters = 0;
-        const TInt returnValue = 
-            iCharacterSetConverter->ConvertFromUnicode( 
-                notUsedForeignParam,
-                remainderOfInputString, 
-                numberOfUnconvertibleCharacters );
-        if ( ( returnValue < 0 ) || 
-             ( numberOfUnconvertibleCharacters > 0 )) 
-            // if there was an error in trying to do the conversion, or if 
-            // there was an unconvertible character (e.g. a Chinese character)
-            {
-            TUint uChar;
-            for ( TInt i = 0;i < remainderOfInputString.Length();i++ )
-                {
-                uChar = TUint( remainderOfInputString[ i ] );
-                if ( uChar ==  KUssdDownwardsArrowLeft || 
-                     uChar == KUssdDownwardsArrowRight ||
-                     uChar == KUssdCharDwithLine ||
-                     uChar == KUssdCharBigRhoo ||
-                     uChar == KUssdCharSmallDelta ||
-                     uChar == KUssdCharSmallFii )
-                    {
-                    numberOfUnconvertibleCharacters--;
-                    }  
-                }
-                   
-            if ( returnValue < 0 || numberOfUnconvertibleCharacters > 0  ) 
-                {
-                // if there was an error in trying to do the conversion, or if there was an
-                // unconvertible character (e.g. a Chinese character)
-                needsToBeSentAsUnicode = ETrue;
-                break;
-                }      
-            }
-        
-        remainderOfInputString.Set( 
-            remainderOfInputString.Right( returnValue ) );
-        }
-    return needsToBeSentAsUnicode;
-    }
-
-// ---------------------------------------------------------
-// CUssdNaviPane::CountExtendedTableChars
-// Counts if there are 7bit extended table characters in message
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CUssdNaviPane::CountExtendedTableChars( const TDesC& aInputString ) const
-    {
-    const TInt total = aInputString.Length();
-    TInt extChars = 0;
-    
-    TUint uChar;
-    for ( TInt i=0; i < total; i++ )
-        {
-        uChar = TUint(aInputString[i]);
-        if (( uChar == KUssdEdLeftSquareBracket) || 
-            ( uChar == KUssdEdReverseSolidus ) || 
-            ( uChar == KUssdEdRightSquareBracket ) || 
-            ( uChar == KUssdEdCircumflexAccent ) || 
-            ( uChar == KUssdEdLeftCurlyBracket ) || 
-            ( uChar == KUssdEdVerticalLine ) || 
-            ( uChar == KUssdEdRightCurlyBracket ) || 
-            ( uChar == KUssdEdTilde ) || 
-            ( uChar == KUssdEdEuroSymbol )) 
-            {
-            extChars = extChars + 1;
-            }
-        }
-    return extChars;
-    }
-
-// ---------------------------------------------------------
-// CUssdNaviPane::GenerateBackSpaceKeyL
-// Generates a backspace key press event.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CUssdNaviPane::GenerateBackSpaceKeyL( CCoeControl* aControl )
-    {
-    TKeyEvent keyEvent;
-    keyEvent.iCode = EKeyBackspace;
-    keyEvent.iScanCode = EStdKeyBackspace;
-    keyEvent.iRepeats = 1;
-    keyEvent.iModifiers = 0;
-    TEventCode type = EEventKey;
-
-    if ( aControl )
-        {
-        aControl->OfferKeyEventL( keyEvent, type );
-        }
-    }
-
-// End of File  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/bubblecore.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = lib
+TARGET = bubblemanager2
+CONFIG += hb
+
+INCLUDEPATH += . ../inc
+
+symbian {
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL -TCB
+    TARGET.UID3 = 0x100058FF
+    
+    defFiles = \
+        "$${LITERAL_HASH}ifdef WINS" \
+            "DEFFILE bwins/bubblecore.def" \
+        "$${LITERAL_HASH}else" \
+            "DEFFILE eabi/bubblecore.def" \
+        "$${LITERAL_HASH}endif"
+    
+    MMP_RULES += defFiles
+}
+else:win32 { 
+    # Put it to Hb/lib because it is in path
+    DESTDIR = c:/hb/lib
+    DLLDESTDIR = c:/hb/bin
+    INCLUDEPATH += c:/hb/include/hbcore \
+        c:/hb/include/hbwidgets \
+        c:/hb/include/hbtools
+}
+DEFINES += BUILD_BUBBLEMANAGER
+
+# Input
+include(src/bubblecore.pri)
+RESOURCES += bubblecore.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/bubblecore.qrc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+<RCC>
+    <qresource prefix="/">
+        <file>resources/qgn_indi_call_muted.svg</file>
+        <file>xml/bubble_layout_1.docml</file>
+        <file>xml/bubble_layout_2.docml</file>
+        <file>xml/bubble_layout_3.docml</file>
+        <file>xml/bubble_layout_4.docml</file>
+        <file>xml/bubble_layout_5.docml</file>
+        <file>resources/qtg_fr_btn_red_pressed_tr.svg</file>
+        <file>resources/qtg_fr_btn_green_normal_b.svg</file>
+        <file>resources/qtg_fr_btn_green_normal_bl.svg</file>
+        <file>resources/qtg_fr_btn_green_normal_br.svg</file>
+        <file>resources/qtg_fr_btn_green_normal_c.svg</file>
+        <file>resources/qtg_fr_btn_green_normal_l.svg</file>
+        <file>resources/qtg_fr_btn_green_normal_r.svg</file>
+        <file>resources/qtg_fr_btn_green_normal_t.svg</file>
+        <file>resources/qtg_fr_btn_green_normal_tl.svg</file>
+        <file>resources/qtg_fr_btn_green_normal_tr.svg</file>
+        <file>resources/qtg_fr_btn_green_pressed_b.svg</file>
+        <file>resources/qtg_fr_btn_green_pressed_bl.svg</file>
+        <file>resources/qtg_fr_btn_green_pressed_br.svg</file>
+        <file>resources/qtg_fr_btn_green_pressed_c.svg</file>
+        <file>resources/qtg_fr_btn_green_pressed_l.svg</file>
+        <file>resources/qtg_fr_btn_green_pressed_r.svg</file>
+        <file>resources/qtg_fr_btn_green_pressed_t.svg</file>
+        <file>resources/qtg_fr_btn_green_pressed_tl.svg</file>
+        <file>resources/qtg_fr_btn_green_pressed_tr.svg</file>
+        <file>resources/qtg_fr_btn_red_normal_b.svg</file>
+        <file>resources/qtg_fr_btn_red_normal_bl.svg</file>
+        <file>resources/qtg_fr_btn_red_normal_br.svg</file>
+        <file>resources/qtg_fr_btn_red_normal_c.svg</file>
+        <file>resources/qtg_fr_btn_red_normal_l.svg</file>
+        <file>resources/qtg_fr_btn_red_normal_r.svg</file>
+        <file>resources/qtg_fr_btn_red_normal_t.svg</file>
+        <file>resources/qtg_fr_btn_red_normal_tl.svg</file>
+        <file>resources/qtg_fr_btn_red_normal_tr.svg</file>
+        <file>resources/qtg_fr_btn_red_pressed_b.svg</file>
+        <file>resources/qtg_fr_btn_red_pressed_bl.svg</file>
+        <file>resources/qtg_fr_btn_red_pressed_br.svg</file>
+        <file>resources/qtg_fr_btn_red_pressed_c.svg</file>
+        <file>resources/qtg_fr_btn_red_pressed_l.svg</file>
+        <file>resources/qtg_fr_btn_red_pressed_r.svg</file>
+        <file>resources/qtg_fr_btn_red_pressed_t.svg</file>
+        <file>resources/qtg_fr_btn_red_pressed_tl.svg</file>
+        <file>resources/qtg_large_avatar.svg</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/bwins/bubblecoreu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,64 @@
+EXPORTS
+	?connectSignals@BubbleManager@@AAEXPAVQGraphicsWidget@@@Z @ 1 NONAME ; void BubbleManager::connectSignals(class QGraphicsWidget *)
+	?createConference@BubbleManager@@UAEHHH@Z @ 2 NONAME ; int BubbleManager::createConference(int, int)
+	?tr@BubbleManager@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString BubbleManager::tr(char const *, char const *, int)
+	?staticMetaObject@BubbleManager@@2UQMetaObject@@B @ 4 NONAME ; struct QMetaObject const BubbleManager::staticMetaObject
+	?setState@BubbleManager@@UAEXHW4PhoneCallState@BubbleManagerIF@@@Z @ 5 NONAME ; void BubbleManager::setState(int, enum BubbleManagerIF::PhoneCallState)
+	?tr@BubbleManager@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString BubbleManager::tr(char const *, char const *)
+	?selectionInConference@BubbleManager@@UBEHXZ @ 7 NONAME ; int BubbleManager::selectionInConference(void) const
+	??_EBubbleManager@@UAE@I@Z @ 8 NONAME ; BubbleManager::~BubbleManager(unsigned int)
+	?addToLayout@BubbleManager@@AAE_NPAVQGraphicsWidget@@@Z @ 9 NONAME ; bool BubbleManager::addToLayout(class QGraphicsWidget *)
+	?updateCallTime@BubbleManager@@UAEXHABVQString@@@Z @ 10 NONAME ; void BubbleManager::updateCallTime(int, class QString const &)
+	?removeFromLayout@BubbleManager@@AAEXPAVQGraphicsWidget@@@Z @ 11 NONAME ; void BubbleManager::removeFromLayout(class QGraphicsWidget *)
+	?polishEvent@BubbleManager@@EAEXXZ @ 12 NONAME ; void BubbleManager::polishEvent(void)
+	?graphicsWidgetForAction@BubbleManager@@UBEPAVQGraphicsWidget@@PAVHbAction@@@Z @ 13 NONAME ; class QGraphicsWidget * BubbleManager::graphicsWidgetForAction(class HbAction *) const
+	?setCallObjectImage@BubbleManager@@UAEXHABVQString@@@Z @ 14 NONAME ; void BubbleManager::setCallObjectImage(int, class QString const &)
+	?isConferenceExpanded@BubbleManager@@UBE_NXZ @ 15 NONAME ; bool BubbleManager::isConferenceExpanded(void) const
+	?setNumberType@BubbleManager@@UAEXHW4PhoneNumberType@BubbleManagerIF@@@Z @ 16 NONAME ; void BubbleManager::setNumberType(int, enum BubbleManagerIF::PhoneNumberType)
+	?selectView@BubbleManager@@AAEPAVQGraphicsWidget@@XZ @ 17 NONAME ; class QGraphicsWidget * BubbleManager::selectView(void)
+	?startChanges@BubbleManager@@UAEXXZ @ 18 NONAME ; void BubbleManager::startChanges(void)
+	?removeRowFromConference@BubbleManager@@UAEXH@Z @ 19 NONAME ; void BubbleManager::removeRowFromConference(int)
+	?clearActions@BubbleManager@@UAEXH@Z @ 20 NONAME ; void BubbleManager::clearActions(int)
+	?qt_metacall@BubbleManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 21 NONAME ; int BubbleManager::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?findActiveHeader@BubbleManager@@AAE_NHAAPAVBubbleHeader@@@Z @ 22 NONAME ; bool BubbleManager::findActiveHeader(int, class BubbleHeader * &)
+	?shownHeaderCount@BubbleManager@@UBEHXZ @ 23 NONAME ; int BubbleManager::shownHeaderCount(void) const
+	?setBubbleSelectionDisabled@BubbleManager@@UAEX_N@Z @ 24 NONAME ; void BubbleManager::setBubbleSelectionDisabled(bool)
+	??1BubbleManager@@UAE@XZ @ 25 NONAME ; BubbleManager::~BubbleManager(void)
+	?findNextDrawableHeader@BubbleManager@@ABEXAAH@Z @ 26 NONAME ; void BubbleManager::findNextDrawableHeader(int &) const
+	?trUtf8@BubbleManager@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString BubbleManager::trUtf8(char const *, char const *)
+	??0BubbleManager@@QAE@PAVQGraphicsItem@@@Z @ 28 NONAME ; BubbleManager::BubbleManager(class QGraphicsItem *)
+	?expandedBubble@BubbleManager@@UBEHXZ @ 29 NONAME ; int BubbleManager::expandedBubble(void) const
+	?setSelectionIdInConference@BubbleManager@@UAEXH@Z @ 30 NONAME ; void BubbleManager::setSelectionIdInConference(int)
+	?moveHighlightOneUpInConference@BubbleManager@@UAEXXZ @ 31 NONAME ; void BubbleManager::moveHighlightOneUpInConference(void)
+	?createCallHeader@BubbleManager@@UAEHXZ @ 32 NONAME ; int BubbleManager::createCallHeader(void)
+	?setCallObjectFromTheme@BubbleManager@@UAEXH@Z @ 33 NONAME ; void BubbleManager::setCallObjectFromTheme(int)
+	?handleOrientationChange@BubbleManager@@QAEXW4Orientation@Qt@@@Z @ 34 NONAME ; void BubbleManager::handleOrientationChange(enum Qt::Orientation)
+	?setSecondaryCli@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 35 NONAME ; void BubbleManager::setSecondaryCli(int, class QString const &, enum Qt::TextElideMode)
+	?selectionIdInConference@BubbleManager@@UBEHXZ @ 36 NONAME ; int BubbleManager::selectionIdInConference(void) const
+	?addAction@BubbleManager@@UAEXHPAVHbAction@@@Z @ 37 NONAME ; void BubbleManager::addAction(int, class HbAction *)
+	?qt_metacast@BubbleManager@@UAEPAXPBD@Z @ 38 NONAME ; void * BubbleManager::qt_metacast(char const *)
+	?getStaticMetaObject@BubbleManager@@SAABUQMetaObject@@XZ @ 39 NONAME ; struct QMetaObject const & BubbleManager::getStaticMetaObject(void)
+	?moveHighlightOneDownInConference@BubbleManager@@UAEXXZ @ 40 NONAME ; void BubbleManager::moveHighlightOneDownInConference(void)
+	?removeConference@BubbleManager@@UAEXXZ @ 41 NONAME ; void BubbleManager::removeConference(void)
+	?removeCallHeader@BubbleManager@@UAEXH@Z @ 42 NONAME ; void BubbleManager::removeCallHeader(int)
+	?setViewData@BubbleManager@@AAEXPAVQGraphicsWidget@@@Z @ 43 NONAME ; void BubbleManager::setViewData(class QGraphicsWidget *)
+	?setPhoneMuted@BubbleManager@@UAEX_N@Z @ 44 NONAME ; void BubbleManager::setPhoneMuted(bool)
+	?metaObject@BubbleManager@@UBEPBUQMetaObject@@XZ @ 45 NONAME ; struct QMetaObject const * BubbleManager::metaObject(void) const
+	?updateCLI@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 46 NONAME ; void BubbleManager::updateCLI(int, class QString const &, enum Qt::TextElideMode)
+	?addParticipantListAction@BubbleManager@@UAEXPAVHbAction@@@Z @ 47 NONAME ; void BubbleManager::addParticipantListAction(class HbAction *)
+	?setCallTime@BubbleManager@@UAEXHABVQString@@@Z @ 48 NONAME ; void BubbleManager::setCallTime(int, class QString const &)
+	?endChanges@BubbleManager@@UAEXXZ @ 49 NONAME ; void BubbleManager::endChanges(void)
+	?setSelectionInConference@BubbleManager@@UAEXH@Z @ 50 NONAME ; void BubbleManager::setSelectionInConference(int)
+	?setParticipantListCli@BubbleManager@@UAEXHW4ParticipantListCli@BubbleManagerIF@@@Z @ 51 NONAME ; void BubbleManager::setParticipantListCli(int, enum BubbleManagerIF::ParticipantListCli)
+	?setCallFlag@BubbleManager@@UAEXHV?$QFlags@W4PhoneCallFlag@BubbleManagerIF@@@@_N@Z @ 52 NONAME ; void BubbleManager::setCallFlag(int, class QFlags<enum BubbleManagerIF::PhoneCallFlag>, bool)
+	?setExpandAction@BubbleManager@@UAEXHPAVHbAction@@@Z @ 53 NONAME ; void BubbleManager::setExpandAction(int, class HbAction *)
+	?trUtf8@BubbleManager@@SA?AVQString@@PBD0H@Z @ 54 NONAME ; class QString BubbleManager::trUtf8(char const *, char const *, int)
+	?showExpanded@BubbleManager@@AAEXH@Z @ 55 NONAME ; void BubbleManager::showExpanded(int)
+	?setCli@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 56 NONAME ; void BubbleManager::setCli(int, class QString const &, enum Qt::TextElideMode)
+	?conferenceRowCount@BubbleManager@@UBEHXZ @ 57 NONAME ; int BubbleManager::conferenceRowCount(void) const
+	?setExpandedConferenceCallHeader@BubbleManager@@UAEX_N@Z @ 58 NONAME ; void BubbleManager::setExpandedConferenceCallHeader(bool)
+	?clearParticipantListActions@BubbleManager@@UAEXXZ @ 59 NONAME ; void BubbleManager::clearParticipantListActions(void)
+	?setCallFlags@BubbleManager@@UAEXHH@Z @ 60 NONAME ; void BubbleManager::setCallFlags(int, int)
+	?addRowToConference@BubbleManager@@UAEXH@Z @ 61 NONAME ; void BubbleManager::addRowToConference(int)
+	?setLabel@BubbleManager@@UAEXHABVQString@@W4TextElideMode@Qt@@@Z @ 62 NONAME ; void BubbleManager::setLabel(int, class QString const &, enum Qt::TextElideMode)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/eabi/bubblecoreu.def	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,108 @@
+EXPORTS
+	_ZN13BubbleManager10endChangesEv @ 1 NONAME
+	_ZN13BubbleManager10selectViewEv @ 2 NONAME
+	_ZN13BubbleManager11addToLayoutEP15QGraphicsWidget @ 3 NONAME
+	_ZN13BubbleManager11polishEventEv @ 4 NONAME
+	_ZN13BubbleManager11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
+	_ZN13BubbleManager11qt_metacastEPKc @ 6 NONAME
+	_ZN13BubbleManager11setCallFlagEi6QFlagsIN15BubbleManagerIF13PhoneCallFlagEEb @ 7 NONAME
+	_ZN13BubbleManager11setCallTimeEiRK7QString @ 8 NONAME
+	_ZN13BubbleManager11setViewDataEP15QGraphicsWidget @ 9 NONAME
+	_ZN13BubbleManager12clearActionsEi @ 10 NONAME
+	_ZN13BubbleManager12setCallFlagsEii @ 11 NONAME
+	_ZN13BubbleManager12showExpandedEi @ 12 NONAME
+	_ZN13BubbleManager12startChangesEv @ 13 NONAME
+	_ZN13BubbleManager13setNumberTypeEiN15BubbleManagerIF15PhoneNumberTypeE @ 14 NONAME
+	_ZN13BubbleManager13setPhoneMutedEb @ 15 NONAME
+	_ZN13BubbleManager14connectSignalsEP15QGraphicsWidget @ 16 NONAME
+	_ZN13BubbleManager14updateCallTimeEiRK7QString @ 17 NONAME
+	_ZN13BubbleManager15setExpandActionEiP8HbAction @ 18 NONAME
+	_ZN13BubbleManager15setSecondaryCliEiRK7QStringN2Qt13TextElideModeE @ 19 NONAME
+	_ZN13BubbleManager16createCallHeaderEv @ 20 NONAME
+	_ZN13BubbleManager16createConferenceEii @ 21 NONAME
+	_ZN13BubbleManager16findActiveHeaderEiRP12BubbleHeader @ 22 NONAME
+	_ZN13BubbleManager16removeCallHeaderEi @ 23 NONAME
+	_ZN13BubbleManager16removeConferenceEv @ 24 NONAME
+	_ZN13BubbleManager16removeFromLayoutEP15QGraphicsWidget @ 25 NONAME
+	_ZN13BubbleManager16staticMetaObjectE @ 26 NONAME DATA 16
+	_ZN13BubbleManager18addRowToConferenceEi @ 27 NONAME
+	_ZN13BubbleManager18setCallObjectImageEiRK7QString @ 28 NONAME
+	_ZN13BubbleManager19getStaticMetaObjectEv @ 29 NONAME
+	_ZN13BubbleManager21setParticipantListCliEiN15BubbleManagerIF18ParticipantListCliE @ 30 NONAME
+	_ZN13BubbleManager22setCallObjectFromThemeEi @ 31 NONAME
+	_ZN13BubbleManager23handleOrientationChangeEN2Qt11OrientationE @ 32 NONAME
+	_ZN13BubbleManager23removeRowFromConferenceEi @ 33 NONAME
+	_ZN13BubbleManager24addParticipantListActionEP8HbAction @ 34 NONAME
+	_ZN13BubbleManager24setSelectionInConferenceEi @ 35 NONAME
+	_ZN13BubbleManager26setBubbleSelectionDisabledEb @ 36 NONAME
+	_ZN13BubbleManager26setSelectionIdInConferenceEi @ 37 NONAME
+	_ZN13BubbleManager27clearParticipantListActionsEv @ 38 NONAME
+	_ZN13BubbleManager30moveHighlightOneUpInConferenceEv @ 39 NONAME
+	_ZN13BubbleManager31setExpandedConferenceCallHeaderEb @ 40 NONAME
+	_ZN13BubbleManager32moveHighlightOneDownInConferenceEv @ 41 NONAME
+	_ZN13BubbleManager6setCliEiRK7QStringN2Qt13TextElideModeE @ 42 NONAME
+	_ZN13BubbleManager8setLabelEiRK7QStringN2Qt13TextElideModeE @ 43 NONAME
+	_ZN13BubbleManager8setStateEiN15BubbleManagerIF14PhoneCallStateE @ 44 NONAME
+	_ZN13BubbleManager9addActionEiP8HbAction @ 45 NONAME
+	_ZN13BubbleManager9updateCLIEiRK7QStringN2Qt13TextElideModeE @ 46 NONAME
+	_ZN13BubbleManagerC1EP13QGraphicsItem @ 47 NONAME
+	_ZN13BubbleManagerC2EP13QGraphicsItem @ 48 NONAME
+	_ZN13BubbleManagerD0Ev @ 49 NONAME
+	_ZN13BubbleManagerD1Ev @ 50 NONAME
+	_ZN13BubbleManagerD2Ev @ 51 NONAME
+	_ZNK13BubbleManager10metaObjectEv @ 52 NONAME
+	_ZNK13BubbleManager14expandedBubbleEv @ 53 NONAME
+	_ZNK13BubbleManager16shownHeaderCountEv @ 54 NONAME
+	_ZNK13BubbleManager18conferenceRowCountEv @ 55 NONAME
+	_ZNK13BubbleManager20isConferenceExpandedEv @ 56 NONAME
+	_ZNK13BubbleManager21selectionInConferenceEv @ 57 NONAME
+	_ZNK13BubbleManager22findNextDrawableHeaderERi @ 58 NONAME
+	_ZNK13BubbleManager23graphicsWidgetForActionEP8HbAction @ 59 NONAME
+	_ZNK13BubbleManager23selectionIdInConferenceEv @ 60 NONAME
+	_ZTI13BubbleManager @ 61 NONAME
+	_ZTV13BubbleManager @ 62 NONAME
+	_ZThn16_N13BubbleManagerD0Ev @ 63 NONAME
+	_ZThn16_N13BubbleManagerD1Ev @ 64 NONAME
+	_ZThn28_N13BubbleManager10endChangesEv @ 65 NONAME
+	_ZThn28_N13BubbleManager11setCallFlagEi6QFlagsIN15BubbleManagerIF13PhoneCallFlagEEb @ 66 NONAME
+	_ZThn28_N13BubbleManager11setCallTimeEiRK7QString @ 67 NONAME
+	_ZThn28_N13BubbleManager12clearActionsEi @ 68 NONAME
+	_ZThn28_N13BubbleManager12setCallFlagsEii @ 69 NONAME
+	_ZThn28_N13BubbleManager12startChangesEv @ 70 NONAME
+	_ZThn28_N13BubbleManager13setNumberTypeEiN15BubbleManagerIF15PhoneNumberTypeE @ 71 NONAME
+	_ZThn28_N13BubbleManager13setPhoneMutedEb @ 72 NONAME
+	_ZThn28_N13BubbleManager14updateCallTimeEiRK7QString @ 73 NONAME
+	_ZThn28_N13BubbleManager15setExpandActionEiP8HbAction @ 74 NONAME
+	_ZThn28_N13BubbleManager15setSecondaryCliEiRK7QStringN2Qt13TextElideModeE @ 75 NONAME
+	_ZThn28_N13BubbleManager16createCallHeaderEv @ 76 NONAME
+	_ZThn28_N13BubbleManager16createConferenceEii @ 77 NONAME
+	_ZThn28_N13BubbleManager16removeCallHeaderEi @ 78 NONAME
+	_ZThn28_N13BubbleManager16removeConferenceEv @ 79 NONAME
+	_ZThn28_N13BubbleManager18addRowToConferenceEi @ 80 NONAME
+	_ZThn28_N13BubbleManager18setCallObjectImageEiRK7QString @ 81 NONAME
+	_ZThn28_N13BubbleManager21setParticipantListCliEiN15BubbleManagerIF18ParticipantListCliE @ 82 NONAME
+	_ZThn28_N13BubbleManager22setCallObjectFromThemeEi @ 83 NONAME
+	_ZThn28_N13BubbleManager23removeRowFromConferenceEi @ 84 NONAME
+	_ZThn28_N13BubbleManager24addParticipantListActionEP8HbAction @ 85 NONAME
+	_ZThn28_N13BubbleManager24setSelectionInConferenceEi @ 86 NONAME
+	_ZThn28_N13BubbleManager26setBubbleSelectionDisabledEb @ 87 NONAME
+	_ZThn28_N13BubbleManager26setSelectionIdInConferenceEi @ 88 NONAME
+	_ZThn28_N13BubbleManager27clearParticipantListActionsEv @ 89 NONAME
+	_ZThn28_N13BubbleManager30moveHighlightOneUpInConferenceEv @ 90 NONAME
+	_ZThn28_N13BubbleManager31setExpandedConferenceCallHeaderEb @ 91 NONAME
+	_ZThn28_N13BubbleManager32moveHighlightOneDownInConferenceEv @ 92 NONAME
+	_ZThn28_N13BubbleManager6setCliEiRK7QStringN2Qt13TextElideModeE @ 93 NONAME
+	_ZThn28_N13BubbleManager8setLabelEiRK7QStringN2Qt13TextElideModeE @ 94 NONAME
+	_ZThn28_N13BubbleManager8setStateEiN15BubbleManagerIF14PhoneCallStateE @ 95 NONAME
+	_ZThn28_N13BubbleManager9addActionEiP8HbAction @ 96 NONAME
+	_ZThn28_N13BubbleManager9updateCLIEiRK7QStringN2Qt13TextElideModeE @ 97 NONAME
+	_ZThn28_NK13BubbleManager14expandedBubbleEv @ 98 NONAME
+	_ZThn28_NK13BubbleManager16shownHeaderCountEv @ 99 NONAME
+	_ZThn28_NK13BubbleManager18conferenceRowCountEv @ 100 NONAME
+	_ZThn28_NK13BubbleManager20isConferenceExpandedEv @ 101 NONAME
+	_ZThn28_NK13BubbleManager21selectionInConferenceEv @ 102 NONAME
+	_ZThn28_NK13BubbleManager23graphicsWidgetForActionEP8HbAction @ 103 NONAME
+	_ZThn28_NK13BubbleManager23selectionIdInConferenceEv @ 104 NONAME
+	_ZThn8_N13BubbleManagerD0Ev @ 105 NONAME
+	_ZThn8_N13BubbleManagerD1Ev @ 106 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qgn_indi_call_muted.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,57 @@
+<?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 width="150" height="144" viewBox="0 0 150 144">
+<linearGradient id="_11" gradientUnits="userSpaceOnUse" x1="84.45" y1="67.97" x2="106.13" y2="110.68">
+<stop stop-color="#A2C2DD" offset="0.1"/>
+<stop stop-color="#6C83BB" offset="0.71"/>
+<stop stop-color="#003D6D" offset="0.99"/>
+</linearGradient>
+<path fill="url(#_11)" d="M83.164,14.84C64.956,32.663,41.955,63.163,33.039,94.996c0,2.416,0.792,12.457,2.833,17.791 c2.708,4.791,8.667,13.125,19.625,18.916l5.75,1.4c12.125-5.4,22.251-21.482,24.835-27.482c-4.074-9.443-9.529-17.539-14.085-22.5 c2.015-3.047,12.938-20.372,16.126-25.292c5.945,0.601,5.941,0.609,22.084,2.75c14.125-7.5,23.75-27.167,25.207-32.083 c-4.666-12.083-10.75-16.708-19.895-20.521c-1.771-0.625-4.918-1.125-7.662-1.68C96.152,8.075,88.064,11.716,83.164,14.84z"/>
+<linearGradient id="_12" gradientUnits="userSpaceOnUse" x1="73.78" y1="103.6" x2="62.58" y2="85.54">
+<stop stop-color="#45B595" offset="0"/>
+<stop stop-color="#3C977B" offset="1"/>
+</linearGradient>
+<path fill="url(#_12)" d="M80.725,103.01c0.961-1.102-11.463-21.91-11.463-21.91l-10.24,13.914 C59.021,95.014,79.76,104.111,80.725,103.01z"/>
+<linearGradient id="_13" gradientUnits="userSpaceOnUse" x1="116.5" y1="37.6" x2="98.64" y2="6.55">
+<stop stop-color="#C7F9D4" offset="0"/>
+<stop stop-color="#BAF1CD" offset="0.43"/>
+<stop stop-color="#ADEAC7" offset="1"/>
+</linearGradient>
+<path fill="url(#_13)" d="M107.613,6.977c-13.172,1.598-24.102,8.347-24.102,8.347c6.295,9.188,7.264,13.491,7.264,13.491 l38.441-1.801C125.193,8.971,113.592,8.663,107.613,6.977z"/>
+<linearGradient id="_14" gradientUnits="userSpaceOnUse" x1="124.92" y1="24.62" x2="117.23" y2="10.07">
+<stop stop-color="#7ACCA5" offset="0"/>
+<stop stop-color="#ADEAC7" offset="1"/>
+</linearGradient>
+<path fill="url(#_14)" d="M128.672,26.752c-5.613-12.623-13.887-16.85-21.059-19.775c0,0,6.16,0.977,7.59,1.621 c5.219,2.363,13.982,5.855,19.313,19.791C134.518,28.389,128.645,26.783,128.672,26.752z"/>
+<linearGradient id="_15" gradientUnits="userSpaceOnUse" x1="39.2" y1="106.56" x2="87.85" y2="7.47">
+<stop stop-color="#45B595" offset="0"/>
+<stop stop-color="#C7F9D4" offset="1"/>
+</linearGradient>
+<path fill="url(#_15)" d="M83.514,15.322c2.588-0.176,8.107,4.103,8.035,12.16c-20.404,20.521-44.961,55.852-54.9,85.049 c-3.01-8.824-2.807-17.832-2.807-17.832C39.74,71.262,61.168,37.42,83.514,15.322z"/>
+<linearGradient id="_16" gradientUnits="userSpaceOnUse" x1="136.24" y1="27.55" x2="95.99" y2="67.28">
+<stop stop-color="#45B595" offset="0"/>
+<stop stop-color="#3C977B" offset="1"/>
+</linearGradient>
+<path fill="url(#_16)" d="M128.672,26.752c-7.303,16.621-14.561,24.877-25.445,31.988l6.65,1.012 c7.885-3.689,19.951-17.324,24.641-31.363C132.584,27.637,128.672,26.752,128.672,26.752z"/>
+<linearGradient id="_17" gradientUnits="userSpaceOnUse" x1="81.39" y1="101.58" x2="73.12" y2="87.18">
+<stop stop-color="#3C977B" offset="0"/>
+<stop stop-color="#2F6F5C" offset="1"/>
+</linearGradient>
+<path fill="url(#_17)" d="M85.299,105.471c-4.025-9.564-11.68-21.172-16.363-24.17l-0.013,2.645 c3.937,4.721,8.417,11.133,11.651,18.912L85.299,105.471z"/>
+<linearGradient id="_18" gradientUnits="userSpaceOnUse" x1="83.5" y1="-31.54" x2="82.76" y2="51.27">
+<stop stop-color="#ADEAC7" offset="0"/>
+<stop stop-color="#45B595" offset="1"/>
+</linearGradient>
+<path fill="url(#_18)" d="M128.672,26.752c-12.184-3.65-29.689-2.072-37.123,0.73 c-23.646,22.804-49.275,62.535-55.035,84.924c0,0,6.274,11.846,19.104,18.354c12.082-6.301,20.471-17.049,24.998-27.891 c-4.445-2.479-17.41-9.787-17.41-9.787c7.639-8.201,12.141-17.168,24.479-36.093c5.957,0.518,15.543,1.75,15.543,1.75 C115.617,51.148,124.441,38.457,128.672,26.752z"/>
+<linearGradient id="_19" gradientUnits="userSpaceOnUse" x1="61.28" y1="122.87" x2="81.7" y2="111.53">
+<stop stop-color="#45B595" offset="0"/>
+<stop stop-color="#3C977B" offset="1"/>
+</linearGradient>
+<path fill="url(#_19)" d="M80.574,102.857c0,0-12.406,22.221-24.958,27.902l5.521,1.357 c10.063-4.279,20.861-18.699,24.162-26.648L80.574,102.857z"/>
+<linearGradient id="_20" gradientUnits="userSpaceOnUse" x1="58.61" y1="87" x2="35.65" y2="110.87">
+<stop stop-color="#E6EEF4" offset="0"/>
+<stop stop-color="#C03A3A" offset="0.44"/>
+<stop stop-color="#302D02" offset="0.94"/>
+</linearGradient>
+<polygon fill="url(#_20)" points="6.529,66.524 79.668,139.426 87.773,131.303 14.639,58.4 "/>
+</svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_b.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="10.0715">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="10"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect y="9" opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
+<rect fill="none" width="50" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_bl.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="10.0715">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M0,5c0,2.762,2.238,5,5,5h5V0H0V5z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M0,0v5c0,2.762,2.238,5,5,5h5V9H5C2.794,9,1,7.206,1,5V0H0z"/>
+<rect fill="none" width="10" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_br.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="10.0715">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M0,10h5c2.762,0,5-2.238,5-5V0H0V10z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M9,5c0,2.206-1.794,4-4,4H0v1h5c2.762,0,5-2.238,5-5V0H9V5z"/>
+<rect fill="none" width="10" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_c.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="30px" viewBox="0 0 50 30" enable-background="new 0 0 50 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-9.8843" x2="24.9995" y2="40.0719">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="30"/>
+<rect fill="none" width="50" height="30"/>
+<rect opacity="0.1" fill="#FFFFFF" width="50" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_l.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-9.8843" x2="5" y2="40.0719">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="10" height="30"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="0.5" y1="-9.8843" x2="0.5" y2="39.8876">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
+<rect fill="none" width="10" height="30"/>
+<rect x="3" opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_r.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-9.8843" x2="5" y2="40.0719">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="10" height="30"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.5" y1="-9.8843" x2="9.5" y2="39.8876">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect x="9" opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
+<rect fill="none" width="10" height="30"/>
+<rect opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_t.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="50.071">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="10"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
+<rect fill="none" width="50" height="10"/>
+<rect y="3" opacity="0.1" fill="#FFFFFF" width="50" height="7"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_tl.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="50.071">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M10,0H5C2.238,0,0,2.238,0,5v5h10V0z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M1,5c0-2.206,1.794-4,4-4h5V0H5C2.238,0,0,2.238,0,5v5h1V5z"/>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#FFFFFF" d="M10,3H5C3.897,3,3,3.896,3,5v5h7V3z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_normal_tr.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="50.071">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M10,5c0-2.762-2.238-5-5-5H0v10h10V5z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M10,5c0-2.762-2.238-5-5-5H0v1h5c2.206,0,4,1.794,4,4v5h1V5z"/>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#FFFFFF" d="M7,5c0-1.104-0.896-2-2-2H0v7h7V5z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_b.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="10.1279" x2="25.0005" y2="-39.7534">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="10"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect y="9" opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
+<rect fill="none" width="50" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_bl.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="10.1279" x2="5" y2="-39.7534">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M0,5c0,2.762,2.238,5,5,5h5V0H0V5z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M0,0v5c0,2.762,2.238,5,5,5h5V9H5C2.794,9,1,7.206,1,5V0H0z"/>
+<rect fill="none" width="10" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_br.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="10.1279" x2="5" y2="-39.7534">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M0,10h5c2.762,0,5-2.238,5-5V0H0V10z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M9,5c0,2.206-1.794,4-4,4H0v1h5c2.762,0,5-2.238,5-5V0H9V5z"/>
+<rect fill="none" width="10" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_c.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="30px" viewBox="0 0 50 30" enable-background="new 0 0 50 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="40.127" x2="25.0005" y2="-9.7536">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="30"/>
+<rect fill="none" width="50" height="30"/>
+<rect opacity="0.1" fill="#FFFFFF" width="50" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_l.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="40.127" x2="5" y2="-9.7536">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="10" height="30"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="0.5" y1="-9.8843" x2="0.5" y2="39.8876">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
+<rect fill="none" width="10" height="30"/>
+<rect x="3" opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_r.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="40.127" x2="5" y2="-9.7536">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="10" height="30"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.5" y1="-9.8843" x2="9.5" y2="39.8876">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect x="9" opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
+<rect fill="none" width="10" height="30"/>
+<rect opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_t.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="50.1279" x2="25.0005" y2="0.2466">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="10"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
+<rect fill="none" width="50" height="10"/>
+<rect y="3" opacity="0.1" fill="#FFFFFF" width="50" height="7"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_tl.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="50.1279" x2="5" y2="0.2466">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M10,0H5C2.238,0,0,2.238,0,5v5h10V0z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M1,5c0-2.206,1.794-4,4-4h5V0H5C2.238,0,0,2.238,0,5v5h1V5z"/>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#FFFFFF" d="M10,3H5C3.897,3,3,3.897,3,5v5h7V3z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_green_pressed_tr.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="50.1279" x2="5" y2="0.2466">
+	<stop  offset="0" style="stop-color:#85BF24"/>
+	<stop  offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M10,5c0-2.762-2.238-5-5-5H0v10h10V5z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M10,5c0-2.762-2.238-5-5-5H0v1h5c2.206,0,4,1.794,4,4v5h1V5z"/>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#FFFFFF" d="M7,5c0-1.103-0.896-2-2-2H0v7h7V5z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_b.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="9.8145" x2="25.0005" y2="-39.8316">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="10"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect y="9" opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
+<rect fill="none" width="50" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_bl.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="9.8145" x2="5" y2="-39.8316">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M0,5c0,2.762,2.238,5,5,5h5V0H0V5z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M0,0v5c0,2.762,2.238,5,5,5h5V9H5C2.794,9,1,7.206,1,5V0H0z"/>
+<rect fill="none" width="10" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_br.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="9.8145" x2="5" y2="-39.8316">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M0,10h5c2.762,0,5-2.238,5-5V0H0V10z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M9,5c0,2.206-1.794,4-4,4H0v1h5c2.762,0,5-2.238,5-5V0H9V5z"/>
+<rect fill="none" width="10" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_c.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="30px" viewBox="0 0 50 30" enable-background="new 0 0 50 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="39.8135" x2="25.0005" y2="-9.8318">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="30"/>
+<rect fill="none" width="50" height="30"/>
+<rect opacity="0.1" fill="#FFFFFF" width="50" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_l.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="39.8135" x2="5" y2="-9.8318">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="10" height="30"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="0.5" y1="-9.8843" x2="0.5" y2="39.8876">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
+<rect fill="none" width="10" height="30"/>
+<rect x="3" opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_r.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="39.8135" x2="5" y2="-9.8318">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="10" height="30"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.5" y1="-9.8843" x2="9.5" y2="39.8876">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect x="9" opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
+<rect fill="none" width="10" height="30"/>
+<rect opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_t.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.0005" y1="49.8145" x2="25.0005" y2="0.1684">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="10"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
+<rect fill="none" width="50" height="10"/>
+<rect y="3" opacity="0.1" fill="#FFFFFF" width="50" height="7"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_tl.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="49.8145" x2="5" y2="0.1684">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M10,0H5C2.238,0,0,2.238,0,5v5h10V0z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M1,5c0-2.206,1.794-4,4-4h5V0H5C2.238,0,0,2.238,0,5v5h1V5z"/>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#FFFFFF" d="M10,3H5C3.897,3,3,3.897,3,5v5h7V3z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_normal_tr.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="49.8145" x2="5" y2="0.1684">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M10,5c0-2.762-2.238-5-5-5H0v10h10V5z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M10,5c0-2.762-2.238-5-5-5H0v1h5c2.206,0,4,1.794,4,4v5h1V5z"/>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#FFFFFF" d="M7,5c0-1.103-0.896-2-2-2H0v7h7V5z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_b.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.667" x2="24.9995" y2="10.422">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="10"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-39.8838" x2="24.9995" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect y="9" opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
+<rect fill="none" width="50" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_bl.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.667" x2="5" y2="10.422">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M0,5c0,2.762,2.238,5,5,5h5V0H0V5z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M0,0v5c0,2.762,2.238,5,5,5h5V9H5C2.794,9,1,7.206,1,5V0H0z"/>
+<rect fill="none" width="10" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_br.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.667" x2="5" y2="10.422">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M0,10h5c2.762,0,5-2.238,5-5V0H0V10z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="-39.8838" x2="5" y2="9.8873">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M9,5c0,2.206-1.794,4-4,4H0v1h5c2.762,0,5-2.238,5-5V0H9V5z"/>
+<rect fill="none" width="10" height="10"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_c.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="30px" viewBox="0 0 50 30" enable-background="new 0 0 50 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="-9.6675" x2="24.9995" y2="40.4223">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="30"/>
+<rect fill="none" width="50" height="30"/>
+<rect opacity="0.1" fill="#FFFFFF" width="50" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_l.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-9.6675" x2="5" y2="40.4223">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="10" height="30"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="0.5" y1="-9.8843" x2="0.5" y2="39.8876">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
+<rect fill="none" width="10" height="30"/>
+<rect x="3" opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_r.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="30px" viewBox="0 0 10 30" enable-background="new 0 0 10 30" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="30"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="-9.6675" x2="5" y2="40.4223">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="10" height="30"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="9.5" y1="-9.8843" x2="9.5" y2="39.8876">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect x="9" opacity="0.35" fill="url(#SVGID_2_)" width="1" height="30"/>
+<rect fill="none" width="10" height="30"/>
+<rect opacity="0.1" fill="#FFFFFF" width="7" height="9"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_t.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="50px" height="10px" viewBox="0 0 50 10" enable-background="new 0 0 50 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="50" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.3325" x2="24.9995" y2="50.4215">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<rect fill="url(#SVGID_1_)" width="50" height="10"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0.1157" x2="24.9995" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<rect opacity="0.35" fill="url(#SVGID_2_)" width="50" height="1"/>
+<rect fill="none" width="50" height="10"/>
+<rect y="3" opacity="0.1" fill="#FFFFFF" width="50" height="7"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_tl.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="0.3325" x2="5" y2="50.4215">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M10,0H5C2.238,0,0,2.238,0,5v5h10V0z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M1,5c0-2.206,1.794-4,4-4h5V0H5C2.238,0,0,2.238,0,5v5h1V5z"/>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#FFFFFF" d="M10,3H5C3.897,3,3,3.897,3,5v5h7V3z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_fr_btn_red_pressed_tr.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5" y1="0.3325" x2="5" y2="50.4215">
+	<stop  offset="0" style="stop-color:#700000"/>
+	<stop  offset="1" style="stop-color:#CF1708"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M10,5c0-2.762-2.238-5-5-5H0v10h10V5z"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="5" y1="0.1157" x2="5" y2="49.8868">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="1" style="stop-color:#999999"/>
+</linearGradient>
+<path opacity="0.35" fill="url(#SVGID_2_)" d="M10,5c0-2.762-2.238-5-5-5H0v1h5c2.206,0,4,1.794,4,4v5h1V5z"/>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#FFFFFF" d="M7,5c0-1.103-0.896-2-2-2H0v7h7V5z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/resources/qtg_large_avatar.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,18 @@
+<?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="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g>
+<path d="M46.691,42.35c-1.665-0.866-9.918-3.756-10.072-3.936l-0.002,0.002  c-0.934-1.068-0.896-3.433-0.43-4.46c0.001-0.001,0.002-0.001,0.002-0.002c0.032-0.071,0.065-0.139,0.104-0.197  c0.113-0.177,0.219-0.354,0.326-0.533l0,0c0.813-1.329,1.494-2.651,2.054-3.892c1.009,0.349,2.307-0.59,2.95-2.18  c0.667-1.645,0.379-3.354-0.645-3.815c-0.058-0.026-0.119-0.03-0.178-0.048c0-0.001,0-0.002,0-0.002  c0.133-0.521,0.191-0.826,0.191-0.826c1.77-7.934-2.078-14.223-11.402-14.533c-3.832,0-5.617,0.578-7.039,2.398  c-2.313,0.357-6.039,3.642-3.453,12.927c-0.098,0.016-0.195,0.031-0.289,0.071c-1.032,0.436-1.355,2.128-0.724,3.782  c0.633,1.653,1.983,2.643,3.017,2.208c0.063-0.027,0.117-0.072,0.176-0.11c0.568,1.279,1.266,2.646,2.104,4.02H23.38  c0.022,0.037,0.046,0.073,0.067,0.11c0.023,0.038,0.045,0.076,0.068,0.114c0.002,0.003,0.005,0.005,0.007,0.008  c0.061,0.101,0.12,0.201,0.185,0.301c0.532,0.833,0.663,3.229-0.166,4.457c-0.208,0.283-8.346,3.135-10.23,4.136  c-2.161,1.147-5.688,3.782-5.688,9.723h44.756C52.378,46.132,48.354,43.216,46.691,42.35z" fill="url(#SVGID_1_)"/>
+<path d="M7.659,51.072c-0.022,0.323-0.037,0.655-0.037,1h44.756c0-0.345-0.017-0.676-0.042-1H7.659z" fill="#FFFFFF" fill-opacity="0.15" stroke-opacity="0.15"/>
+<path d="M22.551,11.326c1.422-1.82,3.207-2.398,7.039-2.398c7.565,0.252,11.524,4.44,11.804,10.248  C41.535,12.856,37.58,8.194,29.59,7.928c-3.832,0-5.617,0.578-7.039,2.398c-1.81,0.279-4.472,2.367-4.311,7.704  C18.419,13.429,20.858,11.588,22.551,11.326z" fill="#FFFFFF" fill-opacity="0.5" stroke-opacity="0.5"/>
+<path d="M36.617,38.416c-0.441-0.505-0.66-1.3-0.725-2.106c-0.086,1.09,0.098,2.389,0.725,3.106  l0.002-0.002c0.154,0.18,8.407,3.069,10.072,3.936c1.566,0.816,5.225,3.453,5.645,8.723h0.042c0-5.94-4.024-8.856-5.687-9.723  c-1.665-0.866-9.918-3.756-10.072-3.936L36.617,38.416z" fill="#FFFFFF" fill-opacity="0.5" stroke-opacity="0.5"/>
+<path d="M13.311,43.35c1.885-1.001,10.022-3.853,10.23-4.136c0.508-0.752,0.652-1.938,0.568-2.938  c-0.053,0.717-0.225,1.429-0.568,1.938c-0.208,0.283-8.346,3.135-10.23,4.136c-2.161,1.147-5.688,3.782-5.688,9.723h0.037  C8.029,46.833,11.275,44.431,13.311,43.35z" fill="#FFFFFF" fill-opacity="0.5" stroke-opacity="0.5"/>
+<rect fill="none" height="60" width="60"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="29.9995" x2="29.9995" y1="8.5967" y2="52.3536">
+<stop offset="0" style="stop-color:#8E8E8E"/>
+<stop offset="1" style="stop-color:#444444"/>
+</linearGradient>
+</defs>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblebuttonstyle.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,131 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Custom style for push buttons.
+*
+*/
+
+#include <hbicon.h>
+#include <hbstyleoptionpushbutton.h>
+#include <hbframeitem.h>
+#include <hbframedrawer.h>
+#include <hbiconitem.h>
+#include <hbcolorscheme.h>
+
+#include "bubblebuttonstyle.h"
+
+BubbleButtonStyle::BubbleButtonStyle() : mButtonColor(Default)
+{
+}
+
+BubbleButtonStyle::~BubbleButtonStyle() 
+{
+}
+
+void BubbleButtonStyle::setButtonColor(ButtonColor color)
+{
+    mButtonColor = color;
+}
+
+void BubbleButtonStyle::updatePrimitive(
+    QGraphicsItem *item,
+    HbStyle::Primitive primitive,
+    const QStyleOption *option ) const
+{
+    switch(primitive){
+    case P_PushButton_background:{
+        const HbStyleOptionPushButton *opt = 
+            qstyleoption_cast<const HbStyleOptionPushButton *>(option);
+        HbFrameItem *frameItem = qgraphicsitem_cast<HbFrameItem*>( item );
+        if(!frameItem)
+            return;
+
+        frameItem->setZValue(-1.0);
+        if(opt->backgroundFrameDrawer &&!(opt->backgroundFrameDrawer->isNull())) {
+            frameItem->setFrameDrawer( (opt->backgroundFrameDrawer));
+        } else {
+            QString frameGraphicsName;
+            QIcon::Mode mode = QIcon::Disabled;
+            QIcon::State state = QIcon::Off;
+            if (opt->state & QStyle::State_Enabled)
+                mode = QIcon::Normal;
+            if (opt->state & QStyle::State_Active)
+                mode = QIcon::Active;
+            if (opt->state & QStyle::State_Selected)
+                mode = QIcon::Selected;
+            if (opt->state & QStyle::State_On)
+                state = QIcon::On;
+
+            if (mode == QIcon::Disabled && state == QIcon::Off) {
+                frameGraphicsName = "qtg_fr_btn_disabled";
+            } else if (mode == QIcon::Normal && state == QIcon::On) {
+                if (mButtonColor==Green) {
+                    frameGraphicsName = ":/resources/qtg_fr_btn_green_pressed";
+                } else if (mButtonColor==Red) {
+                    frameGraphicsName = ":/resources/qtg_fr_btn_red_pressed";
+                } else {
+                    frameGraphicsName = "qtg_fr_btn_pressed";
+                }
+            } else if (mode == QIcon::Selected && state == QIcon::Off) {
+                frameGraphicsName = "qtg_fr_btn_highlight";
+            } else {
+                if (mButtonColor==Green) {
+                    frameGraphicsName = ":/resources/qtg_fr_btn_green_normal";
+                } else if (mButtonColor==Red) {
+                    frameGraphicsName = ":/resources/qtg_fr_btn_red_normal";
+                } else {
+                    frameGraphicsName = "qtg_fr_btn_normal";
+                }
+            }
+
+            frameItem->frameDrawer().setFrameGraphicsName(frameGraphicsName);
+            if (!opt->background.isNull()) {
+                QString customName = opt->background.iconName(mode, state);
+                frameItem->frameDrawer().setFrameGraphicsName(customName);
+                frameItem->setGeometry(opt->rect);
+                frameItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+                break;
+            }
+            frameItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+        }
+
+        frameItem->setGeometry(opt->rect);
+        }
+        break;
+
+    case P_PushButton_icon:
+        {
+            HbStyle::updatePrimitive(item,primitive,option);
+
+            HbIconItem *iconItem = static_cast<HbIconItem*>(item);
+
+            if (iconItem) {
+                if (mButtonColor==Green || mButtonColor==Red) {
+                    iconItem->setColor(Qt::white);
+                } else {
+                    QColor color;
+                    color = HbColorScheme::color("qtc_button_normal");
+                    if (color.isValid()) {
+                        iconItem->setColor(color);
+                    }
+                }
+            }
+        }
+        break;
+
+    default:
+        HbStyle::updatePrimitive(item,primitive,option);
+        break;
+    } // switch
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblebuttonstyle.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Custom style for push buttons.
+*
+*/
+
+#ifndef BUBBLEBUTTONSTYLE_H_
+#define BUBBLEBUTTONSTYLE_H_
+
+#include <hbstyle.h>
+
+class BubbleButtonStyle : public HbStyle
+{
+public:
+    enum ButtonColor
+    {
+        Default,
+        Green,
+        Red,
+    };
+
+public:
+    explicit BubbleButtonStyle();
+    virtual ~BubbleButtonStyle();
+
+    void setButtonColor(ButtonColor color);
+
+    void updatePrimitive(
+        QGraphicsItem *item,
+        HbStyle::Primitive primitive,
+        const QStyleOption *option ) const;
+
+protected:
+    ButtonColor mButtonColor;
+};
+
+#endif /* BUBBLEBUTTONSTYLE_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblecollapsedhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Collapsed call bubble handler.
+*
+*/
+
+#include <QtGui>
+#include <hbaction.h>
+
+#include "bubblemanager2.h"
+#include "bubblecollapsedhandler.h"
+#include "bubbleheader.h"
+#include "bubbleutils.h"
+#include "bubbleheadingwidget.h"
+#include "bubblecontainerwidget.h"
+
+BubbleCollapsedHandler::BubbleCollapsedHandler(
+    BubbleWidgetManager& widgetManager,
+    BubbleWidgetManager::View view,
+    BubbleWidgetManager::Container container,
+    QObject* parent )
+    : BubbleHandler(widgetManager,view,container,parent)
+{
+    mHeading =
+        qobject_cast<BubbleHeadingWidget*>(
+                widget(BubbleWidgetManager::Heading));
+    Q_ASSERT(mHeading);
+
+    BubbleContainerWidget* bubble
+        = qobject_cast<BubbleContainerWidget*>(
+                widgetManager.container(view,container));
+    Q_ASSERT(bubble);
+
+    connect(bubble,SIGNAL(clicked()),this,SLOT(handleBubbleClicked()));
+
+    reset();
+}
+
+BubbleCollapsedHandler::~BubbleCollapsedHandler()
+{
+}
+
+void BubbleCollapsedHandler::reset()
+{  
+    mHeader = 0;
+    mHeading->reset();
+}
+
+void BubbleCollapsedHandler::readBubbleHeader(
+    const BubbleHeader& header )
+{
+    mHeader = &header;
+    mHeading->readBubbleHeader(header);
+}
+
+QGraphicsWidget* BubbleCollapsedHandler::graphicsWidgetForAction(
+    HbAction* action ) const
+{
+    Q_UNUSED(action)
+    return 0;
+}
+
+void BubbleCollapsedHandler::updateTimerDisplayNow()
+{
+    mHeading->updateTimerDisplayNow();
+}
+
+void BubbleCollapsedHandler::handleBubbleClicked()
+{
+    emit headerSelected(mHeader->bubbleId());
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblecollapsedhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,57 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Collapsed call bubble handler.
+*
+*/
+
+#ifndef BUBBLECOLLAPSEDHANDLER_H_
+#define BUBBLECOLLAPSEDHANDLER_H_
+
+#include "bubblehandler.h"
+#include "bubblewidgetmanager.h"
+
+class BubbleHeader;
+class HbAction;
+class BubbleHeadingWidget;
+
+class BubbleCollapsedHandler : public BubbleHandler
+    {
+    Q_OBJECT
+
+public:
+    explicit BubbleCollapsedHandler(
+            BubbleWidgetManager& widgetManager,
+            BubbleWidgetManager::View view,
+            BubbleWidgetManager::Container container,
+            QObject* parent = 0);
+    virtual ~BubbleCollapsedHandler();
+
+protected:
+    void reset();
+
+    void readBubbleHeader(const BubbleHeader& header);
+
+    QGraphicsWidget* graphicsWidgetForAction( HbAction* action ) const;
+    
+    void updateTimerDisplayNow();
+
+protected slots:
+    void handleBubbleClicked();
+
+protected: //data
+    const BubbleHeader* mHeader;
+    BubbleHeadingWidget* mHeading;
+    };
+
+#endif /* BUBBLECOLLAPSEDHANDLER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,202 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Conference call bubble handler.
+*
+*/
+
+#include <QtGui>
+#include <hbaction.h>
+#include <hbpushbutton.h>
+#include <hbtextitem.h>
+#include <hblabel.h>
+#include <hblistview.h>
+
+#include "bubblemanager2.h"
+#include "bubbleconferencehandler.h"
+#include "bubbleconferenceheader.h"
+#include "bubbleutils.h"
+#include "bubblebuttonstyle.h"
+#include "bubbleparticipantlistitem.h"
+#include "bubbleparticipantlistmodel.h"
+
+static const int BUBBLE_SELECTION_TIMEOUT = 3000;
+
+BubbleConferenceHandler::BubbleConferenceHandler(
+    BubbleWidgetManager& widgetManager,
+    BubbleWidgetManager::View view,
+    BubbleWidgetManager::Container container,
+    QObject* parent )
+    : BubbleHandler(widgetManager,view,container,parent)
+{
+    mTimerLabel =
+        qobject_cast<HbLabel*>(widget(BubbleWidgetManager::ConferenceTimer));
+    Q_ASSERT(mTimerLabel);
+    HbDeviceProfile profile;
+    HbFontSpec spec(HbFontSpec::Secondary);
+    spec.setTextHeight(4*HbDeviceProfile::current().unitValue());
+    mTimerLabel->setFontSpec(spec);
+    mTimerLabel->setAlignment(Qt::AlignLeft);
+
+    mButtonCenter =
+        qobject_cast<HbPushButton*>(widget(BubbleWidgetManager::CenterButton));
+    Q_ASSERT(mButtonCenter);
+    mButtonLeft =
+        qobject_cast<HbPushButton*>(widget(BubbleWidgetManager::LeftButton));
+    Q_ASSERT(mButtonLeft);
+    mButtonRight =
+        qobject_cast<HbPushButton*>(widget(BubbleWidgetManager::RightButton));
+    Q_ASSERT(mButtonRight);
+
+    mList =
+        qobject_cast<HbListView*>(widget(BubbleWidgetManager::ParticipantList));
+    Q_ASSERT(mList);
+    mModel = new BubbleParticipantListModel();
+    mList->setModel(mModel);
+
+    mPrototype =
+        qobject_cast<BubbleParticipantListItem*>(
+            widgetManager.createParticipantListItem());
+    Q_ASSERT(mPrototype);
+    mList->setItemPrototype(mPrototype);
+    connect(mPrototype,SIGNAL(selectionChanged(int)),
+            SLOT(handleItemSelected(int)));
+
+    mSelectionTimer = new QTimer(this);
+    connect(mSelectionTimer,SIGNAL(timeout()),SLOT(clearSelection()));
+    mSelectionTimer->setSingleShot(true);
+
+    reset();
+}
+
+BubbleConferenceHandler::~BubbleConferenceHandler()
+{
+}
+
+void BubbleConferenceHandler::reset()
+{  
+    mHeader = 0;
+
+    mModel->reset();
+    mList->reset();
+    mSelectionTimer->stop();
+    mPrototype->clearActions();
+    mTimerLabel->hide();
+    mButtonCenter->hide();
+    mButtonCenter->setDown(false);
+    mButtonCenter->disconnect();
+    mButtonCenter->setText("");
+    mButtonLeft->hide();
+    mButtonLeft->setDown(false);
+    mButtonLeft->disconnect();
+    mButtonLeft->setText("");
+    mButtonRight->hide();
+    mButtonRight->setDown(false);
+    mButtonRight->disconnect();
+    mButtonRight->setText("");
+}
+
+void BubbleConferenceHandler::readBubbleHeader( const BubbleHeader& header )
+{
+    Q_ASSERT(header.isConference());
+    mHeader = static_cast<const BubbleConferenceHeader*>(&header);
+
+    // populate participant list model
+    QList<BubbleHeader*> participants = mHeader->headers();
+    foreach(BubbleHeader* participant, participants) {
+         mModel->addParticipant(participant->bubbleId(),
+                                participant->cli(),
+                                (int)participant->callState());
+    }
+
+    // set actions to item prototype
+    QList<HbAbstractViewItem*> prototypes = mList->itemPrototypes();
+    QList<HbAction*> actions = mHeader->participantListActions();
+    foreach (HbAction* action, actions ) {
+        mPrototype->addAction(action);
+    }
+
+    mList->reset();
+
+    if (header.timerCost().length()) {
+        mTimerLabel->setPlainText(header.timerCost());
+        mTimerLabel->show();
+    }
+
+    setButtons(mHeader->actions());
+}
+
+void BubbleConferenceHandler::setButtons(const QList<HbAction*>& actions)
+{
+    if ( actions.count()==1 && mButtonCenter ) {
+        HbAction* action = actions.at(0);
+        mButtonCenter->setIcon( action->icon() );
+        BubbleUtils::setButtonStyleForAction(*mButtonCenter,*action);
+        connect(mButtonCenter, SIGNAL( clicked() ),
+                action, SLOT( trigger() ) );
+        mButtonCenter->show();
+    } else  if (actions.count()==2 && mButtonLeft && mButtonRight ) {
+        // Left button
+        HbAction* action1 = actions.at(0);
+        mButtonLeft->setIcon( action1->icon() );
+        BubbleUtils::setButtonStyleForAction(*mButtonLeft,*action1);
+        connect( mButtonLeft, SIGNAL( clicked() ),
+                 action1, SLOT( trigger() ) );
+        mButtonLeft->show();
+        // Right button
+        HbAction* action2 = actions.at(1);
+        mButtonRight->setIcon( action2->icon() );
+        BubbleUtils::setButtonStyleForAction(*mButtonRight,*action2);
+        connect( mButtonRight, SIGNAL( clicked() ),
+                 action2, SLOT( trigger() ) );
+        mButtonRight->show();
+    }
+}
+
+QGraphicsWidget* BubbleConferenceHandler::graphicsWidgetForAction(
+    HbAction* action ) const
+{
+    if ( mButtonLeft->text() == action->text() ) {
+        return mButtonLeft;
+    } else if ( mButtonRight->text() == action->text() ) {
+        return mButtonRight;
+    } else if ( mButtonCenter->text() == action->text() ) {
+        return mButtonCenter;
+    } else {
+        return 0;
+    }
+}
+
+void BubbleConferenceHandler::updateTimerDisplayNow()
+{
+    Q_ASSERT(mHeader);
+
+    mTimerLabel->setPlainText(mHeader->timerCost());
+    mTimerLabel->update();
+}
+
+void BubbleConferenceHandler::handleItemSelected(int row)
+{
+    Q_ASSERT( mHeader != 0 );
+    // need to cast constness away
+    BubbleConferenceHeader& mutableHeader =
+        const_cast<BubbleConferenceHeader&>(*mHeader);
+    mutableHeader.setSelectedHeader(mModel->bubbleId(row));
+    mSelectionTimer->stop();
+    mSelectionTimer->start(BUBBLE_SELECTION_TIMEOUT);
+}
+
+void BubbleConferenceHandler::clearSelection()
+{
+    mList->selectionModel()->clear();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferencehandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,74 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Conference call bubble handler.
+*
+*/
+
+#ifndef BUBBLECONFERENCEHANDLER_H_
+#define BUBBLECONFERENCEHANDLER_H_
+
+#include "bubblehandler.h"
+#include "bubblewidgetmanager.h"
+
+class BubbleHeader;
+class HbAction;
+class HbPushButton;
+class HbLabel;
+class BubbleConferenceHeader;
+class HbListWidgetItem;
+class BubbleParticipantListItem;
+class HbListView;
+class BubbleParticipantListModel;
+class QTimer;
+
+class BubbleConferenceHandler : public BubbleHandler
+    {
+    Q_OBJECT
+
+public:
+    explicit BubbleConferenceHandler(
+            BubbleWidgetManager& widgetManager,
+            BubbleWidgetManager::View view,
+            BubbleWidgetManager::Container container,
+            QObject* parent = 0);
+    virtual ~BubbleConferenceHandler();
+
+protected:
+    void reset();
+
+    void readBubbleHeader( const BubbleHeader& header );
+
+    void setButtons(const QList<HbAction*>& actions);
+
+    QGraphicsWidget* graphicsWidgetForAction( HbAction* action ) const;
+    
+    void updateTimerDisplayNow();
+
+protected slots:
+    void handleItemSelected(int row);
+    void clearSelection();
+
+protected: //data
+    const BubbleConferenceHeader* mHeader;
+    HbLabel* mTimerLabel;
+    HbPushButton* mButtonCenter;
+    HbPushButton* mButtonLeft;
+    HbPushButton* mButtonRight;
+    HbListView* mList;
+    BubbleParticipantListModel* mModel;
+    BubbleParticipantListItem* mPrototype; // not owned
+    QTimer* mSelectionTimer;
+    };
+
+#endif /* BUBBLECONFERENCEHANDLER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferenceheader.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Conference call header
+*
+*/
+
+#include "bubbleconferenceheader.h"
+
+BubbleConferenceHeader::BubbleConferenceHeader()
+{
+    reset();
+}
+
+void BubbleConferenceHeader::reset()
+{
+    BubbleHeader::reset();
+
+    mExpanded = false;
+    mSelection = -1;
+
+    foreach(BubbleHeader* header,mHeaders) {
+        header->setInConference(false);
+    }
+    mHeaders.clear();
+
+    mParticipantListActions.clear();
+}
+
+void BubbleConferenceHeader::addHeader(BubbleHeader* header)
+{
+    header->setInConference(true);
+    mHeaders.append(header);
+}
+
+void BubbleConferenceHeader::removeHeader(int bubbleId)
+{
+    for(int i=0; i<mHeaders.count(); i++) {
+        if (mHeaders.at(i)->bubbleId()==bubbleId) {
+            mHeaders.at(i)->setInConference(false);
+            mHeaders.removeAt(i);            
+            break;
+        }
+    }
+}
+
+bool BubbleConferenceHeader::isConference() const
+{
+    return true;
+}
+
+QList<BubbleHeader*> BubbleConferenceHeader::headers() const
+{
+    return mHeaders;
+}
+
+void BubbleConferenceHeader::addParticipantListAction( HbAction* action )
+{
+    mParticipantListActions.append( action );
+}
+
+const QList<HbAction*>& BubbleConferenceHeader::participantListActions() const
+{
+    return mParticipantListActions;
+}
+
+void BubbleConferenceHeader::clearParticipantListActions()
+{
+    mParticipantListActions.clear();
+}
+
+void BubbleConferenceHeader::setExpanded(bool expanded)
+{
+    mExpanded = expanded;
+}
+
+bool BubbleConferenceHeader::isExpanded() const
+{
+    return mExpanded;
+}
+
+void BubbleConferenceHeader::setSelectedHeader(int bubbleId)
+{
+    mSelection = bubbleId;
+}
+
+int BubbleConferenceHeader::selectedHeader() const
+{
+    return mSelection;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleconferenceheader.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Conference call header
+*
+*/
+
+#ifndef BUBBLECONFERENCEHEADER_H
+#define BUBBLECONFERENCEHEADER_H
+
+#include "bubbleheader.h"
+
+class BubbleConferenceHeader : public BubbleHeader
+{
+public:
+    BubbleConferenceHeader();
+
+    virtual void reset();
+
+    void addHeader(BubbleHeader* header);
+    void removeHeader(int bubbleId);
+
+    QList<BubbleHeader*> headers() const;
+
+    // header type
+    virtual bool isConference() const;
+
+    // participant list actions
+    void addParticipantListAction( HbAction* action );
+    const QList<HbAction*>& participantListActions() const;
+    void clearParticipantListActions();
+
+    // expanded
+    void setExpanded(bool expanded);
+    bool isExpanded() const;
+
+    // selection in list
+    void setSelectedHeader(int bubbleId);
+    int selectedHeader() const;
+
+private:
+    QList<BubbleHeader*> mHeaders;
+    QList<HbAction*> mParticipantListActions;
+    bool mExpanded;
+    int mSelection;
+};
+
+#endif // BUBBLECONFERENCEHEADER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 container.
+*
+*/
+
+#include <QtGui>
+#include <hbstyle.h>
+#include <hbframeitem.h>
+#include <hbframedrawer.h>
+#include "bubblecontainerwidget.h"
+#include "bubbleprimitives.h"
+#include "bubblestyleoption.h"
+
+BubbleContainerWidget::BubbleContainerWidget(
+    const QString& stylePluginName, QGraphicsItem* item)
+    : HbWidget(item), mStylePluginName(stylePluginName),
+      mBackground(0)
+{
+    setPluginBaseId(style()->registerPlugin(mStylePluginName));
+    Q_ASSERT(pluginBaseId()!=-1);
+
+    createPrimitives();
+    updatePrimitives();
+}
+
+BubbleContainerWidget::~BubbleContainerWidget()
+{
+    style()->unregisterPlugin(mStylePluginName);
+}
+
+void BubbleContainerWidget::createPrimitives()
+{
+    QGraphicsItem *background = style()->createPrimitive(
+        (HbStyle::Primitive)(pluginBaseId()+BP_Bubble_frame), this);
+    style()->setItemName(mBackground, "background");
+
+    delete mBackground;
+    mBackground =
+        qgraphicsitem_cast<HbFrameItem*>(background);
+}
+
+void BubbleContainerWidget::updatePrimitives()
+{
+    if (mBackground) {
+        BubbleStyleOption option;
+        style()->updatePrimitive(
+            mBackground, (HbStyle::Primitive)(pluginBaseId()+BP_Bubble_frame),
+            &option);
+        mBackground->setVisible(false); // background in drawn in paint()
+    }
+}
+
+void BubbleContainerWidget::mousePressEvent(
+    QGraphicsSceneMouseEvent * event)
+{
+    if (event->button() != Qt::LeftButton) {
+        event->ignore();
+        return;
+    }
+
+    mPressed = true;
+    event->accept();
+}
+
+void BubbleContainerWidget::mouseMoveEvent(
+    QGraphicsSceneMouseEvent *event)
+{
+    if (!(event->buttons() & Qt::LeftButton)) {
+        event->ignore();
+        return;
+    }
+
+    if ( !rect().contains(event->pos()) && mPressed ) {
+        ungrabMouse();
+        mPressed = false;
+    }
+}
+
+void BubbleContainerWidget::mouseReleaseEvent(
+    QGraphicsSceneMouseEvent * event)
+{
+    if (event->button() != Qt::LeftButton) {
+        event->ignore();
+        return;
+    }
+
+    if (mPressed) {
+        emit clicked();
+        mPressed = false;
+        event->accept();
+    }
+}
+
+void BubbleContainerWidget::paint(
+    QPainter *painter,
+    const QStyleOptionGraphicsItem *option,
+    QWidget *widget)
+{
+    Q_UNUSED(widget)
+    Q_UNUSED(option)
+
+    if (mBackground) {
+        mBackground->frameDrawer().paint(painter,boundingRect());
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblecontainerwidget.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 container
+*
+*/
+
+#ifndef BUBBLECONTAINERWIDGET_H
+#define BUBBLECONTAINERWIDGET_H
+
+#include <hbwidget.h>
+
+class HbFrameItem;
+
+class BubbleContainerWidget : public HbWidget
+{
+    Q_OBJECT
+
+public:
+    BubbleContainerWidget(const QString& stylePluginName,
+                          QGraphicsItem* item=0);
+    virtual ~BubbleContainerWidget();
+
+signals:
+    void clicked();
+
+private:
+    void createPrimitives();
+    void updatePrimitives();
+
+    void mousePressEvent( QGraphicsSceneMouseEvent * event );
+    void mouseMoveEvent( QGraphicsSceneMouseEvent *event );
+    void mouseReleaseEvent( QGraphicsSceneMouseEvent * event );
+
+    void paint(
+        QPainter *painter,
+        const QStyleOptionGraphicsItem *option,
+        QWidget *widget = 0);
+
+private:
+    QString mStylePluginName;
+    HbFrameItem* mBackground;
+    bool mPressed;
+};
+
+#endif // BUBBLECONTAINERWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblecore.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+HEADERS += ../inc/bubblemanager2.h \
+    src/bubbleimagewidget.h \
+    src/bubbleheader.h \
+    src/bubbleutils.h \
+    src/bubblebuttonstyle.h \
+    src/bubbleconferenceheader.h \
+    src/bubbleparticipantlistitem.h \
+    src/bubbleparticipantlistmodel.h \
+    src/bubblecontainerwidget.h \
+    src/bubbleheadingwidget.h \
+    src/bubblewidgetmanager.h \
+    src/bubblehandler.h \
+    src/bubbleexpandedhandler.h \
+    src/bubblecollapsedhandler.h \
+    src/bubbleconferencehandler.h
+SOURCES += src/bubblemanager2.cpp \
+    src/bubbleheader.cpp \
+    src/bubbleimagewidget.cpp \
+    src/bubbleutils.cpp \
+    src/bubblestyleoption.cpp \
+    src/bubblebuttonstyle.cpp \
+    src/bubbleconferenceheader.cpp \
+    src/bubbleparticipantlistitem.cpp \
+    src/bubbleparticipantlistmodel.cpp \
+    src/bubblecontainerwidget.cpp \
+    src/bubbleheadingwidget.cpp \
+    src/bubblewidgetmanager.cpp \
+    src/bubblehandler.cpp \
+    src/bubbleexpandedhandler.cpp \
+    src/bubblecollapsedhandler.cpp \
+    src/bubbleconferencehandler.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleexpandedhandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Expanded call bubble handler.
+*
+*/
+
+#include <QtGui>
+#include <hbaction.h>
+#include <hbpushbutton.h>
+#include <hbtextitem.h>
+
+#include "bubblemanager2.h"
+#include "bubbleexpandedhandler.h"
+#include "bubbleheader.h"
+#include "bubbleutils.h"
+#include "bubbleimagewidget.h"
+#include "bubbleheadingwidget.h"
+
+BubbleExpandedHandler::BubbleExpandedHandler(
+    BubbleWidgetManager& widgetManager,
+    BubbleWidgetManager::View view,
+    BubbleWidgetManager::Container container,
+    QObject* parent )
+    : BubbleHandler(widgetManager,view,container,parent)
+{
+    mHeading = qobject_cast<BubbleHeadingWidget*>(
+        widget(BubbleWidgetManager::Heading));
+    Q_ASSERT(mHeading);
+
+    mImage = qobject_cast<BubbleImageWidget*>(
+        widget(BubbleWidgetManager::Image));
+    Q_ASSERT(mImage);
+
+    mButtonCenter = qobject_cast<HbPushButton*>(
+        widget(BubbleWidgetManager::CenterButton));
+    Q_ASSERT(mButtonCenter);
+    mButtonLeft = qobject_cast<HbPushButton*>(
+        widget(BubbleWidgetManager::LeftButton));
+    Q_ASSERT(mButtonLeft);
+    mButtonRight = qobject_cast<HbPushButton*>(
+        widget(BubbleWidgetManager::RightButton));
+    Q_ASSERT(mButtonRight);
+
+    reset();
+}
+
+BubbleExpandedHandler::~BubbleExpandedHandler()
+{
+}
+
+void BubbleExpandedHandler::reset()
+{  
+    mHeader = 0;
+    mButtonCenter->hide();
+    mButtonCenter->setDown(false);
+    mButtonCenter->disconnect();
+    mButtonCenter->setText("");
+    mButtonLeft->hide();
+    mButtonLeft->setDown(false);
+    mButtonLeft->disconnect();
+    mButtonLeft->setText("");
+    mButtonRight->hide();
+    mButtonRight->setDown(false);
+    mButtonRight->disconnect();
+    mButtonRight->setText("");
+    mImage->hide();
+    mHeading->reset();
+}
+
+void BubbleExpandedHandler::readBubbleHeader(
+    const BubbleHeader& header )
+{
+    mHeader = &header;
+
+    mHeading->readBubbleHeader(header);
+
+    if (header.callImage().length()) {
+        mImage->setImage(header.callImage());
+        mImage->show();
+    }
+
+    setButtons(mHeader->actions());
+}
+
+void BubbleExpandedHandler::setButtons(const QList<HbAction*>& actions)
+{
+    if ( actions.count()==1 && mButtonCenter ) {
+        HbAction* action = actions.at(0);
+        mButtonCenter->setIcon( action->icon() );
+        connect(mButtonCenter, SIGNAL( clicked() ),
+                action, SLOT( trigger() ) );
+        BubbleUtils::setButtonStyleForAction(*mButtonCenter,*action);
+        mButtonCenter->show();
+    } else  if (actions.count()==2 && mButtonLeft && mButtonRight ) {
+        // Left button
+        HbAction* action1 = actions.at(0);
+        mButtonLeft->setIcon(action1->icon());
+        connect( mButtonLeft, SIGNAL( clicked() ),
+                 action1, SLOT( trigger() ) );
+        BubbleUtils::setButtonStyleForAction(*mButtonLeft,*action1);
+        mButtonLeft->show();
+        // Right button
+        HbAction* action2 = actions.at(1);
+        mButtonRight->setIcon( action2->icon() );
+        connect( mButtonRight, SIGNAL( clicked() ),
+                 action2, SLOT( trigger() ) );
+        BubbleUtils::setButtonStyleForAction(*mButtonRight,*action2);
+        mButtonRight->show();
+    }
+}
+
+QGraphicsWidget* BubbleExpandedHandler::graphicsWidgetForAction(
+    HbAction* action ) const
+{
+    if ( mButtonLeft->text() == action->text() ) {
+        return mButtonLeft;
+    } else if ( mButtonRight->text() == action->text() ) {
+        return mButtonRight;
+    } else if ( mButtonCenter->text() == action->text() ) {
+        return mButtonCenter;
+    } else {
+        return 0;
+    }
+}
+
+void BubbleExpandedHandler::updateTimerDisplayNow()
+{
+    mHeading->updateTimerDisplayNow();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleexpandedhandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,64 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Expanded call bubble handler.
+*
+*/
+
+#ifndef BUBBLEEXPANDEDHANDLER_H_
+#define BUBBLEEXPANDEDHANDLER_H_
+
+#include "bubblehandler.h"
+
+class BubbleHeader;
+class HbAction;
+class HbPushButton;
+class BubbleImageWidget;
+class BubbleHeadingWidget;
+
+class BubbleExpandedHandler : public BubbleHandler
+    {
+    Q_OBJECT
+
+public:
+    explicit BubbleExpandedHandler(
+            BubbleWidgetManager& widgetManager,
+            BubbleWidgetManager::View view,
+            BubbleWidgetManager::Container container,
+            QObject* parent = 0);
+    virtual ~BubbleExpandedHandler();
+
+protected:
+    void reset();
+
+    void readBubbleHeader( const BubbleHeader& header );
+
+    void setButtons(const QList<HbAction*>& actions);
+
+    QGraphicsWidget* graphicsWidgetForAction( HbAction* action ) const;
+
+    void updateTimerDisplayNow();
+
+protected: //data
+    const BubbleHeader* mHeader;
+
+    BubbleHeadingWidget* mHeading;
+
+    BubbleImageWidget* mImage;
+
+    HbPushButton* mButtonCenter;
+    HbPushButton* mButtonLeft;
+    HbPushButton* mButtonRight;
+    };
+
+#endif /* BUBBLEEXPANDEDHANDLER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblehandler.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Base class for bubble handlers.
+*
+*/
+
+#include <QtGui>
+#include "bubblehandler.h"
+#include "bubbleheader.h"
+
+BubbleHandler::BubbleHandler(
+    BubbleWidgetManager& widgetManager,
+    BubbleWidgetManager::View view,
+    BubbleWidgetManager::Container container,
+    QObject* parent )
+    : QObject( parent ), mWidgetManager(widgetManager),
+      mView(view), mContainer(container)
+{
+}
+
+BubbleHandler::~BubbleHandler()
+{
+}
+
+QGraphicsWidget* BubbleHandler::widget(
+    BubbleWidgetManager::Widget widget) const
+{
+    return mWidgetManager.widget(mView,mContainer,widget);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblehandler.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,59 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Base class for bubble handlers.
+*
+*/
+
+#ifndef BUBBLEHANDLER_H_
+#define BUBBLEHANDLER_H_
+
+#include <QObject>
+#include "bubblewidgetmanager.h"
+
+class BubbleHeader;
+class HbAction;
+class QGraphicsWidget;
+
+class BubbleHandler : public QObject
+    {
+    Q_OBJECT
+
+public:
+    explicit BubbleHandler(
+        BubbleWidgetManager& widgetManager,
+        BubbleWidgetManager::View view,
+        BubbleWidgetManager::Container container,
+        QObject* parent = 0);
+
+    virtual ~BubbleHandler();
+
+    virtual void reset() = 0;
+    virtual void readBubbleHeader( const BubbleHeader& header ) = 0;
+    virtual QGraphicsWidget* graphicsWidgetForAction(
+        HbAction* action ) const = 0;
+    virtual void updateTimerDisplayNow() = 0;
+
+protected:
+    QGraphicsWidget* widget(BubbleWidgetManager::Widget widget) const;
+
+signals:
+    void headerSelected(int bubbleId);
+
+private:
+    BubbleWidgetManager& mWidgetManager;
+    BubbleWidgetManager::View mView;
+    BubbleWidgetManager::Container mContainer;    
+    };
+
+#endif /* BUBBLEHANDLER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleheader.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,241 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Container for call data.
+*
+*/
+
+#include "bubbleheader.h"
+
+BubbleHeader::BubbleHeader()
+{
+    reset();
+}
+
+BubbleHeader::~BubbleHeader()
+{
+}
+
+void BubbleHeader::reset()
+{
+    mIsUsed = false;
+    mCallState = BubbleManager::None;
+    mNumberType = BubbleManager::NotSet;
+    mCallFlags = 0;
+    mText.clear();
+    mCli.clear();
+    mTimerCost.clear();
+    mSecondaryCli.clear();
+    mActions.clear();
+    mTextClip = Qt::ElideNone;
+    mSecondaryCliClip = Qt::ElideNone;
+    mCliClip = Qt::ElideNone;
+    mCallImage.clear();
+    mIsInConference = false;
+    mExpandAction = 0;
+}
+
+void BubbleHeader::setIsUsed( bool used )
+{
+    mIsUsed = used;
+}
+
+bool BubbleHeader::isUsed() const
+{
+    return mIsUsed;
+}
+
+void BubbleHeader::setBubbleId( int bubbleId )
+{
+    mBubbleId = bubbleId;   
+}
+
+int BubbleHeader::bubbleId() const
+{
+    return mBubbleId;
+}
+
+void BubbleHeader::setCallState( BubbleManager::PhoneCallState state )
+{
+    if (state == BubbleManager::Disconnected) {
+        if ( mCallState == BubbleManager::Waiting ||
+             mCallState == BubbleManager::Incoming ||
+             mCallState == BubbleManager::Alerting ||
+             mCallState == BubbleManager::Outgoing ||
+             mCallState == BubbleManager::AlertToDisconnected ) {
+            mCallState = BubbleManager::AlertToDisconnected;
+            return;
+            }
+        }
+
+    mCallState = state;
+}
+
+BubbleManager::PhoneCallState BubbleHeader::callState() const
+{
+    return mCallState;
+}
+
+void BubbleHeader::setCallFlags( int flags )
+{
+    mCallFlags = flags;
+}
+
+void BubbleHeader::setCallFlag( BubbleManager::PhoneCallFlags flag )
+{
+    if ( flag == BubbleManager::Normal ) {
+        mCallFlags = 0;
+        return;
+    }
+    
+    mCallFlags |= flag;
+}
+
+void BubbleHeader::removeCallFlag( BubbleManager::PhoneCallFlags flag )
+{
+    if ( flag == BubbleManager::Normal ) {
+        return;
+    }
+    
+    mCallFlags &= ~flag;
+}
+
+int BubbleHeader::callFlags() const
+{
+    return mCallFlags;
+}
+
+void BubbleHeader::setNumberType( BubbleManager::PhoneNumberType numberType )
+{
+    mNumberType = numberType;
+}
+
+BubbleManager::PhoneNumberType BubbleHeader::numberType() const
+{
+    return mNumberType;
+}
+
+void BubbleHeader::setText( 
+    const QString& text,
+    Qt::TextElideMode clip )
+{
+    mText = text;
+    mTextClip = clip;
+}
+
+const QString& BubbleHeader::text() const
+{
+    return mText;
+}
+
+Qt::TextElideMode BubbleHeader::textClipDirection() const
+{
+    return mTextClip;
+}
+
+void BubbleHeader::setCli( 
+    const QString& cli, 
+    Qt::TextElideMode clip )
+{
+    mCli = cli;
+    mCliClip = clip;
+}
+
+const QString& BubbleHeader::cli() const
+{
+    return mCli;
+}
+
+Qt::TextElideMode BubbleHeader::cliClipDirection() const
+{
+    return mCliClip;
+}
+
+void BubbleHeader::setSecondaryCli( 
+    const QString& cli, 
+    Qt::TextElideMode clip )
+{
+    mSecondaryCli = cli;
+    mSecondaryCliClip = clip;
+}
+
+const QString& BubbleHeader::secondaryCli() const
+{
+    return mSecondaryCli;
+}
+
+Qt::TextElideMode BubbleHeader::secondaryCliClipDirection() const
+{
+    return mSecondaryCliClip;
+}
+
+void BubbleHeader::setTimerCost( 
+    const QString& timerCost )
+{
+    mTimerCost = timerCost;
+}
+
+const QString& BubbleHeader::timerCost() const
+{
+    return mTimerCost;
+}
+
+void BubbleHeader::setCallImage( const QString& image )
+{
+    mCallImage = image;
+}
+
+const QString& BubbleHeader::callImage() const
+{
+    return mCallImage;
+}
+
+void BubbleHeader::addAction ( HbAction* action )
+{
+    mActions.append( action );
+}
+
+const QList<HbAction*>& BubbleHeader::actions() const
+{
+    return mActions;    
+}
+
+void BubbleHeader::clearActions()
+{
+    mActions.clear();
+}
+
+bool BubbleHeader::isConference() const
+{
+    return false;
+}
+
+void BubbleHeader::setInConference( bool inConference )
+{
+    mIsInConference = inConference;
+}
+
+bool BubbleHeader::isInConference() const
+{
+    return mIsInConference;
+}
+
+void BubbleHeader::setExpandAction( HbAction* action )
+{
+    mExpandAction = action;
+}
+
+HbAction* BubbleHeader::expandAction() const
+{
+    return mExpandAction;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleheader.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,125 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Container for call data.
+*
+*/
+
+#ifndef BUBBLEHEADER_H_
+#define BUBBLEHEADER_H_
+
+#include "bubblemanager2.h"
+
+class HbAction;
+
+class BubbleHeader
+    {
+public:
+    BubbleHeader();
+    virtual ~BubbleHeader();
+    
+public:
+    /**
+    * To put everything in initial state.
+    */
+    virtual void reset();
+    
+    // used
+    void setIsUsed( bool used );
+    bool isUsed() const;
+    
+    // bubble id
+    void setBubbleId( int bubbleId );
+    int bubbleId() const;
+
+    // call state
+    void setCallState( BubbleManager::PhoneCallState state );
+    BubbleManager::PhoneCallState callState() const;
+    
+    // call flags
+    void setCallFlags( int flags ); 
+    void setCallFlag( BubbleManager::PhoneCallFlags flag );
+    void removeCallFlag( BubbleManager::PhoneCallFlags flag );
+    int callFlags() const;
+    
+    // number type
+    void setNumberType( BubbleManager::PhoneNumberType numberType );
+    BubbleManager::PhoneNumberType numberType() const;
+    
+    // text "calling"
+    void setText( 
+        const QString& text,
+        Qt::TextElideMode clip );
+    const QString& text() const;
+    Qt::TextElideMode textClipDirection() const;
+
+    // call index or name
+    void setCli( 
+        const QString& cli, 
+        Qt::TextElideMode clip );
+    const QString& cli() const;
+    Qt::TextElideMode cliClipDirection() const;
+    
+    // number
+    void setSecondaryCli( 
+        const QString& cli, 
+        Qt::TextElideMode clip );
+    const QString& secondaryCli() const;
+    Qt::TextElideMode secondaryCliClipDirection() const;
+    
+    // timer or cost
+    void setTimerCost( 
+            const QString& timerCost );
+    const QString& timerCost() const;
+    
+    // caller image
+    void setCallImage( const QString& image );
+    const QString& callImage() const;
+    
+    // actions
+    void addAction( HbAction* action );
+    const QList<HbAction*>& actions() const; 
+    void clearActions();
+    
+    // header type
+    virtual bool isConference() const;
+
+    // conference participation
+    void setInConference( bool inConference );
+    bool isInConference() const;
+
+    // expand action
+    void setExpandAction( HbAction* action );
+    HbAction* expandAction() const;
+    
+private: //data
+    
+    bool mIsUsed;
+    int mBubbleId;
+    BubbleManager::PhoneCallState mCallState;
+    BubbleManager::PhoneNumberType mNumberType;
+    int mCallFlags; 
+    QString mText;
+    Qt::TextElideMode mTextClip;
+    QString mCli;
+    Qt::TextElideMode mCliClip;
+    QString mSecondaryCli;
+    Qt::TextElideMode mSecondaryCliClip;
+    QString mTimerCost;
+    QString mCallImage;
+    QList<HbAction*> mActions;
+    HbAction* mExpandAction;
+    bool mIsInConference;
+    };
+
+#endif /* BUBBLEHEADER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,224 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 heading widget
+*
+*/
+
+#include <hbstyle.h>
+#include <hbmainwindow.h>
+#include <hbevent.h>
+#include "bubbleheadingwidget.h"
+#include "bubbleprimitives.h"
+#include "bubblestyleoption.h"
+#include "bubblemanager2.h"
+#include "bubbleutils.h"
+#include "bubbleheader.h"
+
+BubbleHeadingWidget::BubbleHeadingWidget(
+    const QString& stylePluginName, QGraphicsItem* item)
+    : HbWidget(item), mStylePluginName(stylePluginName), mStatusIcon(0),
+      mNumberTypeIcon(0), mText1(0), mText2(0), mText3(0)
+{
+    setPluginBaseId(style()->registerPlugin(mStylePluginName));
+    Q_ASSERT(pluginBaseId()!=-1);
+
+    createPrimitives();
+}
+
+BubbleHeadingWidget::~BubbleHeadingWidget()
+{
+    style()->unregisterPlugin(mStylePluginName);
+}
+
+void BubbleHeadingWidget::reset()
+{
+    mHeader = 0;
+}
+
+void BubbleHeadingWidget::readBubbleHeader(const BubbleHeader& header)
+{
+    mHeader = &header;
+    updatePrimitives();
+}
+
+void BubbleHeadingWidget::createPrimitives()
+{
+    delete mText1;
+    mText1 = style()->createPrimitive(
+            (HbStyle::Primitive)(pluginBaseId()+BP_Text1_text), this);
+    style()->setItemName( mText1, "text_line_1" );
+
+    delete mText2;
+    mText2 = style()->createPrimitive(
+            (HbStyle::Primitive)(pluginBaseId()+BP_Text2_text), this);
+    style()->setItemName( mText2, "text_line_2" );
+
+    delete mText3;
+    mText3 = style()->createPrimitive(
+            (HbStyle::Primitive)(pluginBaseId()+BP_Text3_text), this);
+    style()->setItemName( mText3, "text_line_3" );
+
+    delete mStatusIcon;
+    mStatusIcon = style()->createPrimitive(
+            (HbStyle::Primitive)(pluginBaseId()+BP_CallStatus_icon), this);
+    style()->setItemName( mStatusIcon, "status_icon" );
+
+    delete mNumberTypeIcon;
+    mNumberTypeIcon = style()->createPrimitive(
+            (HbStyle::Primitive)(pluginBaseId()+BP_NumberType_icon), this);
+    style()->setItemName( mNumberTypeIcon, "number_type_icon" );
+}
+
+void BubbleHeadingWidget::updatePrimitives()
+{
+    BubbleStyleOption option;
+    initStyleOption(option);
+
+    if (mText1) {
+        style()->updatePrimitive(
+                mText1,
+                (HbStyle::Primitive)(pluginBaseId()+BP_Text1_text),
+                 &option);
+    }
+
+    if (mText2) {
+        style()->updatePrimitive(
+                mText2,
+                (HbStyle::Primitive)(pluginBaseId()+BP_Text2_text),
+                &option);
+    }
+
+    if (mText3) {
+        style()->updatePrimitive(
+                mText3,
+                (HbStyle::Primitive)(pluginBaseId()+BP_Text3_text),
+                &option);
+    }
+
+    if (mStatusIcon) {
+        style()->updatePrimitive(
+                mStatusIcon,
+                (HbStyle::Primitive)(pluginBaseId()+BP_CallStatus_icon),
+                &option);
+    }
+
+    if (mNumberTypeIcon) {
+        style()->updatePrimitive(
+                mNumberTypeIcon,
+                (HbStyle::Primitive)(pluginBaseId()+BP_NumberType_icon),
+                &option);
+    }
+
+    repolish();
+}
+
+void BubbleHeadingWidget::initStyleOption(BubbleStyleOption& option)
+{
+    HbWidget::initStyleOption(&option);
+
+    if (mHeader!=0) {
+        option.mCallState = mHeader->callState();
+        option.mCallFlags = mHeader->callFlags();
+
+        if (lines==3) {
+            BubbleUtils::setCallHeaderTexts3Lines( *mHeader, option );
+        } else if (lines==2) {
+            BubbleUtils::setCallHeaderTexts2Lines( *mHeader, option );
+        } else {
+            // todo: 1-line
+            BubbleUtils::setCallHeaderTexts2Lines( *mHeader, option );
+        }
+
+        mCallTimerTextLine = option.mTimerLineNumber;
+    }
+}
+
+void BubbleHeadingWidget::polishEvent()
+{
+    if (mText1 && mText2 && mText3) {
+        if (lines == 3) {
+            setLayout("three_lines");
+            mText1->setVisible(true);
+            mText2->setVisible(true);
+            mText3->setVisible(true);
+        } else if (lines == 2) {
+            setLayout("two_lines");
+            mText1->setVisible(true);
+            mText2->setVisible(true);
+            mText3->setVisible(false);
+        } else if (lines == 1) {
+            setLayout("one_line");
+            mText1->setVisible(true);
+            mText2->setVisible(true);
+            mText3->setVisible(false);
+        }
+    }
+
+    HbWidget::polishEvent();
+}
+
+int BubbleHeadingWidget::lineCount() const
+{
+    return lines;
+}
+
+void BubbleHeadingWidget::setLineCount(int count)
+{
+    lines = count;
+}
+
+QString BubbleHeadingWidget::layout() const
+{
+    return layoutOption;
+}
+
+void BubbleHeadingWidget::setLayout(const QString& layout)
+{
+    layoutOption = layout;
+}
+
+void BubbleHeadingWidget::updateTimerDisplayNow()
+{
+    if ( mHeader && ( mHeader->callState() == BubbleManager::Active ) ) {
+        BubbleStyleOption option;
+
+        if ( mCallTimerTextLine == 2 ) {
+            option.mText2 = mHeader->timerCost();
+            option.mText2Clip = Qt::ElideRight;
+            option.mTimerLineNumber = mCallTimerTextLine;
+            style()->updatePrimitive(
+                    mText2,
+                    (HbStyle::Primitive)(pluginBaseId()+BP_Text2_text),
+                    &option);
+        } else if ( mCallTimerTextLine == 3 ) {
+            option.mText3 = mHeader->timerCost();
+            option.mText3Clip = Qt::ElideRight;
+            option.mTimerLineNumber = mCallTimerTextLine;
+            style()->updatePrimitive(
+                    mText3,
+                    (HbStyle::Primitive)(pluginBaseId()+BP_Text3_text),
+                    &option);
+        }
+    }
+}
+
+void BubbleHeadingWidget::changeEvent(QEvent *event)
+{
+    if (event->type() == HbEvent::ThemeChanged) {
+        updatePrimitives();
+    }
+
+    HbWidget::changeEvent(event);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleheadingwidget.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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: Bubble heading widget
+*
+*/
+
+#ifndef BUBBLEHEADINGWIDGET_H
+#define BUBBLEHEADINGWIDGET_H
+
+#include <hbwidget.h>
+
+class BubbleStyleOption;
+class BubbleHeader;
+
+class BubbleHeadingWidget : public HbWidget
+{
+    Q_OBJECT
+    Q_PROPERTY(int lines READ lineCount WRITE setLineCount)
+    Q_PROPERTY(QString layoutOption READ layout WRITE setLayout)
+
+public:
+    BubbleHeadingWidget(const QString& stylePluginName, QGraphicsItem* item=0);
+    virtual ~BubbleHeadingWidget();
+
+    int lineCount() const;
+    void setLineCount(int count);
+
+    QString layout() const;
+    void setLayout(const QString& layout);
+
+    void reset();
+    void readBubbleHeader(const BubbleHeader& header);
+    void updateTimerDisplayNow();
+
+private:
+    void createPrimitives();
+    void updatePrimitives();
+    void initStyleOption(BubbleStyleOption& option);
+
+    void polishEvent();
+
+protected:
+    void changeEvent(QEvent *event);
+
+private:
+    QString mStylePluginName;
+
+    int lines;
+    QString layoutOption;
+
+    const BubbleHeader* mHeader;
+
+    // primitives
+    QGraphicsItem* mStatusIcon;
+    QGraphicsItem* mNumberTypeIcon;
+    QGraphicsItem* mText1;
+    QGraphicsItem* mText2;
+    QGraphicsItem* mText3;
+    int mCallTimerTextLine;
+};
+
+#endif // BUBBLEHEADINGWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Widget to display contact image.
+*
+*/
+
+#include <hblabel.h>
+#include "bubbleimagewidget.h"
+
+BubbleImageWidget::BubbleImageWidget(QGraphicsItem* parent)
+    : HbWidget(parent), mLabel(new HbLabel(this))
+{
+    mLabel->setAlignment(Qt::AlignCenter);
+    mLabel->setAspectRatioMode(Qt::KeepAspectRatioByExpanding);
+}
+
+BubbleImageWidget::~BubbleImageWidget()
+{
+}
+
+void BubbleImageWidget::setImage(const QString& name)
+{
+    if (name != mImageName) {
+        HbIcon icon(name);
+        mLabel->setIcon(icon);
+    }
+}
+
+void BubbleImageWidget::resizeEvent(
+    QGraphicsSceneResizeEvent *event)
+{
+    Q_UNUSED(event);
+    // set geometry without layout manager, because
+    // image size is not defined in docml
+    mLabel->setGeometry(rect());
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleimagewidget.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,43 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Widget to display contact image.
+*
+*/
+
+#ifndef BUBBLEIMAGEWIDGET_H_
+#define BUBBLEIMAGEWIDGET_H_
+
+#include <hbwidget.h>
+
+class HbLabel;
+
+class BubbleImageWidget : public HbWidget
+    {
+    Q_OBJECT
+    
+public:
+    explicit BubbleImageWidget( QGraphicsItem* parent = 0 );
+    virtual ~BubbleImageWidget();
+
+    void setImage(const QString& name);
+
+    void resizeEvent(
+        QGraphicsSceneResizeEvent * event );
+    
+private:
+    QString  mImageName;
+    HbLabel* mLabel;
+    };
+
+#endif /* BUBBLEIMAGEWIDGET_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblemanager2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,854 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  BubbleManager widget.
+*
+*/
+
+#include <QtGui>
+#include <QDebug>
+#include <QtAlgorithms>
+
+#include <hblabel.h>
+#include <hbstyle.h>
+#include <hbiconitem.h>
+#include <hbaction.h>
+#include <hbstackedlayout.h>
+#include <hbmainwindow.h>
+
+#include "bubblemanager2.h"
+#include "bubbleheader.h"
+#include "bubbleconferenceheader.h"
+#include "bubbleutils.h"
+#include "bubblewidgetmanager.h"
+#include "bubblehandler.h"
+
+
+BubbleManager::BubbleManager( QGraphicsItem *parent ) :
+    HbWidget( parent ),
+    mIsReadyToDraw(0),
+    mMuted(0),
+    mMutedIcon(0),
+    mSortHeaders(false),
+    mInitialized(false),
+    mBubbleSelectionDisabled(0)
+{
+    // allocate headers
+    BubbleHeader* header;
+    for ( int i = 0 ; i < BUBBLE_MAX_CALL_COUNT ; i++ ) {
+        header = new BubbleHeader;
+        header->setBubbleId( i );
+        mCallHeaders.append( header );
+    }
+
+    mConferenceHeader = new BubbleConferenceHeader();
+    mConferenceHeader->setBubbleId(BUBBLE_CONF_CALL_ID);
+
+    mWidgetManager = new BubbleWidgetManager(mDefaultStyleBaseId,this);
+    mWidgetManager->setStylePluginName(
+        BubbleUtils::stylePluginNameWithPath("bubblestyleplugin.dll"));
+
+    mMainLayout = new HbStackedLayout(this);
+    mMainLayout->setContentsMargins(0.0,0.0,0.0,0.0);
+    setLayout(mMainLayout);
+
+    // preload views on boot
+    mWidgetManager->view(BubbleWidgetManager::SingleCallView);
+}
+
+BubbleManager::~BubbleManager()
+{
+    qDeleteAll(mCallHeaders);
+    mCallHeaders.clear();
+    delete mConferenceHeader;
+}
+
+/**
+* Before making any changes to bubble headers, call this function so
+* manager can prapare for them properly.
+*/
+void BubbleManager::startChanges()
+{
+    mIsReadyToDraw++;
+    if ( mIsReadyToDraw > 1 ) {
+        return;
+    }
+    
+    if (parentItem()) {
+        // reset/hide on outlooks may result clearFocus() call,
+        // which means that there is no focused item. move focus
+        // to parent item, before reset/hide calls.
+        parentItem()->setFocus();
+    }
+
+    // invalidate current widgets
+    for (int i=0; i<mMainLayout->count(); i++) {
+        mMainLayout->itemAt(i)->graphicsItem()->hide();
+    }
+
+    // reset active handlers
+    foreach (BubbleHandler* handler, mActiveHandlers) {
+        handler->reset();
+    }
+    mActiveHandlers.clear();
+}
+
+/**
+* After the changes to bubble headers call this function so manager
+* can prepare bubbles to right places and check the drawing order.
+* Memory for arrays has been allocated beforehand.
+*/
+void BubbleManager::endChanges()
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    mIsReadyToDraw--;
+    if ( mIsReadyToDraw != 0 ) {
+        return;
+    }
+
+    if (!mInitialized) {
+        if (mainWindow()) {
+            mWidgetManager->handleOrientationChange(mainWindow()->orientation());
+            mInitialized=true;
+        }
+    }
+
+    // sort active headers
+    if ( mActiveHeaders.count() && mSortHeaders) {
+        qStableSort(mActiveHeaders.begin(),
+                    mActiveHeaders.end(),
+                    BubbleUtils::compareHeaders );
+        mSortHeaders = false;
+    }
+
+    // select view
+    QGraphicsWidget* view = selectView();
+
+    if (view) {
+        setViewData(view);
+        view->show();
+    }
+
+    // restore mute state
+    setPhoneMuted(mMuted);
+
+    update();
+}
+
+QGraphicsWidget* BubbleManager::selectView()
+{
+    QGraphicsWidget* view=0;
+    int bubbleCount = shownHeaderCount();
+
+    if (bubbleCount && isConferenceExpanded()) {
+        view = mWidgetManager->view(BubbleWidgetManager::ConferenceView);
+    } else {
+        switch(bubbleCount) {
+        case 1:
+            view = mWidgetManager->view(BubbleWidgetManager::SingleCallView);
+            break;
+        case 2:
+            view = mWidgetManager->view(BubbleWidgetManager::TwoCallsView);
+            break;
+        case 3:
+            view = mWidgetManager->view(BubbleWidgetManager::ThreeCallsView);
+            break;
+        default:
+            break;
+        }
+    }
+
+    if (view) {
+        if (addToLayout(view)) {
+            // connect signals
+            connectSignals(view);
+        }
+    }
+
+    return view;
+}
+
+bool BubbleManager::addToLayout(QGraphicsWidget* widget)
+{
+    Q_ASSERT(widget);
+
+    bool added=false;
+    int index = mMainLayout->indexOf(widget);
+    if (index == -1) {
+        mMainLayout->addItem(widget);
+        added=true;
+    }
+
+    return added;
+}
+
+void BubbleManager::removeFromLayout(QGraphicsWidget* widget)
+{
+    mMainLayout->removeItem(widget);
+}
+
+void BubbleManager::connectSignals(QGraphicsWidget* widget)
+{
+    QList<BubbleHandler*>* handlers = mWidgetManager->handlers(widget);
+    if (handlers) {
+        foreach (BubbleHandler* handler, *handlers) {
+            connect(handler,SIGNAL(headerSelected(int)),
+                    SLOT(showExpanded(int)));
+        }
+    }
+}
+
+void BubbleManager::setViewData(QGraphicsWidget* view)
+{
+    Q_ASSERT(view);
+
+    QList<BubbleHandler*>* handlers =
+            mWidgetManager->handlers(view);
+
+    if (handlers) {
+        if (isConferenceExpanded()) {
+            // only conference call is displayed
+            Q_ASSERT(handlers->count()==1);
+            BubbleHandler* handler = handlers->at(0);
+            handler->readBubbleHeader(*mConferenceHeader);
+            mActiveHandlers.append(handler);
+        } else {
+            int i=0;
+            foreach (BubbleHandler* handler, *handlers) {
+                findNextDrawableHeader(i);
+                handler->readBubbleHeader(*mActiveHeaders.at(i));
+                mActiveHandlers.append(handler);
+                i++;
+                if (i==mActiveHeaders.count()) {
+                    break;
+                }
+            }
+        }
+    }
+}
+
+/**
+* Takes a new call header in use.
+* Returns bubble idenfication number.
+*/
+int BubbleManager::createCallHeader()
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    quint8 index = 0;
+    while ( mCallHeaders[index]->isUsed( ) ) {
+        index++;
+        Q_ASSERT( index < mCallHeaders.size() );
+    }
+
+    BubbleHeader* header = mCallHeaders[index];
+
+    header->setIsUsed( true );
+
+    mActiveHeaders.insert( 0, header ); // in priority order
+
+    return header->bubbleId();
+}
+
+/**
+* Removes call header from use
+*/
+void BubbleManager::removeCallHeader( int bubbleId )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    for ( int i=0; i < mActiveHeaders.size(); i++ ) {
+        if ( mActiveHeaders[i]->bubbleId() == bubbleId ) {
+            mActiveHeaders[i]->reset();
+            mActiveHeaders.remove( i );
+            break;
+        }
+    }
+}
+
+/**
+* Finds header by bubble id.
+*/
+bool BubbleManager::findActiveHeader( int bubbleId, BubbleHeader*& header )
+{
+    header = 0;
+    for ( int i=0; i < mActiveHeaders.size(); i++ ) {
+        if ( mActiveHeaders[i]->bubbleId() == bubbleId ) {
+            header = mActiveHeaders[i];
+            break;
+        }
+    }
+
+    return header ? true : false;
+}
+
+void BubbleManager::findNextDrawableHeader(int& index) const
+{
+    while (mActiveHeaders.at(index)->isInConference()) {
+        index++;
+    }
+}
+
+/**
+* Sets call state to header.
+*/
+void BubbleManager::setState(
+    int bubbleId,
+    PhoneCallState state )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    BubbleManager::PhoneCallState oldState =
+        header->callState();
+
+    if ( shownHeaderCount()<3 &&
+         !header->isInConference() &&
+         (expandedBubble() != bubbleId) &&
+         (oldState==OnHold && state==Active) ) {
+        // send key swap -> make active call expanded
+        int i = mActiveHeaders.indexOf(header);
+        mActiveHeaders.remove(i);
+        mActiveHeaders.insert(0, header);
+    }
+
+    header->setCallState( state );
+}
+
+/**
+* Sets text label to header. For conf also.
+* Text to be seen in bubble ( e.g. 'on hold' )
+*/
+void BubbleManager::setLabel(
+    int bubbleId,
+    const QString& text,
+    Qt::TextElideMode clipDirection )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setText( text, clipDirection );
+}
+
+/**
+* Sets caller's line identification ( name or number) to header.
+* For conf also. Caller's CLI ( e.g. 'Mother' )
+*/
+void BubbleManager::setCli(
+    int bubbleId,
+    const QString& cliText,
+    Qt::TextElideMode clipDirection )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setCli( cliText, clipDirection );
+}
+
+/**
+* Updates caller's line identification ( name or number) to header.
+* Caller's CLI ( e.g. 'Daddy' )-
+*/
+void BubbleManager::updateCLI(
+    int bubbleId,
+    const QString& cliText,
+    Qt::TextElideMode clipDirection )
+{
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setCli( cliText, clipDirection );
+
+    // ToDo: take care of redrawing
+}
+
+/**
+* Number or voip adress, when phonebook name takes Cli.
+*/
+void BubbleManager::setSecondaryCli(
+    int bubbleId,
+    const QString& cliText,
+    Qt::TextElideMode clipDirection )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setSecondaryCli( cliText, clipDirection );
+}
+
+/**
+* Sets call time or cost text to header. For conf also.
+*/
+void BubbleManager::setCallTime(
+    int bubbleId,
+    const QString& callTime )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setTimerCost( 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 BubbleManager::updateCallTime(
+    int bubbleId,
+    const QString& callTime )
+{
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setTimerCost( callTime );
+
+    foreach (BubbleHandler* handler,mActiveHandlers) {
+        handler->updateTimerDisplayNow();
+    }
+}
+
+/**
+* Attach a call image to header.
+*/
+void BubbleManager::setCallObjectImage(
+    int bubbleId,
+    const QString& fileName )
+{
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setCallImage(fileName);
+}
+
+/**
+* Attach the theme call image to header.
+*/
+void BubbleManager::setCallObjectFromTheme(
+    int bubbleId )
+{
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setCallImage(":resources/qtg_large_avatar.svg");
+}
+
+/**
+* Sets call flags to header.
+*/
+void BubbleManager::setCallFlags(
+    int bubbleId,
+    int flags )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setCallFlags( flags );
+}
+
+/**
+* Sets call flags to header.
+*/
+void BubbleManager::setCallFlag(
+    int bubbleId,
+    PhoneCallFlags flag,
+    bool set )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    if ( set ) {
+        header->setCallFlag( flag );
+    }
+    else {
+        header->removeCallFlag( flag );
+    }
+}
+
+/**
+* Sets number type.
+*/
+void BubbleManager::setNumberType(
+    int bubbleId,
+    PhoneNumberType type )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->setNumberType( type );
+}
+
+/**
+* Sets phone muted/unmuted.
+* @param aIsMuted ETrue if phone is muted.
+*/
+void BubbleManager::setPhoneMuted(
+    bool muted )
+{
+    if (!mMutedIcon && muted) {
+        mMutedIcon = mWidgetManager->view(BubbleWidgetManager::MutedOverlay);
+        Q_ASSERT(mMutedIcon);
+        addToLayout(mMutedIcon);
+        mMutedIcon->setZValue(10.0);
+    }
+
+    mMuted = muted;
+    if (mMutedIcon) {
+        mMutedIcon->setVisible(mMuted);
+    }
+}
+
+/**
+* Creates a conference call based upon two calls. Bubbles must be
+* created first.
+*/
+int BubbleManager::createConference(
+    int bubble1,
+    int bubble2 )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    mConferenceHeader->setIsUsed(true);
+    mActiveHeaders.append(mConferenceHeader);
+    addRowToConference(bubble1);
+    addRowToConference(bubble2);
+    return mConferenceHeader->bubbleId();
+}
+
+/**
+* Splits conference call into invidual two calls. Call headers stays
+* in use. Headers' state will not be changed.
+*/
+void BubbleManager::removeConference()
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    mConferenceHeader->reset();
+    mSortHeaders = true;
+
+    for ( int i=0; i < mActiveHeaders.size(); i++ ) {
+        if ( mActiveHeaders[i]->bubbleId() == BUBBLE_CONF_CALL_ID ) {
+            mActiveHeaders.remove( i );
+            break;
+        }
+    }
+}
+
+/**
+* Adds new call to conference call.
+*/
+void BubbleManager::addRowToConference( int bubbleId )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+    
+    Q_ASSERT( !header->isInConference() );
+    Q_ASSERT( !header->isConference() );
+
+    mConferenceHeader->addHeader(header);
+}
+
+/**
+* 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 BubbleManager::removeRowFromConference( int bubbleId )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+    mConferenceHeader->removeHeader(bubbleId);
+    mSortHeaders = true;
+}
+
+/**
+* Counts calls in conference call.
+*/
+int BubbleManager::conferenceRowCount() const
+{
+    return mConferenceHeader->headers().count();
+}
+
+
+/**
+* Sets highlight to specified line in conference.
+*/
+void BubbleManager::setSelectionInConference( int rowNumber )
+{
+    Q_UNUSED(rowNumber)
+}
+
+/**
+* Sets highlight to specified bubble id in conference.
+*/
+void BubbleManager::setSelectionIdInConference( int bubbleId )
+{
+    Q_UNUSED(bubbleId)
+}
+
+/**
+* Gets highlighted item in conference.
+*/
+int BubbleManager::selectionInConference() const
+{
+    return -1;
+}
+
+/**
+* Gets highlighted item in conference.
+*/
+int BubbleManager::selectionIdInConference() const
+{
+    return mConferenceHeader->selectedHeader();
+}
+
+/**
+* Moves highligh one up if possible
+*/
+void BubbleManager::moveHighlightOneUpInConference()
+{
+// may be needed in non-touch
+}
+
+/**
+* Moves highligh one down if possible
+*/
+void BubbleManager::moveHighlightOneDownInConference()
+{
+// may be needed in non-touch
+}
+
+/**
+* Use this function to expand or shrink conference bubble.
+*/
+void BubbleManager::setExpandedConferenceCallHeader(
+    bool expanded )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+    if ( mConferenceHeader->isUsed() ) {
+        mConferenceHeader->setExpanded(expanded);
+    }
+}
+
+/**
+* Query: is conference expanded?
+*/
+bool BubbleManager::isConferenceExpanded( ) const
+{
+    return mConferenceHeader->isExpanded();
+}
+
+
+/**
+* Number of headers shown on the screen.
+*/
+int BubbleManager::shownHeaderCount() const
+{
+    QVectorIterator<BubbleHeader*> i(mActiveHeaders);
+    int count = 0;
+    while (i.hasNext()) {
+        if ( !i.next()->isInConference() ) {
+            count++;
+        }
+    }
+    return count;
+}
+
+/**
+* Set CLI used in participant list (text or phonenumber).
+*/
+void BubbleManager::setParticipantListCli(
+    int bubbleId,
+    ParticipantListCli aParticipantCli )
+{
+    Q_UNUSED(bubbleId)
+    Q_UNUSED(aParticipantCli)
+}
+
+void BubbleManager::addAction( int bubbleId, HbAction* action )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->addAction(action);
+}
+
+void BubbleManager::clearActions( int bubbleId )
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );     
+    Q_ASSERT( header );
+
+    header->clearActions();
+}
+
+QGraphicsWidget* BubbleManager::graphicsWidgetForAction(
+    HbAction* action ) const
+{
+    QGraphicsWidget* widget = 0;
+
+    foreach (BubbleHandler* handler,mActiveHandlers) {
+        widget = handler->graphicsWidgetForAction(action);
+        if (widget) {
+            break;
+        }
+    }
+
+    if (!widget) {
+        // check if it's expand action
+        QVectorIterator<BubbleHeader*> i(mActiveHeaders);
+        bool bubbleWidget=false;
+        while (i.hasNext()) {
+            BubbleHeader* h = i.next();
+            if ( h->expandAction() &&
+                 (h->expandAction()->text()==action->text()) ) {
+                bubbleWidget=true;
+                break;
+            }
+        }
+
+        if (bubbleWidget) {
+            if ( mActiveHandlers.count()==2 ) {
+                widget = mWidgetManager->container(
+                    BubbleWidgetManager::TwoCallsView,
+                    BubbleWidgetManager::CollapsedBubble );
+            } else if ( mActiveHandlers.count()==3 ) {
+                // return top most bubble
+                widget = mWidgetManager->container(
+                    BubbleWidgetManager::ThreeCallsView,
+                    BubbleWidgetManager::CollapsedBubble2 );
+            }
+        }
+    }
+
+    return widget;
+}
+
+void BubbleManager::addParticipantListAction(HbAction *action)
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+    mConferenceHeader->addParticipantListAction(action);
+}
+
+void BubbleManager::clearParticipantListActions()
+{
+    Q_ASSERT( mIsReadyToDraw > 0 );
+    mConferenceHeader->clearParticipantListActions();
+}
+
+int BubbleManager::expandedBubble() const
+{
+    // shall not be called without creating call headers first
+    Q_ASSERT(mActiveHeaders.count());
+
+    if (isConferenceExpanded()) {
+        return mConferenceHeader->bubbleId();
+    } else {
+        int i=0;
+        findNextDrawableHeader(i);
+        return mActiveHeaders.at(i)->bubbleId();
+    }
+}
+
+void BubbleManager::setExpandAction(int bubbleId, HbAction* action)
+{
+    BubbleHeader* header = 0;
+    findActiveHeader( bubbleId, header );
+    Q_ASSERT( header );
+    header->setExpandAction(action);
+}
+
+void BubbleManager::setBubbleSelectionDisabled(bool disabled)
+{
+    mBubbleSelectionDisabled = disabled;
+}
+
+void BubbleManager::handleOrientationChange(
+    Qt::Orientation orientation)        
+{
+    mWidgetManager->handleOrientationChange(orientation);
+}
+
+void BubbleManager::polishEvent()
+{
+    // for debugging - remove
+    HbWidget::polishEvent();
+}
+
+void BubbleManager::showExpanded( int bubbleId )
+{
+    if ( !mBubbleSelectionDisabled && (mActiveHeaders.count() > 1) ) {
+        int expanded = mActiveHeaders[0]->bubbleId();
+        if ( bubbleId != expanded ) {
+            startChanges();
+            // find header
+            BubbleHeader* header = 0;
+            for ( int i=0; i < mActiveHeaders.size(); i++ ) {
+                if ( mActiveHeaders[i]->bubbleId() == bubbleId ) {
+                    header = mActiveHeaders[i];
+                    mActiveHeaders.remove(i);
+                    break;
+                }
+            }
+
+            Q_ASSERT(header);
+
+            // set it first
+            mActiveHeaders.insert(0,header);
+            endChanges();
+
+            // trigger the expand action
+            HbAction* action = header->expandAction();
+            if (action) {
+                action->trigger();
+            }
+        }
+    }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,227 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: List item for conference participant list.
+*
+*/
+
+#include <QtGui>
+#include <hbiconitem.h>
+#include <hbframeitem.h>
+#include <hbtextitem.h>
+#include <hbiconitem.h>
+#include <hbaction.h>
+#include <hbpushbutton.h>
+#include <hblabel.h>
+
+#include "bubbleparticipantlistitem.h"
+#include "bubbleprimitives.h"
+#include "bubblestyleoption.h"
+#include "bubblebuttonstyle.h"
+
+BubbleParticipantListItem::BubbleParticipantListItem(
+    const QString& stylePluginName,
+    BubbleButtonStyle& buttonStyle,
+    QGraphicsItem *parent) :
+    HbListViewItem(parent),
+    mStylePluginName(stylePluginName),
+    mButtonStyle(buttonStyle),
+    mBackground(0),
+    mText(0),
+    mIcon(0),
+    mButton1(0),
+    mButton2(0),
+    mExpanded(false)
+{
+    mStylePluginBaseId = style()->registerPlugin(mStylePluginName);
+    Q_ASSERT(pluginBaseId()!=-1);
+}
+
+BubbleParticipantListItem::~BubbleParticipantListItem()
+{
+    if (prototype()==(HbAbstractViewItem*)this) {
+        style()->unregisterPlugin(mStylePluginName);
+    }
+}
+
+HbAbstractViewItem* BubbleParticipantListItem::createItem()
+{
+    return new BubbleParticipantListItem(*this);
+}
+
+void BubbleParticipantListItem::updateChildItems()
+{
+    setPluginBaseId(mStylePluginBaseId);
+    setFocusPolicy(Qt::ClickFocus); // to enable expanding
+
+    // create primitives
+    if (!mBackground) {
+        mBackground = style()->createPrimitive(
+                (HbStyle::Primitive)(pluginBaseId()+BP_Bubble_frame), this);
+        if ( mBackground ) {
+            style()->setItemName( mBackground, "background" );
+        }
+    }
+
+    if (!mText) {
+        mText = style()->createPrimitive(
+                (HbStyle::Primitive)(pluginBaseId()+BP_Text1_text), this);
+        if ( mText ) {
+            style()->setItemName( mText, "text" );
+        }
+    }
+
+    if (!mIcon) {
+        mIcon = style()->createPrimitive(
+                (HbStyle::Primitive)(pluginBaseId()+BP_CallStatus_icon), this);
+        if ( mIcon ) {
+            style()->setItemName( mIcon, "icon" );
+        }
+    }
+
+    BubbleParticipantListItem* p =
+            static_cast<BubbleParticipantListItem*>(prototype());
+
+    if (mExpanded && !mButton1) {
+        Q_ASSERT(p->mActions.count()==2);
+        HbAction* action = p->mActions.at(0);
+        mButton1 = new HbPushButton(this);
+        mButton1->setStyle(&mButtonStyle);
+        mButton1->setIcon(action->icon());
+        style()->setItemName( mButton1, "button-1" );
+        HbTextItem* label = static_cast<HbTextItem*>(
+            mButton1->primitive(HbStyle::P_PushButton_text));
+        if (label) {
+            label->setTextColor( Qt::white );
+        }
+
+        // connect first action
+        connect(mButton1,
+                SIGNAL(clicked()),
+                action,
+                SLOT(trigger()),
+                Qt::QueuedConnection);
+    } else {
+        delete mButton1;
+        mButton1 = 0;
+    }
+
+    if (mExpanded && !mButton2) {
+        Q_ASSERT(p->mActions.count()==2);
+        HbAction* action = p->mActions.at(1);
+        mButton2 = new HbPushButton(this);
+        mButton2->setStyle(&mButtonStyle);
+        mButton2->setIcon(action->icon());
+        style()->setItemName( mButton2, "button-2" );
+        HbTextItem* label = static_cast<HbTextItem*>(
+            mButton2->primitive(HbStyle::P_PushButton_text));
+        if (label) {
+            label->setTextColor( Qt::white );
+        }
+
+        // connect second action
+        connect(mButton2,
+                SIGNAL(clicked()),
+                action,
+                SLOT(trigger()),
+                Qt::QueuedConnection );
+
+    } else {
+        delete mButton2;
+        mButton2 = 0;
+    }
+
+    // update primitives
+    BubbleStyleOption option;
+    HbWidget::initStyleOption(&option);
+
+    // check canConvert()
+    option.mCallState = (BubbleManagerIF::PhoneCallState)
+                         modelIndex().data(Qt::DecorationRole).toInt();
+    option.mText1 = modelIndex().data(Qt::DisplayRole).toString();
+    option.mCliLineNumber = 1;
+
+
+    if (mBackground) {
+        style()->updatePrimitive(
+            mBackground,
+            (HbStyle::Primitive)(pluginBaseId()+BP_Bubble_frame),
+            &option);
+    }
+
+    if (mText) {
+        style()->updatePrimitive(
+            mText,
+            (HbStyle::Primitive)(pluginBaseId()+BP_Text1_text),
+            &option);
+    }
+
+    if (mIcon) {
+        style()->updatePrimitive(
+            mIcon,
+            (HbStyle::Primitive)(pluginBaseId()+BP_CallStatus_icon),
+            &option );
+    }
+
+    repolish();
+}
+
+void BubbleParticipantListItem::polish(HbStyleParameters& params)
+{
+    if (mExpanded) {
+        setProperty("layoutOption","expanded");
+    } else {
+        setProperty("layoutOption","collapsed");
+    }
+
+    HbWidget::polish(params);
+}
+
+void BubbleParticipantListItem::receivedFocus()
+{
+    HbListViewItem::receivedFocus();
+    BubbleParticipantListItem* p =
+        static_cast<BubbleParticipantListItem*>(prototype());
+    if ( p->mActions.count() == 2 ) {
+        // supports two buttons layout only
+
+        setExpanded(true);
+        emit p->selectionChanged(modelIndex().row());
+    }
+}
+
+void BubbleParticipantListItem::lostFocus()
+{
+    HbListViewItem::lostFocus();
+    setExpanded(false);
+}
+
+void BubbleParticipantListItem::setExpanded(bool expanded)
+{
+    mExpanded = expanded;
+    updateChildItems();
+}
+
+void BubbleParticipantListItem::addAction(HbAction* action)
+{
+    mActions.append(action);
+}
+
+void BubbleParticipantListItem::clearActions()
+{
+    mActions.clear();
+    mExpanded = false;
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistitem.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: List item for conference participant list.
+*
+*/
+
+#ifndef BUBBLEPARTICIPANTLISTITEM_H
+#define BUBBLEPARTICIPANTLISTITEM_H
+
+#include <hblistviewitem.h>
+
+class QGraphicsItem;
+class HbPushButton;
+class BubbleButtonStyle;
+class HbAction;
+
+class BubbleParticipantListItem : public HbListViewItem
+{
+    Q_OBJECT
+
+public:
+    BubbleParticipantListItem(
+        const QString& stylePluginName,
+        BubbleButtonStyle& buttonStyle,
+        QGraphicsItem *parent = 0);
+
+    ~BubbleParticipantListItem();
+
+    HbAbstractViewItem* createItem();
+
+    void updateChildItems();
+    void receivedFocus();
+    void lostFocus();
+    void setExpanded(bool expanded);
+    void addAction(HbAction* action);
+    void clearActions();
+
+signals:
+    void selectionChanged(int row);
+
+private:
+    void polish(HbStyleParameters& params);
+
+private:
+    QString mStylePluginName;
+    int mStylePluginBaseId;
+    BubbleButtonStyle& mButtonStyle;
+    QGraphicsItem* mBackground;
+    QGraphicsItem* mText;
+    QGraphicsItem* mIcon;
+    HbPushButton*  mButton1;
+    HbPushButton*  mButton2;
+    QList<HbAction*> mActions;
+
+    bool mExpanded;
+};
+
+#endif // BUBBLEPARTICIPANTLISTITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistmodel.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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: Model for conference participant list.
+*
+*/
+
+#include <QtCore>
+#include "bubbleparticipantlistmodel.h"
+
+class Participant
+{
+public:
+    int mBubbleId;
+    QString mName;
+    int mState;
+
+public:
+    Participant(int bubbleId, const QString &name, int state);
+
+};
+
+Participant::Participant(int bubbleId, const QString &name, int state) :
+    mBubbleId(bubbleId), mName(name), mState(state)
+{
+}
+
+
+BubbleParticipantListModel::BubbleParticipantListModel()
+{
+}
+
+BubbleParticipantListModel::~BubbleParticipantListModel()
+{
+    qDeleteAll(mParticipants);
+}
+
+int BubbleParticipantListModel::rowCount(const QModelIndex &parent) const
+{
+    Q_UNUSED(parent);
+    return mParticipants.count();
+}
+
+QVariant BubbleParticipantListModel::data(
+    const QModelIndex &index,
+    int role ) const
+{
+    Participant *player = mParticipants.at(index.row());
+
+    if (role == Qt::DisplayRole) {
+        return player->mName;
+    } else if (role == Qt::DecorationRole) {
+        return player->mState;
+    } else {
+        return QVariant();
+    }
+}
+
+void BubbleParticipantListModel::addParticipant(
+    int bubbleId,
+    const QString &name,
+    int state )
+{
+    Participant* p = new Participant(bubbleId,name,state);
+    mParticipants.append(p);
+}
+
+int BubbleParticipantListModel::bubbleId(int row)
+{
+    if (mParticipants.count()>=row) {
+        return mParticipants.at(row)->mBubbleId;
+    } else {
+        return -1;
+    }
+}
+
+void BubbleParticipantListModel::reset()
+{
+    qDeleteAll(mParticipants);
+    mParticipants.clear();
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleparticipantlistmodel.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,53 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Model for conference participant list.
+*
+*/
+
+#ifndef BUBBLEPARTICIPANTLISTMODEL_H
+#define BUBBLEPARTICIPANTLISTMODEL_H
+
+#include <QAbstractListModel>
+#include <QObject>
+
+class Participant; // helper class
+
+class BubbleParticipantListModel : public QAbstractListModel
+{
+    Q_OBJECT
+
+public:
+    BubbleParticipantListModel();
+    ~BubbleParticipantListModel();
+
+    void addParticipant(
+        int bubbleId,
+        const QString &name,
+        int state );
+
+    int bubbleId(int row);
+
+    void reset();
+
+    int rowCount(const QModelIndex &parent=QModelIndex()) const;
+
+    QVariant data( const QModelIndex &index,
+                   int role = Qt::DisplayRole ) const;
+
+private:
+    QList<Participant*> mParticipants;
+};
+
+
+#endif // BUBBLEPARTICIPANTLISTMODEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblestyleoption.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,59 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Bubble style option.
+*
+*/
+
+#include "bubblestyleoption.h"
+
+BubbleStyleOption::BubbleStyleOption(): HbStyleOption()
+{
+    type = (int)Type;
+    version = (int)Version;
+    mText1 = "";
+    mText2 = "";
+    mText3 = "";
+    mText1Clip = Qt::ElideNone;
+    mText2Clip = Qt::ElideNone;
+    mText3Clip = Qt::ElideNone;
+    mCliLineNumber = 0;
+    mTimerLineNumber = 0;
+    mCallState = BubbleManagerIF::None;
+    mCallFlags = 0;
+    mNumberType = BubbleManagerIF::NotSet;
+}
+
+BubbleStyleOption::BubbleStyleOption(const BubbleStyleOption &other) :
+    HbStyleOption(other)
+{
+    type = (int)Type;
+    version = (int)Version;
+    
+    mText1 = other.mText1;
+    mText2 = other.mText2;
+    mText3 = other.mText3;
+    mText1Clip = other.mText1Clip;
+    mText2Clip = other.mText2Clip;
+    mText3Clip = other.mText3Clip;
+    mCliLineNumber = other.mCliLineNumber;
+    mTimerLineNumber = other.mTimerLineNumber;
+    mCallState = other.mCallState;
+    mCallFlags = other.mCallFlags;
+    mNumberType = other.mNumberType;
+}
+
+BubbleStyleOption::~BubbleStyleOption()
+{
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,208 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Utility methods.
+*
+*/
+
+#include <hbiconitem.h>
+#include "bubblemanager2.h"
+#include "bubbleutils.h"
+#include "bubbleheader.h"
+#include "bubblestyleoption.h"
+#include "bubblebuttonstyle.h"
+#include "hbpushbutton.h"
+#include "hbaction.h"
+
+void BubbleUtils::setCallHeaderTexts3Lines(
+    const BubbleHeader& header,
+    BubbleStyleOption& option )
+{
+    switch( header.callState() ) {
+    case BubbleManager::Incoming:
+    case BubbleManager::Waiting:
+    case BubbleManager::AlertToDisconnected:
+    {
+        if ( header.secondaryCli().length() ) {
+            option.mText1.append( header.cli() );
+            option.mText1Clip = header.cliClipDirection();
+            option.mText2.append( header.secondaryCli() );
+            option.mText2Clip = header.secondaryCliClipDirection();
+            option.mText3.append( header.text() );
+            option.mText3Clip = header.textClipDirection();
+            option.mCliLineNumber = 1;
+        } else {
+            option.mText1.append( header.cli() );
+            option.mText1Clip = header.cliClipDirection();
+            option.mText2.append( header.text() );
+            option.mText2Clip = header.textClipDirection();
+            option.mCliLineNumber = 1;
+        }
+        break;
+    }
+    
+    case BubbleManager::Outgoing:
+    {
+        if ( header.secondaryCli().length() ) {
+            option.mText1.append( header.text() );
+            option.mText1Clip = header.textClipDirection();
+            option.mText2.append( header.cli() );
+            option.mText2Clip = header.cliClipDirection();
+            option.mText3.append( header.secondaryCli() );
+            option.mText3Clip = header.secondaryCliClipDirection();
+            option.mCliLineNumber = 2;
+        } else {
+            option.mText1.append( header.text() );
+            option.mText1Clip = header.textClipDirection();
+            option.mText2.append( header.cli() );
+            option.mText2Clip = header.cliClipDirection();
+            option.mCliLineNumber = 2;
+        }
+        break;
+    }
+
+    case BubbleManager::Active:
+    case BubbleManager::Alerting:
+    {
+        if ( header.secondaryCli().length() ) {
+            option.mText1.append( header.cli() );
+            option.mText1Clip = header.cliClipDirection();
+            option.mText2.append( header.secondaryCli() );
+            option.mText2Clip = header.secondaryCliClipDirection();
+            option.mText3.append( header.timerCost() );
+            option.mText3Clip = Qt::ElideRight;
+            option.mCliLineNumber = 1;
+            option.mTimerLineNumber = 3;
+        } else {
+            option.mText1.append( header.cli() );
+            option.mText1Clip = header.cliClipDirection();
+            option.mText2.append( header.timerCost() );
+            option.mText2Clip = Qt::ElideRight;
+            option.mCliLineNumber = 1;
+            option.mTimerLineNumber = 2;
+        }
+        break;
+    }
+    
+    case BubbleManager::OnHold:
+    case BubbleManager::Disconnected:
+    {
+        if ( header.secondaryCli().length() ) {
+            option.mText1.append( header.cli() );
+            option.mText1Clip = header.cliClipDirection();
+            option.mText2.append( header.secondaryCli() );
+            option.mText2Clip = header.secondaryCliClipDirection();
+            option.mText3.append( header.text() );
+            option.mText3Clip = header.textClipDirection();
+            option.mCliLineNumber = 1;
+        } else {
+            option.mText1.append( header.cli() );
+            option.mText1Clip = header.cliClipDirection();
+            option.mText2.append( header.text() );
+            option.mText2Clip = header.textClipDirection();
+            option.mCliLineNumber = 1;
+        }
+        break;
+    }
+
+    default:
+        // do nothing
+        break;
+    } // switch
+}
+
+void BubbleUtils::setCallHeaderTexts2Lines(
+    const BubbleHeader& header,
+    BubbleStyleOption& option )
+{
+    switch( header.callState() ) {
+    case BubbleManager::Active:
+        option.mText1.append( header.cli() );
+        option.mText1Clip = header.cliClipDirection();
+        option.mText2.append( header.timerCost() );
+        option.mText2Clip = Qt::ElideRight;
+        option.mCliLineNumber = 1;
+        option.mTimerLineNumber = 2;
+        break;
+
+
+    case BubbleManager::OnHold:
+    case BubbleManager::Disconnected:
+        option.mText1.append( header.cli() );
+        option.mText1Clip = header.cliClipDirection();
+        option.mText2.append( header.text() );
+        option.mText2Clip = header.textClipDirection();
+        option.mCliLineNumber = 1;
+        break;
+
+    case BubbleManager::Waiting:
+    case BubbleManager::AlertToDisconnected:
+        option.mText1.append( header.cli() );
+        option.mText1Clip = header.cliClipDirection();
+        option.mText2.append( header.text() );
+        option.mText2Clip = header.textClipDirection();
+        option.mCliLineNumber = 1;
+        break;
+
+    default:
+        // do nothing
+        break;
+    } // switch
+}
+
+bool BubbleUtils::compareHeaders(
+    const BubbleHeader* header1,
+    const BubbleHeader* header2 )
+{
+    if ( header1->callState() < header2->callState() ) {
+        return false;
+    } else {
+        return true;
+    }
+}
+
+QString BubbleUtils::stylePluginNameWithPath(const QString& pluginName)
+{
+    QString nameWithPath;
+
+#if defined(Q_OS_SYMBIAN)
+    nameWithPath.append("z:/resource/qt/plugins/phone/");
+    nameWithPath.append(pluginName);
+#elif defined(Q_OS_WIN)
+    nameWithPath.append("c:/hb/bin/");
+    nameWithPath.append(pluginName);
+#else // Q_OS_UNIX
+    nameWithPath.append("/home/lib/");
+    nameWithPath.append(pluginName);
+#endif
+
+    return nameWithPath;
+}
+
+void BubbleUtils::setButtonStyleForAction(
+    HbPushButton& button,
+    const HbAction& action)
+{
+    BubbleButtonStyle* style =
+        static_cast<BubbleButtonStyle*>(button.style());
+
+    if (action.softKeyRole()==QAction::PositiveSoftKey) {
+        style->setButtonColor(BubbleButtonStyle::Green);
+    } else if (action.softKeyRole()==QAction::NegativeSoftKey) {
+        style->setButtonColor(BubbleButtonStyle::Red);
+    } else {
+        style->setButtonColor(BubbleButtonStyle::Default);
+    }
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubbleutils.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,51 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Utility methods.
+*
+*/
+
+#ifndef BUBBLEUTILS_H_
+#define BUBBLEUTILS_H_
+
+#include <QString>
+
+class BubbleHeader;
+class BubbleCallIndicator;
+class HbIconItem;
+class BubbleStyleOption;
+class HbPushButton;
+class HbAction;
+
+class BubbleUtils
+    {
+public:
+    static void setCallHeaderTexts3Lines(
+        const BubbleHeader& header,
+        BubbleStyleOption& option );
+
+    static void setCallHeaderTexts2Lines(
+        const BubbleHeader& header,
+        BubbleStyleOption& option );
+
+    static bool compareHeaders(
+        const BubbleHeader* header1,
+        const BubbleHeader* header2 );
+
+    static QString stylePluginNameWithPath(const QString& pluginName);
+
+    static void setButtonStyleForAction(HbPushButton& button,
+                                        const HbAction& action);
+    };
+
+#endif /* BUBBLEUTILS_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,293 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Interface to HbDocumentLoader (DocML files).
+*
+*/
+
+#include <QtCore>
+#include <hbstyle.h>
+#include <hbdocumentloader.h>
+#include "bubblewidgetmanager.h"
+#include "bubblecontainerwidget.h"
+#include "bubbleimagewidget.h"
+#include "bubbleheadingwidget.h"
+#include "bubbleexpandedhandler.h"
+#include "bubblecollapsedhandler.h"
+#include "bubbleconferencehandler.h"
+#include "bubbleparticipantlistitem.h"
+#include "bubblebuttonstyle.h"
+#include "hbpushbutton.h"
+#include "hbtextitem.h"
+
+const char *BUBBLE_DOCUMENT_CONTENT = "content";
+
+// document loader
+class BubbleDocumentLoader : public HbDocumentLoader
+{
+public:
+    BubbleDocumentLoader(const QString& stylePluginName);
+    virtual QObject *createObject(const QString& type,
+                                  const QString &name);
+private:
+    QString mStylePluginName;
+};
+
+
+BubbleWidgetManager::BubbleWidgetManager(int style, QObject* parent)
+    : QObject(parent), mStyleBaseId(style),mOrientation(Qt::Vertical)
+{
+    // .docml mappings
+    mFileNames.insert(SingleCallView,":/xml/bubble_layout_1.docml");
+    mFileNames.insert(TwoCallsView,  ":/xml/bubble_layout_2.docml");
+    mFileNames.insert(ThreeCallsView,":/xml/bubble_layout_3.docml");
+    mFileNames.insert(ConferenceView,":/xml/bubble_layout_4.docml");
+    mFileNames.insert(MutedOverlay,  ":/xml/bubble_layout_5.docml");
+
+    mOrientationName.insert(Qt::Vertical,   "portrait");
+    mOrientationName.insert(Qt::Horizontal, "landscape");
+
+    mWidgetPrefix.insert(ExpandedBubble, "eb:");
+    mWidgetPrefix.insert(CollapsedBubble,    "cb:");
+    mWidgetPrefix.insert(CollapsedBubble2,    "cb2:");
+    mContainerName.insert(ExpandedBubble, "expandedBubble");
+    mContainerName.insert(CollapsedBubble,   "collapsedBubble");
+    mContainerName.insert(CollapsedBubble2,   "collapsedBubble2");
+    mWidgetName.insert(Heading,        "bubbleHeading");
+    mWidgetName.insert(Image,          "callImage");
+    mWidgetName.insert(LeftButton,     "leftButton");
+    mWidgetName.insert(CenterButton,   "centerButton");
+    mWidgetName.insert(RightButton,    "rightButton");
+    mWidgetName.insert(ConferenceTimer,"callTimer");
+    mWidgetName.insert(ParticipantList,"participantList");
+
+    mButtonStyle.insert(LeftButton, new BubbleButtonStyle());
+    mButtonStyle.insert(CenterButton, new BubbleButtonStyle());
+    mButtonStyle.insert(RightButton, new BubbleButtonStyle());
+    mButtonStyle.insert(ParticipantListButton, new BubbleButtonStyle()); // not needed??
+}
+
+BubbleWidgetManager::~BubbleWidgetManager()
+{
+    qDeleteAll(mDocumentLoaders);
+    mDocumentLoaders.clear();
+
+    QList<int> keys = mDocumentHandlers.keys();
+    foreach (int key, keys) {
+        qDeleteAll(*mDocumentHandlers[key]);
+    }
+    qDeleteAll(mDocumentHandlers);
+    mDocumentHandlers.clear();
+
+    qDeleteAll(mButtonStyle);
+}
+
+QGraphicsWidget* BubbleWidgetManager::view(View view)
+{
+    if (mDocumentContent.contains(view)) {
+        // already loaded
+        return mDocumentContent[view];
+    } else {
+        // load from .docml
+        return loadDocument(view,mOrientation);
+    }
+}
+
+void BubbleWidgetManager::releaseView(View view)
+{
+    Q_UNUSED(view)
+}
+
+QGraphicsWidget* BubbleWidgetManager::loadDocument(
+    View view,
+    Qt::Orientation orientation)
+{
+    BubbleDocumentLoader* loader =
+        new BubbleDocumentLoader(mStylePluginName);
+    bool ok;
+
+    loader->load(mFileNames[view],&ok);
+    Q_ASSERT(ok);
+    loader->load(mFileNames[view],mOrientationName[orientation],&ok);
+    Q_ASSERT(ok);
+
+    mDocumentLoaders.insert(view,loader);
+
+    QGraphicsWidget* widget =
+        mDocumentLoaders[view]->findWidget(BUBBLE_DOCUMENT_CONTENT);
+
+    Q_ASSERT(widget);
+    widget->setVisible(false);
+    mDocumentContent.insert(view,widget);
+
+    applyCustomStyles(view);
+
+    if (view!=MutedOverlay) {
+        createDocumentHandlers(view);
+    }
+
+    return widget;
+}
+
+void BubbleWidgetManager::applyCustomStyles(View view)
+{
+    setButtonStyle(LeftButton, widget(view,ExpandedBubble,LeftButton));
+    setButtonStyle(CenterButton, widget(view,ExpandedBubble,CenterButton));
+    setButtonStyle(RightButton, widget(view,ExpandedBubble,RightButton));
+}
+
+void BubbleWidgetManager::setButtonStyle(Widget widget, QGraphicsWidget* button)
+{
+    HbPushButton* b;
+    b = qobject_cast<HbPushButton*>(button);
+    if (b) {
+        Q_ASSERT(mButtonStyle.contains(widget));
+        b->setStyle(mButtonStyle.value(widget));
+        HbTextItem* label =
+        static_cast<HbTextItem*>(b->primitive(HbStyle::P_PushButton_text));
+        if (label) {
+            label->setTextColor(Qt::white);
+        }
+    }
+}
+
+void BubbleWidgetManager::createDocumentHandlers(View view)
+{
+    Q_ASSERT(mDocumentLoaders.contains(view));
+
+    QList<BubbleHandler*>* handlers = new QList<BubbleHandler*>;
+
+    if (mDocumentLoaders[view]->findWidget(mContainerName[ExpandedBubble]) ) {
+        if (view==ConferenceView) {
+            BubbleConferenceHandler* handler =
+                new BubbleConferenceHandler(*this,view,ExpandedBubble);
+            handlers->append(handler);
+        } else {
+            BubbleExpandedHandler* handler =
+                new BubbleExpandedHandler(*this,view,ExpandedBubble);
+            handlers->append(handler);
+        }
+    }
+
+    if (mDocumentLoaders[view]->findWidget(mContainerName[CollapsedBubble]) ) {
+        BubbleCollapsedHandler* handler =
+            new BubbleCollapsedHandler(*this,view,CollapsedBubble);
+        handlers->append(handler);
+    }
+
+    if (mDocumentLoaders[view]->findWidget(mContainerName[CollapsedBubble2]) ) {
+        BubbleCollapsedHandler* handler =
+            new BubbleCollapsedHandler(*this,view,CollapsedBubble2);
+        handlers->append(handler);
+    }
+
+
+    mDocumentHandlers.insert(view,handlers);
+}
+
+QGraphicsWidget* BubbleWidgetManager::container(
+    View view,
+    Container container) const
+{
+    QGraphicsWidget* w=0;
+
+    if (mDocumentLoaders.contains(view)) {
+        w = mDocumentLoaders.value(view)->findWidget(
+            mContainerName[container]);
+    }
+
+    return w;
+}
+
+
+QGraphicsWidget* BubbleWidgetManager::widget(
+    View view,
+    Container container,
+    Widget widget ) const
+{
+    QGraphicsWidget* w=0;
+
+    if (mDocumentLoaders.contains(view)) {
+        QString name;
+        name.append(mWidgetPrefix.value(container));
+        name.append(mWidgetName.value(widget));
+        w = mDocumentLoaders.value(view)->findWidget(name);
+    }
+
+    return w;
+}
+
+QList<BubbleHandler*>* BubbleWidgetManager::handlers(
+    QGraphicsWidget* widget) const
+{
+    int doc = mDocumentContent.key(widget);
+    return mDocumentHandlers[doc];
+}
+
+void BubbleWidgetManager::handleOrientationChange(
+    Qt::Orientation orientation)
+{
+    if (mOrientation!=orientation) {
+        bool ok;
+        QList<int> docs = mDocumentLoaders.keys();
+        foreach (int doc, docs) {
+            mDocumentLoaders[doc]->load(
+                mFileNames[doc],mOrientationName.value(orientation),&ok);
+            Q_ASSERT(ok);
+        }
+        mOrientation = orientation;
+    }
+}
+
+QGraphicsWidget* BubbleWidgetManager::createParticipantListItem()
+{
+    return new BubbleParticipantListItem(mStylePluginName,
+                                         *mButtonStyle.value(ParticipantListButton));
+}
+
+void BubbleWidgetManager::setStylePluginName(const QString& name)
+{
+    mStylePluginName = name;
+}
+
+// custom widget loading
+BubbleDocumentLoader::BubbleDocumentLoader(const QString& stylePluginName)
+    : mStylePluginName(stylePluginName)
+{
+}
+
+QObject *BubbleDocumentLoader::createObject(
+    const QString& type,
+    const QString &name)
+{
+    if ( type == BubbleContainerWidget::staticMetaObject.className() ) {
+        QObject *object = new BubbleContainerWidget(mStylePluginName);
+        object->setObjectName(name);
+        return object;
+    }
+
+    if ( type == BubbleImageWidget::staticMetaObject.className() ) {
+        QObject *object = new BubbleImageWidget();
+        object->setObjectName(name);
+        return object;
+    }
+
+    if ( type == BubbleHeadingWidget::staticMetaObject.className() ) {
+        QObject *object = new BubbleHeadingWidget(mStylePluginName);
+        object->setObjectName(name);
+        return object;
+    }
+
+    return HbDocumentLoader::createObject(type, name);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblecore/src/bubblewidgetmanager.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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: Interface to HbDocumentLoader (DocML files).
+*
+*/
+
+#ifndef BUBBLEWIDGETMANAGER_H
+#define BUBBLEWIDGETMANAGER_H
+
+#include <QObject>
+#include <QMap>
+
+class QGraphicsWidget;
+class BubbleDocumentLoader;
+class BubbleHandler;
+class BubbleButtonStyle;
+
+class BubbleWidgetManager : public QObject
+{
+    Q_OBJECT
+
+public:
+    enum View
+    {
+        SingleCallView,
+        TwoCallsView,
+        ThreeCallsView,
+        ConferenceView,
+        MutedOverlay
+    };
+
+    enum Container
+    {
+        None,
+        ExpandedBubble,
+        CollapsedBubble, // top most when 2 calls
+        CollapsedBubble2 // top most when 3 calls
+    };
+
+    enum Widget
+    {
+        Heading,
+        Image,
+        LeftButton,
+        CenterButton,
+        RightButton,
+        ConferenceTimer,
+        ParticipantList,
+        ParticipantListItem,
+        ParticipantListButton
+    };
+
+public:
+    BubbleWidgetManager(int style, QObject* parent=0);
+    virtual ~BubbleWidgetManager();
+
+    QGraphicsWidget* view(View view);
+
+    void releaseView(View view);
+
+    QGraphicsWidget* container(View view,
+                               Container container) const;
+
+    QGraphicsWidget* widget(View view,
+                            Container container,
+                            Widget widget) const;
+
+    QList<BubbleHandler*>* handlers(QGraphicsWidget* widget) const;
+
+    QGraphicsWidget* createParticipantListItem();
+
+    void setStylePluginName(const QString& name);
+
+public slots:
+    void handleOrientationChange(Qt::Orientation orientation);
+
+private:
+    QGraphicsWidget* loadDocument(View view, Qt::Orientation orientation);
+    void createDocumentHandlers(View view);
+    void applyCustomStyles(View view);
+    void setButtonStyle(Widget widget, QGraphicsWidget* button);
+
+private:
+    int mStyleBaseId;
+    QString mStylePluginName;
+    Qt::Orientation mOrientation;
+    QMap<int,BubbleDocumentLoader*>  mDocumentLoaders;
+    QMap<int,QList<BubbleHandler*>*> mDocumentHandlers;
+    QMap<int,QGraphicsWidget*>       mDocumentContent;
+
+    QMap<int,QString> mFileNames;
+    QMap<int,QString> mContainerName;
+    QMap<int,QString> mWidgetPrefix;
+    QMap<int,QString> mWidgetName;
+    QMap<int,QString> mOrientationName;
+    QMap<int,BubbleButtonStyle*> mButtonStyle;
+};
+
+#endif // BUBBLEWIDGETMANAGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblemanager2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+#                                                                    
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).   
+# All rights reserved.                                                
+# This component and the accompanying materials are made available    
+# under the terms of "Eclipse Public License v1.0"    
+# which accompanies this distribution, and is available               
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".   
+#                                                                     
+# Initial Contributors:                                               
+# Nokia Corporation - initial contribution.                           
+#                                                                     
+# Contributors:                                                       
+#                                                                     
+# Description:                                                        
+#                                                                     
+#
+
+TEMPLATE = subdirs
+CONFIG += ordered
+
+symbian: {
+    load(data_caging_paths)
+
+    include(./inc/api_headers.pri)
+
+    headers.sources = $$BUBBLEMGR2_API_HEADERS
+    headers.path = |../../inc
+    for(header, headers.sources):BLD_INF_RULES.prj_exports += "$$header $$headers.path/$$basename(header)"
+    
+    BLD_INF_RULES.prj_exports += \
+    "$${LITERAL_HASH}include <platform_paths.hrh>" \
+    "./rom/bubblemanager.iby    CORE_APP_LAYER_IBY_EXPORT_PATH(bubblemanager.iby)"
+
+    # qt plugin stub
+    pluginstub.sources += bubblestyleplugin.dll
+    pluginstub.path = $$QT_PLUGINS_BASE_DIR/phone
+    DEPLOYMENT += pluginstub
+    # for target
+    BLD_INF_RULES.prj_exports += \
+    "./qmakepluginstubs/bubblestyleplugin.qtplugin  /$$HW_ZDIR$$RESOURCE_FILES_DIR/qt/plugins/phone/bubblestyleplugin.qtplugin"    
+}
+
+SUBDIRS += ./bubblecore
+SUBDIRS += ./bubblestyle
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/bubblestyle.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+TEMPLATE = lib
+TARGET = bubblestyleplugin
+CONFIG += plugin hb
+INCLUDEPATH += . ../inc
+
+win32 {
+    INCLUDEPATH += c:/hb/include/hbcore c:/hb/include/hbwidgets
+    DESTDIR = c:/hb/lib
+    DLLDESTDIR = c:/hb/bin
+}
+
+symbian:TARGET.EPOCALLOWDLLDATA = 1
+symbian:TARGET.CAPABILITY = CAP_GENERAL_DLL
+symbian:TARGET.UID3 = 0x20029F89
+
+# Input
+include(src/bubblestyle.pri)
+RESOURCES += bubblestyle.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/bubblestyle.qrc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,18 @@
+<RCC>
+    <qresource prefix="/">
+        <file>resources/qgn_indi_call_diverted.svg</file>
+        <file alias="bubbleparticipantlistitem.widgetml">layout/bubbleparticipantlistitem.widgetml</file>
+        <file alias="bubbleparticipantlistitem.css">layout/bubbleparticipantlistitem.css</file>
+        <file alias="bubbleheadingwidget.widgetml">layout/bubbleheadingwidget.widgetml</file>
+        <file alias="bubbleheadingwidget.css">layout/bubbleheadingwidget.css</file>
+        <file alias="pri_large_red_handset.svg">resources/pri_large_red_handset.svg</file>
+        <file alias="pri_large_green_handset.svg">resources/pri_large_green_handset.svg</file>
+        <file alias="pri_large_yellow_handset.svg">resources/pri_large_yellow_handset.svg</file>
+        <file alias="qtg_large_voip_dialled_call.svg">resources/qtg_large_voip_dialled_call.svg</file>
+        <file alias="qtg_large_voip_missed_call.svg">resources/qtg_large_voip_missed_call.svg</file>
+        <file alias="qtg_large_voip_received_call.svg">resources/qtg_large_voip_received_call.svg</file>
+        <file alias="qtg_large_video_dialled_call.svg">resources/qtg_large_video_dialled_call.svg</file>
+        <file alias="qtg_large_video_missed_call.svg">resources/qtg_large_video_missed_call.svg</file>
+        <file alias="qtg_large_video_received_call.svg">resources/qtg_large_video_received_call.svg</file> 
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/layout/bubbleheadingwidget.css	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,60 @@
+
+BubbleHeadingWidget[layoutOption="three_lines"]
+{
+    layout: three_lines_layout;
+}
+
+BubbleHeadingWidget[layoutOption="two_lines"]
+{
+    layout: two_lines_layout;
+}
+
+BubbleHeadingWidget[layoutOption="one_line"]
+{
+    layout: one_line_layout;
+}
+
+BubbleHeadingWidget:text_line_1
+{
+    preferred-height: 4un;
+}
+
+BubbleHeadingWidget:text_line_2[layoutOption!="one_line"]
+{
+    preferred-height: 4un;
+}
+
+BubbleHeadingWidget:text_line_2[layoutOption="one_line"]
+{
+    preferred-height: 4un;
+    fixed-width:  23un;
+}
+
+BubbleHeadingWidget:text_line_3
+{
+    preferred-height: 4un;
+}
+
+BubbleHeadingWidget:status_icon[layoutOption!="one_line"]
+{
+    fixed-width:   8un;
+    fixed-height:  8un;
+}
+
+BubbleHeadingWidget:number_type_icon[layoutOption!="one_line"]
+{
+    fixed-height: 3un;
+    fixed-width:  3un;
+}
+
+BubbleHeadingWidget:status_icon[layoutOption="one_line"]
+{
+    fixed-width:   8un;
+    fixed-height:  8un;
+}
+
+BubbleHeadingWidget:number_type_icon[layoutOption="one_line"]
+{
+    fixed-height: 3un;
+    fixed-width:  3un;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/layout/bubbleheadingwidget.widgetml	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,69 @@
+<hbwidget version="0.1" type="be">  
+  <layout name="three_lines_layout" type="mesh">
+    <meshitem src="status_icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="status_icon" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="number_type_icon" srcEdge="RIGHT" dst="status_icon" dstEdge="RIGHT" spacing="0.75un"/>
+    <meshitem src="number_type_icon" srcEdge="BOTTOM" dst="status_icon" dstEdge="BOTTOM" spacing="0.75un"/>
+    
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT" spacing="-0.75un"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP" spacing=""/>
+    
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT" spacing="-0.75un"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM" spacing="-0.75un"/>
+    
+    <meshitem src="text_line_3" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT" spacing="-0.75un"/>
+    <meshitem src="text_line_3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_3" srcEdge="TOP" dst="text_line_2" dstEdge="BOTTOM" spacing="-0.75un"/>        
+  </layout>
+
+  <layout name="two_lines_layout" type="mesh">
+    <meshitem src="status_icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="status_icon" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="number_type_icon" srcEdge="RIGHT" dst="status_icon" dstEdge="RIGHT" spacing="0.75un"/>
+    <meshitem src="number_type_icon" srcEdge="BOTTOM" dst="status_icon" dstEdge="BOTTOM" spacing="0.75un"/>
+    
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT" spacing="-0.75un"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-0.75"/>
+    
+    <meshitem src="text_line_2" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT" spacing="-0.75un"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    <meshitem src="text_line_2" srcEdge="TOP" dst="text_line_1" dstEdge="BOTTOM" spacing="-0.75"/>
+  </layout>
+
+  <layout name="one_line_layout" type="mesh">
+    <meshitem src="status_icon" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+    <meshitem src="status_icon" srcEdge="TOP" dst="" dstEdge="TOP"/>
+    
+    <meshitem src="number_type_icon" srcEdge="RIGHT" dst="status_icon" dstEdge="RIGHT" spacing="0.75un"/>
+    <meshitem src="number_type_icon" srcEdge="BOTTOM" dst="status_icon" dstEdge="BOTTOM" spacing="0.75un"/>
+    
+    <meshitem src="text_line_1" srcEdge="LEFT" dst="status_icon" dstEdge="RIGHT" spacing="-0.75un"/>
+    <meshitem src="text_line_1" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-0.75un"/>
+    <meshitem src="text_line_1" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="24.0un"/>
+    
+    <meshitem src="text_line_2" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-0.75un"/>
+    <meshitem src="text_line_2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="10.0"/>
+  </layout>
+  
+</hbwidget>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/layout/bubbleparticipantlistitem.css	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,28 @@
+
+BubbleParticipantListItem[layoutOption="collapsed"] {
+    layout:collapsed;
+}
+
+BubbleParticipantListItem[layoutOption="expanded"] {
+    layout:expanded;
+}
+
+BubbleParticipantListItem::icon {
+    fixed-width: 5un;
+    fixed-height: 5un;
+}
+
+BubbleParticipantListItem::button-1 {
+    fixed-height: 10un;
+}
+
+BubbleParticipantListItem::button-2 {
+    fixed-height: 10un;
+}
+
+BubbleParticipantListItem::background{
+	left:0.0;
+	right:0.0;
+	top:0.0;
+	bottom:0.0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/layout/bubbleparticipantlistitem.widgetml	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,60 @@
+<hbwidget version="0.1" type="bl">
+
+  <layout name="collapsed" type="mesh">
+    
+    <meshitem src="icon" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="icon" srcEdge="RIGHT" dst="text" dstEdge="LEFT" />
+    <meshitem src="icon" srcEdge="CENTERV" dst="" dstEdge="CENTERV" />
+
+    <meshitem src="text" srcEdge="LEFT" dst="icon" dstEdge="RIGHT" />
+    <meshitem src="text" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    <meshitem src="text" srcEdge="CENTERV" dst="" dstEdge="CENTERV" />
+    
+    <meshitem src="background" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="background" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="background" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    <meshitem src="background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+
+  </layout>
+  
+  <layout name="expanded" type="mesh">
+    
+    <meshitem src="icon" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="icon" srcEdge="RIGHT" dst="text" dstEdge="LEFT" />
+    <meshitem src="icon" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un" />
+    <meshitem src="icon" srcEdge="BOTTOM" dst="button-1" dstEdge="TOP" spacing="1.0un" />
+
+    <meshitem src="text" srcEdge="LEFT" dst="icon" dstEdge="RIGHT" />
+    <meshitem src="text" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    <meshitem src="text" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-1.5un" />
+    
+    <meshitem src="button-1" srcEdge="RIGHT" dst="" dstEdge="CENTERH" spacing="1.0un"/>
+    <meshitem src="button-1" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-2.0un"/>
+    <meshitem src="button-1" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un"/>        
+    
+    <meshitem src="button-2" srcEdge="LEFT" dst="" dstEdge="CENTERH" spacing="-1.0un"/>
+    <meshitem src="button-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="2.0un" />
+    <meshitem src="button-2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="2.0un" />        
+   
+    <meshitem src="background" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="background" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="background" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    <meshitem src="background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+    
+  </layout>  
+
+</hbwidget>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/pri_large_green_handset.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="60px" height="60px" viewBox="0 0 60 60" enable-background="new 0 0 60 60" xml:space="preserve">
+<defs>
+</defs>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="423.0967" y1="-578.646" x2="429.6527" y2="-582.908" gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5609 -270.4865)">
+	<stop  offset="0.1333" style="stop-color:#A7E722"/>
+	<stop  offset="0.6303" style="stop-color:#428C0F"/>
+	<stop  offset="1" style="stop-color:#5CA617"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M19.081,33.911c2.089-3.597,4.591-6.497,7.281-9.189c2.593-2.591,6.72-5.3,8.562-6.256l9.604-10.282
+	c-0.845-0.3-3.693-0.464-7.279,0.616c-3.586,1.083-11.736,6.303-16.979,11.547c-5.242,5.246-9.727,12.347-10.581,14.595
+	c-1.343,3.541-1.221,7.445-0.929,8.581c0,0,0.34,1.034,1.144,2.377C10.248,46.476,19.081,33.911,19.081,33.911z"/>
+<path opacity="0.05" fill="#020202" d="M31.184,20.8c1.488-1.036,2.87-1.882,3.74-2.334L44.271,8.46
+	c-0.132-0.058-0.209-0.088-0.209-0.088c-0.247-0.088-0.642-0.162-1.124-0.219c-0.793,0.006-1.596,0.093-2.401,0.27
+	C34.843,9.673,31.019,14.958,31.184,20.8z"/>
+<path opacity="0.1" fill="#020202" d="M31.906,20.306c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04
+	c-0.146-0.063-0.233-0.098-0.233-0.098c-0.231-0.08-0.604-0.152-1.06-0.203c-0.751,0.006-1.51,0.087-2.27,0.253
+	C35.275,9.576,31.636,14.695,31.906,20.306z"/>
+<path opacity="0.1" fill="#020202" d="M44.079,8.263c-0.21-0.073-0.55-0.137-0.962-0.186c-0.681,0.006-1.369,0.08-2.06,0.231
+	c-5.087,1.116-8.426,5.984-7.978,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.424-10.088C44.178,8.302,44.079,8.263,44.079,8.263z
+	"/>
+<radialGradient id="SVGID_2_" cx="40.9697" cy="9.21" r="12.2872" gradientUnits="userSpaceOnUse">
+	<stop  offset="0" style="stop-color:#A7E722"/>
+	<stop  offset="0.6242" style="stop-color:#428C0F"/>
+	<stop  offset="1" style="stop-color:#5CA617"/>
+</radialGradient>
+<path fill="url(#SVGID_2_)" d="M34.924,18.466l0.929,1.55c0,0,15.101-6.784,14.084-8.038c-0.513-0.631-0.577-0.656-1.237-1.263
+	c-1.985-1.815-4.172-2.531-4.172-2.531c-0.186-0.063-0.481-0.12-0.845-0.161c-0.596,0.004-1.2,0.068-1.806,0.201
+	c-4.591,1.009-7.57,5.501-6.963,10.257C34.916,18.477,34.921,18.47,34.924,18.466z"/>
+<path opacity="0.1" fill="#020202" d="M17.483,34.106c-0.988-0.14-2.007-0.119-3.027,0.105c-2.418,0.53-4.376,2.066-5.646,4.131
+	c-0.367,2.35-0.25,4.407-0.05,5.18c0,0,0.34,1.034,1.144,2.377c0.29,0.482,6.54-8.264,8.556-11.107L17.483,34.106z"/>
+<path opacity="0.1" fill="#020202" d="M18.366,34.136c-0.989-0.14-2.008-0.118-3.029,0.105c-3.313,0.727-5.775,3.332-6.76,6.623
+	c-0.026,1.025,0.034,1.872,0.127,2.397c0.003,0.013,0.005,0.034,0.01,0.048c0,0,0.34,1.033,1.144,2.379
+	c0.3,0.498,6.981-8.888,8.75-11.384L18.366,34.136z"/>
+<radialGradient id="SVGID_3_" cx="437.4258" cy="-571.231" r="14.6198" gradientTransform="matrix(0.2095 0.9787 -0.9682 0.2124 -629.4526 -270.6148)" gradientUnits="userSpaceOnUse">
+	<stop  offset="0" style="stop-color:#A7E722"/>
+	<stop  offset="0.6242" style="stop-color:#428C0F"/>
+	<stop  offset="1" style="stop-color:#5CA617"/>
+</radialGradient>
+<path fill="url(#SVGID_3_)" d="M11.202,47.738c0.616,0.74,0.646,0.954,1.295,1.524c1.194,1.055,9.301-13.612,9.301-13.612
+	l-2.683-1.719c-0.941-0.111-1.914-0.079-2.89,0.136c-4.777,1.048-7.806,5.868-6.87,10.832C9.749,45.686,10.349,46.71,11.202,47.738z
+	"/>
+<path opacity="0.4" fill="#020202" d="M49.937,11.978c-0.179-0.22-0.381-0.446-0.578-0.67l-13.944,7.959l0.438,0.749
+	C35.853,20.016,50.953,13.231,49.937,11.978z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="422.2881" y1="-610.9287" x2="427.4786" y2="-594.4409" gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)">
+	<stop  offset="0" style="stop-color:#C6FF45"/>
+	<stop  offset="0.6788" style="stop-color:#387300"/>
+	<stop  offset="1" style="stop-color:#66A00E"/>
+</linearGradient>
+<path fill="url(#SVGID_4_)" d="M35.853,20.016l1.178,1.981c0.302,0.515,0.972,0.674,1.569,0.422l4.09-2.334l8.043-4.668
+	c0.632-0.363,0.878-1.119,0.549-1.686c0,0-0.333-0.501-1.349-1.751L35.853,20.016z"/>
+<path opacity="0.4" fill="#020202" d="M21.798,35.65l-0.725-0.472l-9.215,13.486c0.216,0.204,0.43,0.414,0.639,0.598
+	C13.691,50.317,21.798,35.65,21.798,35.65z"/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="439.6982" y1="-577.7549" x2="451.5232" y2="-564.7323" gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)">
+	<stop  offset="0" style="stop-color:#C6FF45"/>
+	<stop  offset="0.6788" style="stop-color:#387300"/>
+	<stop  offset="1" style="stop-color:#66A00E"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" d="M12.498,49.262c1.193,1.05,1.686,1.37,1.686,1.37c0.567,0.367,1.363,0.169,1.781-0.442l7.9-11.605
+	c0.419-0.614,0.307-1.411-0.26-1.777l-1.808-1.156L12.498,49.262z"/>
+<rect fill="none" width="60" height="60"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/pri_large_red_handset.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="60px" height="60px" viewBox="0 0 60 60" enable-background="new 0 0 60 60" xml:space="preserve">
+<defs>
+</defs>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="2876.6201" y1="367.9102" x2="2883.1765" y2="363.6479" gradientTransform="matrix(-0.5413 0.8408 -0.8408 -0.5413 1896.0922 -2198.2874)">
+	<stop  offset="0" style="stop-color:#FF7236"/>
+	<stop  offset="0.6242" style="stop-color:#BA1212"/>
+	<stop  offset="1" style="stop-color:#E8522A"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M19.072,29.698c4.021-1.066,7.842-1.348,11.646-1.35c3.666,0.002,8.5,1.004,10.479,1.631l14.061-0.48
+	c-0.385-0.81-2.283-2.939-5.582-4.711c-3.303-1.771-11.847-3.841-20.172-3.841S13.896,22.8,11.703,23.785
+	c-3.453,1.555-6.129,4.401-6.725,5.411c0,0-0.49,0.972-0.873,2.489C3.943,32.337,19.072,29.698,19.072,29.698z"/>
+<path opacity="0.05" fill="#020202" d="M36.902,28.984c1.785,0.32,3.359,0.699,4.295,0.995l13.684-0.467
+	c-0.053-0.134-0.086-0.21-0.086-0.21c-0.111-0.236-0.338-0.568-0.639-0.949c-0.566-0.557-1.195-1.063-1.889-1.508
+	C47.357,23.704,40.916,24.737,36.902,28.984z"/>
+<path opacity="0.1" fill="#020202" d="M37.762,29.146c1.424,0.28,2.654,0.586,3.436,0.833l13.729-0.47
+	c-0.059-0.148-0.096-0.233-0.096-0.233c-0.105-0.221-0.318-0.535-0.605-0.894c-0.535-0.526-1.129-1.006-1.783-1.426
+	C47.73,23.941,41.537,24.988,37.762,29.146z"/>
+<path opacity="0.1" fill="#020202" d="M54.885,29.238c-0.096-0.2-0.291-0.485-0.549-0.812c-0.484-0.478-1.023-0.911-1.619-1.293
+	c-4.387-2.808-10.189-1.726-13.584,2.303c0.834,0.19,1.547,0.38,2.064,0.543l13.797-0.47C54.928,29.336,54.885,29.238,54.885,29.238
+	z"/>
+<radialGradient id="SVGID_2_" cx="-362.4932" cy="2606.3809" r="14.0807" gradientTransform="matrix(0.7071 0.7071 -0.7071 0.7071 2153.4434 -1558.1849)" gradientUnits="userSpaceOnUse">
+	<stop  offset="0" style="stop-color:#FF7236"/>
+	<stop  offset="0.6242" style="stop-color:#BA1212"/>
+	<stop  offset="1" style="stop-color:#E8522A"/>
+</radialGradient>
+<path fill="url(#SVGID_2_)" d="M41.197,29.979l-0.439,1.752c0,0,15.475,5.881,15.643,4.275c0.084-0.809,0.057-0.872,0.018-1.768
+	c-0.119-2.688-1.16-4.74-1.16-4.74c-0.086-0.176-0.256-0.425-0.482-0.711c-0.424-0.419-0.898-0.801-1.42-1.135
+	c-3.959-2.533-9.242-1.463-12.176,2.329C41.184,29.981,41.191,29.979,41.197,29.979z"/>
+<path opacity="0.1" fill="#020202" d="M17.805,28.706c-0.6-0.797-1.334-1.503-2.215-2.065c-2.084-1.335-4.555-1.633-6.914-1.072
+	c-1.92,1.402-3.293,2.939-3.697,3.628c0,0-0.49,0.972-0.873,2.489c-0.135,0.546,10.469-1.219,13.904-1.805L17.805,28.706z"/>
+<path opacity="0.1" fill="#020202" d="M18.408,29.352c-0.6-0.799-1.336-1.504-2.217-2.067c-2.855-1.829-6.439-1.728-9.463-0.097
+	c-0.744,0.706-1.299,1.348-1.605,1.785c-0.006,0.011-0.02,0.027-0.027,0.04c0,0-0.49,0.972-0.873,2.491
+	c-0.141,0.564,11.221-1.348,14.236-1.862L18.408,29.352z"/>
+<radialGradient id="SVGID_3_" cx="2885.8242" cy="377.8994" r="14.6192" gradientTransform="matrix(-0.5439 0.8402 -0.8348 -0.5344 1899.8433 -2194.1335)" gradientUnits="userSpaceOnUse">
+	<stop  offset="0" style="stop-color:#FF7236"/>
+	<stop  offset="0.6242" style="stop-color:#BA1212"/>
+	<stop  offset="1" style="stop-color:#E8522A"/>
+</radialGradient>
+<path fill="url(#SVGID_3_)" d="M3.725,33.904c-0.088,0.959-0.219,1.131-0.162,1.993c0.098,1.591,16.201-3.049,16.201-3.049
+	l-0.682-3.112c-0.586-0.744-1.297-1.409-2.139-1.947c-4.119-2.637-9.67-1.369-12.518,2.802C4.148,31.425,3.848,32.573,3.725,33.904z
+	"/>
+<path opacity="0.4" fill="#020202" d="M56.4,36.007c0.029-0.282,0.047-0.585,0.064-0.883l-15.488-4.232l-0.219,0.84
+	C40.758,31.731,56.232,37.612,56.4,36.007z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="2875.8125" y1="335.625" x2="2881.0032" y2="352.1139" gradientTransform="matrix(-0.5413 0.8408 -0.8408 -0.5413 1896.0941 -2198.2864)">
+	<stop  offset="0" style="stop-color:#FF7236"/>
+	<stop  offset="0.6242" style="stop-color:#BA1212"/>
+	<stop  offset="1" style="stop-color:#E8522A"/>
+</linearGradient>
+<path fill="url(#SVGID_4_)" d="M40.758,31.731l-0.568,2.234c-0.15,0.577,0.211,1.163,0.811,1.408l4.543,1.241l8.988,2.387
+	c0.703,0.189,1.412-0.171,1.58-0.804c0,0,0.119-0.59,0.283-2.192L40.758,31.731z"/>
+<path opacity="0.4" fill="#020202" d="M19.764,32.849l-0.178-0.846L3.533,35.023c0.008,0.297,0.012,0.597,0.029,0.874
+	C3.66,37.488,19.764,32.849,19.764,32.849z"/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="2893.2236" y1="368.8027" x2="2905.0479" y2="381.8245" gradientTransform="matrix(-0.5413 0.8408 -0.8408 -0.5413 1896.0941 -2198.2869)">
+	<stop  offset="0" style="stop-color:#FF7236"/>
+	<stop  offset="0.6242" style="stop-color:#BA1212"/>
+	<stop  offset="1" style="stop-color:#E8522A"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" d="M3.563,35.897c0.102,1.587,0.225,2.161,0.225,2.161c0.141,0.66,0.844,1.083,1.572,0.946l13.793-2.62
+	c0.73-0.138,1.213-0.78,1.072-1.44l-0.461-2.096L3.563,35.897z"/>
+<rect fill="none" width="60" height="60"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/pri_large_yellow_handset.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="60px" height="60px" viewBox="0 0 60 60" enable-background="new 0 0 60 60" xml:space="preserve">
+<defs>
+</defs>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="20.3613" y1="20.2744" x2="26.6141" y2="26.4485">
+	<stop  offset="0" style="stop-color:#FEE16E"/>
+	<stop  offset="0.5939" style="stop-color:#D96900"/>
+	<stop  offset="1" style="stop-color:#FED43A"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M19.081,33.911c2.089-3.597,4.591-6.497,7.281-9.189c2.593-2.591,6.72-5.3,8.562-6.256l9.604-10.282
+	c-0.845-0.3-3.693-0.464-7.279,0.616c-3.586,1.083-11.736,6.303-16.979,11.547c-5.242,5.246-9.727,12.347-10.581,14.595
+	c-1.343,3.541-1.221,7.445-0.929,8.581c0,0,0.34,1.034,1.144,2.377C10.248,46.476,19.081,33.911,19.081,33.911z"/>
+<path opacity="0.05" fill="#020202" d="M31.184,20.8c1.488-1.036,2.87-1.882,3.74-2.334L44.271,8.46
+	c-0.132-0.058-0.209-0.088-0.209-0.088c-0.247-0.088-0.642-0.162-1.124-0.219c-0.793,0.006-1.596,0.093-2.401,0.27
+	C34.843,9.673,31.019,14.958,31.184,20.8z"/>
+<path opacity="0.1" fill="#020202" d="M31.906,20.306c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04
+	c-0.146-0.063-0.233-0.098-0.233-0.098c-0.231-0.08-0.604-0.152-1.06-0.203c-0.751,0.006-1.51,0.087-2.27,0.253
+	C35.275,9.576,31.636,14.695,31.906,20.306z"/>
+<path opacity="0.1" fill="#020202" d="M44.079,8.263c-0.21-0.073-0.55-0.137-0.962-0.186c-0.681,0.006-1.369,0.08-2.06,0.231
+	c-5.087,1.116-8.426,5.984-7.978,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.424-10.088C44.178,8.302,44.079,8.263,44.079,8.263z
+	"/>
+<radialGradient id="SVGID_2_" cx="43.6406" cy="10.1128" r="13.348" gradientUnits="userSpaceOnUse">
+	<stop  offset="0" style="stop-color:#FEE16E"/>
+	<stop  offset="0.6061" style="stop-color:#F1830A"/>
+	<stop  offset="1" style="stop-color:#FED43A"/>
+</radialGradient>
+<path fill="url(#SVGID_2_)" d="M34.924,18.466l0.929,1.55c0,0,15.101-6.784,14.084-8.038c-0.513-0.631-0.577-0.656-1.237-1.263
+	c-1.985-1.815-4.172-2.531-4.172-2.531c-0.186-0.063-0.481-0.12-0.845-0.161c-0.596,0.004-1.2,0.068-1.806,0.201
+	c-4.591,1.009-7.57,5.501-6.963,10.257C34.916,18.477,34.921,18.47,34.924,18.466z"/>
+<path opacity="0.1" fill="#020202" d="M17.483,34.106c-0.988-0.14-2.007-0.119-3.027,0.105c-2.418,0.53-4.376,2.066-5.646,4.131
+	c-0.367,2.35-0.25,4.407-0.05,5.18c0,0,0.34,1.034,1.144,2.377c0.29,0.482,6.54-8.264,8.556-11.107L17.483,34.106z"/>
+<path opacity="0.1" fill="#020202" d="M18.366,34.136c-0.989-0.14-2.008-0.118-3.029,0.105c-3.313,0.727-5.775,3.332-6.76,6.623
+	c-0.026,1.025,0.034,1.872,0.127,2.397c0.003,0.013,0.005,0.034,0.01,0.048c0,0,0.34,1.033,1.144,2.379
+	c0.3,0.498,6.981-8.888,8.75-11.384L18.366,34.136z"/>
+<radialGradient id="SVGID_3_" cx="437.4258" cy="-571.231" r="14.6198" gradientTransform="matrix(0.2095 0.9787 -0.9682 0.2124 -629.4526 -270.6148)" gradientUnits="userSpaceOnUse">
+	<stop  offset="0" style="stop-color:#FEE16E"/>
+	<stop  offset="0.6061" style="stop-color:#F1830A"/>
+	<stop  offset="1" style="stop-color:#FED43A"/>
+</radialGradient>
+<path fill="url(#SVGID_3_)" d="M11.202,47.738c0.616,0.74,0.646,0.954,1.295,1.524c1.194,1.055,9.301-13.612,9.301-13.612
+	l-2.683-1.719c-0.941-0.111-1.914-0.079-2.89,0.136c-4.777,1.048-7.806,5.868-6.87,10.832C9.749,45.686,10.349,46.71,11.202,47.738z
+	"/>
+<path opacity="0.5" fill="#020202" d="M49.937,11.978c-0.179-0.22-0.381-0.446-0.578-0.67l-13.944,7.959l0.438,0.749
+	C35.853,20.016,50.953,13.231,49.937,11.978z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="422.2881" y1="-610.9287" x2="427.4786" y2="-594.4409" gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)">
+	<stop  offset="0" style="stop-color:#FEE16E"/>
+	<stop  offset="0.7576" style="stop-color:#D96900"/>
+	<stop  offset="1" style="stop-color:#FED43A"/>
+</linearGradient>
+<path fill="url(#SVGID_4_)" d="M35.853,20.016l1.178,1.981c0.302,0.515,0.972,0.674,1.569,0.422l4.09-2.334l8.043-4.668
+	c0.632-0.363,0.878-1.119,0.549-1.686c0,0-0.333-0.501-1.349-1.751L35.853,20.016z"/>
+<path opacity="0.5" fill="#020202" d="M21.798,35.65l-0.725-0.472l-9.215,13.486c0.216,0.204,0.43,0.414,0.639,0.598
+	C13.691,50.317,21.798,35.65,21.798,35.65z"/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="439.6982" y1="-577.7549" x2="451.5232" y2="-564.7323" gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)">
+	<stop  offset="0" style="stop-color:#FEE16E"/>
+	<stop  offset="0.7576" style="stop-color:#D96900"/>
+	<stop  offset="1" style="stop-color:#FED43A"/>
+</linearGradient>
+<path fill="url(#SVGID_5_)" d="M12.498,49.262c1.193,1.05,1.686,1.37,1.686,1.37c0.567,0.367,1.363,0.169,1.781-0.442l7.9-11.605
+	c0.419-0.614,0.307-1.411-0.26-1.777l-1.808-1.156L12.498,49.262z"/>
+<rect fill="none" width="60" height="60"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/qgn_indi_call_diverted.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,6 @@
+<?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 width="32" height="32" viewBox="0 0 32 32">
+<polygon points="20.57,25.147 4.998,25.147 4.998,28.813 22.889,28.819 25.58,24.735 22.346,22.573 "/>
+<polygon points="20.492,21.345 22.346,22.573 25.58,24.735 25.602,24.751 27.445,26.001 28.82,16.104 "/>
+</svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_video_dialled_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,153 @@
+<?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="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g>
+<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5609 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="422.2207" x2="428.7761" y1="-578.2104" y2="-582.472">
+<stop offset="0" style="stop-color:#A7E722"/>
+<stop offset="0.1333" style="stop-color:#A7E722"/>
+<stop offset="0.6303" style="stop-color:#428C0F"/>
+<stop offset="1" style="stop-color:#5CA617"/>
+</linearGradient>
+<path d="M18.469,33.146c2.09-3.596,4.591-6.497,7.281-9.19c2.594-2.589,6.72-5.299,8.562-6.254L43.916,7.42  c-0.846-0.3-3.693-0.465-7.279,0.616c-3.588,1.083-11.736,6.302-16.979,11.547C14.416,24.83,9.932,31.93,9.077,34.178  c-1.343,3.541-1.222,7.445-0.929,8.58c0,0,0.34,1.035,1.145,2.377C9.636,45.711,18.469,33.146,18.469,33.146z" fill="url(#SVGID_1_)"/>
+<path d="M30.573,20.037c1.488-1.037,2.869-1.883,3.74-2.335l9.346-10.006  c-0.131-0.057-0.209-0.088-0.209-0.088c-0.246-0.088-0.641-0.162-1.123-0.218c-0.793,0.005-1.596,0.093-2.402,0.27  C34.23,8.909,30.409,14.194,30.573,20.037z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M31.295,19.542c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04  c-0.146-0.063-0.234-0.098-0.234-0.098c-0.232-0.08-0.604-0.152-1.061-0.203c-0.75,0.006-1.508,0.087-2.27,0.253  C34.664,8.813,31.023,13.932,31.295,19.542z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M43.467,7.499c-0.209-0.073-0.549-0.137-0.963-0.186c-0.68,0.006-1.369,0.08-2.059,0.231  c-5.088,1.116-8.426,5.984-7.977,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.422-10.088C43.566,7.538,43.467,7.499,43.467,7.499z  " fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="46.6523" cy="-5.2056" gradientTransform="matrix(0.6122 0 0 0.6122 11.7943 11.6322)" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="20.0698">
+<stop offset="0" style="stop-color:#A7E722"/>
+<stop offset="0.6242" style="stop-color:#428C0F"/>
+<stop offset="1" style="stop-color:#5CA617"/>
+</radialGradient>
+<path d="M34.313,17.702l0.928,1.55c0,0,15.102-6.784,14.084-8.039c-0.514-0.631-0.576-0.656-1.238-1.262  c-1.984-1.815-4.17-2.531-4.17-2.531C43.73,7.357,43.434,7.3,43.07,7.258c-0.596,0.005-1.199,0.069-1.805,0.202  c-4.592,1.008-7.572,5.5-6.965,10.256C34.305,17.713,34.309,17.706,34.313,17.702z" fill="url(#SVGID_2_)"/>
+<path d="M16.873,33.344c-0.989-0.141-2.008-0.121-3.028,0.104c-2.417,0.531-4.375,2.066-5.646,4.131  c-0.367,2.35-0.25,4.408-0.05,5.18c0,0,0.34,1.035,1.145,2.377c0.289,0.484,6.539-8.264,8.555-11.107L16.873,33.344z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M17.755,33.373c-0.989-0.141-2.008-0.119-3.029,0.104c-3.313,0.727-5.776,3.332-6.76,6.623  C7.94,41.125,8,41.973,8.093,42.498c0.002,0.012,0.005,0.033,0.01,0.047c0,0,0.339,1.033,1.143,2.379  c0.3,0.498,6.981-8.887,8.75-11.383L17.755,33.373z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="437.749" cy="-560.2109" gradientTransform="matrix(0.1283 0.5992 -0.5928 0.13 -373.5847 -154.0506)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="23.8799">
+<stop offset="0" style="stop-color:#A7E722"/>
+<stop offset="0.6242" style="stop-color:#428C0F"/>
+<stop offset="1" style="stop-color:#5CA617"/>
+</radialGradient>
+<path d="M10.591,46.975c0.616,0.74,0.646,0.955,1.294,1.525c1.195,1.055,9.301-13.613,9.301-13.613  l-2.683-1.719c-0.941-0.111-1.913-0.08-2.889,0.135c-4.777,1.049-7.806,5.869-6.87,10.832C9.138,44.922,9.736,45.947,10.591,46.975z  " fill="url(#SVGID_3_)"/>
+<path d="M49.324,11.213c-0.178-0.219-0.381-0.445-0.578-0.669l-13.943,7.958l0.438,0.749  C35.24,19.252,50.342,12.468,49.324,11.213z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
+<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="421.4131" x2="426.6039" y1="-610.4937" y2="-594.0048">
+<stop offset="0" style="stop-color:#C6FF45"/>
+<stop offset="0.6788" style="stop-color:#387300"/>
+<stop offset="1" style="stop-color:#66A00E"/>
+</linearGradient>
+<path d="M35.24,19.252l1.178,1.98c0.301,0.515,0.973,0.673,1.57,0.423l4.09-2.335l8.043-4.667  c0.631-0.363,0.877-1.12,0.549-1.685c0,0-0.334-0.501-1.35-1.752L35.24,19.252z" fill="url(#SVGID_4_)"/>
+<path d="M21.186,34.887l-0.725-0.473l-9.214,13.488c0.215,0.203,0.429,0.412,0.638,0.598  C13.081,49.555,21.186,34.887,21.186,34.887z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
+<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="438.8232" x2="450.6482" y1="-577.3184" y2="-564.2958">
+<stop offset="0" style="stop-color:#C6FF45"/>
+<stop offset="0.6788" style="stop-color:#387300"/>
+<stop offset="1" style="stop-color:#66A00E"/>
+</linearGradient>
+<path d="M11.887,48.498c1.193,1.051,1.685,1.371,1.685,1.371c0.568,0.367,1.363,0.168,1.781-0.443  l7.901-11.605c0.418-0.615,0.307-1.412-0.261-1.777l-1.808-1.156L11.887,48.498z" fill="url(#SVGID_5_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="39.1182" x2="44.145" y1="48.6309" y2="48.6309">
+<stop offset="0" style="stop-color:#878A8C"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.6606" style="stop-color:#5B6163"/>
+<stop offset="1" style="stop-color:#959A9C"/>
+</linearGradient>
+<rect fill="url(#SVGID_6_)" height="7.535" width="4.896" x="39.184" y="44.863"/>
+<path d="M39.184,49.596c0.787,0.189,1.604,0.303,2.449,0.303c0.844,0,1.662-0.113,2.447-0.303v-4.121  h-4.896V49.596z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M39.184,48.982c0.787,0.191,1.604,0.303,2.449,0.303c0.844,0,1.662-0.111,2.447-0.303v-4.119  h-4.896V48.982z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_7_" x1="41.6328" x2="41.6328" y1="27.8325" y2="48.6499">
+<stop offset="0" style="stop-color:#F2F2F2"/>
+<stop offset="0.3212" style="stop-color:#E6E6E6"/>
+<stop offset="1" style="stop-color:#666666"/>
+</linearGradient>
+<path d="M41.633,48.674c-5.74,0-10.408-4.67-10.408-10.408c0-5.74,4.668-10.409,10.408-10.409  c5.738,0,10.408,4.668,10.408,10.409C52.041,44.004,47.371,48.674,41.633,48.674L41.633,48.674z" fill="url(#SVGID_7_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_8_" x1="41.6318" x2="41.6318" y1="28.4473" y2="48.0381">
+<stop offset="0" style="stop-color:#D1D7D9"/>
+<stop offset="0.0667" style="stop-color:#D1D7D9"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.6606" style="stop-color:#7C8487"/>
+<stop offset="1" style="stop-color:#ADB3B5"/>
+</linearGradient>
+<circle cx="41.632" cy="38.266" fill="url(#SVGID_8_)" r="9.796"/>
+<path d="M41.633,47.037c-5.102,0-9.268-4.059-9.445-9.115c-0.004,0.111-0.008,0.223-0.008,0.334  c0,5.211,4.24,9.451,9.453,9.451c5.211,0,9.451-4.24,9.451-9.451c0-0.111-0.004-0.223-0.008-0.334  C50.898,42.979,46.732,47.037,41.633,47.037z" fill="#FFFFFF" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M49.592,37.848c0,4.516-3.564,8.969-7.963,8.967c-4.395-0.002-7.957-4.457-7.957-8.971  c0.004-4.516,3.568-8.172,7.963-8.172C46.029,29.675,49.594,33.334,49.592,37.848z" fill="#231F20" fill-opacity="0.3" stroke-opacity="0.3"/>
+<path d="M41.629,46.15c-2.291,0-4.443-0.893-6.061-2.512c-1.619-1.619-2.51-3.773-2.508-6.063  c0-4.725,3.846-8.567,8.572-8.567c2.291,0,4.443,0.893,6.063,2.512c1.619,1.619,2.51,3.771,2.508,6.063  c0,4.725-3.846,8.566-8.57,8.566H41.629z" fill="#231F20" fill-opacity="0.2" stroke-opacity="0.2"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_9_" x1="41.6318" x2="41.6318" y1="29.5093" y2="45.4663">
+<stop offset="0" style="stop-color:#CFCFCF"/>
+<stop offset="0.1091" style="stop-color:#CFCFCF"/>
+<stop offset="0.6848" style="stop-color:#121212"/>
+<stop offset="1" style="stop-color:#A6A6A6"/>
+</linearGradient>
+<path d="M41.629,45.539c-2.127-0.002-4.125-0.83-5.629-2.334c-1.502-1.502-2.328-3.502-2.328-5.629  c0-4.387,3.572-7.956,7.961-7.956c2.127,0,4.125,0.83,5.629,2.333c1.504,1.504,2.33,3.504,2.33,5.631  c-0.002,4.387-3.572,7.955-7.959,7.955H41.629z" fill="url(#SVGID_9_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_10_" x1="41.6318" x2="41.6318" y1="30.1289" y2="44.8584">
+<stop offset="0" style="stop-color:#F2F2F2"/>
+<stop offset="1" style="stop-color:#606769"/>
+</linearGradient>
+<circle cx="41.632" cy="37.58" fill="url(#SVGID_10_)" r="7.347"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_11_" x1="41.6318" x2="41.6318" y1="31.4756" y2="43.6433">
+<stop offset="0" style="stop-color:#1A1A1A"/>
+<stop offset="0.503" style="stop-color:#343434"/>
+<stop offset="0.7515" style="stop-color:#9E9E9E"/>
+<stop offset="1" style="stop-color:#CFCFCF"/>
+</linearGradient>
+<path d="M41.633,43.701c-1.639,0-3.176-0.639-4.332-1.795c-1.154-1.156-1.791-2.693-1.791-4.33  c0-3.373,2.746-6.119,6.123-6.119c1.637,0,3.174,0.637,4.33,1.795c1.156,1.156,1.793,2.693,1.791,4.33  C47.754,40.957,45.008,43.701,41.633,43.701L41.633,43.701z" fill="url(#SVGID_11_)"/>
+<radialGradient cx="59.5957" cy="40.5771" gradientTransform="matrix(0.621 1.836735e-004 -1.836735e-004 0.6209 5.2261 12.8455)" gradientUnits="userSpaceOnUse" id="SVGID_12_" r="10.1859">
+<stop offset="0" style="stop-color:#000000"/>
+<stop offset="0.5917" style="stop-color:#000000"/>
+<stop offset="0.627" style="stop-color:#050505"/>
+<stop offset="0.7652" style="stop-color:#121212"/>
+<stop offset="0.8876" style="stop-color:#171717"/>
+<stop offset="1" style="stop-color:#171717"/>
+</radialGradient>
+<circle cx="41.632" cy="37.579" fill="url(#SVGID_12_)" r="5.511"/>
+<radialGradient cx="53.6738" cy="32.9404" gradientTransform="matrix(0.621 0 0 0.6209 5.811 13.4188)" gradientUnits="userSpaceOnUse" id="SVGID_13_" r="16.2221">
+<stop offset="0" style="stop-color:#242424"/>
+<stop offset="0.4303" style="stop-color:#242424"/>
+<stop offset="0.7818" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000"/>
+</radialGradient>
+<circle cx="41.633" cy="37.58" fill="url(#SVGID_13_)" r="4.521"/>
+<radialGradient cx="56.7607" cy="30.0415" gradientTransform="matrix(0.621 1.836735e-004 -1.836735e-004 0.6209 5.2261 12.8455)" gradientUnits="userSpaceOnUse" id="SVGID_14_" r="17.797">
+<stop offset="0" style="stop-color:#A700F5"/>
+<stop offset="0.3091" style="stop-color:#A700F5"/>
+<stop offset="0.4364" style="stop-color:#5E008A"/>
+<stop offset="0.8061" style="stop-color:#0E1402"/>
+<stop offset="1" style="stop-color:#0E1402"/>
+</radialGradient>
+<path d="M45.672,37.58c0,2.232-1.809,4.041-4.041,4.039c-2.232,0-4.041-1.811-4.041-4.041  c0.002-2.232,1.813-4.039,4.041-4.039C43.865,33.541,45.676,35.35,45.672,37.58z" fill="url(#SVGID_14_)"/>
+<radialGradient cx="58.6514" cy="45.2432" gradientTransform="matrix(0.621 1.836735e-004 -1.836735e-004 0.6209 5.2261 12.8455)" gradientUnits="userSpaceOnUse" id="SVGID_15_" r="7.2256">
+<stop offset="0" style="stop-color:#48630C"/>
+<stop offset="0.7879" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000"/>
+</radialGradient>
+<path d="M45.672,37.58c0,2.232-1.809,4.041-4.041,4.039c-2.232,0-4.041-1.811-4.041-4.041  c0,0,1.385,2.465,4.041,2.465S45.672,37.58,45.672,37.58z" fill="url(#SVGID_15_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_16_" x1="41.6123" x2="41.6123" y1="32.7168" y2="37.5411">
+<stop offset="0" style="stop-color:#F8FBFF"/>
+<stop offset="1" style="stop-color:#808080"/>
+</linearGradient>
+<path d="M41.611,37.518c1.754,0,3.404-0.264,4.863-0.732  c-0.414-2.313-2.432-4.068-4.863-4.068c-2.43,0-4.445,1.756-4.861,4.068C38.207,37.254,39.859,37.518,41.611,37.518z" fill="url(#SVGID_16_)" fill-opacity="0.35" stroke-opacity="0.35"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_17_" x1="32.7676" x2="50.541" y1="51.5801" y2="51.5801">
+<stop offset="0" style="stop-color:#878A8C"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.6606" style="stop-color:#5B6163"/>
+<stop offset="1" style="stop-color:#959A9C"/>
+</linearGradient>
+<path d="M50.502,52.805c0.025-0.609,0.039-0.486,0.039-0.613v-0.033c0-0.996-0.816-1.803-1.824-1.803H34.592  c-1.008,0-1.824,0.807-1.824,1.803v0.033c0,0.127,0.014,0.004,0.039,0.613H50.502z" fill="url(#SVGID_17_)"/>
+<path d="M32.881,51.557H50.43c-0.08-0.225-0.203-0.426-0.361-0.6H33.242  C33.084,51.131,32.961,51.332,32.881,51.557z" fill="#FFFFFF" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M32.777,52.191c0.008,0.125,0.016,0.309,0.029,0.613h17.695  c0.012-0.305,0.021-0.488,0.027-0.613H32.777z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M33.24,50.957h16.826c-0.332-0.367-0.811-0.602-1.35-0.602H34.592  C34.053,50.355,33.574,50.59,33.24,50.957z" fill="#FFFFFF" fill-opacity="0.4" stroke-opacity="0.4"/>
+<rect fill="none" height="60" width="60"/>
+</g>
+<g>
+<linearGradient gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.3655 -29.0779)" gradientUnits="userSpaceOnUse" id="SVGID_1__" x1="17.3477" x2="17.3477" y1="31.0703" y2="55.8327">
+<stop offset="0" style="stop-color:#45E8FF"/>
+<stop offset="0.1455" style="stop-color:#45E8FF"/>
+<stop offset="0.5576" style="stop-color:#30A4D5"/>
+<stop offset="1" style="stop-color:#1347BA"/>
+</linearGradient>
+<polygon fill="url(#SVGID_1__)" points="25.381,14.288 15.027,3.528 4.573,14.288 10.207,14.288 10.21,26.582 19.865,26.584   19.863,14.288 "/>
+<linearGradient gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.3655 -29.0779)" gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="17.3701" x2="17.3701" y1="32.3115" y2="43.6498">
+<stop offset="0" style="stop-color:#B3FCFF"/>
+<stop offset="0.4182" style="stop-color:#B3FCFF"/>
+<stop offset="1" style="stop-color:#5FBAD8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2__)" points="4.897,14.286 15.026,3.888 25.104,14.288 25.801,14.288 15.027,3.17 4.199,14.286 "/>
+<line fill="#1D4489" x1="10.21" x2="19.865" y1="26.578" y2="26.58"/>
+<polygon fill="#33AEDB" points="19.867,26.83 10.21,26.828 10.21,26.328 19.866,26.33 19.867,26.83 "/>
+<rect fill="none" height="30" width="30"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_video_missed_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,148 @@
+<?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="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g>
+<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5609 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="422.2207" x2="428.7761" y1="-578.2104" y2="-582.472">
+<stop offset="0" style="stop-color:#A7E722"/>
+<stop offset="0.1333" style="stop-color:#A7E722"/>
+<stop offset="0.6303" style="stop-color:#428C0F"/>
+<stop offset="1" style="stop-color:#5CA617"/>
+</linearGradient>
+<path d="M18.469,33.146c2.09-3.596,4.591-6.497,7.281-9.19c2.594-2.589,6.72-5.299,8.562-6.254L43.916,7.42  c-0.846-0.3-3.693-0.465-7.279,0.616c-3.588,1.083-11.736,6.302-16.979,11.547C14.416,24.83,9.932,31.93,9.077,34.178  c-1.343,3.541-1.222,7.445-0.929,8.58c0,0,0.34,1.035,1.145,2.377C9.636,45.711,18.469,33.146,18.469,33.146z" fill="url(#SVGID_1_)"/>
+<path d="M30.573,20.037c1.488-1.037,2.869-1.883,3.74-2.335l9.346-10.006  c-0.131-0.057-0.209-0.088-0.209-0.088c-0.246-0.088-0.641-0.162-1.123-0.218c-0.793,0.005-1.596,0.093-2.402,0.27  C34.23,8.909,30.409,14.194,30.573,20.037z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M31.295,19.542c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04  c-0.146-0.063-0.234-0.098-0.234-0.098c-0.232-0.08-0.604-0.152-1.061-0.203c-0.75,0.006-1.508,0.087-2.27,0.253  C34.664,8.813,31.023,13.932,31.295,19.542z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M43.467,7.499c-0.209-0.073-0.549-0.137-0.963-0.186c-0.68,0.006-1.369,0.08-2.059,0.231  c-5.088,1.116-8.426,5.984-7.977,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.422-10.088C43.566,7.538,43.467,7.499,43.467,7.499z  " fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="46.6523" cy="-5.2056" gradientTransform="matrix(0.6122 0 0 0.6122 11.7943 11.6322)" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="20.0698">
+<stop offset="0" style="stop-color:#A7E722"/>
+<stop offset="0.6242" style="stop-color:#428C0F"/>
+<stop offset="1" style="stop-color:#5CA617"/>
+</radialGradient>
+<path d="M34.313,17.702l0.928,1.55c0,0,15.102-6.784,14.084-8.039c-0.514-0.631-0.576-0.656-1.238-1.262  c-1.984-1.815-4.17-2.531-4.17-2.531C43.73,7.357,43.434,7.3,43.07,7.258c-0.596,0.005-1.199,0.069-1.805,0.202  c-4.592,1.008-7.572,5.5-6.965,10.256C34.305,17.713,34.309,17.706,34.313,17.702z" fill="url(#SVGID_2_)"/>
+<path d="M16.873,33.344c-0.989-0.141-2.008-0.121-3.028,0.104c-2.417,0.531-4.375,2.066-5.646,4.131  c-0.367,2.35-0.25,4.408-0.05,5.18c0,0,0.34,1.035,1.145,2.377c0.289,0.484,6.539-8.264,8.555-11.107L16.873,33.344z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M17.755,33.373c-0.989-0.141-2.008-0.119-3.029,0.104c-3.313,0.727-5.776,3.332-6.76,6.623  C7.94,41.125,8,41.973,8.093,42.498c0.002,0.012,0.005,0.033,0.01,0.047c0,0,0.339,1.033,1.143,2.379  c0.3,0.498,6.981-8.887,8.75-11.383L17.755,33.373z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="437.749" cy="-560.2109" gradientTransform="matrix(0.1283 0.5992 -0.5928 0.13 -373.5847 -154.0506)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="23.8799">
+<stop offset="0" style="stop-color:#A7E722"/>
+<stop offset="0.6242" style="stop-color:#428C0F"/>
+<stop offset="1" style="stop-color:#5CA617"/>
+</radialGradient>
+<path d="M10.591,46.975c0.616,0.74,0.646,0.955,1.294,1.525c1.195,1.055,9.301-13.613,9.301-13.613  l-2.683-1.719c-0.941-0.111-1.913-0.08-2.889,0.135c-4.777,1.049-7.806,5.869-6.87,10.832C9.138,44.922,9.736,45.947,10.591,46.975z  " fill="url(#SVGID_3_)"/>
+<path d="M49.324,11.213c-0.178-0.219-0.381-0.445-0.578-0.669l-13.943,7.958l0.438,0.749  C35.24,19.252,50.342,12.468,49.324,11.213z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
+<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="421.4131" x2="426.6039" y1="-610.4937" y2="-594.0048">
+<stop offset="0" style="stop-color:#C6FF45"/>
+<stop offset="0.6788" style="stop-color:#387300"/>
+<stop offset="1" style="stop-color:#66A00E"/>
+</linearGradient>
+<path d="M35.24,19.252l1.178,1.98c0.301,0.515,0.973,0.673,1.57,0.423l4.09-2.335l8.043-4.667  c0.631-0.363,0.877-1.12,0.549-1.685c0,0-0.334-0.501-1.35-1.752L35.24,19.252z" fill="url(#SVGID_4_)"/>
+<path d="M21.186,34.887l-0.725-0.473l-9.214,13.488c0.215,0.203,0.429,0.412,0.638,0.598  C13.081,49.555,21.186,34.887,21.186,34.887z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
+<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="438.8232" x2="450.6482" y1="-577.3184" y2="-564.2958">
+<stop offset="0" style="stop-color:#C6FF45"/>
+<stop offset="0.6788" style="stop-color:#387300"/>
+<stop offset="1" style="stop-color:#66A00E"/>
+</linearGradient>
+<path d="M11.887,48.498c1.193,1.051,1.685,1.371,1.685,1.371c0.568,0.367,1.363,0.168,1.781-0.443  l7.901-11.605c0.418-0.615,0.307-1.412-0.261-1.777l-1.808-1.156L11.887,48.498z" fill="url(#SVGID_5_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="39.1182" x2="44.145" y1="48.6309" y2="48.6309">
+<stop offset="0" style="stop-color:#878A8C"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.6606" style="stop-color:#5B6163"/>
+<stop offset="1" style="stop-color:#959A9C"/>
+</linearGradient>
+<rect fill="url(#SVGID_6_)" height="7.535" width="4.896" x="39.184" y="44.863"/>
+<path d="M39.184,49.596c0.787,0.189,1.604,0.303,2.449,0.303c0.844,0,1.662-0.113,2.447-0.303v-4.121  h-4.896V49.596z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M39.184,48.982c0.787,0.191,1.604,0.303,2.449,0.303c0.844,0,1.662-0.111,2.447-0.303v-4.119  h-4.896V48.982z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_7_" x1="41.6328" x2="41.6328" y1="27.8325" y2="48.6499">
+<stop offset="0" style="stop-color:#F2F2F2"/>
+<stop offset="0.3212" style="stop-color:#E6E6E6"/>
+<stop offset="1" style="stop-color:#666666"/>
+</linearGradient>
+<path d="M41.633,48.674c-5.74,0-10.408-4.67-10.408-10.408c0-5.74,4.668-10.409,10.408-10.409  c5.738,0,10.408,4.668,10.408,10.409C52.041,44.004,47.371,48.674,41.633,48.674L41.633,48.674z" fill="url(#SVGID_7_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_8_" x1="41.6318" x2="41.6318" y1="28.4473" y2="48.0381">
+<stop offset="0" style="stop-color:#D1D7D9"/>
+<stop offset="0.0667" style="stop-color:#D1D7D9"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.6606" style="stop-color:#7C8487"/>
+<stop offset="1" style="stop-color:#ADB3B5"/>
+</linearGradient>
+<circle cx="41.632" cy="38.266" fill="url(#SVGID_8_)" r="9.796"/>
+<path d="M41.633,47.037c-5.102,0-9.268-4.059-9.445-9.115c-0.004,0.111-0.008,0.223-0.008,0.334  c0,5.211,4.24,9.451,9.453,9.451c5.211,0,9.451-4.24,9.451-9.451c0-0.111-0.004-0.223-0.008-0.334  C50.898,42.979,46.732,47.037,41.633,47.037z" fill="#FFFFFF" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M49.592,37.848c0,4.516-3.564,8.969-7.963,8.967c-4.395-0.002-7.957-4.457-7.957-8.971  c0.004-4.516,3.568-8.172,7.963-8.172C46.029,29.675,49.594,33.334,49.592,37.848z" fill="#231F20" fill-opacity="0.3" stroke-opacity="0.3"/>
+<path d="M41.629,46.15c-2.291,0-4.443-0.893-6.061-2.512c-1.619-1.619-2.51-3.773-2.508-6.063  c0-4.725,3.846-8.567,8.572-8.567c2.291,0,4.443,0.893,6.063,2.512c1.619,1.619,2.51,3.771,2.508,6.063  c0,4.725-3.846,8.566-8.57,8.566H41.629z" fill="#231F20" fill-opacity="0.2" stroke-opacity="0.2"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_9_" x1="41.6318" x2="41.6318" y1="29.5093" y2="45.4663">
+<stop offset="0" style="stop-color:#CFCFCF"/>
+<stop offset="0.1091" style="stop-color:#CFCFCF"/>
+<stop offset="0.6848" style="stop-color:#121212"/>
+<stop offset="1" style="stop-color:#A6A6A6"/>
+</linearGradient>
+<path d="M41.629,45.539c-2.127-0.002-4.125-0.83-5.629-2.334c-1.502-1.502-2.328-3.502-2.328-5.629  c0-4.387,3.572-7.956,7.961-7.956c2.127,0,4.125,0.83,5.629,2.333c1.504,1.504,2.33,3.504,2.33,5.631  c-0.002,4.387-3.572,7.955-7.959,7.955H41.629z" fill="url(#SVGID_9_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_10_" x1="41.6318" x2="41.6318" y1="30.1289" y2="44.8584">
+<stop offset="0" style="stop-color:#F2F2F2"/>
+<stop offset="1" style="stop-color:#606769"/>
+</linearGradient>
+<circle cx="41.632" cy="37.58" fill="url(#SVGID_10_)" r="7.347"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_11_" x1="41.6318" x2="41.6318" y1="31.4756" y2="43.6433">
+<stop offset="0" style="stop-color:#1A1A1A"/>
+<stop offset="0.503" style="stop-color:#343434"/>
+<stop offset="0.7515" style="stop-color:#9E9E9E"/>
+<stop offset="1" style="stop-color:#CFCFCF"/>
+</linearGradient>
+<path d="M41.633,43.701c-1.639,0-3.176-0.639-4.332-1.795c-1.154-1.156-1.791-2.693-1.791-4.33  c0-3.373,2.746-6.119,6.123-6.119c1.637,0,3.174,0.637,4.33,1.795c1.156,1.156,1.793,2.693,1.791,4.33  C47.754,40.957,45.008,43.701,41.633,43.701L41.633,43.701z" fill="url(#SVGID_11_)"/>
+<radialGradient cx="59.5957" cy="40.5771" gradientTransform="matrix(0.621 1.836735e-004 -1.836735e-004 0.6209 5.2261 12.8455)" gradientUnits="userSpaceOnUse" id="SVGID_12_" r="10.1859">
+<stop offset="0" style="stop-color:#000000"/>
+<stop offset="0.5917" style="stop-color:#000000"/>
+<stop offset="0.627" style="stop-color:#050505"/>
+<stop offset="0.7652" style="stop-color:#121212"/>
+<stop offset="0.8876" style="stop-color:#171717"/>
+<stop offset="1" style="stop-color:#171717"/>
+</radialGradient>
+<circle cx="41.632" cy="37.579" fill="url(#SVGID_12_)" r="5.511"/>
+<radialGradient cx="53.6738" cy="32.9404" gradientTransform="matrix(0.621 0 0 0.6209 5.811 13.4188)" gradientUnits="userSpaceOnUse" id="SVGID_13_" r="16.2221">
+<stop offset="0" style="stop-color:#242424"/>
+<stop offset="0.4303" style="stop-color:#242424"/>
+<stop offset="0.7818" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000"/>
+</radialGradient>
+<circle cx="41.633" cy="37.58" fill="url(#SVGID_13_)" r="4.521"/>
+<radialGradient cx="56.7607" cy="30.0415" gradientTransform="matrix(0.621 1.836735e-004 -1.836735e-004 0.6209 5.2261 12.8455)" gradientUnits="userSpaceOnUse" id="SVGID_14_" r="17.797">
+<stop offset="0" style="stop-color:#A700F5"/>
+<stop offset="0.3091" style="stop-color:#A700F5"/>
+<stop offset="0.4364" style="stop-color:#5E008A"/>
+<stop offset="0.8061" style="stop-color:#0E1402"/>
+<stop offset="1" style="stop-color:#0E1402"/>
+</radialGradient>
+<path d="M45.672,37.58c0,2.232-1.809,4.041-4.041,4.039c-2.232,0-4.041-1.811-4.041-4.041  c0.002-2.232,1.813-4.039,4.041-4.039C43.865,33.541,45.676,35.35,45.672,37.58z" fill="url(#SVGID_14_)"/>
+<radialGradient cx="58.6514" cy="45.2432" gradientTransform="matrix(0.621 1.836735e-004 -1.836735e-004 0.6209 5.2261 12.8455)" gradientUnits="userSpaceOnUse" id="SVGID_15_" r="7.2256">
+<stop offset="0" style="stop-color:#48630C"/>
+<stop offset="0.7879" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000"/>
+</radialGradient>
+<path d="M45.672,37.58c0,2.232-1.809,4.041-4.041,4.039c-2.232,0-4.041-1.811-4.041-4.041  c0,0,1.385,2.465,4.041,2.465S45.672,37.58,45.672,37.58z" fill="url(#SVGID_15_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_16_" x1="41.6123" x2="41.6123" y1="32.7168" y2="37.5411">
+<stop offset="0" style="stop-color:#F8FBFF"/>
+<stop offset="1" style="stop-color:#808080"/>
+</linearGradient>
+<path d="M41.611,37.518c1.754,0,3.404-0.264,4.863-0.732  c-0.414-2.313-2.432-4.068-4.863-4.068c-2.43,0-4.445,1.756-4.861,4.068C38.207,37.254,39.859,37.518,41.611,37.518z" fill="url(#SVGID_16_)" fill-opacity="0.35" stroke-opacity="0.35"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_17_" x1="32.7676" x2="50.541" y1="51.5801" y2="51.5801">
+<stop offset="0" style="stop-color:#878A8C"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.6606" style="stop-color:#5B6163"/>
+<stop offset="1" style="stop-color:#959A9C"/>
+</linearGradient>
+<path d="M50.502,52.805c0.025-0.609,0.039-0.486,0.039-0.613v-0.033c0-0.996-0.816-1.803-1.824-1.803H34.592  c-1.008,0-1.824,0.807-1.824,1.803v0.033c0,0.127,0.014,0.004,0.039,0.613H50.502z" fill="url(#SVGID_17_)"/>
+<path d="M32.881,51.557H50.43c-0.08-0.225-0.203-0.426-0.361-0.6H33.242  C33.084,51.131,32.961,51.332,32.881,51.557z" fill="#FFFFFF" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M32.777,52.191c0.008,0.125,0.016,0.309,0.029,0.613h17.695  c0.012-0.305,0.021-0.488,0.027-0.613H32.777z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M33.24,50.957h16.826c-0.332-0.367-0.811-0.602-1.35-0.602H34.592  C34.053,50.355,33.574,50.59,33.24,50.957z" fill="#FFFFFF" fill-opacity="0.4" stroke-opacity="0.4"/>
+<rect fill="none" height="60" width="60"/>
+</g>
+<g>
+<rect fill="none" height="30" width="30"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1__" x1="15.0005" x2="15.0005" y1="4.5283" y2="27.0492">
+<stop offset="0" style="stop-color:#FF7042"/>
+<stop offset="1" style="stop-color:#991B23"/>
+</linearGradient>
+<path d="M19.018,16.846v-4.316h4.535l-8.512-8.844l-8.592,8.844h4.631v4.316  c0,7.293,6.068,9.467,11.908,9.467v-6.422C21.189,19.891,19.018,19.002,19.018,16.846z" fill="url(#SVGID_1__)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="15.0005" x2="15.0005" y1="4.0146" y2="12.8168">
+<stop offset="0" style="stop-color:#FFBE82"/>
+<stop offset="1" style="stop-color:#991B23"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2__)" points="15.041,4.508 22.762,12.529 23.553,12.529 15.041,3.686 6.449,12.529 7.248,12.529 "/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_video_received_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,153 @@
+<?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="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g>
+<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5609 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="422.2207" x2="428.7761" y1="-578.2104" y2="-582.472">
+<stop offset="0" style="stop-color:#A7E722"/>
+<stop offset="0.1333" style="stop-color:#A7E722"/>
+<stop offset="0.6303" style="stop-color:#428C0F"/>
+<stop offset="1" style="stop-color:#5CA617"/>
+</linearGradient>
+<path d="M18.469,33.146c2.09-3.596,4.591-6.497,7.281-9.19c2.594-2.589,6.72-5.299,8.562-6.254L43.916,7.42  c-0.846-0.3-3.693-0.465-7.279,0.616c-3.588,1.083-11.736,6.302-16.979,11.547C14.416,24.83,9.932,31.93,9.077,34.178  c-1.343,3.541-1.222,7.445-0.929,8.58c0,0,0.34,1.035,1.145,2.377C9.636,45.711,18.469,33.146,18.469,33.146z" fill="url(#SVGID_1_)"/>
+<path d="M30.573,20.037c1.488-1.037,2.869-1.883,3.74-2.335l9.346-10.006  c-0.131-0.057-0.209-0.088-0.209-0.088c-0.246-0.088-0.641-0.162-1.123-0.218c-0.793,0.005-1.596,0.093-2.402,0.27  C34.23,8.909,30.409,14.194,30.573,20.037z" fill="#020202" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M31.295,19.542c1.205-0.809,2.291-1.462,3.018-1.84l9.377-10.04  c-0.146-0.063-0.234-0.098-0.234-0.098c-0.232-0.08-0.604-0.152-1.061-0.203c-0.75,0.006-1.508,0.087-2.27,0.253  C34.664,8.813,31.023,13.932,31.295,19.542z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M43.467,7.499c-0.209-0.073-0.549-0.137-0.963-0.186c-0.68,0.006-1.369,0.08-2.059,0.231  c-5.088,1.116-8.426,5.984-7.977,11.233c0.725-0.455,1.363-0.826,1.844-1.076l9.422-10.088C43.566,7.538,43.467,7.499,43.467,7.499z  " fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="46.6523" cy="-5.2056" gradientTransform="matrix(0.6122 0 0 0.6122 11.7943 11.6322)" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="20.0698">
+<stop offset="0" style="stop-color:#A7E722"/>
+<stop offset="0.6242" style="stop-color:#428C0F"/>
+<stop offset="1" style="stop-color:#5CA617"/>
+</radialGradient>
+<path d="M34.313,17.702l0.928,1.55c0,0,15.102-6.784,14.084-8.039c-0.514-0.631-0.576-0.656-1.238-1.262  c-1.984-1.815-4.17-2.531-4.17-2.531C43.73,7.357,43.434,7.3,43.07,7.258c-0.596,0.005-1.199,0.069-1.805,0.202  c-4.592,1.008-7.572,5.5-6.965,10.256C34.305,17.713,34.309,17.706,34.313,17.702z" fill="url(#SVGID_2_)"/>
+<path d="M16.873,33.344c-0.989-0.141-2.008-0.121-3.028,0.104c-2.417,0.531-4.375,2.066-5.646,4.131  c-0.367,2.35-0.25,4.408-0.05,5.18c0,0,0.34,1.035,1.145,2.377c0.289,0.484,6.539-8.264,8.555-11.107L16.873,33.344z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M17.755,33.373c-0.989-0.141-2.008-0.119-3.029,0.104c-3.313,0.727-5.776,3.332-6.76,6.623  C7.94,41.125,8,41.973,8.093,42.498c0.002,0.012,0.005,0.033,0.01,0.047c0,0,0.339,1.033,1.143,2.379  c0.3,0.498,6.981-8.887,8.75-11.383L17.755,33.373z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="437.749" cy="-560.2109" gradientTransform="matrix(0.1283 0.5992 -0.5928 0.13 -373.5847 -154.0506)" gradientUnits="userSpaceOnUse" id="SVGID_3_" r="23.8799">
+<stop offset="0" style="stop-color:#A7E722"/>
+<stop offset="0.6242" style="stop-color:#428C0F"/>
+<stop offset="1" style="stop-color:#5CA617"/>
+</radialGradient>
+<path d="M10.591,46.975c0.616,0.74,0.646,0.955,1.294,1.525c1.195,1.055,9.301-13.613,9.301-13.613  l-2.683-1.719c-0.941-0.111-1.913-0.08-2.889,0.135c-4.777,1.049-7.806,5.869-6.87,10.832C9.138,44.922,9.736,45.947,10.591,46.975z  " fill="url(#SVGID_3_)"/>
+<path d="M49.324,11.213c-0.178-0.219-0.381-0.445-0.578-0.669l-13.943,7.958l0.438,0.749  C35.24,19.252,50.342,12.468,49.324,11.213z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
+<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="421.4131" x2="426.6039" y1="-610.4937" y2="-594.0048">
+<stop offset="0" style="stop-color:#C6FF45"/>
+<stop offset="0.6788" style="stop-color:#387300"/>
+<stop offset="1" style="stop-color:#66A00E"/>
+</linearGradient>
+<path d="M35.24,19.252l1.178,1.98c0.301,0.515,0.973,0.673,1.57,0.423l4.09-2.335l8.043-4.667  c0.631-0.363,0.877-1.12,0.549-1.685c0,0-0.334-0.501-1.35-1.752L35.24,19.252z" fill="url(#SVGID_4_)"/>
+<path d="M21.186,34.887l-0.725-0.473l-9.214,13.488c0.215,0.203,0.429,0.412,0.638,0.598  C13.081,49.555,21.186,34.887,21.186,34.887z" fill="#020202" fill-opacity="0.4" stroke-opacity="0.4"/>
+<linearGradient gradientTransform="matrix(0.2118 0.9773 -0.9773 0.2118 -634.5599 -270.4865)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="438.8232" x2="450.6482" y1="-577.3184" y2="-564.2958">
+<stop offset="0" style="stop-color:#C6FF45"/>
+<stop offset="0.6788" style="stop-color:#387300"/>
+<stop offset="1" style="stop-color:#66A00E"/>
+</linearGradient>
+<path d="M11.887,48.498c1.193,1.051,1.685,1.371,1.685,1.371c0.568,0.367,1.363,0.168,1.781-0.443  l7.901-11.605c0.418-0.615,0.307-1.412-0.261-1.777l-1.808-1.156L11.887,48.498z" fill="url(#SVGID_5_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="39.1182" x2="44.145" y1="48.6309" y2="48.6309">
+<stop offset="0" style="stop-color:#878A8C"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.6606" style="stop-color:#5B6163"/>
+<stop offset="1" style="stop-color:#959A9C"/>
+</linearGradient>
+<rect fill="url(#SVGID_6_)" height="7.535" width="4.896" x="39.184" y="44.863"/>
+<path d="M39.184,49.596c0.787,0.189,1.604,0.303,2.449,0.303c0.844,0,1.662-0.113,2.447-0.303v-4.121  h-4.896V49.596z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M39.184,48.982c0.787,0.191,1.604,0.303,2.449,0.303c0.844,0,1.662-0.111,2.447-0.303v-4.119  h-4.896V48.982z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_7_" x1="41.6328" x2="41.6328" y1="27.8325" y2="48.6499">
+<stop offset="0" style="stop-color:#F2F2F2"/>
+<stop offset="0.3212" style="stop-color:#E6E6E6"/>
+<stop offset="1" style="stop-color:#666666"/>
+</linearGradient>
+<path d="M41.633,48.674c-5.74,0-10.408-4.67-10.408-10.408c0-5.74,4.668-10.409,10.408-10.409  c5.738,0,10.408,4.668,10.408,10.409C52.041,44.004,47.371,48.674,41.633,48.674L41.633,48.674z" fill="url(#SVGID_7_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_8_" x1="41.6318" x2="41.6318" y1="28.4473" y2="48.0381">
+<stop offset="0" style="stop-color:#D1D7D9"/>
+<stop offset="0.0667" style="stop-color:#D1D7D9"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.6606" style="stop-color:#7C8487"/>
+<stop offset="1" style="stop-color:#ADB3B5"/>
+</linearGradient>
+<circle cx="41.632" cy="38.266" fill="url(#SVGID_8_)" r="9.796"/>
+<path d="M41.633,47.037c-5.102,0-9.268-4.059-9.445-9.115c-0.004,0.111-0.008,0.223-0.008,0.334  c0,5.211,4.24,9.451,9.453,9.451c5.211,0,9.451-4.24,9.451-9.451c0-0.111-0.004-0.223-0.008-0.334  C50.898,42.979,46.732,47.037,41.633,47.037z" fill="#FFFFFF" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M49.592,37.848c0,4.516-3.564,8.969-7.963,8.967c-4.395-0.002-7.957-4.457-7.957-8.971  c0.004-4.516,3.568-8.172,7.963-8.172C46.029,29.675,49.594,33.334,49.592,37.848z" fill="#231F20" fill-opacity="0.3" stroke-opacity="0.3"/>
+<path d="M41.629,46.15c-2.291,0-4.443-0.893-6.061-2.512c-1.619-1.619-2.51-3.773-2.508-6.063  c0-4.725,3.846-8.567,8.572-8.567c2.291,0,4.443,0.893,6.063,2.512c1.619,1.619,2.51,3.771,2.508,6.063  c0,4.725-3.846,8.566-8.57,8.566H41.629z" fill="#231F20" fill-opacity="0.2" stroke-opacity="0.2"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_9_" x1="41.6318" x2="41.6318" y1="29.5093" y2="45.4663">
+<stop offset="0" style="stop-color:#CFCFCF"/>
+<stop offset="0.1091" style="stop-color:#CFCFCF"/>
+<stop offset="0.6848" style="stop-color:#121212"/>
+<stop offset="1" style="stop-color:#A6A6A6"/>
+</linearGradient>
+<path d="M41.629,45.539c-2.127-0.002-4.125-0.83-5.629-2.334c-1.502-1.502-2.328-3.502-2.328-5.629  c0-4.387,3.572-7.956,7.961-7.956c2.127,0,4.125,0.83,5.629,2.333c1.504,1.504,2.33,3.504,2.33,5.631  c-0.002,4.387-3.572,7.955-7.959,7.955H41.629z" fill="url(#SVGID_9_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_10_" x1="41.6318" x2="41.6318" y1="30.1289" y2="44.8584">
+<stop offset="0" style="stop-color:#F2F2F2"/>
+<stop offset="1" style="stop-color:#606769"/>
+</linearGradient>
+<circle cx="41.632" cy="37.58" fill="url(#SVGID_10_)" r="7.347"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_11_" x1="41.6318" x2="41.6318" y1="31.4756" y2="43.6433">
+<stop offset="0" style="stop-color:#1A1A1A"/>
+<stop offset="0.503" style="stop-color:#343434"/>
+<stop offset="0.7515" style="stop-color:#9E9E9E"/>
+<stop offset="1" style="stop-color:#CFCFCF"/>
+</linearGradient>
+<path d="M41.633,43.701c-1.639,0-3.176-0.639-4.332-1.795c-1.154-1.156-1.791-2.693-1.791-4.33  c0-3.373,2.746-6.119,6.123-6.119c1.637,0,3.174,0.637,4.33,1.795c1.156,1.156,1.793,2.693,1.791,4.33  C47.754,40.957,45.008,43.701,41.633,43.701L41.633,43.701z" fill="url(#SVGID_11_)"/>
+<radialGradient cx="59.5957" cy="40.5771" gradientTransform="matrix(0.621 1.836735e-004 -1.836735e-004 0.6209 5.2261 12.8455)" gradientUnits="userSpaceOnUse" id="SVGID_12_" r="10.1859">
+<stop offset="0" style="stop-color:#000000"/>
+<stop offset="0.5917" style="stop-color:#000000"/>
+<stop offset="0.627" style="stop-color:#050505"/>
+<stop offset="0.7652" style="stop-color:#121212"/>
+<stop offset="0.8876" style="stop-color:#171717"/>
+<stop offset="1" style="stop-color:#171717"/>
+</radialGradient>
+<circle cx="41.632" cy="37.579" fill="url(#SVGID_12_)" r="5.511"/>
+<radialGradient cx="53.6738" cy="32.9404" gradientTransform="matrix(0.621 0 0 0.6209 5.811 13.4188)" gradientUnits="userSpaceOnUse" id="SVGID_13_" r="16.2221">
+<stop offset="0" style="stop-color:#242424"/>
+<stop offset="0.4303" style="stop-color:#242424"/>
+<stop offset="0.7818" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000"/>
+</radialGradient>
+<circle cx="41.633" cy="37.58" fill="url(#SVGID_13_)" r="4.521"/>
+<radialGradient cx="56.7607" cy="30.0415" gradientTransform="matrix(0.621 1.836735e-004 -1.836735e-004 0.6209 5.2261 12.8455)" gradientUnits="userSpaceOnUse" id="SVGID_14_" r="17.797">
+<stop offset="0" style="stop-color:#A700F5"/>
+<stop offset="0.3091" style="stop-color:#A700F5"/>
+<stop offset="0.4364" style="stop-color:#5E008A"/>
+<stop offset="0.8061" style="stop-color:#0E1402"/>
+<stop offset="1" style="stop-color:#0E1402"/>
+</radialGradient>
+<path d="M45.672,37.58c0,2.232-1.809,4.041-4.041,4.039c-2.232,0-4.041-1.811-4.041-4.041  c0.002-2.232,1.813-4.039,4.041-4.039C43.865,33.541,45.676,35.35,45.672,37.58z" fill="url(#SVGID_14_)"/>
+<radialGradient cx="58.6514" cy="45.2432" gradientTransform="matrix(0.621 1.836735e-004 -1.836735e-004 0.6209 5.2261 12.8455)" gradientUnits="userSpaceOnUse" id="SVGID_15_" r="7.2256">
+<stop offset="0" style="stop-color:#48630C"/>
+<stop offset="0.7879" style="stop-color:#000000"/>
+<stop offset="1" style="stop-color:#000000"/>
+</radialGradient>
+<path d="M45.672,37.58c0,2.232-1.809,4.041-4.041,4.039c-2.232,0-4.041-1.811-4.041-4.041  c0,0,1.385,2.465,4.041,2.465S45.672,37.58,45.672,37.58z" fill="url(#SVGID_15_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_16_" x1="41.6123" x2="41.6123" y1="32.7168" y2="37.5411">
+<stop offset="0" style="stop-color:#F8FBFF"/>
+<stop offset="1" style="stop-color:#808080"/>
+</linearGradient>
+<path d="M41.611,37.518c1.754,0,3.404-0.264,4.863-0.732  c-0.414-2.313-2.432-4.068-4.863-4.068c-2.43,0-4.445,1.756-4.861,4.068C38.207,37.254,39.859,37.518,41.611,37.518z" fill="url(#SVGID_16_)" fill-opacity="0.35" stroke-opacity="0.35"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_17_" x1="32.7676" x2="50.541" y1="51.5801" y2="51.5801">
+<stop offset="0" style="stop-color:#878A8C"/>
+<stop offset="0.2606" style="stop-color:#BDC2C4"/>
+<stop offset="0.6606" style="stop-color:#5B6163"/>
+<stop offset="1" style="stop-color:#959A9C"/>
+</linearGradient>
+<path d="M50.502,52.805c0.025-0.609,0.039-0.486,0.039-0.613v-0.033c0-0.996-0.816-1.803-1.824-1.803H34.592  c-1.008,0-1.824,0.807-1.824,1.803v0.033c0,0.127,0.014,0.004,0.039,0.613H50.502z" fill="url(#SVGID_17_)"/>
+<path d="M32.881,51.557H50.43c-0.08-0.225-0.203-0.426-0.361-0.6H33.242  C33.084,51.131,32.961,51.332,32.881,51.557z" fill="#FFFFFF" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M32.777,52.191c0.008,0.125,0.016,0.309,0.029,0.613h17.695  c0.012-0.305,0.021-0.488,0.027-0.613H32.777z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M33.24,50.957h16.826c-0.332-0.367-0.811-0.602-1.35-0.602H34.592  C34.053,50.355,33.574,50.59,33.24,50.957z" fill="#FFFFFF" fill-opacity="0.4" stroke-opacity="0.4"/>
+<rect fill="none" height="60" width="60"/>
+</g>
+<g>
+<linearGradient gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.3655 -29.0779)" gradientUnits="userSpaceOnUse" id="SVGID_1__" x1="17.3926" x2="17.3926" y1="32.2334" y2="55.3194">
+<stop offset="0" style="stop-color:#C6FF45"/>
+<stop offset="0.7273" style="stop-color:#66A00E"/>
+<stop offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<polygon fill="url(#SVGID_1__)" points="4.648,15.727 14.942,26.471 25.397,15.714 19.763,15.712 19.759,3.417 10.166,3.416   10.166,15.726 "/>
+<line fill="#1D4489" x1="19.759" x2="10.166" y1="3.421" y2="3.42"/>
+<polygon fill="#E7FFB9" points="10.166,3.17 19.76,3.171 19.759,3.671 10.166,3.67 10.166,3.17 "/>
+<polygon fill="#E7FFB9" points="19.612,15.732 25.505,15.733 25.059,16.233 19.612,16.233 19.612,15.732 "/>
+<polygon fill="#E7FFB9" points="4.321,15.726 10.157,15.726 10.157,16.226 4.848,16.226 4.321,15.726 "/>
+<linearGradient gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.3655 -29.0779)" gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="26.5625" x2="7.7312" y1="50.3418" y2="50.3418">
+<stop offset="0" style="stop-color:#AAE535"/>
+<stop offset="1" style="stop-color:#5D9C0A"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2__)" points="25.072,15.713 14.942,26.112 4.925,15.7 4.229,15.701 14.941,26.83 25.771,15.713 "/>
+<rect fill="none" height="30" width="30"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_voip_dialled_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,129 @@
+<?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="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g>
+<rect fill="none" height="60" width="60"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="31.3823" x2="31.3823" y1="49.3193" y2="6.7675">
+<stop offset="0" style="stop-color:#004E8C"/>
+<stop offset="1" style="stop-color:#1B66D8"/>
+</linearGradient>
+<circle cx="31.382" cy="28.137" fill="url(#SVGID_1_)" r="21.429"/>
+<radialGradient cx="23.8237" cy="17.7847" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="25.9191">
+<stop offset="0" style="stop-color:#94FFFF"/>
+<stop offset="0.5" style="stop-color:#36B5FF"/>
+<stop offset="1" style="stop-color:#1B66D8"/>
+</radialGradient>
+<path d="M52.262,28.137c0,11.533-9.346,20.877-20.879,20.877c-11.533,0-20.882-9.344-20.882-20.877  c0-11.53,9.35-20.88,20.882-20.88C42.917,7.257,52.262,16.607,52.262,28.137z" fill="url(#SVGID_2_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="31.3823" x2="31.3823" y1="7.0732" y2="49.1199">
+<stop offset="0" style="stop-color:#31A7F8"/>
+<stop offset="0.497" style="stop-color:#1E74DC"/>
+<stop offset="1" style="stop-color:#88D6EB"/>
+</linearGradient>
+<path d="M31.383,7.257c-11.533,0-20.882,9.35-20.882,20.88c0,11.533,9.35,20.877,20.882,20.877  c11.533,0,20.879-9.344,20.879-20.877C52.262,16.607,42.917,7.257,31.383,7.257z M31.383,47.188  c-10.843,0-19.664-8.818-19.664-19.659c0-10.843,8.82-19.663,19.664-19.663c10.841,0,19.66,8.82,19.66,19.663  C51.043,38.369,42.224,47.188,31.383,47.188z" fill="url(#SVGID_3_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="10.8428" x2="14.1621" y1="30.9775" y2="30.9775">
+<stop offset="0" style="stop-color:#58595B"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path d="M12.462,27.796C12.239,27.5,11.737,27.5,11.516,27.5c-0.437,0-0.669,0.312-0.673,0.616  v0.021l0.001,0.031c-0.001,0.537,0.029,1.14,0.094,1.872c0.013,0.138,0.03,0.276,0.047,0.414l0.024,0.201  c0.056,0.434,0.121,0.86,0.195,1.274l0.034,0.182c0.032,0.164,0.063,0.324,0.098,0.484c0.089,0.406,0.198,0.826,0.332,1.291  c0.02,0.066,0.037,0.133,0.055,0.199c0.028,0.109,0.058,0.217,0.091,0.322l0.005,0.014l0.012,0.033  c-0.003-0.01-0.008-0.023-0.01-0.037l1.198-0.08c0.019-0.188,0.024-0.383,0.019-0.576c-0.01-0.303-0.021-0.676-0.107-0.99  l1.112-1.494l0.12-0.162v-0.203v-1.165v-0.252l-0.179-0.178L12.462,27.796z" fill="url(#SVGID_4_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="17.2432" x2="51.9731" y1="24.897" y2="24.897">
+<stop offset="0" style="stop-color:#58595B"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path d="M51.966,24.045c-0.016-0.079-0.029-0.136-0.043-0.191  c-0.011-0.042-0.021-0.084-0.029-0.125c-0.106-0.495-0.237-1.005-0.392-1.525l-0.017-0.058c-0.033-0.117-0.068-0.234-0.105-0.349  c-0.188-0.588-0.393-1.148-0.608-1.666c-0.027-0.066-0.056-0.125-0.084-0.188l-0.045-0.1c-0.206-0.474-0.436-0.947-0.677-1.403  l-0.03-0.059c-0.047-0.09-0.093-0.181-0.142-0.269c-0.295-0.532-0.604-1.041-0.918-1.512c-0.032-0.049-0.069-0.102-0.106-0.154  c-0.023-0.031-0.045-0.061-0.066-0.092c-0.302-0.437-0.618-0.862-0.946-1.268l-0.064-0.082c-0.044-0.055-0.088-0.111-0.134-0.167  c-0.381-0.456-0.783-0.898-1.199-1.317c-0.056-0.056-0.115-0.115-0.176-0.172l-0.049-0.047c-0.375-0.368-0.774-0.732-1.183-1.074  l-0.081-0.069c-0.041-0.037-0.083-0.073-0.125-0.106c-0.446-0.367-0.931-0.728-1.435-1.075c-0.063-0.042-0.126-0.083-0.19-0.124  l-0.077-0.05c-0.454-0.301-0.928-0.59-1.404-0.853l-0.072-0.042c-0.04-0.023-0.079-0.045-0.119-0.068  c-0.529-0.283-1.081-0.55-1.643-0.792l-0.142-0.057l-0.153-0.063c-0.148-0.061-0.297-0.114-0.443-0.165  c-0.077-0.026-0.152-0.053-0.228-0.08l-0.282-0.105L38.303,8.74c-0.17,0.107-0.84,0.49-1.235,0.715  c-0.438-0.059-1.499-0.192-2.57-0.295c0.33-0.032,0.787-0.069,1.43-0.111l0.09-1.204L35.97,7.832  c-0.039-0.011-0.077-0.021-0.116-0.029l-0.092-0.018l-0.075-0.015c-0.655-0.131-1.271-0.227-1.882-0.291l-0.004-0.001l-0.085-0.009  c-0.698-0.07-1.409-0.106-2.112-0.106c-0.62,0-1.262,0.033-1.964,0.101c-0.109,0.01-0.214,0.021-0.321,0.032  c-0.693,0.078-1.3,0.17-1.873,0.286l-0.02,0.003l-0.015,0.002c-0.604,0.125-1.211,0.281-1.856,0.477  c-0.058,0.018-0.116,0.037-0.173,0.055l-0.131,0.043c-0.547,0.176-1.082,0.371-1.596,0.582c-0.042,0.018-0.071,0.029-0.1,0.04  l-0.078,0.031c-0.564,0.24-1.128,0.512-1.688,0.812c-0.06,0.031-0.118,0.066-0.177,0.099L21.542,9.97  c-0.157,0.087-0.315,0.185-0.473,0.283l-0.203,0.127l-1.118,0.684l1.242,0.415c0.186,0.063,0.385,0.093,0.592,0.093  c0.67,0,1.317-0.329,1.838-0.593c0.209-0.105,0.521-0.264,0.648-0.288c0.152,0.045,0.306,0.068,0.458,0.068  c0.569,0,1.035-0.306,1.446-0.578l0.111-0.072c0.134-0.043,0.362-0.128,0.818-0.299c0.465-0.174,1.314-0.493,1.54-0.546  c0.44-0.005,0.966-0.068,1.339-0.3c0.352,0.058,0.977,0.157,1.619,0.24c-0.047,0.029-0.093,0.059-0.132,0.097  c-0.209,0.192-1.335,0.533-1.68,0.578c-0.647,0.081-0.908,0.408-1.012,0.666c-0.135,0.336-0.054,0.672,0.078,0.946  c-0.245,0.162-0.545,0.342-0.804,0.479c0.001-0.006,0.003-0.012,0.004-0.02c0.093-0.517,0.16-0.89-0.091-1.189  c-0.128-0.153-0.317-0.241-0.519-0.241c-0.295,0-0.525,0.183-0.711,0.362c-0.52,0.502-0.834,1.129-0.952,1.365l-0.022,0.044  l-0.019,0.035c-0.225,0.431-0.317,0.737-0.192,1.688c-0.055,0.04-0.219,0.102-0.445,0.102c-0.03,0-0.058-0.002-0.079-0.003  c-0.146-0.158-0.349-0.248-0.576-0.248l0,0c-0.524,0-1.238,0.589-2.123,1.754l-0.284,0.374l0.289,0.371l0.27,0.343  c-4.216,3.259-4.248,3.444-4.292,3.717c-0.007,0.024-0.044,0.137-0.095,0.293c-0.628,1.952-0.977,3.413-0.637,4.194  c0.784,1.813,1.669,3.505,2.815,3.599c0.101,0.008,0.212,0.012,0.332,0.012c1.051,0,2.753-0.318,3.572-0.485  c0.151,0.283,0.335,0.614,0.438,0.795l0.181,0.323l0.37-0.012c0.004,0,0.199-0.006,0.448-0.006c0.286,0,0.478,0.008,0.602,0.017  c0.446,1.307,1.3,4.317,1.142,4.944L27.272,34.1c-1.441,2.16,0.306,4.975,1.145,6.328c0.066,0.107,0.126,0.203,0.177,0.287  c0.324,0.922,0.716,1.531,1.545,1.531c0.062,0,0.124-0.004,0.188-0.008c0.047-0.002,0.096-0.004,0.146-0.004  c0.092,0,0.157,0.01,0.226,0.035l0.075,0.027l0.08,0.006c0.155,0.014,0.306,0.035,0.453,0.057c0.255,0.035,0.519,0.07,0.788,0.07  c0.721,0,1.293-0.271,1.787-0.855c0.019-0.002,0.036-0.004,0.055-0.006c0.518-0.072,0.712-0.332,0.778-0.564  c0.038-0.039,0.089-0.086,0.131-0.125c0.204-0.188,0.447-0.41,0.615-0.674c0.075-0.045,0.161-0.096,0.258-0.152  c0.167-0.104,0.355-0.217,0.504-0.293c0.131-0.041,0.247-0.117,0.334-0.225c0.209-0.258,0.166-0.549,0.131-0.783  c-0.035-0.242-0.071-0.492,0.06-0.758c0.738-0.355,2.051-1.23,2.263-1.375l-0.001,0.018c-0.014,0.117-0.048,0.43-0.1,0.629  c-0.279,0.279-0.513,0.703-0.586,0.846l-0.049,0.094l-0.015,0.104c-0.019,0.137-0.094,0.85,0.306,1.311  c0.202,0.23,0.49,0.359,0.813,0.359c0.103,0,0.21-0.014,0.319-0.039c1.027-0.232,2.85-2.703,2.998-4.066  c0.072-0.656-0.185-1.172-0.704-1.416l-0.387-0.184l-0.304,0.303l-1.125,1.125c-0.38,0.035-0.678,0.148-0.879,0.326  c0.012-0.48-0.035-0.973-0.086-1.451c-0.155-1.447-0.185-2.369,0.703-2.996l0.045-0.033l0.038-0.039  c0.321-0.326,0.676-0.611,1.052-0.914c0.88-0.707,1.79-1.438,2.332-2.759l0.022-0.056c0.174-0.451,0.437-1.132,0.081-1.651  c-0.089-0.128-0.275-0.327-0.624-0.397c0.462-0.186,0.816-0.332,0.851-0.346l0.107-0.044l0.083-0.08l1.898-1.822l0.278-0.268  l-0.122-0.366c-0.017-0.047-0.12-0.335-0.411-0.747c0.554,0.075,1.029,0.208,1.185,0.326c0.057,0.124,0.171,0.396,0.292,0.683  c2.089,4.924,2.382,5.178,2.926,5.187c0.021,0,0.037,0.002,0.051,0.003c0.044,0.003,0.083,0.005,0.119,0.005  c0.31,0,0.486-0.157,0.564-0.252c0.227-0.274,0.163-0.608,0.14-0.734l-0.009-0.043c-0.025-0.294-0.008-1.618,0.034-2.706  c0.003,0.002,0.004,0.006,0.006,0.01l1.12-0.445L51.966,24.045z M35.508,18.021c-0.087,0.003-0.181,0.008-0.282,0.012  c-0.322,0.015-0.688,0.031-1.053,0.031c-0.955,0-1.174-0.118-1.196-0.131c-0.113-0.082-0.229-0.144-0.35-0.188  c0.216-0.048,0.464-0.214,0.719-0.708c0.251,0.487,0.592,0.917,1.115,0.917c0.142,0,0.277-0.034,0.406-0.101  C35.043,17.856,35.333,17.957,35.508,18.021z M35.133,15.357c-0.072,0-0.131-0.003-0.176-0.007c0.049-0.128,0.107-0.202,0.154-0.244  c0.06,0.093,0.14,0.175,0.232,0.245C35.27,15.355,35.2,15.357,35.133,15.357z M31.331,16.635c0.327,0.641,0.569,0.917,0.762,1.037  c-0.475,0.038-0.833,0.339-1.126,0.625c-0.206-0.068-0.565-0.286-0.672-0.438c-0.063-0.089-0.138-0.166-0.221-0.232  C30.593,17.479,31.049,16.998,31.331,16.635z M29.523,16.163l-0.679-0.033l-2.278-0.111c0.278-0.229,0.541-0.444,0.697-0.57  c0.042-0.015,0.205-0.06,0.605-0.06c0.242,0,0.474,0.017,0.62,0.029L29.523,16.163z" fill="url(#SVGID_5_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<radialGradient cx="24.4912" cy="10.4414" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_6_" r="23.6744">
+<stop offset="0" style="stop-color:#7AF200"/>
+<stop offset="0.3152" style="stop-color:#7AF200"/>
+<stop offset="0.7273" style="stop-color:#1CAD0F"/>
+<stop offset="1" style="stop-color:#007A3A"/>
+</radialGradient>
+<path d="M11.451,28.125C11.451,28.125,11.451,28.125,11.451,28.125c0,0.008,0.001,0.012,0.001,0.018  c0,0.622,0.039,1.236,0.093,1.844c0.018,0.198,0.047,0.398,0.069,0.598c0.053,0.417,0.116,0.83,0.19,1.238  c0.042,0.215,0.081,0.434,0.127,0.646c0.094,0.422,0.203,0.838,0.321,1.248c0.05,0.17,0.089,0.342,0.141,0.508  c0.007,0.018,0.015,0.033,0.019,0.051c0.017-0.16,0.021-0.326,0.017-0.496c-0.04-1.199-0.232-1.045-0.232-1.045l1.356-1.822v-1.165  l-1.589-1.589C11.964,28.159,11.452,28.079,11.451,28.125z" fill="url(#SVGID_6_)"/>
+<radialGradient cx="24.4868" cy="10.4395" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_7_" r="23.6775">
+<stop offset="0" style="stop-color:#7AF200"/>
+<stop offset="0.3152" style="stop-color:#7AF200"/>
+<stop offset="0.7273" style="stop-color:#1CAD0F"/>
+<stop offset="1" style="stop-color:#007A3A"/>
+</radialGradient>
+<path d="M24.212,10.099c0.587,0.193,1.066-0.2,1.613-0.549c0.193-0.04,2.338-0.896,2.57-0.896  c0.231,0,1.011-0.03,1.204-0.34c0,0,3.357,0.584,3.863,0.389c0.275-0.107,1.433-0.2,2.425-0.264  c-0.056-0.012-0.106-0.029-0.162-0.041c-0.054-0.011-0.105-0.019-0.161-0.03c-0.623-0.126-1.252-0.226-1.894-0.29  c-0.006,0-0.01,0-0.016-0.002c-0.674-0.068-1.358-0.104-2.052-0.104c-0.644,0-1.277,0.038-1.906,0.098  c-0.11,0.011-0.221,0.022-0.331,0.035c-0.608,0.067-1.211,0.155-1.801,0.274c-0.01,0.003-0.021,0.004-0.031,0.006  c-0.612,0.127-1.213,0.283-1.802,0.464c-0.102,0.03-0.199,0.064-0.302,0.096c-0.522,0.168-1.038,0.356-1.544,0.564  c-0.06,0.026-0.12,0.048-0.18,0.072c-0.557,0.238-1.1,0.501-1.63,0.784c-0.08,0.043-0.156,0.089-0.234,0.134  c-0.227,0.125-0.44,0.267-0.66,0.402C22.273,11.265,23.635,9.904,24.212,10.099z" fill="url(#SVGID_7_)"/>
+<radialGradient cx="24.4863" cy="10.437" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_8_" r="23.6745">
+<stop offset="0" style="stop-color:#B2F56E"/>
+<stop offset="0.3152" style="stop-color:#B2F56E"/>
+<stop offset="0.7273" style="stop-color:#5CBF1B"/>
+<stop offset="1" style="stop-color:#227A00"/>
+</radialGradient>
+<path d="M51.366,24.146c-0.021-0.102-0.049-0.197-0.069-0.297c-0.106-0.499-0.233-0.99-0.378-1.474  c-0.038-0.13-0.076-0.264-0.118-0.395c-0.176-0.549-0.371-1.09-0.59-1.616c-0.04-0.093-0.085-0.184-0.125-0.275  c-0.202-0.464-0.421-0.918-0.657-1.363c-0.056-0.106-0.109-0.215-0.166-0.319c-0.279-0.502-0.575-0.993-0.893-1.469  c-0.054-0.083-0.114-0.161-0.17-0.243c-0.291-0.422-0.596-0.831-0.916-1.228c-0.064-0.079-0.127-0.16-0.194-0.24  c-0.368-0.442-0.756-0.868-1.161-1.277c-0.069-0.07-0.143-0.14-0.215-0.208c-0.369-0.363-0.755-0.714-1.153-1.047  c-0.067-0.056-0.131-0.116-0.198-0.171c-0.448-0.366-0.915-0.714-1.395-1.043c-0.084-0.057-0.17-0.112-0.256-0.167  c-0.442-0.294-0.898-0.571-1.366-0.83c-0.063-0.035-0.123-0.073-0.187-0.108c-0.52-0.278-1.05-0.533-1.594-0.768  c-0.097-0.041-0.194-0.079-0.29-0.12c-0.211-0.087-0.432-0.156-0.646-0.235c-0.255,0.163-1.438,0.832-1.438,0.832  s-5.141-0.702-5.491-0.353c-0.352,0.353-1.721,0.71-2.033,0.751c-0.311,0.04-0.956,0.206-0.182,1.161  c-0.116,0.118-2.325,1.657-2.325,0.957s0.494-1.953-0.2-1.282c-0.498,0.482-0.796,1.135-0.86,1.257  c-0.163,0.312-0.263,0.461-0.145,1.357s-1.43,0.891-1.534,0.659c-0.276-0.622-1.809,1.394-1.809,1.394l0.646,0.828  c0,0-4.51,3.474-4.548,3.707c-0.04,0.234-1.164,3.25-0.775,4.147c0.39,0.897,1.376,3.158,2.307,3.233  c1.222,0.101,4.186-0.559,4.186-0.559c0.08,0.196,0.638,1.189,0.638,1.189s1.453-0.048,1.534,0.11  c0.026,0.053,1.75,5.122,1.182,5.794c-1.357,2.033,0.775,5.012,1.369,6.02c0.594,1.73,0.977,0.955,1.758,1.238  c0.962,0.084,1.772,0.439,2.589-0.611c0.237-0.195,0.641-0.041,0.641-0.313c0-0.152,0.698-0.598,0.878-1.018  c0.188-0.088,0.674-0.414,1.003-0.572c0.299-0.02-0.283-0.82,0.309-1.666c0.64-0.252,2.364-1.414,2.364-1.414  c0.078-1.705-0.839-3.811,0.873-5.02c1.104-1.126,2.553-1.767,3.255-3.479c0.194-0.506,0.628-1.542-0.619-1.231  c-1.173,0.295-2.48,0.362-1.861-0.154c-0.071-0.634-0.85-0.932-1.55-1.552c-0.361-0.854-0.93-2.378-0.93-2.378l-1.24-1.885  l0.155-0.389l1.474,2.171l1.474,1.781c0.542,1.783,1.007,1.939,1.007,1.939c0.815-0.288,2.753-1.086,2.753-1.086l1.898-1.822  c0,0-0.195-0.581-0.967-1.316l-0.584-0.349c-0.126,0.357-0.802,0.491-0.802,0.491l-1.641-1.964l0.61-0.123l0.471,0.896l1.128,0.39  c0,0,0.313-0.229,0.893,0.371c0.473-0.039,2.318,0.09,2.749,0.636c0.085,0.109,2.287,5.607,2.721,5.614  c0.19,0.002,0.329,0.077,0.267-0.256c-0.078-0.156,0-3.609,0.116-4.349c0.295-0.628,0.343-0.003,1.04,1.188  C51.374,24.204,51.372,24.175,51.366,24.146z M31.993,10.823c0.154-0.459,1.047-0.615,1.047-0.615s-0.256,0.473-0.197,0.716  c0.06,0.247-0.407,0.402-0.46,0.982c-0.051,0.578-1.117,0.239-1.204,0.036C31.09,11.74,31.835,11.281,31.993,10.823z M35.816,18.624  c-0.661,0-2.645,0.196-3.19-0.194c-0.546-0.389-0.97,0.04-1.362,0.43c-0.258,0.253-1.193-0.26-1.468-0.649  c-0.271-0.39-1.188-0.361-1.188-0.361l0.208-1.111l-2.637-0.128l-1.499,0.439l-1.41,0.041l0.79-0.376l0.983-0.232  c0,0,1.431-1.176,1.859-1.526c0.363-0.297,1.811-0.129,1.811-0.129l1.589,1.146c0,0-0.353,0.898-0.508,1.091  c0.583-0.039,1.269-1.099,1.269-1.099c-1.239-1.138-1.188-1.524-1.188-1.524l1.633,1.146l0.016,0.01c0,0,0.661,1.558,0.937,1.558  c0.271,0,0.619-1.073,0.619-1.073l0.465-0.117c0.207,0.492,0.595,1.603,1.059,1.343c0.269-0.147,0.71-0.013,1.215,0.181  c0.509,0.195,0.854-0.104,1.267,0.258C37.03,19.349,36.089,18.702,35.816,18.624z M36.853,15.943  c-0.681-0.259-2.984,0.586-2.47-0.796c0.275-0.746,0.981-0.901,1.223-0.405c0.063,0.204,0.83,0.519,0.824,0.09  c-0.006-0.431,0.771-0.659,0.883-0.338C36.899,14.791,38.932,16.341,36.853,15.943z M41.192,17.252  c-0.377-0.304,0.169-0.564-0.387-1.041c-0.798-0.684-1.421-0.978-0.334-1.532c1.341-0.168,0.218,0.428,0.44,0.786  c0.119,0.19,0.796,0.828,1.325,1.61C42.676,17.725,41.567,17.555,41.192,17.252z" fill="url(#SVGID_8_)"/>
+<radialGradient cx="24.4839" cy="10.4453" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_9_" r="23.6688">
+<stop offset="0" style="stop-color:#7AF200"/>
+<stop offset="0.3152" style="stop-color:#7AF200"/>
+<stop offset="0.7273" style="stop-color:#1CAD0F"/>
+<stop offset="1" style="stop-color:#007A3A"/>
+</radialGradient>
+<path d="M41.733,35.008l-1.293,1.291c0,0-0.778,0-0.815,0.313c-0.017,0.133-0.063,0.709-0.192,1.006  c-0.258,0.18-0.569,0.775-0.569,0.775s-0.158,1.15,0.699,0.953C40.42,39.152,43.059,35.633,41.733,35.008z" fill="url(#SVGID_9_)"/>
+<path d="M31.68,48.668c1.546,0,3.049-0.174,4.499-0.49c-0.039-0.049-0.071-0.1-0.114-0.145  l-7.534-7.756c-0.434-0.447-1.031-0.705-1.638-0.705c-0.57,0-1.102,0.221-1.5,0.625l-1.144,1.18l-0.472,0.477l-0.436,0.447  c-1.654-1.605-3.133-3.443-4.739-5.873c-0.888-1.348-1.653-2.988-2.138-4.123l-0.178-0.424c-0.001,0-0.242-0.598-0.324-0.811  l-0.027-0.068c-0.067-0.176-0.127-0.341-0.184-0.5l-0.025-0.069l1.843-0.641c1.017-0.344,1.593-1.403,1.363-2.555l-0.007-0.036  l-1.154-3.523l-2.274-6.787c-0.162-0.486-0.47-0.886-0.858-1.16c-2.416,3.407-3.841,7.565-3.841,12.059  C10.797,39.322,20.147,48.668,31.68,48.668z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M31.68,48.668c1.301,0,2.57-0.125,3.806-0.352l-7.394-7.613c-0.32-0.33-0.758-0.52-1.199-0.52  c-0.404,0-0.779,0.156-1.061,0.441l-1.148,1.182l-0.467,0.473l-0.424,0.436l0.003,0.004l-0.435,0.445  c-1.866-1.736-3.509-3.734-5.269-6.4c-0.91-1.381-1.694-3.059-2.192-4.221l-0.158-0.375l-0.024-0.059c0,0-0.243-0.602-0.327-0.816  l-0.029-0.072c-0.068-0.18-0.129-0.347-0.19-0.513c0,0-0.12-0.337-0.145-0.41l0.071-0.295l2.272-0.791  c0.721-0.244,1.127-1.009,0.966-1.819l-0.007-0.036l-1.142-3.485l-2.274-6.789c-0.119-0.357-0.343-0.65-0.626-0.851  c-2.204,3.31-3.492,7.283-3.492,11.557C10.797,39.322,20.147,48.668,31.68,48.668z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<radialGradient cx="-859.7427" cy="-265.1074" gradientTransform="matrix(0.9999 -0.0111 0.0111 0.9999 905.1068 277.0371)" gradientUnits="userSpaceOnUse" id="SVGID_10_" r="34.2211">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.8364" style="stop-color:#E9F0F2"/>
+<stop offset="0.8909" style="stop-color:#AAB1B5"/>
+<stop offset="0.9515" style="stop-color:#7C878C"/>
+<stop offset="1" style="stop-color:#838F94"/>
+</radialGradient>
+<path d="M23.387,44.016c-2.39-2.133-4.191-4.469-5.806-6.914c-1.552-2.357-2.958-5.889-3.393-7.428  l-6.272-8.836c-0.357,0.592-0.921,2.715-0.661,5.588c0.262,2.872,2.939,9.828,6.083,14.596c3.146,4.766,7.81,9.248,9.374,10.24  c2.462,1.561,5.427,2.074,6.329,2.029c0,0,0.833-0.098,1.97-0.496C31.5,52.625,23.387,44.016,23.387,44.016z" fill="url(#SVGID_10_)"/>
+<path d="M15.369,32.857c-0.55-1.283-0.976-2.456-1.18-3.184l-6.104-8.599c-0.064,0.09-0.099,0.144-0.099,0.144  c-0.104,0.172-0.22,0.458-0.338,0.813c-0.118,0.599-0.177,1.219-0.167,1.854C7.541,28.374,10.936,32.078,15.369,32.857z" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M15.108,32.234c-0.423-1.033-0.749-1.953-0.919-2.561l-6.125-8.627c-0.069,0.101-0.109,0.161-0.109,0.161  c-0.097,0.162-0.208,0.434-0.318,0.769c-0.111,0.567-0.168,1.151-0.159,1.751C7.536,28.033,10.834,31.572,15.108,32.234z" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M7.907,21.188c-0.088,0.148-0.188,0.394-0.289,0.698c-0.102,0.514-0.152,1.046-0.144,1.59  c0.054,4.01,3.21,7.283,7.24,7.757c-0.232-0.618-0.412-1.157-0.526-1.559l-6.154-8.67C7.951,21.121,7.907,21.188,7.907,21.188z" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="-891.105" cy="-262.4795" gradientTransform="matrix(1.0009 -0.0086 0.0135 0.9911 906.6143 271.6763)" gradientUnits="userSpaceOnUse" id="SVGID_11_" r="11.8382">
+<stop offset="0" style="stop-color:#D1D8D9"/>
+<stop offset="0.0424" style="stop-color:#D1D8D9"/>
+<stop offset="0.4" style="stop-color:#BBC0C2"/>
+<stop offset="0.7333" style="stop-color:#7C8C91"/>
+<stop offset="1" style="stop-color:#A7B3B7"/>
+</radialGradient>
+<path d="M14.188,29.674l1.312-0.461c0,0-2.781-12.441-3.885-11.868c-0.555,0.29-0.549,0.448-1.11,0.853  c-1.676,1.219-2.589,2.641-2.589,2.641c-0.077,0.13-0.165,0.345-0.252,0.613c-0.088,0.45-0.134,0.916-0.128,1.392  c0.05,3.62,2.979,6.563,6.661,6.841C14.194,29.681,14.189,29.677,14.188,29.674z" fill="url(#SVGID_11_)"/>
+<path d="M23.289,45.25c-0.259,0.727-0.4,1.498-0.39,2.303c0.025,1.906,0.882,3.621,2.242,4.898  c1.716,0.641,3.287,0.871,3.9,0.84c0,0,0.833-0.098,1.97-0.496c0.409-0.143-5.222-6.213-7.055-8.172L23.289,45.25z" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M23.448,44.59c-0.261,0.725-0.401,1.496-0.391,2.301c0.036,2.613,1.621,4.875,3.95,6.125  c0.771,0.18,1.418,0.264,1.829,0.275c0.011,0,0.026,0.002,0.037,0c0,0,0.832-0.096,1.972-0.494c0.422-0.148-5.624-6.641-7.233-8.363  L23.448,44.59z" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="-877.4263" cy="-238.3691" gradientTransform="matrix(1.0009 -0.0086 0.0135 0.9911 906.6143 271.6763)" gradientUnits="userSpaceOnUse" id="SVGID_12_" r="12.0474">
+<stop offset="0" style="stop-color:#D1D8D9"/>
+<stop offset="0.0424" style="stop-color:#D1D8D9"/>
+<stop offset="0.4" style="stop-color:#BBC0C2"/>
+<stop offset="0.7333" style="stop-color:#7C8C91"/>
+<stop offset="1" style="stop-color:#A7B3B7"/>
+</radialGradient>
+<path d="M32.6,52.1c0.653-0.35,0.819-0.34,1.351-0.74c0.98-0.74-8.83-9.123-8.83-9.123l-1.712,1.756  c-0.229,0.695-0.355,1.434-0.345,2.203c0.051,3.766,3.219,6.797,7.107,6.857C30.828,52.877,31.693,52.584,32.6,52.1z" fill="url(#SVGID_12_)"/>
+<path d="M14.866,29.428l0.634-0.215c0,0-2.781-12.441-3.885-11.868  c-0.291,0.151-0.427,0.268-0.573,0.401L14.866,29.428z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<linearGradient gradientTransform="matrix(0.9999 -0.0111 0.0111 0.9999 905.1068 277.0361)" gradientUnits="userSpaceOnUse" id="SVGID_13_" x1="-889.625" x2="-885.2537" y1="-270.9771" y2="-257.0911">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.4" style="stop-color:#D4D9DB"/>
+<stop offset="0.7333" style="stop-color:#98AAAD"/>
+<stop offset="1" style="stop-color:#D0DADE"/>
+</linearGradient>
+<path d="M15.5,29.214l1.677-0.583c0.435-0.147,0.659-0.629,0.562-1.119l-1.129-3.446l-2.275-6.79  c-0.177-0.533-0.71-0.836-1.188-0.676c0,0-0.429,0.175-1.529,0.747L15.5,29.214z" fill="url(#SVGID_13_)"/>
+<path d="M25.121,42.236l-0.468,0.473l8.748,9.039c0.188-0.131,0.379-0.26,0.55-0.389  C34.931,50.619,25.121,42.236,25.121,42.236z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<linearGradient gradientTransform="matrix(0.9999 -0.0111 0.0111 0.9999 905.1068 277.0366)" gradientUnits="userSpaceOnUse" id="SVGID_14_" x1="-876.2178" x2="-867.1104" y1="-245.4277" y2="-235.398">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.4" style="stop-color:#D4D9DB"/>
+<stop offset="0.7333" style="stop-color:#98AAAD"/>
+<stop offset="1" style="stop-color:#D0DADE"/>
+</linearGradient>
+<path d="M33.95,51.357c0.978-0.738,1.295-1.059,1.295-1.059c0.364-0.373,0.338-1.002-0.059-1.412  l-7.534-7.756c-0.397-0.412-1.016-0.451-1.38-0.08l-1.151,1.186L33.95,51.357z" fill="url(#SVGID_14_)"/>
+</g>
+<g>
+<linearGradient gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.3655 -29.0779)" gradientUnits="userSpaceOnUse" id="SVGID_1__" x1="17.3477" x2="17.3477" y1="31.0703" y2="55.8327">
+<stop offset="0" style="stop-color:#45E8FF"/>
+<stop offset="0.1455" style="stop-color:#45E8FF"/>
+<stop offset="0.5576" style="stop-color:#30A4D5"/>
+<stop offset="1" style="stop-color:#1347BA"/>
+</linearGradient>
+<polygon fill="url(#SVGID_1__)" points="25.381,14.288 15.027,3.528 4.573,14.288 10.207,14.288 10.21,26.582 19.865,26.584   19.863,14.288 "/>
+<linearGradient gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.3655 -29.0779)" gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="17.3701" x2="17.3701" y1="32.3115" y2="43.6498">
+<stop offset="0" style="stop-color:#B3FCFF"/>
+<stop offset="0.4182" style="stop-color:#B3FCFF"/>
+<stop offset="1" style="stop-color:#5FBAD8"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2__)" points="4.897,14.286 15.026,3.888 25.104,14.288 25.801,14.288 15.027,3.17 4.199,14.286 "/>
+<line fill="#1D4489" x1="10.21" x2="19.865" y1="26.578" y2="26.58"/>
+<polygon fill="#33AEDB" points="19.867,26.83 10.21,26.828 10.21,26.328 19.866,26.33 19.867,26.83 "/>
+<rect fill="none" height="30" width="30"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_voip_missed_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,124 @@
+<?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="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g>
+<rect fill="none" height="60" width="60"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="31.3823" x2="31.3823" y1="49.3193" y2="6.7675">
+<stop offset="0" style="stop-color:#004E8C"/>
+<stop offset="1" style="stop-color:#1B66D8"/>
+</linearGradient>
+<circle cx="31.382" cy="28.137" fill="url(#SVGID_1_)" r="21.429"/>
+<radialGradient cx="23.8237" cy="17.7847" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="25.9191">
+<stop offset="0" style="stop-color:#94FFFF"/>
+<stop offset="0.5" style="stop-color:#36B5FF"/>
+<stop offset="1" style="stop-color:#1B66D8"/>
+</radialGradient>
+<path d="M52.262,28.137c0,11.533-9.346,20.877-20.879,20.877c-11.533,0-20.882-9.344-20.882-20.877  c0-11.53,9.35-20.88,20.882-20.88C42.917,7.257,52.262,16.607,52.262,28.137z" fill="url(#SVGID_2_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="31.3823" x2="31.3823" y1="7.0732" y2="49.1199">
+<stop offset="0" style="stop-color:#31A7F8"/>
+<stop offset="0.497" style="stop-color:#1E74DC"/>
+<stop offset="1" style="stop-color:#88D6EB"/>
+</linearGradient>
+<path d="M31.383,7.257c-11.533,0-20.882,9.35-20.882,20.88c0,11.533,9.35,20.877,20.882,20.877  c11.533,0,20.879-9.344,20.879-20.877C52.262,16.607,42.917,7.257,31.383,7.257z M31.383,47.188  c-10.843,0-19.664-8.818-19.664-19.659c0-10.843,8.82-19.663,19.664-19.663c10.841,0,19.66,8.82,19.66,19.663  C51.043,38.369,42.224,47.188,31.383,47.188z" fill="url(#SVGID_3_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="10.8428" x2="14.1621" y1="30.9775" y2="30.9775">
+<stop offset="0" style="stop-color:#58595B"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path d="M12.462,27.796C12.239,27.5,11.737,27.5,11.516,27.5c-0.437,0-0.669,0.312-0.673,0.616  v0.021l0.001,0.031c-0.001,0.537,0.029,1.14,0.094,1.872c0.013,0.138,0.03,0.276,0.047,0.414l0.024,0.201  c0.056,0.434,0.121,0.86,0.195,1.274l0.034,0.182c0.032,0.164,0.063,0.324,0.098,0.484c0.089,0.406,0.198,0.826,0.332,1.291  c0.02,0.066,0.037,0.133,0.055,0.199c0.028,0.109,0.058,0.217,0.091,0.322l0.005,0.014l0.012,0.033  c-0.003-0.01-0.008-0.023-0.01-0.037l1.198-0.08c0.019-0.188,0.024-0.383,0.019-0.576c-0.01-0.303-0.021-0.676-0.107-0.99  l1.112-1.494l0.12-0.162v-0.203v-1.165v-0.252l-0.179-0.178L12.462,27.796z" fill="url(#SVGID_4_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="17.2432" x2="51.9731" y1="24.897" y2="24.897">
+<stop offset="0" style="stop-color:#58595B"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path d="M51.966,24.045c-0.016-0.079-0.029-0.136-0.043-0.191  c-0.011-0.042-0.021-0.084-0.029-0.125c-0.106-0.495-0.237-1.005-0.392-1.525l-0.017-0.058c-0.033-0.117-0.068-0.234-0.105-0.349  c-0.188-0.588-0.393-1.148-0.608-1.666c-0.027-0.066-0.056-0.125-0.084-0.188l-0.045-0.1c-0.206-0.474-0.436-0.947-0.677-1.403  l-0.03-0.059c-0.047-0.09-0.093-0.181-0.142-0.269c-0.295-0.532-0.604-1.041-0.918-1.512c-0.032-0.049-0.069-0.102-0.106-0.154  c-0.023-0.031-0.045-0.061-0.066-0.092c-0.302-0.437-0.618-0.862-0.946-1.268l-0.064-0.082c-0.044-0.055-0.088-0.111-0.134-0.167  c-0.381-0.456-0.783-0.898-1.199-1.317c-0.056-0.056-0.115-0.115-0.176-0.172l-0.049-0.047c-0.375-0.368-0.774-0.732-1.183-1.074  l-0.081-0.069c-0.041-0.037-0.083-0.073-0.125-0.106c-0.446-0.367-0.931-0.728-1.435-1.075c-0.063-0.042-0.126-0.083-0.19-0.124  l-0.077-0.05c-0.454-0.301-0.928-0.59-1.404-0.853l-0.072-0.042c-0.04-0.023-0.079-0.045-0.119-0.068  c-0.529-0.283-1.081-0.55-1.643-0.792l-0.142-0.057l-0.153-0.063c-0.148-0.061-0.297-0.114-0.443-0.165  c-0.077-0.026-0.152-0.053-0.228-0.08l-0.282-0.105L38.303,8.74c-0.17,0.107-0.84,0.49-1.235,0.715  c-0.438-0.059-1.499-0.192-2.57-0.295c0.33-0.032,0.787-0.069,1.43-0.111l0.09-1.204L35.97,7.832  c-0.039-0.011-0.077-0.021-0.116-0.029l-0.092-0.018l-0.075-0.015c-0.655-0.131-1.271-0.227-1.882-0.291l-0.004-0.001l-0.085-0.009  c-0.698-0.07-1.409-0.106-2.112-0.106c-0.62,0-1.262,0.033-1.964,0.101c-0.109,0.01-0.214,0.021-0.321,0.032  c-0.693,0.078-1.3,0.17-1.873,0.286l-0.02,0.003l-0.015,0.002c-0.604,0.125-1.211,0.281-1.856,0.477  c-0.058,0.018-0.116,0.037-0.173,0.055l-0.131,0.043c-0.547,0.176-1.082,0.371-1.596,0.582c-0.042,0.018-0.071,0.029-0.1,0.04  l-0.078,0.031c-0.564,0.24-1.128,0.512-1.688,0.812c-0.06,0.031-0.118,0.066-0.177,0.099L21.542,9.97  c-0.157,0.087-0.315,0.185-0.473,0.283l-0.203,0.127l-1.118,0.684l1.242,0.415c0.186,0.063,0.385,0.093,0.592,0.093  c0.67,0,1.317-0.329,1.838-0.593c0.209-0.105,0.521-0.264,0.648-0.288c0.152,0.045,0.306,0.068,0.458,0.068  c0.569,0,1.035-0.306,1.446-0.578l0.111-0.072c0.134-0.043,0.362-0.128,0.818-0.299c0.465-0.174,1.314-0.493,1.54-0.546  c0.44-0.005,0.966-0.068,1.339-0.3c0.352,0.058,0.977,0.157,1.619,0.24c-0.047,0.029-0.093,0.059-0.132,0.097  c-0.209,0.192-1.335,0.533-1.68,0.578c-0.647,0.081-0.908,0.408-1.012,0.666c-0.135,0.336-0.054,0.672,0.078,0.946  c-0.245,0.162-0.545,0.342-0.804,0.479c0.001-0.006,0.003-0.012,0.004-0.02c0.093-0.517,0.16-0.89-0.091-1.189  c-0.128-0.153-0.317-0.241-0.519-0.241c-0.295,0-0.525,0.183-0.711,0.362c-0.52,0.502-0.834,1.129-0.952,1.365l-0.022,0.044  l-0.019,0.035c-0.225,0.431-0.317,0.737-0.192,1.688c-0.055,0.04-0.219,0.102-0.445,0.102c-0.03,0-0.058-0.002-0.079-0.003  c-0.146-0.158-0.349-0.248-0.576-0.248l0,0c-0.524,0-1.238,0.589-2.123,1.754l-0.284,0.374l0.289,0.371l0.27,0.343  c-4.216,3.259-4.248,3.444-4.292,3.717c-0.007,0.024-0.044,0.137-0.095,0.293c-0.628,1.952-0.977,3.413-0.637,4.194  c0.784,1.813,1.669,3.505,2.815,3.599c0.101,0.008,0.212,0.012,0.332,0.012c1.051,0,2.753-0.318,3.572-0.485  c0.151,0.283,0.335,0.614,0.438,0.795l0.181,0.323l0.37-0.012c0.004,0,0.199-0.006,0.448-0.006c0.286,0,0.478,0.008,0.602,0.017  c0.446,1.307,1.3,4.317,1.142,4.944L27.272,34.1c-1.441,2.16,0.306,4.975,1.145,6.328c0.066,0.107,0.126,0.203,0.177,0.287  c0.324,0.922,0.716,1.531,1.545,1.531c0.062,0,0.124-0.004,0.188-0.008c0.047-0.002,0.096-0.004,0.146-0.004  c0.092,0,0.157,0.01,0.226,0.035l0.075,0.027l0.08,0.006c0.155,0.014,0.306,0.035,0.453,0.057c0.255,0.035,0.519,0.07,0.788,0.07  c0.721,0,1.293-0.271,1.787-0.855c0.019-0.002,0.036-0.004,0.055-0.006c0.518-0.072,0.712-0.332,0.778-0.564  c0.038-0.039,0.089-0.086,0.131-0.125c0.204-0.188,0.447-0.41,0.615-0.674c0.075-0.045,0.161-0.096,0.258-0.152  c0.167-0.104,0.355-0.217,0.504-0.293c0.131-0.041,0.247-0.117,0.334-0.225c0.209-0.258,0.166-0.549,0.131-0.783  c-0.035-0.242-0.071-0.492,0.06-0.758c0.738-0.355,2.051-1.23,2.263-1.375l-0.001,0.018c-0.014,0.117-0.048,0.43-0.1,0.629  c-0.279,0.279-0.513,0.703-0.586,0.846l-0.049,0.094l-0.015,0.104c-0.019,0.137-0.094,0.85,0.306,1.311  c0.202,0.23,0.49,0.359,0.813,0.359c0.103,0,0.21-0.014,0.319-0.039c1.027-0.232,2.85-2.703,2.998-4.066  c0.072-0.656-0.185-1.172-0.704-1.416l-0.387-0.184l-0.304,0.303l-1.125,1.125c-0.38,0.035-0.678,0.148-0.879,0.326  c0.012-0.48-0.035-0.973-0.086-1.451c-0.155-1.447-0.185-2.369,0.703-2.996l0.045-0.033l0.038-0.039  c0.321-0.326,0.676-0.611,1.052-0.914c0.88-0.707,1.79-1.438,2.332-2.759l0.022-0.056c0.174-0.451,0.437-1.132,0.081-1.651  c-0.089-0.128-0.275-0.327-0.624-0.397c0.462-0.186,0.816-0.332,0.851-0.346l0.107-0.044l0.083-0.08l1.898-1.822l0.278-0.268  l-0.122-0.366c-0.017-0.047-0.12-0.335-0.411-0.747c0.554,0.075,1.029,0.208,1.185,0.326c0.057,0.124,0.171,0.396,0.292,0.683  c2.089,4.924,2.382,5.178,2.926,5.187c0.021,0,0.037,0.002,0.051,0.003c0.044,0.003,0.083,0.005,0.119,0.005  c0.31,0,0.486-0.157,0.564-0.252c0.227-0.274,0.163-0.608,0.14-0.734l-0.009-0.043c-0.025-0.294-0.008-1.618,0.034-2.706  c0.003,0.002,0.004,0.006,0.006,0.01l1.12-0.445L51.966,24.045z M35.508,18.021c-0.087,0.003-0.181,0.008-0.282,0.012  c-0.322,0.015-0.688,0.031-1.053,0.031c-0.955,0-1.174-0.118-1.196-0.131c-0.113-0.082-0.229-0.144-0.35-0.188  c0.216-0.048,0.464-0.214,0.719-0.708c0.251,0.487,0.592,0.917,1.115,0.917c0.142,0,0.277-0.034,0.406-0.101  C35.043,17.856,35.333,17.957,35.508,18.021z M35.133,15.357c-0.072,0-0.131-0.003-0.176-0.007c0.049-0.128,0.107-0.202,0.154-0.244  c0.06,0.093,0.14,0.175,0.232,0.245C35.27,15.355,35.2,15.357,35.133,15.357z M31.331,16.635c0.327,0.641,0.569,0.917,0.762,1.037  c-0.475,0.038-0.833,0.339-1.126,0.625c-0.206-0.068-0.565-0.286-0.672-0.438c-0.063-0.089-0.138-0.166-0.221-0.232  C30.593,17.479,31.049,16.998,31.331,16.635z M29.523,16.163l-0.679-0.033l-2.278-0.111c0.278-0.229,0.541-0.444,0.697-0.57  c0.042-0.015,0.205-0.06,0.605-0.06c0.242,0,0.474,0.017,0.62,0.029L29.523,16.163z" fill="url(#SVGID_5_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<radialGradient cx="24.4912" cy="10.4414" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_6_" r="23.6744">
+<stop offset="0" style="stop-color:#7AF200"/>
+<stop offset="0.3152" style="stop-color:#7AF200"/>
+<stop offset="0.7273" style="stop-color:#1CAD0F"/>
+<stop offset="1" style="stop-color:#007A3A"/>
+</radialGradient>
+<path d="M11.451,28.125C11.451,28.125,11.451,28.125,11.451,28.125c0,0.008,0.001,0.012,0.001,0.018  c0,0.622,0.039,1.236,0.093,1.844c0.018,0.198,0.047,0.398,0.069,0.598c0.053,0.417,0.116,0.83,0.19,1.238  c0.042,0.215,0.081,0.434,0.127,0.646c0.094,0.422,0.203,0.838,0.321,1.248c0.05,0.17,0.089,0.342,0.141,0.508  c0.007,0.018,0.015,0.033,0.019,0.051c0.017-0.16,0.021-0.326,0.017-0.496c-0.04-1.199-0.232-1.045-0.232-1.045l1.356-1.822v-1.165  l-1.589-1.589C11.964,28.159,11.452,28.079,11.451,28.125z" fill="url(#SVGID_6_)"/>
+<radialGradient cx="24.4868" cy="10.4395" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_7_" r="23.6775">
+<stop offset="0" style="stop-color:#7AF200"/>
+<stop offset="0.3152" style="stop-color:#7AF200"/>
+<stop offset="0.7273" style="stop-color:#1CAD0F"/>
+<stop offset="1" style="stop-color:#007A3A"/>
+</radialGradient>
+<path d="M24.212,10.099c0.587,0.193,1.066-0.2,1.613-0.549c0.193-0.04,2.338-0.896,2.57-0.896  c0.231,0,1.011-0.03,1.204-0.34c0,0,3.357,0.584,3.863,0.389c0.275-0.107,1.433-0.2,2.425-0.264  c-0.056-0.012-0.106-0.029-0.162-0.041c-0.054-0.011-0.105-0.019-0.161-0.03c-0.623-0.126-1.252-0.226-1.894-0.29  c-0.006,0-0.01,0-0.016-0.002c-0.674-0.068-1.358-0.104-2.052-0.104c-0.644,0-1.277,0.038-1.906,0.098  c-0.11,0.011-0.221,0.022-0.331,0.035c-0.608,0.067-1.211,0.155-1.801,0.274c-0.01,0.003-0.021,0.004-0.031,0.006  c-0.612,0.127-1.213,0.283-1.802,0.464c-0.102,0.03-0.199,0.064-0.302,0.096c-0.522,0.168-1.038,0.356-1.544,0.564  c-0.06,0.026-0.12,0.048-0.18,0.072c-0.557,0.238-1.1,0.501-1.63,0.784c-0.08,0.043-0.156,0.089-0.234,0.134  c-0.227,0.125-0.44,0.267-0.66,0.402C22.273,11.265,23.635,9.904,24.212,10.099z" fill="url(#SVGID_7_)"/>
+<radialGradient cx="24.4863" cy="10.437" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_8_" r="23.6745">
+<stop offset="0" style="stop-color:#B2F56E"/>
+<stop offset="0.3152" style="stop-color:#B2F56E"/>
+<stop offset="0.7273" style="stop-color:#5CBF1B"/>
+<stop offset="1" style="stop-color:#227A00"/>
+</radialGradient>
+<path d="M51.366,24.146c-0.021-0.102-0.049-0.197-0.069-0.297c-0.106-0.499-0.233-0.99-0.378-1.474  c-0.038-0.13-0.076-0.264-0.118-0.395c-0.176-0.549-0.371-1.09-0.59-1.616c-0.04-0.093-0.085-0.184-0.125-0.275  c-0.202-0.464-0.421-0.918-0.657-1.363c-0.056-0.106-0.109-0.215-0.166-0.319c-0.279-0.502-0.575-0.993-0.893-1.469  c-0.054-0.083-0.114-0.161-0.17-0.243c-0.291-0.422-0.596-0.831-0.916-1.228c-0.064-0.079-0.127-0.16-0.194-0.24  c-0.368-0.442-0.756-0.868-1.161-1.277c-0.069-0.07-0.143-0.14-0.215-0.208c-0.369-0.363-0.755-0.714-1.153-1.047  c-0.067-0.056-0.131-0.116-0.198-0.171c-0.448-0.366-0.915-0.714-1.395-1.043c-0.084-0.057-0.17-0.112-0.256-0.167  c-0.442-0.294-0.898-0.571-1.366-0.83c-0.063-0.035-0.123-0.073-0.187-0.108c-0.52-0.278-1.05-0.533-1.594-0.768  c-0.097-0.041-0.194-0.079-0.29-0.12c-0.211-0.087-0.432-0.156-0.646-0.235c-0.255,0.163-1.438,0.832-1.438,0.832  s-5.141-0.702-5.491-0.353c-0.352,0.353-1.721,0.71-2.033,0.751c-0.311,0.04-0.956,0.206-0.182,1.161  c-0.116,0.118-2.325,1.657-2.325,0.957s0.494-1.953-0.2-1.282c-0.498,0.482-0.796,1.135-0.86,1.257  c-0.163,0.312-0.263,0.461-0.145,1.357s-1.43,0.891-1.534,0.659c-0.276-0.622-1.809,1.394-1.809,1.394l0.646,0.828  c0,0-4.51,3.474-4.548,3.707c-0.04,0.234-1.164,3.25-0.775,4.147c0.39,0.897,1.376,3.158,2.307,3.233  c1.222,0.101,4.186-0.559,4.186-0.559c0.08,0.196,0.638,1.189,0.638,1.189s1.453-0.048,1.534,0.11  c0.026,0.053,1.75,5.122,1.182,5.794c-1.357,2.033,0.775,5.012,1.369,6.02c0.594,1.73,0.977,0.955,1.758,1.238  c0.962,0.084,1.772,0.439,2.589-0.611c0.237-0.195,0.641-0.041,0.641-0.313c0-0.152,0.698-0.598,0.878-1.018  c0.188-0.088,0.674-0.414,1.003-0.572c0.299-0.02-0.283-0.82,0.309-1.666c0.64-0.252,2.364-1.414,2.364-1.414  c0.078-1.705-0.839-3.811,0.873-5.02c1.104-1.126,2.553-1.767,3.255-3.479c0.194-0.506,0.628-1.542-0.619-1.231  c-1.173,0.295-2.48,0.362-1.861-0.154c-0.071-0.634-0.85-0.932-1.55-1.552c-0.361-0.854-0.93-2.378-0.93-2.378l-1.24-1.885  l0.155-0.389l1.474,2.171l1.474,1.781c0.542,1.783,1.007,1.939,1.007,1.939c0.815-0.288,2.753-1.086,2.753-1.086l1.898-1.822  c0,0-0.195-0.581-0.967-1.316l-0.584-0.349c-0.126,0.357-0.802,0.491-0.802,0.491l-1.641-1.964l0.61-0.123l0.471,0.896l1.128,0.39  c0,0,0.313-0.229,0.893,0.371c0.473-0.039,2.318,0.09,2.749,0.636c0.085,0.109,2.287,5.607,2.721,5.614  c0.19,0.002,0.329,0.077,0.267-0.256c-0.078-0.156,0-3.609,0.116-4.349c0.295-0.628,0.343-0.003,1.04,1.188  C51.374,24.204,51.372,24.175,51.366,24.146z M31.993,10.823c0.154-0.459,1.047-0.615,1.047-0.615s-0.256,0.473-0.197,0.716  c0.06,0.247-0.407,0.402-0.46,0.982c-0.051,0.578-1.117,0.239-1.204,0.036C31.09,11.74,31.835,11.281,31.993,10.823z M35.816,18.624  c-0.661,0-2.645,0.196-3.19-0.194c-0.546-0.389-0.97,0.04-1.362,0.43c-0.258,0.253-1.193-0.26-1.468-0.649  c-0.271-0.39-1.188-0.361-1.188-0.361l0.208-1.111l-2.637-0.128l-1.499,0.439l-1.41,0.041l0.79-0.376l0.983-0.232  c0,0,1.431-1.176,1.859-1.526c0.363-0.297,1.811-0.129,1.811-0.129l1.589,1.146c0,0-0.353,0.898-0.508,1.091  c0.583-0.039,1.269-1.099,1.269-1.099c-1.239-1.138-1.188-1.524-1.188-1.524l1.633,1.146l0.016,0.01c0,0,0.661,1.558,0.937,1.558  c0.271,0,0.619-1.073,0.619-1.073l0.465-0.117c0.207,0.492,0.595,1.603,1.059,1.343c0.269-0.147,0.71-0.013,1.215,0.181  c0.509,0.195,0.854-0.104,1.267,0.258C37.03,19.349,36.089,18.702,35.816,18.624z M36.853,15.943  c-0.681-0.259-2.984,0.586-2.47-0.796c0.275-0.746,0.981-0.901,1.223-0.405c0.063,0.204,0.83,0.519,0.824,0.09  c-0.006-0.431,0.771-0.659,0.883-0.338C36.899,14.791,38.932,16.341,36.853,15.943z M41.192,17.252  c-0.377-0.304,0.169-0.564-0.387-1.041c-0.798-0.684-1.421-0.978-0.334-1.532c1.341-0.168,0.218,0.428,0.44,0.786  c0.119,0.19,0.796,0.828,1.325,1.61C42.676,17.725,41.567,17.555,41.192,17.252z" fill="url(#SVGID_8_)"/>
+<radialGradient cx="24.4839" cy="10.4453" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_9_" r="23.6688">
+<stop offset="0" style="stop-color:#7AF200"/>
+<stop offset="0.3152" style="stop-color:#7AF200"/>
+<stop offset="0.7273" style="stop-color:#1CAD0F"/>
+<stop offset="1" style="stop-color:#007A3A"/>
+</radialGradient>
+<path d="M41.733,35.008l-1.293,1.291c0,0-0.778,0-0.815,0.313c-0.017,0.133-0.063,0.709-0.192,1.006  c-0.258,0.18-0.569,0.775-0.569,0.775s-0.158,1.15,0.699,0.953C40.42,39.152,43.059,35.633,41.733,35.008z" fill="url(#SVGID_9_)"/>
+<path d="M31.68,48.668c1.546,0,3.049-0.174,4.499-0.49c-0.039-0.049-0.071-0.1-0.114-0.145  l-7.534-7.756c-0.434-0.447-1.031-0.705-1.638-0.705c-0.57,0-1.102,0.221-1.5,0.625l-1.144,1.18l-0.472,0.477l-0.436,0.447  c-1.654-1.605-3.133-3.443-4.739-5.873c-0.888-1.348-1.653-2.988-2.138-4.123l-0.178-0.424c-0.001,0-0.242-0.598-0.324-0.811  l-0.027-0.068c-0.067-0.176-0.127-0.341-0.184-0.5l-0.025-0.069l1.843-0.641c1.017-0.344,1.593-1.403,1.363-2.555l-0.007-0.036  l-1.154-3.523l-2.274-6.787c-0.162-0.486-0.47-0.886-0.858-1.16c-2.416,3.407-3.841,7.565-3.841,12.059  C10.797,39.322,20.147,48.668,31.68,48.668z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M31.68,48.668c1.301,0,2.57-0.125,3.806-0.352l-7.394-7.613c-0.32-0.33-0.758-0.52-1.199-0.52  c-0.404,0-0.779,0.156-1.061,0.441l-1.148,1.182l-0.467,0.473l-0.424,0.436l0.003,0.004l-0.435,0.445  c-1.866-1.736-3.509-3.734-5.269-6.4c-0.91-1.381-1.694-3.059-2.192-4.221l-0.158-0.375l-0.024-0.059c0,0-0.243-0.602-0.327-0.816  l-0.029-0.072c-0.068-0.18-0.129-0.347-0.19-0.513c0,0-0.12-0.337-0.145-0.41l0.071-0.295l2.272-0.791  c0.721-0.244,1.127-1.009,0.966-1.819l-0.007-0.036l-1.142-3.485l-2.274-6.789c-0.119-0.357-0.343-0.65-0.626-0.851  c-2.204,3.31-3.492,7.283-3.492,11.557C10.797,39.322,20.147,48.668,31.68,48.668z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<radialGradient cx="-859.7427" cy="-265.1074" gradientTransform="matrix(0.9999 -0.0111 0.0111 0.9999 905.1068 277.0371)" gradientUnits="userSpaceOnUse" id="SVGID_10_" r="34.2211">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.8364" style="stop-color:#E9F0F2"/>
+<stop offset="0.8909" style="stop-color:#AAB1B5"/>
+<stop offset="0.9515" style="stop-color:#7C878C"/>
+<stop offset="1" style="stop-color:#838F94"/>
+</radialGradient>
+<path d="M23.387,44.016c-2.39-2.133-4.191-4.469-5.806-6.914c-1.552-2.357-2.958-5.889-3.393-7.428  l-6.272-8.836c-0.357,0.592-0.921,2.715-0.661,5.588c0.262,2.872,2.939,9.828,6.083,14.596c3.146,4.766,7.81,9.248,9.374,10.24  c2.462,1.561,5.427,2.074,6.329,2.029c0,0,0.833-0.098,1.97-0.496C31.5,52.625,23.387,44.016,23.387,44.016z" fill="url(#SVGID_10_)"/>
+<path d="M15.369,32.857c-0.55-1.283-0.976-2.456-1.18-3.184l-6.104-8.599c-0.064,0.09-0.099,0.144-0.099,0.144  c-0.104,0.172-0.22,0.458-0.338,0.813c-0.118,0.599-0.177,1.219-0.167,1.854C7.541,28.374,10.936,32.078,15.369,32.857z" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M15.108,32.234c-0.423-1.033-0.749-1.953-0.919-2.561l-6.125-8.627c-0.069,0.101-0.109,0.161-0.109,0.161  c-0.097,0.162-0.208,0.434-0.318,0.769c-0.111,0.567-0.168,1.151-0.159,1.751C7.536,28.033,10.834,31.572,15.108,32.234z" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M7.907,21.188c-0.088,0.148-0.188,0.394-0.289,0.698c-0.102,0.514-0.152,1.046-0.144,1.59  c0.054,4.01,3.21,7.283,7.24,7.757c-0.232-0.618-0.412-1.157-0.526-1.559l-6.154-8.67C7.951,21.121,7.907,21.188,7.907,21.188z" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="-891.105" cy="-262.4795" gradientTransform="matrix(1.0009 -0.0086 0.0135 0.9911 906.6143 271.6763)" gradientUnits="userSpaceOnUse" id="SVGID_11_" r="11.8382">
+<stop offset="0" style="stop-color:#D1D8D9"/>
+<stop offset="0.0424" style="stop-color:#D1D8D9"/>
+<stop offset="0.4" style="stop-color:#BBC0C2"/>
+<stop offset="0.7333" style="stop-color:#7C8C91"/>
+<stop offset="1" style="stop-color:#A7B3B7"/>
+</radialGradient>
+<path d="M14.188,29.674l1.312-0.461c0,0-2.781-12.441-3.885-11.868c-0.555,0.29-0.549,0.448-1.11,0.853  c-1.676,1.219-2.589,2.641-2.589,2.641c-0.077,0.13-0.165,0.345-0.252,0.613c-0.088,0.45-0.134,0.916-0.128,1.392  c0.05,3.62,2.979,6.563,6.661,6.841C14.194,29.681,14.189,29.677,14.188,29.674z" fill="url(#SVGID_11_)"/>
+<path d="M23.289,45.25c-0.259,0.727-0.4,1.498-0.39,2.303c0.025,1.906,0.882,3.621,2.242,4.898  c1.716,0.641,3.287,0.871,3.9,0.84c0,0,0.833-0.098,1.97-0.496c0.409-0.143-5.222-6.213-7.055-8.172L23.289,45.25z" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M23.448,44.59c-0.261,0.725-0.401,1.496-0.391,2.301c0.036,2.613,1.621,4.875,3.95,6.125  c0.771,0.18,1.418,0.264,1.829,0.275c0.011,0,0.026,0.002,0.037,0c0,0,0.832-0.096,1.972-0.494c0.422-0.148-5.624-6.641-7.233-8.363  L23.448,44.59z" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="-877.4263" cy="-238.3691" gradientTransform="matrix(1.0009 -0.0086 0.0135 0.9911 906.6143 271.6763)" gradientUnits="userSpaceOnUse" id="SVGID_12_" r="12.0474">
+<stop offset="0" style="stop-color:#D1D8D9"/>
+<stop offset="0.0424" style="stop-color:#D1D8D9"/>
+<stop offset="0.4" style="stop-color:#BBC0C2"/>
+<stop offset="0.7333" style="stop-color:#7C8C91"/>
+<stop offset="1" style="stop-color:#A7B3B7"/>
+</radialGradient>
+<path d="M32.6,52.1c0.653-0.35,0.819-0.34,1.351-0.74c0.98-0.74-8.83-9.123-8.83-9.123l-1.712,1.756  c-0.229,0.695-0.355,1.434-0.345,2.203c0.051,3.766,3.219,6.797,7.107,6.857C30.828,52.877,31.693,52.584,32.6,52.1z" fill="url(#SVGID_12_)"/>
+<path d="M14.866,29.428l0.634-0.215c0,0-2.781-12.441-3.885-11.868  c-0.291,0.151-0.427,0.268-0.573,0.401L14.866,29.428z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<linearGradient gradientTransform="matrix(0.9999 -0.0111 0.0111 0.9999 905.1068 277.0361)" gradientUnits="userSpaceOnUse" id="SVGID_13_" x1="-889.625" x2="-885.2537" y1="-270.9771" y2="-257.0911">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.4" style="stop-color:#D4D9DB"/>
+<stop offset="0.7333" style="stop-color:#98AAAD"/>
+<stop offset="1" style="stop-color:#D0DADE"/>
+</linearGradient>
+<path d="M15.5,29.214l1.677-0.583c0.435-0.147,0.659-0.629,0.562-1.119l-1.129-3.446l-2.275-6.79  c-0.177-0.533-0.71-0.836-1.188-0.676c0,0-0.429,0.175-1.529,0.747L15.5,29.214z" fill="url(#SVGID_13_)"/>
+<path d="M25.121,42.236l-0.468,0.473l8.748,9.039c0.188-0.131,0.379-0.26,0.55-0.389  C34.931,50.619,25.121,42.236,25.121,42.236z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<linearGradient gradientTransform="matrix(0.9999 -0.0111 0.0111 0.9999 905.1068 277.0366)" gradientUnits="userSpaceOnUse" id="SVGID_14_" x1="-876.2178" x2="-867.1104" y1="-245.4277" y2="-235.398">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.4" style="stop-color:#D4D9DB"/>
+<stop offset="0.7333" style="stop-color:#98AAAD"/>
+<stop offset="1" style="stop-color:#D0DADE"/>
+</linearGradient>
+<path d="M33.95,51.357c0.978-0.738,1.295-1.059,1.295-1.059c0.364-0.373,0.338-1.002-0.059-1.412  l-7.534-7.756c-0.397-0.412-1.016-0.451-1.38-0.08l-1.151,1.186L33.95,51.357z" fill="url(#SVGID_14_)"/>
+</g>
+<g>
+<rect fill="none" height="30" width="30"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1__" x1="15.0005" x2="15.0005" y1="4.5283" y2="27.0492">
+<stop offset="0" style="stop-color:#FF7042"/>
+<stop offset="1" style="stop-color:#991B23"/>
+</linearGradient>
+<path d="M19.018,16.846v-4.316h4.535l-8.512-8.844l-8.592,8.844h4.631v4.316  c0,7.293,6.068,9.467,11.908,9.467v-6.422C21.189,19.891,19.018,19.002,19.018,16.846z" fill="url(#SVGID_1__)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="15.0005" x2="15.0005" y1="4.0146" y2="12.8168">
+<stop offset="0" style="stop-color:#FFBE82"/>
+<stop offset="1" style="stop-color:#991B23"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2__)" points="15.041,4.508 22.762,12.529 23.553,12.529 15.041,3.686 6.449,12.529 7.248,12.529 "/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/resources/qtg_large_voip_received_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,129 @@
+<?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="60" viewBox="0 0 60 60" width="60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g>
+<rect fill="none" height="60" width="60"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="31.3823" x2="31.3823" y1="49.3193" y2="6.7675">
+<stop offset="0" style="stop-color:#004E8C"/>
+<stop offset="1" style="stop-color:#1B66D8"/>
+</linearGradient>
+<circle cx="31.382" cy="28.137" fill="url(#SVGID_1_)" r="21.429"/>
+<radialGradient cx="23.8237" cy="17.7847" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_2_" r="25.9191">
+<stop offset="0" style="stop-color:#94FFFF"/>
+<stop offset="0.5" style="stop-color:#36B5FF"/>
+<stop offset="1" style="stop-color:#1B66D8"/>
+</radialGradient>
+<path d="M52.262,28.137c0,11.533-9.346,20.877-20.879,20.877c-11.533,0-20.882-9.344-20.882-20.877  c0-11.53,9.35-20.88,20.882-20.88C42.917,7.257,52.262,16.607,52.262,28.137z" fill="url(#SVGID_2_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="31.3823" x2="31.3823" y1="7.0732" y2="49.1199">
+<stop offset="0" style="stop-color:#31A7F8"/>
+<stop offset="0.497" style="stop-color:#1E74DC"/>
+<stop offset="1" style="stop-color:#88D6EB"/>
+</linearGradient>
+<path d="M31.383,7.257c-11.533,0-20.882,9.35-20.882,20.88c0,11.533,9.35,20.877,20.882,20.877  c11.533,0,20.879-9.344,20.879-20.877C52.262,16.607,42.917,7.257,31.383,7.257z M31.383,47.188  c-10.843,0-19.664-8.818-19.664-19.659c0-10.843,8.82-19.663,19.664-19.663c10.841,0,19.66,8.82,19.66,19.663  C51.043,38.369,42.224,47.188,31.383,47.188z" fill="url(#SVGID_3_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="10.8428" x2="14.1621" y1="30.9775" y2="30.9775">
+<stop offset="0" style="stop-color:#58595B"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path d="M12.462,27.796C12.239,27.5,11.737,27.5,11.516,27.5c-0.437,0-0.669,0.312-0.673,0.616  v0.021l0.001,0.031c-0.001,0.537,0.029,1.14,0.094,1.872c0.013,0.138,0.03,0.276,0.047,0.414l0.024,0.201  c0.056,0.434,0.121,0.86,0.195,1.274l0.034,0.182c0.032,0.164,0.063,0.324,0.098,0.484c0.089,0.406,0.198,0.826,0.332,1.291  c0.02,0.066,0.037,0.133,0.055,0.199c0.028,0.109,0.058,0.217,0.091,0.322l0.005,0.014l0.012,0.033  c-0.003-0.01-0.008-0.023-0.01-0.037l1.198-0.08c0.019-0.188,0.024-0.383,0.019-0.576c-0.01-0.303-0.021-0.676-0.107-0.99  l1.112-1.494l0.12-0.162v-0.203v-1.165v-0.252l-0.179-0.178L12.462,27.796z" fill="url(#SVGID_4_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="17.2432" x2="51.9731" y1="24.897" y2="24.897">
+<stop offset="0" style="stop-color:#58595B"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path d="M51.966,24.045c-0.016-0.079-0.029-0.136-0.043-0.191  c-0.011-0.042-0.021-0.084-0.029-0.125c-0.106-0.495-0.237-1.005-0.392-1.525l-0.017-0.058c-0.033-0.117-0.068-0.234-0.105-0.349  c-0.188-0.588-0.393-1.148-0.608-1.666c-0.027-0.066-0.056-0.125-0.084-0.188l-0.045-0.1c-0.206-0.474-0.436-0.947-0.677-1.403  l-0.03-0.059c-0.047-0.09-0.093-0.181-0.142-0.269c-0.295-0.532-0.604-1.041-0.918-1.512c-0.032-0.049-0.069-0.102-0.106-0.154  c-0.023-0.031-0.045-0.061-0.066-0.092c-0.302-0.437-0.618-0.862-0.946-1.268l-0.064-0.082c-0.044-0.055-0.088-0.111-0.134-0.167  c-0.381-0.456-0.783-0.898-1.199-1.317c-0.056-0.056-0.115-0.115-0.176-0.172l-0.049-0.047c-0.375-0.368-0.774-0.732-1.183-1.074  l-0.081-0.069c-0.041-0.037-0.083-0.073-0.125-0.106c-0.446-0.367-0.931-0.728-1.435-1.075c-0.063-0.042-0.126-0.083-0.19-0.124  l-0.077-0.05c-0.454-0.301-0.928-0.59-1.404-0.853l-0.072-0.042c-0.04-0.023-0.079-0.045-0.119-0.068  c-0.529-0.283-1.081-0.55-1.643-0.792l-0.142-0.057l-0.153-0.063c-0.148-0.061-0.297-0.114-0.443-0.165  c-0.077-0.026-0.152-0.053-0.228-0.08l-0.282-0.105L38.303,8.74c-0.17,0.107-0.84,0.49-1.235,0.715  c-0.438-0.059-1.499-0.192-2.57-0.295c0.33-0.032,0.787-0.069,1.43-0.111l0.09-1.204L35.97,7.832  c-0.039-0.011-0.077-0.021-0.116-0.029l-0.092-0.018l-0.075-0.015c-0.655-0.131-1.271-0.227-1.882-0.291l-0.004-0.001l-0.085-0.009  c-0.698-0.07-1.409-0.106-2.112-0.106c-0.62,0-1.262,0.033-1.964,0.101c-0.109,0.01-0.214,0.021-0.321,0.032  c-0.693,0.078-1.3,0.17-1.873,0.286l-0.02,0.003l-0.015,0.002c-0.604,0.125-1.211,0.281-1.856,0.477  c-0.058,0.018-0.116,0.037-0.173,0.055l-0.131,0.043c-0.547,0.176-1.082,0.371-1.596,0.582c-0.042,0.018-0.071,0.029-0.1,0.04  l-0.078,0.031c-0.564,0.24-1.128,0.512-1.688,0.812c-0.06,0.031-0.118,0.066-0.177,0.099L21.542,9.97  c-0.157,0.087-0.315,0.185-0.473,0.283l-0.203,0.127l-1.118,0.684l1.242,0.415c0.186,0.063,0.385,0.093,0.592,0.093  c0.67,0,1.317-0.329,1.838-0.593c0.209-0.105,0.521-0.264,0.648-0.288c0.152,0.045,0.306,0.068,0.458,0.068  c0.569,0,1.035-0.306,1.446-0.578l0.111-0.072c0.134-0.043,0.362-0.128,0.818-0.299c0.465-0.174,1.314-0.493,1.54-0.546  c0.44-0.005,0.966-0.068,1.339-0.3c0.352,0.058,0.977,0.157,1.619,0.24c-0.047,0.029-0.093,0.059-0.132,0.097  c-0.209,0.192-1.335,0.533-1.68,0.578c-0.647,0.081-0.908,0.408-1.012,0.666c-0.135,0.336-0.054,0.672,0.078,0.946  c-0.245,0.162-0.545,0.342-0.804,0.479c0.001-0.006,0.003-0.012,0.004-0.02c0.093-0.517,0.16-0.89-0.091-1.189  c-0.128-0.153-0.317-0.241-0.519-0.241c-0.295,0-0.525,0.183-0.711,0.362c-0.52,0.502-0.834,1.129-0.952,1.365l-0.022,0.044  l-0.019,0.035c-0.225,0.431-0.317,0.737-0.192,1.688c-0.055,0.04-0.219,0.102-0.445,0.102c-0.03,0-0.058-0.002-0.079-0.003  c-0.146-0.158-0.349-0.248-0.576-0.248l0,0c-0.524,0-1.238,0.589-2.123,1.754l-0.284,0.374l0.289,0.371l0.27,0.343  c-4.216,3.259-4.248,3.444-4.292,3.717c-0.007,0.024-0.044,0.137-0.095,0.293c-0.628,1.952-0.977,3.413-0.637,4.194  c0.784,1.813,1.669,3.505,2.815,3.599c0.101,0.008,0.212,0.012,0.332,0.012c1.051,0,2.753-0.318,3.572-0.485  c0.151,0.283,0.335,0.614,0.438,0.795l0.181,0.323l0.37-0.012c0.004,0,0.199-0.006,0.448-0.006c0.286,0,0.478,0.008,0.602,0.017  c0.446,1.307,1.3,4.317,1.142,4.944L27.272,34.1c-1.441,2.16,0.306,4.975,1.145,6.328c0.066,0.107,0.126,0.203,0.177,0.287  c0.324,0.922,0.716,1.531,1.545,1.531c0.062,0,0.124-0.004,0.188-0.008c0.047-0.002,0.096-0.004,0.146-0.004  c0.092,0,0.157,0.01,0.226,0.035l0.075,0.027l0.08,0.006c0.155,0.014,0.306,0.035,0.453,0.057c0.255,0.035,0.519,0.07,0.788,0.07  c0.721,0,1.293-0.271,1.787-0.855c0.019-0.002,0.036-0.004,0.055-0.006c0.518-0.072,0.712-0.332,0.778-0.564  c0.038-0.039,0.089-0.086,0.131-0.125c0.204-0.188,0.447-0.41,0.615-0.674c0.075-0.045,0.161-0.096,0.258-0.152  c0.167-0.104,0.355-0.217,0.504-0.293c0.131-0.041,0.247-0.117,0.334-0.225c0.209-0.258,0.166-0.549,0.131-0.783  c-0.035-0.242-0.071-0.492,0.06-0.758c0.738-0.355,2.051-1.23,2.263-1.375l-0.001,0.018c-0.014,0.117-0.048,0.43-0.1,0.629  c-0.279,0.279-0.513,0.703-0.586,0.846l-0.049,0.094l-0.015,0.104c-0.019,0.137-0.094,0.85,0.306,1.311  c0.202,0.23,0.49,0.359,0.813,0.359c0.103,0,0.21-0.014,0.319-0.039c1.027-0.232,2.85-2.703,2.998-4.066  c0.072-0.656-0.185-1.172-0.704-1.416l-0.387-0.184l-0.304,0.303l-1.125,1.125c-0.38,0.035-0.678,0.148-0.879,0.326  c0.012-0.48-0.035-0.973-0.086-1.451c-0.155-1.447-0.185-2.369,0.703-2.996l0.045-0.033l0.038-0.039  c0.321-0.326,0.676-0.611,1.052-0.914c0.88-0.707,1.79-1.438,2.332-2.759l0.022-0.056c0.174-0.451,0.437-1.132,0.081-1.651  c-0.089-0.128-0.275-0.327-0.624-0.397c0.462-0.186,0.816-0.332,0.851-0.346l0.107-0.044l0.083-0.08l1.898-1.822l0.278-0.268  l-0.122-0.366c-0.017-0.047-0.12-0.335-0.411-0.747c0.554,0.075,1.029,0.208,1.185,0.326c0.057,0.124,0.171,0.396,0.292,0.683  c2.089,4.924,2.382,5.178,2.926,5.187c0.021,0,0.037,0.002,0.051,0.003c0.044,0.003,0.083,0.005,0.119,0.005  c0.31,0,0.486-0.157,0.564-0.252c0.227-0.274,0.163-0.608,0.14-0.734l-0.009-0.043c-0.025-0.294-0.008-1.618,0.034-2.706  c0.003,0.002,0.004,0.006,0.006,0.01l1.12-0.445L51.966,24.045z M35.508,18.021c-0.087,0.003-0.181,0.008-0.282,0.012  c-0.322,0.015-0.688,0.031-1.053,0.031c-0.955,0-1.174-0.118-1.196-0.131c-0.113-0.082-0.229-0.144-0.35-0.188  c0.216-0.048,0.464-0.214,0.719-0.708c0.251,0.487,0.592,0.917,1.115,0.917c0.142,0,0.277-0.034,0.406-0.101  C35.043,17.856,35.333,17.957,35.508,18.021z M35.133,15.357c-0.072,0-0.131-0.003-0.176-0.007c0.049-0.128,0.107-0.202,0.154-0.244  c0.06,0.093,0.14,0.175,0.232,0.245C35.27,15.355,35.2,15.357,35.133,15.357z M31.331,16.635c0.327,0.641,0.569,0.917,0.762,1.037  c-0.475,0.038-0.833,0.339-1.126,0.625c-0.206-0.068-0.565-0.286-0.672-0.438c-0.063-0.089-0.138-0.166-0.221-0.232  C30.593,17.479,31.049,16.998,31.331,16.635z M29.523,16.163l-0.679-0.033l-2.278-0.111c0.278-0.229,0.541-0.444,0.697-0.57  c0.042-0.015,0.205-0.06,0.605-0.06c0.242,0,0.474,0.017,0.62,0.029L29.523,16.163z" fill="url(#SVGID_5_)" fill-opacity="0.3" stroke-opacity="0.3"/>
+<radialGradient cx="24.4912" cy="10.4414" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_6_" r="23.6744">
+<stop offset="0" style="stop-color:#7AF200"/>
+<stop offset="0.3152" style="stop-color:#7AF200"/>
+<stop offset="0.7273" style="stop-color:#1CAD0F"/>
+<stop offset="1" style="stop-color:#007A3A"/>
+</radialGradient>
+<path d="M11.451,28.125C11.451,28.125,11.451,28.125,11.451,28.125c0,0.008,0.001,0.012,0.001,0.018  c0,0.622,0.039,1.236,0.093,1.844c0.018,0.198,0.047,0.398,0.069,0.598c0.053,0.417,0.116,0.83,0.19,1.238  c0.042,0.215,0.081,0.434,0.127,0.646c0.094,0.422,0.203,0.838,0.321,1.248c0.05,0.17,0.089,0.342,0.141,0.508  c0.007,0.018,0.015,0.033,0.019,0.051c0.017-0.16,0.021-0.326,0.017-0.496c-0.04-1.199-0.232-1.045-0.232-1.045l1.356-1.822v-1.165  l-1.589-1.589C11.964,28.159,11.452,28.079,11.451,28.125z" fill="url(#SVGID_6_)"/>
+<radialGradient cx="24.4868" cy="10.4395" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_7_" r="23.6775">
+<stop offset="0" style="stop-color:#7AF200"/>
+<stop offset="0.3152" style="stop-color:#7AF200"/>
+<stop offset="0.7273" style="stop-color:#1CAD0F"/>
+<stop offset="1" style="stop-color:#007A3A"/>
+</radialGradient>
+<path d="M24.212,10.099c0.587,0.193,1.066-0.2,1.613-0.549c0.193-0.04,2.338-0.896,2.57-0.896  c0.231,0,1.011-0.03,1.204-0.34c0,0,3.357,0.584,3.863,0.389c0.275-0.107,1.433-0.2,2.425-0.264  c-0.056-0.012-0.106-0.029-0.162-0.041c-0.054-0.011-0.105-0.019-0.161-0.03c-0.623-0.126-1.252-0.226-1.894-0.29  c-0.006,0-0.01,0-0.016-0.002c-0.674-0.068-1.358-0.104-2.052-0.104c-0.644,0-1.277,0.038-1.906,0.098  c-0.11,0.011-0.221,0.022-0.331,0.035c-0.608,0.067-1.211,0.155-1.801,0.274c-0.01,0.003-0.021,0.004-0.031,0.006  c-0.612,0.127-1.213,0.283-1.802,0.464c-0.102,0.03-0.199,0.064-0.302,0.096c-0.522,0.168-1.038,0.356-1.544,0.564  c-0.06,0.026-0.12,0.048-0.18,0.072c-0.557,0.238-1.1,0.501-1.63,0.784c-0.08,0.043-0.156,0.089-0.234,0.134  c-0.227,0.125-0.44,0.267-0.66,0.402C22.273,11.265,23.635,9.904,24.212,10.099z" fill="url(#SVGID_7_)"/>
+<radialGradient cx="24.4863" cy="10.437" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_8_" r="23.6745">
+<stop offset="0" style="stop-color:#B2F56E"/>
+<stop offset="0.3152" style="stop-color:#B2F56E"/>
+<stop offset="0.7273" style="stop-color:#5CBF1B"/>
+<stop offset="1" style="stop-color:#227A00"/>
+</radialGradient>
+<path d="M51.366,24.146c-0.021-0.102-0.049-0.197-0.069-0.297c-0.106-0.499-0.233-0.99-0.378-1.474  c-0.038-0.13-0.076-0.264-0.118-0.395c-0.176-0.549-0.371-1.09-0.59-1.616c-0.04-0.093-0.085-0.184-0.125-0.275  c-0.202-0.464-0.421-0.918-0.657-1.363c-0.056-0.106-0.109-0.215-0.166-0.319c-0.279-0.502-0.575-0.993-0.893-1.469  c-0.054-0.083-0.114-0.161-0.17-0.243c-0.291-0.422-0.596-0.831-0.916-1.228c-0.064-0.079-0.127-0.16-0.194-0.24  c-0.368-0.442-0.756-0.868-1.161-1.277c-0.069-0.07-0.143-0.14-0.215-0.208c-0.369-0.363-0.755-0.714-1.153-1.047  c-0.067-0.056-0.131-0.116-0.198-0.171c-0.448-0.366-0.915-0.714-1.395-1.043c-0.084-0.057-0.17-0.112-0.256-0.167  c-0.442-0.294-0.898-0.571-1.366-0.83c-0.063-0.035-0.123-0.073-0.187-0.108c-0.52-0.278-1.05-0.533-1.594-0.768  c-0.097-0.041-0.194-0.079-0.29-0.12c-0.211-0.087-0.432-0.156-0.646-0.235c-0.255,0.163-1.438,0.832-1.438,0.832  s-5.141-0.702-5.491-0.353c-0.352,0.353-1.721,0.71-2.033,0.751c-0.311,0.04-0.956,0.206-0.182,1.161  c-0.116,0.118-2.325,1.657-2.325,0.957s0.494-1.953-0.2-1.282c-0.498,0.482-0.796,1.135-0.86,1.257  c-0.163,0.312-0.263,0.461-0.145,1.357s-1.43,0.891-1.534,0.659c-0.276-0.622-1.809,1.394-1.809,1.394l0.646,0.828  c0,0-4.51,3.474-4.548,3.707c-0.04,0.234-1.164,3.25-0.775,4.147c0.39,0.897,1.376,3.158,2.307,3.233  c1.222,0.101,4.186-0.559,4.186-0.559c0.08,0.196,0.638,1.189,0.638,1.189s1.453-0.048,1.534,0.11  c0.026,0.053,1.75,5.122,1.182,5.794c-1.357,2.033,0.775,5.012,1.369,6.02c0.594,1.73,0.977,0.955,1.758,1.238  c0.962,0.084,1.772,0.439,2.589-0.611c0.237-0.195,0.641-0.041,0.641-0.313c0-0.152,0.698-0.598,0.878-1.018  c0.188-0.088,0.674-0.414,1.003-0.572c0.299-0.02-0.283-0.82,0.309-1.666c0.64-0.252,2.364-1.414,2.364-1.414  c0.078-1.705-0.839-3.811,0.873-5.02c1.104-1.126,2.553-1.767,3.255-3.479c0.194-0.506,0.628-1.542-0.619-1.231  c-1.173,0.295-2.48,0.362-1.861-0.154c-0.071-0.634-0.85-0.932-1.55-1.552c-0.361-0.854-0.93-2.378-0.93-2.378l-1.24-1.885  l0.155-0.389l1.474,2.171l1.474,1.781c0.542,1.783,1.007,1.939,1.007,1.939c0.815-0.288,2.753-1.086,2.753-1.086l1.898-1.822  c0,0-0.195-0.581-0.967-1.316l-0.584-0.349c-0.126,0.357-0.802,0.491-0.802,0.491l-1.641-1.964l0.61-0.123l0.471,0.896l1.128,0.39  c0,0,0.313-0.229,0.893,0.371c0.473-0.039,2.318,0.09,2.749,0.636c0.085,0.109,2.287,5.607,2.721,5.614  c0.19,0.002,0.329,0.077,0.267-0.256c-0.078-0.156,0-3.609,0.116-4.349c0.295-0.628,0.343-0.003,1.04,1.188  C51.374,24.204,51.372,24.175,51.366,24.146z M31.993,10.823c0.154-0.459,1.047-0.615,1.047-0.615s-0.256,0.473-0.197,0.716  c0.06,0.247-0.407,0.402-0.46,0.982c-0.051,0.578-1.117,0.239-1.204,0.036C31.09,11.74,31.835,11.281,31.993,10.823z M35.816,18.624  c-0.661,0-2.645,0.196-3.19-0.194c-0.546-0.389-0.97,0.04-1.362,0.43c-0.258,0.253-1.193-0.26-1.468-0.649  c-0.271-0.39-1.188-0.361-1.188-0.361l0.208-1.111l-2.637-0.128l-1.499,0.439l-1.41,0.041l0.79-0.376l0.983-0.232  c0,0,1.431-1.176,1.859-1.526c0.363-0.297,1.811-0.129,1.811-0.129l1.589,1.146c0,0-0.353,0.898-0.508,1.091  c0.583-0.039,1.269-1.099,1.269-1.099c-1.239-1.138-1.188-1.524-1.188-1.524l1.633,1.146l0.016,0.01c0,0,0.661,1.558,0.937,1.558  c0.271,0,0.619-1.073,0.619-1.073l0.465-0.117c0.207,0.492,0.595,1.603,1.059,1.343c0.269-0.147,0.71-0.013,1.215,0.181  c0.509,0.195,0.854-0.104,1.267,0.258C37.03,19.349,36.089,18.702,35.816,18.624z M36.853,15.943  c-0.681-0.259-2.984,0.586-2.47-0.796c0.275-0.746,0.981-0.901,1.223-0.405c0.063,0.204,0.83,0.519,0.824,0.09  c-0.006-0.431,0.771-0.659,0.883-0.338C36.899,14.791,38.932,16.341,36.853,15.943z M41.192,17.252  c-0.377-0.304,0.169-0.564-0.387-1.041c-0.798-0.684-1.421-0.978-0.334-1.532c1.341-0.168,0.218,0.428,0.44,0.786  c0.119,0.19,0.796,0.828,1.325,1.61C42.676,17.725,41.567,17.555,41.192,17.252z" fill="url(#SVGID_8_)"/>
+<radialGradient cx="24.4839" cy="10.4453" gradientTransform="matrix(0.9953 0 0 0.9952 7.3664 3.0238)" gradientUnits="userSpaceOnUse" id="SVGID_9_" r="23.6688">
+<stop offset="0" style="stop-color:#7AF200"/>
+<stop offset="0.3152" style="stop-color:#7AF200"/>
+<stop offset="0.7273" style="stop-color:#1CAD0F"/>
+<stop offset="1" style="stop-color:#007A3A"/>
+</radialGradient>
+<path d="M41.733,35.008l-1.293,1.291c0,0-0.778,0-0.815,0.313c-0.017,0.133-0.063,0.709-0.192,1.006  c-0.258,0.18-0.569,0.775-0.569,0.775s-0.158,1.15,0.699,0.953C40.42,39.152,43.059,35.633,41.733,35.008z" fill="url(#SVGID_9_)"/>
+<path d="M31.68,48.668c1.546,0,3.049-0.174,4.499-0.49c-0.039-0.049-0.071-0.1-0.114-0.145  l-7.534-7.756c-0.434-0.447-1.031-0.705-1.638-0.705c-0.57,0-1.102,0.221-1.5,0.625l-1.144,1.18l-0.472,0.477l-0.436,0.447  c-1.654-1.605-3.133-3.443-4.739-5.873c-0.888-1.348-1.653-2.988-2.138-4.123l-0.178-0.424c-0.001,0-0.242-0.598-0.324-0.811  l-0.027-0.068c-0.067-0.176-0.127-0.341-0.184-0.5l-0.025-0.069l1.843-0.641c1.017-0.344,1.593-1.403,1.363-2.555l-0.007-0.036  l-1.154-3.523l-2.274-6.787c-0.162-0.486-0.47-0.886-0.858-1.16c-2.416,3.407-3.841,7.565-3.841,12.059  C10.797,39.322,20.147,48.668,31.68,48.668z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<path d="M31.68,48.668c1.301,0,2.57-0.125,3.806-0.352l-7.394-7.613c-0.32-0.33-0.758-0.52-1.199-0.52  c-0.404,0-0.779,0.156-1.061,0.441l-1.148,1.182l-0.467,0.473l-0.424,0.436l0.003,0.004l-0.435,0.445  c-1.866-1.736-3.509-3.734-5.269-6.4c-0.91-1.381-1.694-3.059-2.192-4.221l-0.158-0.375l-0.024-0.059c0,0-0.243-0.602-0.327-0.816  l-0.029-0.072c-0.068-0.18-0.129-0.347-0.19-0.513c0,0-0.12-0.337-0.145-0.41l0.071-0.295l2.272-0.791  c0.721-0.244,1.127-1.009,0.966-1.819l-0.007-0.036l-1.142-3.485l-2.274-6.789c-0.119-0.357-0.343-0.65-0.626-0.851  c-2.204,3.31-3.492,7.283-3.492,11.557C10.797,39.322,20.147,48.668,31.68,48.668z" fill="#020202" fill-opacity="0.2" stroke-opacity="0.2"/>
+<radialGradient cx="-859.7427" cy="-265.1074" gradientTransform="matrix(0.9999 -0.0111 0.0111 0.9999 905.1068 277.0371)" gradientUnits="userSpaceOnUse" id="SVGID_10_" r="34.2211">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.8364" style="stop-color:#E9F0F2"/>
+<stop offset="0.8909" style="stop-color:#AAB1B5"/>
+<stop offset="0.9515" style="stop-color:#7C878C"/>
+<stop offset="1" style="stop-color:#838F94"/>
+</radialGradient>
+<path d="M23.387,44.016c-2.39-2.133-4.191-4.469-5.806-6.914c-1.552-2.357-2.958-5.889-3.393-7.428  l-6.272-8.836c-0.357,0.592-0.921,2.715-0.661,5.588c0.262,2.872,2.939,9.828,6.083,14.596c3.146,4.766,7.81,9.248,9.374,10.24  c2.462,1.561,5.427,2.074,6.329,2.029c0,0,0.833-0.098,1.97-0.496C31.5,52.625,23.387,44.016,23.387,44.016z" fill="url(#SVGID_10_)"/>
+<path d="M15.369,32.857c-0.55-1.283-0.976-2.456-1.18-3.184l-6.104-8.599c-0.064,0.09-0.099,0.144-0.099,0.144  c-0.104,0.172-0.22,0.458-0.338,0.813c-0.118,0.599-0.177,1.219-0.167,1.854C7.541,28.374,10.936,32.078,15.369,32.857z" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M15.108,32.234c-0.423-1.033-0.749-1.953-0.919-2.561l-6.125-8.627c-0.069,0.101-0.109,0.161-0.109,0.161  c-0.097,0.162-0.208,0.434-0.318,0.769c-0.111,0.567-0.168,1.151-0.159,1.751C7.536,28.033,10.834,31.572,15.108,32.234z" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M7.907,21.188c-0.088,0.148-0.188,0.394-0.289,0.698c-0.102,0.514-0.152,1.046-0.144,1.59  c0.054,4.01,3.21,7.283,7.24,7.757c-0.232-0.618-0.412-1.157-0.526-1.559l-6.154-8.67C7.951,21.121,7.907,21.188,7.907,21.188z" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="-891.105" cy="-262.4795" gradientTransform="matrix(1.0009 -0.0086 0.0135 0.9911 906.6143 271.6763)" gradientUnits="userSpaceOnUse" id="SVGID_11_" r="11.8382">
+<stop offset="0" style="stop-color:#D1D8D9"/>
+<stop offset="0.0424" style="stop-color:#D1D8D9"/>
+<stop offset="0.4" style="stop-color:#BBC0C2"/>
+<stop offset="0.7333" style="stop-color:#7C8C91"/>
+<stop offset="1" style="stop-color:#A7B3B7"/>
+</radialGradient>
+<path d="M14.188,29.674l1.312-0.461c0,0-2.781-12.441-3.885-11.868c-0.555,0.29-0.549,0.448-1.11,0.853  c-1.676,1.219-2.589,2.641-2.589,2.641c-0.077,0.13-0.165,0.345-0.252,0.613c-0.088,0.45-0.134,0.916-0.128,1.392  c0.05,3.62,2.979,6.563,6.661,6.841C14.194,29.681,14.189,29.677,14.188,29.674z" fill="url(#SVGID_11_)"/>
+<path d="M23.289,45.25c-0.259,0.727-0.4,1.498-0.39,2.303c0.025,1.906,0.882,3.621,2.242,4.898  c1.716,0.641,3.287,0.871,3.9,0.84c0,0,0.833-0.098,1.97-0.496c0.409-0.143-5.222-6.213-7.055-8.172L23.289,45.25z" fill-opacity="0.05" stroke-opacity="0.05"/>
+<path d="M23.448,44.59c-0.261,0.725-0.401,1.496-0.391,2.301c0.036,2.613,1.621,4.875,3.95,6.125  c0.771,0.18,1.418,0.264,1.829,0.275c0.011,0,0.026,0.002,0.037,0c0,0,0.832-0.096,1.972-0.494c0.422-0.148-5.624-6.641-7.233-8.363  L23.448,44.59z" fill-opacity="0.1" stroke-opacity="0.1"/>
+<radialGradient cx="-877.4263" cy="-238.3691" gradientTransform="matrix(1.0009 -0.0086 0.0135 0.9911 906.6143 271.6763)" gradientUnits="userSpaceOnUse" id="SVGID_12_" r="12.0474">
+<stop offset="0" style="stop-color:#D1D8D9"/>
+<stop offset="0.0424" style="stop-color:#D1D8D9"/>
+<stop offset="0.4" style="stop-color:#BBC0C2"/>
+<stop offset="0.7333" style="stop-color:#7C8C91"/>
+<stop offset="1" style="stop-color:#A7B3B7"/>
+</radialGradient>
+<path d="M32.6,52.1c0.653-0.35,0.819-0.34,1.351-0.74c0.98-0.74-8.83-9.123-8.83-9.123l-1.712,1.756  c-0.229,0.695-0.355,1.434-0.345,2.203c0.051,3.766,3.219,6.797,7.107,6.857C30.828,52.877,31.693,52.584,32.6,52.1z" fill="url(#SVGID_12_)"/>
+<path d="M14.866,29.428l0.634-0.215c0,0-2.781-12.441-3.885-11.868  c-0.291,0.151-0.427,0.268-0.573,0.401L14.866,29.428z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<linearGradient gradientTransform="matrix(0.9999 -0.0111 0.0111 0.9999 905.1068 277.0361)" gradientUnits="userSpaceOnUse" id="SVGID_13_" x1="-889.625" x2="-885.2537" y1="-270.9771" y2="-257.0911">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.4" style="stop-color:#D4D9DB"/>
+<stop offset="0.7333" style="stop-color:#98AAAD"/>
+<stop offset="1" style="stop-color:#D0DADE"/>
+</linearGradient>
+<path d="M15.5,29.214l1.677-0.583c0.435-0.147,0.659-0.629,0.562-1.119l-1.129-3.446l-2.275-6.79  c-0.177-0.533-0.71-0.836-1.188-0.676c0,0-0.429,0.175-1.529,0.747L15.5,29.214z" fill="url(#SVGID_13_)"/>
+<path d="M25.121,42.236l-0.468,0.473l8.748,9.039c0.188-0.131,0.379-0.26,0.55-0.389  C34.931,50.619,25.121,42.236,25.121,42.236z" fill="#020202" fill-opacity="0.1" stroke-opacity="0.1"/>
+<linearGradient gradientTransform="matrix(0.9999 -0.0111 0.0111 0.9999 905.1068 277.0366)" gradientUnits="userSpaceOnUse" id="SVGID_14_" x1="-876.2178" x2="-867.1104" y1="-245.4277" y2="-235.398">
+<stop offset="0" style="stop-color:#E9F0F2"/>
+<stop offset="0.0424" style="stop-color:#E9F0F2"/>
+<stop offset="0.4" style="stop-color:#D4D9DB"/>
+<stop offset="0.7333" style="stop-color:#98AAAD"/>
+<stop offset="1" style="stop-color:#D0DADE"/>
+</linearGradient>
+<path d="M33.95,51.357c0.978-0.738,1.295-1.059,1.295-1.059c0.364-0.373,0.338-1.002-0.059-1.412  l-7.534-7.756c-0.397-0.412-1.016-0.451-1.38-0.08l-1.151,1.186L33.95,51.357z" fill="url(#SVGID_14_)"/>
+</g>
+<g>
+<linearGradient gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.3655 -29.0779)" gradientUnits="userSpaceOnUse" id="SVGID_1__" x1="17.3926" x2="17.3926" y1="32.2334" y2="55.3194">
+<stop offset="0" style="stop-color:#C6FF45"/>
+<stop offset="0.7273" style="stop-color:#66A00E"/>
+<stop offset="1" style="stop-color:#387300"/>
+</linearGradient>
+<polygon fill="url(#SVGID_1__)" points="4.648,15.727 14.942,26.471 25.397,15.714 19.763,15.712 19.759,3.417 10.166,3.416   10.166,15.726 "/>
+<line fill="#1D4489" x1="19.759" x2="10.166" y1="3.421" y2="3.42"/>
+<polygon fill="#E7FFB9" points="10.166,3.17 19.76,3.171 19.759,3.671 10.166,3.67 10.166,3.17 "/>
+<polygon fill="#E7FFB9" points="19.612,15.732 25.505,15.733 25.059,16.233 19.612,16.233 19.612,15.732 "/>
+<polygon fill="#E7FFB9" points="4.321,15.726 10.157,15.726 10.157,16.226 4.848,16.226 4.321,15.726 "/>
+<linearGradient gradientTransform="matrix(1 1.000000e-004 -1.000000e-004 1 -2.3655 -29.0779)" gradientUnits="userSpaceOnUse" id="SVGID_2__" x1="26.5625" x2="7.7312" y1="50.3418" y2="50.3418">
+<stop offset="0" style="stop-color:#AAE535"/>
+<stop offset="1" style="stop-color:#5D9C0A"/>
+</linearGradient>
+<polygon fill="url(#SVGID_2__)" points="25.072,15.713 14.942,26.112 4.925,15.7 4.229,15.701 14.941,26.83 25.771,15.713 "/>
+<rect fill="none" height="30" width="30"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/src/bubbleanimiconitem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Animated icon.
+*
+*/
+
+#include <QTimer>
+#include <QGraphicsSceneResizeEvent>
+#include "bubbleanimiconitem.h"
+
+BubbleAnimIconItem::BubbleAnimIconItem( int interval, QGraphicsItem* parent )
+    : HbIconItem( parent ), mInterval(interval), mAnimationTimerId(0)
+{
+    reset();
+}
+
+BubbleAnimIconItem::~BubbleAnimIconItem()
+{
+    reset();
+}
+
+void BubbleAnimIconItem::appendIcon( const QString& iconName )
+{
+    HbIcon* icon = new HbIcon(iconName);
+    icon->setSize(rect().size());
+    mFrames.append(icon);
+    if (mFrames.count()==1) {
+        setIcon(*icon); // initial frame
+    }
+}
+
+void BubbleAnimIconItem::startAnimation(int interval)
+{
+    mAnimationTimerId = startTimer(interval);
+}
+
+void BubbleAnimIconItem::stopAnimation()
+{
+     if ( mAnimationTimerId ) {
+         killTimer(mAnimationTimerId);
+         mAnimationTimerId = 0;
+     }
+}
+
+void BubbleAnimIconItem::reset()
+{
+    stopAnimation();
+    foreach (HbIcon* icon, mFrames) {
+        delete icon;
+    }
+    mFrames.clear();
+    mCurrentFrame = 0;
+}
+
+void BubbleAnimIconItem::timerEvent(QTimerEvent *event)
+{
+   Q_UNUSED(event)
+   
+   mCurrentFrame = (mCurrentFrame + 1) % mFrames.count();
+   setIcon(*mFrames.at(mCurrentFrame));
+   update();
+}
+
+void BubbleAnimIconItem::paint(
+    QPainter *painter,
+    const QStyleOptionGraphicsItem *option,
+    QWidget *widget )
+{
+    HbIconItem::paint( painter, option, widget );
+
+    if ( mFrames.count() && mAnimationTimerId == 0 ) {
+        startAnimation(mInterval); // begin animation
+    }
+}
+
+QVariant BubbleAnimIconItem::itemChange(
+    GraphicsItemChange change,
+    const QVariant& value )
+{
+    if (change==QGraphicsItem::ItemVisibleHasChanged) {
+        if (mAnimationTimerId && value.toBool()==false) {
+            stopAnimation(); // stop animation when going invisible
+        }
+    }
+
+    return HbIconItem::itemChange( change, value );
+}
+
+void BubbleAnimIconItem::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+    HbIconItem::resizeEvent(event);
+    foreach (HbIcon* icon, mFrames) {
+        icon->setSize(event->newSize());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/src/bubbleanimiconitem.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Animated icon.
+*
+*/
+
+#ifndef BUBBLEANIMICONITEM_H_
+#define BUBBLEANIMICONITEM_H_
+
+#include <QObject>
+#include <hbiconitem.h>
+
+class BubbleAnimIconItem : public HbIconItem
+    {
+    Q_OBJECT // for timer
+    
+public:
+    explicit BubbleAnimIconItem( int interval, QGraphicsItem* parent = 0 );
+    virtual ~BubbleAnimIconItem();
+    
+    void appendIcon( const QString& iconName );
+    void reset();
+
+protected:
+    void startAnimation(int interval);
+    void stopAnimation();
+    void timerEvent(QTimerEvent *event);
+    void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
+    QVariant itemChange ( GraphicsItemChange change, const QVariant & value ); 
+    void resizeEvent( QGraphicsSceneResizeEvent * event );
+    
+protected:
+    int     mInterval;
+    int     mAnimationTimerId;
+    int     mCurrentFrame;
+    QList<HbIcon*> mFrames;
+    };
+
+#endif /* BUBBLEANIMICONITEM_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/src/bubblestyle.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,22 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+HEADERS += src/bubblestyleplugin.h \
+           src/bubbleanimiconitem.h
+           
+SOURCES += src/bubblestyleplugin.cpp \
+           src/bubbleanimiconitem.cpp
+           
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/src/bubblestyleplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,266 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 style plugin.
+*
+*/
+
+#include "bubblestyleplugin.h"
+#include "bubblestyleoption.h"
+#include "bubbleprimitives.h"
+#include "bubbleanimiconitem.h"
+
+#include <hbstyle.h>
+#include <hbiconitem.h>
+#include <hbtextitem.h>
+#include <hbframeitem.h>
+#include <hbframedrawer.h>
+#include <hbfontspec.h>
+#include <hbdeviceprofile.h>
+#include <hbcolorscheme.h>
+
+static const int BUBBLE_ICON_ANIM_INTERVAL = 500; // ms
+
+BubbleStylePlugin::BubbleStylePlugin()
+{
+    mCliFont = new HbFontSpec(HbFontSpec::Primary);
+    mTextFont = new HbFontSpec(HbFontSpec::Secondary);
+    mTimerFont = new HbFontSpec(HbFontSpec::Secondary);
+
+    HbDeviceProfile profile;
+    mCliFont->setTextHeight(4*HbDeviceProfile::current().unitValue());
+    mTextFont->setTextHeight(4*HbDeviceProfile::current().unitValue());
+    mTimerFont->setTextHeight(4*HbDeviceProfile::current().unitValue());
+}
+
+BubbleStylePlugin::~BubbleStylePlugin()
+{
+    delete mCliFont;
+    delete mTextFont;
+    delete mTimerFont;
+}
+
+int BubbleStylePlugin::primitiveCount() const
+{
+    return BP_Bubble_primitive_count;
+}
+
+HbWidgetBase* BubbleStylePlugin::createPrimitive(
+    HbStyle::Primitive primitive, 
+    QGraphicsItem *parent) const
+{
+    HbWidgetBase* item = 0;
+    
+    switch(primitive) {
+    case BP_Bubble_frame: {
+        HbFrameItem* frame = new HbFrameItem(parent);
+        frame->setZValue(-1.0);
+        HbFrameDrawer *drawer = new HbFrameDrawer();
+        frame->setFrameDrawer( drawer ); // takes ownership
+        item = frame;
+        }
+        break;
+    case BP_Text1_text:
+    case BP_Text2_text:
+    case BP_Text3_text: {
+        HbTextItem* text = new HbTextItem(parent);
+        item = text;
+        }
+        break;    
+    case BP_CallStatus_icon: {
+        BubbleAnimIconItem* anim =
+            new BubbleAnimIconItem(BUBBLE_ICON_ANIM_INTERVAL,parent);
+        item = anim;
+        }
+        break;
+    case BP_NumberType_icon: {
+        HbIconItem* icon = new HbIconItem(parent);
+        item = icon;
+        }
+        break;    
+    default:
+        break;
+    } // switch
+
+    return item;    
+}
+
+void BubbleStylePlugin::updatePrimitive(
+    QGraphicsItem *item,
+    HbStyle::Primitive primitive, 
+    const QStyleOption *option ) const
+{
+#ifndef Q_OS_SYMBIAN
+    // qtcast didn't work with mingw
+    const BubbleStyleOption *opt = static_cast<const BubbleStyleOption*>(option);
+#else
+    const BubbleStyleOption *opt = qstyleoption_cast<const BubbleStyleOption*>(option);
+#endif
+    if ( !opt ) {
+        return;
+    }    
+    
+    switch(primitive) {
+    case BP_Bubble_frame: {
+        HbFrameItem *frame = static_cast<HbFrameItem*>(item);
+        frame->frameDrawer().setFrameType( HbFrameDrawer::NinePieces );
+        frame->frameDrawer().setFrameGraphicsName("qtg_fr_list_normal");
+        }
+        break;                
+
+    case BP_Text1_text: {
+        HbTextItem* text = static_cast<HbTextItem*>(item);
+        text->setText( opt->mText1 );
+        text->setElideMode( opt->mText1Clip );
+        setFont(text, primitive, opt);
+        }
+        break;    
+    
+    case BP_Text2_text: {
+        HbTextItem* text = static_cast<HbTextItem*>(item);
+        text->setText( opt->mText2 );
+        text->setElideMode( opt->mText2Clip );
+        setFont(text, primitive, opt);
+        }
+        break;    
+
+    case BP_Text3_text: {
+        HbTextItem* text = static_cast<HbTextItem*>(item);
+        text->setText( opt->mText3 );
+        text->setElideMode( opt->mText3Clip );
+        setFont(text, primitive, opt);
+        }
+        break;    
+    
+    case BP_CallStatus_icon: {
+        setCallStatusIcons(static_cast<BubbleAnimIconItem*>(item), opt);
+        }
+        break;
+    
+    case BP_NumberType_icon: {
+        HbIconItem* icon = static_cast<HbIconItem*>(item);
+        if ( (( opt->mCallState == BubbleManagerIF::Incoming ) ||
+              ( opt->mCallState == BubbleManagerIF::Waiting )) &&
+             ( opt->mCallFlags & BubbleManagerIF::Diverted ) ) {
+            icon->setIconName(":/resources/qgn_indi_call_diverted.svg");
+
+            // to be done via css when possible
+            QColor color;
+            color = HbColorScheme::color("list_item_title_normal");
+            if (color.isValid()) {
+                icon->setColor(color);
+            }
+
+            icon->show();
+            } else {
+            icon->setIconName(QString());
+            icon->hide();
+            }
+        }
+        break;
+
+    default:
+        break;
+    } // switch
+}
+
+void BubbleStylePlugin::setFont(HbTextItem* item, int primitive, const BubbleStyleOption *option) const
+{
+    int primitiveLineNumber = 0;
+    if (primitive==BP_Text1_text) {
+        primitiveLineNumber = 1;
+    } else if (primitive==BP_Text2_text) {
+        primitiveLineNumber = 2;
+    } else if (primitive==BP_Text3_text) {
+        primitiveLineNumber = 3;
+    }
+
+    QFont font = mTextFont->font();
+    if (primitiveLineNumber==option->mCliLineNumber) {
+        font = mCliFont->font();
+    } else if (primitiveLineNumber==option->mTimerLineNumber) {
+        font = mTimerFont->font();
+    }
+
+    item->setFont(font);
+
+    // set color (to be done via css when possible)
+    QColor color;
+    color = HbColorScheme::color("list_item_title_normal");
+    if (color.isValid()) {
+        item->setTextColor(color);
+    } else {
+        item->setTextColor(Qt::black);
+    }
+}
+
+QString BubbleStylePlugin::layoutPath() const
+{
+   QString path(":/");
+   return path;
+}
+
+void BubbleStylePlugin::setCallStatusIcons(BubbleAnimIconItem* anim, const BubbleStyleOption *opt) const
+{
+    anim->reset();
+    switch(opt->mCallState) {
+    case BubbleManagerIF::Incoming:
+    case BubbleManagerIF::Alerting:
+    case BubbleManagerIF::Waiting:
+        if ( opt->mCallFlags & BubbleManagerIF::VoIPCall ) {
+            anim->appendIcon(":/qtg_large_voip_received_call.svg");
+            anim->appendIcon(":/qtg_large_voip_dialled_call.svg");
+        } else if ( opt->mCallFlags & BubbleManagerIF::Video ) {
+            anim->appendIcon(":/qtg_large_video_received_call.svg");
+            anim->appendIcon(":/qtg_large_video_dialled_call.svg");         
+        } else {
+            anim->appendIcon(":/pri_large_green_handset.svg");
+            anim->appendIcon(":/pri_large_yellow_handset.svg");
+        }
+        break;
+    case BubbleManagerIF::Outgoing:
+    case BubbleManagerIF::Active:
+        if ( opt->mCallFlags & BubbleManagerIF::VoIPCall ) {
+            anim->appendIcon(":/qtg_large_voip_received_call.svg");
+        } else if ( opt->mCallFlags & BubbleManagerIF::Video ) {
+            anim->appendIcon(":/qtg_large_video_received_call.svg");
+        } else {
+            anim->appendIcon(":/pri_large_green_handset.svg");
+        }            
+        break;
+    case BubbleManagerIF::OnHold:
+        if ( opt->mCallFlags & BubbleManagerIF::VoIPCall ) {
+            anim->appendIcon(":/qtg_large_voip_dialled_call.svg");
+        } else if ( opt->mCallFlags & BubbleManagerIF::Video ) {
+            anim->appendIcon(":/qtg_large_video_dialled_call.svg");
+        } else {
+            anim->appendIcon(":/pri_large_yellow_handset.svg");
+        }                      
+        break;
+    case BubbleManagerIF::Disconnected:
+    case BubbleManagerIF::AlertToDisconnected:
+        if ( opt->mCallFlags & BubbleManagerIF::VoIPCall ) {
+            anim->appendIcon(":/qtg_large_voip_missed_call.svg");
+        } else if ( opt->mCallFlags & BubbleManagerIF::Video ) {
+            anim->appendIcon(":/qtg_large_video_missed_call.svg");
+        } else {
+            anim->appendIcon(":/pri_large_red_handset.svg");
+        }           
+        break;
+    default:
+        break;
+    }
+    
+}
+
+Q_EXPORT_PLUGIN2(bubblestyleplugin, BubbleStylePlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/bubblestyle/src/bubblestyleplugin.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,55 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 style plugin.
+*
+*/
+
+#ifndef BUBBLESTYLEPLUGIN_H
+#define BUBBLESTYLEPLUGIN_H
+
+#include <QtPlugin>
+
+#include <hbstyleinterface.h>
+#include <hbglobal.h>
+
+class HbFontSpec;
+class HbTextItem;
+class BubbleStyleOption;
+class BubbleAnimIconItem;
+
+class BubbleStylePlugin: public QObject, public HbStyleInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(HbStyleInterface)
+
+public:
+    BubbleStylePlugin();
+    virtual ~BubbleStylePlugin();
+
+    int primitiveCount() const;
+    HbWidgetBase *createPrimitive( HbStyle::Primitive primitive, QGraphicsItem *parent = 0 ) const;
+    void updatePrimitive( QGraphicsItem *item, HbStyle::Primitive primitive, const QStyleOption *option ) const;
+    QString layoutPath() const;
+    void setFont(HbTextItem* item, int primitive, const BubbleStyleOption *option) const;
+
+private:
+    void setCallStatusIcons(BubbleAnimIconItem* anim, const BubbleStyleOption *opt) const;
+    
+private:
+    HbFontSpec* mCliFont;
+    HbFontSpec* mTextFont;
+    HbFontSpec* mTimerFont;
+};
+
+#endif // BUBBLESTYLEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/inc/api_headers.pri	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+BUBBLEMGR2_API_HEADERS = \
+    ./inc/bubblemanager2.h \
+    ./inc/bubblemanagerif.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/inc/bubblemanager2.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,384 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  BubbleManager widget.
+*
+*/
+
+// Bubble widget API
+
+#ifndef BUBBLEMANAGER2_H
+#define BUBBLEMANAGER2_H
+
+#include <QtCore>
+#include <hbwidget.h>
+#include "bubblemanagerif.h"
+
+#ifdef BUILD_BUBBLEMANAGER
+#define BUBBLEMANAGER_EXPORT Q_DECL_EXPORT
+#else
+#define BUBBLEMANAGER_EXPORT Q_DECL_IMPORT
+#endif
+
+class BubbleHeader;
+class BubbleConferenceHeader;
+class BubbleWidgetManager;
+class HbAction;
+class HbStackedLayout;
+class BubbleHandler;
+
+static const int BUBBLE_MAX_CALL_COUNT = 7;
+static const int BUBBLE_CONF_CALL_ID   = 10;
+
+class BUBBLEMANAGER_EXPORT BubbleManager : public HbWidget, public BubbleManagerIF
+{
+    Q_OBJECT
+
+public:
+    explicit BubbleManager( QGraphicsItem *parent = 0 );
+    ~BubbleManager();
+
+public:
+
+    // ====================================================
+    // Must surround all the changes:
+    // ====================================================
+    //
+
+    /**
+    * Before making any changes to bubble headers, call this function
+    * so that manager can prapare for them properly.
+    */
+    void startChanges();
+
+    /**
+    * After the changes to bubble headers call this function so manager
+    * can prepare bubbles to right places and check the drawing order.
+    * Memory for arrays has been allocated beforehand.
+    */
+    void endChanges();
+
+
+    // ====================================================
+    // For call headers and some for conference call
+    // ====================================================
+    //
+
+    /**
+    * Takes a new call header in use.
+    * Returns bubble idenfication number.
+    */
+    int createCallHeader();
+
+    /**
+    * Removes call header from use
+    */
+    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 = Qt::ElideRight );
+
+    /**
+    * 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,
+                      PhoneCallFlags flag,
+                      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 = true );
+
+
+    // ====================================================
+    // 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 = true );
+
+    /**
+    * Query: is conference expanded?
+    */
+    bool isConferenceExpanded( ) const;
+
+    /**
+    * 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 bubbleId, HbAction* action );
+
+    /**
+    * Removes all actions from call bubble
+    */
+    void clearActions( int bubbleId );
+
+    /**
+    * 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 bubbleId, HbAction* action);
+
+    /**
+    * Bubble state (expanded/collapsed) cannot be changed when
+    * disabled is set true.
+    */
+    void setBubbleSelectionDisabled(bool disabled);
+
+public slots:
+    void handleOrientationChange(Qt::Orientation orientation);
+
+private:
+    QGraphicsWidget* selectView();
+    bool addToLayout(QGraphicsWidget* widget);
+    void removeFromLayout(QGraphicsWidget* widget);
+    void connectSignals(QGraphicsWidget* widget);
+    void setViewData(QGraphicsWidget* view);
+
+    bool findActiveHeader(int bubbleId, BubbleHeader*& header);
+    void findNextDrawableHeader(int& index) const;
+    void polishEvent();
+
+private slots:
+    void showExpanded( int bubbleId );
+
+private:
+    QVector<BubbleHeader*> mCallHeaders;
+    BubbleConferenceHeader* mConferenceHeader;
+    QVector<BubbleHeader*> mActiveHeaders;
+    QVector<BubbleHandler*> mActiveHandlers;
+
+    int mIsReadyToDraw;
+    int mDefaultStyleBaseId;
+    bool mMuted;
+    QGraphicsWidget* mMutedIcon;
+    bool mSortHeaders;
+    BubbleWidgetManager* mWidgetManager;
+    HbStackedLayout* mMainLayout;
+    bool mInitialized;
+    bool mBubbleSelectionDisabled;
+};
+
+#endif /* BUBBLEMANAGER2_H */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/inc/bubblemanagerif.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,347 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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_H
+#define BUBBLEMANAGERIF_H
+
+#include <QtCore>
+
+class HbAction;
+class QGraphicsWidget;
+
+class BubbleManagerIF
+{
+
+public:
+
+    // Call states
+    enum PhoneCallState
+        {
+        None           = 0, // Default on creation
+        OnHold,
+        Disconnected,
+        Active,
+        Incoming,
+        Waiting,
+        AlertToDisconnected,
+        Outgoing,
+        Alerting
+        };
+
+    // Call Flags
+    enum PhoneCallFlag
+        {
+        Normal         = 0x00,     // Default
+        NoCiphering    = 0x08,
+        Line2          = 0x10,
+        Muted          = 0x20,
+        Diverted       = 0x40,
+        Video          = 0x80,
+        VoIPCall       = 0x100
+        };
+    Q_DECLARE_FLAGS(PhoneCallFlags, PhoneCallFlag)
+
+    // Number types
+    enum PhoneNumberType
+        {
+        NotSet    = 0, // Default
+        Home,
+        Mobile,
+        Work,
+        Phone,
+        FaxNumber,
+        Pager,
+        Car,
+        Assistant
+        };
+
+    // Cli shown in conference participant list
+    enum ParticipantListCli
+        {
+        ParticipantListCliText,        // Name or Call %N
+        ParticipantListPhoneNumber     // Phonenumber
+        };
+
+
+public:
+
+    // ====================================================
+    // Must surround all the changes:
+    // ====================================================
+    //
+
+    /**
+    * Before making any changes to bubble headers, call this function
+    * so that manager can prapare for them properly.
+    */
+    virtual void startChanges () = 0;
+
+    /**
+    * After the changes to bubble headers call this function so manager
+    * can prepare bubbles to right places and check the drawing order.
+    * Memory for arrays has been allocated beforehand.
+    */
+    virtual void endChanges () = 0;
+
+
+    // ====================================================
+    // For call headers and some for conference call
+    // ====================================================
+    //
+
+    /**
+    * Takes a new call header in use.
+    * Returns bubble idenfication number.
+    */
+    virtual int createCallHeader () = 0;
+
+    /**
+    * Removes call header from use
+    */
+
+    virtual void removeCallHeader (int bubbleId) = 0;
+
+    /**
+    * Sets call state to header.
+    */
+    virtual void setState (int bubbleId, PhoneCallState state) = 0;
+
+    /**
+    * Sets text label to header. For conf also.
+    * Text to be seen in bubble ( e.g. 'on hold' )
+    */
+    virtual void setLabel (
+        int bubbleId,
+        const QString& text,
+        Qt::TextElideMode clipDirection) = 0;
+
+    /**
+    * Sets caller's line identification ( name or number) to header.
+    * For conf also. Caller's CLI ( e.g. 'Mother' )
+    */
+    virtual void setCli (int bubbleId,
+                 const QString& cliText,
+                 Qt::TextElideMode clipDirection) = 0;
+
+    /**
+    * Updates caller's line identification ( name or number) to header.
+    * Caller's CLI ( e.g. 'Daddy' )-
+    */
+    virtual void updateCLI (
+        int bubbleId,
+        const QString& cliText,
+        Qt::TextElideMode clipDirection) = 0;
+
+    /**
+    * Number or voip adress, when phonebook name takes Cli.
+    */
+    virtual void setSecondaryCli (
+        int bubbleId,
+        const QString& cliText,
+        Qt::TextElideMode clipDirection = Qt::ElideLeft) = 0;
+
+    /**
+    * Sets call time or cost text to header. For conf also.
+    */
+    virtual void setCallTime (int bubbleId, const QString& callTime) = 0;
+
+    /**
+    * Updates call time or cost text to header.  For conf also.
+    * Timer or cost text ( e.g. '00:12:34' or '£01.23' ).
+    */
+    virtual void updateCallTime (int bubbleId, const QString& callTime) = 0;
+
+    /**
+    * Attach a call image to header.
+    */
+    virtual void setCallObjectImage (int bubbleId, const QString &fileName) = 0;
+
+    /**
+    * Attach the theme call image to header.
+    */
+    virtual void setCallObjectFromTheme (int bubbleId) = 0;
+
+    /**
+    * Sets call flags to header.
+    */
+    virtual void setCallFlags (int bubbleId, int flags) = 0;
+
+    /**
+    * Sets call flags to header.
+    */
+    virtual void setCallFlag (int bubbleId, BubbleManagerIF::PhoneCallFlags callFlags, bool set) = 0;
+
+    /**
+    * Sets number type.
+    */
+    virtual void setNumberType (int bubbleId, PhoneNumberType type) = 0;
+
+    // ====================================================
+    // For all bubbles
+    // ====================================================
+    //
+
+    /**
+    * Sets phone muted/unmuted.
+    * @param aIsMuted ETrue if phone is muted.
+    */
+    virtual void setPhoneMuted (bool muted) = 0;
+
+
+    // ====================================================
+    // For conference call
+    // ====================================================
+    //
+
+    /**
+    * Creates a conference call based upon two calls. Bubbles must be
+    * created first.
+    */
+    virtual int createConference (int bubble1, int bubble2) = 0;
+
+    /**
+    * Splits conference call into invidual two calls. Call headers stays
+    * in use. Headers' state will not be changed.
+    */
+    virtual void removeConference () = 0;
+
+    /**
+    * Adds new call to conference call.
+    */
+    virtual void addRowToConference (int bubbleId) = 0;
+
+    /**
+    * 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).
+    */
+    virtual void removeRowFromConference (int bubbleId) = 0;
+
+    /**
+    * Counts calls in conference call.
+    */
+    virtual int conferenceRowCount () const = 0;
+
+    /**
+    * Sets highlight to specified line in conference.
+    */
+    virtual void setSelectionInConference (int rowNumber) = 0;
+
+    /**
+    * Sets highlight to specified bubble id in conference.
+    */
+    virtual void setSelectionIdInConference (int bubbleId) = 0;
+
+    /**
+    * Gets highlighted item in conference.
+    */
+    virtual int selectionInConference () const = 0;
+
+    /**
+    * Gets highlighted item in conference.
+    */
+    virtual int selectionIdInConference () const = 0;
+
+    /**
+    * Moves highligh one up if possible
+    */
+    virtual void moveHighlightOneUpInConference () = 0;
+
+    /**
+    * Moves highligh one down if possible
+    */
+    virtual void moveHighlightOneDownInConference () = 0;
+
+    /**
+    * Use this function to expand or shrink conference bubble.
+    */
+    virtual void setExpandedConferenceCallHeader (bool expanded) = 0;
+
+    /**
+    * Query: is conference expanded?
+    */
+    virtual bool isConferenceExpanded () const = 0;
+
+    /**
+    * Number of headers shown on the screen.
+    */
+    virtual int shownHeaderCount () const = 0;
+
+    /**
+    * Set CLI used in participant list (text or phonenumber).
+    */
+    virtual void setParticipantListCli (int aBubbleId, ParticipantListCli aParticipantCli) = 0;
+
+
+    // ====================================================
+    // Call bubble actions
+    // ====================================================
+    //
+
+    /**
+    * Appends new action to call bubble
+    */
+    virtual void addAction (int bubble, HbAction *action) = 0;
+
+    /**
+    * Removes all actions from call bubble
+    */
+    virtual void clearActions (int bubble) = 0;
+    
+    /**
+    * Gets graphics widget for action
+    */
+    virtual QGraphicsWidget* graphicsWidgetForAction (HbAction *action) const = 0;
+
+    /**
+    * Appends new action to participant list in conference call bubble.
+    */
+    virtual void addParticipantListAction (HbAction *action) = 0;
+
+    /**
+    * Removes participant list actions from conference call bubble.
+    */
+    virtual void clearParticipantListActions () = 0;
+
+
+    // ====================================================
+    // Bubble state related (multicall)
+    // ====================================================
+    //
+
+    /**
+    * Bubble shown in expanded position.
+    */
+    virtual int expandedBubble() const = 0;
+
+    /**
+    * Sets action that is triggered when user taps collapsed
+    * call bubble and it changes to expanded. Setting null
+    * pointer removes expand action.
+    */
+    virtual void setExpandAction(int bubble, HbAction* action) = 0;
+
+    /**
+    * Bubble state (expanded/collapsed) cannot be changed when
+    * disabled is set true.
+    */
+    virtual void setBubbleSelectionDisabled(bool disabled) = 0;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(BubbleManagerIF::PhoneCallFlags)
+
+#endif // BUBBLEMANAGERIF_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/inc/bubbleprimitives.h	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Primitive items in call bubble.
+*
+*/
+
+#ifndef BUBBLEPRIMITIVES_H
+#define BUBBLEPRIMITIVES_H
+
+enum BubblePrimitive
+{
+    BP_Bubble_frame = 0,
+    BP_Text1_text,
+    BP_Text2_text,
+    BP_Text3_text,
+    BP_CallStatus_icon,
+    BP_NumberType_icon,
+    BP_Bubble_primitive_count
+};
+
+#endif // BUBBLEPRIMITIVES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/inc/bubblestyleoption.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,47 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 style option.
+*
+*/
+
+#ifndef BUBBLESTYLEOPTION_H
+#define BUBBLESTYLEOPTION_H
+
+#include <hbstyleoption.h>
+#include "bubblemanagerif.h"
+
+class BubbleStyleOption : public HbStyleOption
+{
+public:
+    BubbleStyleOption();
+    BubbleStyleOption(const BubbleStyleOption &other);
+    ~BubbleStyleOption();
+
+    enum StyleOptionType { Type = HbSO_CustomBase + 1 };
+    enum StyleOptionVersion { Version = 1 };
+
+    QString mText1;
+    Qt::TextElideMode mText1Clip;
+    QString mText2;
+    Qt::TextElideMode mText2Clip;
+    QString mText3;
+    Qt::TextElideMode mText3Clip;
+    int mCliLineNumber;
+    int mTimerLineNumber;
+    BubbleManagerIF::PhoneCallState mCallState;
+    BubbleManagerIF::PhoneNumberType mNumberType;
+    int mCallFlags;
+};
+
+#endif // BUBBLESTYLEOPTION_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/rom/bubblemanager.iby	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,30 @@
+/*
+* 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:  
+*
+*/
+
+
+#ifndef __BUBBLEMANAGER_IBY__
+#define __BUBBLEMANAGER_IBY__
+
+#include <data_caging_paths_for_iby.hrh>
+
+file=ABI_DIR/BUILD_DIR/bubblemanager2.dll       SHARED_LIB_DIR/bubblemanager2.dll
+
+//indicator popup plugin
+file=ABI_DIR/BUILD_DIR/bubblestyleplugin.dll    SHARED_LIB_DIR/bubblestyleplugin.dll
+data=DATAZ_/resource/qt/plugins/phone/bubblestyleplugin.qtplugin    resource/qt/plugins/phone/bubblestyleplugin.qtplugin
+
+#endif // __BUBBLEMANAGER_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += .
+CONFIG += hb
+QT += network xml
+INCLUDEPATH += . \
+    ../../inc
+win32:INCLUDEPATH += c:/hb/include/hbcore \
+    c:/hb/include/hbwidgets
+
+symbian {    
+TARGET.EPOCHEAPSIZE = 0x1000 0xA00000
+INCLUDEPATH += . \
+    /sf/app/phone/inc
+TARGET.CAPABILITY = CAP_APPLICATION    
+}
+
+# Input
+HEADERS += bubbletestview.h \
+    bubbletester.h
+SOURCES += main.cpp \
+    bubbletestview.cpp \
+    bubbletester.cpp
+RESOURCES += bubbletest2.qrc
+
+# Libraries
+unix:!symbian LIBS += -L../../bubblecore
+LIBS += -lbubblemanager2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletest2.qrc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<RCC>
+    <qresource prefix="/">
+        <file>resources/contactpic.jpg</file>
+        <file>resources/contactpic2.jpg</file>
+        <file>resources/contactpic3.png</file>
+        <file>resources/qtg_large_tb_mute.svg</file>
+        <file>resources/qtg_large_tb_silence.svg</file>
+        <file>resources/qtg_large_tb_unmute.svg</file>
+        <file>resources/qtg_large_tb_message.svg</file>
+        <file>resources/qtg_large_tb_contacts.svg</file>
+        <file>resources/qtg_large_tb_dialler.svg</file>
+        <file>resources/qtg_large_tb_loudsp_mute.svg</file>
+        <file>resources/qtg_large_tb_loudsp_unmute.svg</file>
+        <file>resources/qtg_mono_reject_call.svg</file>
+        <file>resources/qtg_mono_answer_call.svg</file>
+        <file>resources/qtg_mono_replace_call.svg</file>
+        <file>resources/qtg_mono_drop_call.svg</file>
+        <file>resources/qtg_mono_end_call.svg</file>
+        <file>resources/qtg_mono_hold_call.svg</file>
+        <file>resources/qtg_mono_join_call.svg</file>
+        <file>resources/qtg_mono_private_call.svg</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,141 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Animated icon.
+*
+*/
+
+#include <QLocalSocket>
+
+#include "bubbletester.h"
+
+
+BubbleTester::BubbleTester() : mLocalSocket(new QLocalSocket())
+{
+}
+
+BubbleTester::~BubbleTester()
+{
+    mLocalSocket->disconnectFromServer();
+    delete mLocalSocket;
+}
+
+bool BubbleTester::connectToServer()
+{
+    mLocalSocket->connectToServer("bubbletestserver");
+
+    // This logic needs to be improved
+    bool success = mLocalSocket->waitForConnected(500);
+
+    qDebug() << "Socket Connect status: " << success;
+
+    if (success) {
+        connect(mLocalSocket, SIGNAL(readyRead()), this, SLOT(readData()));
+    }
+
+    return success;
+}
+
+void BubbleTester::readData()        
+{
+    QByteArray inputByteArray = mLocalSocket->readAll();
+    QDataStream inputDataStream(inputByteArray);
+    QString textDocument;
+    inputDataStream >> textDocument;
+
+    QString errorStr;
+    int errorLine;
+    int errorColumn;
+
+    if (!mDomDocument.setContent(textDocument, true, &errorStr, &errorLine,
+                                &errorColumn)) {
+        qDebug() << "Cannot read tester data!";
+    } else {
+        emit dataChanged();
+    }
+}
+
+QList<QString> BubbleTester::bubbles()
+{
+    QDomNodeList list = mDomDocument.elementsByTagName("bubble");
+
+    QList<QString> testBubbles;
+
+    for (int i=0; i<list.count(); i++ ) {
+        QDomNode node = list.at(i);
+        if (node.isElement()) {
+            QDomElement e = node.toElement();
+            QString id = e.attribute("id");
+            testBubbles.append(id);
+        }
+    }
+
+    return testBubbles;
+}
+
+QString BubbleTester::dataField( const QString&  bubble, const QString& fieldName )
+{
+    QString text("");
+    QDomElement elem = bubbleElement(bubble);
+
+    if (!elem.isNull()) {
+        QDomNodeList list = elem.elementsByTagName(fieldName);
+
+        if (list.count()) {
+            QDomNode node = list.at(0);
+            if (node.isElement()) {
+                QDomElement e = node.toElement();
+                text = e.text();
+            }
+        }
+    }
+
+    return text;
+}
+
+QDomElement BubbleTester::bubbleElement(const QString&  bubble)
+{
+    QDomNodeList list = mDomDocument.elementsByTagName("bubble");
+
+    QDomElement elem;
+
+    for (int i=0; i<list.count(); i++ ) {
+        QDomNode node = list.at(i);
+        if (node.isElement()) {
+            QDomElement e = node.toElement();
+            QString id = e.attribute("id");
+            if (id == bubble) {
+                elem = e;
+                break;
+            }
+        }
+    }
+
+    return elem;
+}
+
+QString BubbleTester::dataField(const QString& fieldName)
+{
+    QString text("");
+    QDomNodeList list = mDomDocument.elementsByTagName(fieldName);
+
+    if (list.count()) {
+        QDomNode node = list.at(0);
+        if (node.isElement()) {
+            QDomElement e = node.toElement();
+            text = e.text();
+        }
+    }
+
+    return text;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,52 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Animated icon.
+*
+*/
+
+#ifndef BUBBLETESTER_H
+#define BUBBLETESTER_H
+
+#include <QObject>
+#include <QDomDocument>
+
+class QLocalSocket;
+
+class BubbleTester : public QObject
+{
+    Q_OBJECT
+
+public:
+    BubbleTester();
+    ~BubbleTester();
+
+    bool connectToServer();
+
+    QList<QString> bubbles();
+    QString dataField(const QString& fieldName);
+    QString dataField(const QString&  bubble, const QString& fieldName);
+    QDomElement bubbleElement(const QString&  bubble);
+
+signals:
+    void dataChanged();
+
+private slots:
+    void readData();
+
+private:
+    QLocalSocket* mLocalSocket;
+    QDomDocument  mDomDocument;
+};
+
+#endif // BUBBLETESTER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbledata.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,153 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Animated icon.
+*
+*/
+
+#include <QFile>
+#include <QMessageBox>
+#include <QDomDocument>
+#include "bubbledata.h"
+
+BubbleData::BubbleData( QObject *parent ) : QObject(parent)
+{
+    QFile file(":/testdata.xml");
+
+    if (!file.open(QFile::ReadOnly | QFile::Text)) {
+        QMessageBox::critical((QWidget*)parent, tr("Bubble tester"),
+                              tr("Cannot read testdata.xml") );
+        return;
+    }
+
+    createDomFromFile(&file);
+}
+
+void BubbleData::createDomFromFile(QIODevice *device)
+{
+    QString errorStr;
+    int errorLine;
+    int errorColumn;
+
+    if (!mDomDocument.setContent(device, true, &errorStr, &errorLine,
+                                &errorColumn)) {
+        QMessageBox::information((QWidget*)parent(), tr("Bubble tester"),
+                                 tr("Parse error at line %1, column %2:\n%3")
+                                 .arg(errorLine)
+                                 .arg(errorColumn)
+                                 .arg(errorStr));
+    }
+}
+
+QString BubbleData::dataField( const QString&  bubble, const QString& fieldName )
+{
+    QString text("");
+    QDomElement elem = bubbleElement(bubble);
+
+    if (!elem.isNull()) {
+        QDomNodeList list = elem.elementsByTagName(fieldName);
+
+        if (list.count()) {
+            QDomNode node = list.at(0);
+            if (node.isElement()) {
+                QDomElement e = node.toElement();
+                text = e.text();
+            }
+        }
+    }
+
+    return text;
+}
+
+QDomElement BubbleData::bubbleElement(const QString&  bubble)
+{
+    QDomNodeList list = mDomDocument.elementsByTagName("bubble");
+
+    QDomElement elem;
+
+    for (int i=0; i<list.count(); i++ ) {
+        QDomNode node = list.at(i);
+        if (node.isElement()) {
+            QDomElement e = node.toElement();
+            QString id = e.attribute("id");
+            if (id == bubble) {
+                elem = e;
+                break;
+            }
+        }
+    }
+
+    return elem;
+}
+
+void BubbleData::setDataField( const QString&  bubble, const QString& fieldName, const QString& value )
+{
+    QDomElement elem = bubbleElement(bubble);
+    if (elem.isNull()) {
+        return;
+    }
+
+    QDomText domText = mDomDocument.createTextNode(value);
+    QDomElement newElem = mDomDocument.createElement(fieldName);
+    newElem.appendChild(domText);
+
+    QDomNodeList list = elem.elementsByTagName(fieldName);
+
+    if (list.count()) {
+        QDomNode node = list.at(0);
+        if (node.isElement()) {
+            QDomNode parent = node.parentNode();
+            parent.replaceChild(newElem,node);
+        }
+    }
+}
+
+QString BubbleData::dataField(const QString& fieldName)
+{
+    QString text("");
+    QDomNodeList list = mDomDocument.elementsByTagName(fieldName);
+
+    if (list.count()) {
+        QDomNode node = list.at(0);
+        if (node.isElement()) {
+            QDomElement e = node.toElement();
+            text = e.text();
+        }
+    }
+
+    return text;
+}
+
+void BubbleData::setDataField(const QString& fieldName, const QString& value)
+{
+    QDomText domText = mDomDocument.createTextNode(value);
+    QDomElement newElem = mDomDocument.createElement(fieldName);
+    newElem.appendChild(domText);
+
+    QDomNodeList list = mDomDocument.elementsByTagName(fieldName);
+
+    if (list.count()) {
+        QDomNode node = list.at(0);
+        if (node.isElement()) {
+            QDomNode parent = node.parentNode();
+            parent.replaceChild(newElem,node);
+        }
+    }
+
+}
+
+const QDomDocument& BubbleData::document() const
+{
+    return mDomDocument;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbledata.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,48 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Animated icon.
+*
+*/
+
+#ifndef BUBBLEDATA_H
+#define BUBBLEDATA_H
+
+#include <QObject>
+#include <QDomDocument>
+
+class BubbleData : public QObject
+{
+public:
+    BubbleData( QObject *parent = 0 );
+
+    void createDomFromFile(QIODevice *device);
+
+    // generic
+    QString dataField(const QString& fieldName);
+    void setDataField(const QString& fieldName, const QString& value);
+
+    // bubble related
+    QString dataField(const QString&  bubble, const QString& fieldName);
+    void setDataField(const QString&  bubble, const QString& fieldName, const QString& value);
+
+    const QDomDocument& document() const;
+
+private:
+    QDomElement bubbleElement(const QString&  bubble);
+
+private:
+    QDomDocument mDomDocument;
+};
+
+#endif // BUBBLEDATA_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbletester.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TARGET = bubbletester
+TEMPLATE = app
+QT = core \
+    gui \
+    svg \
+    network \
+    xml
+SOURCES += main.cpp \
+    mainwindow.cpp \
+    bubbledata.cpp
+HEADERS += mainwindow.h \
+    bubbledata.h
+FORMS += mainwindow.ui
+RESOURCES += bubbletester.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/bubbletester.qrc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/" >
+        <file>testdata.xml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/main.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:  Animated icon.
+*
+*/
+
+#include <QtGui/QApplication>
+#include "mainwindow.h"
+
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);
+    MainWindow w;
+    w.show();
+    w.start();
+    return a.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,184 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Animated icon.
+*
+*/
+
+#include <QLocalServer>
+#include <QLocalSocket>
+#include <QMessageBox>
+#include <QLabel>
+#include <QStatusBar>
+#include <QDomDocument>
+
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+#include "bubbledata.h"
+
+
+MainWindow::MainWindow(QWidget *parent)
+    : QMainWindow(parent),
+      ui(new Ui::MainWindow),
+      mServer(new QLocalServer(this)),
+      mClientConnection(0),
+      mStatusLabel(new QLabel(this)),
+      mBubbleId("1")
+{
+    ui->setupUi(this);
+    statusBar()->addWidget(mStatusLabel,1);
+
+    connect( ui->comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(bubbleChanged()) );
+    connect( ui->lineEdit, SIGNAL(editingFinished()), this, SLOT(updateName()) );
+    connect( ui->lineEdit_2, SIGNAL(editingFinished()), this, SLOT(updateNumber()) );
+    connect( ui->comboBox_2, SIGNAL(currentIndexChanged(int)), this, SLOT(updateState()) );
+    connect( ui->checkBox, SIGNAL(stateChanged(int)) , this, SLOT(updateDivert(int)) );
+    connect( ui->checkBox_2, SIGNAL(stateChanged(int)) , this, SLOT(updateMute(int)) );
+
+    mDataModel = new BubbleData(this);
+
+    initUi();
+}
+
+MainWindow::~MainWindow()
+{
+    delete ui;
+    mServer->close();
+    delete mServer;
+}
+
+
+bool MainWindow::start()
+{
+    bool success = false;
+    if (!mServer->listen("bubbletestserver")) {
+        QMessageBox::critical( this,
+                               tr("Bubble Tester"),
+                               tr("Unable to start the server: %1.").arg(mServer->errorString()));
+        return success;
+    }
+
+    mStatusLabel->setText(tr("Server running"));
+
+    connect( mServer, SIGNAL(newConnection()), this, SLOT(clientConnected()));
+    success = true;
+    return success;
+}
+
+
+void MainWindow::clientConnected()
+{
+    if (mClientConnection) {
+        return;
+    }
+
+    // get the next pending connection
+    mClientConnection = mServer->nextPendingConnection();
+
+    mStatusLabel->setText(tr("Connected"));
+
+    connect(mClientConnection, SIGNAL(disconnected()), this, SLOT(clientDisconnected()));
+}
+
+void MainWindow::clientDisconnected()
+{
+    mClientConnection = 0;
+    connect((QLocalSocket*)sender(), SIGNAL(disconnected()), (QLocalSocket*)sender(), SLOT(deleteLater()));
+    mStatusLabel->setText(tr("Disconnected"));
+}
+
+void MainWindow::sendData()
+{
+    QByteArray block;
+    QDataStream out(&block, QIODevice::WriteOnly);
+
+    out << mDataModel->document().toString();
+
+    if (mClientConnection) {
+        mClientConnection->write(block);
+    }
+}
+
+void MainWindow::initUi()
+{
+    ui->lineEdit->setText(mDataModel->dataField(mBubbleId,"name"));
+    ui->lineEdit_2->setText(mDataModel->dataField(mBubbleId,"number"));
+
+    QString state = mDataModel->dataField(mBubbleId,"state");
+    int index = ui->comboBox_2->findText(state);
+    ui->comboBox_2->setCurrentIndex(index);
+
+    QString divert = mDataModel->dataField(mBubbleId,"divert");
+    ui->checkBox->setChecked((divert=="On"));
+
+    QString mute = mDataModel->dataField("mute");
+    ui->checkBox_2->setChecked((mute=="On"));
+}
+
+void MainWindow::bubbleChanged()
+{
+    mBubbleId = ui->comboBox->currentText();
+    initUi();
+}
+
+void MainWindow::updateName()
+{
+    mDataModel->setDataField(mBubbleId,"name",ui->lineEdit->text());
+    sendData();
+}
+
+void MainWindow::updateNumber()
+{
+    mDataModel->setDataField(mBubbleId,"number",ui->lineEdit_2->text());
+    sendData();
+}
+
+void MainWindow::updateState()
+{
+    mDataModel->setDataField(mBubbleId,"state",ui->comboBox_2->currentText());
+    sendData();
+}
+
+void MainWindow::updateDivert(int state)
+{
+    if (!state) {
+        mDataModel->setDataField(mBubbleId,"divert","Off");
+    } else {
+        mDataModel->setDataField(mBubbleId,"divert","On");
+    }
+
+    sendData();
+}
+
+void MainWindow::updateMute(int state)
+{
+    if (!state) {
+        mDataModel->setDataField("mute","Off");
+    } else {
+        mDataModel->setDataField("mute","On");
+    }
+
+    sendData();
+}
+
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,69 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Animated icon.
+*
+*/
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QtGui/QMainWindow>
+
+namespace Ui
+{
+    class MainWindow;
+}
+
+class QLocalServer;
+class QLocalSocket;
+class QLabel;
+class BubbleData;
+
+class MainWindow : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    MainWindow(QWidget *parent = 0);
+    ~MainWindow();
+
+    bool start();
+
+private slots:
+    void clientConnected();
+    void clientDisconnected();
+
+    void bubbleChanged();
+    void updateName();
+    void updateNumber();
+    void updateState();
+    void updateDivert(int);
+    void updateMute(int);
+
+    void sendData();
+
+private:
+    void initUi();
+
+private:
+    Ui::MainWindow *ui;
+
+    QLocalServer *mServer;
+    QLocalSocket *mClientConnection;
+    QLabel       *mStatusLabel;
+    BubbleData   *mDataModel;
+    QString      mBubbleId;
+};
+
+#endif // MAINWINDOW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/mainwindow.ui	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>397</width>
+    <height>277</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Bubble Tester</string>
+  </property>
+  <widget class="QWidget" name="centralWidget">
+   <widget class="QComboBox" name="comboBox">
+    <property name="geometry">
+     <rect>
+      <x>60</x>
+      <y>20</y>
+      <width>51</width>
+      <height>22</height>
+     </rect>
+    </property>
+    <item>
+     <property name="text">
+      <string>1</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>2</string>
+     </property>
+    </item>
+   </widget>
+   <widget class="QLabel" name="label">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>20</y>
+      <width>41</width>
+      <height>20</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>Bubble</string>
+    </property>
+   </widget>
+   <widget class="QLabel" name="label_2">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>60</y>
+      <width>46</width>
+      <height>14</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>Name</string>
+    </property>
+   </widget>
+   <widget class="QLineEdit" name="lineEdit">
+    <property name="geometry">
+     <rect>
+      <x>60</x>
+      <y>60</y>
+      <width>301</width>
+      <height>20</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>Gloria Andersson</string>
+    </property>
+   </widget>
+   <widget class="QLabel" name="label_3">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>100</y>
+      <width>46</width>
+      <height>14</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>Number</string>
+    </property>
+   </widget>
+   <widget class="QLineEdit" name="lineEdit_2">
+    <property name="geometry">
+     <rect>
+      <x>60</x>
+      <y>100</y>
+      <width>301</width>
+      <height>20</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>+35850123456789</string>
+    </property>
+   </widget>
+   <widget class="QComboBox" name="comboBox_2">
+    <property name="geometry">
+     <rect>
+      <x>60</x>
+      <y>140</y>
+      <width>121</width>
+      <height>22</height>
+     </rect>
+    </property>
+    <item>
+     <property name="text">
+      <string>Idle</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>Incoming</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>Outgoing</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>Waiting</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>Active</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>OnHold</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>Disconnected</string>
+     </property>
+    </item>
+   </widget>
+   <widget class="QLabel" name="label_4">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>140</y>
+      <width>46</width>
+      <height>14</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>State</string>
+    </property>
+   </widget>
+   <widget class="QCheckBox" name="checkBox">
+    <property name="geometry">
+     <rect>
+      <x>60</x>
+      <y>220</y>
+      <width>71</width>
+      <height>19</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>Diverted</string>
+    </property>
+   </widget>
+   <widget class="QLabel" name="label_5">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>220</y>
+      <width>46</width>
+      <height>14</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>Flags</string>
+    </property>
+   </widget>
+   <widget class="QCheckBox" name="checkBox_2">
+    <property name="geometry">
+     <rect>
+      <x>140</x>
+      <y>220</y>
+      <width>71</width>
+      <height>19</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>Muted</string>
+    </property>
+   </widget>
+   <widget class="QLabel" name="label_6">
+    <property name="geometry">
+     <rect>
+      <x>10</x>
+      <y>180</y>
+      <width>46</width>
+      <height>14</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>Type</string>
+    </property>
+   </widget>
+   <widget class="QComboBox" name="comboBox_3">
+    <property name="geometry">
+     <rect>
+      <x>60</x>
+      <y>180</y>
+      <width>121</width>
+      <height>22</height>
+     </rect>
+    </property>
+    <item>
+     <property name="text">
+      <string>Mobile</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>Work</string>
+     </property>
+    </item>
+    <item>
+     <property name="text">
+      <string>Home</string>
+     </property>
+    </item>
+   </widget>
+  </widget>
+  <widget class="QMenuBar" name="menuBar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>397</width>
+     <height>19</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QStatusBar" name="statusBar"/>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletester/testdata.xml	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xbel>
+<xbel version="1.0">
+    <mute>Off</mute>
+    <bubble id="1">
+        <name>Elvis Pelvis</name>
+        <number>12345</number>
+        <state>Idle</state>
+        <type>Mobile</type>
+        <divert>Off</divert>
+    </bubble>
+    <bubble id="2">
+        <name>Jim Morrison</name>
+        <number>67890</number>
+        <state>Idle</state>
+        <type>Mobile</type>
+        <divert>Off</divert>
+    </bubble>
+</xbel>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,1051 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QDebug>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <bubblemanager2.h>
+#include <hbmenu.h>
+#include <hbmainwindow.h>
+
+#include "bubbletestview.h"
+#include "bubbletester.h"
+
+BubbleTestView::BubbleTestView(HbMainWindow& window, QGraphicsItem *parent) :
+    HbView (parent), mMainWindow(window), mMuted(0), mConfBubbleId(-1),
+    mProvideJoin(false)
+{
+    setFlags (QGraphicsItem::ItemIsFocusable);
+    setFocusPolicy (Qt::StrongFocus);
+    setTitle("BubbleTest2");
+    
+    // the widget under the test
+    mBubbleManager = new BubbleManager (this);
+    setWidget(mBubbleManager);
+
+    // init toolbar
+    createToolBarActions();
+    //toolBar()->setOrientation(mMainWindow.orientation());
+    connect( &mMainWindow,SIGNAL(orientationChanged(Qt::Orientation)),
+             this,SLOT(handleOrientationChange(Qt::Orientation)));
+    
+    // init menu
+    createMenuActions();
+
+    // create actions for push buttons
+    createBubbleActions();
+
+    // tester
+    mBubbleTester = new BubbleTester();
+    connect(mBubbleTester,SIGNAL(dataChanged()),this,SLOT(handleTesterDataChanged()));
+    mBubbleTester->connectToServer();
+
+    // create state map
+    mStateMap.insert("Idle", BubbleManagerIF::None );
+    mStateMap.insert("Incoming", BubbleManagerIF::Incoming );
+    mStateMap.insert("Active", BubbleManagerIF::Active );
+    mStateMap.insert("Disconnected", BubbleManagerIF::Disconnected );
+    mStateMap.insert("Outgoing", BubbleManagerIF::Outgoing );
+    mStateMap.insert("Waiting", BubbleManagerIF::Waiting );
+    mStateMap.insert("OnHold", BubbleManagerIF::OnHold );
+    // create label map
+    mLabelMap.insert("Idle", "" );
+    mLabelMap.insert("Incoming", "calling" );
+    mLabelMap.insert("Active", "" );
+    mLabelMap.insert("Disconnected", "disconnected" );
+    mLabelMap.insert("Outgoing", "Calling" );
+    mLabelMap.insert("Waiting", "waiting" );
+    mLabelMap.insert("OnHold", "on hold" );
+}
+
+BubbleTestView::~BubbleTestView()
+{
+    delete mBubbleTester;
+}
+
+void BubbleTestView::keyPressEvent(QKeyEvent *event)
+{
+    switch( event->key() )
+    {
+    case '1': // create incoming call
+    {
+        if ( mEmergencyCall->isChecked() ) {
+            return; // not supported
+        }
+
+        if ( mCalls.count() == 0 ) {
+            bubbleManager().startChanges();
+            int bubbleId = bubbleManager().createCallHeader();
+            setBubbleData(bubbleId, BubbleManager::Incoming);
+            setBubbleActions(bubbleId, BubbleManager::Incoming);
+            bubbleManager().endChanges();
+            
+            // store this call
+            TestCall call;
+            call.bubbleId = bubbleId;
+            call.callState = BubbleManager::Incoming;
+            mCalls.append( call );
+
+            updateToolBarActions();
+
+        } else if ( !initializingCallExists() ) {
+            // waiting call
+            bubbleManager().startChanges();
+            int bubbleId = bubbleManager().createCallHeader();
+            setBubbleData(bubbleId, BubbleManager::Waiting);
+            setBubbleActions( bubbleId, BubbleManager::Waiting );
+            bubbleManager().setExpandedConferenceCallHeader(false);
+            bubbleManager().endChanges();
+
+            // store this call
+            TestCall call;
+            call.bubbleId = bubbleId;
+            call.callState = BubbleManager::Waiting;
+            mCalls.append( call );
+
+            setExpandActions();
+            updateToolBarActions();
+        }
+        break;
+    }
+    
+    case '2': // create outgoing call
+    {
+        if ( !initializingCallExists() && (callCount()<3) ) {
+            bubbleManager().startChanges();
+            int bubbleId = bubbleManager().createCallHeader();
+            setBubbleData(bubbleId, BubbleManager::Outgoing);
+            setBubbleActions( bubbleId, BubbleManager::Outgoing );
+            bubbleManager().endChanges();
+
+            // store this call
+            TestCall call;
+            call.bubbleId = bubbleId;
+            call.callState = BubbleManager::Outgoing;
+            mCalls.append( call );
+
+            bubbleManager().setBubbleSelectionDisabled(true);
+            updateToolBarActions();
+       }
+       break;
+    }
+    
+    case '3': // connect
+    {
+        int i,j;
+
+        if (callIndexByState(BubbleManagerIF::Outgoing, i)) {
+            // outgoing to alerting
+            bubbleManager().startChanges();
+            setBubbleData(mCalls[i].bubbleId, BubbleManager::Alerting);
+            bubbleManager().endChanges();
+            mCalls[i].callState = BubbleManager::Alerting;
+            return;
+        }
+
+        if (callCount()==3) {
+            // replace active call
+            bubbleManager().startChanges();
+            Q_ASSERT(callIndexByState(BubbleManagerIF::Active, j));
+            bubbleManager().removeCallHeader(mCalls[j].bubbleId);
+            mCalls.removeAt(j);
+            Q_ASSERT(callIndexByState(BubbleManagerIF::Waiting, i));
+            setBubbleData(mCalls[i].bubbleId, BubbleManager::Active);
+            setBubbleActions(mCalls[i].bubbleId, BubbleManager::Active);
+            bubbleManager().endChanges();
+            mCalls[i].callState = BubbleManager::Active;
+            setExpandActions();
+            updateToolBarActions();
+            bubbleManager().setBubbleSelectionDisabled(false);
+        } else if (callIndexByState(BubbleManagerIF::Incoming, i)||
+                   callIndexByState(BubbleManagerIF::Alerting, i)||
+                   callIndexByState(BubbleManagerIF::Waiting, i)) {
+            bubbleManager().startChanges();
+            setBubbleData(mCalls[i].bubbleId, BubbleManager::Active);
+            mProvideJoin = true; // bit hackish
+            setBubbleActions(mCalls[i].bubbleId, BubbleManager::Active);
+            mProvideJoin = false;
+            if (callIndexByState(BubbleManagerIF::Active, j)) {
+                setBubbleData(mCalls[j].bubbleId, BubbleManager::OnHold);
+                setBubbleActions(mCalls[j].bubbleId, BubbleManager::OnHold);
+                mCalls[j].callState = BubbleManager::OnHold;
+            }
+            bubbleManager().endChanges();
+            mCalls[i].callState = BubbleManager::Active;
+            setExpandActions();
+            updateToolBarActions();
+            bubbleManager().setBubbleSelectionDisabled(false);
+        }
+        break;
+    }
+
+    case '4': // hold
+    {
+        int i,j;
+
+        if (callCount()==1) {
+            // toggle hold
+            bubbleManager().startChanges();
+            if (callIndexByState(BubbleManagerIF::Active, i)||
+                callIndexByState(BubbleManagerIF::OnHold, i)) {
+                BubbleManagerIF::PhoneCallState state =
+                    mCalls[i].callState == BubbleManagerIF::Active ?
+                    BubbleManagerIF::OnHold : BubbleManagerIF::Active;
+
+                setBubbleData(mCalls[i].bubbleId, state);
+                setBubbleActions(mCalls[i].bubbleId, state );
+                mCalls[i].callState=state;
+            }
+            bubbleManager().endChanges();
+            updateToolBarActions();
+        } else if (callIndexByState(BubbleManagerIF::Active, i)) {
+            // swap calls
+            bubbleManager().startChanges();
+            if (callIndexByState(BubbleManagerIF::OnHold, j)) {
+                setBubbleData(mCalls[j].bubbleId, BubbleManager::Active);
+                setBubbleActions(mCalls[j].bubbleId, BubbleManager::Active );
+                mCalls[j].callState=BubbleManager::Active;
+            }
+            setBubbleData(mCalls[i].bubbleId, BubbleManager::OnHold);
+            setBubbleActions(mCalls[i].bubbleId, BubbleManager::OnHold );
+            mCalls[i].callState=BubbleManager::OnHold;
+            if (conferenceCallExists()) {
+                bubbleManager().setExpandedConferenceCallHeader(
+                    bubbleIdByState(BubbleManager::Active)==mConfBubbleId);
+            }
+            bubbleManager().endChanges();
+            setExpandActions();
+            updateToolBarActions();
+        } else if (callIndexByState(BubbleManagerIF::Waiting, i)) {
+            // activate held call
+            bubbleManager().startChanges();
+            if (callIndexByState(BubbleManagerIF::OnHold, j)) {
+                setBubbleData(mCalls[j].bubbleId, BubbleManager::Active);
+                setBubbleActions(mCalls[j].bubbleId, BubbleManager::Active );
+                mCalls[j].callState=BubbleManager::Active;
+            }
+            bubbleManager().endChanges();
+            setExpandActions();
+            updateToolBarActions();
+        }
+        break;
+    }
+    
+    case '5': // disconnect
+    {
+        int i,j;
+
+        if (callIndexByState(BubbleManagerIF::Disconnected, i)) {
+            bubbleManager().startChanges();
+            bubbleManager().removeCallHeader(mCalls[i].bubbleId);
+            // remove call
+            mCalls.removeAt(i);
+
+            if (mMuted) {
+                setMuted(); // unmute
+            }
+
+            bool expand = true;
+            QListIterator<TestCall> calls(mCalls);
+            while(calls.hasNext()) {
+                TestCall call = calls.next();
+                  if (!call.isConf && !call.isInConf) {
+                      expand = false;
+                  }
+            }
+            bubbleManager().setExpandedConferenceCallHeader(expand);
+            bubbleManager().endChanges();
+
+            updateToolBarActions();
+            return;
+        }
+
+        if (callCount()) {
+            int expanded = bubbleManager().expandedBubble();
+            callIndexByBubbleId(expanded,i);
+            bubbleManager().startChanges();
+
+            if (mCalls.at(i).isConf) {
+                bubbleManager().removeConference();
+                mConfBubbleId = -1;
+                mCalls.removeAt(i);
+
+                QMutableListIterator<TestCall> calls(mCalls);
+                j=0;
+                while(calls.hasNext()) {                  
+                    if (mCalls[j].isInConf) {
+                        bubbleManager().removeCallHeader(mCalls[j].bubbleId);
+                        mCalls.removeAt(j);
+                    } else {
+                        j++;
+                    }
+                    calls.next();
+                }
+            } else {
+                setBubbleData(mCalls[i].bubbleId, BubbleManager::Disconnected);
+                setBubbleActions(mCalls[i].bubbleId, BubbleManager::Disconnected);
+                mCalls[i].callState=BubbleManager::Disconnected;
+            }
+            bubbleManager().endChanges();
+            updateToolBarActions();
+        }
+        break;
+    }
+    
+    case '7': // create/join conference
+    {
+        int activeCallId = bubbleIdByState(BubbleManagerIF::Active);
+        int heldCallId = bubbleIdByState(BubbleManagerIF::OnHold);
+        int i;
+
+        if (conferenceCallExists()&&(activeCallId!=-1)) {
+            callIndexByBubbleId(activeCallId,i);
+            mCalls[i].isInConf = true;
+            bubbleManager().startChanges();
+            bubbleManager().addRowToConference(activeCallId);
+            bubbleManager().setExpandedConferenceCallHeader(true);
+            bubbleManager().setState(mConfBubbleId,BubbleManagerIF::Active);
+            setBubbleActions(mConfBubbleId,BubbleManagerIF::Active);
+            bubbleManager().endChanges();            
+        } else if (activeCallId!=-1 && heldCallId!=-1) {
+            bubbleManager().startChanges();
+            mConfBubbleId = bubbleManager().createConference(heldCallId, activeCallId);
+            bubbleManager().setExpandedConferenceCallHeader(true);
+            bubbleManager().setState(mConfBubbleId,BubbleManagerIF::Active);
+            bubbleManager().setCli(mConfBubbleId,"Conference call",Qt::ElideRight);
+            if (mCallTimer->isChecked()) {
+                bubbleManager().setCallTime( mConfBubbleId, "0:00" );
+            }
+            bubbleManager().addAction(mConfBubbleId, mEndConference);
+            bubbleManager().clearParticipantListActions();
+            bubbleManager().addParticipantListAction(mPrivate);
+            bubbleManager().addParticipantListAction(mDrop);
+            bubbleManager().setState(heldCallId,BubbleManagerIF::Active);
+            bubbleManager().endChanges();
+
+            callIndexByBubbleId(activeCallId,i);
+            mCalls[i].isInConf = true;
+            callIndexByBubbleId(heldCallId,i);
+            mCalls[i].isInConf = true;
+
+            // store the call
+            TestCall call;
+            call.bubbleId = mConfBubbleId;
+            call.callState = BubbleManagerIF::Active;
+            call.isConf = true;
+            call.isInConf = false;
+            mCalls.append(call);
+        }
+        break;
+    }
+
+    case '9': // conference shortcut
+    {
+        conferenceWizard();
+        break;
+    }
+
+    case '0': // updates
+    case Qt::Key_Space: // updates
+    {
+        if (mCallTimer->isChecked()) {
+            foreach (TestCall call, mCalls) {
+                if ( call.callState == BubbleManager::Active ||
+                     call.callState == BubbleManager::OnHold ) {
+                    bubbleManager().updateCallTime(call.bubbleId,"0:01");
+                }
+            }
+        }
+    }
+    
+    default:
+    break;
+    }
+}
+
+bool BubbleTestView::initializingCallExists() const
+{
+    bool result = false;
+    foreach(TestCall call, mCalls) {
+        if (call.callState>=BubbleManagerIF::Incoming) {
+            result = true;
+            break;
+        }
+    }
+
+    return result;
+}
+
+bool BubbleTestView::conferenceCallExists() const
+{
+    bool result = false;
+    QListIterator<TestCall> i(mCalls);
+    while (i.hasNext()) {
+        if (i.next().isConf) {
+            result = true;
+            break;
+        }
+    }
+    return result;
+}
+
+int BubbleTestView::callCount() const
+{
+    int count = 0;
+    foreach(TestCall call, mCalls) {
+        if (!call.isInConf) {
+            count++;
+        }
+    }
+
+    return count;
+}
+
+bool BubbleTestView::callIndexByState(
+    BubbleManagerIF::PhoneCallState state, int& index)
+{
+    bool result = false;
+    int i = 0;
+    foreach(TestCall call, mCalls) {
+        if (call.callState==state && !call.isInConf) {
+            result = true;
+            index = i;
+            break;
+        }
+        i++;
+    }
+
+    return result;
+}
+
+bool BubbleTestView::callIndexByBubbleId(int bubbleId, int& index)
+{
+    bool result = false;
+    int i = 0;
+    foreach(TestCall call, mCalls) {
+        if (call.bubbleId==bubbleId) {
+            result = true;
+            index = i;
+            break;
+        }
+        i++;
+    }
+
+    return result;
+}
+
+BubbleManagerIF& BubbleTestView::bubbleManager()
+{
+    return *mBubbleManager;
+}
+
+void BubbleTestView::setBubbleData(int bubble, BubbleManagerIF::PhoneCallState state)
+{
+    bubbleManager().setState(bubble, state);
+
+    switch (state) {
+    case BubbleManager::Incoming:
+        {
+        if ( mContactName->isChecked() ) {
+            bubbleManager().setCli(bubble, "Gloria Andersson", Qt::ElideRight);
+            bubbleManager().setSecondaryCli( bubble, "+35850123456789" );
+            mPhoneNumber.clear();
+        } else {
+            mPhoneNumber.append("+35850123456789");
+            bubbleManager().setCli(bubble, mPhoneNumber, Qt::ElideRight);
+        }
+
+        setCallObject(bubble, ":resources/contactpic.jpg");
+        bubbleManager().setNumberType(bubble, BubbleManager::Mobile);
+        bubbleManager().setCallFlag(bubble, BubbleManager::Diverted, mCallDivert->isChecked());
+        bubbleManager().setLabel(bubble, "calling", Qt::ElideRight);
+        break;
+        }
+
+    case BubbleManager::Waiting:
+        {
+        if ( mContactName->isChecked() ) {
+            if (callCount()==2) {
+                bubbleManager().setCli(bubble, "Mary Poppins", Qt::ElideRight);
+                bubbleManager().setSecondaryCli(bubble, "+35840987654321");
+            } else {
+                bubbleManager().setCli(bubble, "John Doe", Qt::ElideRight);
+                bubbleManager().setSecondaryCli(bubble, "+35840987654321");
+            }
+            mPhoneNumber.clear();
+        } else {
+            if (callCount()==2) {
+                mPhoneNumber.append("+35850232323232");
+            } else {
+                mPhoneNumber.append("+35840987654321");
+            }
+            bubbleManager().setCli(bubble, mPhoneNumber, Qt::ElideRight);
+        }
+        setCallObject(bubble, ":resources/contactpic3.png");
+        bubbleManager().setNumberType(bubble, BubbleManager::Mobile);
+        bubbleManager().setCallFlag(bubble, BubbleManager::Diverted, mCallDivert->isChecked());
+        bubbleManager().setLabel(bubble, "waiting", Qt::ElideRight);
+        break;
+        }
+
+    case BubbleManager::Outgoing:
+        {
+        if (mEmergencyCall->isChecked()) {
+            bubbleManager().setCli( bubble, "emergency call", Qt::ElideRight );
+            bubbleManager().setLabel( bubble, "Attempting", Qt::ElideRight );
+        } else {
+            if ( mContactName->isChecked() ) {
+                bubbleManager().setCli( bubble, "Bart Simpson", Qt::ElideRight );
+                bubbleManager().setSecondaryCli( bubble, "+35890987654321" );
+                mPhoneNumber.clear();
+            } else {
+                mPhoneNumber.append("+35890987654321");
+                bubbleManager().setCli( bubble, mPhoneNumber, Qt::ElideRight );
+            }
+            setCallObject(bubble, ":resources/contactpic2.jpg");
+            bubbleManager().setLabel( bubble, "Calling", Qt::ElideRight );
+        }
+        break;
+        }
+
+    case BubbleManager::Alerting:
+        {
+        if ( mPhoneNumber.length() ) {
+            QString cli("Call %1");
+            QString index;
+            index.setNum(bubble+1);
+            cli = cli.arg(index);
+            bubbleManager().setCli( bubble, cli, Qt::ElideRight );
+            bubbleManager().setSecondaryCli( bubble, mPhoneNumber );
+            mPhoneNumber.clear();
+        }
+
+        if ( mEmergencyCall->isChecked() ) {
+            bubbleManager().setCli( bubble, "Emergency call", Qt::ElideRight );
+        }
+        break;
+        }
+
+    case BubbleManager::Active:
+        {
+        if ( mPhoneNumber.length() && bubble!=mConfBubbleId ) {
+            QString cli("Call %1");
+            QString index;
+            index.setNum(bubble+1);
+            cli = cli.arg(index);
+            bubbleManager().setCli( bubble, cli, Qt::ElideRight );
+            bubbleManager().setSecondaryCli( bubble, mPhoneNumber );
+            mPhoneNumber.clear();
+        }
+
+        if ( mCallTimer->isChecked() ) {
+            bubbleManager().setCallTime( bubble, "0:00" );
+        }
+        break;
+        }
+
+    case BubbleManager::OnHold:
+        {
+        bubbleManager().setLabel( bubble, "on hold", Qt::ElideRight );
+        break;
+        }
+
+    case BubbleManager::Disconnected:
+        {
+        bubbleManager().setLabel( bubble, "disconnected", Qt::ElideRight );
+        break;
+        }
+
+    default:
+        {
+        break;
+        }
+    }
+}
+
+void BubbleTestView::setCallObject(int bubble, const QString& filename)
+{
+    if (mContactPicture->isChecked()) {
+        bubbleManager().setCallObjectImage(bubble, filename);
+    } else {
+        bubbleManager().setCallObjectFromTheme(bubble);
+    }
+}
+
+void BubbleTestView::setBubbleActions(int bubble, BubbleManagerIF::PhoneCallState state )
+{
+    if (bubble==mConfBubbleId) {
+        // check, if all call are in conference
+        bool swapButton = false;
+        QListIterator<TestCall> calls(mCalls);
+        while(calls.hasNext()) {
+            TestCall call = calls.next();
+            if (!call.isConf && !call.isInConf) {
+                swapButton = true;
+            }
+        }
+
+        bubbleManager().clearActions(bubble);
+
+        if (swapButton) {
+            bubbleManager().addAction(bubble, mSwap);
+        }
+
+        bubbleManager().addAction(bubble, mEndConference);
+        return;
+    }
+
+    bubbleManager().clearActions(bubble);
+
+    switch (state) {
+    case BubbleManager::Incoming:
+    case BubbleManager::Waiting:
+        {
+        if (callCount()==2) {
+            bubbleManager().addAction( bubble, mReplace );
+        } else {
+            bubbleManager().addAction( bubble, mAnswer );
+            bubbleManager().addAction( bubble, mReject );
+        }
+        break;
+        }
+    case BubbleManager::Outgoing:
+    case BubbleManager::Alerting: // flow through
+        {
+        bubbleManager().addAction( bubble, mEndCall );
+        break;
+        }
+    case BubbleManager::OnHold:
+        {
+        bubbleManager().addAction( bubble, mUnhold );
+        bubbleManager().addAction( bubble, mEndCall );
+        }
+        break;
+    default: // Active call
+        {
+        HbAction* action;
+
+        if (!mEmergencyCall->isChecked()) {
+            int i;
+            if ( (mCalls.count()>1 && !callIndexByState(BubbleManagerIF::Waiting,i))
+                  || (mCalls.count()> 1 && mProvideJoin) ) {
+                action = mJoin;
+            } else {
+                action = mHold;
+            }
+
+            bubbleManager().addAction( bubble, action );
+        }
+                    
+        bubbleManager().addAction( bubble, mEndCall );
+        break;
+        }
+    }
+}
+
+void BubbleTestView::setExpandActions()
+{
+    if (callCount() >= 2) {
+        int i;
+        int j;
+        int heldBubble = -1;
+        if (callIndexByState(BubbleManagerIF::Active,i) &&
+            callIndexByState(BubbleManagerIF::OnHold,j)) {
+            heldBubble = mCalls[j].bubbleId;
+            bubbleManager().setExpandAction(heldBubble, mSwap);
+        } else if (callIndexByState(BubbleManagerIF::Waiting,i) &&
+                   callIndexByState(BubbleManagerIF::OnHold,j)) {
+            heldBubble = mCalls[j].bubbleId;
+            bubbleManager().setExpandAction(heldBubble, mUnhold);
+        }
+
+        // for rest set update toolbar action
+        QListIterator<TestCall> calls(mCalls);
+        while (calls.hasNext()) {
+            TestCall call = calls.next();
+            if (!call.isInConf && call.bubbleId!=heldBubble) {
+                bubbleManager().setExpandAction(call.bubbleId, mUpdateUiControls);
+            }
+        }
+    }
+}
+
+void BubbleTestView::answerCall()
+{
+    QKeyEvent event( QEvent::KeyPress, '3', 0 );
+    keyPressEvent(&event);
+}
+
+void BubbleTestView::endCall()
+{
+    QKeyEvent event( QEvent::KeyPress, '5', 0 );
+    keyPressEvent(&event);
+    keyPressEvent(&event);
+}
+
+void BubbleTestView::endConferenceCall()
+{
+    QKeyEvent event( QEvent::KeyPress, '5', 0 );
+    keyPressEvent(&event);
+}
+
+void BubbleTestView::rejectCall()
+{
+    QKeyEvent event( QEvent::KeyPress, '5', 0 );
+    keyPressEvent(&event);
+    keyPressEvent(&event);
+}
+
+void BubbleTestView::toggleHold()
+{
+    if (callCount() > 1) {
+        QTimer::singleShot(1000, this, SLOT(toggleHoldDelayed()));
+    } else {
+        QKeyEvent event( QEvent::KeyPress, '4', 0 );
+        keyPressEvent(&event);
+    }
+}
+
+void BubbleTestView::toggleHoldDelayed()
+{
+    QKeyEvent event( QEvent::KeyPress, '4', 0 );
+    keyPressEvent(&event);
+}
+
+void BubbleTestView::createIncomingCall()
+{
+    QKeyEvent event( QEvent::KeyPress, '1', 0 );
+    keyPressEvent(&event);
+    setFocus(); // hack because toolbar steals the focus
+}
+
+void BubbleTestView::createOutgoingCall()
+{
+    QKeyEvent event( QEvent::KeyPress, '2', 0 );
+    keyPressEvent(&event);
+    setFocus(); // hack because toolbar steals the focus
+}
+
+void BubbleTestView::setMuted()
+{
+    mMuted = !mMuted;
+    updateToolBarActions();
+    bubbleManager().setPhoneMuted( mMuted );
+    setFocus(); // hack because toolbar steals the focus
+}
+
+void BubbleTestView::joinToConference()
+{
+    QKeyEvent event( QEvent::KeyPress, '7', 0 );
+    keyPressEvent(&event);
+}
+
+void BubbleTestView::handlePrivate()
+{
+    int i;
+    qDebug() << "Handle private";
+    int selection = bubbleManager().selectionIdInConference();
+    qDebug() << "bubble:" << selection;
+    bubbleManager().startChanges();
+    if (bubbleManager().conferenceRowCount()>2) {
+        bubbleManager().removeRowFromConference(selection);
+        bubbleManager().setExpandedConferenceCallHeader(false);
+        callIndexByBubbleId(selection,i);
+        mCalls[i].isInConf = false;
+        setBubbleActions(mCalls[i].bubbleId,BubbleManagerIF::Active);
+        setBubbleData(mConfBubbleId,BubbleManagerIF::OnHold);
+        setExpandActions();
+    } else {
+        bubbleManager().removeConference();
+        callIndexByBubbleId(mConfBubbleId,i);
+        mCalls.removeAt(i);
+        mConfBubbleId = -1;
+        callIndexByBubbleId(selection,i);
+        int held = (i==0) ? 1 : 0;
+        setBubbleActions(selection,BubbleManagerIF::Active);
+        setBubbleData(selection,BubbleManagerIF::Active);
+        setBubbleActions(held,BubbleManagerIF::OnHold);
+        setBubbleData(held,BubbleManagerIF::OnHold);
+        mCalls[0].isInConf = false;
+        mCalls[1].isInConf = false;
+        setExpandActions();
+    }
+    bubbleManager().endChanges();
+}
+
+void BubbleTestView::handleDrop()
+{
+    int i;
+    qDebug() << "Handle drop";
+    int selection = bubbleManager().selectionIdInConference();
+    qDebug() << "bubble:" << selection;
+    bubbleManager().startChanges();
+    if (bubbleManager().conferenceRowCount()>2) {
+        bubbleManager().removeRowFromConference(selection);
+        bubbleManager().removeCallHeader(selection);
+        callIndexByBubbleId(selection,i);
+        mCalls.removeAt(i);
+    } else {
+        bubbleManager().removeConference();
+        callIndexByBubbleId(mConfBubbleId,i);
+        mCalls.removeAt(i);
+        mConfBubbleId = -1;
+        bubbleManager().removeCallHeader(selection);
+        callIndexByBubbleId(selection,i);
+        mCalls.removeAt(i);
+        mCalls[0].isInConf = false;
+        setBubbleActions(mCalls[0].bubbleId,BubbleManagerIF::Active);
+        setExpandActions();
+    }
+    bubbleManager().endChanges();
+}
+
+void BubbleTestView::replaceActiveCall()
+{
+    QKeyEvent event( QEvent::KeyPress, '3', 0 );
+    keyPressEvent(&event);
+}
+
+void BubbleTestView::updateUiControls()
+{
+    if (conferenceCallExists()) {
+        bubbleManager().startChanges();
+        bubbleManager().setExpandedConferenceCallHeader(
+            bubbleManager().expandedBubble()==mConfBubbleId );
+        bubbleManager().endChanges();
+    }
+
+    updateToolBarActions();
+}
+
+void BubbleTestView::createToolBarActions()
+{
+    mCallIn = new HbAction("Call in", this);
+    connect( mCallIn, SIGNAL(triggered()), this, SLOT(createIncomingCall()), Qt::QueuedConnection );
+
+    mCallOut = new HbAction("Call out", this);
+    connect( mCallOut, SIGNAL(triggered()), this, SLOT(createOutgoingCall()), Qt::QueuedConnection );
+
+    mMute = new HbAction(HbIcon(":resources/qtg_large_tb_mute.svg"), "", this);
+    connect( mMute, SIGNAL(triggered()), this, SLOT(setMuted()), Qt::QueuedConnection );
+
+    mUnmute = new HbAction(HbIcon(":resources/qtg_large_tb_unmute.svg"), "", this);
+    connect( mUnmute, SIGNAL(triggered()), this, SLOT(setMuted()), Qt::QueuedConnection );
+
+    // not connected to anywhere
+    mActivateLoudspeaker = new HbAction(HbIcon(":resources/qtg_large_tb_loudsp_unmute.svg"), "", this);
+    mActivateHandset = new HbAction(HbIcon(":resources/qtg_large_tb_loudsp_mute.svg"), "", this);
+    mSendMessage = new HbAction(HbIcon(":resources/qtg_large_tb_message.svg"), "", this);
+    mSilence = new HbAction(HbIcon(":resources/qtg_large_tb_silence.svg"), "", this);
+    mOpenDialer = new HbAction(HbIcon(":resources/qtg_large_tb_dialler.svg"), "", this);
+    mOpenContacts = new HbAction(HbIcon(":resources/qtg_large_tb_contacts.svg"), "", this);
+
+    updateToolBarActions();
+}
+
+void BubbleTestView::createMenuActions()
+{
+    // HbMenu* typeMenu = menu()->addMenu("Call type"); current submenu layout sucks
+    menu()->addAction("Switch orientation",this,SLOT(switchOrientation()));
+    mCallDivert = menu()->addAction("Diverted call");
+    mCallTimer = menu()->addAction("Call timer");
+    mContactName = menu()->addAction("Contact name");
+    mContactPicture = menu()->addAction("Contact picture");
+    mEmergencyCall = menu()->addAction( "Emergency call" );
+    HbAction* exit = menu()->addAction( "Exit" );
+    mCallDivert->setCheckable(true);
+    mCallTimer->setCheckable(true);
+    mContactPicture->setCheckable(true);
+    mContactName->setCheckable(true);
+    mEmergencyCall->setCheckable(true);
+    connect( exit, SIGNAL(triggered()), qApp, SLOT(quit()) );
+}
+
+void BubbleTestView::updateToolBarActions()
+{
+    toolBar()->clearActions();
+
+    if (!mCalls.count()) {
+        toolBar()->addAction(mCallIn);
+        toolBar()->addAction(mCallOut);
+        return;
+    }
+
+    int bubble = bubbleManager().expandedBubble();
+    int i;
+    callIndexByBubbleId(bubble,i);
+    int state = mCalls[i].callState;
+
+    if ( state == BubbleManagerIF::Incoming ||
+         state == BubbleManagerIF::Waiting ) {
+        toolBar()->addAction(mSendMessage);
+        toolBar()->addAction(mSilence);
+    } else {
+        toolBar()->addAction(mOpenDialer);
+        if (!mMuted) {
+            toolBar()->addAction(mMute);
+        } else if (mMuted) {
+            toolBar()->addAction(mUnmute);
+        }
+        toolBar()->addAction(mActivateLoudspeaker);
+        toolBar()->addAction(mOpenContacts);
+    }
+}
+
+void BubbleTestView::createBubbleActions()
+{
+    mAnswer = new HbAction( HbIcon(":resources/qtg_mono_answer_call.svg"),"Answer", this);
+    mAnswer->setSoftKeyRole(QAction::PositiveSoftKey);
+    connect( mAnswer, SIGNAL( triggered() ), this, SLOT( answerCall() ) );
+
+    mReject= new HbAction( HbIcon(":resources/qtg_mono_reject_call.svg"),"Reject", this);
+    mReject->setSoftKeyRole(QAction::NegativeSoftKey);
+    connect( mReject, SIGNAL( triggered() ), this, SLOT( rejectCall() ) );
+
+    mHold = new HbAction( HbIcon(":resources/qtg_mono_hold_call.svg"),"Hold", this);
+    connect( mHold, SIGNAL( triggered() ), this, SLOT( toggleHold() ) );
+
+    mUnhold = new HbAction( HbIcon(":resources/qtg_mono_answer_call.svg"),"Activate", this);
+    connect( mUnhold, SIGNAL( triggered() ), this, SLOT( toggleHold() ) );
+
+    mSwap = new HbAction( HbIcon(":resources/qtg_mono_hold_call.svg"),"Swap", this);
+    connect( mSwap, SIGNAL( triggered() ), this, SLOT( toggleHold() ) );
+
+    mEndCall = new HbAction(HbIcon(":resources/qtg_mono_end_call.svg"),"End call", this);
+    mEndCall->setSoftKeyRole(QAction::NegativeSoftKey);
+    connect( mEndCall, SIGNAL( triggered() ), this, SLOT( endCall() ) );
+
+    mEndConference = new HbAction(HbIcon(":resources/qtg_mono_end_call.svg"),"End conference", this);
+    mEndConference->setSoftKeyRole(QAction::NegativeSoftKey);
+    connect( mEndConference, SIGNAL( triggered() ), this, SLOT( endConferenceCall() ) );
+
+    mJoin = new HbAction(HbIcon(":resources/qtg_mono_join_call.svg"),"Join", this);
+    connect( mJoin, SIGNAL( triggered() ), this, SLOT(joinToConference()) );
+
+    mPrivate = new HbAction(HbIcon(":resources/qtg_mono_private_call.svg"),"Private", this);
+    connect( mPrivate, SIGNAL( triggered() ), this, SLOT(handlePrivate()) );
+
+    mDrop = new HbAction(HbIcon(":resources/qtg_mono_drop_call.svg"),"Drop", this);
+    connect( mDrop, SIGNAL( triggered() ), this, SLOT(handleDrop()) );
+
+    mReplace = new HbAction(HbIcon(":resources/qtg_mono_replace_call.svg"),"Replace", this);
+    connect( mReplace, SIGNAL( triggered() ), this, SLOT(replaceActiveCall()) );
+
+    mUpdateUiControls = new HbAction(QString(), this);
+    connect( mUpdateUiControls, SIGNAL(triggered()), this, SLOT(updateUiControls()) );
+}
+
+int BubbleTestView::bubbleIdByState(BubbleManagerIF::PhoneCallState state)
+{
+    int bubbleId=-1;
+    foreach(TestCall call, mCalls) {
+        if ((call.callState==state) && !call.isInConf) {
+            bubbleId = call.bubbleId;
+            break;
+        }
+    }
+
+    return bubbleId;
+}
+
+void BubbleTestView::conferenceWizard() {
+    bubbleManager().startChanges();
+
+    for (int i=0; i<5; i++) {
+        sendKeyEvent('1');
+        sendKeyEvent('3');
+        sendKeyEvent('7');
+    }
+
+    bubbleManager().endChanges();
+}
+
+void BubbleTestView::sendKeyEvent(int key)
+{
+    QKeyEvent event( QEvent::KeyPress, key, 0 );
+    keyPressEvent(&event);
+}
+
+void BubbleTestView::switchOrientation()
+{
+    if (mMainWindow.orientation()==Qt::Vertical) {
+        mMainWindow.setOrientation(Qt::Horizontal);
+
+    } else {
+        mMainWindow.setOrientation(Qt::Vertical);
+    }
+}
+
+void BubbleTestView::handleOrientationChange(Qt::Orientation orientation)
+{
+    if (orientation==Qt::Horizontal) {
+        toolBar()->setOrientation(Qt::Horizontal);
+    }
+
+    mBubbleManager->handleOrientationChange(orientation);
+}
+
+void BubbleTestView::connectToTester()
+{
+    mBubbleTester->connectToServer();
+}
+
+void BubbleTestView::handleTesterDataChanged()
+{
+    bubbleManager().startChanges();
+
+    QString mute = mBubbleTester->dataField("mute");
+    bubbleManager().setPhoneMuted( mute == "On" );
+
+    QList<QString> testBubbles = mBubbleTester->bubbles();
+
+    foreach (QString bubbleId, testBubbles) {
+        QString state = mBubbleTester->dataField(bubbleId,"state");
+
+        // create or remove bubble
+        if ( mTestBubbleIds.contains(bubbleId) && state=="Idle" ) {
+            bubbleManager().removeCallHeader(mTestBubbleIds.value(bubbleId));
+            mTestBubbleIds.remove(bubbleId);
+        } else if (!mTestBubbleIds.contains(bubbleId) && state!="Idle" ) {
+            int id = bubbleManager().createCallHeader();
+            mTestBubbleIds.insert(bubbleId,id);
+        }
+
+        // set data
+        if (mTestBubbleIds.contains(bubbleId)) {
+            int id = mTestBubbleIds.value(bubbleId);
+
+            QString name = mBubbleTester->dataField(bubbleId,"name");
+            QString number = mBubbleTester->dataField(bubbleId,"number");
+            QString divert = mBubbleTester->dataField(bubbleId,"divert");
+
+            bubbleManager().setState(id, mStateMap.value(state));
+            bubbleManager().setCli(id, name, Qt::ElideRight);
+            bubbleManager().setSecondaryCli(id, number );
+            bubbleManager().setLabel(id, mLabelMap.value(state), Qt::ElideRight);
+
+            bubbleManager().setCallFlag(id, BubbleManager::Diverted, (divert == "On") );
+
+            setCallObject(id,":resources/contactpic.jpg");
+
+            setBubbleActions(id, mStateMap.value(state) );
+        }
+    }
+
+    bubbleManager().endChanges();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/bubbletestview.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,149 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 BUBBLETESTVIEW_H
+#define BUBBLETESTVIEW_H
+
+#include <hbview.h>
+#include <bubblemanagerif.h>
+
+class HbAction;
+class HbMainWindow;
+class QSignalMapper;
+class HbToolBar;
+class BubbleTester;
+class BubbleManager;
+
+class BubbleTestView : public HbView
+{
+    Q_OBJECT
+
+public:
+
+    BubbleTestView(HbMainWindow& window, QGraphicsItem *parent = 0);
+    
+    virtual ~BubbleTestView();
+    
+    BubbleManagerIF& bubbleManager();
+    
+private slots:
+    void answerCall();
+    void endCall();
+    void endConferenceCall();
+    void rejectCall();
+    void toggleHold();
+    void toggleHoldDelayed();
+    void createIncomingCall();
+    void createOutgoingCall();
+    void setMuted();
+    void joinToConference();
+    void handlePrivate();
+    void handleDrop();
+    void replaceActiveCall();
+    void updateUiControls();
+    
+    void switchOrientation();
+    void handleOrientationChange(Qt::Orientation orientation);
+
+    void connectToTester();
+    void handleTesterDataChanged();
+
+private:
+    void keyPressEvent(QKeyEvent *event);
+    
+    void setBubbleData(int bubble, BubbleManagerIF::PhoneCallState state);
+    void setBubbleActions(int bubble, BubbleManagerIF::PhoneCallState state);
+    void setExpandActions();
+    void setCallObject(int bubble, const QString& filename);
+    void createToolBarActions();
+    void updateToolBarActions();
+    void createMenuActions();
+    void createBubbleActions();
+    int bubbleIdByState(BubbleManagerIF::PhoneCallState state);
+    bool initializingCallExists() const;
+    bool conferenceCallExists() const;
+    int  callCount() const;
+    bool callIndexByState(BubbleManagerIF::PhoneCallState state, int& index);
+    bool callIndexByBubbleId(int bubbleId, int& index);
+    void conferenceWizard();
+    void sendKeyEvent(int key);
+
+private:
+    HbMainWindow&     mMainWindow;
+    BubbleManager    *mBubbleManager;
+    QList<HbAction*>  mBubbleActions;
+    
+    // settings
+    HbAction          *mCallDivert;
+    HbAction          *mCallTimer;
+    HbAction          *mEmergencyCall;
+    HbAction          *mContactPicture;
+    HbAction          *mContactName;
+
+    // Toolbar actions
+    HbAction          *mCallIn;
+    HbAction          *mCallOut;
+    HbAction          *mMute;
+    HbAction          *mUnmute;
+    HbAction          *mActivateLoudspeaker;
+    HbAction          *mActivateHandset;
+    HbAction          *mSendMessage;
+    HbAction          *mSilence;
+    HbAction          *mOpenDialer;
+    HbAction          *mOpenContacts;
+
+    // Bubble actions
+    HbAction          *mAnswer;
+    HbAction          *mReject;
+    HbAction          *mHold;
+    HbAction          *mUnhold;
+    HbAction          *mSwap;
+    HbAction          *mEndCall;
+    HbAction          *mEndConference;
+    HbAction          *mJoin;
+    HbAction          *mPrivate;
+    HbAction          *mDrop;
+    HbAction          *mReplace;
+    HbAction          *mUpdateUiControls;
+    
+    // Test call data
+    struct TestCall {
+        int bubbleId;
+        int callState;
+        bool isConf;
+        bool isInConf;
+
+        TestCall() {
+            isConf = false;
+            isInConf = false;
+        }
+    };  
+    
+    QList<TestCall> mCalls;
+    bool mMuted;
+
+    HbAction         *mConnectTester;
+    BubbleTester     *mBubbleTester;
+    QMap<QString, int> mTestBubbleIds;
+    QMap<QString, BubbleManagerIF::PhoneCallState> mStateMap;
+    QMap<QString, QString> mLabelMap;
+    QString mPhoneNumber;
+    int mConfBubbleId;
+    bool mProvideJoin;
+};
+
+#endif // BUBBLETESTVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/main.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,44 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Animated icon.
+*
+*/
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+#include "bubbletestview.h"
+
+int main(int argc, char *argv[])
+{
+    // Initialization
+    HbApplication app(argc, argv);
+
+    // Main window widget. 
+    // Includes decorators such as signal strength and battery life indicator.
+    HbMainWindow mainWindow;
+
+    // View
+    BubbleTestView *view = new BubbleTestView(mainWindow);
+    mainWindow.addView(view);
+
+    // Show widget
+    mainWindow.setAttribute( Qt::WA_InputMethodEnabled, false ); 
+    mainWindow.show();
+    
+    mainWindow.scene()->setFocusItem( view );
+
+    // Enter event loop
+    return app.exec();
+}
Binary file phoneuis/bubblemanager2/tsrc/bubbletest2/resources/contactpic.jpg has changed
Binary file phoneuis/bubblemanager2/tsrc/bubbletest2/resources/contactpic2.jpg has changed
Binary file phoneuis/bubblemanager2/tsrc/bubbletest2/resources/contactpic3.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_contacts.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+	 x="0px" y="0px" width="60px" height="60px" viewBox="0 0 60 60" xml:space="preserve">
+<g>
+	<rect fill="none" width="60" height="60"/>
+	<path fill="#666666" d="M45.047,10.296h-29c-2.75,0-5,2.25-5,5v5.702h5.676v3h-5.676v5.798h5.676v3h-5.676v5.798h5.676v3h-5.676
+		v6.702c0,2.75,2.25,5,5,5h29c2.75,0,5-2.25,5-5v-33C50.047,12.546,47.797,10.296,45.047,10.296z M41.804,25.414
+		c-0.059,0.947-0.776,1.983-2.33,3.355c-1.459,1.284-2.816,2.008-3.646,1.931c-0.219-0.066-0.656-0.258-1.177-0.91
+		c-0.352-0.448-0.599-1.104-0.731-1.953l-0.068-0.403l-0.41,0.002c-2.037,0.01-5.48,3.454-5.499,5.502l-0.003,0.41l0.405,0.064
+		c0.85,0.136,1.485,0.412,1.943,0.734c0.976,0.683,0.917,1.308,0.917,1.308c0,1.237-1.479,3.006-1.934,3.518
+		c-1.375,1.554-2.402,2.273-3.34,2.332c0,0-0.506,0.045-1.388-0.448c-0.977-0.543-1.526-1.315-1.921-1.904
+		c-0.383-0.577-0.847-1.771-0.847-3.404c0-2.526,1.015-6.053,4.624-9.666c5.945-5.944,11.697-4.81,13.119-3.722
+		c0.662,0.506,1.114,0.941,1.847,1.868C41.938,24.753,41.805,25.414,41.804,25.414z"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_dialler.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,8 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" height="60" width="60"/>
+<path d="M39.189,11.974c0-0.55,0.449-1,1-1h8.004c0.551,0,1,0.45,1,1v4.437c0,0.55-0.449,1-1,1h-8.004   c-0.551,0-1-0.45-1-1V11.974z M39.189,37.485c0,0.55,0.449,1,1,1h8.004c0.551,0,1-0.45,1-1v-4.438c0-0.55-0.449-1-1-1h-8.004   c-0.551,0-1,0.45-1,1V37.485z M39.184,26.949c0,0.55,0.451,1,1,1h8.01c0.551,0,1-0.45,1-1V22.51c0-0.55-0.449-1-1-1h-8.01   c-0.549,0-1,0.45-1,1V26.949z M24.965,16.41c0,0.55,0.449,1,1,1h7.992c0.551,0,1-0.45,1-1v-4.437c0-0.55-0.449-1-1-1h-7.992   c-0.551,0-1,0.45-1,1V16.41z M24.965,37.485c0,0.55,0.449,1,1,1h7.992c0.551,0,1-0.45,1-1v-4.438c0-0.55-0.449-1-1-1h-7.992   c-0.551,0-1,0.45-1,1V37.485z M24.965,48.026c0,0.55,0.449,1,1,1h7.992c0.551,0,1-0.45,1-1v-4.444c0-0.55-0.449-1-1-1h-7.992   c-0.551,0-1,0.45-1,1V48.026z M24.961,26.949c0,0.55,0.451,1,1,1h7.996c0.551,0,1-0.45,1-1V22.51c0-0.55-0.449-1-1-1h-7.996   c-0.549,0-1,0.45-1,1V26.949z M10.816,16.41c0,0.55,0.449,1,1,1h7.996c0.551,0,1-0.45,1-1v-4.437c0-0.55-0.449-1-1-1h-7.996   c-0.551,0-1,0.45-1,1V16.41z M10.816,37.485c0,0.55,0.449,1,1,1h7.996c0.551,0,1-0.45,1-1v-4.438c0-0.55-0.449-1-1-1h-7.996   c-0.551,0-1,0.45-1,1V37.485z M10.805,26.949c0,0.55,0.451,1,1,1h8.008c0.551,0,1-0.45,1-1V22.51c0-0.55-0.449-1-1-1h-8.008   c-0.549,0-1,0.45-1,1V26.949z" fill="#666666"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_join.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,15 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<g>
+<path d="M33.305,22.519c0,2.729,1.895,5.014,4.434,5.633c-0.297-0.846-0.468-1.75-0.477-2.691    c-0.979-0.617-1.635-1.701-1.635-2.941c0-1.918,1.563-3.48,3.482-3.48c0.33,0,0.646,0.063,0.952,0.148    c0.678-0.605,1.452-1.107,2.305-1.465c-0.93-0.633-2.051-1.004-3.257-1.004C35.908,16.716,33.305,19.319,33.305,22.519z     M38.518,31.806c0.27-0.33,0.545-0.639,0.838-0.896c-0.385-0.436-0.721-0.914-1.012-1.426h-2.809c-1.654,0-3.295,3.881-4.42,7.145    c-1.125,3.26-1.709,5.627-1.709,5.627h2.643c0-0.408,0.543-2.563,1.438-5.201c0.971-2.604,1.691-4.162,2.493-5.246h2.538V31.806z     M32.049,28.931c0.269-0.33,0.543-0.639,0.838-0.896c-0.387-0.436-0.723-0.914-1.012-1.426h-2.81c-1.657,0-3.294,3.881-4.42,7.143    s-1.708,5.629-1.708,5.629h2.64c0-0.408,0.543-2.563,1.437-5.201c0.971-2.602,1.69-4.164,2.492-5.248H32.049L32.049,28.931z     M31.268,25.276c-0.297-0.844-0.469-1.75-0.475-2.691c-0.979-0.619-1.637-1.701-1.637-2.939c0-1.92,1.563-3.482,3.479-3.482    c0.334,0,0.648,0.063,0.953,0.148c0.683-0.605,1.455-1.105,2.309-1.465c-0.932-0.633-2.055-1.006-3.262-1.006    c-3.199,0-5.801,2.604-5.801,5.803C26.836,22.37,28.728,24.657,31.268,25.276z" fill="#666666"/>
+<path d="M39.778,25.396c0,3.199,2.601,5.803,5.799,5.803c3.201,0,5.808-2.604,5.808-5.803    s-2.604-5.803-5.808-5.803C42.377,19.593,39.778,22.196,39.778,25.396z M45.576,21.913c1.924,0,3.486,1.563,3.486,3.482    s-1.563,3.48-3.486,3.48c-1.918,0-3.48-1.561-3.48-3.48S43.658,21.913,45.576,21.913z M53.481,39.503    c-1.125-3.266-2.765-7.143-4.418-7.143h-3.438h-3.617c-1.658,0-3.295,3.877-4.422,7.143c-1.125,3.26-1.707,5.629-1.707,5.629h2.64    c0-0.41,0.545-2.564,1.438-5.201c0.971-2.605,1.692-4.164,2.491-5.248h3.179h2.993c0.804,1.084,1.523,2.646,2.494,5.248    c0.894,2.639,1.438,4.791,1.438,5.201h2.642C55.192,45.132,54.608,42.763,53.481,39.503z" fill="#666666"/>
+<g>
+<path d="M18.227,33.763l-1.555-1.557c-0.979,1.18-2.072,2.256-3.264,3.219l1.553,1.553     c-0.91,0.732-1.873,1.404-2.892,1.994l-0.041,0.039h8.403v-8.395C19.787,31.729,19.045,32.776,18.227,33.763z" fill="#666666"/>
+<path d="M19.752,22.079c-0.787-0.605-6.068-2.355-12.262,3.779l-0.076,0.074     C1.28,32.126,3.032,37.409,3.635,38.194c0.438,0.574,0.933,1.221,1.771,1.785c0.207,0.127,0.6,0.285,1.021,0.275     s1.387-0.637,2.596-1.959c1.211-1.322,1.721-2.387,1.834-2.887l0.064-0.285l-0.189-0.223c-0.119-0.145-0.262-0.277-0.43-0.41     c-0.715-0.57-2.205-0.658-2.223-0.658l-0.229-0.014L7.74,33.616c-0.046-0.086-1.137-2.184,1.998-5.438     c3.254-3.135,5.35-2.043,5.436-1.996l0.203,0.111l0.014,0.229c0,0.018,0.088,1.508,0.658,2.223c0.131,0.17,0.268,0.309,0.41,0.43     l0.223,0.189l0.283-0.064c0.5-0.113,1.567-0.623,2.89-1.834c1.321-1.211,1.948-2.174,1.959-2.596     c0.009-0.422-0.15-0.814-0.277-1.021C20.971,23.009,20.325,22.515,19.752,22.079z" fill="#666666"/>
+</g>
+</g>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_loudsp_mute.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,11 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<g>
+<path d="M30.896,14.575h-4.929c-0.291,0-0.618,0.109-0.91,0.277l6.839,10.611v-9.889    C31.896,15.024,31.445,14.575,30.896,14.575z M36.33,20.429c-0.69,0-1.25,0.561-1.25,1.25v8.729l2.498,3.877V21.679    C37.578,20.989,37.019,20.429,36.33,20.429z M19.757,22.667H14.83c-0.55,0-1,0.449-1,1v13.994c0,0.551,0.45,1,1,1h4.927    l4.621,6.342c0.324,0.445,1.039,0.809,1.589,0.809h4.929c0.55,0,1-0.449,1-1v-7.35L21.058,20.646L19.757,22.667z" fill="#666666"/>
+<polygon fill="#666666" points="15.071,7.665 17.171,6.31 46.171,51.308 44.071,52.663 15.071,7.665   "/>
+</g>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_loudsp_unmute.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,17 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<g>
+<path d="M25.348,14.381c-0.55,0-1.244,0.378-1.541,0.841l-4.669,7.251h-4.927c-0.55,0-1,0.45-1,1v13.995     c0,0.55,0.45,1,1,1h4.927l4.621,6.342c0.324,0.445,1.039,0.809,1.589,0.809h4.929c0.55,0,1-0.45,1-1V15.381c0-0.55-0.45-1-1-1     H25.348z" fill="#666666"/>
+</g>
+</g>
+<g>
+<path d="M34.462,37.372V21.485c0-0.691,0.559-1.251,1.248-1.251l0,0c0.689,0,1.252,0.56,1.252,1.251l0,0v15.887    c0,0.689-0.563,1.249-1.252,1.249l0,0C35.021,38.621,34.462,38.062,34.462,37.372L34.462,37.372z" fill="#666666"/>
+<path d="M39.896,40.298v-21.74c0-0.689,0.561-1.249,1.25-1.249l0,0c0.689,0,1.249,0.56,1.249,1.249l0,0v21.74    c0,0.689-0.56,1.252-1.249,1.252l0,0C40.456,41.55,39.896,40.987,39.896,40.298L39.896,40.298z" fill="#666666"/>
+<path d="M45.538,43.641V15.215c0-0.69,0.56-1.25,1.252-1.25l0,0c0.689,0,1.25,0.56,1.25,1.25l0,0v28.426    c0,0.69-0.561,1.252-1.25,1.252l0,0C46.098,44.893,45.538,44.331,45.538,43.641L45.538,43.641z" fill="#666666"/>
+</g>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_message.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,11 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" height="60" width="60"/>
+<g>
+<polygon fill="#666666" points="38.165,38.746 32.015,40.565 33.922,34.504 51.582,16.844 55.824,21.086   "/>
+<path d="M42,47.675H13.174c-3.033,0-5.501-2.47-5.501-5.503V19.692c0-3.033,2.468-5.501,5.501-5.501H42    c2.604,0,4.87,1.855,5.388,4.409l0.056,0.263L34.964,31.138H20.029l-9.354-9.158v20.194c0,1.379,1.12,2.499,2.498,2.499H42    c1.381,0,2.501-1.12,2.501-2.499v-7.643l3-3v10.641C47.501,45.205,45.034,47.675,42,47.675L42,47.675z M21.35,28.136h12.294    l10.33-9.956c-0.473-0.615-1.2-0.983-1.974-0.983H13.174c-0.829,0-1.585,0.407-2.048,1.084L21.35,28.136L21.35,28.136z" fill="#666666"/>
+</g>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_mute.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,9 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<path d="M38.377,23.988v12.305l2.066,3.207c0.273-0.703,0.43-1.464,0.431-2.263V23.988H38.377z M25.377,40.989   c-2.056-0.005-3.747-1.698-3.752-3.752V23.988h-2.497h-0.002v13.249c0.005,3.446,2.805,6.247,6.251,6.249h1.75v10.558h5.75V43.486   h1.751c0.214,0,0.424-0.011,0.632-0.032l-1.588-2.465H25.377z M29.33,38.531h1.343c0.45,0,0.878-0.078,1.292-0.189L24.33,26.494   v7.037C24.33,36.293,26.568,38.531,29.33,38.531z M30.673,10.604H29.33c-2.434,0-4.456,1.739-4.903,4.042l11.246,17.451V15.604   C35.673,12.843,33.435,10.604,30.673,10.604z" fill="#666666"/>
+<polygon fill="#666666" points="14.45,7.471 16.551,6.115 45.55,51.114 43.45,52.47 14.45,7.471  "/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_silence.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,14 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<g>
+<g>
+<path d="M20.253,15.567l2.602,2.604v-5.16l4.037,2.156v-4.459l-6.639-3.98V15.567L20.253,15.567z M16.163,35.304     c0.184,0.023,0.367,0.035,0.547,0.035l0,0c1.805-0.016,3.715-1.086,4.656-2.666l0,0c0.271-0.465,0.416-0.936,0.457-1.385     l0.025-0.047v-0.133l0,0c0-0.139,0-3.648,0-4.742v-0.211l-2.6-2.598v5.092l0,0c-0.078-0.004-0.156-0.006-0.234-0.004l0,0     c-1.801,0.012-3.723,1.082-4.662,2.674l0,0c-0.309,0.537-0.471,1.09-0.471,1.619l0,0C13.858,34.155,14.8,35.144,16.163,35.304     L16.163,35.304z" fill="#666666"/>
+</g>
+<polygon fill="#666666" points="9.358,11.591 11.495,9.454 31.698,29.655 29.562,31.794 9.358,11.591   "/>
+</g>
+<path d="M54.592,25.338c-0.059-0.357-0.295-1.59-0.837-2.398c-1.101-1.652-2.377-2.627-3.226-3.271   c-2.435-1.863-11.519-3.749-21.144,4.851l1.771,1.771c5.564-4.919,10.563-5.707,13.16-5.707c2.418,0,4.132,0.64,4.695,1.071   c0.758,0.576,1.793,1.364,2.66,2.67c0.153,0.229,0.334,0.788,0.434,1.311c-0.135,1.033-1.224,2.454-3.244,4.236   c-2.063,1.826-3.787,2.688-4.567,2.744c-0.112-0.073-0.452-0.311-0.878-0.847c-0.268-0.339-0.635-1.03-0.859-2.412l-0.344-2.106   l-2.133,0.007c-1.532,0.003-4.006,0.636-7.09,3.622c-3.007,3.124-3.645,5.593-3.652,7.123l-0.013,2.135l2.109,0.345   c1.443,0.236,2.127,0.645,2.407,0.866c0.5,0.396,0.742,0.72,0.84,0.878c-0.103,0.897-1.038,2.643-2.734,4.558   c-1.788,2.03-3.201,3.121-4.213,3.254c-0.513-0.092-1.09-0.277-1.321-0.434c-1.283-0.852-2.051-1.854-2.727-2.736   c-0.817-1.088-2.911-7.435,2.745-15.371l-1.793-1.794c-6.855,9.306-4.186,17.05-2.962,18.655c0.729,0.951,1.704,2.232,3.351,3.328   c0.813,0.541,2.042,0.777,2.4,0.836l0.181,0.027l0.181-0.006c1.765-0.115,3.627-1.375,6.031-4.102   c1.035-1.168,3.37-4.066,3.37-6.299c0.003-0.092-0.002-0.186-0.014-0.281l-0.019-0.18l-0.058-0.17   c-0.075-0.242-0.439-1.119-1.703-2.119c-1.062-0.846-2.514-1.207-3.56-1.379c0.006-0.939,0.431-2.775,2.927-5.352l-0.035,0.012   c2.576-2.494,4.418-2.914,5.358-2.918c0.171,1.053,0.528,2.508,1.371,3.568c1.007,1.264,1.879,1.627,2.122,1.705l0.172,0.061   l0.181,0.016c2.264,0.213,5.355-2.275,6.584-3.359c2.717-2.402,3.979-4.268,4.093-6.049l0.012-0.184L54.592,25.338z" fill="#666666"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_large_tb_unmute.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,8 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+<path d="M40.864,23.988h-2.497v13.249c-0.005,2.054-1.696,3.747-3.752,3.752h-9.238   c-2.056-0.005-3.747-1.698-3.752-3.752V23.988h-2.497h-0.002v13.249c0.005,3.446,2.805,6.247,6.251,6.249h1.738v10.558h5.756   V43.486c0,0,2.241-0.017,2.389-0.032l-0.001-0.001c3.145-0.325,5.603-2.987,5.607-6.216V23.988H40.864z M29.42,38.579h1.283   c2.75,0,5-2.25,5-5V15.544c0-2.75-2.25-5-5-5H29.42c-2.75,0-5,2.25-5,5v18.035C24.42,36.329,26.67,38.579,29.42,38.579z" fill="#666666"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_answer_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M28.578,7.523l-7.359,4.248c-0.364,0.152-0.771,0.057-0.953-0.256l-1.277-2.142c-0.002,0.002-0.006,0.007-0.007,0.008
+	c-0.001-0.001,0-0.003-0.001-0.004c-1.119,0.582-3.617,2.223-5.187,3.79c-1.632,1.635-3.149,3.394-4.417,5.576
+	c0,0-0.006,0.008-0.008,0.01c0.009,0.002,0.018,0.002,0.027,0.003l2.725,1.743c0.344,0.222,0.412,0.706,0.158,1.078L7.486,28.62
+	c-0.254,0.37-0.736,0.491-1.081,0.268c0,0-0.298-0.194-1.021-0.83c-0.001,0-0.002,0-0.003,0c-0.394-0.347-0.411-0.476-0.785-0.925
+	c-0.319-0.385-0.573-0.765-0.783-1.114c-0.001-0.001-0.004,0-0.005-0.002c-0.043-0.071-0.081-0.139-0.119-0.207
+	c-0.005-0.009-0.01-0.018-0.015-0.024c-0.391-0.698-0.56-1.211-0.56-1.211c-0.178-0.688-0.252-3.057,0.563-5.205
+	c0.52-1.364,3.24-5.672,6.42-8.854c3.181-3.182,8.125-6.349,10.3-7.005c2.176-0.656,3.903-0.556,4.417-0.374
+	c0,0,1.326,0.434,2.53,1.536c0.401,0.367,0.439,0.382,0.751,0.765c0.002,0.003,0,0.006,0.002,0.008
+	c-0.002-0.002-0.002-0.004-0.004-0.005c0.615,0.757,0.818,1.062,0.818,1.062C29.111,6.844,28.961,7.304,28.578,7.523z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_drop_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M10.212,8.109c0.055,0.038,0.103,0.08,0.159,0.117c0.002,0.085,0.007,0.529,0.002,0.614
+	c-0.004,0.054-0.023,0.11-0.042,0.167c0.089,1.068,0.15,3.104-0.483,4.348c-0.273,0.539-0.615,1.011-1.033,1.424
+	C9.12,15.073,9.671,15.486,10.438,16h6.139c-0.073-0.132-0.162-0.251-0.228-0.389c-0.603-1.273-0.687-3.219-0.65-4.633
+	c-1.034-0.719-2.033-1.543-2.07-2.138c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552
+	c0.605-1.188,0.281-3.985,0.281-3.985C15.293,1.45,13.646,0,12.395,0H11.6c-1.254,0-2.902,1.45-2.902,2.689
+	c0,0-0.172,1.68,0.017,2.991C9.477,6.346,10.033,7.214,10.212,8.109z"/>
+<path d="M19.987,16.797c0.003,0.112,0.009,0.695,0.001,0.807c-0.005,0.076-0.032,0.158-0.061,0.24
+	c0.001-0.001,0.002-0.002,0.002-0.003h4.393c-0.027-0.081-0.055-0.162-0.06-0.237c-0.007-0.118-0.001-0.687,0.001-0.807
+	c0.814-0.549,1.385-1.194,1.814-2.037c0.795-1.559,0.369-5.229,0.369-5.229c0-1.626-2.16-3.53-3.805-3.53H21.6
+	c-1.645,0-3.81,1.904-3.81,3.53c0,0-0.376,3.652,0.367,5.225C18.564,15.615,19.153,16.25,19.987,16.797z"/>
+<path d="M24.677,18.443l-2.552,5.771l-2.552-5.771c-0.921,1.158-3.178,2.559-4.44,3.355l1.008,1.008l-1.891,1.891v0.461L16.092,27
+	H30v-4.594C29.778,22.114,25.947,20.043,24.677,18.443z"/>
+<path d="M7.129,14.841c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552c0.605-1.188,0.281-3.985,0.281-3.985
+	C8.793,7.45,7.146,6,5.895,6H5.1C3.846,6,2.197,7.45,2.197,8.689c0,0-0.287,2.783,0.279,3.981c0.311,0.654,0.76,1.139,1.395,1.556
+	c0.002,0.085,0.007,0.529,0.002,0.614C3.811,15.82,1.139,17.424,0,18.147V22h2.807l4.143-4.143l2.121,2.121l1.867-1.867
+	C9.769,17.37,7.189,15.804,7.129,14.841z"/>
+<polygon points="13.313,22.807 11.191,20.686 9.07,22.807 6.949,20.686 4.828,22.807 6.949,24.928 4.828,27.049 6.949,29.171 
+	9.07,27.05 11.191,29.171 13.313,27.049 11.191,24.928 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_end_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M28.908,18.236l-7.671-2.057c-0.341-0.139-0.547-0.472-0.461-0.798l0.571-2.261c-0.002,0.001-0.008,0.001-0.01,0.001
+	c0.001-0.001,0.002-0.002,0.002-0.003c-1.125-0.355-3.859-0.922-5.933-0.923c-2.159,0.001-4.325,0.161-6.604,0.766
+	c0,0-0.009,0.002-0.012,0.002c0.006,0.007,0.012,0.013,0.017,0.02l0.648,2.953c0.081,0.374-0.194,0.738-0.608,0.816l-7.822,1.486
+	c-0.412,0.076-0.811-0.162-0.891-0.537c0,0-0.068-0.325-0.126-1.224c-0.001,0-0.001,0-0.001-0.002
+	c-0.031-0.489,0.042-0.586,0.092-1.13c0.043-0.466,0.126-0.885,0.219-1.254c0-0.001-0.003-0.003-0.002-0.005
+	c0.019-0.074,0.039-0.145,0.059-0.216c0.002-0.009,0.005-0.018,0.006-0.025c0.203-0.72,0.43-1.17,0.43-1.17
+	c0.338-0.572,1.855-2.187,3.813-3.068C5.867,9.05,10.514,8.001,14.718,8c4.205-0.001,9.565,1.174,11.438,2.178
+	s2.946,2.212,3.165,2.671c0,0,0.59,1.164,0.658,2.688c0.023,0.509,0.037,0.543-0.01,1.002c0,0.003-0.003,0.004-0.003,0.007
+	c0-0.003,0-0.004,0-0.007c-0.094,0.907-0.161,1.243-0.161,1.243C29.71,18.14,29.308,18.344,28.908,18.236z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_hold_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M28.908,10.028l-7.671,2.057c-0.341,0.139-0.547,0.472-0.461,0.798l0.571,2.261c-0.002-0.001-0.008-0.001-0.01-0.001
+	c0.001,0.001,0.002,0.002,0.002,0.003c-1.125,0.355-3.859,0.922-5.933,0.923c-2.159-0.001-4.325-0.161-6.604-0.766
+	c0,0-0.009-0.002-0.012-0.002c0.006-0.007,0.012-0.013,0.017-0.02l0.648-2.953c0.081-0.374-0.194-0.738-0.608-0.816l-7.822-1.486
+	c-0.412-0.076-0.811,0.162-0.891,0.537c0,0-0.068,0.325-0.126,1.224c-0.001,0-0.001,0-0.001,0.002
+	c-0.031,0.489,0.042,0.586,0.092,1.13c0.043,0.466,0.126,0.885,0.219,1.254c0,0.001-0.003,0.003-0.002,0.005
+	c0.019,0.074,0.039,0.145,0.059,0.216c0.002,0.009,0.005,0.018,0.006,0.025c0.203,0.72,0.43,1.17,0.43,1.17
+	c0.338,0.572,1.855,2.187,3.813,3.068c1.244,0.559,5.891,1.607,10.095,1.608c4.205,0.001,9.565-1.174,11.438-2.178
+	s2.946-2.212,3.165-2.671c0,0,0.59-1.164,0.658-2.688c0.023-0.509,0.037-0.543-0.01-1.002c0-0.003-0.003-0.004-0.003-0.007
+	c0,0.003,0,0.004,0,0.007c-0.094-0.907-0.161-1.243-0.161-1.243C29.71,10.125,29.308,9.921,28.908,10.028z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_join_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M10.213,8.109c0.054,0.038,0.102,0.08,0.158,0.117c0.002,0.085,0.007,0.529,0.002,0.614
+	c-0.004,0.053-0.023,0.109-0.042,0.166c0.089,1.067,0.151,3.104-0.483,4.349c-0.273,0.539-0.615,1.011-1.033,1.424
+	c0.305,0.294,0.856,0.707,1.623,1.221h6.824c-0.354-0.427-0.67-0.879-0.912-1.389c-0.469-0.993-0.623-2.394-0.651-3.634
+	c-1.034-0.719-2.032-1.543-2.069-2.137c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552
+	c0.605-1.188,0.281-3.985,0.281-3.985C15.293,1.45,13.646,0,12.395,0H11.6c-1.254,0-2.902,1.45-2.902,2.689
+	c0,0-0.172,1.68,0.018,2.992C9.477,6.346,10.033,7.214,10.213,8.109z"/>
+<path d="M19.987,15.797c0.003,0.112,0.009,0.695,0.001,0.807c-0.005,0.076-0.032,0.158-0.061,0.24c0-0.001,0.002-0.002,0.002-0.003
+	h4.393c-0.027-0.081-0.055-0.162-0.06-0.237c-0.007-0.118-0.001-0.687,0.001-0.807c0.814-0.549,1.385-1.194,1.814-2.037
+	c0.795-1.559,0.369-5.229,0.369-5.229c0-1.626-2.16-3.53-3.805-3.53H21.6c-1.645,0-3.81,1.904-3.81,3.53
+	c0,0-0.376,3.652,0.367,5.225C18.564,14.615,19.153,15.25,19.987,15.797z"/>
+<path d="M24.677,17.443l-2.552,5.771l-2.551-5.771c-0.549,0.688-1.57,1.464-2.574,2.146V26h13v-4.594
+	C29.778,21.114,25.947,19.043,24.677,17.443z"/>
+<path d="M7.129,14.841c-0.006-0.09,0-0.523,0-0.614c0.621-0.419,1.057-0.91,1.383-1.552c0.605-1.188,0.281-3.985,0.281-3.985
+	C8.793,7.45,7.146,6,5.895,6H5.1C3.846,6,2.197,7.45,2.197,8.689c0,0-0.287,2.783,0.279,3.981c0.311,0.654,0.76,1.139,1.395,1.556
+	c0.002,0.085,0.007,0.529,0.002,0.614C3.811,15.82,1.139,17.425,0,18.148V22h1.454l7.665-5.078
+	C8.115,16.217,7.166,15.42,7.129,14.841z"/>
+<polygon points="11,18.075 2,23.537 11,29 11,26 15,26 15,21 11,21 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_private_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M12.794,12.168c1.569-1.567,4.066-3.208,5.188-3.79c0,0.001,0,0.003,0,0.004c0.002-0.001,0.005-0.006,0.006-0.008
+	l1.278,2.142c0.183,0.313,0.589,0.408,0.952,0.256l7.36-4.248c0.384-0.22,0.532-0.68,0.333-1.022c0,0-0.202-0.305-0.818-1.062
+	c0.002,0.001,0.004,0.003,0.005,0.005c-0.001-0.002-0.001-0.005-0.003-0.008c-0.311-0.383-0.349-0.397-0.75-0.765
+	c-1.205-1.103-2.531-1.536-2.531-1.536c-0.513-0.182-2.24-0.282-4.416,0.374s-7.119,3.823-10.3,7.005
+	c-3.18,3.183-5.9,7.49-6.42,8.854c-0.814,2.148-0.74,4.517-0.563,5.205c0,0,0.169,0.513,0.56,1.211
+	c0.005,0.007,0.01,0.016,0.015,0.024c0.038,0.068,0.076,0.136,0.119,0.207c0.001,0.002,0.004,0.001,0.005,0.002
+	c0.21,0.35,0.464,0.729,0.783,1.114c0.374,0.449,0.392,0.578,0.785,0.925c0.001,0,0.002,0,0.003,0
+	c0.723,0.636,1.021,0.83,1.021,0.83c0.345,0.224,0.827,0.103,1.08-0.268l4.794-7.042c0.254-0.372,0.186-0.856-0.158-1.078
+	l-2.725-1.743c-0.01-0.001-0.019-0.001-0.027-0.003c0.002-0.002,0.008-0.01,0.008-0.01C9.644,15.562,11.162,13.803,12.794,12.168z"
+	/>
+<path d="M22.5,16c-3.59,0-6.5,2.91-6.5,6.5s2.91,6.5,6.5,6.5s6.5-2.91,6.5-6.5S26.09,16,22.5,16z M27,24h-9v-3h9V24z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_reject_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M15.691,11.542c1.257-0.96,2.563-1.786,3.289-2.164c0.001,0.001,0,0.003,0.001,0.004c0.001-0.001,0.005-0.006,0.007-0.008
+	l1.277,2.142c0.183,0.313,0.589,0.408,0.953,0.256l7.359-4.248c0.383-0.22,0.533-0.68,0.334-1.022c0,0-0.203-0.305-0.818-1.062
+	c0.002,0.001,0.002,0.003,0.004,0.005c-0.002-0.002,0-0.005-0.002-0.008c-0.312-0.383-0.35-0.397-0.751-0.765
+	c-1.204-1.103-2.53-1.536-2.53-1.536c-0.514-0.182-2.241-0.282-4.417,0.374c-1.677,0.506-4.996,2.505-7.888,4.851L15.691,11.542z"/>
+<path d="M9.396,18.757c-0.01-0.001-0.019-0.001-0.027-0.003c0.002-0.002,0.008-0.01,0.008-0.01c0.652-1.125,1.375-2.136,2.143-3.077
+	l-3.205-3.205c-2.367,2.794-4.219,5.808-4.637,6.907c-0.814,2.148-0.74,4.517-0.563,5.205c0,0,0.169,0.513,0.56,1.211
+	c0.005,0.007,0.01,0.016,0.015,0.024c0.038,0.068,0.076,0.136,0.119,0.207c0.001,0.002,0.004,0.001,0.005,0.002
+	c0.21,0.35,0.464,0.729,0.783,1.114c0.374,0.449,0.392,0.578,0.785,0.925c0.001,0,0.002,0,0.003,0
+	c0.723,0.636,1.021,0.83,1.021,0.83c0.345,0.224,0.827,0.103,1.08-0.268l4.794-7.042c0.254-0.372,0.186-0.856-0.158-1.078
+	L9.396,18.757z"/>
+<rect x="13.74" y="-3.24" transform="matrix(0.7066 -0.7076 0.7076 0.7066 -6.0774 14.6889)" width="1.867" height="35.826"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/resources/qtg_mono_replace_call.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve">
+<defs>
+</defs>
+<g opacity="0.5">
+	<rect fill="none" width="30" height="30"/>
+</g>
+<path d="M27.578,6.523l-7.36,4.248c-0.363,0.152-0.77,0.057-0.952-0.256l-1.278-2.142c-0.001,0.002-0.004,0.007-0.006,0.008
+	c0-0.001,0-0.003,0-0.004c-1.121,0.582-3.618,2.223-5.188,3.79c-1.632,1.635-3.15,3.394-4.417,5.576c0,0-0.006,0.008-0.008,0.01
+	c0.009,0.002,0.018,0.002,0.027,0.003l2.725,1.743c0.344,0.222,0.412,0.706,0.158,1.078L6.485,27.62
+	c-0.253,0.37-0.735,0.491-1.08,0.268c0,0-0.298-0.194-1.021-0.83c-0.001,0-0.002,0-0.003,0c-0.394-0.347-0.411-0.476-0.785-0.925
+	c-0.319-0.385-0.573-0.765-0.783-1.114c-0.001-0.001-0.004,0-0.005-0.002c-0.043-0.071-0.081-0.139-0.119-0.207
+	c-0.005-0.009-0.01-0.018-0.015-0.024c-0.391-0.698-0.56-1.211-0.56-1.211c-0.178-0.688-0.252-3.057,0.563-5.205
+	c0.52-1.364,3.24-5.672,6.42-8.854c3.181-3.182,8.124-6.349,10.3-7.005s3.903-0.556,4.416-0.374c0,0,1.326,0.434,2.531,1.536
+	c0.401,0.367,0.439,0.382,0.75,0.765c0.002,0.003,0.002,0.006,0.003,0.008c-0.001-0.002-0.003-0.004-0.005-0.005
+	c0.616,0.757,0.818,1.062,0.818,1.062C28.11,5.844,27.962,6.304,27.578,6.523z"/>
+<path d="M24.001,11L18,19h1.963h2v2.522V25H20v-5h-0.037H16v4v1l0,0c0,3,2.775,5,5.5,5s5.5-2,5.5-5v-6h3L24.001,11z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/sis/bubbletest2.pkg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,28 @@
+; bubbletest2_armv5_urel.pkg generated by qmake at Fri 5. Jun 09:43:30 2009
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"bubbletest2"},(0xEe4d96a5),1,0,0
+
+; Localised Vendor name
+%{"Nokia, Qt Software"}
+
+; Unique Vendor name
+:"Nokia, Qt Software"
+
+; Dependencies
+
+; Executable and default resource files
+"\epoc32\release\armv5\urel\bubbletest2.exe"    - "!:\sys\bin\bubbletest2.exe"
+"\epoc32\data\z\resource\apps\bubbletest2.rsc"    - "!:\resource\apps\bubbletest2.rsc"
+"\epoc32\data\z\private\10003a3f\import\apps\bubbletest2_reg.rsc"    - "!:\private\10003a3f\import\apps\bubbletest2_reg.rsc"
+"\epoc32\release\armv5\urel\bubblemanager2.dll"    - "!:\sys\bin\bubblemanager2.dll"
+"\epoc32\release\armv5\urel\bubblestyleplugin.dll"    - "!:\sys\bin\bubblestyleplugin.dll"
+"\epoc32\release\winscw\udeb\z\resource\plugins\bubblestyleplugin.qtplugin" - "!:\resource\plugins\bubblestyleplugin.qtplugin"
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/bubbletest2/sis/sisTool.pl	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,168 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#! /usr/local/bin/perl -w
+#
+#  Change history:
+#
+# 06-Aug-2006 : DLL versioning support added (Elftran tool)
+# 02-Aug-2007 : Updated for changed RnD certificate path
+#
+#
+#
+
+sub updateVersion ;
+sub signSis ;
+
+my @args = @ARGV;
+# signing related variables
+my $certPath = "\\s60_RnD\\RD_RootCA";
+my $certificate = "rd.cer";
+my $key = "rd-key.pem";
+my $version = "10.1";
+my $packageFile = undef;
+my $sisFile = undef;
+
+# path to copy signed sis (if optional -c argument used)
+my $copyPath = undef;
+
+# 
+my $updateDllVersion = 0;
+    
+# print help if needed
+if ( scalar(@args) == 0 || 
+     $args[0] =~ /-[h,\?]/i )
+    {
+print <<HELP;
+
+-------------------------------------------------------------------------
+======= Script for making and signing an installation (.sis) file =======
+
+Usage: sisTool <package-file-w/o-ext> [-d<version>] [-c<destination-path>] 
+               [-s<stub-package-file-w/o-ext>]
+
+ -d changes minor DLL version number - needed when eclipsing DLLs in ROM.
+ -c copies target file to specific destination
+ -s also creates stub SIS. File name is not needed if it same as base file
+    name followed by "_stub" (e.g. pkg files for eclipsing SIS and stub SIS
+    are component.pkg and component_stub.pkg respectively).
+
+Examples:
+=========
+sisTool myPackage -d2
+
+  Creates and signs(* 'myPackage.sis' from 'myPackage.pkg'.
+  Before creating sis file myPackage.pkg is searched for DLLs
+  and their version numbers are changed to 10.2 (i.e. minor
+  version is changed - default major version number is 10).
+
+sisTool myPackage -d -s
+  
+  Same as first example but uses default minor version number (=1)
+  for DLLs, and creates stub sis with name myPackage_stub.sis.
+
+                                                     
+(* Uses R&D certificate 'rd.cer' from \\S60\\s60_RnD\\RD_RootCA
+HELP
+    exit;
+    }
+$packageFile = shift;
+
+foreach ( @args ) {
+    # check if dll version number should be updated
+    if ( /-d(\d+)?\b/ ) {
+        $version = $1 ;
+        $version = 1 if ( not defined $version );            
+        $updateDllVersion = 1;
+        }
+    # check if stub SIS should be created
+    elsif ( /-s((\w|\.|\\|_|:|-)+)?/ )
+        {
+        my $stubPkgFile = "${packageFile}_stub.pkg";
+        if ( defined $1 ) {
+            # user defined stub
+            $stubPkgFile = $1; 
+            $stubPkgFile = $stubPkgFile . ".pkg" if $stubPkgFile !~ /\.pkg$/; 
+            }        
+        my $cmd = "makesis -s $stubPkgFile";
+        print "\n";
+        system "$cmd";
+        print "\n";
+        }
+    $copyPath = $1 if /-c(\S+)/;
+    }
+
+if ( defined($packageFile) ) {
+    ( -e "$packageFile.pkg" ) or die "package file '$packageFile' not found.\n";
+    
+    # Update version number of DLLs listed in pkg-file.
+    updateVersion if $updateDllVersion;
+
+    my $cmd = "makesis $packageFile\.pkg\n";
+   
+    if ( !defined( $sisFile ) ) {
+        $sisFile = "$packageFile.sis";
+        }
+    #################
+    # Do create sis #
+    #################
+    
+    my $err = system "$cmd";
+    die "\nFailed making sis file $!" if $err;
+    signSis;
+    if ( defined( $copyPath ) )
+        {
+        system "xcopy $sisFile $copyPath 2>&1";
+        }
+    }
+
+sub signSis {
+    # sign a sis file
+    my $signedFile = "${sisFile}S\.sis";
+    ( -e "$certPath\\$certificate" ) or die <<NOCERT;
+    
+    
+Certificate could not be found from $certPath\\$certificate
+Check and modifiy the path in line ~17 in the script if needed.
+NOCERT
+
+    my $cmd = "signsis -s $packageFile.sis $signedFile $certPath\\$certificate $certPath\\$key";        
+    if ( system ( "$cmd" ) == 0 )
+        {        
+        # delete original unsigned sis file
+        system "del $sisFile";
+        system "ren $signedFile $sisFile";
+        print "\nSigned with R&D certificate\n";
+        if ( defined ( $copyPath ) ) {
+            # copy signed sis to specified directory
+            system "xcopy $sisFile $copyPath";
+            }
+        }        
+    }
+    
+
+sub updateVersion {
+    open PACKAGE, "<$packageFile.pkg";    
+    foreach ( <PACKAGE> )
+        {
+        if ( /\"(.*?\.dll)\"/i ) 
+            {                        
+            system "elftran -version 10\.$version $1";
+            system "elftran -compressionmethod bytepair $1";
+            print STDOUT "\nUpdated version number of\n$1 to 10.$version\n";
+            }
+        }
+    close PACKAGE;  
+    }    
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,550 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbtoolbar.h>
+#include <hbview.h>
+
+#include "bubbletest.h"
+#include "bubblemanager2.h"
+
+const int WAIT_TIME = 200;
+
+class mt_BubbleManager2 : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testBasicMtCall();
+    void testBasicMoCall();
+    void testWaitingCall();
+    void testConferenceCall();
+    void testEmergencyCall();
+
+private:
+    void mouseClickWidget(const QString& name);
+    void mouseClickWidgetAction(const QString& name, HbAction* action);
+    QGraphicsWidget* getWidgetByName(const QString& name);
+
+private:
+    HbMainWindow*  mainWindow;
+    BubbleManager* bubbleManager; // widget under test
+    HbAction*      toolbarAction;
+    HbView*        view; // not owned
+};
+
+void mt_BubbleManager2::initTestCase()
+{
+    mainWindow = new HbMainWindow;
+
+    bubbleManager = new BubbleManager();
+
+    view = mainWindow->addView( bubbleManager );
+
+    HbToolBar *toolBar = new HbToolBar();
+    toolbarAction = new HbAction(this);
+    toolBar->addAction( toolbarAction );
+    toolBar->addAction( toolbarAction );
+    //toolBar->setOrientation(mainWindow->orientation());
+    mainWindow->currentView()->setToolBar(toolBar);
+
+    mainWindow->show();
+}
+
+void mt_BubbleManager2::cleanupTestCase()
+{
+    delete mainWindow;
+    delete toolbarAction;
+}
+
+void mt_BubbleManager2::testBasicMtCall()
+{
+    view->setTitle( "Basic MT call" );
+    bubbleManager->startChanges();
+    int bubbleId = bubbleManager->createCallHeader();
+    QVERIFY( bubbleId == 0 );
+    bubbleManager->setState( bubbleId, BubbleManager::Incoming );
+    bubbleManager->setCli( bubbleId, "John Doe", Qt::ElideRight );
+    bubbleManager->setSecondaryCli( bubbleId, "0407284096" );
+    bubbleManager->setNumberType( bubbleId, BubbleManager::Mobile );
+    bubbleManager->setCallFlags( bubbleId, BubbleManager::Diverted );
+    bubbleManager->setCallFlag( bubbleId, BubbleManager::NoCiphering, true );
+    bubbleManager->setLabel( bubbleId,"calling");
+    bubbleManager->setCallObjectFromTheme(bubbleId);
+    HbAction action1("Answer", this);
+    action1.setSoftKeyRole(QAction::PositiveSoftKey);
+    bubbleManager->addAction( bubbleId, &action1 );
+    HbAction action2("Reject", this);
+    action2.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction( bubbleId, &action2 );
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    mouseClickWidgetAction("eb:leftButton",&action1);
+    mouseClickWidgetAction("eb:rightButton",&action2);
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId, BubbleManager::Active );
+    bubbleManager->setLabel( bubbleId,"");
+    bubbleManager->setCallTime( bubbleId, "00:00" );
+    bubbleManager->setCallFlag( bubbleId, BubbleManager::NoCiphering, false );
+    bubbleManager->clearActions(bubbleId);
+    HbAction action3("Hold", this);
+    bubbleManager->addAction( bubbleId, &action3 );
+    HbAction action4("End call", this);
+    action4.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction( bubbleId, &action4 );
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->updateCallTime( bubbleId, "00:01" );
+    bubbleManager->updateCLI(bubbleId, "John Doe", Qt::ElideRight);
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->updateCallTime( bubbleId, "00:02" );
+    mouseClickWidgetAction("eb:leftButton",&action3);
+    mouseClickWidgetAction("eb:rightButton",&action4);
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId, BubbleManager::OnHold );
+    bubbleManager->setLabel( bubbleId,"on hold");
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+    
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId, BubbleManager::Disconnected );
+    bubbleManager->setLabel( bubbleId,"disconnected");
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->removeCallHeader( bubbleId );
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+}
+
+void mt_BubbleManager2::testBasicMoCall()
+{
+    view->setTitle( "Basic M0 call" );
+    bubbleManager->startChanges();
+    int bubbleId = bubbleManager->createCallHeader();
+    QVERIFY( bubbleId == 0 );
+    bubbleManager->setState( bubbleId, BubbleManager::Outgoing );
+    bubbleManager->setCli( bubbleId, "Mary Poppins", Qt::ElideRight );
+    bubbleManager->setSecondaryCli( bubbleId, "0507284096" );
+    bubbleManager->setNumberType( bubbleId, BubbleManager::Mobile );
+    bubbleManager->setLabel( bubbleId,"Calling");
+    bubbleManager->setCallObjectFromTheme(bubbleId);
+    HbAction action1("End call", this);
+    action1.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->clearActions(bubbleId);
+    bubbleManager->addAction( bubbleId, &action1 );
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    mouseClickWidgetAction("eb:centerButton", &action1 );
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId, BubbleManager::Alerting );
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+    
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId, BubbleManager::Active );
+    bubbleManager->setLabel( bubbleId,"");
+    bubbleManager->setCallTime( bubbleId, "00:00" );
+    bubbleManager->clearActions(bubbleId);
+    HbAction action2("Hold", this);
+    bubbleManager->addAction( bubbleId, &action2 );
+    HbAction action3("End call", this);
+    action3.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction( bubbleId, &action3 );
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->updateCallTime( bubbleId, "00:01" );
+    mouseClickWidgetAction("eb:leftButton",&action2);
+    mouseClickWidgetAction("eb:rightButton",&action3);
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->setPhoneMuted(true);
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->setPhoneMuted(false);
+
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId, BubbleManager::Disconnected );
+    bubbleManager->setLabel( bubbleId,"disconnected");
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->removeCallHeader( bubbleId );
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+}
+
+void mt_BubbleManager2::testWaitingCall()
+{
+    view->setTitle( "Waiting call" );
+    bubbleManager->startChanges();
+    int bubbleId1 = bubbleManager->createCallHeader();
+    QVERIFY( bubbleId1 == 0 );
+    bubbleManager->setState( bubbleId1, BubbleManager::Active );
+    bubbleManager->setCli( bubbleId1, "Mary Poppins", Qt::ElideRight );
+    bubbleManager->setSecondaryCli( bubbleId1, "0507284096" );
+    bubbleManager->setCallObjectFromTheme(bubbleId1);
+    bubbleManager->setCallTime( bubbleId1, "00:00" );
+    bubbleManager->clearActions(bubbleId1);
+    HbAction action1("Hold", this);
+    bubbleManager->addAction( bubbleId1, &action1 );
+    HbAction action2("End call", this);
+    action2.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction( bubbleId1, &action2 );
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+
+    // waiting call
+    bubbleManager->startChanges();
+    int bubbleId2 = bubbleManager->createCallHeader();
+    QVERIFY( bubbleId2 == 1 );
+    bubbleManager->setState( bubbleId2, BubbleManager::Waiting );
+    bubbleManager->setCli( bubbleId2, "John Doe", Qt::ElideRight );
+    bubbleManager->setLabel( bubbleId2,"Waiting");
+    bubbleManager->setSecondaryCli( bubbleId2, "0501234567" );
+    bubbleManager->setCallObjectFromTheme(bubbleId2);
+    bubbleManager->clearActions(bubbleId2);
+    HbAction action3("Answer", this);
+    action3.setSoftKeyRole(QAction::PositiveSoftKey);
+    bubbleManager->addAction( bubbleId2, &action3 );
+    HbAction action4("Reject", this);
+    action4.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction( bubbleId2, &action4 );
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    mouseClickWidgetAction("eb:leftButton",&action3);
+    mouseClickWidgetAction("eb:rightButton",&action4);
+    bubbleManager->updateCallTime(bubbleId1,"00:01");
+
+    // two calls
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId1, BubbleManager::OnHold );
+    bubbleManager->setLabel( bubbleId1,"On hold");
+    bubbleManager->setState( bubbleId2, BubbleManager::Active );
+    bubbleManager->setLabel( bubbleId2,"");
+    bubbleManager->clearActions(bubbleId2);
+    bubbleManager->addAction( bubbleId2, &action1 );
+    bubbleManager->addAction( bubbleId2, &action2 );
+    HbAction action5("Swap", this);
+    bubbleManager->setExpandAction( bubbleId1, &action5 );
+    bubbleManager->setExpandAction( bubbleId2, &action5 );
+    bubbleManager->endChanges();
+
+    int expanded = bubbleManager->expandedBubble();
+    QVERIFY( expanded == bubbleId2 );
+
+    QTest::qWait( WAIT_TIME );
+    mouseClickWidgetAction("collapsedBubble",&action5);
+    expanded = bubbleManager->expandedBubble();
+    QVERIFY( expanded == bubbleId1 );
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->setBubbleSelectionDisabled(true);
+    mouseClickWidget("collapsedBubble");
+    expanded = bubbleManager->expandedBubble();
+    QVERIFY( expanded == bubbleId1 );
+    bubbleManager->setBubbleSelectionDisabled(false);
+
+    // waiting call (third call)
+    bubbleManager->startChanges();
+    int bubbleId3 = bubbleManager->createCallHeader();
+    QVERIFY( bubbleId3 == 2 );
+    bubbleManager->setState( bubbleId3, BubbleManager::Waiting );
+    bubbleManager->setCli( bubbleId3, "Mary Poppins", Qt::ElideRight );
+    bubbleManager->setLabel( bubbleId3,"Waiting");
+    bubbleManager->setSecondaryCli( bubbleId3, "0501234567" );
+    bubbleManager->setCallObjectFromTheme(bubbleId3);
+    bubbleManager->clearActions(bubbleId3);
+    HbAction action6("Replace", this);
+    bubbleManager->addAction( bubbleId3, &action6 );
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    expanded = bubbleManager->expandedBubble();
+    QVERIFY( expanded == bubbleId3 );
+
+    // click top most bubble - bubble2
+    mouseClickWidgetAction("collapsedBubble2",&action5);
+    expanded = bubbleManager->expandedBubble();
+    QVERIFY( expanded == bubbleId2 );
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->startChanges();
+    bubbleManager->removeCallHeader( bubbleId3 );
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId2, BubbleManager::Disconnected );
+    bubbleManager->setLabel( bubbleId2,"disconnected");
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->removeCallHeader( bubbleId1 );
+    bubbleManager->removeCallHeader( bubbleId2 );
+    bubbleManager->endChanges();
+}
+
+void mt_BubbleManager2::testConferenceCall()
+{
+    view->setTitle( "Test conference" );
+    bubbleManager->startChanges();
+    // held call
+    int bubbleId1 = bubbleManager->createCallHeader();
+    bubbleManager->setState( bubbleId1, BubbleManager::OnHold );
+    bubbleManager->setCli( bubbleId1, "Mary Poppins", Qt::ElideRight );
+    bubbleManager->setSecondaryCli( bubbleId1, "0507284096" );
+    bubbleManager->setCallObjectFromTheme(bubbleId1);
+    bubbleManager->setLabel( bubbleId1,"On hold");
+    bubbleManager->clearActions(bubbleId1);
+    HbAction action1("Activate", this);
+    bubbleManager->addAction( bubbleId1, &action1 );
+    HbAction action2("End call", this);
+    action2.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction( bubbleId1, &action2 );
+    // active call
+    int bubbleId2 = bubbleManager->createCallHeader();
+    bubbleManager->setState( bubbleId2, BubbleManager::Waiting );
+    bubbleManager->setCli( bubbleId2, "John Doe", Qt::ElideRight );
+    bubbleManager->setSecondaryCli( bubbleId2, "0501234567" );
+    bubbleManager->setCallObjectFromTheme(bubbleId2);
+    bubbleManager->clearActions(bubbleId2);
+    HbAction action3("Hold", this);
+    bubbleManager->addAction( bubbleId2, &action3 );
+    HbAction action4("End call", this);
+    action4.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction( bubbleId2, &action4 );
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->startChanges();
+    int bubbleIdC = bubbleManager->createConference(bubbleId1,bubbleId2);
+    bubbleManager->setCli(bubbleIdC,"Conference call",Qt::ElideRight);
+    bubbleManager->setExpandedConferenceCallHeader(true);
+    bubbleManager->setState(bubbleIdC,BubbleManager::Active);
+    bubbleManager->setCallTime(bubbleIdC,"00:00");
+    HbAction action5("End conference");
+    action5.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction(bubbleIdC,&action5);
+    bubbleManager->clearParticipantListActions();
+    HbAction action6("Private");
+    bubbleManager->addParticipantListAction(&action6);
+    HbAction action7("Drop");
+    bubbleManager->addParticipantListAction(&action7);
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->updateCallTime(bubbleIdC,"00:01");
+    mouseClickWidgetAction("eb:centerButton",&action5);
+    QVERIFY(bubbleManager->conferenceRowCount()==2);
+    QVERIFY(bubbleManager->expandedBubble()==bubbleIdC);
+    QTest::qWait( WAIT_TIME );
+
+    // add call to conference
+    bubbleManager->startChanges();
+    int bubbleId3 = bubbleManager->createCallHeader();
+    bubbleManager->setState( bubbleId3, BubbleManager::Active );
+    bubbleManager->setCli( bubbleId3, "123457", Qt::ElideLeft );
+    bubbleManager->setCallObjectFromTheme(bubbleId3);
+    bubbleManager->clearActions(bubbleId3);
+    HbAction action8("Hold", this);
+    bubbleManager->addAction( bubbleId3, &action8 );
+    HbAction action9("End call", this);
+    action9.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->addAction( bubbleId3, &action9 );
+    bubbleManager->setExpandedConferenceCallHeader(false);
+    bubbleManager->setState(bubbleIdC,BubbleManager::OnHold);
+    bubbleManager->setLabel(bubbleIdC,"On hold",Qt::ElideRight);
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->setExpandedConferenceCallHeader(true);
+    bubbleManager->addRowToConference(bubbleId3);
+    bubbleManager->setState(bubbleIdC,BubbleManager::Active);
+    // to test two button layout
+    bubbleManager->clearActions(bubbleIdC);
+    bubbleManager->addAction(bubbleIdC,&action8);
+    bubbleManager->addAction(bubbleIdC,&action5);
+    bubbleManager->endChanges();
+    Q_ASSERT(bubbleManager->conferenceRowCount()==3);
+    QTest::qWait( WAIT_TIME );
+    mouseClickWidgetAction("eb:leftButton",&action8);
+    mouseClickWidgetAction("eb:rightButton",&action5);
+
+    // try to click conference list
+    QTest::mouseClick(mainWindow->viewport(),Qt::LeftButton,0,QPoint(100,100));
+    QTest::qWait( 2*WAIT_TIME );
+
+    // remove call from conference
+    bubbleManager->startChanges();
+    bubbleManager->removeRowFromConference(bubbleId3);
+    bubbleManager->removeCallHeader(bubbleId3);
+    bubbleManager->endChanges();
+    Q_ASSERT(bubbleManager->conferenceRowCount()==2);
+    QTest::qWait( WAIT_TIME );
+
+    // to be implemented API methods
+    bubbleManager->startChanges();
+    bubbleManager->setSelectionInConference(0);
+    bubbleManager->setSelectionIdInConference(bubbleId1);
+    bubbleManager->selectionInConference();
+    bubbleManager->selectionIdInConference();
+    bubbleManager->moveHighlightOneUpInConference();
+    bubbleManager->moveHighlightOneDownInConference();
+    bubbleManager->setParticipantListCli(bubbleId1,
+        BubbleManagerIF::ParticipantListCliText);
+    bubbleManager->endChanges();
+
+    bubbleManager->startChanges();
+    bubbleManager->removeConference();
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->startChanges();
+    bubbleManager->removeCallHeader(bubbleId1);
+    bubbleManager->removeCallHeader(bubbleId2);
+    bubbleManager->endChanges();
+}
+
+void mt_BubbleManager2::testEmergencyCall()
+{
+    view->setTitle( "Emergency call" );
+    bubbleManager->startChanges();
+    int bubbleId = bubbleManager->createCallHeader();
+    QVERIFY( bubbleId == 0 );
+    bubbleManager->setState( bubbleId, BubbleManager::Outgoing );
+    bubbleManager->setCli( bubbleId, "emergency call", Qt::ElideRight );
+    bubbleManager->setNumberType( bubbleId, BubbleManager::Mobile );
+    bubbleManager->setLabel( bubbleId,"Attempting");
+    HbAction action1("End call", this);
+    action1.setSoftKeyRole(QAction::NegativeSoftKey);
+    bubbleManager->clearActions(bubbleId);
+    bubbleManager->addAction( bubbleId, &action1 );
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    mouseClickWidgetAction("eb:centerButton",&action1);
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->startChanges();
+    bubbleManager->setCli( bubbleId, "Emergency call", Qt::ElideRight );
+    bubbleManager->setState( bubbleId, BubbleManager::Alerting );
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId, BubbleManager::Active );
+    bubbleManager->setLabel( bubbleId,"");
+    bubbleManager->setCallTime( bubbleId, "00:00" );
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+
+    bubbleManager->startChanges();
+    bubbleManager->setState( bubbleId, BubbleManager::Disconnected );
+    bubbleManager->setLabel( bubbleId,"disconnected");
+    bubbleManager->endChanges();
+
+    QTest::qWait( WAIT_TIME );
+    bubbleManager->startChanges();
+    bubbleManager->removeCallHeader( bubbleId );
+    bubbleManager->endChanges();
+    QTest::qWait( WAIT_TIME );
+}
+
+void mt_BubbleManager2::mouseClickWidget(
+    const QString& name )
+{
+    QGraphicsWidget* widget = getWidgetByName(name);
+
+    if ( widget ) {
+        QPointF widgetPos = widget->scenePos() +
+                            widget->rect().center();
+
+        QPoint windowPos = mainWindow->mapFromScene( widgetPos );
+
+        QTest::mouseClick( mainWindow->viewport(), Qt::LeftButton, 0, windowPos );
+        QTest::qWait( WAIT_TIME );
+    } else {
+        QFAIL( "Widget cannot be accessed!" );
+    }
+}
+
+void mt_BubbleManager2::mouseClickWidgetAction(
+    const QString& name,
+    HbAction* action )
+{
+    QSignalSpy spy( action, SIGNAL( triggered() ) );
+
+    QGraphicsWidget* widget = getWidgetByName(name);
+
+    if ( widget ) {
+        QPointF widgetPos = widget->scenePos() +
+                            widget->rect().center();
+
+        QPoint windowPos = mainWindow->mapFromScene( widgetPos );
+
+        QTest::mouseClick( mainWindow->viewport(), Qt::LeftButton, 0, windowPos );
+        QTest::qWait( WAIT_TIME );
+        QVERIFY( spy.count() == 1 );
+    } else {
+        QFAIL( "Widget cannot be accessed!" );
+    }
+}
+
+QGraphicsWidget* mt_BubbleManager2::getWidgetByName(const QString& name)
+{
+    Q_ASSERT(mainWindow!=0);
+
+    QGraphicsWidget* widget = 0;
+
+    QList<QGraphicsItem*> items = mainWindow->scene()->items();
+    foreach (QGraphicsItem* item, items) {
+        if (item->isWidget()) {
+            QGraphicsWidget *w = static_cast<QGraphicsWidget*>(item);
+            if (w->objectName()==name) {
+                widget = w;
+            }
+        }
+    }
+
+    return widget;
+}
+
+BUBBLE_TEST_MAIN(mt_BubbleManager2)
+#include "mt_bubblemanager2.moc"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/mt_bubblemanager2/mt_bubblemanager2.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = app
+TARGET =
+INCLUDEPATH += . ../../../inc  ../shared
+
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+SOURCES += mt_bubblemanager2.cpp
+
+# 
+unix:!symbian: LIBS += -L../../../bubblecore
+LIBS += -lbubblemanager2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/runall.cmd	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,73 @@
+@echo off
+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
+
+if "%1"=="winscw" (
+call runtest.cmd ut_bubbleutils
+call runtest.cmd ut_bubbleheader
+call runtest.cmd ut_bubbleconferenceheader
+call runtest.cmd ut_bubblepartlistmodel
+call runtest.cmd ut_bubblestyleoption
+call runtest.cmd ut_bubblecontainerwidget
+call runtest.cmd ut_bubbleheadingwidget
+call runtest.cmd ut_bubbleimagewidget
+call runtest.cmd ut_bubbleparticipantlistitem
+call runtest.cmd ut_bubblebuttonstyle
+call runtest.cmd ut_bubbleanimiconitem
+call runtest.cmd ut_bubblestyleplugin
+call runtest.cmd mt_bubblemanager2
+)
+
+@echo off
+if "%1"=="win32" (
+call runtest_w32.cmd ut_bubbleutils
+call runtest_w32.cmd ut_bubbleheader
+call runtest_w32.cmd ut_bubbleconferenceheader
+call runtest_w32.cmd ut_bubblepartlistmodel
+call runtest_w32.cmd ut_bubblestyleoption
+call runtest_w32.cmd ut_bubblecontainerwidget
+call runtest_w32.cmd ut_bubbleheadingwidget
+call runtest_w32.cmd ut_bubbleimagewidget
+call runtest_w32.cmd ut_bubbleparticipantlistitem
+call runtest_w32.cmd ut_bubblebuttonstyle
+call runtest_w32.cmd ut_bubbleanimiconitem
+call runtest_w32.cmd ut_bubblestyleplugin
+call runtest_w32.cmd mt_bubblemanager2
+)
+
+@echo off
+if "%2"=="ctc" (
+call ctcpost^
+ ut_bubbleutils\mon.sym ut_bubbleutils\mon.dat^
+ ut_bubbleheader\mon.sym ut_bubbleheader\mon.dat^
+ ut_bubbleconferenceheader\mon.sym ut_bubbleconferenceheader\mon.dat^
+ ut_bubblepartlistmodel\mon.sym ut_bubblepartlistmodel\mon.dat^
+ ut_bubblestyleoption\mon.sym ut_bubblestyleoption\mon.dat^
+ ut_bubblecontainerwidget\mon.sym ut_bubblecontainerwidget\mon.dat^
+ ut_bubbleheadingwidget\mon.sym ut_bubbleheadingwidget\mon.dat^
+ ut_bubbleimagewidget\mon.sym ut_bubbleimagewidget\mon.dat^
+ ut_bubbleparticipantlistitem\mon.sym ut_bubbleparticipantlistitem\mon.dat^
+ ut_bubblebuttonstyle\mon.sym ut_bubblebuttonstyle\mon.dat^
+ ut_bubbleanimiconitem\mon.sym ut_bubbleanimiconitem\mon.dat^
+ ut_bubblestyleplugin\mon.sym ut_bubblestyleplugin\mon.dat^
+  -p profile.txt
+call ctc2html -i profile.txt
+)
+
+@echo off
+if "%1"=="" echo Usage: 'runall winscw' or 'runall win32'
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/runtest.cmd	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,22 @@
+@echo off
+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
+
+call del %1.log
+@echo on
+:FINAL
+call \epoc32\release\winscw\udeb\%1.exe -o c:\%1.log
+call type \epoc32\winscw\c\%1.log
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/runtest_w32.cmd	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,20 @@
+@echo off
+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 on
+:FINAL
+call %1\%1.exe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/shared/bubbletest.h	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 BUBBLETEST_H
+#define BUBBLETEST_H
+
+#include <QtCore>
+
+#define BUBBLE_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; \
+}
+
+// style plugin name
+#if defined(Q_OS_SYMBIAN)
+    const char* BUBBLE_STYLE_PLUGIN = \
+        "z:/resource/qt/plugins/phone/bubblestyleplugin.dll";
+#elif defined(Q_OS_WIN)
+    const char* BUBBLE_STYLE_PLUGIN = \
+        "c:/hb/bin/bubblestyleplugin.dll";
+#else // Q_OS_UNIX
+    const char* BUBBLE_STYLE_PLUGIN = \
+        "/home/lib/libbubblestyleplugin.so";
+#endif
+
+#endif // BUBBLETEST_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/unit.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = subdirs
+SUBDIRS += ut_bubbleheader
+SUBDIRS += ut_bubbleconferenceheader
+SUBDIRS += ut_bubblepartlistmodel
+SUBDIRS += ut_bubbleutils
+SUBDIRS += ut_bubblestyleoption
+SUBDIRS += ut_bubblecontainerwidget
+SUBDIRS += ut_bubbleheadingwidget
+SUBDIRS += ut_bubbleimagewidget
+SUBDIRS += ut_bubbleparticipantlistitem
+SUBDIRS += ut_bubblebuttonstyle
+SUBDIRS += ut_bubbleanimiconitem
+SUBDIRS += ut_bubblestyleplugin
+SUBDIRS += mt_bubblemanager2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/data/qtg_indi_call_connect.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,10 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+</g>
+<path d="M17.838,51.925l-0.074-0.004c-0.275-0.017-1.043-0.131-2.229-0.8c-1.766-0.98-2.789-2.374-3.611-3.604   c-0.762-1.151-1.576-3.451-1.576-6.459c0-3.725,1.201-11.172,9.236-19.213c7.984-7.985,15.42-9.177,19.145-9.177   c3.543,0,5.801,0.998,6.576,1.59c1.24,0.95,2.102,1.742,3.629,3.679c0.525,0.66,0.68,1.279,0.713,1.681l0.006,0.076l-0.006,0.077   l-0.021,0.348c-0.104,1.643-1.523,3.623-4.465,6.224c-3.705,3.256-5.818,3.675-6.379,3.724l-0.279,0.025l-0.252-0.123   c-0.352-0.173-0.914-0.555-1.586-1.398c-0.428-0.543-0.996-1.594-1.303-3.558l-0.141-0.844l-0.143-0.839l-0.852,0.005l-0.842,0.007   c-4.797,0.021-12.287,7.51-12.332,12.326l-0.004,0.851l-0.004,0.857l0.85,0.136l0.832,0.133c1.426,0.229,2.666,0.694,3.588,1.347   c0.926,0.647,1.275,1.212,1.406,1.573l0.063,0.175l-0.004,0.187c-0.043,1.769-2.037,4.62-3.732,6.526   c-2.584,2.918-4.533,4.339-6.137,4.47L17.838,51.925L17.838,51.925z" fill="#47C30E"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/data/qtg_indi_call_wait.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,10 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<g>
+<rect fill="none" fill-opacity="0.5" height="60" stroke-opacity="0.5" width="60"/>
+</g>
+<path d="M17.838,51.925l-0.074-0.004c-0.275-0.017-1.043-0.131-2.229-0.8c-1.766-0.98-2.789-2.374-3.611-3.604   c-0.762-1.151-1.576-3.451-1.576-6.459c0-3.725,1.201-11.172,9.236-19.213c7.984-7.985,15.42-9.177,19.145-9.177   c3.543,0,5.801,0.998,6.576,1.59c1.24,0.95,2.102,1.742,3.629,3.679c0.525,0.66,0.68,1.279,0.713,1.681l0.006,0.076l-0.006,0.077   l-0.021,0.348c-0.104,1.643-1.523,3.623-4.465,6.224c-3.705,3.256-5.818,3.675-6.379,3.724l-0.279,0.025l-0.252-0.123   c-0.352-0.173-0.914-0.555-1.586-1.398c-0.428-0.543-0.996-1.594-1.303-3.558l-0.141-0.844l-0.143-0.839l-0.852,0.005l-0.842,0.007   c-4.797,0.021-12.287,7.51-12.332,12.326l-0.004,0.851l-0.004,0.857l0.85,0.136l0.832,0.133c1.426,0.229,2.666,0.694,3.588,1.347   c0.926,0.647,1.275,1.212,1.406,1.573l0.063,0.175l-0.004,0.187c-0.043,1.769-2.037,4.62-3.732,6.526   c-2.584,2.918-4.533,4.339-6.137,4.47L17.838,51.925L17.838,51.925z" fill="#F0B11D"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/ut_bubbleanimiconitem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,89 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbwidget.h>
+
+#include "bubbletest.h"
+#include "bubbleanimiconitem.h"
+
+class Container : public HbWidget
+{
+public:
+    Container()
+    {
+        mItem = new BubbleAnimIconItem(50,this);
+        mItem->appendIcon(":/data/qtg_indi_call_connect.svg");
+        mItem->appendIcon(":/data/qtg_indi_call_wait.svg");
+        QGraphicsLinearLayout* layout = new
+            QGraphicsLinearLayout;
+        layout->addItem(mItem);
+        setLayout(layout);
+    }
+
+    void reset()
+    {
+        mItem->reset();
+    }
+
+private:
+    BubbleAnimIconItem* mItem;
+};
+
+class ut_BubbleAnimIconItem : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testItem();
+
+private:
+    HbMainWindow* mMainWindow;
+    Container* mContainer;
+    int mStyleBaseId;
+};
+
+void ut_BubbleAnimIconItem::initTestCase()
+{
+    mMainWindow = new HbMainWindow();
+    mContainer = new Container;
+    mMainWindow->addView(mContainer);
+    mContainer->hide();
+    mMainWindow->show();
+}
+
+void ut_BubbleAnimIconItem::cleanupTestCase()
+{
+    delete mMainWindow;
+}
+
+void ut_BubbleAnimIconItem::testItem()
+{
+    mContainer->show();
+    QTest::qWait(200);
+    mContainer->hide();
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleAnimIconItem)
+#include "ut_bubbleanimiconitem.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/ut_bubbleanimiconitem.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblestyle/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+HEADERS += ../../../bubblestyle/src/bubbleanimiconitem.h
+SOURCES += ut_bubbleanimiconitem.cpp \
+           ../../../bubblestyle/src/bubbleanimiconitem.cpp
+RESOURCES += ut_bubbleanimiconitem.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleanimiconitem/ut_bubbleanimiconitem.qrc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource prefix="/" >
+        <file>data/qtg_indi_call_wait.svg</file>
+        <file>data/qtg_indi_call_connect.svg</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebuttonstyle/ut_bubblebuttonstyle.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,141 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbframeitem.h>
+#include <hbiconitem.h>
+#include <hbstyle.h>
+#include <hbstyleoptionpushbutton.h>
+#include <hbcolorscheme.h>
+
+#include "bubbletest.h"
+#include "bubblebuttonstyle.h"
+
+class ut_BubbleButtonStyle : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testPushButtonFrame();
+    void testPushButtonIcon();
+
+private:
+    BubbleButtonStyle *mStyle;
+};
+
+void ut_BubbleButtonStyle::initTestCase()
+{
+    mStyle = new BubbleButtonStyle();
+}
+
+void ut_BubbleButtonStyle::cleanupTestCase()
+{
+    delete mStyle;
+}
+
+void ut_BubbleButtonStyle::testPushButtonFrame()
+{
+    HbFrameItem* item = new HbFrameItem();
+    HbStyleOptionPushButton option;
+    option.backgroundFrameDrawer = 0;
+
+    // Enabled ON
+    option.state |= QStyle::State_On;
+    option.state |= QStyle::State_Enabled;
+
+    mStyle->setButtonColor(BubbleButtonStyle::Default);
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option);
+    QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_btn_pressed");
+
+    mStyle->setButtonColor(BubbleButtonStyle::Green);
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option);
+    QVERIFY(item->frameDrawer().frameGraphicsName()==":/resources/qtg_fr_btn_green_pressed");
+
+    mStyle->setButtonColor(BubbleButtonStyle::Red);
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option);
+    QVERIFY(item->frameDrawer().frameGraphicsName()==":/resources/qtg_fr_btn_red_pressed");
+
+    // Enabled OFF
+    option.state &= ~QStyle::State_On;
+    option.state |= QStyle::State_Off;
+
+    mStyle->setButtonColor(BubbleButtonStyle::Default);
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option);
+    QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_btn_normal");
+
+    mStyle->setButtonColor(BubbleButtonStyle::Green);
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option);
+    QVERIFY(item->frameDrawer().frameGraphicsName()==":/resources/qtg_fr_btn_green_normal");
+
+    mStyle->setButtonColor(BubbleButtonStyle::Red);
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option);
+    QVERIFY(item->frameDrawer().frameGraphicsName()==":/resources/qtg_fr_btn_red_normal");
+
+    // Disabled
+    option.state &= ~QStyle::State_Enabled;
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option);
+    QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_btn_disabled");
+
+    // Selected
+    option.state |= QStyle::State_Selected;
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option);
+    QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_btn_highlight");
+
+    // Active
+    option.state &= ~QStyle::State_Selected;
+    option.state |= QStyle::State_Active;
+    mStyle->setButtonColor(BubbleButtonStyle::Default);;
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_background,&option);
+    QVERIFY(item->frameDrawer().frameGraphicsName()=="qtg_fr_btn_normal");   
+
+    delete item;
+
+    // exception type
+    HbIconItem* item2 = new HbIconItem();
+    mStyle->updatePrimitive(item2,HbStyle::P_PushButton_background,&option);
+    delete item2;
+}
+
+void ut_BubbleButtonStyle::testPushButtonIcon()
+{
+    HbIconItem* item = new HbIconItem();
+    HbStyleOptionPushButton option;
+
+    mStyle->setButtonColor(BubbleButtonStyle::Red);
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_icon,&option);
+    QVERIFY(item->color()==Qt::white);
+
+    mStyle->setButtonColor(BubbleButtonStyle::Green);
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_icon,&option);
+    QVERIFY(item->color()==Qt::white);
+
+    QColor color;
+    color = HbColorScheme::color("qtc_button_normal");
+    mStyle->setButtonColor(BubbleButtonStyle::Default);
+    mStyle->updatePrimitive(item,HbStyle::P_PushButton_icon,&option);
+    QVERIFY(item->color()==color);
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleButtonStyle)
+#include "ut_bubblebuttonstyle.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblebuttonstyle/ut_bubblebuttonstyle.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+HEADERS += ../../../bubblecore/src/bubblebuttonstyle.h
+SOURCES += ut_bubblebuttonstyle.cpp \
+           ../../../bubblecore/src/bubblebuttonstyle.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleconferenceheader/ut_bubbleconferenceheader.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,135 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+
+#include "bubbletest.h"
+#include "bubbleconferenceheader.h"
+
+static const int PARTICIPANT_COUNT=5;
+
+class ut_BubbleConferenceHeader : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testIsConference();
+    void testAddHeader();
+    void testRemoveHeader();
+    void testAddParticipantListActions();
+    void testSetExpanded();
+    void testSetSelectedHeader();
+    void testReset(); // keep this last
+
+private:
+    BubbleConferenceHeader* confHeader; // class under test
+    QList<BubbleHeader*> participants;
+};
+
+void ut_BubbleConferenceHeader::initTestCase()
+{
+    confHeader = new BubbleConferenceHeader();
+
+    for (int i=0; i<PARTICIPANT_COUNT; i++) {
+        BubbleHeader* header = new BubbleHeader();
+        header->setBubbleId(i);
+        participants.append(header);
+    }
+}
+
+void ut_BubbleConferenceHeader::cleanupTestCase()
+{
+    qDeleteAll(participants);
+    participants.clear();
+
+    delete confHeader;
+}
+
+void ut_BubbleConferenceHeader::testIsConference()
+{
+    QVERIFY( confHeader->isConference() == true );
+}
+
+void ut_BubbleConferenceHeader::testAddHeader()
+{
+    foreach(BubbleHeader* participant,participants) {
+        confHeader->addHeader(participant);
+    }
+
+    QVERIFY( confHeader->headers().count()==PARTICIPANT_COUNT );
+    QVERIFY( confHeader->headers().at(0)->isInConference()==true );
+}
+
+void ut_BubbleConferenceHeader::testRemoveHeader()
+{
+    confHeader->removeHeader(0);
+    confHeader->removeHeader(0);
+    confHeader->removeHeader(2);
+
+    QVERIFY( confHeader->headers().count()==PARTICIPANT_COUNT-2 );
+    QVERIFY( participants.at(2)->isInConference()==false );
+}
+
+void ut_BubbleConferenceHeader::testAddParticipantListActions()
+{
+    for ( int i=0; i < 2; i++ ) {
+        HbAction* action = new HbAction( "Test", this);
+        confHeader->addParticipantListAction(action);
+    }
+
+    QVERIFY( confHeader->participantListActions().count() == 2 );
+    confHeader->clearParticipantListActions();
+    QVERIFY( confHeader->participantListActions().count() == 0 );    
+
+    HbAction* action = new HbAction( "Test", this);
+    confHeader->addParticipantListAction(action);
+}
+
+void ut_BubbleConferenceHeader::testSetExpanded()
+{
+    confHeader->setExpanded(true);
+    QVERIFY(confHeader->isExpanded());
+    confHeader->setExpanded(true);
+}
+
+void ut_BubbleConferenceHeader::testSetSelectedHeader()
+{
+    confHeader->setSelectedHeader(1);
+    QVERIFY(confHeader->selectedHeader()==1);
+    confHeader->setSelectedHeader(1);
+}
+
+void ut_BubbleConferenceHeader::testReset()
+{
+    confHeader->reset();
+    QVERIFY( confHeader->headers().count()==0 );
+    QVERIFY( participants.at(1)->isInConference()==false );
+    QVERIFY( confHeader->participantListActions().count()==0 );
+    QVERIFY( confHeader->isExpanded()==false );
+    QVERIFY( confHeader->selectedHeader()==-1 );
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleConferenceHeader)
+#include "ut_bubbleconferenceheader.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleconferenceheader/ut_bubbleconferenceheader.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+SOURCES += ut_bubbleconferenceheader.cpp \
+           ../../../bubblecore/src/bubbleheader.cpp \
+           ../../../bubblecore/src/bubbleconferenceheader.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbmainwindow.h>
+#include <hbinstance.h>
+#include <hbstyle.h>
+
+#include "bubbletest.h"
+#include "bubblecontainerwidget.h"
+
+class ut_BubbleContainerWidget : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testLeftMouseClick();
+    void testRightMouseClick();
+    void testMouseMove();
+
+    //void testInvalidStylePlugin();
+
+private:
+    BubbleContainerWidget* mContainer;
+    HbMainWindow* mMainWindow;
+    int mStyleBaseId;
+};
+
+void ut_BubbleContainerWidget::initTestCase()
+{
+    mMainWindow = new HbMainWindow();
+    mContainer = new BubbleContainerWidget(BUBBLE_STYLE_PLUGIN);
+    mMainWindow->addView(mContainer);
+    mMainWindow->show();
+}
+
+void ut_BubbleContainerWidget::cleanupTestCase()
+{
+    delete mMainWindow;
+}
+
+void ut_BubbleContainerWidget::testLeftMouseClick()
+{
+    QSignalSpy spy(mContainer,SIGNAL(clicked()));
+
+    QPointF clickPos = mContainer->scenePos() +
+                       mContainer->rect().center();
+    QPoint windowPos = mMainWindow->mapFromScene( clickPos );
+
+    QTest::mouseClick( mMainWindow->viewport(), Qt::LeftButton, 0, windowPos,100 );
+    QCOMPARE( spy.count(), 1 );
+}
+
+void ut_BubbleContainerWidget::testRightMouseClick()
+{
+    QSignalSpy spy(mContainer,SIGNAL(clicked()));
+
+    QPointF clickPos = mContainer->scenePos() +
+                       mContainer->rect().center();
+    QPoint windowPos = mMainWindow->mapFromScene( clickPos );
+
+    QTest::mouseClick( mMainWindow->viewport(), Qt::RightButton, 0, windowPos,100 );
+    QCOMPARE( spy.count(), 0 );
+}
+
+void ut_BubbleContainerWidget::testMouseMove()
+{
+    QSignalSpy spy(mContainer,SIGNAL(clicked()));
+
+    QPointF clickPos = mContainer->scenePos() +
+                       mContainer->rect().center();
+    QPoint windowPos = mMainWindow->mapFromScene( clickPos );
+    QPoint windowPos2 = windowPos+QPoint(10,10);
+
+    // QTest::mouseMove() doesn't work
+    QTest::mouseMove( mMainWindow->viewport(), windowPos2 );
+    QCOMPARE( spy.count(), 0 );
+}
+
+/*void ut_BubbleContainerWidget::testInvalidStylePlugin()
+{
+    // this just shouldn't crash
+    BubbleContainerWidget *cnt =
+        new BubbleContainerWidget("c:\foobar.dll");
+    HbView* view = mMainWindow->addView(cnt);
+    mMainWindow->setCurrentView(view);
+}*/
+
+BUBBLE_TEST_MAIN(ut_BubbleContainerWidget)
+#include "ut_bubblecontainerwidget.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblecontainerwidget/ut_bubblecontainerwidget.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+HEADERS += ../../../bubblecore/src/bubblecontainerwidget.h
+SOURCES += ut_bubblecontainerwidget.cpp \
+           ../../../bubblecore/src/bubblecontainerwidget.cpp \
+           ../../../bubblecore/src/bubblestyleoption.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheader/ut_bubbleheader.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,219 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+
+#include "bubbletest.h"
+#include "bubbleheader.h"
+
+class ut_BubbleHeader : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testIsUsed();
+    void testBubbleId();
+    void testCallState();
+    void testCallFlags();
+    void testNumberType();
+    void testText();
+    void testCli();
+    void testSecondaryCli();
+    void testTimerCost();
+    void testCallImage();
+    void testAddActions();
+    void testIsConference();
+    void testIsInConference();
+    void testSetExpandAction();
+    void testReset(); // this should run last
+
+private:
+    BubbleHeader* bubbleHeader; // class under test
+};
+
+void ut_BubbleHeader::initTestCase()
+{
+    bubbleHeader = new BubbleHeader();
+}
+
+void ut_BubbleHeader::cleanupTestCase()
+{
+    delete bubbleHeader;
+}
+
+void ut_BubbleHeader::testIsUsed()
+{
+    bubbleHeader->setIsUsed( true );
+    QVERIFY( bubbleHeader->isUsed() == true );
+}
+
+void ut_BubbleHeader::testBubbleId()
+{
+    bubbleHeader->setBubbleId( 1 );
+    QVERIFY( bubbleHeader->bubbleId() == 1 );
+}
+
+void ut_BubbleHeader::testCallState()
+{
+    bubbleHeader->setCallState( BubbleManager::Active );
+    QVERIFY( bubbleHeader->callState() == BubbleManager::Active );
+
+    bubbleHeader->setCallState( BubbleManager::Disconnected );
+    QVERIFY( bubbleHeader->callState() == BubbleManager::Disconnected );
+
+    bubbleHeader->setCallState( BubbleManager::Incoming );
+    bubbleHeader->setCallState( BubbleManager::Disconnected );
+    QVERIFY( bubbleHeader->callState() == BubbleManager::AlertToDisconnected );
+}
+
+void ut_BubbleHeader::testCallFlags()
+{
+    // set all bits
+    bubbleHeader->setCallFlags( BubbleManager::Diverted );
+    bubbleHeader->setCallFlags( BubbleManager::Video );
+    QVERIFY( bubbleHeader->callFlags() == BubbleManager::Video );
+
+    // set normal (reset all bits)
+    bubbleHeader->setCallFlag( BubbleManager::Normal );
+    QVERIFY( bubbleHeader->callFlags() == 0 );
+
+    // set invidual bit
+    bubbleHeader->setCallFlag( BubbleManager::Diverted );
+    bubbleHeader->setCallFlag( BubbleManager::Video );
+    QVERIFY( bubbleHeader->callFlags() & BubbleManager::Diverted );
+    QVERIFY( bubbleHeader->callFlags() & BubbleManager::Video );
+    QVERIFY( !(bubbleHeader->callFlags() & BubbleManager::NoCiphering) );
+
+    // reset invidual bit
+    bubbleHeader->removeCallFlag( BubbleManager::Video );
+    bubbleHeader->removeCallFlag( BubbleManager::Normal ); // does nothing
+    QVERIFY( bubbleHeader->callFlags() & BubbleManager::Diverted );
+    QVERIFY( !(bubbleHeader->callFlags() & BubbleManager::Video) );
+    QVERIFY( !(bubbleHeader->callFlags() & BubbleManager::NoCiphering) );
+}
+
+void ut_BubbleHeader::testNumberType()
+{
+    bubbleHeader->setNumberType( BubbleManager::Mobile );
+    QVERIFY( bubbleHeader->numberType() == BubbleManager::Mobile );
+}
+
+void ut_BubbleHeader::testText()
+{
+    bubbleHeader->setText( "Calling", Qt::ElideRight );
+    QVERIFY( bubbleHeader->text() == "Calling" );
+    QVERIFY( bubbleHeader->textClipDirection() == Qt::ElideRight );
+
+    bubbleHeader->setText( "", Qt::ElideLeft );
+    QVERIFY( bubbleHeader->text() == "" );
+    QVERIFY( bubbleHeader->textClipDirection() == Qt::ElideLeft );
+}
+
+void ut_BubbleHeader::testCli()
+{
+    bubbleHeader->setCli( "John Doe", Qt::ElideRight );
+    QVERIFY( bubbleHeader->cli() == "John Doe" );
+    QVERIFY( bubbleHeader->cliClipDirection() == Qt::ElideRight );
+
+    bubbleHeader->setCli( "+358501234567", Qt::ElideLeft );
+    QVERIFY( bubbleHeader->cli() == "+358501234567" );
+    QVERIFY( bubbleHeader->cliClipDirection() == Qt::ElideLeft );
+}
+
+void ut_BubbleHeader::testSecondaryCli()
+{
+    bubbleHeader->setSecondaryCli( "John Doe", Qt::ElideRight );
+    QVERIFY( bubbleHeader->secondaryCli() == "John Doe" );
+    QVERIFY( bubbleHeader->secondaryCliClipDirection() == Qt::ElideRight );
+
+    bubbleHeader->setSecondaryCli( "+358501234567", Qt::ElideLeft );
+    QVERIFY( bubbleHeader->secondaryCli() == "+358501234567" );
+    QVERIFY( bubbleHeader->secondaryCliClipDirection() == Qt::ElideLeft );
+}
+
+void ut_BubbleHeader::testTimerCost()
+{
+    bubbleHeader->setTimerCost( "10:01" );
+    QVERIFY( bubbleHeader->timerCost() == "10:01" );
+}
+
+void ut_BubbleHeader::testCallImage()
+{
+    bubbleHeader->setCallImage( "image.png" );
+    QVERIFY( bubbleHeader->callImage() == "image.png" );
+}
+
+void ut_BubbleHeader::testAddActions()
+{
+    for ( int i=0; i < 4; i++ )
+    {
+        HbAction* action = new HbAction( "Test", this);
+        bubbleHeader->addAction( action );
+    }
+
+    QVERIFY( bubbleHeader->actions().count() == 4 );
+
+    bubbleHeader->clearActions();
+}
+
+void ut_BubbleHeader::testIsConference()
+{
+    QVERIFY( bubbleHeader->isConference() == false );
+}
+
+void ut_BubbleHeader::testIsInConference()        
+{
+    bubbleHeader->setInConference(true);
+    QVERIFY( bubbleHeader->isInConference() == true );    
+}
+
+void ut_BubbleHeader::testSetExpandAction()
+{
+    HbAction* action = new HbAction( "Test", this);
+
+    bubbleHeader->setExpandAction( action );
+    QVERIFY( bubbleHeader->expandAction() == action );
+
+    bubbleHeader->setExpandAction( 0 );
+    QVERIFY( bubbleHeader->expandAction() == 0 );
+}
+
+void ut_BubbleHeader::testReset()
+{
+    bubbleHeader->reset();
+    QVERIFY( bubbleHeader->isUsed() == false );
+    QVERIFY( bubbleHeader->bubbleId() == 1 );
+    QVERIFY( bubbleHeader->callState() == BubbleManager::None );
+    QVERIFY( bubbleHeader->callFlags() == 0 );
+    QVERIFY( bubbleHeader->numberType() == BubbleManager::NotSet );
+    QVERIFY( bubbleHeader->cli() == "" );
+    QVERIFY( bubbleHeader->secondaryCli() == "" );
+    QVERIFY( bubbleHeader->timerCost() == "" );
+    QVERIFY( bubbleHeader->callImage() == "" );
+    QVERIFY( bubbleHeader->isInConference() == false );
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleHeader)
+#include "ut_bubbleheader.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheader/ut_bubbleheader.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+SOURCES += ut_bubbleheader.cpp \
+           ../../../bubblecore/src/bubbleheader.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,142 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbmainwindow.h>
+#include <hbinstance.h>
+#include <hbstyle.h>
+
+#include "bubbletest.h"
+#include "bubbleheadingwidget.h"
+#include "bubbleheader.h"
+#include "bubblemanagerif.h"
+
+class ut_BubbleHeadingWidget : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void cleanupTest();
+
+    void testThreeLinedHeading();
+    void testTwoLinedHeading();
+    void testOneLinedHeading();
+
+    //void testInvalidStylePlugin();
+
+private:
+    BubbleHeadingWidget* mHeading;
+    HbMainWindow* mMainWindow;
+    int mStyleBaseId;
+};
+
+void ut_BubbleHeadingWidget::initTestCase()
+{
+    mMainWindow = new HbMainWindow();
+    mHeading = new BubbleHeadingWidget(BUBBLE_STYLE_PLUGIN);
+    mMainWindow->addView(mHeading);
+    mMainWindow->show();
+}
+
+void ut_BubbleHeadingWidget::cleanupTestCase()
+{
+    delete mMainWindow;
+}
+
+void ut_BubbleHeadingWidget::cleanupTest()
+{
+    mHeading->hide();
+    mHeading->reset();
+}
+
+void ut_BubbleHeadingWidget::testThreeLinedHeading()
+{
+    BubbleHeader header;
+    header.setCli("John Doe",Qt::ElideRight);
+    header.setSecondaryCli("12345",Qt::ElideLeft);
+    header.setText("",Qt::ElideRight);
+    header.setTimerCost("0:00");
+    header.setCallState(BubbleManagerIF::Active);
+    mHeading->setLineCount(3);
+    Q_ASSERT(mHeading->lineCount()==3);
+    mHeading->readBubbleHeader(header);
+    mHeading->show();
+    QTest::qWait(100);
+    mHeading->updateTimerDisplayNow();
+}
+
+void ut_BubbleHeadingWidget::testTwoLinedHeading()
+{
+    BubbleHeader header;
+    header.setCli("John Doe",Qt::ElideRight);
+    header.setSecondaryCli("12345",Qt::ElideLeft);
+    header.setText("",Qt::ElideRight);
+    header.setTimerCost("0:00");
+    header.setCallState(BubbleManagerIF::Active);
+
+    mHeading->setLineCount(2);
+    Q_ASSERT(mHeading->lineCount()==2);
+    mHeading->readBubbleHeader(header);
+    mHeading->show();
+    QTest::qWait(100);
+    mHeading->updateTimerDisplayNow();
+}
+
+void ut_BubbleHeadingWidget::testOneLinedHeading()
+{
+    BubbleHeader header;
+    header.setCli("John Doe",Qt::ElideRight);
+    header.setSecondaryCli("12345",Qt::ElideLeft);
+    header.setText("",Qt::ElideRight);
+    header.setTimerCost("0:00");
+    header.setCallState(BubbleManagerIF::Active);
+
+    mHeading->setLineCount(1);
+    Q_ASSERT(mHeading->lineCount()==1);
+    header.setCallState(BubbleManagerIF::OnHold);
+    mHeading->readBubbleHeader(header);
+    mHeading->show();
+    QTest::qWait(100);
+    mHeading->updateTimerDisplayNow();
+}
+
+/*void ut_BubbleHeadingWidget::testInvalidStylePlugin()
+{
+    // this just shouldn't crash
+    BubbleHeadingWidget *heading =
+        new BubbleHeadingWidget("c:\foobar.dll");
+    HbView* view = mMainWindow->addView(heading);
+    mMainWindow->setCurrentView(view);
+    BubbleHeader header;
+    header.setCli("John Doe",Qt::ElideRight);
+    header.setSecondaryCli("12345",Qt::ElideLeft);
+    header.setText("",Qt::ElideRight);
+    header.setTimerCost("0:00");
+    header.setCallState(BubbleManagerIF::Active);
+    heading->readBubbleHeader(header);
+    heading->show();
+}*/
+
+BUBBLE_TEST_MAIN(ut_BubbleHeadingWidget)
+#include "ut_bubbleheadingwidget.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleheadingwidget/ut_bubbleheadingwidget.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+HEADERS += ../../../bubblecore/src/bubbleheadingwidget.h
+SOURCES += ut_bubbleheadingwidget.cpp \
+           ../../../bubblecore/src/bubbleheadingwidget.cpp \
+           ../../../bubblecore/src/bubblestyleoption.cpp \
+           ../../../bubblecore/src/bubbleheader.cpp \
+           ../../../bubblecore/src/bubbleutils.cpp \
+           ../../../bubblecore/src/bubblebuttonstyle.cpp
+
Binary file phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/data/pixmap.png has changed
Binary file phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/data/pixmap_wide.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/data/vector.svg	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,6 @@
+<?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="60px" version="1.1" viewBox="0 0 60 60" width="60px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="none" height="60" width="60"/>
+<path d="M2.438,60c0,0,2.38-18.308,4.263-19c1.884-0.693,11.444-3.266,12.336-3.859  c0.893-0.594,1.388-1.781,2.875-2.771c1.487-0.989,2.677-1.484,2.677-1.484l-0.297-2.276c0,0-1.982-3.959-2.082-4.651  s-1.586-1.188-2.28-2.771c-0.694-1.583,0.396-12.568,0.396-12.568s7.931-8.609,11.004-8.016s2.577,1.781,3.568,1.979  c0.992,0.198,1.785,0.099,3.768,0.891c1.983,0.792,3.668,1.286,3.966,3.464c0.297,2.177,0.297,6.63,0.198,7.224  c-0.1,0.594,0.793,0.594,0.892,1.287c0.1,0.693-0.099,1.583-0.396,2.771s-1.883,3.662-2.181,4.255s-1.784,4.651-1.884,6.037  c-0.099,1.386,0.396,2.969,0.991,3.067s0.595,0.099,2.28,1.979s3.073,2.771,4.659,3.266c1.587,0.495,6.307,2.573,7.199,5.048  c0.892,2.474-0.198,2.275,0.595,3.562c0.794,1.287,1.884,4.157,1.982,6.434C57.066,56.14,57.562,60,57.562,60H2.438z" fill="#4D4D4D"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,89 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbmainwindow.h>
+#include <hbinstance.h>
+#include <hbstyle.h>
+
+#include "bubbletest.h"
+#include "bubbleimagewidget.h"
+
+class ut_BubbleImageWidget : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testPixmap();
+    void testWidePixmap();
+    void testVector();
+
+private:
+    BubbleImageWidget* mImage;
+    HbMainWindow* mMainWindow;
+    int mStyleBaseId;
+};
+
+void ut_BubbleImageWidget::initTestCase()
+{
+    mMainWindow = new HbMainWindow();
+    mImage = new BubbleImageWidget();
+    mMainWindow->addView(mImage);
+    mMainWindow->show();
+}
+
+void ut_BubbleImageWidget::cleanupTestCase()
+{
+    delete mMainWindow;
+}
+
+void ut_BubbleImageWidget::testPixmap()
+{    
+    mImage->setImage(":/data/pixmap.png");
+    mImage->update();
+    // set same image again
+    mImage->setImage(":/data/pixmap.png");
+    QTest::qWait(100);
+    // there is now way to verify using public API
+}
+
+void ut_BubbleImageWidget::testWidePixmap()
+{
+    mImage->setImage(":/data/pixmap_wide.png");
+    mImage->update();
+    QTest::qWait(100);
+    // there is now way to verify using public API
+}
+
+void ut_BubbleImageWidget::testVector()
+{
+    mImage->setImage(":/data/vector.svg");
+    mImage->update();
+    QTest::qWait(100);
+    // there is now way to verify using public API
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleImageWidget)
+#include "ut_bubbleimagewidget.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+HEADERS += ../../../bubblecore/src/bubbleimagewidget.h
+SOURCES += ut_bubbleimagewidget.cpp \
+           ../../../bubblecore/src/bubbleimagewidget.cpp \
+           ../../../bubblecore/src/bubblestyleoption.cpp
+RESOURCES += ut_bubbleimagewidget.qrc
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleimagewidget/ut_bubbleimagewidget.qrc	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,7 @@
+<RCC>
+    <qresource prefix="/" >
+        <file>data/vector.svg</file>
+        <file>data/pixmap.png</file>
+        <file>data/pixmap_wide.png</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,86 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbmainwindow.h>
+#include <hbinstance.h>
+#include <hbstyle.h>
+
+#include "bubbletest.h"
+#include "bubbleparticipantlistitem.h"
+#include "bubblebuttonstyle.h"
+
+class ut_BubbleParticipantListItem : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testCreateItem();
+    void testUpdateChildItems();
+
+private:
+    BubbleParticipantListItem* mItem;
+    HbMainWindow* mMainWindow;
+    BubbleButtonStyle* mButtonStyle;
+    int mStyleBaseId;
+};
+
+void ut_BubbleParticipantListItem::initTestCase()
+{
+    mMainWindow = new HbMainWindow();
+    mButtonStyle = new BubbleButtonStyle();
+    mItem = new BubbleParticipantListItem(BUBBLE_STYLE_PLUGIN,*mButtonStyle);
+    mMainWindow->addView(mItem);
+    HbListViewItem* item = static_cast<HbListViewItem*>(mItem);
+    item->updateChildItems();
+    mMainWindow->show();
+}
+
+void ut_BubbleParticipantListItem::cleanupTestCase()
+{
+    mItem->clearActions();
+    delete mMainWindow;
+    delete mButtonStyle;
+}
+
+void ut_BubbleParticipantListItem::testCreateItem()
+{
+    HbAbstractViewItem* item = mItem->createItem();
+    Q_ASSERT(item);
+}
+
+void ut_BubbleParticipantListItem::testUpdateChildItems()
+{
+    HbAction act1("Action-1");
+    HbAction act2("Action-2");
+    mItem->addAction(&act1);
+    mItem->addAction(&act2);
+    mItem->updateChildItems();
+    mItem->setExpanded(true);
+    mItem->updateChildItems();
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleParticipantListItem)
+#include "ut_bubbleparticipantlistitem.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleparticipantlistitem/ut_bubbleparticipantlistitem.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+HEADERS += ../../../bubblecore/src/bubbleparticipantlistitem.h
+SOURCES += ut_bubbleparticipantlistitem.cpp \
+           ../../../bubblecore/src/bubbleparticipantlistitem.cpp \
+           ../../../bubblecore/src/bubblestyleoption.cpp \
+           ../../../bubblecore/src/bubblebuttonstyle.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblepartlistmodel/ut_bubblepartlistmodel.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+#include <hbapplication.h>
+#include <hbtextitem.h>
+#include <hbiconitem.h>
+
+#include "bubbletest.h"
+#include "bubbleparticipantlistmodel.h"
+
+class ut_BubbleParticipantListModel : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    
+    void test_addParticipant();
+    void test_bubbleId();
+    void test_dataModel();
+    void test_reset();
+
+private:
+    BubbleParticipantListModel *mModel;
+};
+
+void ut_BubbleParticipantListModel::initTestCase()
+{
+    mModel = new BubbleParticipantListModel();
+}
+
+void ut_BubbleParticipantListModel::cleanupTestCase()
+{
+    delete mModel;
+}
+
+void ut_BubbleParticipantListModel::test_addParticipant()
+{
+    mModel->addParticipant(1,"Bubble-1",8);
+    mModel->addParticipant(2,"Bubble-2",9);
+    mModel->addParticipant(3,"Bubble-3",10);
+
+    QVERIFY(mModel->rowCount()==3);
+}
+
+void ut_BubbleParticipantListModel::test_bubbleId()
+{
+    QVERIFY(mModel->bubbleId(1)==2);
+    QVERIFY(mModel->bubbleId(4)==-1);
+}
+
+void ut_BubbleParticipantListModel::test_dataModel()
+{
+    QModelIndex index = mModel->index(1,0);
+
+    QVERIFY(index.data(Qt::DecorationRole).toInt()==9);
+    QVERIFY(index.data(Qt::DisplayRole).toString()=="Bubble-2");
+    QVERIFY(index.data(Qt::UserRole).isNull());
+
+    index = mModel->index(4,0);
+    QVERIFY(index.data(Qt::DisplayRole).isNull());
+}
+
+void ut_BubbleParticipantListModel::test_reset()
+{
+    mModel->reset();
+    QVERIFY(mModel->rowCount()==0);
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleParticipantListModel)
+#include "ut_bubblepartlistmodel.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblepartlistmodel/ut_bubblepartlistmodel.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+HEADERS += ../../../bubblecore/src/bubbleparticipantlistmodel.h
+SOURCES += ut_bubblepartlistmodel.cpp \
+           ../../../bubblecore/src/bubbleparticipantlistmodel.cpp
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblestyleoption/ut_bubblestyleoption.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,59 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+
+#include "bubbletest.h"
+#include "bubblestyleoption.h"
+
+class ut_BubbleStyleOption : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testStyleOption();
+
+private:
+};
+
+void ut_BubbleStyleOption::initTestCase()
+{
+}
+
+void ut_BubbleStyleOption::cleanupTestCase()
+{
+}
+
+void ut_BubbleStyleOption::testStyleOption()
+{
+    BubbleStyleOption option;
+    Q_ASSERT(option.mText1=="");
+    option.mText1="John";
+    BubbleStyleOption option2(option);
+    Q_ASSERT(option2.mText1 == "John");
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleStyleOption)
+#include "ut_bubblestyleoption.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblestyleoption/ut_bubblestyleoption.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+#   CONFIG(debug,debug|release)
+#       {
+#       QMAKE_CXX = ctc -i d g++
+#       LIBS += $$(CTCHOME)\lib\ctcmsnt.lib
+#       }
+}
+
+#
+SOURCES += ut_bubblestyleoption.cpp \
+           ../../../bubblecore/src/bubblestyleoption.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblestyleplugin/ut_bubblestyleplugin.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -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:
+*
+*/
+
+#include <QtGui>
+#include <QtTest/QtTest>
+
+#include <hbapplication.h>
+#include <hbstyle.h>
+#include <hbinstance.h>
+#include <hbwidget.h>
+#include <hbframeitem.h>
+#include <hbframedrawer.h>
+#include <hbtextitem.h>
+#include <hbiconitem.h>
+
+#include "bubbletest.h"
+#include "bubblestyleplugin.h"
+#include "bubbleprimitives.h"
+#include "bubblestyleoption.h"
+#include "bubbleanimiconitem.h"
+
+class ut_BubbleStylePlugin : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void testPrimitiveCount();
+    void testLayoutPath();
+
+    void testBubbleFrame();
+    void testText1();
+    void testText2();
+    void testText3();
+    void testCallStatusIcon();
+    void testVideoCallStatusIcon();
+    void testVoipCallStatusIcon();
+    void testNumberTypeIcon();
+
+private:
+    BubbleStylePlugin* mPlugin;
+    HbWidget* mParent;
+};
+
+void ut_BubbleStylePlugin::initTestCase()
+{
+    mPlugin = new BubbleStylePlugin();
+    mParent = new HbWidget();
+}
+
+void ut_BubbleStylePlugin::cleanupTestCase()
+{
+    delete mPlugin;
+    delete mParent;
+}
+
+void ut_BubbleStylePlugin::testPrimitiveCount()
+{
+    QVERIFY(mPlugin->primitiveCount()==BP_Bubble_primitive_count);
+}
+
+void ut_BubbleStylePlugin::testLayoutPath()
+{
+    QVERIFY(mPlugin->layoutPath()==":/");
+}
+
+void ut_BubbleStylePlugin::testBubbleFrame()
+{
+    QGraphicsItem *item = mPlugin->createPrimitive(
+        (HbStyle::Primitive)(BP_Bubble_frame),mParent);
+    QVERIFY(item);
+    QVERIFY(item->zValue()==-1.0);
+    QVERIFY(item->parentItem()==mParent);
+
+    HbFrameItem* frame = qgraphicsitem_cast<HbFrameItem*>(item);
+    QVERIFY(frame);
+
+    BubbleStyleOption option;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_Bubble_frame),
+            &option);
+    QVERIFY(frame->frameDrawer().frameGraphicsName()==
+             "qtg_fr_list_normal");
+}
+
+void ut_BubbleStylePlugin::testText1()
+{
+    QGraphicsItem *item = mPlugin->createPrimitive(
+        (HbStyle::Primitive)(BP_Text1_text),mParent);
+    QVERIFY(item);
+    QVERIFY(item->parentItem()==mParent);
+
+    HbTextItem* text = qgraphicsitem_cast<HbTextItem*>(item);
+    QVERIFY(text);
+
+    BubbleStyleOption option;
+    option.mText1 = "foo";
+    option.mText1Clip = Qt::ElideRight;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_Text1_text),
+            &option);
+    QVERIFY(text->text()=="foo");
+    QVERIFY(text->elideMode()==Qt::ElideRight);
+
+}
+
+void ut_BubbleStylePlugin::testText2()
+{
+    QGraphicsItem *item = mPlugin->createPrimitive(
+        (HbStyle::Primitive)(BP_Text2_text),mParent);
+    QVERIFY(item);
+    QVERIFY(item->parentItem()==mParent);
+
+    HbTextItem* text = qgraphicsitem_cast<HbTextItem*>(item);
+    QVERIFY(text);
+
+    BubbleStyleOption option;
+    option.mText2 = "foo";
+    option.mText2Clip = Qt::ElideRight;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_Text2_text),
+            &option);
+    QVERIFY(text->text()=="foo");
+    QVERIFY(text->elideMode()==Qt::ElideRight);
+
+}
+
+void ut_BubbleStylePlugin::testText3()
+{
+    QGraphicsItem *item = mPlugin->createPrimitive(
+        (HbStyle::Primitive)(BP_Text3_text),mParent);
+    QVERIFY(item);
+    QVERIFY(item->parentItem()==mParent);
+
+    HbTextItem* text = qgraphicsitem_cast<HbTextItem*>(item);
+    QVERIFY(text);
+
+    BubbleStyleOption option;
+    option.mText3 = "foo";
+    option.mText3Clip = Qt::ElideLeft;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_Text3_text),
+            &option);
+    QVERIFY(text->text()=="foo");
+    QVERIFY(text->elideMode()==Qt::ElideLeft);
+
+}
+
+void ut_BubbleStylePlugin::testCallStatusIcon()
+{
+    QGraphicsItem *item = mPlugin->createPrimitive(
+        (HbStyle::Primitive)(BP_CallStatus_icon),mParent);
+    QVERIFY(item);
+    QVERIFY(item->parentItem()==mParent);
+
+    BubbleAnimIconItem* icon = static_cast<BubbleAnimIconItem*>(item);
+    QVERIFY(icon);
+
+    BubbleStyleOption option;
+    option.mCallState = BubbleManagerIF::Active;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::OnHold;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Disconnected;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::AlertToDisconnected;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Incoming;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Alerting;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Waiting;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Outgoing;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+}
+
+void ut_BubbleStylePlugin::testVideoCallStatusIcon()
+{
+    QGraphicsItem *item = mPlugin->createPrimitive(
+        (HbStyle::Primitive)(BP_CallStatus_icon),mParent);
+    QVERIFY(item);
+    QVERIFY(item->parentItem()==mParent);
+
+    BubbleAnimIconItem* icon = static_cast<BubbleAnimIconItem*>(item);
+    QVERIFY(icon);
+
+    BubbleStyleOption option;
+    option.mCallFlags |= BubbleManagerIF::Video;
+    option.mCallState = BubbleManagerIF::Active;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::OnHold;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Disconnected;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::AlertToDisconnected;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Incoming;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Alerting;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Waiting;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Outgoing;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+}
+
+void ut_BubbleStylePlugin::testVoipCallStatusIcon()
+{
+    QGraphicsItem *item = mPlugin->createPrimitive(
+        (HbStyle::Primitive)(BP_CallStatus_icon),mParent);
+    QVERIFY(item);
+    QVERIFY(item->parentItem()==mParent);
+
+    BubbleAnimIconItem* icon = static_cast<BubbleAnimIconItem*>(item);
+    QVERIFY(icon);
+
+    BubbleStyleOption option;
+    option.mCallFlags |= BubbleManagerIF::VoIPCall;
+    option.mCallState = BubbleManagerIF::Active;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::OnHold;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Disconnected;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::AlertToDisconnected;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Incoming;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Alerting;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Waiting;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+    option.mCallState = BubbleManagerIF::Outgoing;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_CallStatus_icon),
+            &option);
+}
+
+void ut_BubbleStylePlugin::testNumberTypeIcon()
+{
+    QGraphicsItem *item = mPlugin->createPrimitive(
+        (HbStyle::Primitive)(BP_NumberType_icon),mParent);
+    QVERIFY(item);
+    QVERIFY(item->parentItem()==mParent);
+
+    HbIconItem* icon = qgraphicsitem_cast<HbIconItem*>(item);
+    QVERIFY(icon);
+    BubbleStyleOption option;
+    // incoming call
+    option.mCallState = BubbleManagerIF::Incoming;
+    option.mCallFlags |= BubbleManagerIF::Diverted;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_NumberType_icon),
+            &option);
+    QVERIFY(icon->icon().iconName()==":/resources/qgn_indi_call_diverted.svg");
+    option.mCallState = BubbleManagerIF::Incoming;
+    option.mCallFlags &= ~BubbleManagerIF::Diverted;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_NumberType_icon),
+            &option);
+    QVERIFY(icon->icon().iconName()=="");
+
+    // waiting call
+    option.mCallState = BubbleManagerIF::Waiting;
+    option.mCallFlags |= BubbleManagerIF::Diverted;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_NumberType_icon),
+            &option);
+    QVERIFY(icon->icon().iconName()==":/resources/qgn_indi_call_diverted.svg");
+    option.mCallState = BubbleManagerIF::Waiting;
+    option.mCallFlags &= ~BubbleManagerIF::Diverted;
+    mPlugin->updatePrimitive(
+            item, (HbStyle::Primitive)(BP_NumberType_icon),
+            &option);
+    QVERIFY(icon->icon().iconName()=="");
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleStylePlugin)
+#include "ut_bubblestyleplugin.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubblestyleplugin/ut_bubblestyleplugin.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblestyle/src
+INCLUDEPATH += . ../../../bubblestyle/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+HEADERS += ../../../bubblestyle/src/bubblestyleplugin.h \
+           ../../../bubblestyle/src/bubbleanimiconitem.h
+SOURCES += ut_bubblestyleplugin.cpp \
+           ../../../bubblestyle/src/bubblestyleplugin.cpp \
+           ../../../bubblestyle/src/bubbleanimiconitem.cpp \
+           ../../../bubblecore/src/bubblestyleoption.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.cpp	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,518 @@
+/*!
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtGui>
+#include <QtTest/QtTest>
+#include <hbapplication.h>
+#include <hbtextitem.h>
+#include <hbiconitem.h>
+#include <hbpushbutton.h>
+#include <hbaction.h>
+
+#include "bubbletest.h"
+#include "bubbleutils.h"
+#include "bubbleheader.h"
+#include "bubblestyleoption.h"
+#include "bubblebuttonstyle.h"
+
+class BubbleButtonStyleMock : public BubbleButtonStyle
+{
+public:
+    BubbleButtonStyleMock() {};
+    BubbleButtonStyle::ButtonColor color() {return mButtonColor; };
+};
+
+class ut_BubbleUtils : public QObject
+{
+    Q_OBJECT
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+
+    void test_setCallHeaderTexts3Lines_incoming();
+    void test_setCallHeaderTexts3Lines_waiting();
+    void test_setCallHeaderTexts3Lines_active();
+    void test_setCallHeaderTexts3Lines_disconnected();
+    void test_setCallHeaderTexts3Lines_outgoing();
+    void test_setCallHeaderTexts3Lines_alerting();
+    void test_setCallHeaderTexts3Lines_held();
+    void test_setCallHeaderTexts3Lines_alerttodisconnected();
+
+    void test_setCallHeaderTexts2Lines_waiting();
+    void test_setCallHeaderTexts2Lines_alerttodisconnected();
+    void test_setCallHeaderTexts2Lines_active();
+    void test_setCallHeaderTexts2Lines_held();
+    void test_setCallHeaderTexts2Lines_disconnected();
+
+    void test_compareHeaders();
+
+    void test_stylePluginNameWithPath();
+
+    void test_setButtonStyleForAction();
+
+private:
+};
+
+void ut_BubbleUtils::initTestCase()
+{
+}
+
+void ut_BubbleUtils::cleanupTestCase()
+{
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_incoming()
+{
+    // incoming call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+    
+    header.setCallState( BubbleManager::Incoming );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "calling", Qt::ElideRight );
+    
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+    
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "calling" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+    
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli( "12345", Qt::ElideLeft );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+        
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "12345" );
+    QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+    QVERIFY( opt.mText3 == "calling" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_waiting()
+{
+    // incoming call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Waiting );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "waiting", Qt::ElideRight );
+
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "waiting" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli( "12345", Qt::ElideLeft );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "12345" );
+    QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+    QVERIFY( opt.mText3 == "waiting" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_active()
+{
+    // active call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Active );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "", Qt::ElideRight );
+    
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+    
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "" );
+    QVERIFY( opt.mText3 == "" );
+    
+    // add timer
+    opt = BubbleStyleOption();
+    header.setTimerCost( "00:00" );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "00:00" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+    header.setTimerCost( "" );
+    
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli( "12345", Qt::ElideLeft );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+        
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "12345" );
+    QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+    QVERIFY( opt.mText3 == "" );
+    
+    // add timer
+    opt = BubbleStyleOption();
+    header.setTimerCost( "00:00" );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "12345" );
+    QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+    QVERIFY( opt.mText3 == "00:00" );
+    QVERIFY( opt.mText3Clip == Qt::ElideRight );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_disconnected()
+{
+    // disconnected call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Disconnected );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "discon", Qt::ElideRight );
+    header.setTimerCost( "00:00" );
+    
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "discon" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+    
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli( "12345", Qt::ElideLeft );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+        
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "12345" );
+    QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+    QVERIFY( opt.mText3 == "discon" );
+    QVERIFY( opt.mText3Clip == Qt::ElideRight );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_outgoing()
+{
+    // outgoing call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Outgoing );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "calling", Qt::ElideRight );
+    
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+    
+    QVERIFY( opt.mText1 == "calling" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "john" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+    
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli( "12345", Qt::ElideLeft );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+        
+    QVERIFY( opt.mText1 == "calling" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "john" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "12345" );
+    QVERIFY( opt.mText3Clip == Qt::ElideLeft );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_alerting()
+{
+    // alerting call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Alerting );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "calling", Qt::ElideRight );
+    
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+    
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "" );
+    QVERIFY( opt.mText3 == "" );
+    
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli( "12345", Qt::ElideLeft );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+        
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "12345" );
+    QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+    QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_held()
+{
+    // held
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::OnHold );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "on hold", Qt::ElideRight );
+    header.setTimerCost( "00:00" );
+    
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+    
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "on hold" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+    
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli( "12345", Qt::ElideLeft );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+        
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "12345" );
+    QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+    QVERIFY( opt.mText3 == "on hold" );
+    QVERIFY( opt.mText3Clip == Qt::ElideRight );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts3Lines_alerttodisconnected()
+{
+    // incoming call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Incoming );
+    header.setCallState( BubbleManager::AlertToDisconnected );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "disconnected", Qt::ElideRight );
+
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "disconnected" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli( "12345", Qt::ElideLeft );
+    BubbleUtils::setCallHeaderTexts3Lines(header, opt);
+
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "12345" );
+    QVERIFY( opt.mText2Clip == Qt::ElideLeft );
+    QVERIFY( opt.mText3 == "disconnected" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_waiting()
+{
+    // waiting call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Waiting );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "waiting", Qt::ElideRight );
+
+    BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "waiting" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli("12345",Qt::ElideLeft);
+    BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "waiting" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_alerttodisconnected()
+{
+    // waiting call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Waiting );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "disconnected", Qt::ElideRight );
+
+    BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "disconnected" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+
+    // add secondary cli
+    opt = BubbleStyleOption();
+    header.setSecondaryCli("12345",Qt::ElideLeft);
+    BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "disconnected" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_active()
+{
+    // active call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Active );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "", Qt::ElideRight );
+
+    BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "" );
+    QVERIFY( opt.mText3 == "" );
+
+    // add timer
+    opt = BubbleStyleOption();
+    header.setTimerCost( "00:00" );
+    BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "00:00" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_held()
+{
+    // held
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::OnHold );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "on hold", Qt::ElideRight );
+    header.setTimerCost( "00:00" );
+
+    BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "on hold" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_setCallHeaderTexts2Lines_disconnected()
+{
+    // disconnected call
+    BubbleHeader header;
+    BubbleStyleOption opt;
+
+    header.setCallState( BubbleManager::Disconnected );
+    header.setCli( "john", Qt::ElideRight );
+    header.setText( "discon", Qt::ElideRight );
+    header.setTimerCost( "00:00" );
+
+    BubbleUtils::setCallHeaderTexts2Lines(header, opt);
+    QVERIFY( opt.mText1 == "john" );
+    QVERIFY( opt.mText1Clip == Qt::ElideRight );
+    QVERIFY( opt.mText2 == "discon" );
+    QVERIFY( opt.mText2Clip == Qt::ElideRight );
+    QVERIFY( opt.mText3 == "" );
+}
+
+void ut_BubbleUtils::test_compareHeaders()
+{
+    BubbleHeader header1;
+    BubbleHeader header2;
+
+    header1.setCallState(BubbleManagerIF::Active);
+    header2.setCallState(BubbleManagerIF::Waiting);
+    QVERIFY( BubbleUtils::compareHeaders(&header1,&header2) == false );
+
+    header1.setCallState(BubbleManagerIF::Active);
+    header2.setCallState(BubbleManagerIF::OnHold);
+    QVERIFY( BubbleUtils::compareHeaders(&header1,&header2) == true );
+}
+
+void ut_BubbleUtils::test_stylePluginNameWithPath()
+{
+#if defined(Q_OS_SYMBIAN)
+    QString name(BubbleUtils::stylePluginNameWithPath("bubblestyleplugin.dll"));
+    QVERIFY(name=="z:/resource/qt/plugins/phone/bubblestyleplugin.dll");
+#elif defined(Q_OS_WIN)
+    QString name(BubbleUtils::stylePluginNameWithPath("bubblestyleplugin.dll"));
+    QVERIFY(name=="c:/hb/bin/bubblestyleplugin.dll");
+#else // Q_OS_UNIX
+    QString name(BubbleUtils::stylePluginNameWithPath("bubblestyleplugin.dll"));
+    QVERIFY(name=="/home/lib/bubblestyleplugin.dll");
+#endif
+}
+
+void ut_BubbleUtils::test_setButtonStyleForAction()
+{
+    HbPushButton button;
+    BubbleButtonStyleMock style;
+    button.setStyle(&style);
+    HbAction action;
+
+    action.setSoftKeyRole(QAction::NoSoftKey);
+    BubbleUtils::setButtonStyleForAction(button,action);
+    QVERIFY(style.color()==BubbleButtonStyle::Default);
+
+    action.setSoftKeyRole(QAction::PositiveSoftKey);
+    BubbleUtils::setButtonStyleForAction(button,action);
+    QVERIFY(style.color()==BubbleButtonStyle::Green);
+
+    action.setSoftKeyRole(QAction::NegativeSoftKey);
+    BubbleUtils::setButtonStyleForAction(button,action);
+    QVERIFY(style.color()==BubbleButtonStyle::Red);
+}
+
+BUBBLE_TEST_MAIN(ut_BubbleUtils)
+#include "ut_bubbleutils.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/bubblemanager2/tsrc/unit/ut_bubbleutils/ut_bubbleutils.pro	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+#
+
+TEMPLATE = app
+TARGET = 
+DEPENDPATH += . ../../../bubblecore/src
+INCLUDEPATH += . ../../../bubblecore/src ../../../inc ../shared
+CONFIG += hb qtestlib
+
+symbian {
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+} else:win32 {
+    DESTDIR = ./
+}
+
+#
+SOURCES += ut_bubbleutils.cpp \
+           ../../../bubblecore/src/bubbleheader.cpp \
+           ../../../bubblecore/src/bubbleutils.cpp \
+           ../../../bubblecore/src/bubblestyleoption.cpp \
+           ../../../bubblecore/src/bubblebuttonstyle.cpp
+
+
--- a/phoneuis/dialer/bwins/dialeru.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	??1CDialer@@UAE@XZ @ 1 NONAME ; CDialer::~CDialer(void)
-	??1CVideoDTMFDialer@@UAE@XZ @ 2 NONAME ; CVideoDTMFDialer::~CVideoDTMFDialer(void)
-	?NewL@CDialer@@SAPAV1@ABVCCoeControl@@ABVTRect@@@Z @ 3 NONAME ; class CDialer * CDialer::NewL(class CCoeControl const &, class TRect const &)
-	?NewL@CVideoDTMFDialer@@SAPAV1@ABVCCoeControl@@AAV2@ABVTRect@@@Z @ 4 NONAME ; class CVideoDTMFDialer * CVideoDTMFDialer::NewL(class CCoeControl const &, class CCoeControl &, class TRect const &)
-	?NumberEntry@CDialer@@QAEPAVMNumberEntry@@XZ @ 5 NONAME ; class MNumberEntry * CDialer::NumberEntry(void)
-	?SetNumberEntryObserver@CDialer@@UAEXAAVMNumberEntryObserver@@@Z @ 6 NONAME ; void CDialer::SetNumberEntryObserver(class MNumberEntryObserver &)
-
--- a/phoneuis/dialer/data/dialer.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /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 the dialer.
-;
-; Languages
-&EN
-
-; Header
-#{"Dialer"}, (0x102078ED), 10, 1, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files to install
-"\epoc32\release\armv5\urel\dialer.dll"-"z:\sys\bin\dialer.dll"
-"\epoc32\data\z\resource\dialer.rsc"-"z:\resource\dialer.rsc"
--- a/phoneuis/dialer/data/dialer.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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 file contains all the resources for the Dialer. 
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME DIAL // 4 letter ID
-
-// INCLUDES
-#include <e32keys.h>
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <EIKCORE.rsg>
-#include <uikon.hrh>
-#include <avkon.hrh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <data_caging_paths_strings.hrh>
-
-
-
-// CONSTANTS 
-
-// RESOURCE DEFINITIONS 
-
-// ---------------------------------------------------------
-//   
-// RSS_SIGNATURE
-// Signature.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------
-//   
-// Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF { buf="Dialer"; }
-
-
-RESOURCE EIK_APP_INFO
-    {
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_inputfield
-// Input field definion
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE PHONE_NUMBER_EDITOR r_inputfield
-    {
-    maxChars = 100;
-    maxLines = 5;
-    truncation = <0x2026>; // three dots: ...
-    formats =
-        {
-        PHONE_NUMBER_EDITOR_FORMAT // 4 lines
-            {
-            top=0;
-            left=0;
-            bottom=0;
-            right=0;
-            lines=4;
-            bottomBaselineOffset=0;
-            baselineSeparation=0;
-            font=ELatinBold17;
-            },
-        PHONE_NUMBER_EDITOR_FORMAT // 5 lines
-            {
-            top=94;
-            left=11;
-            bottom=130;
-            right=165;
-            lines=5;
-            bottomBaselineOffset=0;
-            baselineSeparation=0;
-            font=ELatinBold13;
-            }
-        };
-     }
-
-
-// End of File
-
--- a/phoneuis/dialer/data/dialer_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /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 the dialer stub.
-;
-; Languages
-&EN
-
-; Header
-#{"Dialer"}, (0x102078ED), 10, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files to install
-""-"z:\sys\bin\dialer.dll"
-""-"z:\resource\dialer.rsc"
Binary file phoneuis/dialer/data/dialer_stub.sis has changed
--- a/phoneuis/dialer/eabi/dialeru.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	_ZN16CVideoDTMFDialer4NewLERK11CCoeControlRS0_RK5TRect @ 1 NONAME
-	_ZN16CVideoDTMFDialerD0Ev @ 2 NONAME
-	_ZN16CVideoDTMFDialerD1Ev @ 3 NONAME
-	_ZN16CVideoDTMFDialerD2Ev @ 4 NONAME
-	_ZN7CDialer11NumberEntryEv @ 5 NONAME
-	_ZN7CDialer22SetNumberEntryObserverER20MNumberEntryObserver @ 6 NONAME
-	_ZN7CDialer4NewLERK11CCoeControlRK5TRect @ 7 NONAME
-	_ZN7CDialerD0Ev @ 8 NONAME
-	_ZN7CDialerD1Ev @ 9 NONAME
-	_ZN7CDialerD2Ev @ 10 NONAME
-	_ZThn52_N7CDialer22SetNumberEntryObserverER20MNumberEntryObserver @ 11 NONAME ; #<thunk>#
-
--- a/phoneuis/dialer/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build file for the Dialer
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/cdialer.h            |../../../inc/cdialer.h
-../inc/mnumberentry.h       |../../../inc/mnumberentry.h
-../inc/dialer.hrh           |../../../inc/dialer.hrh
-
-../data/dialer_stub.sis     /epoc32/data/z/system/install/dialer_stub.sis
-
-../rom/dialer.iby           CORE_APP_LAYER_IBY_EXPORT_PATH(dialer.iby)
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE dialer.mif
-  OPTION HEADERFILE dialer.mbg
-  OPTION SOURCEFILE iconlist.txt
-END
-
-PRJ_MMPFILES
-../group/dialer.mmp
-../group/dialerstub.mmp
-
-// End of File
--- a/phoneuis/dialer/group/dialer.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This is project specification file for the Dialer. 
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-// Assign Vendor ID.
-VENDORID VID_DEFAULT
-
-TARGET      dialer.dll
-TARGETTYPE  dll
-UID         0x1000008d 0x102078ED 
-
-START RESOURCE ../data/dialer.rss
-TARGETPATH   RESOURCE_FILES_DIR 
-HEADER
-LANGUAGE_IDS
-END  // RESOURCE
-
-SOURCEPATH  ../src
-SOURCE  cdialer.cpp
-SOURCE  cdialercontainerbase.cpp
-SOURCE  cdialerkeypadcontainer.cpp
-SOURCE  cdialernumberentry.cpp
-SOURCE  cdialervideocontainer.cpp
-SOURCE  cvideodtmfdialer.cpp
-
-USERINCLUDE ../inc 
-USERINCLUDE ../data 
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib eikcore.lib estor.lib etext.lib 
-LIBRARY cone.lib ws32.lib bmpanim.lib 
-LIBRARY eikcoctl.lib fbscli.lib bafl.lib 
-
-LIBRARY aknskins.lib aknicon.lib avkon.lib
-LIBRARY cdlengine.lib
-LIBRARY aknlayout2scalable.lib
-
-LIBRARY egul.lib
-LIBRARY efsrv.lib
-LIBRARY aknlayout2.lib touchfeedback.lib
-
-
-// End of File
--- a/phoneuis/dialer/group/dialer_icons.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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: Make icons for the dialer.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\Resource\Apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\dialer.mif
-HEADERFILENAME=$(HEADERDIR)\dialer.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# TODO: Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-/c8,8  qgn_indi_dialer_eight.svg \
-/c8,8  qgn_indi_dialer_five.svg \
-/c8,8  qgn_indi_dialer_four.svg \
-/c8,8  qgn_indi_dialer_hash.svg \
-/c8,8  qgn_indi_dialer_nine.svg \
-/c8,8  qgn_indi_dialer_one.svg \
-/c8,8  qgn_indi_dialer_prefix.svg \
-/c8,8  qgn_indi_dialer_seven.svg \
-/c8,8  qgn_indi_dialer_six.svg \
-/c8,8  qgn_indi_dialer_three.svg \
-/c8,8  qgn_indi_dialer_two.svg \
-/c8,8  qgn_indi_dialer_zero.svg \
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/dialer/group/dialerstub.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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 project specification file for the dummy Dialer. 
-*                It is used to compile dummy dialer dll in phones without touch.
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-// Capability assignment.
-CAPABILITY CAP_GENERAL_DLL
-
-// Assign Vendor ID.
-VENDORID VID_DEFAULT
-
-TARGET      dialerstub.dll
-TARGETTYPE  dll
-UID         0x1000008d 0x102078ED 
-
- #if defined(ARMCC)
- DEFFILE ../eabi/dialer.def
- #elif defined( WINSCW )
- DEFFILE ../bwins/dialer.def
- #else
- DEFFILE ../bmarm/dialer.def
- #endif
-
-START RESOURCE ../data/dialer.rss
-HEADER
-TARGETPATH   RESOURCE_FILES_DIR 
-LANG    sc
-END  // RESOURCE
-
-SOURCEPATH  ../src
-SOURCE  cdialerstub.cpp
-SOURCE  cvideodtmfdialerstub.cpp
-
-USERINCLUDE ../../../phoneapp/phoneui/srcdata
-USERINCLUDE ../../../phoneapp/phoneuiview/inc
-USERINCLUDE ../../../phoneapp/phoneuiutils/inc
-USERINCLUDE ../inc 
-USERINCLUDE ../data 
-
-SYSTEMINCLUDE ../../../inc  // s60/app/telephony/inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib eikcore.lib estor.lib etext.lib 
-LIBRARY cone.lib ws32.lib bmpanim.lib 
-LIBRARY eikcoctl.lib fbscli.lib bafl.lib 
-
-LIBRARY commonengine.lib
-
-LIBRARY gdi.lib
-LIBRARY bitgdi.lib
-LIBRARY egul.lib
-LIBRARY efsrv.lib
-
-// End of File
--- a/phoneuis/dialer/group/iconlist.txt	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
--c8,8  qgn_indi_dialer_eight
--c8,8  qgn_indi_dialer_five
--c8,8  qgn_indi_dialer_four
--c8,8  qgn_indi_dialer_hash
--c8,8  qgn_indi_dialer_nine
--c8,8  qgn_indi_dialer_one
--c8,8  qgn_indi_dialer_prefix
--c8,8  qgn_indi_dialer_seven
--c8,8  qgn_indi_dialer_six
--c8,8  qgn_indi_dialer_three
--c8,8  qgn_indi_dialer_two
--c8,8  qgn_indi_dialer_zero
\ No newline at end of file
--- a/phoneuis/dialer/inc/cdialer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,349 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Definition of CDialer class.
-*
-*/
-
-
-
-#ifndef CDIALER_H
-#define CDIALER_H
-
-//  INCLUDES
-#include <coecntrl.h>
-#include <coemain.h>
-
-#include "mnumberentry.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CEikButtonGroupContainer;
-class CDialerKeyPadContainer;
-class CDialerNumberEntry;
-class MNumberEntry;
-class CEikMenuPane;
-class CEikonEnv;
-class CAknEdwinState;
-class MNumberEntryObserver;
-
-// CLASS DECLARATION
-
-/**
-*  CDialer class.
-*
-*  @lib dialer.lib
-*  @since Series60_5.0
-*
-*  Description:
-*   Dialer is used in two applications, telephony and video telephony.
-*
-*   In Telephony dialer handles number (number/sip address) input from 
-*   user via touch screen, VKB or hw keyboard (ITU-T and QWERTY).
-*
-*   From host application dialer requires:
-*   - View/container as CCoeControl
-*
-* 
-*  Usage:
-*
-
-    // Hide status pane.
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        static_cast<CAknAppUi*>( CEikonEnv::Static()->EikAppUi())->
-            StatusPane()->MakeVisible( ETrue);
-        }
-    else
-        {
-        static_cast<CAknAppUi*>( CEikonEnv::Static()->EikAppUi())->
-            StatusPane()->MakeVisible( EFalse );
-        }
-
-    // Calculate dialer area:
-    TRect screenRect( 
-        TPoint( 0, 0 ), 
-        iCoeEnv->ScreenDevice()->SizeInPixels() );   
-
-    TAknLayoutRect appRect;
-    appRect.LayoutRect( 
-        screenRect, AknLayout::application_window( screenRect );
-
-    TAknLayoutRect mainRect;
-    mainRect.LayoutRect( 
-        appRect.Rect(), 
-        AknLayout::main_pane( appRect.Rect(), 0, 1, 0 ) );
-
-    TRect mainPane( mainRect.Rect() );
-
-    // Reduce the space that CBA need from the rect
-    CEikButtonGroupContainer cba = iEikEnv.AppUiFactory()->Cba();
-    TRect mainPane( aRect );    
-    cba->ReduceRect( mainPane );
-
-    // Create dialer from container (CCoeControl) that created
-    // dialer window (CreateWindowL).
-
-
-*  In telephony dialer:
-
-    // Create dialer.
-    CDialer* dialer = CDialer::NewL( *this, aDialerArea );
-
-    // Open dialer
-    // Open and show dialer
-    iDialer->CreateNumberEntry();
-
-    // methods in MNumberEntry are available to contol dialer and
-    // get/set text in number entry.
-    
-    // Close dialer
-    iDialer->RemoveNumberEntry( );
-    // Delete dialer
-    delete dialer;
-*
-*/
-NONSHARABLE_CLASS(CDialer) : public CCoeControl, public MNumberEntry
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two phase constructor
-        * @param aContainer Parent container
-        * @param aRect Area to use for dialer
-        * @return New instance of Dialer
-        */
-        IMPORT_C static CDialer* NewL( const CCoeControl& aContainer,
-                                       const TRect& aRect );
-
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CDialer();
-
-    public: // New functions
-
-        /**
-        * Return MNumberEntry API of Dialer
-        * @return Pointer to MNumberEntry implementation
-        */
-        IMPORT_C MNumberEntry* NumberEntry();
-
-        /**
-        * Set number entry observer.
-        */
-        IMPORT_C void SetNumberEntryObserver( MNumberEntryObserver& aObserver );
-        
-    public: // from MNumberEntry 
-
-        /**
-        * Sets number entry active.
-        */
-        void CreateNumberEntry();
-        
-        /**
-        * Return pointer to number entry
-        * @return The NE.
-        */
-        CCoeControl* GetNumberEntry( ) const;
-        
-        /**
-        * Query, is number entry used.
-        * @return ETrue is NE is used.
-        */
-        TBool IsNumberEntryUsed( ) const;
-        
-        /**
-        * This disables NE drawing but doesn't empty the component.
-        * @param aVisibility NE visible or not.
-        */
-        void SetNumberEntryVisible( 
-            const TBool& aVisibility = ETrue );
-        
-        /**
-        * Set Number Entry text.
-        * @param aDesC The text.
-        */
-        void SetTextToNumberEntry( const TDesC& aDesC );
-        
-        /**
-        * Get Number Entry Text.
-        * @param aDesC The text.
-        */
-        void GetTextFromNumberEntry( TDes& aDesC );
-        
-        /**
-        * Removes NE and empties the buffer.
-        */
-        void RemoveNumberEntry( );
-        
-        /**
-        * Set number entry's editor mode.
-        * @param aMode for number editor input mode.
-        * @return Input mode of the editor.
-        */
-        TInt ChangeEditorMode( TBool aDefaultMode = EFalse );
-        
-        /**
-        * Open VKB
-        */
-        void OpenVkbL();
-        
-        /**
-        * Get number entry's editor mode.
-        * @return Input mode of the editor.
-        */
-        TInt GetEditorMode() const;
-
-        /**
-        * Resets number entry editor to default values.
-        */
-        void ResetEditorToDefaultValues();
-        
-        /**
-        * Set number entry's prompt text.
-        * @param aPromptText.
-        */        
-        void SetNumberEntryPromptText( const TDesC& aPromptText );
-        
-        /**
-        * Enable or disable tactile feedback. 
-        * @param aEnable.
-        */             
-        void EnableTactileFeedback( const TBool aEnable );
-
-    private:  // Functions from CCoeControl
-        
-        /**
-        * @see CCoeControl
-        */
-        void SizeChanged();
-        
-        /**
-        * @see CCoeControl
-        */
-        void PositionChanged();
-
-        /**
-        * @see CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * @see CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * @see CCoeControl
-        */
-        void Draw( const TRect& aRect ) const;
-        
-        /**
-        * @see CCoeControl
-        */
-        void FocusChanged( TDrawNow aDrawNow );
-                
-        /**
-        * @see CCoeControl
-        */        
-        void MakeVisible( TBool aVisible );  
-        
-        /**
-        * @see CCoeControl
-        */ 
-        void PrepareForFocusGainL();
-        
-        /**
-        * @see CCoeControl
-        */
-        void HandleResourceChange( TInt aType );
-        
-        /**
-        * @see CCoeControl
-        */
-        void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-              
-        
-    private:
-
-        /**
-        * Constructor
-        */
-        CDialer();
-
-        /**
-        * 2nd phase constructor.
-        * @param aContainer Parent container
-        * @param aRect Area to use for dialer
-        */
-        void ConstructL( const CCoeControl& aContainer , 
-            const TRect& aRect );
-        
-        /**
-        * Load resource file.
-        */
-        void LoadResourceL();
-        
-        /**
-        * Unload resource file.
-        */
-        void UnLoadResources();
-        
-        /**
-        * @see CCoeControl::ComponentControl()
-        * @param aIndex control index
-        */
-        CCoeControl* ComponentControlForDialerMode( const TInt aIndex ) const;
-        
-        /**
-         * Returns edwin state
-         * @return Pointer to CAknEdwinState
-         */
-        CAknEdwinState* EdwinState();
-        
-        /**
-         * Updates editor flags for virtual
-         * keyboard.
-         */
-        void UpdateVkbEditorFlagsL();
-
-    private:    // Data
-          
-        // Keypad container  - owned
-        CDialerKeyPadContainer* iKeypadArea;
-             
-        // Number entry container - owned
-        CDialerNumberEntry* iNumberEntry;
-        
-        // Parent container
-        const CCoeControl* iParentControl;
-        
-        // Is Number entry (e.g. dialer) being used at the moment
-        TBool iIsUsed;
-        
-        // Reference to CEikonEnv
-        CEikonEnv& iEikEnv;
-        
-        // Resource 
-        TInt iResourceOffset;
-        
-        // Is virtual key board open
-        TBool iVirtualKeyBoardOpen;
-
-    };
-
-#endif      // CDIALER_H
-
-// End of File
--- a/phoneuis/dialer/inc/cdialercontainerbase.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +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:  Base class for all dialer containers
-*
-*/
-
-
-
-#ifndef CDIALERCONTAINERBASE_H
-#define CDIALERCONTAINERBASE_H
-
-//  INCLUDES
-#include <coecntrl.h>
-#include <coemain.h>
-#include <bldvariant.hrh>
-
-#include "dialercommon.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-class CAknButton;
-class TAknsItemID;
-class CGulIcon;
-
-/**
-*  CDialerContainerBase container class
-*
-*  @lib dialer.lib
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS(CDialerContainerBase) : public CCoeControl, 
-                                          public MCoeControlObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CDialerContainerBase();
-            
-
-    protected:
-        
-        // Constructor
-        CDialerContainerBase( 
-            CCoeControl& aContainer );
-
-        /**
-        * Base constructor.
-        */
-        void BaseConstructL( );
-
-        /**
-        * Set variety currently in use
-        */
-        virtual void SetVariety( ) = 0;
-        
-        /**
-        * Set layout
-        */
-        virtual void SetLayout( ) = 0;   
-
-        
-    protected:  // Functions from CCoeControl
-        
-        /**
-        * @see CCoeControl
-        */
-        TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-        
-        /**
-        * @see CCoeControl
-        */
-        virtual void SizeChanged();
-        
-        /**
-        * @see CCoeControl
-        */
-        virtual void PositionChanged();
-
-        /**
-        * @see CCoeControl
-        */
-        void HandleResourceChange( TInt aType );
-             
-        
-    protected: // From MCoeControlObserver
-
-        /**
-        * @see MCoeControlObserver
-        */
-        virtual void HandleControlEventL( CCoeControl* /*aControl*/, TCoeEvent /*aEventType*/ ) {};
-
-    protected:    // Data
-
-        // Variety set according to conditions of number etc of buttons.
-        // See Variety method of each implementing class.
-        TInt iVariety;
-
-        // Parent container
-        CCoeControl& iParentControl;
-
-
-    };
-
-#endif      // CDIALERCONTAINERBASE_H
-
-// End of File
--- a/phoneuis/dialer/inc/cdialerkeypadbutton.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:  Definition of CDialerKeyPadButton class.
-*
-*/
-
-
-#ifndef C_CDIALERKEYPADBUTTON_H
-#define C_CDIALERKEYPADBUTTON_H
-
-#include <e32base.h>
-#include <aknbutton.h>
-
-// CLASS DECLARATION
-
-/**
-*  Contains keypad button data.
-*
-*  @lib dialer.lib
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS( CDialerKeyPadButton ) : public CBase
-    {
-    public:
-    
-        CDialerKeyPadButton();
-
-        ~CDialerKeyPadButton();
-    
-    public:
-        CCoeControl* Control() const { return iButton; };
-        TInt ScanCode() const;
-        TInt KeyCode() const;
-        void CreateButtonL( const TInt aScanCode,
-                            const TInt aKeyCode, 
-                            const TMifDialer aButtonIcon, 
-                            const TMifDialer aButtonIconMask );
-        void SetIconSize( TSize& aSize );                    
-        void HandleResourceChange( TInt aType );
-        void MapDialerIconToSkinIcon( const TInt aDialerIcon, 
-                                      TAknsItemID& aItemId ) const;  
-        void EnableAudioFeedback( const TBool aEnable );
-
-    private:
-        void UpdateIconL();
-        
-    private: // data
-    
-        CAknButton*  iButton;
-        
-        TInt iScanCode;
-        TInt iKeyCode;
-        TMifDialer iButtonIcon;
-        TMifDialer iButtonIconMask;
-    };
-
-#endif // C_CDIALERKEYPADBUTTON_H
--- a/phoneuis/dialer/inc/cdialerkeypadcontainer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +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:  CDialerKeyPadContainer class provides number keypad fuctionality 
-*
-*/
-
-
-
-#ifndef CDIALERKEYPADCONTAINER_H
-#define CDIALERKEYPADCONTAINER_H
-
-//  INCLUDES
-#include    <coecntrl.h>
-#include    <coecobs.h>    // MCoeControlObserver
-#include    <coemain.h>
-
-#include    "cdialercontainerbase.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CDialerKeyPadButton;
-
-// CLASS DECLARATION
- 
-/**
-*  CDialerKeyPadContainer container class
-*
-*  @lib dialer.lib
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS(CDialerKeyPadContainer) : public CDialerContainerBase, 
-                                            public MCoeForegroundObserver
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two phase constructor
-        * @param aContainer Parent container
-        * @param aOperatingMode 
-        * @return New instance
-        */
-        static CDialerKeyPadContainer* NewL( 
-            const CCoeControl& aContainer,
-            TDialerOperationMode aOperatingMode
-             );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CDialerKeyPadContainer();      
-        
-    public:
-        
-        /**
-        * Enables or disables tactile feedback audio for keypad buttons.
-        */
-        
-        void EnableTactileFeedback( const TBool aEnable );
-        
-    private:  // Functions from base classes
-        
-        /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * From CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-         * From CoeControl.
-         */
-        void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-        
-        /**
-        * @see CCoeControl
-        */
-        void HandleResourceChange( TInt aType );   
-        
-        /**
-        * @see CCoeControl
-        */        
-        void MakeVisible( TBool aVisible );     
-        
-        /**
-        * @see MCoeControlObserver
-        */        
-        void HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType );      
-        
-        /**
-        * @see MCoeForegroundObserver
-        */ 
-        void HandleGainingForeground();
-        
-        /**
-        * @see MCoeForegroundObserver
-        */         
-        void HandleLosingForeground();      
-        
-        
-    private: // From CDialerContainerBase
-    
-        /**
-        * @see CDialerContainerBase
-        */
-        void SetVariety();
-        
-        /**
-        * @see CDialerContainerBase
-        */
-        void SetLayout();
-
-    private:
-    
-		CDialerKeyPadContainer( const CCoeControl& aContainer, 
-            TDialerOperationMode aOperatingMode );
-            	
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL( );
-
-        /**
-        * Set layout in Phone Dialer mode
-        */
-        void SetPhoneLayout();
-
-        /**
-        * Set layout in Video DTMF mode
-        */
-        void SetVideoLayout();
-        
-        /**
-        * Create keypad buttons.
-        */
-        void CreateButtonsL();
-        
-        
-    private:    // Data
-    
-        TDialerOperationMode iOperatingMode;
-        
-        /**
-         * Keypad buttons.
-         * Owned.
-         */
-        RPointerArray<CDialerKeyPadButton> iButtons;  
-        
-        /**
-         * Number of buttons.
-         */
-        TInt iButtonCount;
-         
-        /**
-         * True, when EEventStateChanged event reported. 
-         */        
-        TBool iButtonPressedDown;
-        
-        /**
-         * Stores last pointer event. 
-         */        
-        TPointerEvent iPointerEvent;
-    };
-
-#endif      // CDIALERKEYPADCONTAINER_H
-
-// End of File
--- a/phoneuis/dialer/inc/cdialernumberentry.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,296 +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:  CDialerNumberEntry class handles viewing
-*                and positioning of Number Entry and offers API
-*                to access NE contents.
-*
-*/
-
-
-
-#ifndef CDIALERNUMBERENTRY_H
-#define CDIALERNUMBERENTRY_H
-
-//  INCLUDES
-#include <coecntrl.h>
-#include <coemain.h>
-#include <AknPhoneNumberEditor.h>
-
-#include "cdialercontainerbase.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CAknPhoneNumberEditor;
-class CAknButton;
-class CAknsFrameBackgroundControlContext;
-class MNumberEntryObserver;
-class CEikLabel;
-
-
-// Number entry varietys
-enum TDialerNEVariety
-    {
-    KDialerNELayoutLargeFont,
-    KDialerNELayoutSmallFont
-    };
-
-// CLASS DECLARATION
-
-/**
-*  CDialerNumberEntry control class
-*
-*  @lib dialer.lib
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS(CDialerNumberEntry) : 
-    public CDialerContainerBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two phase constructor
-        * @param aContainer Parent container
-        * @return New instance of CDialerNumberEntry
-        */
-        static CDialerNumberEntry* NewL( 
-            const CCoeControl& aContainer );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CDialerNumberEntry();
-
-    public: // New functions
-
-        /**
-        * Return text length in number entry
-        * @return text length
-        */
-        TInt TextLength();
-
-        /**
-        * Return number entry as CCoeControl
-        * @return CCoeControl pointer of CAknPhoneNumberEditor
-        */
-        CCoeControl* GetNumberEntry( ) const;
-
-        /**
-        * Create and show number entry
-        */
-        void CreateNumberEntry();
-
-        /**
-        * Toggles editor mode from number->text->number->..
-        * @param aDefaultMode if EFalse, set mode to number,
-        *        else toggle mode.
-        */
-        TInt ChangeEditorMode( TBool aDefaultMode );
-
-        /**
-        * Return current editor mode
-        * @return editor mode.
-        */
-        TInt GetEditorMode() const;
-
-        /**
-        * Set text to number entry
-        * @param aDesc Text to set.
-        */
-        void SetTextToNumberEntry( const TDesC& aDesC );
-
-        /**
-        * Get tect from number entry.
-        * @param aDesc Text is returned here.
-        */
-        void GetTextFromNumberEntry( TDes& aDesC );
-
-        /**
-        * Reset editor to default values.
-        */
-        void ResetEditorToDefaultValues();
-
-        /**
-        * Set number entry's prompt text.
-        * @param aPromptText.
-        */        
-        void SetNumberEntryPromptTextL( const TDesC& aPromptText );
-        
-
-        /**
-        * Handles command targeted to this container.
-        * @param aCommand Command.
-        */
-        TBool HandleCommandL( TDialerCommandId aCommand);
-
-        /**
-        * Set number entry observer.
-        */
-        void SetNumberEntryObserver( MNumberEntryObserver& aObserver );
-
-        /**
-        * Clear editor flags to default values.
-        */
-        void ClearEditorFlags();
-        
-    private:  // Functions from MCoeControlObserver
-        /**
-        * @see MCoeControlObserver
-        */
-        void HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType );
-
-    private:  // Functions from CCoeControl
-
-        /**
-        * @see CCoeControl
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                     TEventCode aType );
-
-        /**
-        * @see CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * @see CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * @see CCoeControl
-        */
-        void Draw( const TRect& /*aRect */) const;
-        
-        /**
-        * @see CCoeControl
-        */
-        void HandleResourceChange( TInt aType );        
-
-    public:        
-        /**
-        * @see CCoeControl
-        */
-        void SetFocus( TBool aFocus, 
-                       TDrawNow aDrawNow=ENoDrawNow );
-   
-    private: // From CDialerContainerBase
-
-
-        /**
-        * @see CDialerContainerBase
-        */
-        void SetVariety( );
-        
-        /**
-        * @see CDialerContainerBase
-        */
-        void SetLayout( );
-        
-        /**
-        * @see CDialerContainerBase
-        */                                         
-        TTypeUid::Ptr MopSupplyObject( TTypeUid aId );                                         
-        
-        
-        /**
-        * Get inner and outer rectangles for rectangle frame.
-        * @param aFrameRect Frame rectangle.
-        * @param aOuterRect Outer rectangle (return).
-        * @param aInnerRect Inner rectangle (return).
-        */ 
-        void RectFrameInnerOuterRects( const TRect& aFrameRect,
-                                              TRect& aOuterRect,
-                                              TRect& aInnerRect );        
-    private:
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL();
-            
-        /**
-        * Constructor
-        * @param aContainer Parent container
-        * @param aCommandHandler
-        */
-        CDialerNumberEntry(
-            const CCoeControl& aContainer/*,
-            MDialerCommandHandler& aCommandHandler */);
-
-        /**
-        * Construct number editor from layout.
-        */
-        void ConstructEditorFromResourceL( TResourceReader& aReader );
-
-        /**
-        * Update formats in number entry from layout
-        */
-        void UpdateNumberEntryFormats();
-        
-        /**
-        * Calculates number entry layout & format for given number entry variety
-        * @param aFormat -format to be filled
-        * @param aNEVariety -determines the format layot
-        */
-        void CalculateLayout( CAknPhoneNumberEditor::TFormat& aFormat,
-						      TInt aNEVariety );
-        /**
-        * Start virtual keyboard.
-        */
-        void StartVirtualKeyBoard();
-
-        /**
-        * Checks the number entry and informs client via observer interface
-        * whether the state is changed.
-        */
-        void InformNumberEntryState(); 
-        
-        
-        void CheckLabelSkinningColor();
-        
-        /**
-         * Checks editor formatting.
-         */
-        void HandleEditorFormatting(); 
-         
-    private:    // Data
-        
-        // Number editor field
-        CAknPhoneNumberEditor* iEditor;
-        
-        //Prompt text label for number entry.
-        CEikLabel* iLabel;        
-        
-        // NE Font.
-        CFbsFont* iNEFont;
-        
-        // Amount of formats for updating.
-        TInt iFormatCount;
-         
-        // Skin control context for the editor (9-piece)
-        CAknsFrameBackgroundControlContext* iFrameContext;
-
-        TRect iOuterRect; 
-        
-        TRect iInnerRect;
-        
-        MNumberEntryObserver* iObserver;    
-        
-        TBool iNumberContents;  
-    };
-
-#endif      // CDIALERNUMBERENTRY_H
-
-// End of File
--- a/phoneuis/dialer/inc/cdialertoolbar.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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:  Updates toolbar.
- *
-*/
-
-
-#ifndef __CDIALERTOOLBAR_H__
-#define __CDIALERTOOLBAR_H__
-
-#ifdef RD_SCALABLE_UI_V2
-
-#include <akntoolbar.h>
-#include <akntoolbarobserver.h>
-#include <coecobs.h>    // MCoeControlObserver
-#include <dialer.hrh>
-
-//Forward declarations
-class CAknToolbar;
-class CAknButton;
-class CAknAppUi;
-class CCoeControl;
-class CDialerNumberEntry;
-
-NONSHARABLE_CLASS( CDialerToolBar ) : public CBase, 
-    public MCoeControlObserver
-    {
-    public:
-    
-        /**
-        * Two phase constructor
-        * @param CAknAppUi reference
-        * @param CDialerNumberEntry reference
-        * @return New instance
-        */    
-        static CDialerToolBar* NewL( CAknAppUi* aAppUi, 
-                                     CDialerNumberEntry& aNumberEntry );
-        static CDialerToolBar* NewLC( CAknAppUi* aAppUi, 
-                                      CDialerNumberEntry& aNumberEntry );
-    
-        /**
-        * Destructor.
-        */    
-        virtual ~CDialerToolBar();
-
-    public: // New functions
-        
-        void UpdateToolbar( TDialerCommandId aCommand );
-        
-        void DetermineCurrentToolbarButtons();
-
-
-    public: // from MCoeControlObserver
-    
-        void HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType );
-
-    private:
-        
-        /**
-        * Constructor
-        */        
-        CDialerToolBar( CDialerNumberEntry& aNumberEntry );
-    
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL( CAknAppUi* aAppUi );
-        
-        CAknButton* CreateButtonL( TInt aNormalIconId,
-                               TInt aNormalMaskId,
-                               const TDesC& aText, 
-                               const TAknsItemID& aSkinIconId,
-                               TInt aCommand = EDialedCmdNone );
-
-        
-        void CreateButtonSetNumberEntryEmpty();
-        
-        void CreateButtonSetNumberEntryNotEmpty();
-
-    private: // data
-
-        CAknToolbar* iToolbar;
-        CAknAppUi* iAppUi;
-        TBool iNumberEntryEmpty;
-        CDialerNumberEntry& iNumberEntry;
-
-    };
-
-#endif // RD_SCALABLE_UI_V2
-
-#endif // CDIALERTOOLBAR
-
-
-// End of File
--- a/phoneuis/dialer/inc/cdialervideocontainer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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:  CDialerVideoContainer class handles positioning 
-*                and viewing the control.
-*
-*/
-
-
-
-#ifndef CDIALERVIDEOCONTAINER_H
-#define CDIALERVIDEOCONTAINER_H
-
-//  INCLUDES
-
-//#include <fbs.h>
-#include <coecntrl.h>
-#include <coemain.h>
-
-#include "cdialercontainerbase.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CDialerVideoContainer container class
-*
-*  @lib dialer.lib
-*  @since S60 v5.0
-*/
-NONSHARABLE_CLASS(CDialerVideoContainer) : 
-    public CDialerContainerBase
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two phase constructor
-        * @param aContainer Parent container
-        * @param aVideoWindow
-        * @return New instance
-        */
-        static CDialerVideoContainer* NewL( 
-            const CCoeControl& aContainer,
-            CCoeControl& aVideoWindow );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CDialerVideoContainer();
-
-    private:  // Functions from base classes
-
-        /**
-        * From CCoeControl
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * From CCoeControl
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * From CCoeControl
-        */
-        void Draw( const TRect& /*aRect */) const;
-    
-    public:        
-        /**
-        * @see CCoeControl
-        */
-        void SetFocus( TBool aFocus, 
-                       TDrawNow aDrawNow=ENoDrawNow );        
-    
-    private: // From CDialerContainerBase
-   
-
-        /**
-        * @see CDialerContainerBase
-        */
-        void SetVariety( );
-        
-        /**
-        * @see CDialerContainerBase
-        */
-        void SetLayout( );
-        
-        
-    private:
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL();
-            
-        /**
-        * Constructor
-        * @param aContainer Parent container
-        * @param aVideoWindow
-        * @param aCommandHandler
-        */
-       CDialerVideoContainer(
-            const CCoeControl& aContainer,
-            CCoeControl& aVideoWindow );
-
-    private:    // Data
-
-        // Video window
-        CCoeControl& iVideoWindow;
-    };
-
-#endif      // CDIALERVIDEOCONTAINER_H
-
-// End of File
--- a/phoneuis/dialer/inc/dialer.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +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: Declarations for resources of Dialer.
-*     The file can be included in C++ or resource file.
-*     
-*
-*/
-
-
-#ifndef DIALER_HRH
-#define DIALER_HRH
-
-#define KDialerCmdBase 7000
-
-enum TDialerCommandId
-    {
-    // Commands from buttons
-    EDialedCmdNone = -1,        // 
-    EDialerCmdOne = KDialerCmdBase,          // 1
-    EDialerCmdTwo,              // 2
-    EDialerCmdThree,            // 3
-
-    EDialerCmdFour,             // 4
-    EDialerCmdFive,             // 5
-    EDialerCmdSix,              // 6
-
-    EDialerCmdSeven,            // 7
-    EDialerCmdEight,            // 8
-    EDialerCmdNine,             // 9
-
-    EDialerCmdPrefix,           // *+
-    EDialerCmdZero,             // 0
-    EDialerCmdHash,             // #
-
-    EDialerCmdClear,            // clear
-    EDialerCmdClearNumberEntry,  // clears number entry
-    EDialerCmdCallVoice,        // create voice call
-    EDialerCmdCallVideo,        // create video call
-
-    // Commands from buttons and menus
-    EDialerCmdLog,              // open recent calls log (dialled)
-    EDialerCmdContacts,         // open contacts
-    EDialerCmdAddToContacts,       // add number/address to contacts.
-    EDialerCmdAddNewToContact,         // open contacts
-    EDialerCmdAddToExistingContact,         // open contacts
-    EDialerCmdSpeedDial,         // open speed dial
-    
-    // Commands from menus
-    EDialerCallHandling,
-    EDialerCmdTouchInput, 
-    EDialerCallSettings,
-    EDialerSendServiceCmd,
-    EDialerCmdEditText,
-    EDialerCmdCopyText,
-    EDialerCmdCutText,
-    EDialerCmdPasteText,
-
-    // General commands    
-    EDialerCmdUpdateButtons,
-    EDialerAiwCommandVoiceCall,
-    EDialerAiwCommandVideoCall,
-    EDialerAiwCommandWriteMessaage, 
-    
-    // Informative commands.
-		EDialerMsgCallRemoved,		// 
-		EDialerMsgCallAdded,		// 
-		EDialerMsgSSInNumberEntry,		// number entry contains SS, USSD or phone service string.
-		EDialerMsgNumberInNumberEntry,	// number entry contains phone number.
-    
-    // NumberEntry commands
-    EDialerNumberEntryEmpty,
-    EDialerNumberEntryNotEmpty, 
-    
-    EDialerExit, 
-    
-    EDialerCmdLast
-    };
-
-
-enum TDialerNumberEntryContentType
-    {
-    EDialerContentEmpty,
-    EDialerServiceString,
-    EDialerVoIPAddress,
-    EDialerPhoneNumber
-    };
-    
-// The mode the dialer is operating.
-enum TDialerOperationMode
-    {
-    EModeDialer, // Phone Dialer
-    EModeVoiceDTMF, // Phone DTMF string query 
-    EModeVideoDTMF // Video telephony DTMF send
-    };
-
-enum TVideoVariety 
-    {
-    EVideoVarietyPortrait = 0,
-    EVideoVarietyLandscape = 1
-    };
-    
-enum TDialerVariety 
-    {
-    EDialerVarietyPortrait = 0,
-    EDialerVarietyLandscape = 1
-    };    
-    
-#endif // _DIALER_HRH_
--- a/phoneuis/dialer/inc/dialercommon.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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:  Definition of common constants of the dialer.
-*
-*/
-
-
-#ifndef DIALERCOMMON_H
-#define DIALERCOMMON_H
-
-#include <e32def.h>
-#include <e32keys.h>
-
-#ifndef __DIALER_MBG
-#define __DIALER_MBG
-#include "dialer.mbg"
-#endif // __DIALER_MBG
-
-#include "dialer.hrh"
-
-const TInt KDialerPhoneNumberEntryBufferSize = 100;
-const TUid KPhoneUidAppPhone = { 0x100058B3 };
-
-// ROM drive.
-_LIT( KDriveZ, "z:" );
-
-#endif // DIALERCOMMON_H
-
-// End of file
--- a/phoneuis/dialer/inc/dialertrace.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Macros for tracing.
-*
-*/
-
-
-
-#ifndef DIALERTRACE_H
-#define DIALERTRACE_H
-
-#ifdef _DEBUG
-
-// INCLUDES
-#include <e32svr.h>
-
-// CONSTANTS
-
-const TInt KDialerDebugBufferSize = 60;
-
-// MACROS
-
-typedef TBuf<KDialerDebugBufferSize> TDialerDebBuf;
-
-#define DIALER_PRINT(x) { _LIT( KDialerDebugPrintPrefix, "Dialer: ");\
-    TDialerDebBuf buf( KDialerDebugPrintPrefix);\
-    if ((_L(x).Length()) + buf.Length() <= KDialerDebugBufferSize )\
-        buf.Append(_L(x)); RDebug::Print(buf); }
-
-#define DIALER_PRINTF(x,y) { _LIT( KDialerDebugPrintPrefix, "Dialer: ");\
-    TDialerDebBuf buf( KDialerDebugPrintPrefix);\
-    if ((_L(x).Length()) + buf.Length() <= KDialerDebugBufferSize )\
-        buf.Append(_L(x)); RDebug::Print(buf,y);}
-
-#define DIALER_PRINTF2(x,y,z) { _LIT( KDialerDebugPrintPrefix, "Dialer: ");\
-    TDialerDebBuf buf( KDialerDebugPrintPrefix);\
-    if ((_L(x).Length()) + buf.Length() <= KDialerDebugBufferSize )\
-        buf.Append(_L(x)); RDebug::Print(buf,y,z); }
-
-#else // !_DEBUG
-
-#define DIALER_PRINT(x)
-#define DIALER_PRINTF(x,y)
-#define DIALER_PRINTF2(x,y,z)
-
-#endif      // _DEBUG
-
-#endif      // DIALERTRACE_H
-
-// End of File
--- a/phoneuis/dialer/inc/mnumberentry.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +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:  MNumberEntry class provides an bubble manager like
-*                API to Dialer for Phone.
-*
-*/
-
-
-
-#ifndef MNUMBERENTRY_H
-#define MNUMBERENTRY_H
-
-//  INCLUDES
-#include <e32def.h>
-#include <e32cmn.h>
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CCoeControl;
-
-// CLASS DECLARATION
-
-/**
-*  MNumberEntryObserver class
-*
-*  @lib dialer.lib
-*  @since Series60 5.0
-*/
-class MNumberEntryObserver
-    {
-    public:
-      
-    /**
-     * Indication that numberentry state changed
-     *
-     * @since S60 v5.0
-     */
-    virtual void NumberEntryStateChanged( TBool aHidePromptText ) = 0;         
-
-    };
-    
-/**
-*  MNumberEntry container class
-*
-*  @lib dialer.lib
-*  @since Series60 5.0
-*/
-class MNumberEntry
-    {
-    public: // New functions
-
-        /**
-        * Sets number entry active.
-        */
-        virtual void CreateNumberEntry() = 0;
-        
-        /**
-        * Return pointer to number entry
-        * @return The NE.
-        */
-        virtual CCoeControl* GetNumberEntry( ) const = 0;
-        
-        /**
-        * Query, is number entry used.
-        * @return ETrue is NE is used.
-        */
-        virtual TBool IsNumberEntryUsed( ) const = 0;
-        
-        /**
-        * This disables NE drawing but doesn't empty the component.
-        * @param aVisibility NE visible or not.
-        */
-        virtual void SetNumberEntryVisible( 
-            const TBool& aVisibility = ETrue ) = 0;
-        
-        /**
-        * Set Number Entry text.
-        * @param aDesC The text.
-        */
-        virtual void SetTextToNumberEntry( const TDesC& aDesC ) = 0;
-        
-        /**
-        * Get Number Entry Text.
-        * @param aDesC The text.
-        */
-        virtual void GetTextFromNumberEntry( TDes& aDesC ) = 0;
-        
-        /**
-        * Removes NE and empties the buffer.
-        */
-        virtual void RemoveNumberEntry( ) = 0;
-        
-        /**
-        * Set number entry's editor mode.
-        * @param aMode for number editor input mode.
-        * @return Input mode of the editor.
-        */
-        virtual TInt ChangeEditorMode( TBool aDefaultMode = EFalse ) = 0;
-        
-        /**
-        * Open VKB
-        */
-        virtual void OpenVkbL() = 0;
-        
-        /**
-        * Get number entry's editor mode.
-        * @return Input mode of the editor.
-        */
-        virtual TInt GetEditorMode() const = 0;
-
-        /**
-        * Resets number entry editor to default values.
-        */
-        virtual void ResetEditorToDefaultValues() = 0;
-        
-         /**
-         * Sets number editor observer. 
-         * 
-         * @param aObserver Observer.
-         */    
-        virtual void SetNumberEntryObserver( 
-            MNumberEntryObserver& aObserver ) = 0;    
-            
-         /**
-         * Sets prompt text to numberentry. 
-         * 
-         * @param aPromptText.
-         */    
-        virtual void SetNumberEntryPromptText( const TDesC& aPromptText ) = 0;       
-        
-        /**
-        * Enable or disable tactile feedback. 
-        * 
-        * @param aEnable.
-        */          
-        virtual void EnableTactileFeedback( const TBool aEnable ) = 0;
-    };
-
-#endif      // MNUMBERENTRY_H
-
-// End of File
--- a/phoneuis/dialer/rom/dialer.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  IBY file for Dialer
-*
-*/
-
-
-#ifndef DIALER_IBY
-#define DIALER_IBY
-
-#ifdef __ON_SCREEN_DIALER
-file=ABI_DIR\BUILD_DIR\dialer.dll                SHARED_LIB_DIR\DIALER.dll
-#else
-file=ABI_DIR\BUILD_DIR\dialerstub.dll            SHARED_LIB_DIR\DIALER.dll
-#endif
-
-#ifdef __ON_SCREEN_DIALER
-data=ZSYSTEM\install\dialer_stub.sis            	System\Install\dialer_stub.sis
-data=DATAZ_\RESOURCE_FILES_DIR\DIALER.rsc       	RESOURCE_FILES_DIR\DIALER.rsc
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,Dialer)
-#else
-// No resource or icon/image files needed when stub dialer is used.
-#endif __ON_SCREEN_DIALER
-
-#endif // DIALER_IBY
-
-//  End of File
\ No newline at end of file
--- a/phoneuis/dialer/src/cdialer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,527 +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:  Manager for keypad and numberentry container.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <avkon.rsg>
-#include <apgcli.h>
-#include <apacmdln.h>
-#include <eikspane.h>
-#include <aknenv.h>                         // AKN_LAF_COLOR
-#include <AknUtils.h>
-#include <AknsUtils.h>
-#include <aknappui.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <data_caging_path_literals.hrh>    // for KDC_APP_RESOURCE_DIR
-#include <bautils.h>                        // for BaflUtils
-#include <aknedsts.h>
-
-#include "cdialer.h"
-#include "dialercommon.h"
-#include <dialer.rsg>
-#include "dialer.hrh"
-#include "cdialerkeypadcontainer.h"
-#include "cdialernumberentry.h"
-#include "dialertrace.h"
-#include "mnumberentry.h"
-
-/// ROM drive.
-_LIT( KDialerResourceFile, "dialer.rsc" );
-// number entry, keypad area
-const TInt KContainedControlsInTelephonyMode = 2;  
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CDialer::NewL
-//
-// Symbian OS two phased constructor for telephony phone dialer mode
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDialer* CDialer::NewL( const CCoeControl& aContainer, 
-                                 const TRect& aRect )
-    {
-    CDialer* self = new( ELeave )CDialer ( );    
-    CleanupStack::PushL( self );
-    self->ConstructL( aContainer , aRect );
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-// Destructor
-EXPORT_C CDialer::~CDialer()
-    {
-    DIALER_PRINT("CDialer::~CDialer<"); 
-    AknsUtils::DeregisterControlPosition( this );
-
-    delete iKeypadArea;
-    delete iNumberEntry;
-
-    UnLoadResources();
-    DIALER_PRINT("CDialer::~CDialer>"); 
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::ConstructL
-//
-// Symbian OS two phased constructor for phone dialer more.
-// ---------------------------------------------------------------------------
-//
-void CDialer::ConstructL( 
-    const CCoeControl& aContainer, 
-    const TRect& aRect )
-    {    
-    DIALER_PRINT("CDialer::ConstructL<");	
-    LoadResourceL();    
-    
-    // set window
-    SetContainerWindowL( aContainer );
-    SetParent( const_cast<CCoeControl*>(&aContainer) );
-    iParentControl = &aContainer;
-
-    iNumberEntry = CDialerNumberEntry::NewL( *this );    
-
-    iKeypadArea = CDialerKeyPadContainer::NewL( *this,  EModeDialer );    
-    
-    SetRect( aRect );
-    
-    SetComponentsToInheritVisibility( ETrue );
-    
-    ActivateL();
-    DIALER_PRINT("CDialer::ConstructL>");
-    }
-
-// Constructor
-CDialer::CDialer( ) :
-    iEikEnv( *CEikonEnv::Static() )
-    {
-    // Empty    
-    }
-
-// -----------------------------------------------------------------------------
-// CDialer::NumberEntry
-//
-// Return pointer to MNumberEntry interface.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MNumberEntry* CDialer::NumberEntry()
-    {
-    return this;
-    }
-
-// -----------------------------------------------------------------------------
-// CDialer::SetNumberEntryObserver
-//
-// 
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CDialer::SetNumberEntryObserver( MNumberEntryObserver& aObserver ) 
-    {
-    iNumberEntry->SetNumberEntryObserver( aObserver );  
-    }
-
-// Methods from MNumberEntry
-
-// ---------------------------------------------------------------------------
-// CDialer::CreateNumberEntry
-//  
-// Creates number entry in phone dialer mode. 
-// ---------------------------------------------------------------------------
-//
-void CDialer::CreateNumberEntry()
-    {
-    DIALER_PRINT("CDialer::CreateNumberEntry<");
-    
-    iIsUsed = ETrue;    
-    
-    DIALER_PRINT("CDialer::CreateNumberEntry>");        
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::GetNumberEntry
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialer::GetNumberEntry( ) const
-    {
-    CCoeControl* control( NULL );
-    control = iNumberEntry->GetNumberEntry();
-    return control;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::IsNumberEntryUsed
-//  
-// ---------------------------------------------------------------------------
-//
-TBool CDialer::IsNumberEntryUsed( ) const
-    {
-    return iIsUsed;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::SetNumberEntryVisible
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::SetNumberEntryVisible( const TBool& /*aVisibility*/ )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::SetTextToNumberEntry
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::SetTextToNumberEntry( const TDesC& aDesC )
-    {
-    iNumberEntry->SetTextToNumberEntry( aDesC );
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::GetTextFromNumberEntry
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::GetTextFromNumberEntry( TDes& aDesC )
-    {
-    iNumberEntry->GetTextFromNumberEntry( aDesC );
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::RemoveNumberEntry
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::RemoveNumberEntry( )
-    {
-    ResetEditorToDefaultValues();
-    iIsUsed = EFalse;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::ChangeEditorMode
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CDialer::ChangeEditorMode( TBool aDefaultMode )
-    {
-    TInt ret( KErrNotSupported );
-    ret = iNumberEntry->ChangeEditorMode( aDefaultMode );        
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::OpenVKBL
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::OpenVkbL()
-    {
-    iVirtualKeyBoardOpen = ETrue;
-    UpdateVkbEditorFlagsL();
-    
-    iNumberEntry->HandleCommandL( EDialerCmdTouchInput );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::GetEditorMode
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CDialer::GetEditorMode() const
-    {
-    return iVirtualKeyBoardOpen ? EAknEditorTextInputMode : 
-                                  EAknEditorNumericInputMode;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::ResetEditorToDefaultValues
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::ResetEditorToDefaultValues()
-    {
-    iNumberEntry->ResetEditorToDefaultValues();
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::SetNumberEntryPromptText
-//  
-// ---------------------------------------------------------------------------
-//    
-void CDialer::SetNumberEntryPromptText( const TDesC& aPromptText ) 
-    {
-    TRAP_IGNORE( iNumberEntry->SetNumberEntryPromptTextL( aPromptText ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::EnableTactileFeedback
-//  
-// ---------------------------------------------------------------------------
-//    
-void CDialer::EnableTactileFeedback( const TBool aEnable )
-    {
-    iKeypadArea->EnableTactileFeedback( aEnable );
-    }
-
-// Functions from CCoeControl
-
-// ---------------------------------------------------------------------------
-// CDialer::SizeChanged
-// 
-// Called by framework when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::SizeChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    TRect parentRect(Rect()); 
-       
-    // Method is called before containers are created.
-    if ( !iKeypadArea )
-        {
-        return;
-        }
-        
-    TDialerVariety variety( EDialerVarietyLandscape );
-    if (  !Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        variety = EDialerVarietyPortrait;
-        }            
-    // number entry
-    AknLayoutUtils::LayoutControl(
-        iNumberEntry, parentRect, 
-        AknLayoutScalable_Apps::dialer2_ne_pane( variety ).LayoutLine() );
-    // keypad area.
-    AknLayoutUtils::LayoutControl(
-        iKeypadArea, parentRect, 
-        AknLayoutScalable_Apps::grid_dialer2_keypad_pane( variety ).LayoutLine() );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CDialer::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::CountComponentControls
-//
-// Returns contained controls in phone dialer mode
-// ---------------------------------------------------------------------------
-//
-TInt CDialer::CountComponentControls() const
-    {
-    TInt count(0);
-    count = KContainedControlsInTelephonyMode;
-    return count;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::ComponentControl(TInt aIndex) const
-//
-// Returns contained control by given index.
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialer::ComponentControl( TInt aIndex ) const
-    {
-    CCoeControl* currentControl(NULL);
-    currentControl = ComponentControlForDialerMode( aIndex);
-    return currentControl;
-    } 
-
-// ---------------------------------------------------------------------------
-// CDialer::Draw
-// ---------------------------------------------------------------------------
-//
-void CDialer::Draw( const TRect& /*aRect*/ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::FocusChanged
-// ---------------------------------------------------------------------------
-//
-void CDialer::FocusChanged(TDrawNow aDrawNow)
-    {
-    iNumberEntry->SetFocus( IsFocused(), aDrawNow );    
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::MakeVisible
-// ---------------------------------------------------------------------------
-//
-void CDialer::MakeVisible( TBool aVisible )
-	{
-	CCoeControl::MakeVisible( aVisible );
-	}
-
-// ---------------------------------------------------------------------------
-// CDialer::PrepareForFocusGainL
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::PrepareForFocusGainL( )
-    {
-    if ( iVirtualKeyBoardOpen )
-        {
-        // Clear editor flags and report
-        // edwin state changed.
-        iVirtualKeyBoardOpen = EFalse;
-        iNumberEntry->ClearEditorFlags();
-        EdwinState()->ReportAknEdStateEventL(
-                MAknEdStateObserver::EAknEdwinStateEventStateUpdate );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::HandleResourceChange
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SizeChanged();
-        }
-    CCoeControl::HandleResourceChange( aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CDialer::HandlePointerEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CDialer::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    // Calling base class implementation
-    CCoeControl::HandlePointerEventL(aPointerEvent);    
-    }
-
-// Private methods
-
-// -----------------------------------------------------------------------------
-// CDialer::LoadResourceL
-//
-// -----------------------------------------------------------------------------
-//
-void CDialer::LoadResourceL()
-    {
-    TFileName path( KDriveZ );
-    path.Append( KDC_RESOURCE_FILES_DIR );
-    path.Append( KDialerResourceFile );
-    
-    RFs &fsSession= iEikEnv.FsSession();
-    BaflUtils::NearestLanguageFile( fsSession, path ); 
-    iResourceOffset = iEikEnv.AddResourceFileL( path );
-    }
-
-// -----------------------------------------------------------------------------
-// CDialer::UnLoadResources
-//
-// -----------------------------------------------------------------------------
-//    
-void CDialer::UnLoadResources()
-    {
-    if ( iResourceOffset > 0 )
-        {
-        iEikEnv.DeleteResourceFile( iResourceOffset );
-        iResourceOffset = 0;
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::ComponentControlForDialerMode
-// 
-// Returns contained control by given index in ohonedialer mode.
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialer::ComponentControlForDialerMode( const TInt aIndex ) const
-    {
-    CCoeControl* currentControl(NULL);
-    
-    switch ( aIndex )
-        {
-        case 0:
-            currentControl = iNumberEntry;
-            break;
-        case 1:
-            currentControl = iKeypadArea;
-            break;
-        default:
-            {
-            __ASSERT_DEBUG( EFalse, _L("CDialer::ComponentControl no such component defined"));
-            }
-        }
-
-    return currentControl;
-    } 
-
-// ---------------------------------------------------------------------------
-// CDialer::EdwinState
-// 
-// Returns edwin state of the editor.
-//  
-// ---------------------------------------------------------------------------
-//
-CAknEdwinState* CDialer::EdwinState()
-    {
-    MCoeFepAwareTextEditor_Extension1* extension = 
-        static_cast<MCoeFepAwareTextEditor_Extension1*>
-              ( static_cast<CAknPhoneNumberEditor*> (GetNumberEntry()) );
-
-    return static_cast< CAknEdwinState* >( extension->State( KNullUid ) );
-    } 
-
-// ---------------------------------------------------------------------------
-// CDialer::UpdateVkbEditorFlagsL
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::UpdateVkbEditorFlagsL()
-    {
-    CAknEdwinState* edwinState = EdwinState();
-    // Set flags, input mode, SCT, permitted modes,
-    // keymapping and menu for alphanumeric virtual
-    // keyboard.
-    edwinState->SetCurrentInputMode( EAknEditorTextInputMode );
-    edwinState->SetSpecialCharacterTableResourceId( 
-        R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG );    
-    edwinState->SetFlags( EAknEditorFlagNoT9 |
-                          EAknEditorFlagLatinInputModesOnly | 
-                          EAknEditorFlagNoEditIndicators );            
-    edwinState->SetPermittedInputModes( 
-                          EAknEditorNumericInputMode |
-                          EAknEditorTextInputMode );    
-    edwinState->SetNumericKeymap( EAknEditorAlphanumericNumberModeKeymap );    
-    edwinState->SetMenu();
-    
-    // Report state updated
-    edwinState->ReportAknEdStateEventL(
-                    MAknEdStateObserver::EAknEdwinStateEventStateUpdate );
-    }
-
-// End of File
--- a/phoneuis/dialer/src/cdialercontainerbase.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Base for containers
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikapp.h>
-#include <gulicon.h>
-#include <AknUtils.h>
-#include <aknbutton.h>
-#include <AknsUtils.h>
-#include <AknsDrawUtils.h>
-#include <AknLayout2Def.h>
-#include <AknsSkinInstance.h>
-#include <AknsControlContext.h>
-#include <aknlayoutscalable_apps.cdl.h>
-
-#include "cdialercontainerbase.h"
-#include "dialercommon.h"
-#include "dialertrace.h"
-
-// Constructor
-CDialerContainerBase::CDialerContainerBase( 
-    CCoeControl& aContainer )
-    : iParentControl( aContainer )
-    {
-    // empty
-    }
-
-
-// Destructor
-CDialerContainerBase::~CDialerContainerBase()
-    {
-    AknsUtils::DeregisterControlPosition( this );
-
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerContainerBase::ConstructL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-void CDialerContainerBase::BaseConstructL( )
-    {    
-    DIALER_PRINT("ContainerBase::BaseConstructL<");
-    SetContainerWindowL( iParentControl );
-    SetParent( &iParentControl );
-
-    // Define variety according to features available etc.
-    SetVariety();
-
-    DIALER_PRINT("ContainerBase::BaseConstructL>");    
-	}
-
-// ---------------------------------------------------------------------------
-// CDialerContainerBase::MopSupplyObject
-//
-// ---------------------------------------------------------------------------
-//
-TTypeUid::Ptr CDialerContainerBase::MopSupplyObject( TTypeUid aId )
-    {
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerContainerBase::SizeChanged
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialerContainerBase::SizeChanged( )
-    {
-    SetVariety();
-    SetLayout();
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerContainerBase::PositionChanged
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialerContainerBase::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerContainerBase::HandleResourceChange
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialerContainerBase::HandleResourceChange( TInt aType )
-    {
-    // Call implementation class SizeChanged()
-    SizeChanged();
-    CCoeControl::HandleResourceChange( aType );
-    }
-    
-// End of File
--- a/phoneuis/dialer/src/cdialerkeypadcontainer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,771 +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:  Shows number keypad and generates keypress event when 
-*                 buttons are pressed.
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32event.h>
-#include <gulicon.h>
-#include <eikapp.h>
-#include <AknUtils.h>
-#include <aknbutton.h>
-#include <AknControl.h>
-#include <AknsUtils.h>
-#include <AknsSkinInstance.h>
-#include <AknsDrawUtils.h>
-#include <AknsConstants.h>
-#include <AknLayout2Def.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <data_caging_path_literals.hrh> // for KDC_APP_RESOURCE_DIR
-#include <touchfeedback.h>
-
-#include "cdialerkeypadcontainer.h"
-#include "dialercommon.h"
-#include "dialertrace.h"
-
-#include "cdialerkeypadbutton.h"
-_LIT( KDialerMifFileName, "dialer.mif" );
-
-// Number of buttons in this container
-const TInt KNumberOfButtons = 12; 
-
-// Keypad button images
-const TMifDialer KKeyPadButtons[] =
-    {
-    EMbmDialerQgn_indi_dialer_one,
-    EMbmDialerQgn_indi_dialer_two,
-    EMbmDialerQgn_indi_dialer_three,
-    EMbmDialerQgn_indi_dialer_four,
-    EMbmDialerQgn_indi_dialer_five,
-    EMbmDialerQgn_indi_dialer_six,
-    EMbmDialerQgn_indi_dialer_seven,
-    EMbmDialerQgn_indi_dialer_eight,
-    EMbmDialerQgn_indi_dialer_nine,
-    EMbmDialerQgn_indi_dialer_prefix,
-    EMbmDialerQgn_indi_dialer_zero,
-    EMbmDialerQgn_indi_dialer_hash
-    };
-
-// Keypad button image masks
-const TMifDialer KKeyPadButtonsMasks[] =
-    {
-    EMbmDialerQgn_indi_dialer_one_mask,
-    EMbmDialerQgn_indi_dialer_two_mask,
-    EMbmDialerQgn_indi_dialer_three_mask,
-    EMbmDialerQgn_indi_dialer_four_mask,
-    EMbmDialerQgn_indi_dialer_five_mask,
-    EMbmDialerQgn_indi_dialer_six_mask,
-    EMbmDialerQgn_indi_dialer_seven_mask,
-    EMbmDialerQgn_indi_dialer_eight_mask,
-    EMbmDialerQgn_indi_dialer_nine_mask,
-    EMbmDialerQgn_indi_dialer_prefix_mask,
-    EMbmDialerQgn_indi_dialer_zero_mask,
-    EMbmDialerQgn_indi_dialer_hash_mask
-    };
-
-// Match keypresses to keyevents send to the phone
-//
-const TInt TDialerButtonToKeypadMap[12][2] = 
-        {  
-            { 49, // ScanCode
-              49  // KeyCode
-            },
-            { 50,
-              50
-            },
-            { 51,
-              51
-            },
-            { 52,
-              52
-            },    
-            { 53,
-              53
-            },
-            { 54,
-              54
-            },
-            { 55,
-              55
-            },
-            { 56,
-              56
-            },
-            { 57,
-              57
-            },                        
-            { EStdKeyNkpAsterisk,
-              42
-            },
-            { '0',
-              '0'
-            }, 
-            { EStdKeyHash,
-              35
-            }                                                                                                       
-        };   
-
-// Class declaration for CDialerKeyPadButton separated to cdialerkeypadbutton.h.
-
-// ---------------------------------------------------------------------------
-// C++ default constructor
-// ---------------------------------------------------------------------------
-//
-CDialerKeyPadButton::CDialerKeyPadButton()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CDialerKeyPadButton::~CDialerKeyPadButton()
-    {
-    MTouchFeedback* feedback = MTouchFeedback::Instance();
-    if ( feedback )
-        {
-        feedback->RemoveFeedbackForControl( iButton );
-        }
-    delete iButton;   
-    }
-        
-// ---------------------------------------------------------------------------
-// Creates number keypad button
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadButton::CreateButtonL( const TInt aScanCode, 
-                                         const TInt aKeyCode,
-                                         const TMifDialer aButtonIcon, 
-                                         const TMifDialer aButtonIconMask )
-    {
-    iScanCode = aScanCode;
-    iKeyCode  = aKeyCode;
-    iButtonIcon = aButtonIcon;
-    iButtonIconMask = aButtonIconMask;
-    
-    TFileName mifPath( KDriveZ );
-    mifPath.Append( KDC_APP_BITMAP_DIR );
-    mifPath.Append( KDialerMifFileName );
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    CFbsBitmap* bitmap (NULL);
-    CFbsBitmap* mask (NULL);
-
-    // Get icon ids.
-    TAknsItemID skinItemId( KAknsIIDNone );  
-    
-    // Create button image.
-    MapDialerIconToSkinIcon( aButtonIcon ,skinItemId );
-    AknsUtils::CreateColorIconLC( 
-        skin, 
-        skinItemId,
-        KAknsIIDQsnIconColors, 
-        EAknsCIQsnIconColorsCG30,
-        bitmap, 
-        mask, 
-        mifPath, 
-        aButtonIcon, 
-        aButtonIconMask,
-        KRgbBlack
-        );
-
-    CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
-    CleanupStack::Pop( 2 );
-    CleanupStack::PushL( icon );
-    iButton = CAknButton::NewL(
-        icon , // ownership taken
-        NULL, NULL, NULL, _L(""), _L(""), 0, 0 );
-    iButton->SetButtonFlags( KAknButtonReportOnLongPress|
-                            KAknButtonReportOnKeyDown  |
-                            KAknButtonRequestExitOnButtonUpEvent );
-    iButton->SetIconScaleMode( EAspectRatioPreserved );
-    iButton->SetMargins( TMargins8(0,0,0,0) );    
-    CleanupStack::Pop( icon ); 
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TInt CDialerKeyPadButton::ScanCode() const
-    {
-    return iScanCode;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TInt CDialerKeyPadButton::KeyCode() const
-    {
-    return iKeyCode;
-    }    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadButton::MapDialerIconToSkinIcon( const TInt aDialerIcon, 
-                                         TAknsItemID& aItemId ) const
-    {    
-    switch ( aDialerIcon )
-        {
-        case EMbmDialerQgn_indi_dialer_one:
-            aItemId = KAknsIIDQgnIndiDialerOne;
-            break;
-        case EMbmDialerQgn_indi_dialer_two:
-            aItemId = KAknsIIDQgnIndiDialerTwo;
-            break;
-        case EMbmDialerQgn_indi_dialer_three:
-            aItemId = KAknsIIDQgnIndiDialerThree;
-            break;
-        case EMbmDialerQgn_indi_dialer_four:
-            aItemId = KAknsIIDQgnIndiDialerFour;
-            break;
-        case EMbmDialerQgn_indi_dialer_five:
-            aItemId = KAknsIIDQgnIndiDialerFive;
-            break;
-        case EMbmDialerQgn_indi_dialer_six:
-            aItemId = KAknsIIDQgnIndiDialerSix;
-            break;
-        case EMbmDialerQgn_indi_dialer_seven:
-            aItemId = KAknsIIDQgnIndiDialerSeven;
-            break;    
-        case EMbmDialerQgn_indi_dialer_eight:
-            aItemId = KAknsIIDQgnIndiDialerEight;
-            break;
-        case EMbmDialerQgn_indi_dialer_nine:
-            aItemId = KAknsIIDQgnIndiDialerNine;
-            break;
-        case EMbmDialerQgn_indi_dialer_zero:
-            aItemId = KAknsIIDQgnIndiDialerZero;
-            break;
-        case EMbmDialerQgn_indi_dialer_prefix:
-            aItemId = KAknsIIDQgnIndiDialerPrefix;
-            break;
-        case EMbmDialerQgn_indi_dialer_hash:
-            aItemId = KAknsIIDQgnIndiDialerHash;
-            break;                        
-        default:
-            break;
-        }
-    }   
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CDialerKeyPadButton::SetIconSize( TSize& aSize )
-    {
-    iButton->SetIconSize( aSize );
-    }  
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CDialerKeyPadButton::UpdateIconL()
-    {
-    TFileName mifPath( KDriveZ );
-    mifPath.Append( KDC_APP_BITMAP_DIR );
-    mifPath.Append( KDialerMifFileName );
-    
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    CFbsBitmap* bitmap (NULL);
-    CFbsBitmap* mask (NULL);
-        
-    // Get icon id.
-    TAknsItemID skinItemId( KAknsIIDNone );  
-    MapDialerIconToSkinIcon( iButtonIcon, skinItemId );
-    
-    AknsUtils::CreateColorIconLC( 
-            skin, 
-            skinItemId,
-            KAknsIIDQsnIconColors, 
-            EAknsCIQsnIconColorsCG30,
-            bitmap, 
-            mask, 
-            mifPath, 
-            iButtonIcon, 
-            iButtonIconMask,
-            KRgbBlack
-            );
-    
-    CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
-    CleanupStack::Pop( 2 );
-    
-    iButton->State()->SetIcon( icon ); // icon ownership transfered
-    
-    }  
-
-// ---------------------------------------------------------------------------
-// 
-// Enable or disable audio but keep vibra feedback 
-// ---------------------------------------------------------------------------
-//   
-void CDialerKeyPadButton::EnableAudioFeedback( const TBool aEnable )
-    {
-    MTouchFeedback* feedback = MTouchFeedback::Instance();
-    if ( feedback )
-        {
-        feedback->EnableFeedbackForControl( iButton, ETrue, aEnable );
-        }
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadButton::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KAknsMessageSkinChange )
-        {
-        TRAP_IGNORE( UpdateIconL() );
-        iButton->HandleResourceChange( aType );
-        }    
-    }
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// Symbian OS two phased constructor
-// ---------------------------------------------------------------------------
-//
-CDialerKeyPadContainer* CDialerKeyPadContainer::NewL( 
-    const CCoeControl& aContainer,
-    TDialerOperationMode aOperatingMode
-     )
-    {
-    CDialerKeyPadContainer* self = 
-        new( ELeave )CDialerKeyPadContainer ( aContainer, aOperatingMode );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian OS two phased constructor
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::ConstructL()
-    {    
-    DIALER_PRINT("KeyPadContainer::ConstructL<");
-    BaseConstructL();
-    CreateButtonsL();
-    CCoeEnv* env = CCoeEnv::Static();
-    env->AddForegroundObserverL( *this );
-    DIALER_PRINT("KeyPadContainer::ConstructL>");
-    }
-
-// Constructor
-CDialerKeyPadContainer::CDialerKeyPadContainer( 
-    const CCoeControl& aContainer, 
-    TDialerOperationMode aOperatingMode )
-    : CDialerContainerBase ( 
-        const_cast<CCoeControl&>(aContainer) ),
-      iOperatingMode( aOperatingMode ),
-      iButtonCount( KNumberOfButtons )
-    {
-    }
-    
-// Destructor
-CDialerKeyPadContainer::~CDialerKeyPadContainer()
-    {
-    for ( TInt i = 0; i < iButtonCount; i++ )
-        {
-        AknsUtils::DeregisterControlPosition( 
-                   ((CDialerKeyPadButton*)iButtons[i])->Control());   
-        delete iButtons[i];
-        }
-    iButtons.Close();
-    CCoeEnv* env = CCoeEnv::Static();
-    env->RemoveForegroundObserver( *this );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::CountComponentControls
-//
-// ---------------------------------------------------------------------------
-//
-TInt CDialerKeyPadContainer::CountComponentControls() const
-    {
-    return KNumberOfButtons;
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::ComponentControl
-//
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialerKeyPadContainer::ComponentControl( TInt aIndex ) const
-    {
-    __ASSERT_DEBUG( aIndex < KNumberOfButtons, 
-    _L("CDialerKeyPadContainer::ComponentControl, index out of range."));
-    
-    return ((CDialerKeyPadButton*)iButtons[aIndex])->Control();
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::HandlePointerEventL
-//
-// ---------------------------------------------------------------------------
-//  
-void CDialerKeyPadContainer::HandlePointerEventL(
-    const TPointerEvent& aPointerEvent )
-    {
-    DIALER_PRINT("KeyPadContainer::HandlePointerEventL<");    
-    
-    CCoeControl::HandlePointerEventL( aPointerEvent );    
-
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down ) 
-        {
-        iPointerEvent = aPointerEvent;    
-        }
-    DIALER_PRINT("KeyPadContainer::HandlePointerEventL>");     
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::SetVariety
-//
-// Set variety according to current state.
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::SetVariety()
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        iVariety = EVideoVarietyLandscape;
-        }
-    else
-        {
-        iVariety = EVideoVarietyPortrait;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::SetLayout
-//
-// Set layout for video dtmf or phone dialer 
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::SetLayout()
-    {
-    if ( iOperatingMode == EModeDialer )
-        {
-        SetPhoneLayout();
-        }
-    else
-        {
-        SetVideoLayout();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::SetPhoneLayout
-//
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::SetPhoneLayout()
-    {
-    // Set Number entry layout.
-    /*
-
-    // LAF Table : grid_dialer2_keypad_pane
-    inline TAknLayoutScalableParameterLimits cell_dialer2_keypad_pane_ParamLimits()
-    inline TAknWindowComponentLayout cell_dialer2_keypad_pane()
-
-    // LAF Table : cell_dialer2_keypad_pane
-    inline TAknLayoutScalableParameterLimits bg_button_pane_pane_cp04_ParamLimits()
-    inline TAknWindowComponentLayout bg_button_pane_pane_cp04()
-    inline TAknLayoutScalableParameterLimits cell_dialer2_keypad_pane_g1_ParamLimits()
-    */
-    
-    TRect parentRect( Rect() );
-
-    // Icon size - all in same size
-    TAknLayoutRect functionGraphics;  
-             
-    functionGraphics.LayoutRect( 
-        parentRect,
-        TAknWindowComponentLayout::Compose(
-            AknLayoutScalable_Apps::cell_dialer2_keypad_pane( iVariety ),
-            AknLayoutScalable_Apps::cell_dialer2_keypad_pane_g1( 
-                                                        iVariety ) ) );
-    TSize iconSize = functionGraphics.Rect().Size();
-    
-    // Layout buttons
-    TAknLayoutScalableParameterLimits limits = 
-    AknLayoutScalable_Apps::cell_dialer2_keypad_pane_ParamLimits( iVariety );
-    
-    TInt i = 0;
-    for ( TInt row = limits.FirstRow(); row <= limits.LastRow(); row++ )
-        {
-        for ( TInt col = limits.FirstColumn(); 
-              col <= limits.LastColumn(); col++ )
-            {
-            // Layout button
-            AknLayoutUtils::LayoutControl(
-                ((CDialerKeyPadButton*)iButtons[i])->Control(), parentRect, 
-                TAknWindowComponentLayout::Compose( 
-                    AknLayoutScalable_Apps::cell_dialer2_keypad_pane( iVariety,
-                                                col, row ), 
-                    AknLayoutScalable_Apps::bg_button_pane_pane_cp04( 
-                                                iVariety ) ) );
-            
-            // Set icon size
-            ((CDialerKeyPadButton*)iButtons[i++])->SetIconSize( iconSize );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::SetVideoLayout
-//
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::SetVideoLayout()
-    {
-    TRect parentRect( Rect() );
-    
-    // Icon size - all in same size
-    TAknLayoutRect functionGraphics;  
-             
-    functionGraphics.LayoutRect( 
-        parentRect,
-        TAknWindowComponentLayout::Compose(
-            AknLayoutScalable_Apps::cell_video_dialer_keypad_pane( iVariety, 
-                                        0, 0 ),
-            AknLayoutScalable_Apps::cell_video_dialer_keypad_pane_g1( 
-                                        iVariety ) ) );
-    TSize iconSize = functionGraphics.Rect().Size();
-    
-    TAknLayoutScalableParameterLimits limits = 
-        AknLayoutScalable_Apps::cell_video_dialer_keypad_pane_ParamLimits( 
-                                        iVariety ) ;
-    
-    TInt i = 0;
-    for ( TInt row = limits.FirstRow(); row <= limits.LastRow(); row++ )
-        {
-        for ( TInt col = limits.FirstColumn(); 
-              col <= limits.LastColumn(); 
-              col++ )
-            {
-            // Layout button
-            AknLayoutUtils::LayoutControl(
-                ((CDialerKeyPadButton*)iButtons[i])->Control(), parentRect, 
-                TAknWindowComponentLayout::Compose( 
-                    AknLayoutScalable_Apps::cell_video_dialer_keypad_pane( 
-                        iVariety, col, row ), 
-                    AknLayoutScalable_Apps::bg_button_pane_cp08( 
-                                        iVariety ) ) );
-            
-            // Set icon size
-            iButtons[i++]->SetIconSize( iconSize );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::CreateButtonsL
-//
-// Create buttons for this container.
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::CreateButtonsL()
-    {
-    DIALER_PRINT("KeyPadContainer::CreateButtonsL<");
-    
-    for ( TInt i=0; i < KNumberOfButtons; i++ )
-        {
-        CDialerKeyPadButton* button = new (ELeave) CDialerKeyPadButton();
-        CleanupStack::PushL( button );
-        button->CreateButtonL( TDialerButtonToKeypadMap[i][0],
-                               TDialerButtonToKeypadMap[i][1],         
-                               KKeyPadButtons[i],
-                               KKeyPadButtonsMasks[i] );
-        CleanupStack::Pop( button );
-        iButtons.Append( button );                      
-        button->Control()->SetMopParent( this );
-        button->Control()->SetParent( this );    
-        button->Control()->SetContainerWindowL( *this );
-        button->Control()->SetObserver( this );    
-        button->Control()->ActivateL();
-        AknsUtils::RegisterControlPosition( button->Control() );   
-        }     
-    DIALER_PRINT("KeyPadContainer::CreateButtonsL>");        
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::HandleControlEventL
-//
-// Handles an event from an observed button item.
-// Finds the pressed button and generates key press event, which
-// is handled by parent control.
-//
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::HandleControlEventL( CCoeControl* aControl,
-                                                TCoeEvent aEventType )
-    {
-    DIALER_PRINTF("KeyPadContainer::HandleControlEventL.EventType=",
-                 (TInt)aEventType);
-    
-   if ( aEventType == EEventStateChanged   || 
-        aEventType == EEventRequestCancel ||
-        aEventType == EEventRequestExit)
-        
-        {
-        // Find tapped control 
-
-        CDialerKeyPadButton* tappedButton = NULL;
-        for ( TInt i=0; i < iButtons.Count(); i++ )
-            {
-            if ( iButtons[i]->Control() == aControl )
-                {
-                tappedButton = iButtons[i];
-                break;
-                }    
-            }
-            
-        // Send key event to phone.
-        TKeyEvent keyEvent;
-        keyEvent.iScanCode = tappedButton->ScanCode();
-        keyEvent.iCode = tappedButton->KeyCode();
-        keyEvent.iModifiers = 0;
-        keyEvent.iRepeats = 0;  
-             
-        switch ( aEventType )
-            {
-            case EEventRequestExit:
-            case EEventRequestCancel:
-                {
-                DIALER_PRINT("HandleControlEventL.EEventRequestExit");
-                iButtonPressedDown = EFalse;
-                keyEvent.iCode = 0;
-                ControlEnv()->SimulateKeyEventL( keyEvent, EEventKeyUp );
-                }
-                break;
-            case EEventStateChanged:
-                {    
-                DIALER_PRINT("HandleControlEventL.EEventStateChanged");
-                iButtonPressedDown = ETrue;
-
-                iParentControl.PrepareForFocusGainL();
-
-                ControlEnv()->SimulateKeyEventL( keyEvent, EEventKeyDown );    
-
-                if( iButtonPressedDown )
-                    {
-                    // Send event key if key havent be lifted up already
-                    ControlEnv()->SimulateKeyEventL( keyEvent, EEventKey );
-                    }
-                }
-                break;
-            default:
-            break;
-            }
-        }
-    DIALER_PRINT("KeyPadContainer::HandleControlEventL>");        
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::HandleResourceChange
-//
-// Forwards skin change event to buttons
-//
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KAknsMessageSkinChange )
-        {    
-        for ( TInt i=0; i < iButtons.Count(); i++ )
-            {
-            (( CDialerKeyPadButton* )iButtons[i])->HandleResourceChange( 
-                                                                    aType );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::MakeVisible
-//
-// Called when dialer control come visible or unvisible
-//
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::MakeVisible( TBool aVisible )
-    {
-    // This is needed when dialer control disappeares during keypress. 
-    // Last pressed pointer event must be forwarted to framework 
-    // as pointer up event. Thus button is set to unpressed state etc. 
-    // 
-    if ( !aVisible && iButtonPressedDown )
-        {    
-        iPointerEvent.iType = TPointerEvent::EButton1Up;
-        TRAP_IGNORE( HandlePointerEventL( iPointerEvent ) );
-        }    
-    CCoeControl::MakeVisible( aVisible );        
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::HandleGainingForeground
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::HandleGainingForeground()
-    {
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::HandleLosingForeground
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::HandleLosingForeground()
-    {
-    // This is needed when dialer control disappeares during keypress. 
-    // Last pressed pointer event must be forwarted to framework 
-    // as pointer up event. Thus button is set to unpressed state etc. 
-    // 
-    if ( iButtonPressedDown )
-        {    
-        iPointerEvent.iType = TPointerEvent::EButton1Up;
-        TRAP_IGNORE( HandlePointerEventL( iPointerEvent ) );
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::EnableTactileFeedback
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CDialerKeyPadContainer::EnableTactileFeedback( const TBool aEnable )
-    {
-    for ( TInt i=0; i < iButtons.Count(); i++ )
-        {
-        (( CDialerKeyPadButton* )iButtons[i])->EnableAudioFeedback( aEnable );
-        }
-
-    }
-// End of File
--- a/phoneuis/dialer/src/cdialernumberentry.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,774 +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:  Manager for numberentry 
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <eikapp.h>
-#include <gulicon.h>
-#include <w32std.h>
-#include <baclipb.h>            // CClipboard
-#include <dialer.rsg>
-#include <eikimage.h>           // CEikImage
-#include <barsread.h>           // TResourceReader
-#include <eiklabel.h> 
-#include <aknappui.h>
-#include <AknUtils.h>
-#include <AknsDrawUtils.h>
-#include <applayout.cdl.h>
-#include <AknLayoutFont.h>
-#include <AknLayout2Def.h>
-#include <AknPhoneNumberEditor.h>
-#include <AknLayout2ScalableDef.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-#include "cdialernumberentry.h"
-#include "dialercommon.h"
-#include "dialertrace.h"
-#include "dialer.hrh"
-#include "mnumberentry.h"
-
-
-const TInt KNumberEntryControlCount = 2; //  = number entry, label
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// NewL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-CDialerNumberEntry* CDialerNumberEntry::NewL( 
-    const CCoeControl& aContainer )
-    {
-    CDialerNumberEntry* self = 
-        new( ELeave )CDialerNumberEntry( aContainer );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::ConstructL()
-    {   
-   	DIALER_PRINT("numberentry::ConstructL<");  
-    BaseConstructL();
- 
-    // Create number entry editor    
-    iEditor = new( ELeave ) CAknPhoneNumberEditor;
-    iEditor->SetContainerWindowL( *this );
-    iEditor->SetParent( this );
-    iEditor->SetMopParent( this );
-    TResourceReader reader;
-    iCoeEnv->CreateResourceReaderLC( reader, R_INPUTFIELD );
-    ConstructEditorFromResourceL( reader );
-    
-    iFrameContext = CAknsFrameBackgroundControlContext::NewL(
-            KAknsIIDNone, TRect(0,0,4,4), TRect(1,1,3,3), EFalse );    
-            
-    iFrameContext->SetFrame( KAknsIIDQsnFrCall2Rect );      
-    
-    iFrameContext->SetParentContext( 
-        AknsDrawUtils::ControlContextOfParent(this) );           
-                
-    CleanupStack::PopAndDestroy();    // reader    
-    iEditor->SetObserver( this );
-    
-    iLabel = new( ELeave ) CEikLabel;
-    iLabel->SetContainerWindowL( *this );
-    iLabel->SetParent( this );
-    iLabel->SetMopParent( this ); 
-    iLabel->SetTextL( KNullDesC );
-    iLabel->MakeVisible( EFalse );    
-    CheckLabelSkinningColor();
-     
-    ActivateL();
-    DIALER_PRINT("numberentry::ConstructL>");
-    }
-
-
-// Constructor
-CDialerNumberEntry::CDialerNumberEntry(
-    const CCoeControl& aContainer )
-    : CDialerContainerBase ( const_cast<CCoeControl&>(aContainer)  )
-	{
-	}
-
-
-// Destructor
-CDialerNumberEntry::~CDialerNumberEntry()
-    {
-    AknsUtils::DeregisterControlPosition( this );
-    
-    delete iEditor;
-    delete iFrameContext;
-    delete iLabel;
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::SetNumberEntryObserver 
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::SetNumberEntryObserver( 
-                                MNumberEntryObserver& aObserver )
-    {
-    iObserver = &aObserver;
-    }
-        
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::SetFocus
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::SetFocus( TBool aFocus, 
-                                            TDrawNow /*aDrawNow*/ )
-    {
-    DIALER_PRINT("numberentry::SetFocus<");
-    
-    iEditor->SetFocus( aFocus );
-     
-    DIALER_PRINT("numberentry::SetFocus>");    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::TextLength 
-// ---------------------------------------------------------------------------
-//
-TInt CDialerNumberEntry::TextLength()
-    {
-    return iEditor->TextLength();
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::GetNumberEntry
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialerNumberEntry::GetNumberEntry( ) const
-    {
-    return iEditor;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::CreateNumberEntry
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::CreateNumberEntry()
-    {
-    iEditor->SetFocus( ETrue );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::ChangeEditorMode
-// ---------------------------------------------------------------------------
-//
-TInt CDialerNumberEntry::ChangeEditorMode( TBool aDefaultMode )
-    {
-    return iEditor->ChangeEditorMode( aDefaultMode );
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::GetEditorMode  
-// ---------------------------------------------------------------------------
-//
-TInt CDialerNumberEntry::GetEditorMode() const
-    {
-    return iEditor->GetEditorMode();
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::SetTextToNumberEntry
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::SetTextToNumberEntry( const TDesC& aDesC )
-    {
-    DIALER_PRINT("numberentry::SetTextToNumberEntry<");
-        	
-    iEditor->SetText( aDesC );   
-    iEditor->DrawNow();
-    
-    DIALER_PRINT("numberentry::SetTextToNumberEntry>");
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::GetTextFromNumberEntry
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::GetTextFromNumberEntry( TDes& aDesC )
-    {
-    iEditor->GetText( aDesC );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::ResetEditorToDefaultValues
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::ResetEditorToDefaultValues()
-    {
-    iEditor->SetFocus( EFalse );
-    SetTextToNumberEntry( KNullDesC );
-    iEditor->ResetEditorToDefaultValues();
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::SetNumberEntryPromptTextL
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::SetNumberEntryPromptTextL( const TDesC& aPromptText )
-    {
-    if ( aPromptText.Length() )
-        {
-        iLabel->MakeVisible( ETrue );
-        }
-    else
-        {
-        iLabel->MakeVisible( EFalse );
-        }
-    
-    iLabel->SetTextL( aPromptText );   
-    }
-
-// ----------------------------------------------------------------------------
-// CDialerNumberEntry::HandleCommandL
-// Handles NE specific commands.
-// ----------------------------------------------------------------------------
-//
-TBool CDialerNumberEntry::HandleCommandL( TDialerCommandId aCommand)
-    {
-    DIALER_PRINTF("numberentry::HandleCommandL<:", aCommand); 
-    	
-    TBool handled( ETrue );
-    switch ( aCommand )
-        {
-        case EDialerCmdTouchInput:  // open touch input (VKB)
-            {
-            StartVirtualKeyBoard();
-            }
-            break;
-        default:
-            {
-            handled = EFalse;
-            }
-            break;
-        }
-        
-    DIALER_PRINT("numberentry::HandleCommandL>");         
-    return handled;
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::ClearEditorFlags
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::ClearEditorFlags()
-    {
-    iEditor->ResetEditorToDefaultValues();
-    }
-
-// ---------------------------------------------------------------------------
-//  CDialerNumberEntry::HandleControlEventL
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::HandleControlEventL( CCoeControl* aControl, 
-                                              TCoeEvent aEventType )
-    {
-    DIALER_PRINT("numberentry::HandleControlEventL<"); 
-    
-    TInt format( KDialerNELayoutLargeFont );
-    if ( aControl == iEditor && aEventType == EEventStateChanged )
-        {
-        HandleEditorFormatting();
-        InformNumberEntryState();        
-        iEditor->DrawDeferred();
-        
-        }
-        
-    DIALER_PRINT("numberentry::HandleControlEventL>");                
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CDialerNumberEntry::OfferKeyEventL( 
-                                            const TKeyEvent& aKeyEvent, 
-                                            TEventCode aType )
-    {   
-    return iEditor->OfferKeyEventL( aKeyEvent, aType );
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::CountComponentControls 
-// ---------------------------------------------------------------------------
-//
-TInt CDialerNumberEntry::CountComponentControls() const
-    {
-    return KNumberEntryControlCount;
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::ComponentControl
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialerNumberEntry::ComponentControl( TInt aIndex ) const
-    {
-    __ASSERT_DEBUG( aIndex < KNumberEntryControlCount, 
-                             User::Panic(_L("Dialer"), KErrArgument) );
-    
-    if ( aIndex == 0 )
-        {
-        return iEditor;
-        }
-    else if ( aIndex == 1 )
-        {
-        return iLabel;
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::Draw
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc( );
-    gc.SetBrushColor( AKN_LAF_COLOR( 0 /** White - get from layout */ ));
-    TRect rect = Rect();
-    
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    
-    // Draw the skin background of the parent 
-    if ( !AknsDrawUtils::DrawFrame( skin,
-                             (CWindowGc&) gc,  
-                             iOuterRect,
-                             iInnerRect,
-                             KAknsIIDQsnFrCall2Rect,
-                             KAknsIIDDefault ))
-        {
-        DIALER_PRINT("numberentry::Draw.Frame.failed"); 
-        }
-                            
-    gc.SetBrushStyle( CGraphicsContext::ENullBrush );        
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::SetVariety
-// Set variety according to status
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::SetVariety()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::SetLayout
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::SetLayout()
-    {
-    AknsUtils::RegisterControlPosition( this );
-
-    TDialerVariety variety( EDialerVarietyLandscape );
-    if (  !Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        variety = EDialerVarietyPortrait;
-        }      
-        
-    TRect parentRect( Rect() );
-    TAknTextComponentLayout neLayout = 
-                        AknLayoutScalable_Apps::dialer2_ne_pane_t1( variety ); 
-
-    AknLayoutUtils::LayoutControl(
-        iEditor, parentRect, 
-        neLayout.C(),
-        neLayout.l(),
-        neLayout.t(),
-        neLayout.r(),
-        neLayout.b(),
-        neLayout.W(),
-        neLayout.H()
-        );
-
-    UpdateNumberEntryFormats(); 
-      
-    RectFrameInnerOuterRects(
-           Rect(),
-           iOuterRect,
-           iInnerRect );
-
-    iFrameContext->SetFrameRects( iOuterRect, iInnerRect );
-                
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsDrawUtils::PrepareFrame( skin,
-                                 iOuterRect,
-                                 iInnerRect,
-                                 KAknsIIDQsnFrCall2Rect,
-                                 KAknsIIDDefault ); 
-    // Label layout
-
-    // Portrait variety is temporarily used also in landscape.
-    // Landscape layout data is now unavailable. 
-    TAknTextComponentLayout labelLayout = 
-                        AknLayoutScalable_Apps::dialer2_ne_pane_t2( 
-                                                    EDialerVarietyPortrait );
-    // Temporary solution 
-    labelLayout.Setl(neLayout.l());
-    AknLayoutUtils::LayoutLabel( iLabel, parentRect, labelLayout );
-    
-    HandleEditorFormatting();
-    iEditor->DrawDeferred();
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::ConstructEditorFromResourceL 
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::ConstructEditorFromResourceL( 
-                                TResourceReader& aReader )
-    {
-    TInt maxChars = aReader.ReadInt16();
-    TInt maxLines = aReader.ReadInt16();
-    HBufC* truncation = aReader.ReadHBufCL();
-    CleanupStack::PushL( truncation );
-    TInt formatCount = aReader.ReadInt16();
-    iEditor->ConstructL( maxChars, maxLines, formatCount, *truncation );  
-    CleanupStack::PopAndDestroy( truncation );       
-    iFormatCount = formatCount;
-
-    for ( TInt ii = 0; ii < iFormatCount; ii++ )
-        {
-        CAknPhoneNumberEditor::TFormat format( aReader );
-	    CalculateLayout( format, ii );
-        iEditor->AddFormat( format );
-        }
-
-    iEditor->SetFormat( KDialerNELayoutLargeFont );
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::UpdateNumberEntryFormats
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::UpdateNumberEntryFormats( )
-    {
-    DIALER_PRINT("numberentry::UpdateNumberEntryFormats<");
-    TInt currentFormat = iEditor->CurrentFormatIndex();
-
-    for ( TInt ii = 0; ii < iFormatCount; ii++ )
-        {
-        CAknPhoneNumberEditor::TFormat format( iEditor->Format( ii ) );
-		CalculateLayout( format, ii );
-        iEditor->Format( ii ) = format;
-        }
-
-    iEditor->SetFormat( currentFormat );
-    DIALER_PRINT("numberentry::UpdateNumberEntryFormats>");
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::CalculateLayout
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::CalculateLayout( 
-        CAknPhoneNumberEditor::TFormat& aFormat, TInt aNEVariety )
-    {
-    TAknLayoutText textsLargeFontLine1Text;
-    TAknLayoutText textsLargeFontLine2Text;
-    TAknLayoutText textsLargeFontLine3Text;
-    
-    TAknLayoutText textsSmallFontLine1Text;
-    TAknLayoutText textsSmallFontLine2Text;
-    TAknLayoutText textsSmallFontLine3Text;    		
-      
-    const CAknLayoutFont* layoutFont;
-	
-	switch ( aNEVariety )
-		{
-		case KDialerNELayoutLargeFont:
-			{
-			TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 2 : 0;
-			
-            TAknLayoutScalableParameterLimits limits = 
-                AknLayoutScalable_Apps::dialer2_ne_pane_t1_ParamLimits( 
-                                                         variety );                
-            //Line 1
-            textsLargeFontLine1Text.LayoutText( Rect(), 
-                 AknLayoutScalable_Apps::dialer2_ne_pane_t1( 
-                                                         variety, 0, 0 ) );  
-            //Line 2     
-            textsLargeFontLine2Text.LayoutText( Rect(), 
-                 AknLayoutScalable_Apps::dialer2_ne_pane_t1( 
-                                                         variety, 
-                                                         0, 
-                                                         1 ) );
-            //Last row
-            textsLargeFontLine3Text.LayoutText( Rect(), 
-                AknLayoutScalable_Apps::dialer2_ne_pane_t1( variety,
-                                                            0, 
-                                                            limits.LastRow() ) );
-
-            //Need to add one row because zero is the first line                
-            aFormat.iNumLines =  limits.LastRow()+1;
-                            	
-        	//take font from line 1    
-            aFormat.iFont = textsLargeFontLine1Text.Font();
-            layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( aFormat.iFont);
-            aFormat.iBottomBaselineOffset = 
-                                         layoutFont->BaselineToTextPaneBottom();
-            //outer rect from last line
-            aFormat.iOuterRect = textsLargeFontLine3Text.TextRect();
-            // have to add extra gap
-            aFormat.iOuterRect.iTl.iY -= aFormat.iBottomBaselineOffset; 
-         
-            //calculate baselineSeparation from the difference of the second 
-            //line and the first line bottom right Y coordinates            
-            TInt baselineSeparation = textsLargeFontLine2Text.TextRect().iBr.iY 
-                - textsLargeFontLine1Text.TextRect().iBr.iY;
-            
-            aFormat.iOuterRect.iTl.iY -= ( (aFormat.iNumLines - 1) 
-                                            * baselineSeparation );
-            aFormat.iBaselineSeparation = baselineSeparation;  									
-			}
-			break;
-		case KDialerNELayoutSmallFont:
-			{
-			TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 3 : 1;
-			
-            TAknLayoutScalableParameterLimits limits = 
-                AknLayoutScalable_Apps::dialer2_ne_pane_t1_ParamLimits( 
-                                                                variety );                   
-            //Line 1
-            textsSmallFontLine1Text.LayoutText( Rect(), 
-                 AknLayoutScalable_Apps::dialer2_ne_pane_t1( variety,0,0 ) );  
-            //Line 2     
-            textsSmallFontLine2Text.LayoutText( Rect(), 
-                 AknLayoutScalable_Apps::dialer2_ne_pane_t1( variety,0,1 ) );
-            //Last row
-            textsSmallFontLine3Text.LayoutText( Rect(), 
-                 AknLayoutScalable_Apps::dialer2_ne_pane_t1( 
-                                                         variety,
-                                                         0, 
-                                                         limits.LastRow() ) ); 
-            
-            //Need to add one row because zero is the first line
-            aFormat.iNumLines =  limits.LastRow()+1;
-                                                                   
-        	 //take font from line 1     
-            aFormat.iFont = textsSmallFontLine1Text.Font();
-            layoutFont = CAknLayoutFont::AsCAknLayoutFontOrNull( 
-                                                           aFormat.iFont);
-            aFormat.iBottomBaselineOffset = 
-                                        layoutFont->BaselineToTextPaneBottom();
-            //outer rect from line 3
-            aFormat.iOuterRect = textsSmallFontLine3Text.TextRect();
-            // have to add extra gap
-            aFormat.iOuterRect.iTl.iY -= aFormat.iBottomBaselineOffset; 
-            
-            //calculate baselineSeparation from the difference of the second 
-            //line and the first line bottom right Y coordinates
-            TInt baselineSeparation = textsSmallFontLine2Text.TextRect().iBr.iY 
-                - textsSmallFontLine1Text.TextRect().iBr.iY;
-            
-            aFormat.iOuterRect.iTl.iY -= ( (aFormat.iNumLines - 1) 
-                                            * baselineSeparation );
-            aFormat.iBaselineSeparation = baselineSeparation; 					
-			} 
-			break;
-	 	default:
-	 		break;
-		} 				
-	}
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::HandleResourceChange  
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    
-    if ( aType == KAknsMessageSkinChange )
-        {
-        CheckLabelSkinningColor(); 
-        }
-    }
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::HandleEditorFormatting  
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::HandleEditorFormatting()
-    {
-    TInt format( KDialerNELayoutLargeFont );
-  
-    if ( !iEditor->WouldTextFitInFormat( KDialerNELayoutLargeFont )  )
-        {
-        format = KDialerNELayoutSmallFont;
-        }
-   
-    if ( iEditor->CurrentFormatIndex() != format )
-        {
-        iEditor->DrawDeferred();
-        iEditor->SetFormat( format );              
-        iFrameContext->SetRect( Rect() );                
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::StartVirtualKeyBoard 
-// ---------------------------------------------------------------------------
-//
-void CDialerNumberEntry::StartVirtualKeyBoard( )
-    {
-    // To change focus to VKB, if not called VKB will not come visible
-    CEikonEnv::Static()->SyncNotifyFocusObserversOfChangeInFocus();
-    iEditor->OpenVKB();
-    }
-  
-// ---------------------------------------------------------------------------
-// CDialerNumberEntry::MopSupplyObject
-// ---------------------------------------------------------------------------
-//
-TTypeUid::Ptr CDialerNumberEntry::MopSupplyObject( TTypeUid aId )  
-    {
-    if ( aId.iUid == MAknsControlContext::ETypeId && iFrameContext )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iFrameContext );
-        }
-    else
-        {
-        return CCoeControl::MopSupplyObject( aId );
-        } 
-    }    
-    
-// -----------------------------------------------------------------------------
-// CDialerNumberEntry::RectFrameInnerOuterRects
-// -----------------------------------------------------------------------------
-//
-void CDialerNumberEntry::RectFrameInnerOuterRects( const TRect& aFrameRect,
-                                              TRect& aOuterRect,
-                                              TRect& aInnerRect )
-    {
-    if ( Layout_Meta_Data::IsMirrored() )
-        {
-        TAknLayoutRect frameTopRight;        
-        frameTopRight.LayoutRect( 
-         aFrameRect, 
-         AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g3().LayoutLine() );                
-                
-        TAknLayoutRect frameBottomLeft;        
-        frameBottomLeft.LayoutRect( 
-         aFrameRect, 
-         AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g4().LayoutLine() );                        
-
-        aOuterRect = TRect( frameTopRight.Rect().iTl, 
-                            frameBottomLeft.Rect().iBr );
-                
-        aInnerRect = TRect( frameTopRight.Rect().iBr, 
-                            frameBottomLeft.Rect().iTl );    
-        }
-    else
-        {
-        TAknLayoutRect frameTopLeft;        
-        frameTopLeft.LayoutRect( 
-         aFrameRect, 
-         AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g2().LayoutLine() );
-
-        TAknLayoutRect frameBottomRight;        
-        frameBottomRight.LayoutRect( 
-         aFrameRect, 
-         AknLayoutScalable_Apps::bg_popup_call2_rect_pane_g5().LayoutLine() );
-        
-        aOuterRect = TRect( frameTopLeft.Rect().iTl, 
-                            frameBottomRight.Rect().iBr );
-        aInnerRect = TRect( frameTopLeft.Rect().iBr, 
-                            frameBottomRight.Rect().iTl );    
-        }                    
-    }    
-    
-// -----------------------------------------------------------------------------
-// CDialerNumberEntry::InformNumberEntryState()
-// -----------------------------------------------------------------------------
-//
-void CDialerNumberEntry::InformNumberEntryState()
-    {
-    if ( !iNumberContents && iEditor->TextLength() )
-        {
-        // Hide prompt text
-        if ( iLabel->Text()->Length() )
-            {
-            iLabel->MakeVisible( EFalse );     
-            }         
-        iNumberContents = ETrue;
-        }
-    else if ( iNumberContents && !iEditor->TextLength() )
-        {  
-        // Show prompt text
-        if ( iLabel->Text()->Length() )
-            {
-            iLabel->MakeVisible( ETrue );     
-            } 
-        iNumberContents = EFalse;
-        } 
-
-    if( iObserver )
-        {
-        iObserver->NumberEntryStateChanged( iNumberContents );
-        }
-    
-    }
-    
-// -----------------------------------------------------------------------------
-// CDialerNumberEntry::CheckLabelSkinningColor()
-// -----------------------------------------------------------------------------
-//
-void CDialerNumberEntry::CheckLabelSkinningColor()
-    {
-    // Check skinning colour for the prompt text:
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    TRgb skinColor;
-    TInt error = 
-        AknsUtils::GetCachedColor( 
-            skin, 
-            skinColor, 
-            KAknsIIDQsnTextColors,
-            EAknsCIQsnTextColorsCG51 );
-            
-    if ( error == KErrNone )
-        {
-        // Ignore error
-        TRAP_IGNORE( iLabel->OverrideColorL( EColorLabelText, skinColor ) );
-        }   
-    }
-    
-// End of File
--- a/phoneuis/dialer/src/cdialerstub.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,386 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of dialer stub.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cdialer.h"
-
-#include <aknenv.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CDialer::NewL
-//
-// Symbian OS two phased constructor for telephony phone dialer mode
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDialer* CDialer::NewL( const CCoeControl& aContainer, 
-                                 const TRect& aRect )
-    {
-    CDialer* self = new( ELeave )CDialer ( );    
-    CleanupStack::PushL( self );
-    self->ConstructL( aContainer , aRect );
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-// Destructor
-EXPORT_C CDialer::~CDialer()
-    {
-    // Empty
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::ConstructL
-//
-// Symbian OS two phased constructor for phone dialer more.
-// ---------------------------------------------------------------------------
-//
-void CDialer::ConstructL( 
-    const CCoeControl& aContainer, 
-    const TRect& aRect )
-    {    
-    // set window
-    SetContainerWindowL( aContainer );
-    SetParent( const_cast<CCoeControl*>(&aContainer) );
-    iParentControl = &aContainer;
-    SetRect( aRect );
-    }
-
-// Constructor
-CDialer::CDialer( ) :
-    iEikEnv( *CEikonEnv::Static() )
-    {
-    // Empty    
-    }
-
-// -----------------------------------------------------------------------------
-// CDialer::NumberEntry
-//
-// Return pointer to MNumberEntry interface.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MNumberEntry* CDialer::NumberEntry()
-    {
-    return this;
-    }
-
-// -----------------------------------------------------------------------------
-// CDialer::SetNumberEntryObserver
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CDialer::SetNumberEntryObserver( MNumberEntryObserver& /*aObserver*/ ) 
-    {
-    // Empty
-    }
-
-
-// Methods from MNumberEntry
-
-// ---------------------------------------------------------------------------
-// CDialer::CreateNumberEntry
-//  
-// Creates number entry in phone dialer mode. In video DTMF mode
-// only sets CBA.
-// ---------------------------------------------------------------------------
-//
-void CDialer::CreateNumberEntry()
-    {
-    // Empty
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CDialer::GetNumberEntry
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialer::GetNumberEntry( ) const
-    {
-    return NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::IsNumberEntryUsed
-//  
-// ---------------------------------------------------------------------------
-//
-TBool CDialer::IsNumberEntryUsed( ) const
-    {
-    return EFalse;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::SetNumberEntryVisible
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::SetNumberEntryVisible( const TBool& /*aVisibility */)
-    {
-    // Empty
-    }
-
-    
-// ---------------------------------------------------------------------------
-// CDialer::SetTextToNumberEntry
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::SetTextToNumberEntry( const TDesC& /*aDesC */)
-    {
-    // Empty
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::GetTextFromNumberEntry
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::GetTextFromNumberEntry( TDes& aDesC )
-    {
-    aDesC = KNullDesC();
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::RemoveNumberEntry
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::RemoveNumberEntry( )
-    {
-    iIsUsed = EFalse;    
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::ChangeEditorMode
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CDialer::ChangeEditorMode( TBool /*aDefaultMode */)
-    {
-    return KErrNotSupported;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::OpenVKBL
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::OpenVkbL()
-    {
-    // Empty
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::GetEditorMode
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CDialer::GetEditorMode() const
-    {
-    return KErrNotSupported;
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::ResetEditorToDefaultValues
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::ResetEditorToDefaultValues()
-    {
-    // Empty
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::SetNumberEntryPromptText
-//  
-// ---------------------------------------------------------------------------
-//    
-void CDialer::SetNumberEntryPromptText( const TDesC& /*aPromptText*/ ) 
-    {
-    // Empty
-    }    
-
-// ---------------------------------------------------------------------------
-// CDialer::EnableTactileFeedback
-//  
-// ---------------------------------------------------------------------------
-//    
-void CDialer::EnableTactileFeedback( const TBool /*aEnable*/ )
-    {
-    // Empty
-    }
-// Functions from CCoeControl
-
-// ---------------------------------------------------------------------------
-// CDialer::SizeChanged
-// 
-// Called by framework when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::SizeChanged()
-    {
-    // Empty
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CDialer::PositionChanged()
-    {
-    // Empty
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::CountComponentControls
-//
-// Returns contained controls in phone dialer mode or in video dtmf mode.
-// ---------------------------------------------------------------------------
-//
-TInt CDialer::CountComponentControls() const
-    {
-    return 0;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDialer::ComponentControl(TInt aIndex) const
-//
-// Returns contained control by given index.
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialer::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return NULL;
-    } 
-
-// ---------------------------------------------------------------------------
-// CDialer::Draw
-// ---------------------------------------------------------------------------
-//
-void CDialer::Draw( const TRect& /*aRect*/ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::FocusChanged
-// ---------------------------------------------------------------------------
-//
-void CDialer::FocusChanged(TDrawNow /*aDrawNow*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::PrepareForFocusGainL
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::PrepareForFocusGainL( )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::HandleResourceChange
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CDialer::HandlePointerEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CDialer::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    // Calling base class implementation
-    CCoeControl::HandlePointerEventL(aPointerEvent);    
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::MakeVisible
-// ---------------------------------------------------------------------------
-//
-void CDialer::MakeVisible( TBool /*aVisible*/ )
-	{
-	}    
-
-// Private methods
-
-
-// -----------------------------------------------------------------------------
-// CDialer::LoadResourceL
-//
-// -----------------------------------------------------------------------------
-//
-void CDialer::LoadResourceL()
-    {
-    // Empty
-    }
-
-// -----------------------------------------------------------------------------
-// CDialer::UnLoadResources
-//
-// -----------------------------------------------------------------------------
-//    
-void CDialer::UnLoadResources()
-    {
-    // Empty
-    }
-    
-// ---------------------------------------------------------------------------
-// CDialer::ComponentControlForDialerMode
-// 
-// Returns contained control by given index in ohonedialer mode.
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialer::ComponentControlForDialerMode( const TInt /*aIndex*/ ) const
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CDialer::EdwinState
-// 
-// Returns edwin state of the editor.
-//  
-// ---------------------------------------------------------------------------
-//
-CAknEdwinState* CDialer::EdwinState()
-    {
-    return NULL;
-    } 
-
-// ---------------------------------------------------------------------------
-// CDialer::UpdateVkbEditorFlagsL
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialer::UpdateVkbEditorFlagsL()
-    {
-    // Empty
-    }
-
-// End of File
--- a/phoneuis/dialer/src/cdialervideocontainer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +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:  Manager for video keypad 
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <eikapp.h>
-#include <gulicon.h>
-#include <w32std.h>
-#include <eikimage.h> // CEikImage
-#include <barsread.h> // TResourceReader
-#include <aknappui.h>
-#include <AknUtils.h>
-#include <AknsDrawUtils.h>
-#include <AknLayoutFont.h>
-#include <AknLayout2Def.h>
-#include <layoutmetadata.cdl.h>
-#include <AknLayout2ScalableDef.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <AknsFrameBackgroundControlContext.h>
-
-#include "cdialervideocontainer.h"
-#include "dialercommon.h"
-
-
-// CONSTS
-const TInt KNumberOfButtons = 0;    // Number of command buttons in container.
-const TInt KVideoControlCount = KNumberOfButtons + 1; //  = Video window
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CDialerVideoContainer::NewL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-CDialerVideoContainer* CDialerVideoContainer::NewL( 
-    const CCoeControl& aContainer,
-    CCoeControl& aVideoWindow )
-    {
-    CDialerVideoContainer* self = 
-        new( ELeave )CDialerVideoContainer( aContainer, aVideoWindow );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerVideoContainer::ConstructL
-// Symbian OS two phased constructor
-// 
-// ---------------------------------------------------------------------------
-//
-void CDialerVideoContainer::ConstructL()
-    {    
-    BaseConstructL();
-
-    iVideoWindow.SetContainerWindowL( *this );
-    iVideoWindow.SetParent( this );
-    iVideoWindow.SetMopParent( this );
-
-    ActivateL();
-    }
-
-
-// Constructor
-CDialerVideoContainer::CDialerVideoContainer(
-    const CCoeControl& aContainer, 
-    CCoeControl& aVideoWindow )
-    : CDialerContainerBase ( const_cast<CCoeControl&>(aContainer) ), 
-      iVideoWindow ( aVideoWindow )
-	{
-	// Empty.
-	}
-
-// Destructor
-CDialerVideoContainer::~CDialerVideoContainer()
-    {
-    // Empty.
-    }
-
-    
-// Methods from base class
-
-//
-// Methods from CDialerContainerBase
-//
-
-// ---------------------------------------------------------------------------
-// CDialerVideoContainer::SetFocus
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialerVideoContainer::SetFocus( TBool aFocus, 
-                                      TDrawNow /*aDrawNow*/ )
-    {
-    iVideoWindow.SetFocus( aFocus );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDialerVideoContainer::SetVariety
-// Set variety according to status
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialerVideoContainer::SetVariety()
-    {
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        iVariety = EVideoVarietyLandscape;
-        }
-    else
-        {
-        iVariety = EVideoVarietyPortrait;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerVideoContainer::SetLayout
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialerVideoContainer::SetLayout()
-    {
-    iVideoWindow.SetRect( Rect() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CDialerKeyPadContainer::CountComponentControls
-//  
-// ---------------------------------------------------------------------------
-//
-TInt CDialerVideoContainer::CountComponentControls() const
-    {
-    return KVideoControlCount;
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerVideoContainer::ComponentControl
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CDialerVideoContainer::ComponentControl( TInt aIndex ) const
-    {
-    __ASSERT_DEBUG( aIndex < KVideoControlCount, 
-    User::Panic(_L("Dialer"), KErrArgument) );
-    return &iVideoWindow;
-    }
-
-// ---------------------------------------------------------------------------
-// CDialerVideoContainer::Draw
-//  
-// ---------------------------------------------------------------------------
-//
-void CDialerVideoContainer::Draw( const TRect& /*aRect */) const
-    {
-    CWindowGc& gc = SystemGc( );
-    gc.SetBrushColor( AKN_LAF_COLOR( 0 /** White - get from layout */ ));
-    TRect rect = Rect();
-    
-    // Draw the skin background of the parent 
-    AknsDrawUtils::DrawBackground( AknsUtils::SkinInstance(), 
-        AknsDrawUtils::ControlContextOfParent(this), this, gc, 
-        rect.iTl, rect, KAknsDrawParamDefault );
-
-    gc.SetBrushStyle( CGraphicsContext::ENullBrush );    
-    }
-
-// End of File
--- a/phoneuis/dialer/src/cvideodtmfdialer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,290 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CVideoDTMFDialer class.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <avkon.rsg>
-#include <apgcli.h>
-#include <apacmdln.h>
-#include <eikspane.h>
-#include <aknenv.h>                         // AKN_LAF_COLOR
-#include <AknUtils.h>
-#include <AknsUtils.h>
-#include <aknappui.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <data_caging_path_literals.hrh>    // for KDC_APP_RESOURCE_DIR
-#include <bautils.h>                        // for BaflUtils
-
-#include "cvideodtmfdialer.h"
-#include "dialercommon.h"
-#include <dialer.rsg>
-#include "dialer.hrh"
-#include "cdialerkeypadcontainer.h"
-#include "cdialervideocontainer.h"
-#include "dialertrace.h"
-
-
-_LIT( KDialerResourceFile, "dialer.rsc" );
-
-// Video and keypad areas
-const TInt KContainedControlsInVideoDTMFMode = 2; 
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::NewL
-//
-// Symbian OS two phased constructor for video dtmf mode
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CVideoDTMFDialer* CVideoDTMFDialer::NewL( const CCoeControl& aContainer, 
-                                 CCoeControl& aVideoWindow, 
-                                 const TRect& aRect )
-    {
-    CVideoDTMFDialer* self = new( ELeave )CVideoDTMFDialer ( );    
-    CleanupStack::PushL( self );
-    self->ConstructL( aContainer , aVideoWindow, aRect );
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-// Destructor
-EXPORT_C CVideoDTMFDialer::~CVideoDTMFDialer()
-    {
-    DIALER_PRINT("CVideoDTMFDialer::~CVideoDTMFDialer<"); 
-    AknsUtils::DeregisterControlPosition( this );
-
-    delete iKeypadArea;
-    delete iVideoWindow;
-    
-    UnLoadResources();
-
-    DIALER_PRINT("CVideoDTMFDialer::~CVideoDTMFDialer>"); 
-    }
-    
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::ConstructL
-//
-// Symbian OS two phased constructor for video telephony mode.
-//
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::ConstructL( 
-    const CCoeControl& aContainer, 
-    CCoeControl& aVideoWindow,
-    const TRect& aRect )
-    {    
-    DIALER_PRINT("CVideoDTMFDialer::ConstructL<");
-    LoadResourceL();    
-    // set window
-    SetContainerWindowL( aContainer );
-    SetParent( const_cast<CCoeControl*>(&aContainer) );
-    iParentControl = &aContainer;
-
-    iVideoWindow = CDialerVideoContainer::NewL( *this, aVideoWindow );
-    iKeypadArea = CDialerKeyPadContainer::NewL( *this, EModeVideoDTMF );
-    
-    SetRect( aRect );
-    DIALER_PRINT("CVideoDTMFDialer::ConstructL>");        
-    }
-
-// Constructor
-CVideoDTMFDialer::CVideoDTMFDialer( ) :
-    iEikEnv( *CEikonEnv::Static() )
-    {
-    // Empty    
-    }
-    
-// Functions from CCoeControl
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::SizeChanged
-// 
-// Called by framework when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::SizeChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    TRect parentRect(Rect());
-    
-    // Method is called before containers are created.
-    if ( !iKeypadArea )
-        {
-        return;
-        }
-
-    TVideoVariety variety( EVideoVarietyLandscape );
-    if (  !Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        variety = EVideoVarietyPortrait;
-        }
-
-    // Layout video window.
-    AknLayoutUtils::LayoutControl(
-        iVideoWindow, parentRect, 
-        AknLayoutScalable_Apps::video_down_pane_cp( variety ).LayoutLine() );
-
-    // layout keypad area.
-    AknLayoutUtils::LayoutControl(
-        iKeypadArea, parentRect, 
-        AknLayoutScalable_Apps::grid_video_dialer_keypad_pane( variety ).LayoutLine() );
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::PositionChanged
-//
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::PositionChanged()
-    {
-    AknsUtils::RegisterControlPosition( this );
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::CountComponentControls
-//
-// Returns contained controls in phone dialer mode or in video dtmf mode.
-//
-// ---------------------------------------------------------------------------
-//
-TInt CVideoDTMFDialer::CountComponentControls() const
-    {
-    TInt count( 0 );
-    count = KContainedControlsInVideoDTMFMode;
-    return count;
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::ComponentControl
-//
-// Returns contained control by given index.
-//
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CVideoDTMFDialer::ComponentControl( TInt aIndex ) const
-    {
-    CCoeControl* currentControl( NULL );
-
-    currentControl = ComponentControlForVideoMode( aIndex);
-
-    return currentControl;
-    } 
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::Draw
-//
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::Draw( const TRect& /*aRect*/ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::HandleResourceChange
-//  
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SizeChanged();
-        }
-    CCoeControl::HandleResourceChange( aType );
-    }
-
-// -----------------------------------------------------------------------------
-// CVideoDTMFDialer::HandlePointerEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    // Calling base class implementation
-    CCoeControl::HandlePointerEventL(aPointerEvent);    
-    }
-
-// Private methods
-
-// -----------------------------------------------------------------------------
-// CVideoDTMFDialer::LoadResourceL
-//
-// -----------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::LoadResourceL()
-    {
-    TFileName path( KDriveZ );
-    path.Append( KDC_RESOURCE_FILES_DIR );
-    path.Append( KDialerResourceFile );
-    
-    RFs &fsSession= iEikEnv.FsSession();
-    BaflUtils::NearestLanguageFile( fsSession, path ); 
-    iResourceOffset = iEikEnv.AddResourceFileL( path );
-    }
-
-// -----------------------------------------------------------------------------
-// CVideoDTMFDialer::UnLoadResources
-//
-// -----------------------------------------------------------------------------
-//    
-void CVideoDTMFDialer::UnLoadResources()
-    {
-    if ( iResourceOffset > 0 )
-        {
-        iEikEnv.DeleteResourceFile( iResourceOffset );
-        iResourceOffset = 0;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::ComponentControlForVideoMode
-// 
-// Returns contained control by given index in video DTMF mode.
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CVideoDTMFDialer::ComponentControlForVideoMode( const TInt aIndex ) const
-    {
-    CCoeControl* currentControl(NULL);
-    
-    switch ( aIndex )
-        {
-        case 0:
-            {
-            currentControl = iKeypadArea;
-            break;
-            }
-        case 1:
-            {
-            currentControl = iVideoWindow;
-            break;
-            }
-        default:
-            {
-            __ASSERT_DEBUG( EFalse, 
-            _L("CVideoDTMFDialer::ComponentControl no such component defined"));
-            }
-        }
-
-    return currentControl;
-    } 
-
-// End of File
--- a/phoneuis/dialer/src/cvideodtmfdialerstub.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CVideoDTMFDialer class, stub.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cvideodtmfdialer.h"
-
-#include <aknenv.h>
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::NewL
-//
-// Symbian OS two phased constructor for video dtmf mode
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CVideoDTMFDialer* CVideoDTMFDialer::NewL( const CCoeControl& aContainer, 
-                                 CCoeControl& aVideoWindow, 
-                                 const TRect& aRect )
-    {
-    CVideoDTMFDialer* self = new( ELeave )CVideoDTMFDialer ( );    
-    CleanupStack::PushL( self );
-    self->ConstructL( aContainer , aVideoWindow, aRect );
-    CleanupStack::Pop();    // self
-    return self;
-    }
-
-// Destructor
-EXPORT_C CVideoDTMFDialer::~CVideoDTMFDialer()
-    {
-    // Empty
-    }
-    
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::ConstructL
-//
-// Symbian OS two phased constructor for video telephony mode.
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::ConstructL( 
-    const CCoeControl& aContainer, 
-    CCoeControl& /*aVideoWindow*/,
-    const TRect& aRect )
-    {
-    // set window
-    SetContainerWindowL( aContainer );
-    SetParent( const_cast<CCoeControl*>(&aContainer) );
-    iParentControl = &aContainer;
-    SetRect( aRect );
-    }
-
-// Constructor
-CVideoDTMFDialer::CVideoDTMFDialer( ) :
-    iEikEnv( *CEikonEnv::Static() )
-    {
-    // Empty    
-    }
-    
-
-// Functions from CCoeControl
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::SizeChanged
-// 
-// Called by framework when the view size is changed
-//  
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::SizeChanged()
-    {
-    // Empty
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::PositionChanged
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::PositionChanged()
-    {
-    // Empty
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::CountComponentControls
-//
-// Returns contained controls in phone dialer mode or in video dtmf mode.
-// ---------------------------------------------------------------------------
-//
-TInt CVideoDTMFDialer::CountComponentControls() const
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::ComponentControl(TInt aIndex) const
-//
-// Returns contained control by given index.
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CVideoDTMFDialer::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return NULL;
-    } 
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::Draw
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::Draw( const TRect& /*aRect*/ ) const
-    {
-    // Empty
-    }
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::HandleResourceChange
-//  
-// ---------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::HandleResourceChange( TInt /*aType*/ )
-    {
-    // Empty
-    }
-
-// -----------------------------------------------------------------------------
-// CVideoDTMFDialer::HandlePointerEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::HandlePointerEventL( const TPointerEvent& /*aPointerEvent*/ )
-    {
-    // Empty  
-    }
-
-// Private methods
-
-// -----------------------------------------------------------------------------
-// CVideoDTMFDialer::LoadResourceL
-//
-// -----------------------------------------------------------------------------
-//
-void CVideoDTMFDialer::LoadResourceL()
-    {
-    // Empty
-    }
-
-// -----------------------------------------------------------------------------
-// CVideoDTMFDialer::UnLoadResources
-//
-// -----------------------------------------------------------------------------
-//    
-void CVideoDTMFDialer::UnLoadResources()
-    {
-    // Empty
-    }
-
-
-// ---------------------------------------------------------------------------
-// CVideoDTMFDialer::ComponentControlForVideoMode
-// 
-// Returns contained control by given index in video DTMF mode.
-//  
-// ---------------------------------------------------------------------------
-//
-CCoeControl* CVideoDTMFDialer::ComponentControlForVideoMode( const TInt /*aIndex*/ ) const
-    {
-    return NULL;
-    } 
-
-// End of File
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/Bwins/T_VideoDtmfDialeru.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * LibEntryL(class CTestModuleIf &)
-
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/EABI/T_VideoDtmfDialeru.def	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
-	_ZTI25CT_VideoDtmfDialerAppView @ 2 NONAME ; #<TI>#
-	_ZTV25CT_VideoDtmfDialerAppView @ 3 NONAME ; #<VT>#
-
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/conf/ui_T_VideoDtmfDialer.cfg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-[Test]
-title VideoDtmfDialer Test 1 - create VideoDtmfDialer, destroy all
-bringtoforeground
-create T_VideoDtmfDialer foobar
-foobar CreateView
-foobar CreateVideoDtmfDialer
-pause 5000
-foobar DeleteVideoDtmfDialer
-foobar DeleteView
-delete foobar
-sendtobackground
-[Endtest]
-
-[Test]
-title VideoDtmfDialer Test 2 - create and show VideoDtmfDialer, destroy all
-bringtoforeground
-create T_VideoDtmfDialer foobar
-foobar CreateView
-foobar CreateVideoDtmfDialer
-foobar ShowVideoDtmfDialer
-pause 5000
-foobar DeleteVideoDtmfDialer
-foobar DeleteView
-delete foobar
-sendtobackground
-[Endtest]
-
-[Test]
-title VideoDtmfDialer Test 3 - create and show Dialer, destroy all
-bringtoforeground
-create T_VideoDtmfDialer foobar
-foobar CreateView
-foobar CreateDialer
-foobar ShowDialer
-pause 5000
-foobar DeleteDialer
-foobar DeleteView
-delete foobar
-sendtobackground
-[Endtest]
\ No newline at end of file
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/group/T_VideoDtmfDialer.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +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:  MMP file for T_VideoDtmfDialer dll.
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-TARGET          T_VideoDtmfDialer.dll
-TARGETTYPE      dll
-UID             0x1000008D 0x101FB3E3
-
-CAPABILITY		ALL -TCB
-
-DEFFILE         T_VideoDtmfDialer.def
-
-SOURCEPATH      ../src
-SOURCE          T_VideoDtmfDialer.cpp
-SOURCE          T_VideoDtmfDialerBlocks.cpp
-SOURCE          T_VideoDtmfDialerAppView.cpp
-
-SOURCEPATH        ../group
-
-USERINCLUDE     ../inc 
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../../../inc    // Telephony internal headers
-
-LIBRARY         euser.lib
-LIBRARY         cone.lib 
-LIBRARY         ws32.lib 
-LIBRARY         avkon.lib 
-LIBRARY         eikcoctl.lib 
-LIBRARY         eikctl.lib 
-LIBRARY         bafl.lib 
-LIBRARY         apgrfx.lib 
-LIBRARY         aknskins.lib 
-LIBRARY         aknskinsrv.lib 
-LIBRARY         aknswallpaperutils.lib 
-LIBRARY         eikcore.lib
-LIBRARY         featmgr.lib
-LIBRARY         stiftestinterface.lib
-LIBRARY         stiftestengine.lib
-
-// Test target 
-LIBRARY         dialer.lib
-
-LANG            SC
-
-// End of File
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/group/T_VideoDtmfDialer.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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 T_VideoDtmfDialer.
-;
-; T_VideoDtmfDialer.pkg
-
-; Languages
-&EN
-
-; Header
-#{"T_VideoDtmfDialer"},(0x101FB3E3),1,0,0
-
-;Localised Vendor name
-%{"Vendor Test EN"}
-
-;Unique Vendor name
-:"Vendor"
-
-;Key and certificate
-*"rd-key.pem","rd.cer"
-
-; Target
-
-"\epoc32\release\armv5\urel\T_VideoDtmfDialer.dll"-"C:\sys\bin\T_VideoDtmfDialer.dll"
-"..\init\T_VideoDtmfDialer.ini"-"C:\TestFramework\T_VideoDtmfDialer.ini"
-"..\conf\ui_T_VideoDtmfDialer.cfg"-"C:\TestFramework\ui_T_VideoDtmfDialer.cfg"
Binary file phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/group/T_VideoDtmfDialer.sis has changed
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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:  Build video dtmf dialer.
-*
-*/
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_TESTEXPORTS
-
-PRJ_EXPORTS
-../init/T_VideoDtmfDialer.ini /epoc32/winscw/c/TestFramework/T_VideoDtmfDialer.ini
-../init/T_VideoDtmfDialer.ini /epoc32/data/z/system/data/T_VideoDtmfDialer.ini
-
-../conf/ui_T_VideoDtmfDialer.cfg /epoc32/winscw/c/TestFramework/ui_T_VideoDtmfDialer.cfg
-../conf/ui_T_VideoDtmfDialer.cfg /epoc32/data/z/system/data/ui_T_VideoDtmfDialer.cfg
-
-PRJ_TESTMMPFILES
-T_VideoDtmfDialer.mmp
-
-PRJ_MMPFILES
-
-
-//  End of File
\ No newline at end of file
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/inc/T_VideoDtmfDialer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +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:  Module/API tester for CVideoDtmfDialer domain API 
-*
-*/
-
-
-
-#ifndef T_VIDEODTMFDIALER_H
-#define T_VIDEODTMFDIALER_H
-
-//  INCLUDES
-#include <StifLogger.h>
-#include <TestScripterInternal.h>
-#include <StifTestModule.h>
-#include <aknapp.h>
-
-// MACROS
-_LIT( KT_VideoDtmfDialerLogPath, "\\logs\\testframework\\T_VideoDtmfDialer\\" ); 
-_LIT( KT_VideoDtmfDialerLogFile, "T_VideoDtmfDialer.txt" ); 
-_LIT( KT_VideoDtmfDialerLogFileWithTitle, "T_VideoDtmfDialer_[%S].txt" );
-
-// FORWARD DECLARATIONS
-class CDialer;
-class CT_VideoDtmfDialer;
-class CCoeControl;
-class CEikLabel; 
-class CVideoDTMFDialer; 
-class MNumberEntry;
-
-// CLASS DECLARATION
-
-/**
-*  CT_VideoDtmfDialer test class for STIF Test Framework TestScripter.
-*/
-NONSHARABLE_CLASS(CT_VideoDtmfDialer) : public CScriptBase
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CT_VideoDtmfDialer* NewL(CTestModuleIf& aTestModuleIf);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CT_VideoDtmfDialer();
-
-    public: // Functions from base classes
-
-        /**
-        * From CScriptBase Runs a script line.
-        * @since ?Series60_version
-        * @param aItem Script line containing method name and parameters
-        * @return Symbian OS error code
-        */
-        virtual TInt RunMethodL(CStifItemParser& aItem);
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CT_VideoDtmfDialer( CTestModuleIf& aTestModuleIf );
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        /**
-        * Frees all resources allocated from test methods.
-        * @since ?Series60_version
-        */
-        void Delete();
-
-    private: // Ui helper methods
-    
-        /** 
-        * Helper functions for UI handling are listed below
-        */ 
-        /**
-        * Set toolbar visibility
-        */        
-        void MakeToolbarVisible(TBool aVisible);
-
-        /**
-        * Set status panel visibility
-        */        
-        void MakeStatusPaneVisible(TBool aVisible);
-
-    private: // Test methods are listed below
-    
-        /**
-        * Create view 
-        */
-        virtual TInt CreateViewL(CStifItemParser& aItem);
-
-        /**
-        * Delete view 
-        */
-        virtual TInt DeleteViewL(CStifItemParser& aItem);
-
-        /**
-        * Create CDialer
-        */
-        virtual TInt CreateDialerL(CStifItemParser& aItem);
-
-        /**
-        * Show CDialer
-        */
-        virtual TInt ShowDialerL(CStifItemParser& aItem);
-
-        /**
-        * Delete CDialer
-        */
-        virtual TInt DeleteDialerL(CStifItemParser& aItem);
-
-        /**
-        * Create CVideoDtmfDialer
-        */
-        virtual TInt CreateVideoDtmfDialerL(CStifItemParser& aItem);
-
-        /**
-        * Show CVideoDtmfDialer
-        */
-        virtual TInt ShowVideoDtmfDialerL(CStifItemParser& aItem);
-
-        /**
-        * Delete CVideoDtmfDialer
-        */
-        virtual TInt DeleteVideoDtmfDialerL(CStifItemParser& aItem);
-
-    private: // Data        
-        
-        // Pointer to video dtmf dialer
-		CVideoDTMFDialer* iVideoDtmfDialer; 
-		// Pointer to video dtmf dialer control 
-    	CCoeControl* iVideoDtmfDialerControl;
-    	// Pointer to video control label
-		CEikLabel* iVideoControl;
-    	// Pointer to dialer
-	    CDialer* iDialer;
-    	// Interface to Dialer's number entry functionality   
-	    MNumberEntry* iNumberEntry;    	
-    };
-
-#endif      // T_VIDEODTMFDIALER_H
-
-// End of File
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/inc/T_VideoDtmfDialer.pan	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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: Inline implementation of video dtmf dialer. 
-*
-*/
-
-#ifndef T_VIDEODTMFDIALER_PAN
-#define T_VIDEODTMFDIALER_PAN
-
-/** T_VideoDtmfDialer application panic codes */
-enum TT_VideoDtmfDialerPanics 
-    {
-    ET_VideoDtmfDialerBasicUi = 1
-    // add further panics here
-    };
-
-inline void Panic(TT_VideoDtmfDialerPanics aReason)
-    {
-	  _LIT(applicationName,"T_VideoDtmfDialer");
-    User::Panic(applicationName, aReason);
-    }
-
-#endif // T_VIDEODTMFDIALER_PAN
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/inc/T_VideoDtmfDialerAppView.h	Tue Feb 02 00:10:04 2010 +0200
+++ /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:  Definition of CT_VideoDtmfDialerAppView class. 
-*
-*/
-
-#ifndef T_VIDEODTMFDIALER_APPVIEW_H
-#define T_VIDEODTMFDIALER_APPVIEW_H
-
-
-#include <coecntrl.h>
-#include <coeview.h>
-
-class MNumberEntry;
-
-class CT_VideoDtmfDialerAppView : public CCoeControl, public MCoeView
-    {
-public:
-
-    static CT_VideoDtmfDialerAppView* NewL(const TRect& aRect);
-
-    static CT_VideoDtmfDialerAppView* NewLC(const TRect& aRect );
-
-     ~CT_VideoDtmfDialerAppView();
-
-    void SetControl( CCoeControl* aControl, TBool aDrawNow = EFalse );
-    CCoeControl* Control() const;
-    void SetNumberEntry( MNumberEntry* aNumberEntry );
-    
-public:  // from CCoeControl
-    void Draw(const TRect& aRect) const;
-
-    void SizeChanged();
-
-    TInt CountComponentControls() const;
-
-    CCoeControl* ComponentControl( TInt aIndex ) const;
-    
-    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-
-	TVwsViewId ViewId() const;
-
-	void ViewActivatedL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId,const TDesC8& aCustomMessage);
-
-	void ViewDeactivated();
-
-    void ActivateL();
-
-
-private:
-
-    void ConstructL(const TRect& aRect);
-
-    CT_VideoDtmfDialerAppView();
-
-public:
-    void UpdateControlRect();
-    
-private:
-    
-    CCoeControl* iControl;
-    CCoeControl* iPrevControl;
-    
-    // Not own. Forwards key events for number entry control.
-    MNumberEntry* iNumberEntry;
-    };
-
-
-#endif // T_VIDEODTMFDIALER_APPVIEW_H
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/init/T_VideoDtmfDialer.ini	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-#
-# This is STIF initialization file
-# Comment lines start with '#'-character.
-# See STIF TestFramework users guide.doc for instructions
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set following test engine settings:
-#	- Set Test Reporting mode. TestReportMode's possible values are:
-#		+ 'Summary': Summary of the tested test cases.
-#		+ 'Environment': Hardware and software info.
-#		+ 'TestCases': Test case report.
-#		+ 'FullReport': Set of all above ones.
-#		+ Example 'TestReportMode= Summary TestCases'
-#
-# 	- CreateTestReport setting controls report creation mode
-#		+ YES, Test report will created.
-#		+ NO, No Test report.
-#
-# 	- File path indicates the base path of the test report.
-# 	- File name indicates the name of the test report.
-#
-# 	- File format indicates the type of the test report.
-#		+ TXT, Test report file will be txt type, for example 'TestReport.txt'.
-#		+ HTML, Test report will be html type, for example 'TestReport.html'.
-#
-# 	- File output indicates output source of the test report.
-#		+ FILE, Test report logging to file.
-#		+ RDEBUG, Test report logging to using rdebug.
-#
-# 	- File Creation Mode indicates test report overwriting if file exist.
-#		+ OVERWRITE, Overwrites if the Test report file exist.
-#		+ APPEND, Continue logging after the old Test report information if
-#                 report exist.
-# 	- Sets a device reset module's dll name(Reboot).
-#		+ If Nokia specific reset module is not available or it is not correct one
-#		  StifHWResetStub module may use as a template for user specific reset
-#		  module.
-# 	- Sets STIF test measurement disable options. e.g. pluging1 and pluging2 disablation
-#		DisableMeasurement= stifmeasurementplugin01 stifmeasurementplugin02
-#
-
-[Engine_Defaults]
-
-TestReportMode= FullReport		# Possible values are: 'Empty', 'Summary', 'Environment',
-                                                               'TestCases' or 'FullReport'
-
-CreateTestReport= YES			# Possible values: YES or NO
-
-TestReportFilePath= C:\LOGS\TestFramework\
-TestReportFileName= TestReport
-
-TestReportFormat= TXT			# Possible values: TXT or HTML
-TestReportOutput= FILE			# Possible values: FILE or RDEBUG
-TestReportFileCreationMode= OVERWRITE	# Possible values: OVERWRITE or APPEND
-
-DeviceResetDllName= StifResetForNokia.dll # e.g. 'StifHWResetStub.dll' for user specific reseting
-
-DisableMeasurement= stifmeasurementdisablenone	# Possible values are:
-						# 'stifmeasurementdisablenone', 'stifmeasurementdisableall'
-					  	# 'stifmeasurementplugin01', 'stifmeasurementplugin02',
-					  	# 'stifmeasurementplugin03', 'stifmeasurementplugin04',
-					  	# 'stifmeasurementplugin05' or 'stifbappeaprofiler'
-
-Timeout= 0                              # Default timeout value for each test case. In milliseconds
-UITestingSupport= YES
-[End_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Module configurations start
-# Modules are added between module tags
-# tags. Module name is specified after ModuleName= tag, like
-# ModuleName= XXXXXXXXX
-# Modules might have initialisation file, specified as
-# IniFile= c:\testframework\YYYYYY
-# Modules might have several configuration files, like
-# TestCaseFile= c:\testframework\NormalCases.txt
-# TestCaseFile= c:\testframework\SmokeCases.txt
-# TestCaseFile= c:\testframework\ManualCases.txt
-
-# (TestCaseFile is synonym for old term ConfigFile)
-
-# Following case specifies demo module settings. Demo module
-# does not read any settings from file, so tags 
-# IniFile and TestCaseFile are not used.
-# In the simplest case it is enough to specify only the
-# name of the test module when adding new test module
-
-[New_Module]
-ModuleName= testscripter
-TestCaseFile= c:\testframework\ui_T_VideoDtmfDialer.cfg
-[End_Module]
-
-
-# Load testmoduleXXX, optionally with initialization file and/or test case files
-#[New_Module]
-#ModuleName= testmodulexxx
-
-#TestModuleXXX used initialization file
-#IniFile= c:\testframework\init.txt
-
-#TestModuleXXX used configuration file(s)
-#TestCaseFile= c:\testframework\testcases1.cfg
-#TestCaseFile= c:\testframework\testcases2.cfg
-#TestCaseFile= c:\testframework\manualtestcases.cfg
-
-#[End_Module]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-
-
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-# Set STIF logging overwrite parameters for Logger.
-# 	Hardware and emulator environment logging path and styles can
-# 	be configured from here to overwrite the Logger's implemented values.
-#	
-#	Settings description:
-#	- Indicates option for creation log directory/directories. If log directory/directories
-#         is/are not created by user they will make by software.
-#		+ YES, Create log directory/directories if not allready exist.
-#		+ NO, Log directory/directories not created. Only created one is used.
-#
-#	- Overwrite emulator path setting.
-#		+ Example: If 'EmulatorBasePath= C:\LOGS\TestFramework\' and in code is defined 
-#		           Logger's path 'D:\\LOGS\\Module\\' with those definition the path
-#		           will be 'C:\LOGS\TestFramework\LOGS\Module\'
-#
-#	- Overwrite emulator's logging format.
-#		+ TXT, Log file(s) will be txt type(s), for example 'Module.txt'.
-#		+ HTML, Log file(s) will be html type(s), for example 'Module.html'.
-#
-#	- Overwrited emulator logging output source.
-#		+ FILE, Logging to file(s).
-#		+ RDEBUG, Logging to using rdebug(s).
-#
-#	- Overwrite hardware path setting (Same description as above in emulator path).
-#	- Overwrite hardware's logging format(Same description as above in emulator format).
-#	- Overwrite hardware's logging output source(Same description as above in emulator output).
-#
-#	- File Creation Mode indicates file overwriting if file exist.
-#		+ OVERWRITE, Overwrites if file(s) exist.
-#		+ APPEND, Continue logging after the old logging information if file(s) exist.
-#
-#	- Will thread id include to the log filename.
-#		+ YES, Thread id to log file(s) name, Example filename 'Module_b9.txt'.
-#		+ NO, No thread id to log file(s), Example filename 'Module.txt'.
-#
-#	- Will time stamps include the to log file.
-#		+ YES, Time stamp added to each line in log file(s). Time stamp is 
-#                 for example'12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No time stamp(s).
-#
-#	- Will line breaks include to the log file.
-#		+ YES, Each logging event includes line break and next log event is in own line.
-#		+ NO, No line break(s).
-#
-#	- Will event ranking include to the log file.
-#		+ YES, Event ranking number added to each line in log file(s). Ranking number
-#                 depends on environment's tics, for example(includes time stamp also)
-#                 '012   12.Nov.2003 115958    LOGGING INFO'
-#		+ NO, No event ranking.
-#
-#	- Will write log file in unicode format.
-#		+ YES, Log file will be written in unicode format
-#		+ NO, Log will be written as normal, not unicode, file.
-#
-
-[Logger_Defaults]
-
-#NOTE: If you want to set Logger using next setting(s) remove comment(s)'#'
-#NOTE: TestEngine and TestServer logging settings cannot change here
-
-#CreateLogDirectories= YES    # Possible values: YES or NO
-
-#EmulatorBasePath= C:\LOGS\TestFramework\
-#EmulatorFormat= HTML         # Possible values: TXT or HTML
-#EmulatorOutput= FILE         # Possible values: FILE or RDEBUG
-
-#HardwareBasePath= D:\LOGS\TestFramework\
-#HardwareFormat= HTML         # Possible values: TXT or HTML
-#HardwareOutput= FILE         # Possible values: FILE or RDEBUG
-
-#FileCreationMode= OVERWRITE  # Possible values: OVERWRITE or APPEND
-
-#ThreadIdToLogFile= YES       # Possible values: YES or NO
-#WithTimeStamp= YES           # Possible values: YES or NO
-#WithLineBreak= YES           # Possible values: YES or NO
-#WithEventRanking= YES        # Possible values: YES or NO
-
-#FileUnicode= YES             # Possible values: YES or NO
-#AddTestCaseTitle= YES        # Possible values: YES or NO
-[End_Logger_Defaults]
-# -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
-
-# End of file
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/src/T_VideoDtmfDialer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +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:  Implementation of CT_VideoDtmfDialer class. API testing.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <Stiftestinterface.h>
-#include "T_VideoDtmfDialer.h"
-#include <SettingServerClient.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::CT_VideoDtmfDialer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CT_VideoDtmfDialer::CT_VideoDtmfDialer( 
-    CTestModuleIf& aTestModuleIf ):
-        CScriptBase( aTestModuleIf )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CT_VideoDtmfDialer::ConstructL()
-    {
-    //Read logger settings to check whether test case name is to be
-    //appended to log file name.
-    RSettingServer settingServer;
-    TInt ret = settingServer.Connect();
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        }
-    // Struct to StifLogger settigs.
-    TLoggerSettings loggerSettings; 
-    // Parse StifLogger defaults from STIF initialization file.
-    ret = settingServer.GetLoggerSettings(loggerSettings);
-    if(ret != KErrNone)
-        {
-        User::Leave(ret);
-        } 
-    // Close Setting server session
-    settingServer.Close();
-
-    TFileName logFileName;
-    
-    if(loggerSettings.iAddTestCaseTitle)
-        {
-        TName title;
-        TestModuleIf().GetTestCaseTitleL(title);
-        logFileName.Format(KT_VideoDtmfDialerLogFileWithTitle, &title);
-        }
-    else
-        {
-        logFileName.Copy(KT_VideoDtmfDialerLogFile);
-        }
-
-    iLog = CStifLogger::NewL( KT_VideoDtmfDialerLogPath, 
-                          logFileName,
-                          CStifLogger::ETxt,
-                          CStifLogger::EFile,
-                          EFalse );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CT_VideoDtmfDialer* CT_VideoDtmfDialer::NewL( 
-    CTestModuleIf& aTestModuleIf )
-    {
-    CT_VideoDtmfDialer* self = new (ELeave) CT_VideoDtmfDialer( aTestModuleIf );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// Destructor
-CT_VideoDtmfDialer::~CT_VideoDtmfDialer()
-    { 
-    // Delete resources allocated from test methods
-    Delete();
-
-    // Delete logger
-    delete iLog; 
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// -----------------------------------------------------------------------------
-// LibEntryL is a polymorphic Dll entry point.
-// Returns: CScriptBase: New CScriptBase derived object
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CScriptBase* LibEntryL( 
-    CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
-    {
-    return ( CScriptBase* ) CT_VideoDtmfDialer::NewL( aTestModuleIf );
-    }
-
-
-//  End of File
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/src/T_VideoDtmfDialerAppView.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +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:  Implementation of CT_VideoDtmfDialerAppView class.
-*
-*/
-
-#include <coemain.h>
-#include <aknutils.h> 
-#include <AknLayout.cdl.h>
-#include <LayoutMetaData.cdl.h>
-#include <AknLayoutScalable_Apps.cdl.h>
-#include <AknLayoutScalable_Avkon.cdl.h>
-#include <eikenv.h>
-#include <eikapp.h> 
-#include <eikappui.h>
-#include <AknAppUi.h>
-#include <eikspane.h>
-
-#include <mnumberentry.h>
-#include <cdialer.h>
-#include <cvideodtmfdialer.h>
-
-#include "T_VideoDtmfDialerAppView.h"
-
-const TUid KUidViewId = { 0x10282DDD };
-
-// Standard construction sequence
-CT_VideoDtmfDialerAppView* CT_VideoDtmfDialerAppView::NewL(const TRect& aRect)
-    {
-    CT_VideoDtmfDialerAppView* self = CT_VideoDtmfDialerAppView::NewLC(aRect);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-CT_VideoDtmfDialerAppView* CT_VideoDtmfDialerAppView::NewLC(const TRect& aRect)
-    {
-    CT_VideoDtmfDialerAppView* self = new (ELeave) CT_VideoDtmfDialerAppView();
-    CleanupStack::PushL(self);
-    self->ConstructL(aRect);
-    return self;
-    }
-
-CT_VideoDtmfDialerAppView::CT_VideoDtmfDialerAppView() 
-    {
-    }
-
-CT_VideoDtmfDialerAppView::~CT_VideoDtmfDialerAppView()
-    {
-	// no implementation required
-    }
-
-void CT_VideoDtmfDialerAppView::ConstructL(const TRect& aRect)
-    {
-    // Create a window for this application view
-    CreateWindowL();
-
-    // Set the windows size
-    SetRect(aRect);
-
-    // Activate the window, which makes it ready to be drawn
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::ViewId
-// -----------------------------------------------------------------------------
-//
-TVwsViewId CT_VideoDtmfDialerAppView::ViewId() const
-    {
-    TVwsViewId id( 
-        CEikonEnv::Static()->EikAppUi()->Application()->AppDllUid(), 
-        KUidViewId );
-    return id;
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::ViewActivatedL
-// -----------------------------------------------------------------------------
-//
-void CT_VideoDtmfDialerAppView::ViewActivatedL( 
-    const TVwsViewId& /*aPrevViewId*/, 
-    TUid /*aCustomMessageId*/, 
-    const TDesC8& /*aCustomMessage*/ )
-    {
-    MakeVisible( ETrue );
-    SetFocus( IsFocused() );
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::ViewDeactivated
-// -----------------------------------------------------------------------------
-//
-void CT_VideoDtmfDialerAppView::ViewDeactivated()
-    {
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::CountComponentControls
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialerAppView::CountComponentControls() const
-    {
-    TInt count = 0;
-
-    if ( iControl )
-        {
-        count++;
-        }
-        
-    return count;
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::ComponentControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CT_VideoDtmfDialerAppView::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    CCoeControl* control( NULL );
-
-    if ( iControl )
-        {
-        control = iControl;
-        }
-
-    return control;        
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//    
-TKeyResponse CT_VideoDtmfDialerAppView::OfferKeyEventL(
-    const TKeyEvent& aKeyEvent,
-    TEventCode aType)
-    {
-    TKeyResponse response = EKeyWasNotConsumed;
-    if( iControl && iNumberEntry)
-        {
-        CCoeControl* numberEntryControl = iNumberEntry->GetNumberEntry();
-        if( numberEntryControl )
-            {
-            response = numberEntryControl->OfferKeyEventL( aKeyEvent, aType );    
-            }
-        }
-    return response;
-    }
-    
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::SetControl
-// -----------------------------------------------------------------------------
-//    
-void CT_VideoDtmfDialerAppView::SetControl( CCoeControl* aControl, TBool aDrawNow )
-    {
-    if ( iControl )
-        {
-        iControl->SetFocus( EFalse );
-        iPrevControl = iControl;    
-        }
-    
-    iControl = aControl;
-    
-    if ( iControl )
-        {
-        UpdateControlRect();
-        
-        if ( iPrevControl )
-            {
-            iPrevControl->MakeVisible( EFalse );        
-            iPrevControl = NULL;
-            }
-        
-        iControl->MakeVisible( ETrue );
-        DrawNow();
-        iControl->SetFocus( IsFocused() );
-        }
-    
-    if ( aDrawNow )        
-        {
-        DrawNow();    
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::Control
-// -----------------------------------------------------------------------------
-//    
-CCoeControl* CT_VideoDtmfDialerAppView::Control() const
-    {
-    return iControl;    
-    }    
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::SetNumberEntry
-// -----------------------------------------------------------------------------
-//    
-void CT_VideoDtmfDialerAppView::SetNumberEntry( MNumberEntry* aNumberEntry )
-    {
-    iNumberEntry = aNumberEntry;
-    }
-
-void CT_VideoDtmfDialerAppView::SizeChanged()
-    {
-    UpdateControlRect();
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::UpdateControlRect
-// -----------------------------------------------------------------------------
-//
-void CT_VideoDtmfDialerAppView::UpdateControlRect()
-    {    
-    if ( iControl )
-        {
-        iControl->SetRect( Rect() );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::ActivateL
-// -----------------------------------------------------------------------------
-//
-void CT_VideoDtmfDialerAppView::ActivateL()
-    {
-    CCoeControl::ActivateL();
-    }
-    
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialerAppView::Draw
-// -----------------------------------------------------------------------------
-//    
-void CT_VideoDtmfDialerAppView::Draw(const TRect& aRect ) const
-    {
-    // Get the standard graphics context 
-    CWindowGc& gc = SystemGc();
-    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    gc.SetBrushColor( KRgbGreen );
-    // Gets the control's extent
-    // Clears the screen
-    gc.Clear(aRect);
-    }
-
-// End of file 
-
--- a/phoneuis/dialer/tsrc/public/basic/T_VideoDtmfDialer/src/T_VideoDtmfDialerBlocks.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +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:  Implementation of CT_VideoDtmfDialer class, API testing.
-*
-*/
-
-// INCLUDE FILES 
-#include <eiklabel.h> 
-#include <AknAppUi.h>
-#include <akntoolbar.h> 
-
-#include <e32svr.h>
-#include <StifParser.h>
-#include <Stiftestinterface.h>
-#include "T_VideoDtmfDialer.h"
-#include "T_VideoDtmfDialerAppView.h"
-
-#include <cdialer.h>
-#include <cvideodtmfdialer.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::Delete
-// Delete here all resources allocated and opened from test methods. 
-// Called from destructor. 
-// -----------------------------------------------------------------------------
-//
-void CT_VideoDtmfDialer::Delete() 
-    {
-
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::RunMethodL
-// Run specified method. Contains also table of test mothods and their names.
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialer::RunMethodL( 
-    CStifItemParser& aItem ) 
-    {
-
-    static TStifFunctionInfo const KFunctions[] =
-        {  
-        ENTRY( "CreateView", CT_VideoDtmfDialer::CreateViewL ),
-        ENTRY( "DeleteView", CT_VideoDtmfDialer::DeleteViewL ),
-        ENTRY( "CreateDialer", CT_VideoDtmfDialer::CreateDialerL),
-        ENTRY( "DeleteDialer", CT_VideoDtmfDialer::DeleteDialerL),
-        ENTRY( "ShowDialer", CT_VideoDtmfDialer::ShowDialerL),
-        ENTRY( "CreateVideoDtmfDialer", CT_VideoDtmfDialer::CreateVideoDtmfDialerL ),
-        ENTRY( "ShowVideoDtmfDialer", CT_VideoDtmfDialer::ShowVideoDtmfDialerL),
-        ENTRY( "DeleteVideoDtmfDialer", CT_VideoDtmfDialer::DeleteVideoDtmfDialerL ),
-        };
-
-    const TInt count = sizeof( KFunctions ) / 
-                        sizeof( TStifFunctionInfo );
-
-    return RunInternalL( KFunctions, count, aItem );
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::CreateViewL()
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialer::CreateViewL(CStifItemParser& /*aItem*/)
-	{
-	CCoeControl* videoDtmfDialerControl = CT_VideoDtmfDialerAppView::NewL(
-		CEikonEnv::Static()->EikAppUi()->ClientRect() );	
-
-	CleanupStack::PushL( videoDtmfDialerControl ); 
-	CCoeEnv::Static()->AppUi()->AddToStackL( videoDtmfDialerControl );
-	CleanupStack::Pop( videoDtmfDialerControl ); 
-
-    // Ownership is transferred 
-    iVideoDtmfDialerControl = videoDtmfDialerControl; 
-    iVideoDtmfDialerControl->MakeVisible(ETrue);
-
-    return KErrNone;	
-	}
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::DeleteViewL()
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialer::DeleteViewL(CStifItemParser& /*aItem*/)
-	{
-	if( iVideoDtmfDialerControl )
-		{
-	    CCoeEnv::Static()->AppUi()->RemoveFromStack( iVideoDtmfDialerControl );
-	    delete iVideoDtmfDialerControl;
-	    iVideoDtmfDialerControl = NULL; 
-		}
-
-    return KErrNone;		
-	}
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::CreateDialerL()
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialer::CreateDialerL(CStifItemParser& /*aItem*/)
-    {
-    if( iVideoDtmfDialerControl )
-	    {
-	    iDialer = CDialer::NewL( 
-	    	*iVideoDtmfDialerControl, 
-	    	CEikonEnv::Static()->EikAppUi()->ClientRect() );
-	    iNumberEntry = iDialer->NumberEntry();
-
-	    return KErrNone;
-	    }
-	else
-		{
-		return KErrGeneral; 	
-		}	
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::ShowDialerL()
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialer::ShowDialerL(CStifItemParser& /*aItem*/)
-    {
-    if( iNumberEntry )
-        {
-        iNumberEntry->CreateNumberEntry();
-
-        static_cast<CT_VideoDtmfDialerAppView*>(iVideoDtmfDialerControl)->SetControl( iDialer );
-
-        return KErrNone;
-        }
-    else
-        {
-        return KErrGeneral; 
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::DeleteDialerL()
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialer::DeleteDialerL(CStifItemParser& /*aItem*/)
-    {
-    delete iDialer; 
-    iDialer = NULL;     
-
-    return KErrNone;
-    }
-    
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::CreateVideoDtmfDialerL()
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialer::CreateVideoDtmfDialerL(CStifItemParser& /*aItem*/)
-    {
-    if( iVideoDtmfDialerControl )
-    	{
-	    iVideoControl = new( ELeave ) CEikLabel;
-	    iVideoControl->SetBufferReserveLengthL( 10 );
-	    iVideoControl->SetTextL( _L("Video Here") ) ;
-	    iVideoControl->SetAlignment( EHCenterVCenter );
-
-	    iVideoDtmfDialer = CVideoDTMFDialer::NewL( 
-	    	*iVideoDtmfDialerControl, 
-           	*iVideoControl, 
-           	CEikonEnv::Static()->EikAppUi()->ClientRect() );
-           
-		return KErrNone;		                                           
-    	}
-    else
-    	{
-    	return KErrGeneral; 	
-    	}	    
-    }
-
-// -----------------------------------------------------------------------------
-// CT_VideoDtmfDialer::ShowVideoDtmfDialerL()
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialer::ShowVideoDtmfDialerL(CStifItemParser& /*aItem*/)
-    {
-    if( iVideoDtmfDialerControl )
-    	{
-    	static_cast<CT_VideoDtmfDialerAppView*>(iVideoDtmfDialerControl)->SetControl( 
-    	    iVideoDtmfDialer );
-           
-		return KErrNone;		                                           
-    	}
-    else
-    	{
-    	return KErrGeneral; 	
-    	}	    
-    }
-    
-// CT_VideoDtmfDialer::DeleteVideoDtmfDialerL()
-// -----------------------------------------------------------------------------
-//
-TInt CT_VideoDtmfDialer::DeleteVideoDtmfDialerL(CStifItemParser& /*aItem*/)
-    {
-	delete iVideoControl; 
-	iVideoControl = NULL; 
-    delete iVideoDtmfDialer;                   
-    iVideoDtmfDialer = NULL;
-    
-    return KErrNone;
-    }
-	
-
-// End of file
-
--- a/phoneuis/dialer/tsrc/public/basic/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +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:  Build T_VideoDtmfDialer.
-*
-*/
-
-
-
-#include "../T_VideoDtmfDialer/group/bld.inf"
-
-//  End of File
\ No newline at end of file
--- a/phoneuis/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ b/phoneuis/group/bld.inf	Fri Mar 19 09:28:42 2010 +0200
@@ -15,13 +15,6 @@
 *              
 */ 
 
-#include "../dialer/group/bld.inf"
-#include "../BubbleManager/Group/bld.inf"
-#include "../ConnectUtil/group/bld.inf"
-#include "../Ussd/group/bld.inf"
-#include "../vmbx/group/bld.inf"
 #include "../TelephonyDeviceMode/group/bld.inf"
 
-
-
 // End of File
\ No newline at end of file
--- a/phoneuis/vmbx/aif/vmaif.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +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: 
-*     RSS for creating the aif file for EditConf.
-*
-*/
-
-
-#include <aiftool.rh>
-
-RESOURCE AIF_DATA
-{
-    app_uid=0x100058F5;
-    caption_list=
-    {
-
-    };
-    num_icons=1;
-    embeddability=KAppNotEmbeddable;
-    newfile=KAppDoesNotSupportNewFile;
-}
-
-// End of File
--- a/phoneuis/vmbx/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 provides the information required for building the 
-*                whole of a vm.
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT 
-
-//  Help exports
-#include "../help/group/bld.inf"
-
-PRJ_EXPORTS
-
-// sis export
-vm_stub.SIS                         /epoc32/data/z/system/install/vm_stub.sis
-
-// iby export
-../rom/Vmbx.iby                     CORE_APP_LAYER_IBY_EXPORT_PATH(vmbx.iby)
-../rom/VmbxResources.iby            LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(vmbxresources.iby)
-
-// loc export    
-../loc/vm.loc                       APP_LAYER_LOC_EXPORT_PATH(vm.loc)
-
-PRJ_EXTENSIONS
-
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE vm_aif.mif
-  OPTION SOURCES -c8,8 qgn_menu_smsvo
-END
-
-PRJ_MMPFILES
-//gnumakefile icons_dc.mk
-//gnumakefile icons_aif_scalable_dc.mk
-
-vm.mmp
-#include "../gsvmbxplugin/group/bld.inf"
-
-
-//  End of File
--- a/phoneuis/vmbx/group/icons.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-#
-# Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: Make file for vmbx icons.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR1=$(ZDIR)\system\apps\vm
-
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR1)\vm.mif
-
-HEADERFILENAME =$(HEADERDIR)\vm.mbg
-
-
-do_nothing :
-    @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
-
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-	/c8,8 qgn_menu_smsvo_cxt.svg \
-	/c8,8 qgn_prop_nrtyp_sim_contact.svg \
-	/c8,8 qgn_prop_nrtyp_mobile.svg \
-	/c8,8 qgn_prop_nrtyp_video.svg \
-	/c8,8 qgn_prop_nrtyp_voip.svg \
-	/c8,8 qgn_prop_empty.svg
-	
-
-
-		
-		
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/vmbx/group/icons_aif_bitmaps.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 2004-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: Make file for vmbx icon bitmaps.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\system\apps\vm
-ICONTARGETFILENAME=$(TARGETDIR)\vm_aif.mbm
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_smsvo_lst.bmp \
-		/c8,8 qgn_menu_smsvo_cxt.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/vmbx/group/icons_aif_bitmaps_dc.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 2004-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: Make file for vmbx.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\vm_aif.mbm
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_smsvo_lst.bmp \
-		/c8,8 qgn_menu_smsvo_cxt.bmp
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/vmbx/group/icons_aif_scalable.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 2004-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: Make file for vmbx.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\system\apps\vm
-ICONTARGETFILENAME=$(TARGETDIR)\vm_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_smsvo.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/vmbx/group/icons_aif_scalable_dc.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 2004-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: Make file for vmbx.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\vm_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,8 qgn_menu_smsvo.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/vmbx/group/icons_dc.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-#
-# Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: Make file for vmbx.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\z
-else
-ZDIR=\epoc32\data\z
-endif
-
-TARGETDIR1=$(ZDIR)\resource\apps
-
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR1)\vm.mif
-
-HEADERFILENAME =$(HEADERDIR)\vm.mbg
-
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
-
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-	/c8,8 qgn_menu_smsvo_cxt.svg \
-	/c8,8 qgn_prop_nrtyp_sim_contact.svg \
-	/c8,8 qgn_prop_nrtyp_mobile.svg \
-	/c8,8 qgn_prop_nrtyp_video.svg \
-	/c8,8 qgn_prop_nrtyp_voip.svg \
-	/c8,8 qgn_prop_empty.svg
-	
-
-
-		
-		
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
Binary file phoneuis/vmbx/group/vm.SIS has changed
--- a/phoneuis/vmbx/group/vm.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 project specification file for the voice mailbox application.
-*
-*/
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          vm.exe
-TARGETTYPE      exe
-UID             0x100039CE 0x100058F5
-
-EPOCSTACKSIZE   0x5000
-
-VENDORID        VID_DEFAULT
-//We use default capabilities (from defaultcaps.hrh)
-CAPABILITY      CAP_APPLICATION NetworkControl
-
-SOURCEPATH      ../src
-
-SOURCE          VmApp.cpp
-SOURCE          VmAppUi.cpp
-SOURCE          VmContainer.cpp
-SOURCE          VmDocument.cpp
-                
-SOURCE          VmQueryLauncher.cpp
-
-#ifdef __PROTOCOL_CDMA
-    SOURCE          VmDetailsDialog_platsec.cpp
-    SOURCE          VmDetDlgPropertyObserver.cpp
-#else
-    SOURCE          VmDetailsDlgDummy.cpp
-#endif
-
-START RESOURCE vm.rss
-TARGETPATH APP_RESOURCE_DIR
-HEADER
-LANGUAGE_IDS
-END //RESOURCE
-
-START RESOURCE vm_reg.rss
-DEPENDS vm.rsg
-// Do not change the UID below.
-TARGETPATH /private/10003a3f/apps
-END
-
-USERINCLUDE     ../inc
-SYSTEMINCLUDE 	../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         hlplch.lib
-LIBRARY         FeatMgr.lib
-
-LIBRARY         vmbx.lib
-LIBRARY         euser.lib
-LIBRARY         apparc.lib
-LIBRARY         cone.lib
-LIBRARY         eikcore.lib
-LIBRARY         bafl.lib
-LIBRARY         eikcoctl.lib
-LIBRARY         avkon.lib
-LIBRARY         ws32.lib
-LIBRARY         numbergrouping.lib
-LIBRARY         aknnotify.lib
-LIBRARY         apgrfx.lib
-
-LIBRARY         commonengine.lib
-LIBRARY         aknskins.lib
-LIBRARY         aknicon.lib
-LIBRARY         egul.lib
-LIBRARY         CdlEngine.lib
-LIBRARY         centralrepository.lib
-LIBRARY         CenRepNotifHandler.lib
-LIBRARY         ServiceHandler.lib              //Application InterWorking
-LIBRARY         aiwdialdata.lib
-LIBRARY         serviceprovidersettings.lib
-
-#ifdef __PROTOCOL_CDMA
-LIBRARY         eikctl.lib
-LIBRARY         aknlayout.lib
-#endif
-
-LIBRARY         flogger.lib
-
-// End of File
--- a/phoneuis/vmbx/group/vm.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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 vmbx.
-;
-; Languages
-&EN
-
-; Header
-#{"vm"},(0x100058F5),1,1,0,TYPE=PU
-
-;Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-"vm.exe"-"c:\sys\bin\vm.exe"
-"gsvmbxplugin.dll"-"c:\sys\bin\gsvmbxplugin.dll"
-"gsvmbxpluginrsc.rsc"-"c:\resource\apps\gsvmbxpluginrsc.rsc"
-"vm.rsc"-"c:\resource\apps\vm.rsc"
-"gsvmbxplugin.mif"-"c:\resource\apps\vm_aif.mif"
-"gsvmbxplugin.mif"-"c:\resource\apps\vm_aif.mbm"
-"vm_reg.rsc"-"c:\private\10003a3f\import\apps\vm_reg.rsc"
Binary file phoneuis/vmbx/group/vm_stub.SIS has changed
--- a/phoneuis/vmbx/group/vm_stub.pkg	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +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 vmbx stub.
-;
-; Languages
-&EN
-
-; Header
-#{"vm"},(0x100058F5),1,0,0,TYPE=SA
-
-;Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-;Files
-""-"z:\sys\bin\vm.exe"
-""-"z:\sys\bin\vmbx.dll"
-""-"z:\sys\bin\gsvmbxplugin.dll"
-""-"z:\resource\gsvmbxpluginrsc.rsc"
-""-"z:\resource\vmbx.rsc"
-""-"z:\resource\apps\vm.rsc"
-""-"z:\resource\apps\gsvmbxplugin.mif"
-""-"z:\private\10003a3f\import\apps\vm_reg.rsc"
--- a/phoneuis/vmbx/gsvmbxplugin/data/2000B4D6.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM plugin resource file for gsvmbxplugin.
-*
-*/
-
-#include <registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
-    {
-    dll_uid     = 0x2000B4D6;
-    interfaces  =
-        {
-        INTERFACE_INFO
-            {
-            interface_uid   = 0x10207236;
-            implementations =
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid  = 0x2000B4D7;
-                    version_no          = 1;
-                    display_name        = "Voice Mailbox Plugin";                    
-                    default_data        = "0x1020723D"; // Parent ID, Telephony
-                    opaque_data         = "30"; // Order number                    
-                    }
-                };
-            }
-        };
-    }
-
--- a/phoneuis/vmbx/gsvmbxplugin/data/gsvmbxpluginrsc.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource file for gsvmbxplugin.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME        VMPL // 4 letter ID
-
-// INCLUDES
-#include    <gsvmbxplugin.loc> // localized strings
-
-#include    <data_caging_paths_strings.hrh>
-#include    <bldvariant.hrh>
-#include    <avkon.loc> // Avkon localized strings
-#include    <avkon.mbg>
-#include    <avkon.rsg>
-#include    <EIKCORE.rsg>
-#include    <uikon.rh>
-
-// CONSTANTS
-
-//  RESOURCE DEFINITIONS
-
-//----------------------------------------------------
-//
-//
-//    Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-//----------------------------------------------------
-//
-//    r_gs_vmbx_plugin_caption
-//    Voice Mailbox Plugin caption.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_gs_vmbx_plugin_caption
-    {    
-    buf = qtn_cp_folder_call_mail;
-    }
-
-//End of File
--- a/phoneuis/vmbx/gsvmbxplugin/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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:  Information required for building gsvmbxplugin.
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// iby export
-../../rom/gsvmbxplugin.iby             CORE_APP_LAYER_IBY_EXPORT_PATH(gsvmbxplugin.iby)
-../../rom/gsvmbxpluginresources.iby    LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(gsvmbxpluginresources.iby)
-
-// loc export    
-../loc/gsvmbxplugin.loc                APP_LAYER_LOC_EXPORT_PATH(gsvmbxplugin.loc)
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE gsvmbxplugin.mif
-  OPTION HEADERFILE gsvmbxplugin.mbg  
-  OPTION SOURCES -c8,8 qgn_prop_cp_tele_vmail
-END
-
-PRJ_MMPFILES
-//gnumakefile gsvmbxpluginicons.mk
-gsvmbxplugin.mmp
-
-PRJ_TESTMMPFILES
-
-//  End of File
--- a/phoneuis/vmbx/gsvmbxplugin/group/gsvmbxplugin.mmp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project specification file for gsvmbxplugin.
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-CAPABILITY          CAP_ECOM_PLUGIN
-TARGET              gsvmbxplugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x2000B4D6
-VENDORID            VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE              gsvmbxplugin.cpp
-SOURCE              gsvmbxpluginimplementationtable.cpp
-
-USERINCLUDE         ../data
-USERINCLUDE         ../inc
-USERINCLUDE         ../../inc   // logger
-
-SYSTEMINCLUDE       .
-SYSTEMINCLUDE       /epoc32/include/ecom
-
-// Default system include paths for application layer modules.
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH          ../data
-
-// ECOM resource definition
-START RESOURCE      2000B4D6.rss
-TARGET              gsvmbxplugin.rsc
-TARGETPATH          ECOM_RESOURCE_DIR
-END // ECOM resource definition
-
-// Plugin resource definition
-START RESOURCE      gsvmbxpluginrsc.rss
-DEPENDS avkon.rsg
-DEPENDS eikcore.rsg
-TARGETPATH          RESOURCE_FILES_DIR
-HEADER
-LANGUAGE_IDS
-END // Plugin resource definition
-
-
-LIBRARY             aknskins.lib // AknsUtils.h
-LIBRARY             apgrfx.lib // RApaLsSession
-LIBRARY             apparc.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib
-LIBRARY             commonengine.lib // RConeResourceLoader
-LIBRARY             cone.lib
-LIBRARY             ecom.lib
-LIBRARY             efsrv.lib
-LIBRARY             eikcore.lib
-LIBRARY             euser.lib
-LIBRARY             GSEcomPlugin.lib
-LIBRARY             GSFramework.lib // Base classes
-LIBRARY             ws32.lib
-LIBRARY             flogger.lib
-
-SOURCEPATH          ../loc
-DOCUMENT            gsvmbxplugin.loc
-
-
-// End of File
--- a/phoneuis/vmbx/gsvmbxplugin/group/gsvmbxpluginicons.mk	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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:  Icons for gsvmbxplugin
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-# ----------------------------------------------------------------------------
-# Configure these
-# ----------------------------------------------------------------------------
-
-TARGETDIR=$(ZDIR)\resource\apps
-HEADERDIR=\epoc32\include
-ICONTARGETFILENAME=$(TARGETDIR)\gsvmbxplugin.mif
-HEADERFILENAME=$(HEADERDIR)\gsvmbxplugin.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# Configure these.
-#
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-		/c8,8 qgn_prop_cp_tele_vmail.svg
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/phoneuis/vmbx/gsvmbxplugin/inc/gsvmbxplugin.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,180 +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:  gsvmbxplugin implementation.
-*
-*/
-
-#ifndef GSVMBXPLUGIN_H
-#define GSVMBXPLUGIN_H
-
-// User includes
-
-// System includes
-#include <gsplugininterface.h>
-#include <aknview.h>
-#include <ConeResLoader.h>
-#include <eikclb.h>
-#include <AknServerApp.h>
-
-// Classes referenced
-class CAknNavigationDecorator;
-class CAknViewAppUi;
-class CAknNullService;
-
-// Constants
-const TUid KGSVmbxPluginUID = { 0x2000B4D6 };
-const TUid KGsVmbxAppUid    = { 0x100058F5 };
-
-_LIT( KGSVmbxApp, "z:\\sys\\bin\\vm.exe" );
-_LIT( KVmbxPluginResourceFileName, "z:gsvmbxpluginrsc.rsc" );
-_LIT( KGSVmbxPluginIconDirAndName, "z:gsvmbxplugin.mif"); // Use KDC_BITMAP_DIR
-
-// CLASS DECLARATION
-
-//For embedding VMBX in CS
-class TAppInfo
-    {
-    public:
-        TAppInfo( TUid aUid, const TDesC& aFile )
-            : iUid( aUid ), iFile( aFile )
-            {}
-        TUid iUid;
-        TFileName iFile;
-    };
-
-
-/**
-* CGSVmbxPlugin.
-*
-* This class handles launching of the Voice Mailbox application from the 
-* General Settings. The plugin is a type of EGSItemTypeSettingDialog and 
-* therefore the GS FW will call HandleSelection() instead of DoActivate().
-* No CAknView functionality is supported even though the base class is 
-* CAknView derived via CGSPluginInterface.
-*
-*/
-class CGSVmbxPlugin : public CGSPluginInterface,
-                        public MAknServerAppExitObserver // Embedding
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Symbian OS two-phased constructor
-        * @return
-        */
-        static CGSVmbxPlugin* NewL( TAny* aInitParams );
-
-        /**
-        * Destructor.
-        */
-        ~CGSVmbxPlugin();
-
-    public: // From CAknView
-
-        /**
-        * See base class.
-        */
-        TUid Id() const;
-
-    public: // From CGSPluginInterface
-
-        /**
-        * See base class.
-        */
-        void GetCaptionL( TDes& aCaption ) const;
-
-        /**
-        * See base class.
-        */
-        TInt PluginProviderCategory() const;
-
-        /**
-        * See base class.
-        */
-        TGSListboxItemTypes ItemType();
-
-        /**
-        * See base class.
-        */
-        void GetValue( const TGSPluginValueKeys aKey,
-                       TDes& aValue );
-
-        /**
-        * See base class.
-        */
-        void HandleSelection( const TGSSelectionTypes aSelectionType );
-        
-        /**
-        * See base class.
-        */
-        CGulIcon* CreateIconL( const TUid aIconType );
-
-    protected: // New
-
-        /**
-        * C++ default constructor.
-        */
-        CGSVmbxPlugin();
-
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL();
-
-    protected: // From CAknView
-
-        /**
-        * This implementation is empty because this class, being just a dialog,
-        * does not implement the CAknView functionality.
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-
-        /**
-        * This implementation is empty because this class, being just a dialog,
-        * does not implement the CAknView functionality.
-        */
-        void DoDeactivate();
-
-    private: // New
-
-        /**
-        * Opens localized resource file.
-        */
-        void OpenLocalizedResourceFileL(
-            const TDesC& aResourceFileName,
-            RConeResourceLoader& aResourceLoader );
-        
-        /**
-        * Launches Voice Mailbox application.
-        */
-        void LaunchVoiceMailBoxAppL();
-        
-        /**
-        * Launches application as embedded.
-        */
-        void EmbedAppL( const TAppInfo& aApp );
-        
-    protected: // Data
-
-        // Resource loader.
-        RConeResourceLoader iResources;
-        
-        // AVKON NULL service. Own.
-        CAknNullService* iNullService;        
-    };
-
-#endif // GSVMBXPLUGIN_H
-// End of File
--- a/phoneuis/vmbx/gsvmbxplugin/loc/gsvmbxplugin.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for gsvmbxplugin.
-*
-*/
-
-//  LOCALISATION STRINGS
-
-//d:Voice Mailbox title for Control Panel
-//d:gsvmbxplugin
-//l:list_single_large_graphic_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_cp_folder_call_mail "Call mail"
-
-
-// End of File
--- a/phoneuis/vmbx/gsvmbxplugin/src/gsvmbxplugin.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,342 +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:  gsvmbxplugin implementation.
-*
-*/
-
-
-// INCLUDE
-#include    "gsvmbxplugin.h"
-#include    "VMBLogger.h"
-#include    <gsparentplugin.h>
-#include    <gscommon.hrh>
-#include    <gsvmbxpluginrsc.rsg>
-#include    <gsvmbxplugin.mbg>
-#include    <gsprivatepluginproviderids.h>
-#include    <AknNullService.h>
-#include    <bautils.h>
-#include    <StringLoader.h>
-#include    <centralrepository.h>
-
-// Constants
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CGSVmbxPlugin::CGSVmbxPlugin()
-// Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CGSVmbxPlugin::CGSVmbxPlugin()
-    : iResources( *iCoeEnv ), iNullService(NULL)
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CGSVmbxPlugin::CGSVmbxPlugin()
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CGSVmbxPlugin::~CGSVmbxPlugin()
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::~CGSVmbxPlugin =>" );
-    
-    iResources.Close();
-    delete iNullService;
-
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::~CGSVmbxPlugin <=" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CGSVmbxPlugin::ConstructL()
-// Symbian OS two-phased constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CGSVmbxPlugin::ConstructL()
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::ConstructL =>" );
-    
-    BaseConstructL();
-    OpenLocalizedResourceFileL( KVmbxPluginResourceFileName, iResources );
-    
-	VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::ConstructL <=" );    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CGSVmbxPlugin::NewL()
-// Static constructor
-//
-// ---------------------------------------------------------------------------
-//
-CGSVmbxPlugin* CGSVmbxPlugin::NewL( TAny* /*aInitParams*/ )
-    {
-    CGSVmbxPlugin* self = new( ELeave ) CGSVmbxPlugin();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::Id
-// 
-//
-// -----------------------------------------------------------------------------
-//
-TUid CGSVmbxPlugin::Id() const
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::Id =>" );
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::Id <=" );
-    return KGSVmbxPluginUID;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::DoActivateL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CGSVmbxPlugin::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
-                                  TUid /*aCustomMessageId*/,
-                                  const TDesC8& /*aCustomMessage*/ )
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::DoActivateL =>" );
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::DoActivateL <=" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::DoDeactivate
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CGSVmbxPlugin::DoDeactivate()
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::DoDeactivate =>" );    
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::DoDeactivate <=" );
-    }
-
-
-// ========================= From CGSPluginInterface ==================
-
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::GetCaptionL
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CGSVmbxPlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::GetCaptionL =>" );
-    
-    HBufC* result = StringLoader::LoadL( R_GS_VMBX_PLUGIN_CAPTION );
-    aCaption.Copy( *result );
-    delete result;
-    
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::GetCaptionL <=" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::PluginProviderCategory
-//
-//
-// -----------------------------------------------------------------------------
-//
-TInt CGSVmbxPlugin::PluginProviderCategory() const
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::PluginProviderCategory =>" );
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::PluginProviderCategory <=" );
-    return KGSPluginProviderInternal;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::ItemType()
-//
-//
-// -----------------------------------------------------------------------------
-//
-TGSListboxItemTypes CGSVmbxPlugin::ItemType()
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::ItemType =>" );
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::ItemType <=" );
-    return EGSItemTypeSettingDialog;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::GetValue()
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CGSVmbxPlugin::GetValue( const TGSPluginValueKeys /*aKey*/,
-                                      TDes& /*aValue*/ )
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::GetValue =>" );
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::GetValue <=" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::HandleSelection()
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CGSVmbxPlugin::HandleSelection(
-    const TGSSelectionTypes /*aSelectionType*/ )
-    {  
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::HandleSelection =>" );  
-    TRAP_IGNORE( LaunchVoiceMailBoxAppL() );
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::HandleSelection <=" );
-    }
-
-// ---------------------------------------------------------------------------
-// CGSVmbxPlugin::CreateIconL
-//
-//
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CGSVmbxPlugin::CreateIconL( const TUid aIconType )
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::CreateIconL =>" );  
-    
-    CGulIcon* icon;
-    TParse* fp = new( ELeave ) TParse();
-    CleanupStack::PushL( fp );
-    
-    fp->Set( KGSVmbxPluginIconDirAndName, &KDC_BITMAP_DIR, NULL );
-
-    if ( aIconType == KGSIconTypeLbxItem )
-        {
-        icon = AknsUtils::CreateGulIconL(
-        AknsUtils::SkinInstance(),
-        KAknsIIDQgnPropSetConnConfig,
-        fp->FullName(),
-        EMbmGsvmbxpluginQgn_prop_cp_tele_vmail,
-        EMbmGsvmbxpluginQgn_prop_cp_tele_vmail_mask );
-        }    
-    else
-        {
-        icon = CGSPluginInterface::CreateIconL( aIconType );
-        }
-
-    CleanupStack::PopAndDestroy( fp );
-
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::CreateIconL <=" );
-    return icon;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::OpenLocalizedResourceFileL()
-// 
-// Opens localized resource file.
-// -----------------------------------------------------------------------------
-//
-void CGSVmbxPlugin::OpenLocalizedResourceFileL(
-    const TDesC& aResourceFileName,
-    RConeResourceLoader& aResourceLoader )
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::OpenLocalizedResourceFileL =>" );  
-    
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect() );
-
-    // Find the resource file:
-    TParse parse;
-    parse.Set( aResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
-    TFileName fileName( parse.FullName() );
-
-    // Get language of resource file:
-    BaflUtils::NearestLanguageFile( fsSession, fileName );
-
-    // Open resource file:
-    aResourceLoader.OpenL( fileName );
-
-    // If leave occurs before this, close is called automatically when the
-    // thread exits.
-    fsSession.Close();
-    
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::OpenLocalizedResourceFileL <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::LaunchVoiceMailBoxAppL()
-//
-// Launches Voice Mailbox application.
-// -----------------------------------------------------------------------------
-//
-void CGSVmbxPlugin::LaunchVoiceMailBoxAppL()
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::LaunchVoiceMailBoxAppL =>" );
-    
-    // Get the correct application data
-    RWsSession ws;
-    User::LeaveIfError( ws.Connect() );
-    CleanupClosePushL( ws );
-
-    // Find the task with uid
-    TApaTaskList taskList( ws );
-    TApaTask task = taskList.FindApp( KGsVmbxAppUid );
-    
-    if ( task.Exists() )
-        {
-        task.BringToForeground();
-        }
-    else
-        {
-        // Launch Voice Mailbox application as embedded
-        TAppInfo app( KGsVmbxAppUid, KGSVmbxApp );            
-        EmbedAppL( app );
-        }
-
-    CleanupStack::PopAndDestroy(); // ws
-    
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::LaunchVoiceMailBoxAppL <=" );    
-    }
-// -----------------------------------------------------------------------------
-// CGSVmbxPlugin::EmbedAppL()
-//
-// Launches application as embedded.
-// -----------------------------------------------------------------------------
-//
-void CGSVmbxPlugin::EmbedAppL( const TAppInfo& aApp )
-    {
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::EmbedAppL =>" );
-    
-    // Launch settings app
-    if ( iNullService )
-        {
-        delete iNullService;
-        iNullService = NULL;
-        }
-    iNullService = CAknNullService::NewL( aApp.iUid, this );
-    
-    VMBLOGSTRING( "VMBXPLUGIN: CGSVmbxPlugin::EmbedAppL <=" ); 
-    }
-
-// End of file
--- a/phoneuis/vmbx/gsvmbxplugin/src/gsvmbxpluginimplementationtable.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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:  ECOM proxy table for gsvmbxplugin.
-*
-*/
-
-
-// User includes
-#include "gsvmbxplugin.h"
-
-// System includes
-#include <e32std.h>
-#include <implementationproxy.h>
-
-
-// Constants
-const TImplementationProxy KGSVmbxPluginImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY( 0x2000B4D7, CGSVmbxPlugin::NewL )
-    };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount )
-    {    
-    aTableCount = sizeof( KGSVmbxPluginImplementationTable )
-        / sizeof( TImplementationProxy );
-    return KGSVmbxPluginImplementationTable;
-    }
-
-
-// End of File
Binary file phoneuis/vmbx/help/data/xhtml.zip has changed
--- a/phoneuis/vmbx/help/group/bld.inf	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>				
-PRJ_EXPORTS
-:zip ../data/xhtml.zip   /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip   /epoc32/winscw/c/resource/ overwrite
-
-../inc/smsvo.hlp.hrh	APP_LAYER_PLATFORM_EXPORT_PATH(csxhelp/smsvo.hlp.hrh)
-../rom/vmbxhelps_variant.iby		CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(vmbxhelps_variant.iby)
--- a/phoneuis/vmbx/help/inc/smsvo.hlp.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /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:
-*
-*/
-	
-//
-// smsvo.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __SMSVO_HLP_HRH__
-#define __SMSVO_HLP_HRH__
-
-_LIT(KSMSVO_HLP_MAIN_VIEW, "SMSVO_HLP_MAIN_VIEW"); // 
-_LIT(KSMSVO_HLP_CS_AND_VIDEO, "SMSVO_HLP_CS_AND_VIDEO"); // 
-_LIT(KSMSVO_HLP_CS_VIDEO_AND_XSP_VOIP, "SMSVO_HLP_CS_VIDEO_AND_XSP_VOIP"); // 
-
-#endif 
\ No newline at end of file
--- a/phoneuis/vmbx/help/rom/vmbxhelps_variant.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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: 
-*
-*/
-
-#ifndef __VMBXHELPS_VARIANT_IBY__
-#define __VMBXHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058F5\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x100058F5\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058F5\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x100058F5\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058F5\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x100058F5\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x100058F5\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x100058F5\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- a/phoneuis/vmbx/inc/VMBLogger.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Provides macros for logging
-*
-*/
-
-
-#ifndef __VMBLOGGER_H__
-#define __VMBLOGGER_H__
-
-//  INCLUDES
-#include <e32def.h>
-
-/* 
------------------------------------------------------------------------------
-
-    USER LOG SELECTION
-
------------------------------------------------------------------------------
-*/
-
-
-#ifndef _DEBUG
-
-/***************************
-* Logging method variants:
-* 0 = No logging
-* 1 = Flogger
-* 2 = RDebug
-***************************/ 
-
-#define VMB_LOGGING_METHOD      0   // UREL BUILD
-
-#else
-
-#ifdef __WINS__
-#define VMB_LOGGING_METHOD      1   // UDEB BUILD, WINS
-#else
-#define VMB_LOGGING_METHOD      1   // UDEB BUILD, HW
-#endif // __WINS__
-
-#endif // _DEBUG
-
-
-// Next is for backward compatibility
-#if VMB_LOGGING_METHOD > 0
-    #define VMB_LOGGING_ENABLED    
-#endif //VMB_LOGGING_METHOD
-
-
-/**
-*
-* FLOGGER SETTINGS
-*
-*/
-#if VMB_LOGGING_METHOD == 1      // Flogger
-
-    #include <flogger.h>
-
-    _LIT(KVMBLogFolder, "vmbx");
-    _LIT(KVMBLogFile, "vmbxapp.txt");
-
-#elif VMB_LOGGING_METHOD == 2    // RDebug
-
-    #include <e32svr.h>
-
-#endif //VMB_LOGGING_METHOD
-
-
-/**
-*
-* LOGGING MACROs
-*
-* USE THESE MACROS IN YOUR CODE !
-*
-*/
-
-#if VMB_LOGGING_METHOD == 1      // Flogger
-
-#define VMBLOGTEXT(AAA) /*lint -save -e960 */              { RFileLogger::Write(KVMBLogFolder(),KVMBLogFile(),EFileLoggingModeAppend,AAA); } /*lint -restore */
-#define VMBLOGSTRING(AAA) /*lint -save -e960 */            { _LIT(tempLogDes,AAA); RFileLogger::Write(KVMBLogFolder(),KVMBLogFile(),EFileLoggingModeAppend,tempLogDes()); } /*lint -restore */
-#define VMBLOGSTRING2(AAA,BBB) /*lint -save -e960 -e437 */ { _LIT(tempLogDes,AAA); RFileLogger::WriteFormat(KVMBLogFolder(),KVMBLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(tempLogDes()),BBB); } /*lint -restore */
-#define VMBLOGSTRING3(AAA,BBB,CCC) /*lint -save -e960 */   { _LIT(tempLogDes,AAA); RFileLogger::WriteFormat(KVMBLogFolder(),KVMBLogFile(),EFileLoggingModeAppend,TRefByValue<const TDesC>(tempLogDes()),BBB,CCC); } /*lint -restore */
-
-#elif VMB_LOGGING_METHOD == 2    // RDebug
-
-#define VMBLOGTEXT(AAA)              RDebug::Print(AAA);
-#define VMBLOGSTRING(AAA)            RDebug::Print(_L(AAA));
-#define VMBLOGSTRING2(AAA,BBB)       RDebug::Print(_L(AAA),BBB);
-#define VMBLOGSTRING3(AAA,BBB,CCC)   RDebug::Print(_L(AAA),BBB,CCC);
-
-#else    // VMB_LOGGING_METHOD == 0 or invalid
-
-// Example: VMBLOGTEXT(own_desc);
-#define VMBLOGTEXT(AAA)
-// Example: VMBLOGSTRING("Test");
-#define VMBLOGSTRING(AAA)
-// Example: VMBLOGSTRING("Test %i", aValue);
-#define VMBLOGSTRING2(AAA,BBB)
-// Example: VMBLOGSTRING("Test %i %i", aValue1, aValue2);
-#define VMBLOGSTRING3(AAA,BBB,CCC)
-
-#endif  // VMB_LOGGING_METHOD
-
-#endif    // VMBLOGGER_H
-
-// End of File
--- a/phoneuis/vmbx/inc/VmApp.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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:  Declares main application class for the application.
-*
-*/
-
-
-#ifndef VMAPP_H
-#define VMAPP_H
-
-// INCLUDES
-#include <aknapp.h>
-
-// CONSTANTS
-// UID of the application
-const TUid KUidvm = { 0x100058F5 };
-
-// CLASS DECLARATION
-
-/**
-*  CVmApp application class.
-*  Provides factory to create concrete document object.
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-class CVmApp : public CAknApplication
-    {
-    private:
-        /**
-         * From CApaApplication, creates CVmDocument document object.
-         * @return A pointer to the created document object.
-         */
-        CApaDocument* CreateDocumentL();
-    
-        /**
-         * From CApaApplication, returns application's UID (KUidvm).
-         * @return The value of KUidvm.
-         */
-        TUid AppDllUid() const;
-    };
-
-#endif  // VMAPP_H
-
-// End of File  
--- a/phoneuis/vmbx/inc/VmAppUi.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declares UI class for application.
-*
-*/
-
-
-#ifndef VMAPPUI_H
-#define VMAPPUI_H
-
-// INCLUDES
-#include <aknappui.h>
-#include <bldvariant.hrh>
-#include "vm.hrh"
-#include "VmQueryLauncher.h"
-
-// FORWARD DECLARATIONS
-class CVmContainer;
-class CAiwServiceHandler;
-class CRepository;
-
-/**
-* Status of AppUi
-*/
-enum TVmbxAppUiState
-    {
-    /** idle state of AppUi */
-    EIdle= 0,
-    /** state of that AppUi launch to CVmQueryLauncher
-    * for querying number */
-    ELauncherQueryingNumber
-    };
-
-// Constants
-const TInt KVmCmdAiwVoiceCall = EVmCmdAiwCmdLast;
-const TInt KVmCmdAiwVideoCall = EVmCmdAiwCmdLast+1;
-const TInt KVmCmdAiwVoipCall  = EVmCmdAiwCmdLast+2;
-
-// CLASS DECLARATION
-
-/**
-*  Application UI class.
-*  Provides support for the following features:
-*  - UIKON control architecture
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-class CVmAppUi : public CAknAppUi, public MVmQueryLauncher
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        ~CVmAppUi();
-
-    public: // New functions
-
-        /**
-        * Loads CBA buttons for MSK
-        * @return void
-        */
-        void DrawCbaButtonsL();
-
-        /**
-        * Get current AppUi state
-        * @return TVmbxAppUiState, state of AppUi
-        */
-        TVmbxAppUiState GetAppUiState();
-
-    private: // New functions
-
-        /**
-        * Adds an item in menu.
-        *
-        * @param aMenuPane menu pane
-        * @param aText item text
-        * @param aCommandId menu command id
-        */
-        void AddMenuItemL( CEikMenuPane* aMenuPane, const TDesC& aText,
-                                                         TInt aCommandId );
-        /**
-        * Defines whether voice mail is started from general settings
-        * @return TBool, ETrue if started from GS else EFalse
-        */
-        TBool IsStartedFromGSL();
-
-        /**
-         * Set in MenuPane cmomand's item specific property.
-         * @since S60 v5.2
-         * @param aMenuPane curent munu pane
-         * @param aCommandId command Id
-         */
-        void SetItemSpecificL( CEikMenuPane* aMenuPane, TInt aCommandId );
-
-    private: // Functions from base classes
-
-        /**
-        * From MEikMenuObserver, dynamically initialises menu pane.
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-        /**
-        * From CCoeAppUi, gets a list of help contexts for a particular
-        * application user interface.
-        */
-        CArrayFix<TCoeHelpContext>* HelpContextL() const;
-
-        /**
-        * From CEikAppUi, takes care of command handling.
-        * @param aCommand command to be handled
-        */
-        void HandleCommandL( TInt aCommand );
-
-        /**
-        * From CEikAppUi, Handles changes in keyboard focus when an application
-        * switches to,  or from, the foreground.
-        * @param aForeground ETrue if the application is in the foreground,
-        *                     otherwise EFalse.
-        */
-        void HandleForegroundEventL( TBool aForeground );
-
-       /**
-         * From MVmQueryLauncher,Callback when query number completed
-         *
-         */
-        void NumberQueryComplete();
-
-        /**
-         * see VmContainer::IsIpVoiceMailboxServices
-         */
-        TBool IsIpVoiceMailboxServices();
-
-    private: // Data
-
-        //AppUi container
-        CVmContainer* iAppContainer;
-
-        //menupane text strings
-        HBufC* iTextShowDetails;  // owned
-        HBufC* iTextClearIcon; // owned
-        HBufC* iTextCallVoiceMail;  // owned
-        HBufC* iTextDefineNumber;  // owned
-        HBufC* iTextDefineVideoNumber;  // owned
-        HBufC* iTextChangeNumber;  // owned
-        HBufC* iTextHelp;  // owned
-        HBufC* iTextExit;  // owned
-        HBufC* iTextActivate; // owned
-        HBufC* iTextCallIntVoiceMail;  // owned
-        HBufC* iTextCancel; // owned
-        HBufC* iTextCheckStatus; // owned
-        HBufC* iTextCheckMessage; // owned
-        HBufC* iTextCallVideoMail;  // owned
-
-        //type of vmbx
-        TInt iType;
-
-        //title of the popupList
-        HBufC* iTextRingingTime; // owned
-
-        //CVmQueryLauncher object for asking vmbx number
-        CVmQueryLauncher* iQueryLauncher;  // owned
-
-        // AIW
-        CAiwServiceHandler* iServiceHandler; // owned
-
-        TBool iFeatureManagerInitialized;
-
-        // Boolean defining whether voice mail is started from
-        // general settings or not
-        TBool iFromGS;
-
-        // state of AppUi
-        TVmbxAppUiState iAppUiState;
-    };
-
-#endif  // VMAPPUI_H
-
-// End of File
--- a/phoneuis/vmbx/inc/VmContainer.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declares a container control for the application.
-*
-*/
-
-
-#ifndef VM_CONTAINER_H
-#define VM_CONTAINER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <bldvariant.hrh>
-#include <coecntrl.h>
-#include <badesca.h>
-#include <centralrepository.h>
-#include <cenrepnotifyhandler.h>
-#include <AknIconArray.h> //for sim icon
-#include <aiwdialdata.h>
-#include <vmnumber.h>
-#include "VmAppUi.h"
-
-// CONSTANTS
-enum TVmbxIndicators
-    {
-    EVmbxVoiceMessageAmountInd = 0,
-    EVmbxVoiceMailboxNumberInd,
-    EVmbxDetailsOfLastMessageInd,
-    EVmbxVideoMailboxNumberInd,
-    EVmbxIntCallVoiceMailboxNumberInd
-    };
-
-// FORWARD DECLARATIONS
-class CAknDoubleGraphicStyleListBox;
-class CPhCltExtPhoneBase;
-class CAiwServiceHandler;
-class CPNGNumberGrouping;
-class CAknsBasicBackgroundControlContext;
-class CCaUiEngApi;
-class CSPSettings;
-
-// CLASS DECLARATION
-
-/**
-*  CVmContainer, container control class.
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-class CVmContainer : public CCoeControl,
-                     public MVmbxNotifyHandler,
-                     public MVmbxAlsObserver,
-                     public MCenRepNotifyHandlerCallback,
-                     public MEikListBoxObserver,
-                     public MServiceNotifyHandler
-                     
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * C++ default constructor.
-        */
-        CVmContainer();
-
-        /**
-        * Symbian OS default constructor.
-        * @param aRect Frame rectangle for container.
-        * @param aServiceHandler AIW service handler.
-        */
-        void ConstructL( const TRect& aRect,
-                                        CAiwServiceHandler* aServiceHandler );
-
-        /**
-        * Destructor.
-        */
-        ~CVmContainer();
-
-    public:  // New functions
-        /**
-        * Query for a new voice mailbox number. Calls method of vmbx.dll.
-        * A different query is created depending on whether the vmbx number
-        * is defined before calling this.
-        *
-        * @param aQueryType query type ( 2 alternatives )
-        */
-        void QueryNumberL( TVmbxQueryType aQueryType );
-
-        /**
-        * Gets the vmbx number from SIM/SharedData and updates it
-        * in the display.
-        */
-        void UpdateVmbxNumberL();
-
-        /**
-        * Check wether is possible to edit the voice mailbox number.
-        * @since 2.7
-        * @return ETrue is editing is allowed.
-        */
-        TBool AllowedToChangeTheNumber();
-
-        /**
-        * Resets to zero the voicemail message counter in SD.
-        * @since 2.7
-        */
-        void ResetVoicemailMessageCounterL();
-
-        /**
-        * Check if VoIP profiles is found.
-        * @since 3.0
-        * @return ETrue if there is at least one VoIP profile, EFalse otherwise
-        */
-        TBool IsVoIPProfilesFound();
-
-        /**
-        * Gets index of the current item in listbox
-        * @return index of current item
-        */
-        TInt CurrentItem();
-
-
-        /**
-        * Checks if clear icon is set
-        * @return ETrue if clear icon
-        */
-        TBool IsClearIcon();
-
-        /**
-        * Calls the vmbx number using PhoneClient.
-        */
-        void CallVoiceMailBoxL();
-
-        /**
-        * Calls the VoIP vmbx number using PhoneClient.
-        */
-        void CallIntVoiceMailBoxL();
-
-        /**
-        * Makes a call request to AiwProvider.
-        * @aCommand AiwCommand id.
-        * @aCallType voice or Video call.
-        * @return KErrNone if successful.
-        **/
-        void AiwCallRequestL( TInt aCommand, CAiwDialData::TCallType aCallType );
-
-        /**
-        * Ask Vmbx type.
-        * @since 3.0
-        * @return returns type of Vmbx.
-        */
-        TInt AskTypeL();
-
-        /**
-        * Calls the vmbx number using PhoneClient.
-        * @since 3.1
-        */
-        void CallVideoMailBoxL();
-
-        /**
-        * Constructs the icons that are needed to indicate where
-        * the vmbx number is stored
-        * @since 3.0
-        */
-        void ConstructIconsForListboxL();
-
-        /**
-        * Query for a new video mailbox number. Calls method of vmbx.dll.
-        * A different query is created depending on whether the video mailbox
-        * number is defined before calling this.
-        *
-        * @param aQueryType query type ( 2 alternatives )
-        * @since 3.1
-        */
-        void QueryVideoNumberL( TVmbxQueryType aQueryType );
-
-        /**
-        * Query for a voice mailbox number.
-        *
-        * @return Voice mailbox number
-        * @since 3.1
-        */ const TDesC& Number() const;
-
-        /**
-        * Query for a video mailbox number.
-        *
-        * @return Video mailbox number
-        * @since 3.1
-        */
-        const TDesC& VideoNumber() const;
-
-        /**
-        * Informs that listbox must be updated because returned to Vmbx
-        * from other application
-        *
-        * @since
-        */
-        void UpdateData( TBool aState );
-
-        /**
-         * Checks if there are configured IP voicemail services
-         * @since 3.2
-         * @return ETrue if at least one IP voicemail service was found
-         */
-        TBool IsIpVoiceMailboxServices();
-
-        /**
-         * Get Service Id.
-         * @since 3.2
-         * @return TUint Service Id.
-         */
-        TUint ServiceId();
-
-        /**
-         * Informs that listbox must be updated immediately.
-         * @since 3.2
-         */
-        void UpdateListboxL();
-
-        /**
-         * Add brand icon if it exist.
-         * @since 3.2
-         * @param aServiceId Used Service Id
-         * @param aIconId On completion, contains branded icon's icon list id
-         */
-        void AddBrandIconL( TUint aServiceId, TInt& aIconId );
-
-        /**
-         * Is service updated.
-         * @since 3.2
-         * @return TBool ETrue if service has updated, otherwise EFalse.
-         */
-        TBool IsServiceUpdated() const;
-
-    public: // Functions from base classes
-
-        /**
-        * From MEikListBoxObserver, Handles list box events.
-        * @param aEventType The event identifier.
-        */
-        void HandleListBoxEventL( CEikListBox* /*aListBox*/,
-            					  TListBoxEvent aEventType );
-        /**
-         * Check if Video telphony is activated at FeatureManager
-         * @since 3.2
-         * @return Value of VT support
-         */
-        TBool IsVideoSupported();
-
-    private:  // Functions from base classes
-
-        /**
-        * From CCoeControl, responds to focus changes
-        * @since 3.0
-        * @param aDrawNow ?description
-        */
-        void FocusChanged( TDrawNow aDrawNow );
-
-        /**
-        * From CoeControl, responds to size changes to sets the size and
-        * position of the contents of this control
-        */
-        void SizeChanged();
-
-        /**
-        * From CoeControl, gets the number of controls contained in
-        * a compound control
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl, gets the specified component of a compound control
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * From CCoeControl, handles key events
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                 TEventCode aType );
-
-        /**
-        * From CCoeControl, handles a change to the control's resources
-        */
-        void HandleResourceChange( TInt aType );
-
-        /**
-        * From CCoeControl, draw a control - called by window server
-        */
-        void Draw( const TRect& aRect ) const;
-
-
-        /**
-        * From MVmbxNotifyHandler, user has completed an action
-        * to a vmbx number
-        */
-        void HandleNotifyL( TInt aLine, const TDesC& aValue );
-
-        /**
-        * From MVmbxAlsObserver, ALS line changed
-        */
-        void HandleAlsChangeL( TVmbxAlsLine aLine );
-
-        /**
-        * From MCenRepNotifyHandlerCallback, user has pressed integer value keys
-        **/
-        void HandleNotifyInt( TUint32 aKey, TInt aValue );
-
-        /**
-        * From MServiceNotifyHandler user has changed Services.
-        * @since S60 v3.2
-        */
-        void HandleServiceNotifyL();
-
-    private:   // New functions
-
-        /**
-        * Updates the vmbx number in the listbox shown on the app screen.
-        */
-        void UpdateVmbxNumberInListBoxL();
-
-        /**
-        * Updates the new voice message to the listbox
-        */
-        void UpdateNewVoiceMessagesInListBoxL();
-
-        /**
-        * Updates the last message details to the listbox
-        */
-        void UpdateLastMessageDetailsInListBoxL();
-
-        /**
-        * Fill array with indications
-        */
-        void FillIndArray();
-
-    private:  // data
-
-        // Video line 1
-        HBufC* iVideoLine1;  // owned
-
-        // Video line 2
-        HBufC* iVideoLine2;  // owned
-
-        // Video number
-        TBuf<KVmbxMaxNumberLength> iVideoNumber;
-
-
-        // Handler of the Application Interworking
-        CAiwServiceHandler* iServiceHandler;
-
-        //Listbox text lines
-        HBufC* iLine1;  // owned
-        HBufC* iLine2;  // owned
-        HBufC* iLine3;  // owned
-        HBufC* iLine4;  // owned
-
-        // Vmbx number handler
-        RVmbxNumber iVmbxNumber;
-
-        // Array for the listbox texts
-        CDesCArrayFlat iArray;  // owned
-
-        // Vmbx listbox
-        CAknDoubleGraphicStyleListBox* iListBox;  // owned
-
-
-        // Mailbox number
-        TBuf<KVmbxMaxNumberLength> iNumber;
-
-        // Phone groups
-        CPNGNumberGrouping* iNumberGrouping;  // owned
-
-        // Central repository handlers
-        CCenRepNotifyHandler* iNotifyHandler1;
-        CCenRepNotifyHandler* iNotifyHandler2;
-        CCenRepNotifyHandler* iNotifyHandler3;
-
-        // Central repository session
-        CRepository* iSession;  // owned
-
-        // Array for indications in listbox
-        RArray<TInt> iIndArray;
-
-        //PRI Settings
-        TInt iVmUiOpts;
-
-        // Icon array
-        CAknIconArray* iListIcons; //not own.. list box will delete this one
-
-        // skin data
-        CAknsBasicBackgroundControlContext* iSkinContext; // owned
-
-        // Mailbox type
-        TInt iType;
-
-        // Update data when back to application
-        TBool iUpdateData;
-
-        // CenRep key for video support
-        TBool iIsVideoSupported;
-
-        // Set to true if call is ongoing
-        TBool iIsCallOngoing;
-
-        /**
-         * Instance of service settings provider.
-         * Used especially to retrieve VoIP specific info.
-         * Own.
-         */
-        CSPSettings* iServiceProviderSettings;
-
-        TBool iServiceUpdated;
-
-        TBool iFeatureManagerInitialized;
-
-    };
-
-#endif  // VM_CONTAINER_H
-
-// End of File
--- a/phoneuis/vmbx/inc/VmDetDlgPropertyObserver.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:  Publish & Subscribe property change observer
-*
-*/
-
-
-
-#ifndef VMDETDLGPROPERTYOBSERVER_H
-#define VMDETDLGPROPERTYOBSERVER_H
-
-//  INCLUDES
-#include <e32base.h>        // CActive
-#include <e32property.h>    // RProperty
-
-// FORWARD DECLARATIONS
-class CVmDetailsDialog;
-
-// CLASS DECLARATION
-
-/**
-*  Implementation of the Publish & Subscribe property change observer
-*
-*  @lib
-*  @since 2.6
-*/
-class CVmDetDlgPropertyObserver : public CActive
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        * @param aObserver Observer to be informed when observed property
-        *                  changes
-        */
-        static CVmDetDlgPropertyObserver* NewL( CVmDetailsDialog& aDetDialog );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CVmDetDlgPropertyObserver();
-
-    public:     // New functions
-
-        /**
-        * Starts observing the given key for any changes
-        * Notifies the observer when the property changes
-        * @since 2.6
-        * @param aCategory, Category of the observed property
-        * @param aKey, Observed property
-        */
-        void ObservePropertyChangeL( TUid aCategory, TUint aKey );
-
-    protected:  // Functions from base classes
-
-        /**
-        * From CActive
-        */
-        void RunL();
-
-        /**
-        * From CActive
-        */
-        void DoCancel();
-
-        /**
-        * From CActive
-        */
-        TInt RunError( TInt aError );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CVmDetDlgPropertyObserver( CVmDetailsDialog& aDetDialog );
-
-        /**
-        * Symbian 2nd phase constructor..
-        */
-        void ConstructL();
-
-    private:    // Data
-
-        // Owns: Observed property
-        RProperty iProperty;
-
-        // Observer to be informed when property changes
-        CVmDetailsDialog& iDetDialog;
-        
-        // Observed property
-        TUint iKey;
-    };
-
-#endif      // VMDETDLGPROPERTYOBSERVER_H
-
-// End of File
--- a/phoneuis/vmbx/inc/VmDetailsDialog.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +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:  Details dialog for last message.
-*
-*/
-
-
-#ifndef CVMDETAILSDIALOG_H
-#define CVMDETAILSDIALOG_H
-
-//  INCLUDES
-#include <AknDialog.h>
-#include <centralrepository.h>
-
-// FORWARD DECLARATIONS
-class CPNGNumberGrouping;
-class CVmDetDlgPropertyObserver;
-
-// CLASS DECLARATION
-
-/**
-*  Details dialog for last message.
-*
-*  Usage:
-*  CVmDetailsDialog* dlg = CVmDetailsDialog::NewL();
-*  dlg->ExecuteLD( R_VMBX_DETAIL_DIALOG );
-*
-*  @lib 
-*  @since 2.7
-*/
-class CVmDetailsDialog : public CAknDialog
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CVmDetailsDialog* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CVmDetailsDialog();
-        
-        // Called when the key value is changed.
-        void HandlePropertyNotificationEventL( const TDesC& aValue );
-                
-    protected:  // New functions
-        
-        /**
-        * Creates the listbox items
-        * @param aItemArray Array to fill.
-        */
-        void PopulateListboxItemsL( CDesCArray& aItemArray );
-
-        /**
-        * Adds text line to the listbox.
-        * @param aItemArray Array to append onto.
-        * @param aHeading Text for the first (heading) column.
-        * @param aData Text for the second (body/data) column.
-        * @param aItemTextRect list box rectangle where the text is drawn
-        * @param aUseMultipleLines ETrue if the text is wrapped into several
-        *                                lines (if needed) in the listbox.
-        *                          EFalse if the text is truncated into one
-        *                                 line in the listbox (default).
-        */
-        static void AppendLineL( 
-                        CDesCArray& aItemArray, 
-                        const TDesC& aHeading, 
-                        const TDesC& aData, 
-                        TRect aItemTextRect,
-                        TBool aUseMultipleLines = EFalse );
-
-        /**
-        * Sets the old title pane text.
-        */
-        void SetOldTitleL();
-
-        /**
-        * Format date string to UI style. Initial format must 
-        * be DD/MM/YYYY. If not, this leaves with KErrCorrupt.
-        * @param aDateString String to be modified.
-        */
-        static void FormatDateStringL( TDes& aDateString );
-
-        /**
-        * Format time string to UI style. Initial format must 
-        * be HH:MM:SS. If not, this leaves with KErrCorrupt.
-        * @param aTimeString String to be modified.
-        */
-        static void FormatTimeStringL( TDes& aTimeString );
-
-
-    protected:  // Functions from CAknDialog
-        
-        /**
-        * Called after the dialog is constructed and before it is launched.
-        */
-        void PreLayoutDynInitL();
-
-        /**
-        * Called when a key is pressed.
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                     TEventCode aType );
-
-        /**
-        * Called when a softkey is pressed.
-        */
-        TBool OkToExitL( TInt aButtonId );
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CVmDetailsDialog();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private:    // Data
-        // Old title pane text
-        HBufC* iOldTitlePaneText;
-
-        // Central Repository
-        CRepository* iSession;
-
-        // Does the number grouping.
-        CPNGNumberGrouping* iNumberGrouping;
-        
-        // Observer class        
-        CVmDetDlgPropertyObserver* iObserver;
-    
-        // Starts observing for key value changes.
-        void StartObservingL();
-    };
-
-#endif      // CVMDETAILSDIALOG_H   
-            
-// End of File
--- a/phoneuis/vmbx/inc/VmDetailsDlgDummy.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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:  Dummy details dialog for global implementation
-*
-*/
-
-
-
-#ifndef CVMDETAILSDLGDUMMY_H
-#define CVMDETAILSDLGDUMMY_H
-
-//  INCLUDES
-#include <e32base.h>
-
-
-// CLASS DECLARATION
-
-/**
-*  Dummy details dialog for global implementation
-*
-*  Usage:
-*  CVmDetailsDialog* dlg = CVmDetailsDialog::NewL();
-*  dlg->ExecuteLD( R_VMBX_DETAIL_DIALOG );
-*
-*  @lib 
-*  @since 2.7
-*/
-class CVmDetailsDialog : public CBase
-    {
-    public:  // Constructors and destructor
-        
-       /**
-        * Two-phased constructor.
-        */
-        static CVmDetailsDialog* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CVmDetailsDialog();
-        
-    private:
-        
-       /**
-        * C++ default constructor.
-        */
-        CVmDetailsDialog();
-        
-    public:
-    
-        /**
-        * Executes dummy dialog
-        *
-        * @param aResourceId Resource id
-        * @return Returns 0
-        */        
-        TInt ExecuteLD( TInt aResourceId );
-    };
-
-#endif // CVMDETAILSDLGDUMMY_H
--- a/phoneuis/vmbx/inc/VmDocument.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +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:  Declares a document for application.
-*
-*/
-
-
-#ifndef VMDOCUMENT_H
-#define VMDOCUMENT_H
-
-// INCLUDES
-#include <eikdoc.h>
-
-// FORWARD DECLARATIONS
-class CEikAppUi;
-
-// CLASS DECLARATION
-
-/**
-*  CVmDocument application class.
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-class CVmDocument : public CEikDocument
-    {
-    public:  // Constructors and destructor
-        /**
-         * Two-phased constructor.
-         */
-        static CVmDocument* NewL( CEikApplication& aApp );
-        
-        /**
-         * Destructor.
-         */
-        virtual ~CVmDocument();
- 
-     private:
-        /**
-         * Symbian OS default constructor.
-         */
-        CVmDocument( CEikApplication& aApp ): CEikDocument( aApp ){  }
-     
-     private:
-        /**
-         * From CEikDocument, create CVmAppUi "App UI" object.
-         */
-        CEikAppUi* CreateAppUiL();
-
-    };
-
-#endif  // VMDOCUMENT_H
-
-// End of File  
--- a/phoneuis/vmbx/inc/VmQueryLauncher.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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:  Active object for asking vmbx number (if it's not defined) after
-*                the vmbx application has been fully constructed.
-*
-*/
-
-
-#ifndef VM_QUERY_LAUNCHER_H
-#define VM_QUERY_LAUNCHER_H
-
-// INCLUDES
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CVmContainer;
-
-/**
-*  MVmQueryLauncher
-*
-*  @lib vmbx.lib
-*
-**/
-NONSHARABLE_CLASS ( MVmQueryLauncher )
-    {
-    public:
-        /**
-        * query number completed
-        **/
-        virtual void NumberQueryComplete() = 0;
-
-    };
-
-
-// CLASS DECLARATION
-
-/**
-*  CVmQueryLauncher
-*  ?other_description_lines
-*
-*  @lib ?library
-*  @since ?Series60_version
-*/
-class CVmQueryLauncher : public CActive
-    {
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        *
-        * @param aContainer VmContainer
-        * @param aObserver observer for launching number
-        * @param aPriority  Priority of CVmQueryLauncher
-        */
-        static CVmQueryLauncher* NewL( CVmContainer& aContainer, 
-                                        MVmQueryLauncher& aObserver, 
-                                TInt aPriority = CActive::EPriorityStandard );
-      
-        /**
-         * Destructor.
-         */
-        ~CVmQueryLauncher();
- 
-     protected:  // From CActive
-
-        void RunL();
-        void DoCancel();
-     
-     private:
-        /**
-        * C++ default constructors.
-        *
-        * @param aContainer VmContainer
-        * @param aObserver observer for launching number
-        * @param aPriority  Priority of CVmQueryLauncher
-        */
-        CVmQueryLauncher( CVmContainer& aContainer,
-                         MVmQueryLauncher& aObserver, TInt aPriority );
-     
-     private:  // Data
-        CVmContainer& iContainer;
-
-        // Observer for AppUi to query number
-        MVmQueryLauncher& iObserver;
-    };
-
-#endif  // VM_QUERY_LAUNCHER_H
-
-// End of File  
--- a/phoneuis/vmbx/inc/VoiceMailboxAppPrivateCRKeys.h	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +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: Private keys for Voice mailbox.
-*
-*/
-
-
-#ifndef VOICEMAILBOXAPPPRIVATECRKEYS_H
-#define VOICEMAILBOXAPPPRIVATECRKEYS_H
-#include <e32std.h>
-
-/** VoiceMailbox Settings API */
-/** Provides access to the VoiceMailbox numbers and settings */
-
-const TUid KCRUidVoiceMailbox = {0x101F874F};
-
-
-/** Voice Message Date Stamp, a field in VMN 
-*
-* Text type
-*
-* Default value: ""
-**/
-const TUint32 KVmDateStamp                = 0x00000003;
-
-/** 
-* Voice message counter, a field in VMN to indicate how many messages are waiting on the network side 
-*
-* Integer type
-*
-* Default value: 0
-**/
-const TUint32  KVmMessageCounter            = 0x00000004;
-
-/** 
-* Voicemail Summary Info Set flag, a field in VMN 
-*
-* Integer type
-*
-* Possible values:
-* 0 (not set)
-* 1 (set)
-*
-* Default value: 0
-**/
-const TUint32  KVmSummaryInfoIsSet        = 0x00000005;
-
-/** 
-* Voice Message Time Stamp, a field in VMN 
-*
-* Text type
-*
-* Default value: ""
-**/
-const TUint32  KVmTimeStamp                = 0x00000006;
-
-/**
-* Voice Message Urgency Level, 
-*
-* Integer type
-*
-* Possible values:
-* 0 (ENormal)
-* 1 (EInteractive)
-* 2 (EUrgent)
-* 3 (EEmergency)
-*
-* Default value: 0
-**/
-const TUint32 KVmUrgencyLevel            = 0x00000007;
-
-/** Voice Message User Data, VMS field 
-*
-* Text type
-*
-* Default value: ""
-**/
-const TUint32  KVmUserData                = 0x00000008;
-
-
-/** Voice Message CDMA Operator Option to enable or disable UI for the user to
-* view or modify his/her voicemail box number 
-*
-* Integer type
-*
-* Default value: 2
-**/
-const TUint32 KVmUIOpts                    = 0x00000010;
-
-/** ring time index for i-Mode vmbx
-*
-* Integer type
-*
-* Default value: 2
-*/
-const TUint32 KVoiceMbxRingTimeIndex = 0x00000014;
-
-#endif      // VOICEMAILBOXAPPPRIVATECRKEYS_H
\ No newline at end of file
--- a/phoneuis/vmbx/inc/smsvo.hlp.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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: Voice mailbox main view
-*
-*/
-//
-// smsvo.hlp.hrh
-//
-
-//
-// File generated on 13:52:21 18/3/2002
-// by cshlpcmp Version 010
-//
-
-#ifndef __SMSVO_HLP_HRH__
-#define __SMSVO_HLP_HRH__
-
-_LIT(KSMSVO_HLP_MAIN_VIEW,"SMSVO_HLP_MAIN_VIEW"); //Voice mailbox main view
-
-#endif
--- a/phoneuis/vmbx/inc/vm.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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 file contains declarations for resources of vm.
-*                The file can be included in C++ or resource file.
-*
-*/
-
-
-#ifndef VM_HRH
-#define VM_HRH
-
-// DATA TYPES
-enum TvmMenuCommands
-    {
-    EVmCmdAiwPlaceholder = 500, // for aiw place holder
-    EVmCmdAiwCmdLast,
-    EvmCmdCallVoiceMail = 1,
-    EvmCmdChangeNumber = 2,
-    EvmCmdCallIntVoiceMail = 3, 
-    EvmCmdChangeAddress = 4, 
-    EvmCmdCallVideoMail = 5,
-    EvmCmdChangeVideoNumber = 6,
-    EvmCmdShowLastMessageDetails = 100,
-    EvmCmdClearIcon,   
-    EVmCbaMskDefVoMbx,
-    EVmCbaMskCallVoMbx,
-    EVmCbaMskDefViMbx,
-    EVmCbaMskCallViMbx,
-    EVmCbaMskDefVoipMbx,
-    EVmCbaMskCallVoipMbx
-    };
-
-// Dialog ID:s
-enum
-    {
-    KVmDetailsDialog = 8000
-    };
-
-#endif  // VM_HRH
-
-// End of File  
--- a/phoneuis/vmbx/inc/vm_variant.hrh	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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 file contains declarations for Flags of vm.
- *                The file can be included in C++ or resource file.
- *
-*/
-
-
-#ifndef VM_VARIANT_HRH
-#define VM_VARIANT_HRH
-
-#define __RD_EXTENDED_AIW_
-//#undef __RD_EXTENDED_AIW_
-
-
-#endif  // VM_VARIANT_HRH
-
-// End of File  
-
-
--- a/phoneuis/vmbx/loc/vm.loc	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 localised strings for vm.app
- *
-*/
-
-
-// LOCALISATION STRINGS
-
-// d: app name in list
-// l: list_single_large_graphic_pane_t1
-//
-#define qtn_apps_smsvo_list "Voice Mailbox"
-
-// d: app name in grid
-// l: cell_app_pane_t1
-//
-#define qtn_apps_smsvo_grid "Voice Mail"
-
-// d: Displayed in title pane
-// l: title_pane_t2/opt9
-//
-#define qtn_smsvo_title_voice_mailbox "Voice Mailbox"
-
-// d: Displayed in the main view in a list pane for double item
-// d: (the other item is the vmbx number)
-// l: list_double_pane_t1
-//
-#define qtn_smsvo_call_voicemail "Voice mail"
-
-// d: When vmbx number is not defined, this text is shown in the place of it.
-// l: list_double_pane_t2
-//
-#define qtn_smsvo_number_pane_empty "No number"
-
-// d: Command in options list in Vmbx. 
-// d: Changes voice mailbox number that was already defined earlier.
-// l: list_single_pane_t1_cp2
-//
-#define qtn_smsvo_change_number "Change number"
-
-// d: Command in options list in Vmbx. 
-// d: Changes voice mailbox number that was not defined earlier.
-// l: list_single_pane_t1_cp2
-//
-#define qtn_smsvo_define_number "Define number"
-
-// d: Prompt of the query for defining video mailbox number.
-// l: list_single_pane_t1_cp2
-// w:
-// r:3.1
-//
-#define qtn_smsvi_define_number "Define number"
-
-// d: Command in options list in Vmbx. 
-// d: Calls voice mailbox.
-// l: list_single_pane_t1_cp2
-//
-#define qtn_smsvo_call_voicemail_opt "Call voice mailbox"
-
-// CDMA ADDITIONS
-
-//d:Text in infotmation note when
-//d:the voicemail icon is cleared.
-//l:popup_note_window
-//
-#define qtn_smsvo_voicemail_cleared "Voicemail icon cleared"
-
-// d: Command in options list in Vmbx. 
-// d: Clears the voicemail icon.
-// l: list_single_pane_t1_cp2
-//
-#define qtn_smsvo_clear_icon "Clear icon"
-
-// d: Displayed in the main view in a list pane for double item.
-// d: The first item. Shows the voice message count.
-// l: list_double_pane_t1_cp2
-//
-#define qtn_smsvo_voice_messages "Voice messages"
-
-// d: Text for number of new messages in the double listbox.
-// d: For no new messages.
-// l: list_double_pane_t2
-//
-#define qtn_smsvo_no_new "No new messages"
-
-// d: Text for number of new messages in the double listbox.
-// d: For one new message.
-// l: list_double_pane_t2
-//
-#define qtn_smsvo_new_messages "New messages"
-
-// d: Text for number of new messages in the double listbox.
-// d: For several new messages.
-// l: list_double_pane_t2
-//
-#define qtn_smsvo_n_new "%N new messages"
-
-// d: Displayed in the main view in a list pane for double item;
-// d: The third/last item. Open the last message details dialog.
-// l: list_double_pane_t1_cp2
-//
-#define qtn_smsvo_details_of_last "Details of last message"
-
-// d: Displayed in title pane in the last message details dialog
-// l: title_pane_t2/opt9
-//
-#define qtn_smsvo_title_details "Details of last message"
-
-// d: Heading in the details view.
-// l: list_single_heading_pane_t2
-//
-#define qtn_smsvo_urgency "Urgency"
-
-// d: Body text in the details view under Urgency heading.
-// l: list_single_heading_pane_t1
-//
-#define qtn_smsvo_emergency "Emergency"
-
-// d: Body text in the details view under Urgency heading.
-// l: list_single_heading_pane_t1
-//
-#define qtn_smsvo_urgent "Urgent"
-
-// d: Body text in the details view under Urgency heading.
-// l: list_single_heading_pane_t1
-//
-#define qtn_smsvo_normal "Normal"
-
-// d: Heading in the details view.
-// l: list_single_heading_pane_t2
-//
-#define qtn_smsvo_date "Date"
-
-// d: Heading in the details view.
-// l: list_single_heading_pane_t2
-//
-#define qtn_smsvo_time "Time"
-
-// d: Heading in the details view.
-// l: list_single_heading_pane_t2
-//
-#define qtn_smsvo_call_back "Call back"
-
-// d: Heading in the details view.
-// l: list_single_heading_pane_t2
-//
-#define qtn_smsvo_text "Text"
-
-// d: Displayed in the main view in a list pane for double item
-// d: instead of qtn_smsvo_call_voicemail in CDMA
-// l: list_double_pane_t1_cp2
-//
-#define qtn_smsvo_mailbox_number "Mailbox number"
-
-
-
-// d: Displayed in the main view in a list pane for double item
-// d: (the other item is the vmbx address)
-// l: list_double_pane_t1
-//
-#define qtn_voip_mailbox "Internet call voice mailbox"
-
-// d: When vmbx address is not defined, this text is shown in the place of it.
-// l: list_double_pane_t2
-//
-#define qtn_voip_mailbox_empty "no address"
-
-// d: Command in options list in Vmbx. 
-// d: Changes voice mailbox address that was not defined earlier.
-// l: list_single_pane_t1_cp2
-//
-#define qtn_voip_define_mailbox_address "Define address"
-
-// d: Command in options list in Vmbx. 
-// d: Changes voice mailbox address that was already defined earlier.
-// l: list_single_pane_t1_cp2
-//
-#define qtn_voip_change_address "Change address"
-
-// d: Command in options list in Vmbx. 
-// d: Calls Int. voice mailbox.
-// l: list_single_pane_t1_cp2
-//
-#define qtn_voip_call_mailbox "Call Int. voice mailbox"
-
-// d: Text for calling voice mail in the options menu.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 2.8
-//
-#define qtn_jpn_vmail_options_call_voice_mail "Call voice mail"
-
-// d: Text for activating voice mail in the options menu.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 2.8
-//
-#define qtn_jpn_vmail_options_activate "Activate"
-
-// d: Text for cancelling voice mail in the options menu.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 2.8
-//
-#define qtn_jpn_vmail_options_cancel "Cancel"
-
-// d: Text for voice mail status checking in the options menu.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 2.8
-//
-#define qtn_jpn_vmail_options_status "Check Status"
-
-// d: Text for voice mail message checking in the options menu.
-// l: list_single_pane_t1_cp2
-// w:
-// r: 2.8
-//
-#define qtn_jpn_vmail_options_check_message "Check Message"
-
-// d: Text for voice mail main pane.
-// l: list_double2_pane
-// w:
-// r: 2.8
-//
-#define qtn_jpn_vmail_list_voice_mail "Voice mail"
-
-// d: Text for application title
-// l: title_pane_t2/opt9
-// w:
-// r: 2.8
-//
-#define qtn_jpn_vmail_title_voice_mail "Voice mail"
-
-// d: Text for activation title
-// l: heading_pane_t1
-// w:
-// r: 2.8
-//
-#define qtn_jpn_vmail_lbl_ringing_time "Ringing time:"
-
-// d: Text for items in activation list
-// l: list_single_pane_t1
-// w:
-// r: 2.8
-//
-#define qtn_jpn_vmail_sublist_seconds "%N seconds"
-
-// d: Displayed in the main view in a list pane for double item
-// d: (the other item is the vmbx number)
-// l: list_single_pane_t1
-// r: 3.1
-//
-#define qtn_smsvi_list_video_mailbox "Call videomail"
-
-// d: Command in options list in Vmbx. 
-// d: Calls video mailbox.
-// l: list_single_pane_t1_cp2
-// r: 3.1
-//
-#define qtn_smsvi_call_videomail_opt "Call video call mailbox"
-
-
-
-// d: Text in middle soft key (general purposes texts).
-// l:control_pane_t3/opt7
-// w:
-// r: 3.2
-//
-#define qtn_msk_call_cs_vmbx "Call"
-
-// d: Text in middle soft key (general purposes texts).
-// l:control_pane_t3/opt7
-// w:
-// r: 3.2
-//
-#define qtn_msk_call_video_mbx "Call"
-
-// d: Text in middle soft key (general purposes texts).
-// l:control_pane_t3/opt7
-// w:
-// r: 3.2
-//
-#define qtn_msk_call_voip_vmbx "Call"
-
-// d: Text in middle soft key (general purposes texts).
-// l:control_pane_t3/opt7
-// w:
-// r: 3.2
-//
-#define qtn_msk_define_video_mbx_number "Define"
-
-
-// d: Text in middle soft key (general purposes texts).
-// l:control_pane_t3/opt7
-// w:
-// r: 3.2
-//
-#define qtn_msk_define_cs_vmbx_number "Define"
-
-// d: Text in middle soft key (general purposes texts).
-// l:control_pane_t3/opt7
-// w:
-// r: 3.2
-//
-#define qtn_msk_define_voip_mbx_address "Define"
-
-// d: Displayed in the main view in a list pane for double item
-// d: (the other item is the vmbx number)
-// l: list_double_pane_t1
-// r:VoIP Rel3.0 
-//
-#define qtn_voip_list_mailbox_name "%U mailbox"
-
-// End of File
--- a/phoneuis/vmbx/rom/Vmbx.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  IBY file for Voice mailbox
- *
-*/
-
-#ifndef __VMBX_IBY__
-#define __VMBX_IBY__
-
-//Vmbx.app
-S60_APP_EXE(Vm)
-S60_APP_AIF_ICONS(Vm)
-S60_APP_AIF_RSC(Vm)
-S60_APP_BITMAP(Vm)
-
-// sis stub file
-data=ZSYSTEM\install\vm_stub.sis    System\Install\vm_stub.sis
-
-// Application registration resource file
-data=ZPRIVATE\10003a3f\apps\vm_reg.rsc       private\10003a3f\import\apps\vm_reg.rsc
-
-#endif  // __VMBX_IBY__
--- a/phoneuis/vmbx/rom/VmbxResources.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  IBY file for those parts of voice mailbox that needs localization 
- *
-*/
-
-#ifndef __VMBXRESOURCES_IBY__
-#define __VMBXRESOURCES_IBY__
-
-S60_APP_CAPTION(VM)
-S60_APP_RESOURCE(Vm)
-
-#endif  // __VMBXRESOURCES_IBY__
--- a/phoneuis/vmbx/rom/gsvmbxplugin.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  gsvmbxplugin ROM resources.
-*
-*/
-
-#ifndef GSVMBXPLUGIN_IBY
-#define GSVMBXPLUGIN_IBY
-
-ECOM_PLUGIN( gsvmbxplugin.dll, 2000B4D6.rsc )
-data=DATAZ_\BITMAP_DIR\gsvmbxplugin.mif BITMAP_DIR\gsvmbxplugin.mif
-
-#endif // GSVMBXPLUGIN_IBY
-//  End of File
--- a/phoneuis/vmbx/rom/gsvmbxpluginresources.iby	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +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:  gsvmbxplugin ROM resources.
-*
-*/
-
-#ifndef GSVMBXPLUGINRESOURCES_IBY
-#define GSVMBXPLUGINRESOURCES_IBY
-
-data=DATAZ_\RESOURCE_FILES_DIR\gsvmbxpluginrsc.rsc RESOURCE_FILES_DIR\gsvmbxpluginrsc.rsc
-
-#endif // GSVMBXPLUGINRESOURCES_IBY
-//  End of File
--- a/phoneuis/vmbx/src/VmApp.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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:  Voice mailbox application.
-*
-*/
-
-
-// INCLUDE FILES
-#include "VmApp.h"
-#include "VmDocument.h"
-#include <eikstart.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVmApp::AppDllUid
-// Returns application UID
-// -----------------------------------------------------------------------------
-//
-TUid CVmApp::AppDllUid() const
-    {
-    return KUidvm;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmApp::CreateDocumentL
-// Creates CVmDocument object
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CVmApp::CreateDocumentL()
-    {
-    return CVmDocument::NewL( *this );
-    }
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// NewApplication
-// Constructs CVmApp
-// Returns: CApaDocument*: created application object
-// -----------------------------------------------------------------------------
-//
-LOCAL_C CApaApplication* NewApplication()
-    {
-    return new CVmApp;
-    }
-
-// -----------------------------------------------------------------------------
-// E32Main implements
-// It is called when executable is started. 
-// Returns: error code.
-// -----------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
-
-
-// End of File  
--- a/phoneuis/vmbx/src/VmAppUi.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,763 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 module contains the implementation of CVmAppUi
-*                class member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include "VoiceMailboxAppPrivateCRKeys.h"
-#include "voicemailboxdomaincrkeys.h"
-#include "VmAppUi.h"
-
-#include "VmApp.h"
-
-#include "VmContainer.h"
-
-#include <e32property.h>
-#include <PSVariables.h>
-#include "VmQueryLauncher.h"
-#include <vm.rsg>
-
-#include "vm.hrh"
-
-#include <eiklabel.h>
-#include <aknlists.h>
-#include <aknnotedialog.h>
-#include <eikmenup.h>
-#include <AknGlobalNote.h>
-#include <AknQueryDialog.h>
-#include <AknQueryValuePhone.h>
-#include <avkon.mbg>
-
-#include <AiwCommon.hrh>    //KAiwCmdCall
-#include <AiwServiceHandler.h>      //For Application InterWorking
-#include <csxhelp/smsvo.hlp.hrh>  // for help context
-#include <hlplch.h>  // for HlpLauncher
-#include <featmgr.h>  // Feature Manager
-
-#include <aknnotewrappers.h>
-#include <StringLoader.h>
-
-#ifdef __BT_SAP
-#include <BTSapDomainPSKeys.h>
-#endif
-#include <centralrepository.h>
-
-#include "VmDetailsDialog.h"
-#include <AknNotify.h>
-#include <AknNotifyStd.h>
-#include "VMBLogger.h"
-#include <gsfwviewuids.h> // For General Settings application UID
-
-const TInt KVmHelpArraySize = 1;
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVmAppUi::ConstructL()
-    {
-    BaseConstructL( 
-    EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-    FeatureManager::InitializeLibL();
-    iFeatureManagerInitialized = ETrue;
-    iAppUiState = EIdle;
-
-#ifdef __BT_SAP
-    if ( FeatureManager::FeatureSupported( KFeatureIdBtSap ) )
-        {
-        TInt sapState( 0 );
-        TInt error = RProperty::Get( KPSUidBluetoothSapConnectionState,
-                                     KBTSapConnectionState,
-                                     sapState );
-        if (  error == KErrNone )
-            {
-            if ( sapState == EBTSapConnected )
-                {
-                HBufC* informationNoteTxt = StringLoader::LoadLC(
-                                                       R_OFFLINE_NOT_POSSIBLE_SAP );
-                TPtrC note = informationNoteTxt->Des();
-                CAknGlobalNote* globalNote = CAknGlobalNote::NewLC();
-                globalNote->SetGraphic( EMbmAvkonQgn_note_info,
-                                                      EMbmAvkonQgn_note_info_mask );
-                globalNote->ShowNoteL( EAknGlobalErrorNote, note );
-                CleanupStack::PopAndDestroy( globalNote );
-                Exit();
-                }
-            }
-        }
-#endif //__BT_SAP
-
-    iFromGS = IsStartedFromGSL();
-
-    iAppContainer = new (ELeave) CVmContainer();
-
-    iServiceHandler = CAiwServiceHandler::NewL();
-    iAppContainer->ConstructL( ClientRect(), iServiceHandler );
-    AddToStackL( iAppContainer );
-    iServiceHandler->AttachMenuL( R_VM_MENU, R_VMBX_APP_INTEREST );
-
-    CEikMenuPane* temp =
-                (CEikonEnv::Static())->AppUiFactory()->MenuBar()->MenuPane();
-
-    _LIT(KNull, "");
-    AddMenuItemL( temp, KNull, EVmCmdAiwPlaceholder );
-
-    iServiceHandler->InitializeMenuPaneL( *temp, R_VM_MENU, EVmCmdAiwCmdLast,
-                                         iServiceHandler->InParamListL() );
-
-    // fetch some localised texts from resources
-    iTextCallVoiceMail = iEikonEnv->AllocReadResourceL( R_MENU_CALL_VOICEMAIL );
-
-    iTextDefineNumber = iEikonEnv->AllocReadResourceL( R_MENU_DEFINE_NUMBER );
-    iTextChangeNumber = iEikonEnv->AllocReadResourceL( R_MENU_CHANGE_NUMBER );
-    iTextClearIcon = StringLoader::LoadL( R_CLEAR_ICON );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
-        {
-        iTextCallVideoMail = iEikonEnv->AllocReadResourceL(
-            R_MENU_CALL_VIDEOMAIL );
-        iTextDefineVideoNumber = iEikonEnv->AllocReadResourceL(
-            R_MENU_DEFINE_VIDEO_NUMBER );
-        }
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        iTextCallIntVoiceMail =
-                      iEikonEnv->AllocReadResourceL( R_MENU_CALL_INT_MAILBOX );
-        }
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) )
-        {
-        iTextShowDetails = StringLoader::LoadL( R_OPEN_DETAILS );
-        }
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-        {
-        iTextHelp = iEikonEnv->AllocReadResourceL( R_MENU_HELP );
-        }
-
-    iTextExit = iEikonEnv->AllocReadResourceL( R_MENU_EXIT );
-
-    if ( !iAppContainer->IsVideoSupported() )
-        {
-        // If the vmbx number is not defined, query it as soon as
-        // the app has been fully constructed.
-        if ( !iAppContainer->Number().Length() &&
-             !IsIpVoiceMailboxServices() )
-            {
-            // Query cs vmbx number since ip vmbx address cannot be asked
-            iAppContainer->QueryNumberL( EVmbxNotDefinedQuery );
-            }
-        }
-    else
-        {
-        if ( !iAppContainer->Number().Length() &&
-             !iAppContainer->VideoNumber().Length() &&
-             !IsIpVoiceMailboxServices() )
-            {
-            iQueryLauncher = CVmQueryLauncher::NewL( *iAppContainer, *this );
-            iAppUiState = ELauncherQueryingNumber;
-            }
-        }
-
-    DrawCbaButtonsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::~CVmAppUi
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVmAppUi::~CVmAppUi()
-    {
-    if ( iServiceHandler )
-        {
-        delete iServiceHandler;
-        }
-
-    if ( iQueryLauncher )
-        {
-        iQueryLauncher->Cancel();
-        delete iQueryLauncher;
-        }
-
-    if ( iAppContainer )
-        {
-        RemoveFromStack( iAppContainer );
-        delete iAppContainer;
-        }
-    delete iTextCallVoiceMail;
-    delete iTextDefineNumber;
-    delete iTextDefineVideoNumber;
-    delete iTextChangeNumber;
-    delete iTextShowDetails;
-    delete iTextClearIcon;
-    delete iTextCallVideoMail;
-    delete iTextCallIntVoiceMail;
-
-    delete iTextHelp;
-    delete iTextExit;
-
-    if ( iFeatureManagerInitialized )
-        {
-        FeatureManager::UnInitializeLib();
-        }
-    }
-
-// ------------------------------------------------------------------------------
-// CVmAppUi::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
-//  This function is called by the UIKON framework just before it displays
-//  a menu pane. Menu items are created.
-// ------------------------------------------------------------------------------
-void CVmAppUi::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane )
-    {
-    VMBLOGSTRING( "VMBX: CVmAppUi::DynInitMenuPaneL: =>" );
-
-    iServiceHandler->InitializeMenuPaneL( *aMenuPane,
-                                            aResourceId,
-                                            EVmCmdAiwCmdLast,
-                                            iServiceHandler->InParamListL() );
-
-    if ( aResourceId == R_VM_MENU )
-        {
-        aMenuPane->SetItemDimmed( KVmCmdAiwVoiceCall, ETrue );
-
-        if ( FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
-            {
-            aMenuPane->SetItemDimmed( KVmCmdAiwVideoCall, ETrue );
-            }
-
-        if ( iAppContainer->IsVoIPProfilesFound() )
-            {
-            // Internet call command id is same as video call command id
-            // when video call is not supported. There is no video call
-            // option in menu when video call is not supported.
-            TInt intCallMenuPosition =
-                FeatureManager::FeatureSupported(
-                KFeatureIdCsVideoTelephony ) ?
-                KVmCmdAiwVoipCall :
-                KVmCmdAiwVideoCall;
-
-            aMenuPane->SetItemDimmed( intCallMenuPosition,ETrue );
-            }
-
-        TInt currentItem = iAppContainer->CurrentItem();
-        VMBLOGSTRING2( "VMBX: CVmAppUi::DynInitMenuPaneL:currentItem=%d",
-                currentItem );
-        switch ( currentItem )
-            {
-            case EVmbxVoiceMailboxNumberInd:
-                {
-                if ( iAppContainer->Number().Length() )
-                    {
-                    AddMenuItemL( aMenuPane, *iTextCallVoiceMail,
-                                  EvmCmdCallVoiceMail );
-                    
-                    if ( iAppContainer->AllowedToChangeTheNumber() )
-                        {
-                        AddMenuItemL( aMenuPane, *iTextChangeNumber,
-                                      EvmCmdChangeNumber );
-                        }
-                    }
-                else 
-                    {
-                    if ( iAppContainer->AllowedToChangeTheNumber() )
-                        {
-                        AddMenuItemL( aMenuPane, *iTextDefineNumber, 
-                                      EvmCmdChangeNumber );
-                        }
-                    }
-                break;
-                }
-                
-            case EVmbxVideoMailboxNumberInd:
-                {                    
-                if ( iAppContainer->IsVideoSupported() )
-                    {
-                    if ( iAppContainer->VideoNumber().Length() )
-                        {
-                        AddMenuItemL( aMenuPane, *iTextCallVideoMail,
-                                      EvmCmdCallVideoMail );
-                        if ( iAppContainer->AllowedToChangeTheNumber() )
-                            {
-                            AddMenuItemL( aMenuPane, *iTextChangeNumber,
-                                          EvmCmdChangeVideoNumber );
-                            }
-                        }
-                    else
-                        {
-                        if ( iAppContainer->AllowedToChangeTheNumber() )
-                            {
-                            AddMenuItemL( aMenuPane, *iTextDefineVideoNumber,
-                                          EvmCmdChangeVideoNumber );
-                            }
-                        }
-                    }
-                break;
-                }
-                    
-            case EVmbxIntCallVoiceMailboxNumberInd:
-                {
-                if ( iAppContainer->IsIpVoiceMailboxServices() )
-                    {
-                    AddMenuItemL( aMenuPane, *iTextCallIntVoiceMail,
-                                  EvmCmdCallIntVoiceMail );
-                    }
-                break;
-                }
-                
-            // CDMA specific:
-
-            case EVmbxVoiceMessageAmountInd:
-                {
-                if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) )
-                    {
-                    if ( iAppContainer->Number().Length() )
-                        {
-                        AddMenuItemL( aMenuPane, *iTextCallVoiceMail,
-                                      EvmCmdCallVoiceMail );
-                        }
-                    }
-                break;
-                }
-            
-            case EVmbxDetailsOfLastMessageInd:
-                {
-                if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) )
-                    {
-                    AddMenuItemL( aMenuPane, *iTextShowDetails,
-                                  EvmCmdShowLastMessageDetails );
-                    }
-                break;
-                }
-
-
-            default:
-                {
-                break;
-                }
-            }
-
-        if ( iAppContainer->IsClearIcon() )
-            {
-            AddMenuItemL( aMenuPane, *iTextClearIcon, EvmCmdClearIcon );
-            }
-
-        // Check if help feature is available
-        if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-            {
-            AddMenuItemL( aMenuPane, *iTextHelp, EAknCmdHelp );
-            }
-
-        AddMenuItemL( aMenuPane, *iTextExit, EAknCmdExit );
-        }
-
-    VMBLOGSTRING( "VMBX: CVmAppUi::DynInitMenuPaneL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::AddMenuItemL
-// Adds an item in menu
-// -----------------------------------------------------------------------------
-//
-void CVmAppUi::AddMenuItemL( CEikMenuPane* aMenuPane,
-                                                 const TDesC& aText,
-                                                             TInt aCommandId )
-    {
-    VMBLOGSTRING( "VMBX: CVmAppUi::AddMenuItemL=>" ); 
-    CEikMenuPaneItem::SData data;
-    data.iCascadeId = 0;
-    data.iFlags = 0;
-    data.iCommandId = aCommandId;
-    data.iText = aText;
-    aMenuPane->AddMenuItemL( data );
-    if ( aText.Length() 
-         && ( EAknCmdExit != aCommandId ) 
-         && ( EAknCmdHelp != aCommandId ) )
-        {
-        SetItemSpecificL( aMenuPane, aCommandId );
-        }
-    VMBLOGSTRING2( "VMBX: CVmAppUi::AddMenuItemL:aCommandId=%d",aCommandId );
-    VMBLOGSTRING( "VMBX: CVmAppUi::AddMenuItemL<=" ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::HandleCommandL
-// Handles menu commands and softkey-exit
-// -----------------------------------------------------------------------------
-//
-void CVmAppUi::HandleCommandL( TInt aCommand )
-    {
-    VMBLOGSTRING( "VMBX: CVmAppUi::HandleCommandL: =>" );
-    switch ( aCommand )
-        {
-        case EEikCmdExit:
-        case EAknSoftkeyExit:
-        case EAknSoftkeyBack:
-            {
-            Exit();
-            break;
-            }
-        case EVmCbaMskDefVoMbx:
-        case EvmCmdChangeNumber:
-            {
-            if ( !iAppContainer->AllowedToChangeTheNumber() )
-                {
-                User::Leave( KErrNotSupported );
-                }
-            if ( ELauncherQueryingNumber != iAppUiState )
-                {
-                iAppContainer->QueryNumberL( EVmbxChangeNumberQuery );
-                DrawCbaButtonsL();
-                }
-            break;
-            }
-
-        case EVmCbaMskCallVoipMbx:
-        case EvmCmdCallIntVoiceMail:
-           {
-            if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-                {
-                iAppContainer->CallIntVoiceMailBoxL();
-                }
-
-            break;
-            }
-
-        case EAknCmdHelp:
-            {
-            if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-                {
-                HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
-                                                            AppHelpContextL() );
-                }
-            break;
-            }
-
-        case EVmCbaMskCallVoMbx:
-        case EvmCmdCallVoiceMail:
-            {
-            iAppContainer->CallVoiceMailBoxL();
-            break;
-            }
-
-        case EvmCmdShowLastMessageDetails:
-            {
-            CVmDetailsDialog* dlg = CVmDetailsDialog::NewL();
-            dlg->ExecuteLD( R_VMBX_DETAIL_DIALOG );
-            break;
-            }
-
-        case EvmCmdClearIcon:
-            {
-            // Reset counter to 0 in SD
-            iAppContainer->ResetVoicemailMessageCounterL();
-
-            // Show confirmation note:
-            HBufC* noteText = StringLoader::LoadLC( R_VOICEMAIL_CLEARED );
-
-            CAknConfirmationNote* note = new(ELeave) CAknConfirmationNote();
-            note->ExecuteLD( *noteText );
-
-            CleanupStack::PopAndDestroy( noteText );
-            break;
-            }
-
-        case EVmCbaMskDefViMbx:
-        case EvmCmdChangeVideoNumber:
-            {
-            if ( ELauncherQueryingNumber != iAppUiState )
-                {
-                iAppContainer->QueryVideoNumberL( EVmbxChangeNumberQuery );
-                DrawCbaButtonsL();
-                }
-            break;
-            }
-
-        case EVmCbaMskCallViMbx:
-        case EvmCmdCallVideoMail:
-            {
-            iAppContainer->CallVideoMailBoxL();
-            break;
-            }
-        default:
-            break;
-        }
-    VMBLOGSTRING( "VMBX: CVmAppUi::HandleCommandL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::HelpContextL
-// Returns the help context
-// -----------------------------------------------------------------------------
-//
-CArrayFix<TCoeHelpContext>* CVmAppUi::HelpContextL() const
-    {
-    CArrayFixFlat<TCoeHelpContext>* array =
-                   new( ELeave ) CArrayFixFlat<TCoeHelpContext>( KVmHelpArraySize );
-
-    // Cannot leave because the buffer for the appended item is allocated
-    // in the constructor.
-    array->AppendL( TCoeHelpContext( KUidvm, KSMSVO_HLP_MAIN_VIEW ) );
-
-    return array;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::DrawCbaButtonsL
-// Loads the appropriate CBA buttons for MSK.
-// -----------------------------------------------------------------------------
-//
-void CVmAppUi::DrawCbaButtonsL()
-    {
-    VMBLOGSTRING( "VMBX: CVmAppUi::DrawCbaButtonsL: =>" );
-
-    CEikButtonGroupContainer* cba = Cba();
-    TInt currentItem = iAppContainer->CurrentItem();
-    TInt resourceId = 0;
-
-    switch ( currentItem )
-        {
-        case EVmbxVoiceMailboxNumberInd:
-            {
-            if ( !iAppContainer->Number().Length())
-                {
-                if ( iFromGS )
-                    {
-                    if ( iAppContainer->AllowedToChangeTheNumber() )
-                        {
-                        resourceId = R_VMBX_GS_CBA_DEFINE_VO_NUMBER;
-                        }
-                    else
-                        {
-                        resourceId = R_VMBX_GS_CBA_NOTALLOW_DEFINE_VO_NUMBER;
-                        }
-                    }
-                else
-                    {
-                    if ( iAppContainer->AllowedToChangeTheNumber() )
-                        {
-                        resourceId = R_VMBX_CBA_DEFINE_VO_NUMBER;
-                        }
-                    else
-                        {
-                        resourceId = R_VMBX_CBA_NOTALLOW_DEFINE_VO_NUMBER;
-                        }
-                    }
-                }
-            else
-                {
-                if(iFromGS)
-                    {
-                    resourceId = R_VMBX_GS_CBA_CALL_VO_MAILBOX;
-                    }
-                else
-                    {
-                    resourceId = R_VMBX_CBA_CALL_VO_MAILBOX;
-                    }
-                }
-            break;
-            }
-        case EVmbxVideoMailboxNumberInd:
-            {
-            if ( !iAppContainer->VideoNumber().Length() )
-                {
-                if ( iFromGS )
-                    {
-                    if ( iAppContainer->AllowedToChangeTheNumber() )
-                        {
-                        resourceId = R_VMBX_GS_CBA_DEFINE_VI_NUMBER;
-                        }
-                    else
-                        {
-                        resourceId = R_VMBX_GS_CBA_NOTALLOW_DEFINE_VI_NUMBER;
-                        }
-                    }
-                else
-                    {
-                    if ( iAppContainer->AllowedToChangeTheNumber() )
-                        {
-                        resourceId = R_VMBX_CBA_DEFINE_VI_NUMBER;
-                        }
-                    else
-                        {
-                        resourceId = R_VMBX_CBA_NOTALLOW_DEFINE_VI_NUMBER;
-                        }
-                    }
-                }
-            else
-                {
-                if ( iFromGS )
-                    {
-                    resourceId = R_VMBX_GS_CBA_CALL_VI_MAILBOX;
-                    }
-                else
-                    {
-                    resourceId = R_VMBX_CBA_CALL_VI_MAILBOX;
-                    }
-                }
-            break;
-            }
-        case EVmbxIntCallVoiceMailboxNumberInd:
-            {
-            if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-                {
-                if ( iFromGS )
-                    {
-                    resourceId = R_VMBX_GS_CALL_VOIP_MAILBOX;
-                    }
-                else
-                    {
-                    resourceId = R_VMBX_CBA_CALL_VOIP_MAILBOX;
-                    }
-                }
-            break;
-            }
-       default:
-            break;
-        }
-
-    cba->SetCommandSetL( resourceId );
-    cba->DrawDeferred();
-    VMBLOGSTRING( "VMBX: CVmAppUi::DrawCbaButtonsL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::HandleForegroundEventL
-// Handles changes in keyboard focus when an application switches to or from
-// the foreground.
-// -----------------------------------------------------------------------------
-//
-void CVmAppUi::HandleForegroundEventL( TBool aForeground )
-    {
-    if ( aForeground ) // back to foreground
-        {
-        if ( iAppContainer->IsServiceUpdated() )
-            {
-            iAppContainer->UpdateListboxL();
-            }
-
-        // get numbers
-        iAppContainer->UpdateVmbxNumberL();
-        // change state so that FocusChanged will update ListBox fields
-        iAppContainer->UpdateData( ETrue );
-        }
-    CAknAppUi::HandleForegroundEventL( aForeground );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::IsStartedFromGSL
-// Defines whether voice mail application is started from general
-// settings or not.
-// -----------------------------------------------------------------------------
-//
-TBool CVmAppUi::IsStartedFromGSL()
-    {
-    TBool result = EFalse;
-    RWsSession ws;
-    User::LeaveIfError( ws.Connect() );
-    CleanupClosePushL( ws );
-
-    // Find the task with uid
-    TApaTaskList taskList( ws );
-    TApaTask task = taskList.FindApp( KUidGS );
-
-    if ( task.Exists() )
-        {
-        // read window group id of general settings
-        TInt gsTaskId = task.WgId();
-
-        // Find task from position 1 (background)
-        TApaTask bgTask = taskList.FindByPos(1);
-
-        // Read window group id of background task
-        TInt bgTaskId = bgTask.WgId();
-
-        if( gsTaskId == bgTaskId )
-        	{
-        	// General settings is straight below voice mail application
-        	// => application is started from general settings
-        	result = ETrue;
-        	}
-        else
-        	{
-        	result = EFalse;
-        	}
-        }
-    else
-    	{
-    	// General settings task does not exist
-    	result = EFalse;
-    	}
-    CleanupStack::PopAndDestroy( ); // ws
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::NumberQueryComplete
-//
-//
-// -----------------------------------------------------------------------------
-void CVmAppUi::NumberQueryComplete()
-    {
-    iAppUiState = EIdle;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::GetAppUiState
-//
-//
-// -----------------------------------------------------------------------------
-TVmbxAppUiState CVmAppUi::GetAppUiState()
-    {
-    return iAppUiState;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::IsIpVoiceMailboxServices
-//
-//
-// -----------------------------------------------------------------------------   
-TBool CVmAppUi::IsIpVoiceMailboxServices()
-    {
-    return iAppContainer->IsIpVoiceMailboxServices();
-    }
-
-// -----------------------------------------------------------------------------
-// CVmAppUi::SetItemSpecific
-//
-//
-// -----------------------------------------------------------------------------
-void CVmAppUi::SetItemSpecificL( CEikMenuPane* aMenuPane, TInt aCommandId )
-    {
-    VMBLOGSTRING2( "VMBX: CVmAppUi::SetItemSpecificL:aCommandId=%d =>",
-    aCommandId );
-    if ( aMenuPane )
-        {
-        aMenuPane->SetItemSpecific( aCommandId, ETrue );
-        }
-    else
-        {
-        User::Leave( KErrArgument );
-        }
-    VMBLOGSTRING( "VMBX: CVmAppUi::SetItemSpecificL: <=" );
-    }
-
-// End of File
--- a/phoneuis/vmbx/src/VmContainer.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1688 +0,0 @@
-/*
-* Copyright (c) 2002 - 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Container for Voice mailbox application.
-*
-*/
-
-// INCLUDE FILES
-#include <aknlists.h>
-#include <AknDef.h>
-#include <AknsUtils.h>
-#include <AknsConstants.h>
-#include <AknsUtils.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <badesca.h>
-#include <aknkeys.h>
-#include <gulicon.h>
-#include <featmgr.h>
-#include <StringLoader.h>
-#include <data_caging_path_literals.hrh>
-
-#include <PbkFields.hrh>
-#include <PhCltUtils.h>
-#include <AiwServiceHandler.h> //For Application InterWorking
-#include <NumberGrouping.h>
-#include <NumberGroupingCRKeys.h>
-#include <settingsinternalcrkeys.h>
-#include <NetworkHandlingDomainPSKeys.h>
-#include <centralrepository.h>
-#include <AiwDialDataTypes.h>
-#include <aiwdialdataext.h>
-
-#include <spsettings.h>
-#include <vmnumber.h>
-#include <vm.rsg>
-#include <vm.mbg>
-#include "vm.hrh"
-
-#include "VoiceMailboxAppPrivateCRKeys.h"
-#include "voicemailboxdomaincrkeys.h"
-#include "VMBLogger.h"
-#include "VmContainer.h"
-#include "VmApp.h"
-#include "VmAppUi.h"
-
-// CONSTANTS
-
-_LIT( KVmNoIconPrefix, "0\t");       // no icon
-_LIT( KVmSimIconPrefix, "1\t");      // CS icon, number is stored in sim
-_LIT( KVmwCSIconPrefix, "2\t");      // CS icon, number is stored in phone memory
-_LIT( KVmwVideoIconPrefix, "3\t");   // default icon to Video
-_LIT( KVmwVoIPIconPrefix,  "4\t");   // default icon to VoIP
-
-_LIT( KVmSuffix, "\t");
-//for the mbm file
-_LIT( KVmMbmDrive, "Z:");
-_LIT( KVmLibMbmFile, "vm.mbm");
-
-const TInt KVmClearIcon = 0x02;
-const TInt KVmMailboxNumber = 0x04;
-const TInt KVmMessageDetails = 0x08;
-const TInt KVmPrefixLength = 3;
-const TInt KVmIconArraySize = 2;
-const TInt KFormattedCharLength = 3;
-
-// ================= MEMBER FUNCTIONS ==========================================
-
-// -----------------------------------------------------------------------------
-// CVmContainer::CVmContainer
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-
-CVmContainer::CVmContainer()
-    : iArray( 2 ),
-      iVmUiOpts( 0 )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVmContainer::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*      Series 60 Customer / ETel
-*      Series 60  ETel API
-*****************************************************/
-void CVmContainer::ConstructL( const TRect& aRect,
-                                           CAiwServiceHandler* aServiceHandler )
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::ConstructL: =>" );
-    CreateWindowL();
-    SetBlank();
-
-    iServiceProviderSettings = CSPSettings::NewL();
-
-    //Create repository and notify handlers.
-    iSession = CRepository::NewL( KCRUidVoiceMailbox );
-    iNotifyHandler1 = CCenRepNotifyHandler::NewL( *this, *iSession,
-                          CCenRepNotifyHandler::EIntKey, KVmMessageCounter );
-    iNotifyHandler2 = CCenRepNotifyHandler::NewL( *this, *iSession,
-                          CCenRepNotifyHandler::EIntKey, KVmSummaryInfoIsSet );
-    iNotifyHandler3 = CCenRepNotifyHandler::NewL( *this, *iSession,
-                          CCenRepNotifyHandler::EIntKey, KVideoMbxSupport );
-    iNotifyHandler1->StartListeningL();
-    iNotifyHandler2->StartListeningL();
-    iNotifyHandler3->StartListeningL();
-
-    FeatureManager::InitializeLibL();
-    iFeatureManagerInitialized = ETrue;
-
-    TInt result( KErrNone );
-    if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) )
-        {
-        result = iSession->Get( KVmUIOpts, iVmUiOpts );
-
-        if ( result != KErrNone )
-            {
-            if ( result == KErrNotFound )
-                {
-                iVmUiOpts = 0;
-                }
-            else
-                {
-                VMBLOGSTRING2( "VMBX: CVmContainer::ConstructL: CenRep error: %d", result );
-                User::Leave( result );
-                }
-            }
-        }
-
-    result = iSession->Get( KVideoMbxSupport, iIsVideoSupported );
-    if ( result != KErrNone )
-        {
-        iIsVideoSupported = EFalse;
-        }
-
-    // connect to phoneclient
-    iServiceHandler  = aServiceHandler;
-
-    // open vmbx number interface
-    User::LeaveIfError( iVmbxNumber.Open() );
-
-    // get the vmbx number of the active ALS line
-    TInt ret( iVmbxNumber.GetVmbxNumber( iNumber ) );
-
-    if ( ret != KErrNone && ret != KErrNotFound )
-        {
-        User::Leave( ret );
-        }
-
-    if ( IsVideoSupported() )
-        {
-        // get the video mailbox number of the active ALS line
-        ret = iVmbxNumber.GetVideoMbxNumber( iVideoNumber );
-        if ( ret != KErrNone && ret != KErrNotFound )
-             {
-             User::Leave( ret );
-             }
-        }
-
-    TInt pngErr( KErrNone );
-    TInt pngSupported( 0 );
-    CRepository* repository = CRepository::NewL( KCRUidNumberGrouping );
-    pngErr = repository->Get( KNumberGrouping, pngSupported );
-    delete repository;
-
-    if ( KErrNone == pngErr && pngSupported != 0 )
-        {
-        iNumberGrouping = CPNGNumberGrouping::NewL( KVmbxMaxNumberLength );
-        }
-
-    // construct the listbox object
-    iListBox = new (ELeave) CAknDoubleGraphicStyleListBox;
-    iListBox->SetContainerWindowL( *this );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        iListBox->ConstructL( this, EAknListBoxMultiselectionList );
-        }
-    else
-        {
-        iListBox->ConstructL( this, EAknListBoxSelectionList );
-        }
-
-    // load the two localised strings for the listbox
-    if (  FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) )
-        {
-        iLine1 = StringLoader::LoadL( R_MAILBOX_NUMBER );
-        }
-    else
-        {
-        iLine1 = iEikonEnv->AllocReadResourceL( R_CALL_VOICEMAIL );
-        }
-    iLine2 = iEikonEnv->AllocReadResourceL( R_NUMBER_PANE_EMPTY );
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
-        {
-        iVideoLine1 = iEikonEnv->AllocReadResourceL( R_CALL_VIDEOMAIL );
-        iVideoLine2 = iEikonEnv->AllocReadResourceL( R_NUMBER_PANE_EMPTY );
-        }
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        iLine3 = iEikonEnv->AllocReadResourceL( R_INT_CALL_VOICEMAIL );
-        iLine4 = iEikonEnv->AllocReadResourceL( R_ADDRESS_PANE_EMPTY );
-        }
-
-    FillIndArray();
-
-    // Set the text in the listbox
-    // First create space for the items
-    for ( TInt i = 0; i < iIndArray.Count(); i++ )
-        {
-        iArray.AppendL( KNullDesC );
-        }
-
-    //construct the list icon array, empty icon and sim icon
-    ConstructIconsForListboxL();
-    //set the icon array to the list box
-    iListBox->ItemDrawer()->FormattedCellData()->SetIconArrayL( iListIcons );
-    iListBox->SetListBoxObserver( this );
-
-    // New voice messages
-    UpdateNewVoiceMessagesInListBoxL();
-
-    // Voice mailbox number
-    UpdateVmbxNumberInListBoxL();
-
-    // Details
-    UpdateLastMessageDetailsInListBoxL();
-
-    iListBox->Model()->SetItemTextArray( &iArray );
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    iListBox->ItemDrawer()->FormattedCellData()->EnableMarqueeL( ETrue );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-                        CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
-
-    TRect rect( 0, 0, 0, 0 );
-    // Temporary rect is passed. Correct rect is set in SizeChanged.
-    iSkinContext = CAknsBasicBackgroundControlContext::NewL(
-        KAknsIIDQsnBgAreaMainCalc, rect, EFalse );
-
-    SetRect( aRect );
-    ActivateL();
-    DrawNow();
-
-    // request notify on ALS line changes
-    iVmbxNumber.NotifyAlsLineChangeL( this );
-
-    // request notify on vmbx number changes
-    iVmbxNumber.NotifyVmbxNumberChangeL( this, ETrue );
-
-    // request notify on Service changes
-    iVmbxNumber.NotifyServiceChange( this );
-
-    UpdateData( EFalse );
-    iIsCallOngoing = EFalse;
-
-    VMBLOGSTRING( "VMBX: CVmContainer::ConstructL: <=" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVmContainer::~CVmContainer
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVmContainer::~CVmContainer()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::~CVmContainer: =>" );
-
-    delete iServiceProviderSettings;
-    
-    delete iListBox;
-
-    iArray.Reset();
-    
-    delete iLine1;
-    delete iLine2;
-    delete iVideoLine1;
-    delete iVideoLine2;
-    delete iLine3;
-    delete iLine4;
-    
-   
-    iVmbxNumber.NotifyServiceChangeCancel();
-
-    iVmbxNumber.Close();
-    if ( iNotifyHandler1 )
-        {
-        iNotifyHandler1->StopListening();
-        delete iNotifyHandler1;
-        }
-
-    if ( iNotifyHandler2 )
-        {
-        iNotifyHandler2->StopListening();
-        delete iNotifyHandler2;
-        }
-    
-    if ( iNotifyHandler3 )
-        {
-        iNotifyHandler3->StopListening();
-        delete iNotifyHandler3;
-        }
-
-    delete iSession;
-    delete iNumberGrouping;
-
-    iIndArray.Close();
-
-    if ( iFeatureManagerInitialized )
-        {
-        FeatureManager::UnInitializeLib();
-        }
-
-    delete iSkinContext;
-
-    VMBLOGSTRING( "VMBX: CVmContainer::~CVmContainer: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::SizeChanged
-// Called by framework when the view size is changed
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::SizeChanged()
-    {
-    if ( iSkinContext )
-        {
-        iSkinContext->SetRect( TRect( TPoint( 0, 0 ), Rect().Size() ) );
-        }
-    AknLayoutUtils::LayoutControl( iListBox, Rect(),
-                                        AKN_LAYOUT_WINDOW_list_gen_pane( 0 ) );
-
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::CountComponentControls
-// Gets a count of the component controls
-// -----------------------------------------------------------------------------
-//
-TInt CVmContainer::CountComponentControls() const
-    {
-    if( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        return 2; // the listbox is the only control
-        }
-    else
-        {
-        return 1; // the listbox is the only control
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::ComponentControl
-// Gets an indexed component of a compound control
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CVmContainer::ComponentControl( TInt /*aIndex*/ ) const
-    {
-    return iListBox;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::AllowedToChangeTheNumber
-// Check wether is possible to edit the voice mailbox number.
-// -----------------------------------------------------------------------------
-//
-TBool CVmContainer::AllowedToChangeTheNumber()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::AllowedToChangeTheNumber: =>" );
-    VMBLOGSTRING( "VMBX: CVmContainer::AllowedToChangeTheNumber: <=" );
-    return iVmbxNumber.AllowedToChangeTheNumber();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVmContainer::OfferKeyEventL
-// Handles key events
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CVmContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                             TEventCode aType )
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::OfferKeyEventL: =>" );
-    // For CDMA:
-    if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) )
-        {
-        if ( aType == EEventKey )
-            {
-            TInt currentItem = CurrentItem();
-            if ( currentItem != KErrNotFound )
-                {
-                if ( aKeyEvent.iCode == EKeyPhoneSend )
-                    {
-                    if ( currentItem == EVmbxVoiceMessageAmountInd
-                                 || currentItem == EVmbxVoiceMailboxNumberInd )
-                        {
-                        CallVoiceMailBoxL();
-                        VMBLOGSTRING( "VMBX: CVmContainer::OfferKeyEventL: Send key" );
-                        return EKeyWasConsumed;
-                        }
-                    }
-
-                if ( aKeyEvent.iCode == EKeyOK )
-                    {
-                    if ( currentItem == EVmbxVoiceMessageAmountInd )
-                        {
-                        CallVoiceMailBoxL();
-                        VMBLOGSTRING( "VMBX: CVmContainer::OfferKeyEventL: OK key" );
-                        return EKeyWasConsumed;
-                        }
-                    else if ( currentItem == EVmbxVoiceMailboxNumberInd )
-                        {
-                        if ( AllowedToChangeTheNumber() )
-                            {
-                            iAvkonAppUi->HandleCommandL( EvmCmdChangeNumber );
-                            }
-                        else
-                            {
-                            CallVoiceMailBoxL();
-                            }
-                        VMBLOGSTRING( "VMBX: CVmContainer::OfferKeyEventL: OK key" );
-                        return EKeyWasConsumed;
-                        }
-                    else if ( currentItem == EVmbxIntCallVoiceMailboxNumberInd &&
-                              FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-                        {
-                        VMBLOGSTRING( "VMBX: CVmContainer::OfferKeyEventL: OK key" );
-                        return EKeyWasConsumed;
-                        }
-                    else if ( currentItem == EVmbxDetailsOfLastMessageInd )
-                        {
-                        iAvkonAppUi->HandleCommandL( EvmCmdShowLastMessageDetails );
-                        VMBLOGSTRING( "VMBX: CVmContainer::OfferKeyEventL: OK key" );
-                        return EKeyWasConsumed;
-                        }
-                    }
-                }
-            }
-
-        return iListBox->OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    // General variant:
-    if ( aType == EEventKey )
-        {
-        TInt currentItem = CurrentItem();
-        // pressing selection/SEND/enter key initiates a voice call
-        if ( ( aKeyEvent.iCode == EKeyOK
-               || aKeyEvent.iCode == EKeyPhoneSend
-               || aKeyEvent.iCode == EKeyEnter )
-            && ( currentItem == EVmbxVoiceMessageAmountInd
-                 || currentItem == EVmbxVoiceMailboxNumberInd ) )
-            {
-            CallVoiceMailBoxL();
-            }
-        else if ( ( aKeyEvent.iCode == EKeyOK
-                    || aKeyEvent.iCode == EKeyPhoneSend
-                    || aKeyEvent.iCode == EKeyEnter )
-                && ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip )
-                && currentItem != EVmbxVoiceMessageAmountInd
-                && currentItem != EVmbxVoiceMailboxNumberInd
-                && currentItem != EVmbxVideoMailboxNumberInd) )
-            {
-            CallIntVoiceMailBoxL();
-            }
-
-        else if ( IsVideoSupported()
-                  && ( aKeyEvent.iCode == EKeyOK
-                      || aKeyEvent.iCode == EKeyPhoneSend
-                      || aKeyEvent.iCode == EKeyEnter )
-                  && currentItem == EVmbxVideoMailboxNumberInd )
-            {
-            CallVideoMailBoxL();
-            }
-
-        if ( ( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow ) &&
-             ( IsVideoSupported() ||
-               FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) ) )
-            {
-            TKeyResponse response( iListBox->OfferKeyEventL( aKeyEvent,
-                                                                    aType ) );
-            iListBox->SetCurrentItemIndex( iListBox->CurrentItemIndex() );
-            ( static_cast <CVmAppUi*>iAvkonAppUi ) ->DrawCbaButtonsL();
-            VMBLOGSTRING2( "VMBX: CVmContainer::OfferKeyEventL: \
-            response = %I", response );
-            return response;
-            }
-        }
-    VMBLOGSTRING( "VMBX: CVmContainer::OfferKeyEventL: <=" );
-    return EKeyWasConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::HandleListBoxEventL
-// Handles listbox clicks.
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::HandleListBoxEventL(
-    CEikListBox* /*aListBox*/,
-    TListBoxEvent aEventType)
-    {
-    VMBLOGSTRING( "VMBX: HandleListBoxEventL: =>" );
-    VMBLOGSTRING2( "VMBX: HandleListBoxEventL: aEventType=%d", aEventType );
-    switch ( aEventType )
-        {
-        case EEventItemSingleClicked:
-            {
-            // at begining,if Querying number, 
-            // the key envent should not be response
-            if( ELauncherQueryingNumber != 
-                    ( static_cast <CVmAppUi*>iAvkonAppUi )->GetAppUiState() )
-                {
-                TKeyEvent aKeyEvent;
-                aKeyEvent.iCode = EKeyOK;
-                VMBLOGSTRING( "VMBX: HandleListBoxEventL: OfferKeyEventL" );
-                OfferKeyEventL( aKeyEvent, EEventKey );
-                }
-            VMBLOGSTRING( "VMBX: HandleListBoxEventL: EEventItemSingleClicked" );
-            break;
-            }
-        default:
-            VMBLOGSTRING( "VMBX: HandleListBoxEventL: default" );
-            break;
-        }
-
-    VMBLOGSTRING( "VMBX: HandleListBoxEventL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::HandleResourceChange
-// Notifier for changing orientation
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::HandleResourceChange( TInt aType )
-    {
-    VMBLOGSTRING( "VMBX: HandleResourceChange: =>" );
-    TRect mainPaneRect ;
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        VMBLOGSTRING( "VMBX: HandleResourceChange: DynamicLayout" );
-        iListBox->HandleResourceChange( aType );
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
-                                                                 mainPaneRect );
-        TRAP_IGNORE( CEikonEnv::Static()->AppUiFactory()->StatusPane()->
-                            SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL ) );
-        SetRect( mainPaneRect );
-        DrawNow();
-        }
-    CCoeControl::HandleResourceChange( aType );
-    VMBLOGSTRING( "VMBX: HandleResourceChange: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::Draw
-// Redraw the window owned by this container
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::Draw( const TRect& aRect ) const
-    {
-    VMBLOGSTRING( "VMBX: Draw: =>" );
-    CWindowGc& gc = SystemGc();
-    gc.Clear( aRect );
-
-    // Drawing skin
-    if ( iSkinContext )
-        {
-        MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        AknsDrawUtils::Background( skin, iSkinContext, this, gc, aRect );
-        }
-    VMBLOGSTRING( "VMBX: Draw: <=" );
-    }
-// -----------------------------------------------------------------------------
-// CVmContainer::QueryNumberL
-// Queries for a new voice mailbox number. If the query
-// is approved, the listbox is updated.
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::QueryNumberL( TVmbxQueryType aQueryType )
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::QueryNumberL: =>" );
-    TBool ret( EFalse );
-    TRAPD( queryErr, 
-        ret = iVmbxNumber.QueryNumberL( aQueryType, iNumber, ETrue ) );
-
-    if ( KErrNone == queryErr )
-        {
-        if ( ret )
-            {
-            // if the query was approved, update vmbx number
-            UpdateVmbxNumberInListBoxL();
-            (static_cast <CVmAppUi*>iAvkonAppUi) ->DrawCbaButtonsL();
-            iListBox->DrawNow();
-            VMBLOGSTRING( "VMBX: CVmContainer::QueryNumberL: \
-            update vmbx number listbox" );
-            }
-        }
-    else
-        {
-        VMBLOGSTRING2( "VMBX: CVmContainer::QueryNumberL: \
-        queryErr = %d", queryErr );
-        
-        if ( KErrAccessDenied == queryErr )
-            {
-            VMBLOGSTRING( "VMBX: CVmContainer::QueryNumberL: \
-            not allow to change number" );
-            }
-        else
-            {
-            User::Leave( queryErr );
-            }
-        }
-    VMBLOGSTRING( "VMBX: CVmContainer::QueryNumberL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::UpdateNewVoiceMessagesInListBoxL
-// Updates the new voice message to the listbox
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::UpdateNewVoiceMessagesInListBoxL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::UpdateNewVoiceMessagesInListBoxL: =>" );
-    if ( !FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) )
-        {
-        VMBLOGSTRING( "VMBX: CVmContainer::UpdateNewVoiceMessagesInListBoxL:\
-        Cdma not supported" );
-        return;
-        }
-
-    // First line
-    HBufC* firstLineText = StringLoader::LoadLC( R_VOICE_MESSAGES );
-
-    // Second line
-    HBufC* secondLineText = NULL;
-    TInt voiceMessageAmout = 0;
-
-    TInt err = iSession->Get( KVmMessageCounter, voiceMessageAmout );
-    if ( err != KErrNotFound )
-        {
-        VMBLOGSTRING2( "VMBX: CVmContainer::UpdateNewVoiceMessagesInListBoxL:\
-        CenRep error: %d", err );
-        User::LeaveIfError( err );
-        }
-
-    if ( voiceMessageAmout == 0 )
-        {
-        secondLineText = StringLoader::LoadLC( R_NO_NEW );
-        }
-    else if ( voiceMessageAmout == 1 )
-        {
-        secondLineText = StringLoader::LoadLC( R_NEW_MESSAGES );
-        }
-    else
-        {
-        secondLineText = StringLoader::LoadLC( R_N_NEW, voiceMessageAmout );
-        }
-
-    // Create combination:
-    HBufC* comboText = HBufC::NewLC( firstLineText->Length() +
-                                    secondLineText->Length() +
-                                    KFormattedCharLength ); // 3 special chars
-
-    TPtr comboPtr = comboText->Des();
-    comboPtr.Append( KVmNoIconPrefix );
-    comboPtr.Append( *firstLineText );
-    comboPtr.Append( KVmSuffix );
-    comboPtr.Append( *secondLineText );
-
-    TInt ind = iIndArray.Find( EVmbxVoiceMessageAmountInd );
-    if ( ind != KErrNotFound )
-        {
-        iArray.Delete( ind );
-        iArray.InsertL( ind, comboPtr );
-        }
-
-    CleanupStack::PopAndDestroy( comboText );
-    CleanupStack::PopAndDestroy( secondLineText );
-    CleanupStack::PopAndDestroy( firstLineText );
-    VMBLOGSTRING( "VMBX: CVmContainer::UpdateNewVoiceMessagesInListBoxL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::UpdateVmbxNumberInListBoxL
-// Updates the vmbx number in the listbox shown on the app screen.
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::UpdateVmbxNumberInListBoxL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::UpdateVmbxNumberInListBoxL: =>" );
-    if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) &&
-        !( iVmUiOpts & KVmMailboxNumber ) )
-        {
-        VMBLOGSTRING( "VMBX: CVmContainer::UpdateNewVoiceMessagesInListBoxL: \
-        Cdma supported or/and no vmbxnumber support" );
-        return;
-        }
-
-    // allocate buffer for icon, title, vmxb number and suffix
-    HBufC* buf = HBufC::NewLC( KVmNoIconPrefix().Length() +
-                               iLine1->Length() +
-                               KVmSuffix().Length() +
-                               KVmbxMaxNumberLength );
-        
-    TPtr bufPtr = buf->Des();
-
-    // listbox formatting
-    if ( iVmbxNumber.IsSimMemory() && iNumber.Length() )
-        {
-        VMBLOGSTRING( "UpdateNewVoiceMessagesInListBoxL::Show SIM icon" );
-        bufPtr.Append( KVmSimIconPrefix );
-        }
-    else
-        {
-        VMBLOGSTRING( "UpdateNewVoiceMessagesInListBoxL::Show CS icon, number stored to phone" );
-        bufPtr.Append( KVmwCSIconPrefix );
-        }
-
-    bufPtr.Append( *iLine1 );  // "Voice Mailbox"-text (localised)
-    bufPtr.Append( KVmSuffix );
-
-    if ( !iNumber.Length() )
-        {
-        bufPtr.Append( *iLine2 );       // "No number"-text (localised)
-        }
-    else
-        {
-        // Convert the phone number to accommodate the current locale
-        TBuf<KVmbxMaxNumberLength> locNumber;
-
-        if ( iNumberGrouping )
-            {
-            iNumberGrouping->Set( iNumber );
-            locNumber.Copy( iNumberGrouping->FormattedNumber() );
-            }
-        else
-            {
-            locNumber.Copy( iNumber );
-            }
-
-        AknTextUtils::LanguageSpecificNumberConversion( locNumber );
-
-        bufPtr.Append( locNumber );
-        }
-
-    TInt ind = iIndArray.Find( EVmbxVoiceMailboxNumberInd );
-    if ( ind  != KErrNotFound )
-        {
-        iArray.Delete( ind );
-        iArray.InsertL( ind, bufPtr );
-        }
-    CleanupStack::PopAndDestroy( buf );
-
-    // ========================================================================
-    // Video Mailbox specific part starts from here
-    // ========================================================================
-
-    if ( IsVideoSupported() )
-        {
-        TInt videoline2MaxLength( iVideoLine2->Length() );
-
-        if ( KVmbxMaxNumberLength > videoline2MaxLength )
-            {
-            videoline2MaxLength = KVmbxMaxNumberLength;
-            }
-
-        // allocate buffer for 2 listbox lines and 3 formatter chars
-        HBufC* videoBuf = HBufC::NewLC( iVideoLine1->Length() +
-                                            videoline2MaxLength +
-                                            KVmNoIconPrefix().Length() +
-                                            KVmSuffix().Length() );
-
-        TPtr videoBufPtr = videoBuf->Des();
-
-        // listbox formatting
-        videoBufPtr.Append( KVmwVideoIconPrefix );
-        videoBufPtr.Append( *iVideoLine1 );  // "Video Mailbox"-text (localised)
-        videoBufPtr.Append( KVmSuffix );
-
-        if ( !iVideoNumber.Length() )
-            {
-            videoBufPtr.Append( *iVideoLine2 );  // "No number"-text (localised)
-            }
-        else
-            {
-            // Convert the phone number to accommodate the current locale
-            TBuf<KVmbxMaxNumberLength> videoLocNumber;
-
-            if ( iNumberGrouping )
-                {
-                iNumberGrouping->Set( iVideoNumber );
-                videoLocNumber.Copy( iNumberGrouping->FormattedNumber() );
-                }
-            else
-                {
-                videoLocNumber.Copy( iVideoNumber );
-                }
-
-            AknTextUtils::LanguageSpecificNumberConversion( videoLocNumber );
-
-            videoBufPtr.Append( videoLocNumber );
-            }
-
-        TInt videoInd = iIndArray.Find( EVmbxVideoMailboxNumberInd );
-        if ( videoInd != KErrNotFound )
-            {
-            iArray.Delete( videoInd );
-            iArray.InsertL( videoInd, videoBufPtr );
-            }
-        CleanupStack::PopAndDestroy( videoBuf );
-        }
-    
-    // ========================================================================
-    // IP Mailbox specific part starts from here
-    // ========================================================================
-    
-    if ( IsIpVoiceMailboxServices() )
-        {
-        // Get all Service Ids
-        RArray<TUint> profileIds;
-        CleanupClosePushL( profileIds );
-        iVmbxNumber.GetServiceIds( profileIds );
-
-        TBuf<KVmbxMaxAddressLength> vmbxAddress;
-
-        for ( TInt i( 0 ); i < profileIds.Count(); i++ )
-            {
-            // Get mailbox name
-            TVmbxServiceInfo serviceInfo;
-            serviceInfo.iServiceId = profileIds[ i ];
-            iVmbxNumber.GetServiceInfo( serviceInfo );
-            HBufC* name = HBufC::NewLC( serviceInfo.iName.Length() );
-            name->Des().Copy( serviceInfo.iName );
-
-            HBufC* mailbox = StringLoader::LoadLC(
-                R_VOIP_LIST_MAILBOX_NAME, name->Des( ) );
-
-            HBufC* buf2 = HBufC::NewLC( mailbox->Length()
-                                        + KVmbxMaxNumberLength
-                                        + KVmNoIconPrefix().Length()
-                                        + KVmSuffix().Length() * 3 );
-            TPtr bufPtr2 = buf2->Des();
-
-            // Brand icon here, if brand icon is not available
-            // use default VoIP icon
-            TInt iconId( KErrNotFound );
-            TRAPD( error, AddBrandIconL( profileIds[ i ], iconId ) );
-
-            if ( KErrNone == error && KErrNotFound != iconId )
-                {
-                bufPtr2.AppendNum( iconId );
-                bufPtr2.Append( KVmSuffix );
-                }
-            else
-                {
-                bufPtr2.Append( KVmwVoIPIconPrefix );
-                }
-
-            // Add Mailbox text
-            bufPtr2.Append( mailbox->Des() );
-            bufPtr2.Append( KVmSuffix );
-
-            // Write address
-            vmbxAddress.Copy( serviceInfo.iAddress );
-
-            if ( !vmbxAddress.Length() )
-                {
-                bufPtr2.Append( *iLine4 );  // "No number"-text (localised)
-                }
-            else
-                {
-                bufPtr2.Append( vmbxAddress );
-                }
-
-            // this corrects SIM icon to the right place
-            bufPtr2.Append( KVmSuffix );
-
-            ind = iIndArray.Find( EVmbxIntCallVoiceMailboxNumberInd );
-            if ( KErrNotFound != ind )
-                {
-                VMBLOGSTRING2( "VMBX: CVmContainer::UpdateVmbxNumberInListBoxL: %S", buf2 );
-                iArray.Delete( ind + i );
-                iArray.InsertL( ind + i, bufPtr2 );
-                }
-
-            CleanupStack::PopAndDestroy( buf2 );
-            CleanupStack::PopAndDestroy( mailbox );
-            CleanupStack::PopAndDestroy( name );
-            }
-        CleanupStack::PopAndDestroy( &profileIds );
-        }
-    VMBLOGSTRING( "VMBX: CVmContainer::UpdateVmbxNumberInListBoxL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::UpdateLastMessageDetailsInListBoxL
-// Updates the last message details to the listbox
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::UpdateLastMessageDetailsInListBoxL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::UpdateLastMessageDetailsInListBoxL: =>" );
-    if ( !FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) ||
-         !( iVmUiOpts & KVmMessageDetails ) )
-        {
-        VMBLOGSTRING( "VMBX: CVmContainer::UpdateNewVoiceMessagesInListBoxL: \
-         Cdma supported or/and no vmbxdetails support" );
-        return;
-        }
-
-    // Determine the position of this item in the list (if any)
-    TInt ind = iIndArray.Find( EVmbxDetailsOfLastMessageInd );
-
-    // if the last message is not set, hide the item:
-    // 0 = not set
-    // 1 = set.
-    TInt messageSet = 0;
-
-    iSession->Get( KVmSummaryInfoIsSet, messageSet ); // ignore error
-
-    if ( messageSet == 0 )
-        {
-        if ( ind != KErrNotFound )
-            {
-            // remove the item from the list
-            iIndArray.Remove( ind );
-            iArray.Delete( ind );
-            }
-        return;
-        }
-
-    HBufC* resourceText = StringLoader::LoadLC( R_DETAILS_OF_LAST );
-
-    // Three special chars
-    HBufC* detailsText = HBufC::NewLC( KVmPrefixLength +
-                                                    resourceText->Length() );
-    TPtr detailsPtr = detailsText->Des();
-    detailsPtr.Append( KVmNoIconPrefix );
-    detailsPtr.Append( *resourceText );
-    detailsPtr.Append( KVmSuffix );
-    detailsPtr.Append( KNullDesC ); // the second line is empty
-
-    if ( ind == KErrNotFound )
-        {
-        // Add the item back to the list
-        iIndArray.Append( EVmbxDetailsOfLastMessageInd );
-        iArray.AppendL( detailsPtr );
-        }
-
-    CleanupStack::PopAndDestroy( detailsText );
-    CleanupStack::PopAndDestroy( resourceText );
-    VMBLOGSTRING( "VMBX: CVmContainer::\
-    UpdateLastMessageDetailsInListBoxL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::CallVoiceMailBoxL
-// Calls the vmbx number using PhoneClient.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*      Series 60 Customer / ETel
-*      Series 60  ETel API
-*****************************************************/
-void CVmContainer::CallVoiceMailBoxL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::CallVoiceMailBoxL: =>" );
-
-    if ( !iIsCallOngoing )
-        {
-        AiwCallRequestL( KVmCmdAiwVoiceCall, CAiwDialData::EAIWVoice );
-        }
-
-    VMBLOGSTRING( "VMBX: CVmContainer::CallVoiceMailBoxL: <=" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVmContainer::CallVoiceMailBoxL
-// Calls the vmbx number using PhoneClient.
-// -----------------------------------------------------------------------------
-//
-/*****************************************************
-*      Series 60 Customer / ETel
-*      Series 60  ETel API
-*****************************************************/
-void CVmContainer::CallIntVoiceMailBoxL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::CallVoiceMailBoxL: =>" );
-
-    if ( !iIsCallOngoing )
-        {
-        AiwCallRequestL( KVmCmdAiwVoipCall, CAiwDialData::EAIWVoiP );
-        }
-
-    VMBLOGSTRING( "VMBX: CVmContainer::CallVoiceMailBoxL: <=" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVmContainer::HandleNotifyL
-// When user has completed an action to a vmbx number
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::HandleNotifyL( TInt /*aLine*/, const TDesC& aValue )
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::HandleNotifyL: =>" );
-    iNumber.Copy( aValue );
-    UpdateVmbxNumberInListBoxL();
-    (static_cast <CVmAppUi*>iAvkonAppUi) ->DrawCbaButtonsL();
-    iListBox->DrawNow();
-    VMBLOGSTRING( "VMBX: CVmContainer::HandleNotifyL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::HandleAlsChangeL
-// ALS line changed
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::HandleAlsChangeL( TVmbxAlsLine /*aLine*/ )
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::HandleAlsChangeL: =>" );
-    VMBLOGSTRING( "VMBX: CVmContainer::HandleAlsChangeL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::UpdateVmbxNumberL
-// Gets the vmbx number from SIM/SharedData and updates it in the display.
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::UpdateVmbxNumberL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::UpdateVmbxNumberL: =>" );
-    TInt ret ( iVmbxNumber.GetVmbxNumber( iNumber ) );
-
-    if ( ret == KErrNotFound )
-        {
-        iNumber.Zero();
-        }
-    else if ( ret != KErrNone )
-        {
-        User::LeaveIfError( ret );
-        }
-
-    UpdateVmbxNumberInListBoxL();
-    iListBox->DrawNow();
-    (static_cast <CVmAppUi*>iAvkonAppUi) ->DrawCbaButtonsL();
-    VMBLOGSTRING( "VMBX: CVmContainer::UpdateVmbxNumberL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::HandleNotifyInt
-// Integer value keys has pressed
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::HandleNotifyInt( TUint32 aKey, TInt aValue )
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::HandleNotifyInt: =>" );
-    if ( aKey == KVmMessageCounter)
-        {
-        TRAPD( err1, UpdateNewVoiceMessagesInListBoxL() );
-        if ( err1 != KErrNone )
-            {
-            _LIT(KVmbxPanicType1,"UpdateNewVoiceMessagesInListBoxL");
-            User::Panic( KVmbxPanicType1, err1 );
-            }
-        iListBox->DrawNow();
-        }
-    else if ( aKey == KVmSummaryInfoIsSet )
-        {
-        TInt currentItem = CurrentItem();
-        if ( currentItem == EVmbxDetailsOfLastMessageInd )
-            {
-            TInt newInd = iIndArray.Find( EVmbxVoiceMailboxNumberInd );
-            if ( newInd != KErrNotFound )
-                {
-                iListBox->SetCurrentItemIndex( newInd );
-                }
-            }
-        TRAPD( err2, UpdateLastMessageDetailsInListBoxL() );
-        if ( err2 != KErrNone )
-            {
-            _LIT(KVmbxPanicType2,"UpdateLastMessageDetailsInListBoxL");
-            User::Panic( KVmbxPanicType2, err2 );
-            }
-        TRAPD( err3, iListBox->HandleItemAdditionL() );
-        if ( err3 != KErrNone )
-            {
-            _LIT(KVmbxPanicType3,"iListBox->HandleItemAdditionL");
-            User::Panic( KVmbxPanicType3, err3 );
-            }
-        }
-    else if ( aKey == KVideoMbxSupport )
-        {
-        iIsVideoSupported = aValue;
-        UpdateData( ETrue );
-        TRAP_IGNORE( UpdateListboxL() );
-        }
-    VMBLOGSTRING( "VMBX: CVmContainer::HandleNotifyInt: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::ResetVoicemailMessageCounterL
-// Resets to zero the voicemail message counter in SD
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::ResetVoicemailMessageCounterL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::ResetVoicemailMessageCounterL: =>" );
-
-    TInt err = iSession->Set( KVmMessageCounter, 0 );
-    if ( err != KErrNotFound )
-        {
-        VMBLOGSTRING2( "VMBX: CVmContainer::ResetVoicemailMessageCounterL: \
-        CenRep error: %d", err );
-        User::LeaveIfError( err );
-        }
-
-    UpdateNewVoiceMessagesInListBoxL();
-    iListBox->DrawNow();
-    VMBLOGSTRING( "VMBX: CVmContainer::ResetVoicemailMessageCounterL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::IsClearIcon
-// Checks if clear icon is set
-// -----------------------------------------------------------------------------
-//
-TBool CVmContainer::IsClearIcon()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::IsClearIcon: =>" );
-    VMBLOGSTRING( "VMBX: CVmContainer::IsClearIcon: <=" );
-    return iVmUiOpts & KVmClearIcon;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::FillIndArray
-// Fill array with indications
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::FillIndArray()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::FillIndArray: =>" );
-    if ( FeatureManager::FeatureSupported( KFeatureIdProtocolCdma ) )
-        {
-        //NewVoiceMessages
-        iIndArray.Append( EVmbxVoiceMessageAmountInd );
-
-        if ( iVmUiOpts & KVmMailboxNumber )
-            {
-            //VmbxNumber
-            iIndArray.Append( EVmbxVoiceMailboxNumberInd );
-            }
-
-         // Details (EVmbxDetailsOfLastMessageInd) are added dynamically in
-         // UpdateLastMessageDetailsInListBoxL, always to the end of the list
-         }
-    else
-        {
-        //VmbxNumber
-        iIndArray.Append( EVmbxVoiceMailboxNumberInd );
-        }
-
-    if ( IsVideoSupported() )
-        {
-        iIndArray.Append( EVmbxVideoMailboxNumberInd );
-        }
-
-    if ( FeatureManager::FeatureSupported( KFeatureIdCommonVoip ) )
-        {
-        RArray<TUint> profileIds;
-        iVmbxNumber.GetServiceIds( profileIds );
-
-        for ( TInt i( 0 ); i < profileIds.Count(); i++ )
-            {
-            VMBLOGSTRING( "VMBX: CVmContainer::FillIndArray \
-                           Appending Voip mailbox service" );
-            iIndArray.Append( EVmbxIntCallVoiceMailboxNumberInd );
-            }
-
-        profileIds.Close();
-        }
-    VMBLOGSTRING( "VMBX: CVmContainer::FillIndArray: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::CurrentItem
-// Gets index  of the current item in listbox
-// -----------------------------------------------------------------------------
-//
-TInt CVmContainer::CurrentItem()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::CurrentItem: =>" );
-    if ( iListBox->CurrentItemIndex() >= iIndArray.Count() )
-        {
-        VMBLOGSTRING( "VMBX: CVmContainer::CurrentItem: \
-        listbox iten not found" );
-        return KErrNotFound;
-        }
-    TInt listBoxCurrentIndex = iListBox->CurrentItemIndex();
-    VMBLOGSTRING2( "VMBX: CVmContainer::CurrentItem: listBoxCurrentIndex=%d",
-    listBoxCurrentIndex );
-    TInt currentItemIndex = iIndArray[ listBoxCurrentIndex ];
-    VMBLOGSTRING2( "VMBX: CVmContainer::CurrentItem: currentItemIndex=%d <=",
-    currentItemIndex );
-    return currentItemIndex;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::AskTypeL
-// Ask Vmbx type.
-// -----------------------------------------------------------------------------
-//
-TInt CVmContainer::AskTypeL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::AskTypeL: =>" );
-    TInt type( EVmbx );
-    
-    if ( IsVideoSupported() )
-        {
-        type = iVmbxNumber.SelectTypeL( EVmbxDefine );
-        }
-    
-    VMBLOGSTRING( "VMBX: CVmContainer::AskTypeL: <=" );
-    return type;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::IsVoIPProfilesFound
-// Check if VoIP profiles is found.
-// -----------------------------------------------------------------------------
-//
-TBool CVmContainer::IsVoIPProfilesFound()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::IsVoIPProfilesFound" );
-
-    return iVmbxNumber.IsVoIPProfilesFound();
-   }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::QueryVideoNumberL
-// Queries for a new video mailbox number. If the query
-// is approved, the listbox is updated.
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::QueryVideoNumberL( TVmbxQueryType aQueryType )
-    {
-    if ( IsVideoSupported() )
-        {
-        TBool ret( EFalse );
-        TRAPD( queryErr, 
-            ret = iVmbxNumber.QueryVideoMbxNumberL( aQueryType, iVideoNumber ) );
-
-        if ( KErrNone == queryErr )
-            {
-            if ( ret )
-                {
-                // if the query was approved, update vmbx number
-                UpdateVmbxNumberInListBoxL();
-                (static_cast <CVmAppUi*>iAvkonAppUi) ->DrawCbaButtonsL();
-                iListBox->DrawNow();
-                }
-            }
-         else
-            {
-            VMBLOGSTRING2( "VMBX: CVmContainer::QueryVideoMbxNumberL: \
-            queryErr = %d", queryErr );
-            
-            if ( KErrAccessDenied == queryErr )
-                {
-                VMBLOGSTRING( "VMBX: CVmContainer::QueryVideoMbxNumberL: \
-                not allow to change number" );
-                }
-            else
-                {
-                User::Leave( queryErr );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::FocusChanged
-// Indicate the requirements for control redrawing.
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::FocusChanged: =>" );
-    TInt ret1( KErrNone );
-    TInt ret2( KErrNone );
-
-    // Wwhen returned from other application to vmbx.
-    // Not necessary to update every time when focus changed.
-    if ( iUpdateData )
-        {
-        // get numbers, possible changed from Idle or General settings
-        ret1 = iVmbxNumber.GetVmbxNumber( iNumber );
-        if ( IsVideoSupported() )
-            {
-            ret2 = iVmbxNumber.GetVideoMbxNumber( iVideoNumber );
-            }
-        }
-    if ( iListBox )
-        {
-        if ( iUpdateData )
-            {
-            if ( ( ret1 == KErrNone || ret1 == KErrNotFound) &&
-                 ( ret2 == KErrNone || ret2 == KErrNotFound) )
-                {
-                TRAP_IGNORE( UpdateVmbxNumberInListBoxL() );
-                TRAP_IGNORE(
-                    ( static_cast <CVmAppUi*>iAvkonAppUi ) ->DrawCbaButtonsL() );
-                }
-            UpdateData( EFalse );
-            }
-        iListBox->SetFocus( IsFocused() );
-        }
-    iIsCallOngoing = EFalse;
-    VMBLOGSTRING( "VMBX: CVmContainer::FocusChanged: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::ConstructIconsForListboxL
-// Constructs the icons that are needed to indicate where the vmbx number
-// is stored
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::ConstructIconsForListboxL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::ConstructIconsForListboxL: =>" );
-    iListIcons = new (ELeave) CAknIconArray( KVmIconArraySize );
-
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-
-    //Get the mbm file path
-    TFileName mbmfile( KVmMbmDrive );
-    mbmfile.Append( KDC_APP_BITMAP_DIR );
-    mbmfile.Append( KVmLibMbmFile );
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-    //empty bitmap
-    AknsUtils::CreateIconL( skin, KAknsIIDQgnPropEmpty, bitmap,mask, mbmfile,
-            EMbmVmQgn_prop_empty, EMbmVmQgn_prop_empty_mask );
-
-    CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
-    iListIcons->AppendL( icon );
-
-    bitmap = NULL;
-    mask = NULL;
-
-    //sim icon
-    AknIconUtils::CreateIconL( bitmap, mask, mbmfile,
-                                EMbmVmQgn_prop_nrtyp_sim_contact,
-                                EMbmVmQgn_prop_nrtyp_sim_contact_mask );
-
-    CGulIcon* icon1 = CGulIcon::NewL( bitmap, mask );
-    iListIcons->AppendL( icon1 );
-    // Add default icons(CS, Video and VoIP) to the icon list
-    iVmbxNumber.ConstructDefaultIconsL( iListIcons );
-    VMBLOGSTRING2( "VMBX: CVmContainer::ConstructIconsForListboxL: count: %d", iListIcons->Count() );
-
-    CTextListBoxModel* model = iListBox->Model();
-    CDesCArray* items = static_cast<CDesCArray*>( model->ItemTextArray() );
-    items->Reset();
-
-    // Update listbox according new values..
-    iListBox->SetCurrentItemIndex( 0 );
-    iListBox->HandleItemAdditionL();
-    VMBLOGSTRING( "VMBX: CVmContainer::ConstructIconsForListboxL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::CallVideoMailBoxL
-// Calls the vmbx number using PhoneClient
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::CallVideoMailBoxL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::CallVideoMailBoxL: =>" );
-
-    if ( !iIsCallOngoing )
-        {
-        AiwCallRequestL( KVmCmdAiwVideoCall, CAiwDialData::EAIWForcedVideo );
-        }
-
-    VMBLOGSTRING( "VMBX: CVmContainer::CallVideoMailBoxL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::AiwCallRequestL()
-// Makes a call request to AiwProvider.
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::AiwCallRequestL( TInt aCommand, 
-                                    CAiwDialData::TCallType aCallType )
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: =>" );
-    TBuf<KVmbxMaxNumberLength> number;
-
-    if ( aCallType == CAiwDialData::EAIWVoice )
-        {
-        VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: Type: VoiceCall" );
-        number.Copy( iNumber );
-
-        if ( !iNumber.Length() )
-            {
-            QueryNumberL( EVmbxNotDefinedQuery );
-            VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: \
-                No VoiceCall number: <=" );
-            return;
-            }
-        VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: \
-            VoiceCall number copied" );
-        number.Copy( iNumber );
-        }
-
-    if ( aCallType == CAiwDialData::EAIWForcedVideo )
-        {
-        if ( !iVideoNumber.Length() )
-            {
-            QueryVideoNumberL( EVmbxNotDefinedQuery );
-            VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: \
-                No VideoCall number: <=" );
-            return;
-            }
-        VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: \
-            VideoCall number copied" );
-        number.Copy( iVideoNumber );
-        }
-
-    TVmbxServiceInfo serviceInfo;
-    
-    if ( aCallType == CAiwDialData::EAIWVoiP)
-        {
-        VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: Type: VoipCall" );
-
-        serviceInfo.iServiceId = ServiceId();
-
-        TInt error( iVmbxNumber.GetServiceInfo( serviceInfo ) );
-
-        if ( KErrNone == error )
-            {
-            number.Copy( serviceInfo.iAddress );
-            }
-
-        VMBLOGSTRING2( "VMBX: AiwCallRequestL: VoIP address error: %d", error );
-        VMBLOGSTRING2( "VMBX: AiwCallRequestL: VoIP address: %S", &number );
-        VMBLOGSTRING2( "VMBX: AiwCallRequestL: VoIP serviceId: %d", serviceInfo.iServiceId );
-        }
-
-    // Create a dial data object and push it into the cleanup stack.
-    CAiwDialDataExt* dialData = CAiwDialDataExt::NewLC();
-    
-    VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: \
-        AIW dialData object created" );
-
-    // Set up dial data parameters.
-    dialData->SetPhoneNumberL( number );
-    dialData->SetCallType( aCallType );
-    dialData->SetServiceId( serviceInfo.iServiceId );
-
-    // Set up CAiwGenericParamList object.
-    CAiwGenericParamList& paramList = iServiceHandler->InParamListL();
-    dialData->FillInParamListL( paramList );
-
-    // Execute AIW menu service command.
-    iIsCallOngoing = ETrue;
-    VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: Execute AIW menu \
-        service command" );
-    iServiceHandler->ExecuteMenuCmdL( aCommand,
-                                      paramList,
-                                      iServiceHandler->OutParamListL(),
-                                      0,
-                                      NULL );
-
-    // Dial data is no longer needed and can be deleted.
-    CleanupStack::PopAndDestroy( dialData );
-    VMBLOGSTRING( "VMBX: CVmContainer::AiwCallRequestL: <=" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVmContainer::Number
-// Query for a voice mailbox number.
-// -----------------------------------------------------------------------------
-//
-const TDesC& CVmContainer::Number() const
-    {
-    return iNumber;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::VideoNumber
-// Query for a video mailbox number.
-// -----------------------------------------------------------------------------
-//
-const TDesC& CVmContainer::VideoNumber() const
-    {
-    return iVideoNumber;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::UpdateData
-// LisBox will be updated with data possibly changed in other application
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::UpdateData( TBool aState )
-    {
-    iUpdateData = aState;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::ServiceId
-//
-// -----------------------------------------------------------------------------
-//
-TUint CVmContainer::ServiceId()
-    {
-    TUint serviceId( 0 );
-    TInt decrease( 0 );
-
-    RArray<TUint> profileIds;
-    iVmbxNumber.GetServiceIds( profileIds );
-
-    // Count how many items we have to decrease
-    for ( TInt i( 0 ); i < iIndArray.Count(); i++ )
-        {
-        if ( EVmbxIntCallVoiceMailboxNumberInd != iIndArray[ i ] )
-            {
-            decrease++;
-            }
-        }
-
-    serviceId = profileIds[ iListBox->CurrentItemIndex() - decrease ];
-    profileIds.Close();
-
-    VMBLOGSTRING2( "VMBX: CVmContainer::ServiceId() return %d", serviceId );    
-    return serviceId;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVmContainer::HandleServiceNotifyL
-// VoIP profile has changed
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::HandleServiceNotifyL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::HandleServiceNotifyL: =>" );
-
-    iServiceUpdated = ETrue;
-
-    VMBLOGSTRING( "VMBX: CVmContainer::HandleServiceNotifyL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::AddBrandIconL
-//
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::AddBrandIconL( TUint aServiceId, TInt& aIconId )
-    {
-    // Set branding icon to context pane if available.
-    TBuf8<KVmSettingsUiBrandingIdLength> brandId( KNullDesC8 );
-
-    iVmbxNumber.BrandIdL( aServiceId, brandId );
-
-    CFbsBitmap* brandedBitmap = NULL;
-    CFbsBitmap* brandedBitmapMask = NULL;
-
-    // Get branded bitmap
-    TRAPD( err, iVmbxNumber.GetBrandedIconL(
-        brandId, brandedBitmap, brandedBitmapMask ) );
-
-    VMBLOGSTRING2( "VMBX: CVmContainer::AddBrandIconL: error: %d", err );
-
-    if ( KErrNone == err )
-        {
-        // The count of list icons(before adding branding icon to the list)
-        // must be the branded icon list id
-        aIconId = iListIcons->Count();
-        // Create new icon and add it to the icon list
-        iListIcons->AppendL(
-            CGulIcon::NewL( brandedBitmap, brandedBitmapMask ) );
-        }
-    else
-        {
-        delete brandedBitmap;
-        delete brandedBitmapMask;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::UpdateListboxL
-//
-// -----------------------------------------------------------------------------
-//
-void CVmContainer::UpdateListboxL()
-    {
-    VMBLOGSTRING( "VMBX: CVmContainer::UpdateListboxL: =>" );
-
-    iIndArray.Reset();
-    iArray.Reset();
-
-    FillIndArray();
-
-    // Set the text in the listbox
-    // First create space for the items
-    for ( TInt i = 0; i < iIndArray.Count(); i++ )
-        {
-        iArray.AppendL( KNullDesC );
-        }
-
-    // New voice messages
-    UpdateNewVoiceMessagesInListBoxL();
-
-    // Voice mailbox number
-    UpdateVmbxNumberInListBoxL();
-
-    // Details
-    UpdateLastMessageDetailsInListBoxL();
-
-    KErrNotFound == iListBox->CurrentItemIndex() ?
-        iListBox->SetCurrentItemIndex( 0 ) :
-            iListBox->SetCurrentItemIndex( iListBox->CurrentItemIndex() );
-
-    ( static_cast <CVmAppUi*>iAvkonAppUi )->DrawCbaButtonsL();
-
-    // Update listbox according new values..
-    iListBox->HandleItemAdditionL();
-    iListBox->DrawNow();
-
-    // Reset updating value
-    iServiceUpdated = EFalse;
-
-    VMBLOGSTRING( "VMBX: CVmContainer::UpdateListboxL: <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmContainer::IsServiceUpdated
-//
-// -----------------------------------------------------------------------------
-//
-TBool CVmContainer::IsServiceUpdated() const
-    {
-    return iServiceUpdated;
-    }
-
-TBool CVmContainer::IsIpVoiceMailboxServices()
-    {
-    return iVmbxNumber.IsIpVoiceMailboxServices();
-    }
-
-TBool CVmContainer::IsVideoSupported()
-    {
-    if ( iIsVideoSupported &&
-         FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-// End of File
-
--- a/phoneuis/vmbx/src/VmDetDlgPropertyObserver.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +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:  Publish & Subscribe property change observer implementation
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "VmDetDlgPropertyObserver.h"
-#include "VoiceMailboxAppPrivateCRKeys.h"
-#include "VmDetailsDialog.h"
-
-#include <e32property.h>
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVmDetDlgPropertyObserver::CVmDetDlgPropertyObserver
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVmDetDlgPropertyObserver::CVmDetDlgPropertyObserver( 
-                                CVmDetailsDialog& aDetDialog )
-    : CActive( CActive::EPriorityLow ),
-      iDetDialog( aDetDialog )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetDlgPropertyObserver::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVmDetDlgPropertyObserver::ConstructL()
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// CMGXPropertyObserver::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVmDetDlgPropertyObserver* CVmDetDlgPropertyObserver::NewL( 
-                                CVmDetailsDialog& aDetDialog )
-    {
-    CVmDetDlgPropertyObserver* self = 
-                         new( ELeave ) CVmDetDlgPropertyObserver( aDetDialog );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CVmDetDlgPropertyObserver::~CVmDetDlgPropertyObserver
-// Destructor.
-// ----------------------------------------------------------------------------
-//
-CVmDetDlgPropertyObserver::~CVmDetDlgPropertyObserver()
-    {
-    if ( IsActive() )
-        {
-        Cancel();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetDlgPropertyObserver::ObservePropertyChangeL
-// -----------------------------------------------------------------------------
-//
-void CVmDetDlgPropertyObserver::ObservePropertyChangeL( TUid aCategory, 
-                                                                    TUint aKey )
-    {
-    if ( IsActive() )
-        {
-        Cancel();
-        }
-    User::LeaveIfError( iProperty.Attach( aCategory, aKey ) );
-    iProperty.Subscribe( iStatus );
-    SetActive();
-    iKey = aKey;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetDlgPropertyObserver::RunL
-// -----------------------------------------------------------------------------
-//
-void CVmDetDlgPropertyObserver::RunL()
-    {
-    TFileName fileName( KNullDesC );
-
-    if ( iKey == KVmSummaryInfoIsSet )
-        {
-        User::LeaveIfError( iProperty.Get( fileName ) );
-        }
-
-    iDetDialog.HandlePropertyNotificationEventL( fileName );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetDlgPropertyObserver::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CVmDetDlgPropertyObserver::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetDlgPropertyObserver::RunError
-// -----------------------------------------------------------------------------
-//
-TInt CVmDetDlgPropertyObserver::RunError( TInt /*aError*/ )
-    {
-    // Return no error to prevent ui note from being displayed,
-    // nothing else can be done.
-    return KErrNone;
-    }
-
-//  End of File
--- a/phoneuis/vmbx/src/VmDetailsDialog.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,577 +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:  Details dialog for last message.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <bldvariant.hrh>
-#include "VmDetailsDialog.h"
-#include "VoiceMailboxAppPrivateCRKeys.h"
-#include "VmDetDlgPropertyObserver.h"
-#include <centralrepository.h>
-#include "Vm.hrh"
-#include <Vm.rsg>
-#include <AknLists.h>
-#include <AknTitle.h>
-#include <NumberGrouping.h>
-#include <NumberGroupingCRKeys.h>
-#include <StringLoader.h>
-#include "VMBLogger.h"
-
-// CONSTANTS
-const TInt KVmMaxLabelStringLength = 100;
-const TInt KVmMaxLabelFreeTextLength = 255;
-const TUint KVmDateSeparator = '/';
-const TUint KVmTimeSeparator = ':';
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::CVmDetailsDialog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVmDetailsDialog::CVmDetailsDialog()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CVmDetailsDialog::ConstructL()
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::ConstructL =>" );
-    CAknDialog::ConstructL( R_VMBX_DETAIL_MENUBAR );
-
-    // Central Repository handle
-    iSession = CRepository::NewL( KCRUidVoiceMailbox );
-    iObserver = CVmDetDlgPropertyObserver::NewL( *this );
-    StartObservingL();
-
-    TInt pngErr( KErrNone );
-    TInt pngSupported( 0 );
-    CRepository* repository = CRepository::NewL( KCRUidNumberGrouping );
-    pngErr = repository->Get( KNumberGrouping, pngSupported );
-    delete repository;
-
-    // create number grouping component if is supported.
-    if ( KErrNone == pngErr && pngSupported != 0 )
-        {
-        iNumberGrouping = CPNGNumberGrouping::NewL( KVmMaxLabelStringLength );
-        }
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::ConstructL <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVmDetailsDialog* CVmDetailsDialog::NewL()
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::NewL =>" );
-    CVmDetailsDialog* self = new( ELeave ) CVmDetailsDialog;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::NewL <=" );
-    return self;
-    }
-    
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::~CVmDetailsDialog
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVmDetailsDialog::~CVmDetailsDialog()
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::~CVmDetailsDialog =>" );
-    delete iOldTitlePaneText;
-    iOldTitlePaneText = NULL;
-
-    delete iObserver;
-    delete iSession;
-    delete iNumberGrouping;
-
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::~CVmDetailsDialog <=" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::PreLayoutDynInitL
-// Called before the dialog is launched. Title pane is updated and listbox
-// is filled with a last message information.
-// -----------------------------------------------------------------------------
-//
-void CVmDetailsDialog::PreLayoutDynInitL()
-    {
-    // Take old title pane to variable.
-    CAknTitlePane* titlePane = 
-        static_cast< CAknTitlePane* >
-            ( iEikonEnv->AppUiFactory()->StatusPane()->ControlL(
-                TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    iOldTitlePaneText = titlePane->Text()->AllocL();
-
-    // Set new title
-    HBufC* titleText = StringLoader::LoadL( R_TITLE_DETAILS );
-    titlePane->SetText( titleText ); //takes ownership
-    titleText = NULL;
-
-
-    // Get listbox pointer
-    CAknSingleHeadingStyleListBox* listbox = 
-        static_cast<CAknSingleHeadingStyleListBox*> 
-            ( Control( KVmDetailsDialog ) );
-
-    listbox->CreateScrollBarFrameL( ETrue );
-    listbox->ScrollBarFrame()->SetScrollBarVisibilityL(
-        CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
-
-    // populate array
-    MDesCArray* itemList = listbox->Model()->ItemTextArray();
-    CDesCArray* itemArray = static_cast<CDesCArray*>( itemList );
-    PopulateListboxItemsL( *itemArray );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::PopulateListboxItemsL
-// Reads message details from shared data.
-// -----------------------------------------------------------------------------
-//
-void CVmDetailsDialog::PopulateListboxItemsL( CDesCArray& aItemArray )
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::PopulateListboxItemsL =>" );
-    // To calculate the rect for the text box.
-    CAknSingleHeadingStyleListBox* listbox = 
-                   static_cast<CAknSingleHeadingStyleListBox*> 
-                       ( Control(KVmDetailsDialog) );    
-    CListBoxView* view = listbox->View();    
-    TRect itemTextRect (TPoint( view->ItemPos(0) ), TSize(view->ItemSize() ) );
-    aItemArray.Reset();
-
-    // Used variables
-    HBufC* heading = NULL;
-    HBufC* data = NULL;
-    TInt error = KErrNone;
-
-
-    // Urgency
-    heading = StringLoader::LoadLC( R_URGENCY );
-
-    TInt urgency; 
-    error = iSession->Get( KVmUrgencyLevel, urgency );
-    if ( error == KErrNone )
-        {
-        switch ( urgency )
-            {
-            case 0: // Normal
-            case 1: // Interactive
-                {
-                data = StringLoader::LoadLC( R_NORMAL );
-                break;
-                }
-            case 2: // Urgent
-                {
-                data = StringLoader::LoadLC( R_URGENT );
-                break;
-                }
-            case 3: // Emergency
-                {
-                data = StringLoader::LoadLC( R_EMERGENCY );
-                break;
-                }
-            default:
-                {
-                User::Leave( KErrNotSupported );
-                break;
-                }
-            }
-        }
-    else
-        {
-        data = KNullDesC().AllocLC();
-        }
-    
-    AppendLineL( aItemArray, heading->Des(), data->Des(), itemTextRect );
-    CleanupStack::PopAndDestroy( data );
-    CleanupStack::PopAndDestroy( heading );
-
-
-    // Date
-    heading = StringLoader::LoadLC( R_DATE );
-
-    data = HBufC::NewLC( KVmMaxLabelStringLength );
-    TPtr datePtr = data->Des();
-    if ( iSession->Get( KVmDateStamp, datePtr ) == KErrNone )
-        {
-        FormatDateStringL( datePtr );
-        }
-        
-    AppendLineL( aItemArray, heading->Des(), data->Des(), itemTextRect );
-    CleanupStack::PopAndDestroy( data );
-    CleanupStack::PopAndDestroy( heading );
-
-    // Time
-    heading = StringLoader::LoadLC( R_TIME );
-
-    data = HBufC::NewLC( KVmMaxLabelStringLength );
-    TPtr timePtr = data->Des();
-    if ( iSession->Get( KVmTimeStamp, timePtr ) == KErrNone )
-        {
-        FormatTimeStringL( timePtr );
-        }
-
-    AppendLineL( aItemArray, heading->Des(), data->Des(), itemTextRect );
-    CleanupStack::PopAndDestroy( data );
-    CleanupStack::PopAndDestroy( heading );
-
-    // Callback number
-    heading = StringLoader::LoadLC( R_CALL_BACK );
-
-    data = HBufC::NewLC( KVmMaxLabelStringLength );
-    TPtr callbackPtr = data->Des();
-    iSession->Get( KVmCallbackNumber, callbackPtr ); // ignore error
-
-    if ( iNumberGrouping )
-        {
-        iNumberGrouping->Set( callbackPtr );
-        CleanupStack::PopAndDestroy( data );
-        data = iNumberGrouping->FormattedNumber().AllocLC();
-        }
-
-    AppendLineL( aItemArray, heading->Des(), data->Des(), itemTextRect, ETrue );
-    CleanupStack::PopAndDestroy( data );
-    CleanupStack::PopAndDestroy( heading );
-
-    // Text
-    heading = StringLoader::LoadLC( R_TEXT );
-
-    data = HBufC::NewLC( KVmMaxLabelFreeTextLength );
-    TPtr textPtr = data->Des();
-    iSession->Get( KVmUserData, textPtr ); // ignore error
-
-    AppendLineL( aItemArray, heading->Des(), data->Des(), itemTextRect, ETrue );
-    CleanupStack::PopAndDestroy( data );
-    CleanupStack::PopAndDestroy( heading );
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::PopulateListboxItemsL <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::FormatDateStringL
-// Formats date string
-// -----------------------------------------------------------------------------
-//
-void CVmDetailsDialog::FormatDateStringL( TDes& aDateString )
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::FormatDateStringL =>" );
-    if ( !aDateString.Length() )
-        {
-        return;
-        }
-
-    // Check that we have two separators '/'
-    TInt indexFirst = aDateString.Locate( KVmDateSeparator );
-    TInt indexSecond = aDateString.LocateReverse( KVmDateSeparator );
-    if ( indexFirst == indexSecond ) // Also -1 is covered
-        {
-        // Incorrect date format
-        User::Leave( KErrCorrupt );
-        }
-
-    TLex lex = aDateString.Right( aDateString.Length() - indexSecond - 1 );
-    TInt year;
-    User::LeaveIfError( lex.Val( year ) );
-    
-    lex = aDateString.Mid( indexFirst + 1, indexSecond - indexFirst );
-    TInt month;
-    User::LeaveIfError( lex.Val( month ) );
-
-    lex = aDateString.Left( indexFirst );
-    TInt day;
-    User::LeaveIfError( lex.Val( day ) );
-
-    // Format date according the locale:
-    TDateTime dateTime( year, TMonth( month - 1 ), day, 0, 0, 0, 0 );
-    TTime time( dateTime );
-    HBufC* dateFormat = StringLoader::LoadLC( R_QTN_DATE_USUAL_WITH_ZERO );
-    time.FormatL( aDateString, *dateFormat );
-    CleanupStack::PopAndDestroy( dateFormat ); //dateFormatString
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::FormatDateStringL <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::FormatTimeStringL
-// Formats time string
-// -----------------------------------------------------------------------------
-//
-void CVmDetailsDialog::FormatTimeStringL( TDes& aTimeString )
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::FormatTimeStringL =>" );
-    if ( !aTimeString.Length() )
-        {
-        VMBLOGSTRING( "VMBX: CVmDetailsDialog::FormatTimeStringL: \
-        Empty time " );
-        return;
-        }
-
-    // Check that we have two separators ':'
-    TInt indexFirst = aTimeString.Locate( KVmTimeSeparator );
-    TInt indexSecond = aTimeString.LocateReverse( KVmTimeSeparator );
-    if ( indexFirst == indexSecond ) // Also -1 is covered
-        {
-        VMBLOGSTRING( "VMBX: CVmDetailsDialog::FormatTimeStringL \
-        Incorrect date format" );
-        // Incorrect date format
-        User::Leave( KErrCorrupt );
-        }
-
-    TLex lex( aTimeString.Left( indexFirst ) );
-    TInt hour;
-    User::LeaveIfError( lex.Val( hour ) );
-    
-    lex = aTimeString.Mid( indexFirst + 1, indexSecond - indexFirst );
-    TInt minute;
-    User::LeaveIfError( lex.Val( minute ) );
-    
-    lex = aTimeString.Right( aTimeString.Length() - indexSecond - 1 );
-    TInt second;
-    User::LeaveIfError( lex.Val( second ) );
-
-    // Format time according the locale:
-    TDateTime dateTime( 0, TMonth(0), 0, hour, minute, second, 0 );
-    TTime time( dateTime );
-    HBufC* timeFormat = StringLoader::LoadLC( R_QTN_TIME_USUAL_WITH_ZERO );
-    time.FormatL( aTimeString, *timeFormat );
-    CleanupStack::PopAndDestroy( timeFormat ); //dateFormatString
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::FormatTimeStringL <=" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::AppendLineL
-// Adds line to the listbox.
-// -----------------------------------------------------------------------------
-//
-void CVmDetailsDialog::AppendLineL( CDesCArray& aItemArray, 
-                                    const TDesC& aHeading, 
-                                    const TDesC& aData, 
-                                    TRect aItemTextRect,
-                                    TBool aUseMultipleLines )
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::AppendLineL =>" );
-    TBuf<1> tabChar(_L("\t"));
-    HBufC* combination = NULL;
-
-    if ( aUseMultipleLines )
-        {
-        CArrayFixFlat<TPtrC>* wrappedTexts = 
-            new (ELeave) CArrayFixFlat<TPtrC>( 2 );
-        CleanupStack::PushL( wrappedTexts );
-
-        // Layout used for CAknSingleHeadingStyleListBox 
-        // is list_single_heading_pane
-        // Layout text for list_single_heading_pane_2 (first row from No.2)
-        TAknTextLineLayout layout = 
-            AKN_LAYOUT_TEXT_List_pane_texts__single_heading__Line_2 (0 );
-        TAknLayoutText text;
-        text.LayoutText( aItemTextRect, layout );
-        TRect rect = text.TextRect();
-
-        // Wrap the long text to several lines.
-        AknTextUtils::WrapToArrayL( aData, 
-                    rect.Width() /* layout.iW */, 
-                    *AknLayoutUtils::FontFromId( layout.FontId() /* iFont */),
-                    *wrappedTexts );
-
-        if ( wrappedTexts->Count() == 0 ) // i.e. empty text
-            {
-            // For creating the first line
-            wrappedTexts->AppendL( KNullDesC() );
-            }
-
-        // Create the first line:
-        combination = HBufC::NewLC( aHeading.Length() + 
-                                    tabChar.Length() + 
-                                    wrappedTexts->At( 0 ).Length() );
-
-        TPtr comPtr = combination->Des();
-
-        comPtr.Append( aHeading );
-        comPtr.Append( tabChar );
-        comPtr.Append( wrappedTexts->At( 0 ) );
-        
-        aItemArray.AppendL( comPtr );
-        
-        CleanupStack::PopAndDestroy( combination );
-        combination = NULL;
-
-        // Create the other lines
-        for ( TInt i = 1 ; i < wrappedTexts->Count() ; i++ )
-            {
-            // combination is created without the header.
-            combination = HBufC::NewLC( tabChar.Length() + 
-                                    wrappedTexts->At( i ).Length() );
-
-            comPtr.Set( combination->Des() );
-
-            comPtr.Append( tabChar );
-            comPtr.Append( wrappedTexts->At( i ) );
-
-            aItemArray.AppendL( comPtr );
-
-            CleanupStack::PopAndDestroy( combination );
-            combination = NULL;
-            }
-        CleanupStack::PopAndDestroy( wrappedTexts );
-        }
-    else
-        {
-        // Create combination to one line in listbox.
-        combination = HBufC::NewLC( aHeading.Length() + 
-                                        tabChar.Length() + 
-                                        aData.Length() );
-
-        TPtr comPtr = combination->Des();
-        
-        comPtr.Append( aHeading );
-        comPtr.Append( tabChar );
-        comPtr.Append( aData );
-        
-        aItemArray.AppendL( comPtr );
-        
-        CleanupStack::PopAndDestroy( combination );
-        }
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::AppendLineL =>" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::OfferKeyEventL
-// Called when a key is pressed.
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CVmDetailsDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                             TEventCode aType )
-    {
-    // Special case: exiting with escape key
-    if ( aKeyEvent.iCode == EKeyEscape )
-        {
-        SetOldTitleL();
-        return CAknDialog::OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    TKeyResponse res = EKeyWasNotConsumed;
-    res = Control(KVmDetailsDialog)->OfferKeyEventL( aKeyEvent, aType );
-    if (res != EKeyWasNotConsumed) 
-        {
-        return res;
-        }
-    
-    res = CAknDialog::OfferKeyEventL( aKeyEvent, aType );
-    return res;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::OkToExitL
-// Called when softkeys are pressed.
-// -----------------------------------------------------------------------------
-//
-TBool CVmDetailsDialog::OkToExitL( TInt aButtonId )
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::OkToExitL =>" );
-    TBool retVal( EFalse );
-    // Translate the button presses into commands
-    if ( aButtonId == EAknSoftkeyBack )
-        { 
-        // terminate the diallog.
-        SetOldTitleL();
-        retVal = ETrue;
-        }
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::OkToExitL <=" );
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::SetOldTitleL
-// Saves the old title text.
-// -----------------------------------------------------------------------------
-//
-void CVmDetailsDialog::SetOldTitleL()
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::SetOldTitleL =>" );
-    if ( !iOldTitlePaneText )
-        {
-        VMBLOGSTRING( "VMBX: CVmDetailsDialog::SetOldTitleL: already set" );
-        return; // already set
-        }
-
-    CAknTitlePane* titlePane = static_cast<CAknTitlePane*> 
-        ( iEikonEnv->AppUiFactory()->StatusPane()->ControlL( 
-            TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    titlePane->SetText( iOldTitlePaneText ); // takes ownership
-    iOldTitlePaneText = NULL;
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::SetOldTitleL =>" );
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::HandlePropertyNotificationEventL
-// Called when key value is set.
-// -----------------------------------------------------------------------------
-//
-void CVmDetailsDialog::HandlePropertyNotificationEventL( const TDesC& aValue )
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::HandlePropertyNotificationEventL \
-    =>" );
-    StartObservingL();
-    TLex lexer( aValue );
-    TInt value = KErrNotFound;
-       User::LeaveIfError( lexer.Val( value ) );
-    if ( value == 0 ) // message is not set
-        {
-        // Exit the details dialog
-        TryExitL( EAknSoftkeyBack );
-        }
-    else // new message set
-        {
-        // Update listbox context:
-        CAknSingleHeadingStyleListBox* listbox = 
-           static_cast<CAknSingleHeadingStyleListBox*>( 
-                                               Control( KVmDetailsDialog ) );
-        MDesCArray* itemList = listbox->Model()->ItemTextArray();
-        CDesCArray* itemArray = static_cast<CDesCArray*>( itemList );
-        PopulateListboxItemsL( *itemArray );
-        listbox->HandleItemAdditionL();
-        }
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::HandlePropertyNotificationEventL \
-    <=" );
-    }
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::StartObservingL
-// Starts observing for key value changes.
-// -----------------------------------------------------------------------------
-//
-void CVmDetailsDialog::StartObservingL()
-    {
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::StartObservingL =>" );
-    iObserver->ObservePropertyChangeL( KCRUidVoiceMailbox, KVmSummaryInfoIsSet );
-    VMBLOGSTRING( "VMBX: CVmDetailsDialog::StartObservingL <=" );
-    }
-
-//  End of File  
--- a/phoneuis/vmbx/src/VmDetailsDlgDummy.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +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:  Dummy details dialog for global implementation
-*
-*/
-
-
-// INCLUDE FILES
-#include "VmDetailsDlgDummy.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::CVmDetailsDialog
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVmDetailsDialog::CVmDetailsDialog()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVmDetailsDialog* CVmDetailsDialog::NewL()
-    {
-    CVmDetailsDialog* self = new( ELeave ) CVmDetailsDialog;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::~CVmDetailsDialog
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVmDetailsDialog::~CVmDetailsDialog()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CVmDetailsDialog::ExecuteLD
-// Dummy function
-// -----------------------------------------------------------------------------
-//
-TInt CVmDetailsDialog::ExecuteLD( TInt /* aResourceId */ )
-    {
-    delete this;
-    return 0;
-    }
-
-//  End of File
--- a/phoneuis/vmbx/src/VmDocument.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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:  Document for Voice mailbox application.
-*
-*/
-
-
-// INCLUDE FILES
-#include "VmDocument.h"
-#include "VmAppUi.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CVmDocument::~CVmDocument
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVmDocument::~CVmDocument()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CVmDocument::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------    
-//
-CVmDocument* CVmDocument::NewL( CEikApplication& aApp )  // CVmApp reference
-    {
-    return new(ELeave) CVmDocument( aApp );
-    }
- 
-
-// -----------------------------------------------------------------------------
-// CVmDocument::CreateAppUiL
-// constructs CVmAppUi
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CVmDocument::CreateAppUiL()
-    {
-    return new(ELeave) CVmAppUi;
-    }
-
-// End of File
--- a/phoneuis/vmbx/src/VmQueryLauncher.cpp	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Query launcher for Voice mailbox application.
-*
-*/
-
-
-// INCLUDE FILES
-#include <bldvariant.hrh>
-#include <e32std.h>
-#include <featmgr.h>
-#include "VmQueryLauncher.h"
-#include "VmContainer.h"
-#include "vmnumber.h"
-#include "VMBLogger.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// C++ default constructor can't leave
-// -----------------------------------------------------------------------------
-// CVmQueryLauncher::CVmQueryLauncher
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVmQueryLauncher::CVmQueryLauncher( CVmContainer& aContainer, 
-                                    MVmQueryLauncher& aObserver,
-                                                    TInt aPriority )
-                        : CActive( aPriority ), iContainer( aContainer ),
-                          iObserver( aObserver )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CVmQueryLauncher::~CVmQueryLauncher
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CVmQueryLauncher::~CVmQueryLauncher()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CVmQueryLauncher::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVmQueryLauncher* CVmQueryLauncher::NewL( CVmContainer& aContainer,
-                                 MVmQueryLauncher& aObserver, TInt aPriority)
-    {
-    CVmQueryLauncher* self = new( ELeave ) CVmQueryLauncher( aContainer,
-                                                    aObserver, aPriority );
-    CActiveScheduler::Add( self );
-    self->SetActive();
-    TRequestStatus* status = &(self->iStatus);
-
-    // The idea is to activate this object as soon as the application has
-    // been fully constructed.
-    User::RequestComplete( status, KErrNone );
-
-    return self;
-    }
-
-// ----------------------------------------------------------------------------
-// CVmQueryLauncher::RunL
-// Handles an active object's request completion event
-// ----------------------------------------------------------------------------
-//
-void CVmQueryLauncher::RunL()
-    {
-    VMBLOGSTRING( "VMBX: CVmQueryLauncher::RunL: =>" );
-    if ( iStatus == KErrNone )
-        {
-        TInt type( EVmbx );
-
-        type = iContainer.AskTypeL();
-
-        if ( type == EVmbx )         //if CS vmbx is selected
-            {
-            iContainer.QueryNumberL( EVmbxNotDefinedQuery );
-            }
-        else if ( type == EVmbxVideo )
-            {
-            iContainer.QueryVideoNumberL( EVmbxNotDefinedQuery );
-            }
-        }
-    iObserver.NumberQueryComplete();
-    VMBLOGSTRING( "VMBX: CVmQueryLauncher::RunL: <=" );
-    }
-
-// ----------------------------------------------------------------------------
-// CVmQueryLauncher::DoCancel
-// Implements cancellation of an outstanding request
-// ----------------------------------------------------------------------------
-//
-void CVmQueryLauncher::DoCancel()
-    {
-    VMBLOGSTRING( "VMBX: CVmQueryLauncher::DoCancel: =>" );
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrCancel );
-    VMBLOGSTRING( "VMBX: CVmQueryLauncher::DoCancel: <=" );
-    }
-
-//  End of File
--- a/phoneuis/vmbx/src/vm.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,973 +0,0 @@
-/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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.
- *
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    VM  // 4 letter ID
-
-// INCLUDES
-#include <bldvariant.hrh>
-#include <data_caging_paths_strings.hrh>
-#include <AiwCommon.rh>
-#include <appinfo.rh>//svg icons
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-#include <vm.loc>
-#include <vm.mbg>
-#include "vm.hrh"
-
-//  CONSTANTS
-#define vm_mbm "Z:\\Resource\\Apps\\vm.mbm"
-
-// RESOURCE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-//
-// RSS signature
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// -----------------------------------------------------------------------------
-//
-// A document name buffer.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF { buf=""; }
-
-// -----------------------------------------------------------------------------
-//
-// Application information.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    status_pane = r_vm_status_pane;
-    menubar = r_vm_menubar;
-    cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vm_menubar
-// A menubar.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_vm_menubar
-    {
-    titles=
-        {
-        MENU_TITLE { menu_pane=r_vm_menu; txt="File"; }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_vm_menu
-//    Menu items
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_vm_menu
-    {
-    items=
-        {
-        MENU_ITEM { command = EVmCmdAiwPlaceholder ; txt = ""; }
-        // populated in run-time
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vm_status_pane
-// Status pane resource.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE STATUS_PANE_APP_MODEL r_vm_status_pane
-    {
-    panes=
-        {
-        SPANE_PANE
-            {
-            id = EEikStatusPaneUidTitle;
-            type = EAknCtTitlePane;
-            resource = r_overriden_app_name;
-            }
-#ifndef __SCALABLE_ICONS
-        ,
-        SPANE_PANE
-            {   // Context pane definition
-            id = EEikStatusPaneUidContext;
-            type = EAknCtContextPane;
-            resource = r_overriden_icon;
-            }
-#endif
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_overriden_app_name
-// Title pane for r_vm_status_pane
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TITLE_PANE r_overriden_app_name
-    {
-       txt = qtn_smsvo_title_voice_mailbox;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_overriden_icon
-// Context pane for r_vm_status_pane when no scalable icons
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CONTEXT_PANE r_overriden_icon
-    {
-        bmpfile = vm_mbm;
-        bmpid = EMbmVmQgn_menu_smsvo_cxt;
-        bmpmask = EMbmVmQgn_menu_smsvo_cxt_mask;
-    }
-// -----------------------------------------------------------------------------
-//
-// r_call_voicemail
-// Text string in the main view in a list pane for double item
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_voicemail
-    {
-    buf = qtn_smsvo_call_voicemail;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_number_pane_empty
-// Text string to show, when vmbx number is not defined.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_number_pane_empty
-    {
-    buf = qtn_smsvo_number_pane_empty;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_call_voicemail
-// Command string in options list
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_call_voicemail
-    {
-    buf = qtn_smsvo_call_voicemail_opt;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_define_number
-// Command string in options list
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_define_number
-    {
-    buf = qtn_smsvo_define_number;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_define_video_number
-// Command string in options list
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_define_video_number
-    {
-    buf = qtn_smsvi_define_number;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_change_number
-// Command string in options list
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_change_number
-    {
-    buf = qtn_smsvo_change_number;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_exit
-// A common option in a options list for closing application.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_exit
-    {
-    buf = qtn_options_exit;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_help
-// Getting help via options Help selection.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_help
-    {
-    buf = qtn_options_help;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_int_call_voicemail
-// Text string in the main view in a list pane for double item
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_int_call_voicemail
-    {
-    buf = qtn_voip_mailbox;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_address_pane_empty
-// Text string shown, when vmbx address is not defined.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_address_pane_empty
-    {
-    buf = qtn_voip_mailbox_empty;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_define_address
-// Command string in options list    .
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_define_address
-    {
-    buf = qtn_voip_define_mailbox_address;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_change_address
-// Command string in options list.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_change_address
-    {
-     buf = qtn_voip_change_address;
-     }
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_call_int_mailbox
-// Command string in options list    .
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_call_int_mailbox
-    {
-    buf = qtn_voip_call_mailbox;
-    }
-
-
-// CDMA ADDITIONS
-
-// -----------------------------------------------------------------------------
-//
-//    r_vmbx_detail_dialog
-//    Details of last message dialog.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_vmbx_detail_dialog
-    {
-    flags = EAknDialogSelectionList;
-    buttons = R_AVKON_SOFTKEYS_BACK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtSingleHeadingListBox;
-            id = KVmDetailsDialog;
-            control= LISTBOX
-                {
-                flags = EAknListBoxViewerFlags;
-                };
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-//    r_vmbx_detail_menubar
-//    Empty. Mandatory for the dialog.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_vmbx_detail_menubar
-    {
-    titles=
-        {
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_voicemail_cleared
-// Text in infotmation note when the voicemail icon is cleared.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voicemail_cleared
-    {
-    buf = qtn_smsvo_voicemail_cleared;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_clear_icon
-// Command string in options list.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_clear_icon
-    {
-    buf = qtn_smsvo_clear_icon;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_voice_messages
-// Text string in the main view in a list pane for double item.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voice_messages
-    {
-    buf = qtn_smsvo_voice_messages;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_no_new
-// Text for number of new messages in the double listbox.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_no_new
-    {
-    buf = qtn_smsvo_no_new;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_new_messages
-// Text for new messages in the double listbox.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_new_messages
-    {
-    buf = qtn_smsvo_new_messages;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_n_new
-// Text for number of new messages in the double listbox.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_n_new
-    {
-    buf = qtn_smsvo_n_new;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_details_of_last
-// Text string in the main view in a list pane for double item;
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_details_of_last
-    {
-    buf = qtn_smsvo_details_of_last;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_title_details
-// Text string in title pane in the last message details dialog
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_title_details
-    {
-    buf = qtn_smsvo_title_details;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_urgency
-// Heading in the details view
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_urgency
-    {
-    buf = qtn_smsvo_urgency;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_emergency
-// Body text in the details view under Urgency heading
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_emergency
-    {
-    buf = qtn_smsvo_emergency;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_urgent
-// Body text in the details view under Urgency heading.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_urgent
-    {
-    buf = qtn_smsvo_urgent;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_normal
-// Body text in the details view under Urgency heading.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_normal
-    {
-    buf = qtn_smsvo_normal;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_date
-// Heading in the details view.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_date
-    {
-    buf = qtn_smsvo_date;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_time
-// Heading in the details view.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_time
-    {
-    buf = qtn_smsvo_time;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_call_back
-// Heading in the details view.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_back
-    {
-    buf = qtn_smsvo_call_back;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_text
-// Heading in the details view.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_text
-    {
-    buf = qtn_smsvo_text;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_mailbox_number
-// Displayed in the main view in a list pane for double item instead of
-// qtn_smsvo_call_voicemail in CDMA
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_mailbox_number
-    {
-    buf = qtn_smsvo_mailbox_number;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_open_details
-// Command in Options menu command name for "Open".
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_open_details
-    {
-    buf = qtn_options_open;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_offline_not_possible_sap
-// The note that is shown when the user attempts to connect the network when
-// in SIM Access Profile mode. From rel. 2.6 onwards
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_offline_not_possible_sap
-    {
-    buf = qtn_offline_not_possible_sap;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vm_localisable_app_info
-// Localisable app info
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_vm_localisable_app_info
-    {
-    short_caption = qtn_apps_smsvo_grid;
-    caption_and_icon =
-    CAPTION_AND_ICON_INFO
-        {
-        caption = qtn_apps_smsvo_list;
-#ifdef __SCALABLE_ICONS
-        number_of_icons = 1;
-        icon_file = APP_BITMAP_DIR"\\vm_aif.mif";
-#else
-        number_of_icons = 2;
-        icon_file = APP_BITMAP_DIR"\\vm_aif.mbm";
-#endif
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_select_type_list
-// Selection listbox
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE LISTBOX r_vmbx_select_type_list
-    {
-    array_id = r_vmbx_select_type_list_items;
-    flags    = EAknListBoxSelectionList;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_select_type_list_items
-// Listbox items for "r_vmbx_select_type_list" -listbox
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_vmbx_select_type_list_items
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = "Voice mailbox";
-            },
-        LBUF
-            {
-            txt = "Internet call voice mailbox";
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_call_videomail
-// Text string in the main view in a list pane for double item
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_call_videomail
-    {
-    buf = qtn_smsvi_list_video_mailbox;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// r_menu_call_videomail
-// Text string in the main view in a list pane for double item
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_menu_call_videomail
-    {
-    buf = qtn_smsvi_call_videomail_opt;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_cba_define_vo_number
-// CBA buttons when voice mailbox number not defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_cba_define_vo_number
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;  txt= text_softkey_exit;},
-        CBA_BUTTON {id=EVmCbaMskDefVoMbx;  txt=qtn_msk_define_cs_vmbx_number;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_vmbx_cba_notallow_define_vo_number
-// CBA buttons when voice mailbox number not defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_cba_notallow_define_vo_number
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_cba_call_vo_mailbox
-// CBA buttons when voice mailbox number defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_cba_call_vo_mailbox
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;  txt= text_softkey_exit;},
-        CBA_BUTTON {id=EVmCbaMskCallVoMbx; txt= qtn_msk_call_cs_vmbx;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_gs_cba_define_vo_number
-// CBA buttons when voice mailbox number not defined (application opened from
-// general settings)
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_gs_cba_define_vo_number
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;  txt= text_softkey_back;},
-        CBA_BUTTON {id=EVmCbaMskDefVoMbx;  txt=qtn_msk_define_cs_vmbx_number;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_vmbx_gs_cba_notallow_define_vo_number
-// CBA buttons when voice mailbox number not defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_gs_cba_notallow_define_vo_number
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_back;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_gs_cba_call_vo_mailbox
-// CBA buttons when voice mailbox number defined (application opened from
-// general settings)
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_gs_cba_call_vo_mailbox
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;  txt= text_softkey_back;},
-        CBA_BUTTON {id=EVmCbaMskCallVoMbx; txt= qtn_msk_call_cs_vmbx;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_cba_define_vi_number
-// CBA buttons when video mailbox number not defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_cba_define_vi_number
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;  txt= text_softkey_exit;},
-        CBA_BUTTON {id=EVmCbaMskDefViMbx;  txt=qtn_msk_define_video_mbx_number;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_vmbx_cba_notallow_define_vi_number
-// CBA buttons when video mailbox number not defined
-//
-// -----------------------------------------------------------------------------
-//    
-RESOURCE CBA r_vmbx_cba_notallow_define_vi_number
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_cba_call_vi_mailbox
-// CBA buttons when video mailbox number defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_cba_call_vi_mailbox
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;  txt= text_softkey_exit;},
-        CBA_BUTTON {id=EVmCbaMskCallViMbx; txt=qtn_msk_call_video_mbx;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_gs_cba_define_vi_number
-// CBA buttons when video mailbox number not defined (application opened from
-// general settings)
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_gs_cba_define_vi_number
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;  txt= text_softkey_back;},
-        CBA_BUTTON {id=EVmCbaMskDefViMbx;  txt=qtn_msk_define_video_mbx_number;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//   
-// r_vmbx_gs_cba_notallow_define_vi_number
-// CBA buttons when voice mailbox number not defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_gs_cba_notallow_define_vi_number
-    {
-    flags = 0;
-    buttons = 
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_back;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_gs_cba_call_vi_mailbox
-// CBA buttons when video mailbox number defined (application opened from
-// general settings)
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_gs_cba_call_vi_mailbox
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;  txt= text_softkey_back;},
-        CBA_BUTTON {id=EVmCbaMskCallViMbx; txt=qtn_msk_call_video_mbx;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_cba_define_voip_number
-// CBA buttons when voip mailbox not defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_cba_define_voip_number
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions;  txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;   txt= text_softkey_exit;},
-        CBA_BUTTON {id=EVmCbaMskDefVoipMbx; txt=qtn_msk_define_voip_mbx_address;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_cba_call_voip_mailbox
-// CBA buttons when voip mailbox defined
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_cba_call_voip_mailbox
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions;   txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;    txt= text_softkey_exit;},
-        CBA_BUTTON {id=EVmCbaMskCallVoipMbx; txt=qtn_msk_call_voip_vmbx;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_gs_call_voip_mailbox
-// CBA buttons when voip mailbox defined (vmbx opened from General settings)
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE CBA r_vmbx_gs_call_voip_mailbox
-    {
-    flags = 0;
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions;   txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit;    txt= text_softkey_back;},
-        CBA_BUTTON {id=EVmCbaMskCallVoipMbx; txt=qtn_msk_call_voip_vmbx;}
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_vmbx_app_interest
-// For AIW
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE AIW_INTEREST r_vmbx_app_interest
-    {
-    items=
-        {
-        // This application is interested in calling from menu.
-        AIW_CRITERIA_ITEM
-            {
-            id              = EVmCmdAiwPlaceholder ;
-            serviceCmd      = KAiwCmdCall;
-            serviceClass    = KAiwClassMenu;
-            contentType     = "*";
-            defaultProvider = 0x101F868E;
-            maxProviders    = 1;
-            }
-        };
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_voip_list_mailbox_name
-// Command string in options list.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_voip_list_mailbox_name
-    {
-    buf = qtn_voip_list_mailbox_name;
-    }
-
-// End of File
--- a/phoneuis/vmbx/src/vm_caption.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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 file contains captions for vmbx application
- *
-*/
-
-
-//  INCLUDES
-#include <bldvariant.hrh>
-
-#include <vm.loc>
-
-#include <apcaptionfile.rh>
-
-RESOURCE CAPTION_DATA
-{
-	caption=qtn_apps_smsvo_list;
-	shortcaption=qtn_apps_smsvo_grid;
-}
-
-// End of File  
--- a/phoneuis/vmbx/src/vm_reg.rss	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Resource file for Voice mailbox application.
-*
-*/
-
-
-#include <appinfo.rh>
-#include <vm.rsg>
-#include <data_caging_paths_strings.hrh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x100058F5 // Define your application UID here
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "vm";
-    localisable_resource_file = APP_RESOURCE_DIR"\\vm";
-    localisable_resource_id = R_VM_LOCALISABLE_APP_INFO;
-    }
-
-// End of File
--- a/sysdef_1_4_0.dtd	Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  levels CDATA #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
-  name CDATA #REQUIRED
-  level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
-  unitID ID #REQUIRED
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  bldFile CDATA #REQUIRED
-  priority CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
-  name CDATA #REQUIRED
-  version CDATA #REQUIRED
-  late (Y|N) #IMPLIED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y | N | y | n) #REQUIRED
-  targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  command CDATA #REQUIRED>  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_5_1.dtd	Fri Mar 19 09:28:42 2010 +0200
@@ -0,0 +1,88 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+  name CDATA #REQUIRED
+  levels CDATA #IMPLIED
+  span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+  name CDATA #REQUIRED
+  level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+  unitID ID #REQUIRED
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  bldFile CDATA #REQUIRED
+  priority CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  proFile CDATA #IMPLIED
+  qmakeArgs CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+  name CDATA #REQUIRED
+  version CDATA #REQUIRED
+  late (Y|N) #IMPLIED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+  name ID #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+  name ID #REQUIRED
+  abldTarget CDATA #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+  name ID #REQUIRED
+  abldOption CDATA #REQUIRED
+  description CDATA #REQUIRED
+  enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+  command CDATA #REQUIRED
+  targetList IDREFS #IMPLIED
+  unitParallel (Y | N | y | n) #REQUIRED
+  targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+  name CDATA #REQUIRED
+  cwd CDATA #REQUIRED
+  command CDATA #REQUIRED>